:root{
  --cream:#f6ede0;
  --cream-2:#eee1cd;
  --cream-3:#e2d1b6;
  --bark:#241710;
  --bark-2:#2f1e13;
  --wood:#5b3a1f;
  --oak:#8a5a2b;
  --amber:#c98a3f;
  --honey:#e0a95f;
  --copper:#a85428;
  --sage:#7c8064;
  --ink:#1d130a;
  --text:#2d1e12;
  --text-2:#6b5741;
  --muted:#9a8770;
  --line:rgba(91,58,31,.14);
  --line-2:rgba(91,58,31,.28);
  --r-sm:10px;
  --r:20px;
  --r-lg:32px;
  --r-xl:48px;
  --r-full:999px;
  --sh-sm:0 2px 8px rgba(91,58,31,.06);
  --sh:0 12px 32px rgba(91,58,31,.10);
  --sh-lg:0 28px 64px rgba(91,58,31,.16);
  --sh-warm:0 20px 50px rgba(168,84,40,.18);
  --ease:cubic-bezier(.22,.61,.36,1);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Karla',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.22 0 0 0 0 0.10 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
svg{display:block}

.container{width:min(1280px,92%);margin:0 auto;position:relative;z-index:2}
.mono{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400}

.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:1rem 1.5rem;
  font-family:var(--sans);
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.01em;
  border-radius:var(--r-full);
  transition:all .35s var(--ease);
  position:relative;
  overflow:hidden;
  border:1.5px solid transparent;
}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{
  background:var(--copper);
  color:#fff;
  box-shadow:0 10px 24px rgba(168,84,40,.24);
}
.btn-primary:hover{
  background:var(--wood);
  box-shadow:0 14px 32px rgba(91,58,31,.32);
  transform:translateY(-2px);
}
.btn-outline{
  border-color:var(--line-2);
  color:var(--text);
  background:transparent;
}
.btn-outline:hover{
  border-color:var(--wood);
  background:rgba(91,58,31,.04);
  transform:translateY(-2px);
}
.btn-cream{
  background:var(--cream);
  color:var(--wood);
}
.btn-cream:hover{
  background:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,0,0,.18);
}
.btn-ghost{
  color:var(--text);
  padding:1rem .25rem;
}
.btn-ghost:hover{color:var(--copper)}
.btn-ghost::after{
  content:'';position:absolute;left:.25rem;right:.25rem;bottom:.75rem;height:1.5px;
  background:var(--copper);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease);
}
.btn-ghost:hover::after{transform:scaleX(1)}

.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;
  padding:1.35rem 0;
  transition:background .45s var(--ease),padding .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(246,237,224,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:.85rem 0;
  border-bottom-color:var(--line);
  box-shadow:0 4px 24px rgba(91,58,31,.05);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.brand{
  display:flex;align-items:center;gap:.75rem;
  color:var(--wood);
}
.brand-mark{
  width:42px;height:42px;flex-shrink:0;
  transition:transform .8s var(--ease);
}
.brand:hover .brand-mark{transform:rotate(60deg)}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{
  font-family:var(--serif);
  font-size:1.125rem;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--text);
}
.brand-sub{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.18em;
  color:var(--muted);
  margin-top:.2rem;
}
.nav-links{
  display:flex;align-items:center;gap:.35rem;
}
.nav-links a{
  font-size:.875rem;
  font-weight:500;
  color:var(--text-2);
  padding:.55rem .85rem;
  border-radius:var(--r-full);
  transition:color .3s var(--ease),background .3s var(--ease);
}
.nav-links a:hover{color:var(--copper);background:rgba(168,84,40,.06)}
.nav-links a.active{color:var(--copper)}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.nav-cta .btn{padding:.75rem 1.15rem;font-size:.8125rem}
.burger{
  display:none;
  width:44px;height:44px;
  border-radius:var(--r-full);
  background:var(--wood);
  color:var(--cream);
  align-items:center;justify-content:center;
}
.burger svg{width:20px;height:20px}

.hero{
  position:relative;
  padding:9rem 0 5rem;
  overflow:hidden;
}
.hero-rings{
  position:absolute;
  top:50%;left:-160px;
  transform:translateY(-50%);
  width:640px;height:640px;
  opacity:.5;
  pointer-events:none;
  z-index:0;
}
.hero-inner{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:clamp(2.5rem,6vw,5.5rem);
  align-items:center;
}
.hero-copy{position:relative;z-index:2}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.5rem 1rem .5rem .75rem;
  background:rgba(168,84,40,.08);
  border:1px solid rgba(168,84,40,.18);
  border-radius:var(--r-full);
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:1.75rem;
}
.eyebrow-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--copper);
  box-shadow:0 0 0 3px rgba(168,84,40,.18);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(168,84,40,.18)}
  50%{box-shadow:0 0 0 6px rgba(168,84,40,.05)}
}
.hero h1{
  font-family:var(--serif);
  font-size:clamp(2.75rem,6.5vw,5rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--text);
  margin-bottom:1.75rem;
}
.hero h1 em{
  font-style:italic;
  font-weight:300;
  color:var(--copper);
}
.hero-lede{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
  max-width:48ch;
  margin-bottom:2.25rem;
}
.hero-actions{
  display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;
  margin-bottom:3rem;
}
.hero-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  padding-top:2rem;
  border-top:1px solid var(--line);
}
.hero-meta .num{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--text);
}
.hero-meta .num .suf{color:var(--copper);font-weight:300}
.hero-meta .lbl{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.5rem;
  line-height:1.4;
}
.hero-visual{
  position:relative;
  z-index:2;
}
.hero-image{
  position:relative;
  aspect-ratio:5/6;
  border-radius:200px 32px 32px 200px;
  overflow:hidden;
  background:var(--cream-2);
  box-shadow:var(--sh-lg);
}
.hero-image img{
  width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.05);
  transition:opacity 1s var(--ease),transform 1.4s var(--ease);
}
.hero-image.loaded img{opacity:1;transform:scale(1)}
.hero-badge{
  position:absolute;
  left:-2rem;bottom:2.5rem;
  background:var(--cream);
  padding:1.15rem 1.5rem;
  border-radius:var(--r);
  box-shadow:var(--sh);
  display:flex;align-items:center;gap:1rem;
  border:1px solid var(--line);
}
.hero-badge .badge-icon{
  width:42px;height:42px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--copper);
  flex-shrink:0;
}
.hero-badge .badge-icon svg{width:22px;height:22px}
.hero-badge .badge-text{display:flex;flex-direction:column;line-height:1.15}
.hero-badge .badge-num{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--text);
}
.hero-badge .badge-lbl{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.3rem;
}
.hero-chip{
  position:absolute;
  top:1.5rem;right:1.5rem;
  background:rgba(36,23,16,.85);
  backdrop-filter:blur(8px);
  color:var(--cream);
  padding:.55rem .9rem;
  border-radius:var(--r-full);
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  display:flex;align-items:center;gap:.5rem;
}
.hero-chip .dot{
  width:6px;height:6px;border-radius:50%;background:var(--honey);
}

.marquee{
  margin-top:5rem;
  padding:1.35rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--cream-2);
  overflow:hidden;
  position:relative;
}
.marquee::before,.marquee::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.marquee::before{left:0;background:linear-gradient(90deg,var(--cream-2),transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--cream-2),transparent)}
.marquee-track{
  display:flex;gap:3rem;
  white-space:nowrap;
  animation:marq 45s linear infinite;
  width:max-content;
}
.marquee-track span{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:400;
  letter-spacing:-.015em;
  color:var(--wood);
  display:flex;align-items:center;gap:3rem;
}
.marquee-track .ring{
  width:14px;height:14px;flex-shrink:0;
  border-radius:50%;
  border:1.5px solid var(--copper);
  position:relative;
}
.marquee-track .ring::after{
  content:'';position:absolute;inset:3px;border-radius:50%;background:var(--copper);
}
@keyframes marq{to{transform:translateX(-50%)}}

section{position:relative}
.section{padding:6.5rem 0}
.section-label{
  display:flex;align-items:center;gap:1rem;
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:1.25rem;
}
.section-label .num{
  color:var(--muted);
}
.section-label .line{
  flex:1;max-width:80px;height:1px;background:var(--line-2);
}
.section-head{
  max-width:640px;
  margin-bottom:4rem;
}
.section-head h2{
  font-family:var(--serif);
  font-size:clamp(2rem,4.2vw,3.25rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--text);
}
.section-head h2 em{
  font-style:italic;
  font-weight:300;
  color:var(--copper);
}
.section-head p{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
  margin-top:1.25rem;
  max-width:52ch;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.service{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:1.75rem;
  display:flex;flex-direction:column;
  transition:all .45s var(--ease);
  border:1px solid transparent;
  position:relative;
  overflow:hidden;
}
.service::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(160deg,rgba(224,169,95,.18),transparent 60%);
  opacity:0;
  transition:opacity .45s var(--ease);
  pointer-events:none;
}
.service:hover{
  background:var(--cream);
  transform:translateY(-6px);
  box-shadow:var(--sh);
  border-color:var(--line);
}
.service:hover::before{opacity:1}
.service-image{
  aspect-ratio:4/3;
  border-radius:var(--r);
  overflow:hidden;
  margin-bottom:1.5rem;
  background:var(--cream-3);
  position:relative;
}
.service-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease);
}
.service:hover .service-image img{transform:scale(1.06)}
.service-icon{
  position:absolute;
  bottom:.75rem;right:.75rem;
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(246,237,224,.94);
  display:flex;align-items:center;justify-content:center;
  color:var(--copper);
  backdrop-filter:blur(6px);
}
.service-icon svg{width:22px;height:22px}
.service h3{
  font-family:var(--serif);
  font-size:1.375rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--text);
  margin-bottom:.75rem;
  position:relative;
}
.service p{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
  margin-bottom:1.5rem;
  flex:1;
  position:relative;
}
.service-meta{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  position:relative;
}
.service-meta strong{
  color:var(--copper);
  font-weight:500;
}
.service-link{
  color:var(--copper);
  display:inline-flex;align-items:center;gap:.4rem;
  transition:gap .3s var(--ease);
}
.service:hover .service-link{gap:.7rem}

.craft{
  background:var(--bark);
  color:var(--cream);
  border-radius:var(--r-xl);
  margin:0 auto;
  width:min(1400px,94%);
  padding:0;
  overflow:hidden;
  position:relative;
}
.craft::before{
  content:'';
  position:absolute;
  top:-100px;right:-100px;
  width:600px;height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(224,169,95,.18) 0%,transparent 65%);
  pointer-events:none;
}
.craft::after{
  content:'';
  position:absolute;
  bottom:-150px;left:-100px;
  width:500px;height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(168,84,40,.22) 0%,transparent 65%);
  pointer-events:none;
}
.craft-inner{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:0;
  align-items:stretch;
  position:relative;
  z-index:2;
}
.craft-image{
  position:relative;
  min-height:560px;
  overflow:hidden;
}
.craft-image img{
  width:100%;height:100%;object-fit:cover;
  opacity:.9;
}
.craft-image::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 40%,rgba(36,23,16,.6) 100%);
}
.craft-content{
  padding:clamp(2.5rem,5vw,5rem);
  display:flex;flex-direction:column;justify-content:center;
}
.craft-content .section-label{color:var(--honey)}
.craft-content .section-label .num{color:rgba(246,237,224,.4)}
.craft-content .section-label .line{background:rgba(246,237,224,.2)}
.craft-content h2{
  font-family:var(--serif);
  font-size:clamp(1.85rem,3.4vw,2.75rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
  color:#fff;
  margin-bottom:1.5rem;
}
.craft-content h2 em{
  font-style:italic;
  font-weight:300;
  color:var(--honey);
}
.craft-content p{
  font-size:1rem;
  line-height:1.75;
  color:rgba(246,237,224,.72);
  margin-bottom:1.25rem;
}
.craft-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.25rem;
  margin:2rem 0 2.5rem;
  padding-top:2rem;
  border-top:1px solid rgba(246,237,224,.14);
}
.craft-feature{
  display:flex;align-items:flex-start;gap:.75rem;
}
.craft-feature .cf-icon{
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(224,169,95,.14);
  display:flex;align-items:center;justify-content:center;
  color:var(--honey);
  flex-shrink:0;
}
.craft-feature .cf-icon svg{width:18px;height:18px}
.craft-feature .cf-text{
  display:flex;flex-direction:column;
  line-height:1.2;
}
.craft-feature .cf-title{
  font-size:.875rem;
  font-weight:600;
  color:#fff;
  margin-bottom:.2rem;
}
.craft-feature .cf-sub{
  font-size:.75rem;
  color:rgba(246,237,224,.55);
  line-height:1.4;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
  position:relative;
}
.process-grid::before{
  content:'';
  position:absolute;
  top:52px;left:8%;right:8%;
  height:1.5px;
  background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 12px);
  z-index:0;
}
.process-step{
  position:relative;
  z-index:1;
  background:var(--cream);
  padding:0;
}
.process-step .p-circle{
  width:104px;height:104px;
  border-radius:50%;
  background:var(--cream-2);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  margin-bottom:1.75rem;
  transition:all .5s var(--ease);
  border:1px solid var(--line);
}
.process-step .p-circle::before{
  content:'';
  position:absolute;
  inset:8px;
  border-radius:50%;
  border:1.5px dashed var(--line-2);
}
.process-step .p-num{
  font-family:var(--serif);
  font-size:2rem;
  font-weight:400;
  color:var(--copper);
  letter-spacing:-.03em;
  position:relative;
  z-index:1;
}
.process-step:hover .p-circle{
  background:var(--copper);
  border-color:var(--copper);
  transform:scale(1.04);
}
.process-step:hover .p-num{color:var(--cream)}
.process-step:hover .p-circle::before{border-color:rgba(246,237,224,.4)}
.process-step h3{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.process-step p{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
}

.gallery{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:180px;
  gap:1rem;
}
.g-item{
  position:relative;
  overflow:hidden;
  border-radius:var(--r-lg);
  background:var(--cream-2);
}
.g-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease);
}
.g-item:hover img{transform:scale(1.06)}
.g-item::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(36,23,16,.6) 0%,transparent 55%);
  opacity:0;
  transition:opacity .4s var(--ease);
}
.g-item:hover::after{opacity:1}
.g-item .g-label{
  position:absolute;
  left:1.25rem;bottom:1.25rem;right:1.25rem;
  color:#fff;
  z-index:1;
  transform:translateY(8px);
  opacity:0;
  transition:all .4s var(--ease);
}
.g-item:hover .g-label{transform:translateY(0);opacity:1}
.g-item .g-label .g-title{
  font-family:var(--serif);
  font-size:1.125rem;
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1.15;
  margin-bottom:.35rem;
}
.g-item .g-label .g-loc{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.g-item:nth-child(1){grid-column:span 3;grid-row:span 2}
.g-item:nth-child(2){grid-column:span 3;grid-row:span 1}
.g-item:nth-child(3){grid-column:span 3;grid-row:span 1}
.g-item:nth-child(4){grid-column:span 2;grid-row:span 1}
.g-item:nth-child(5){grid-column:span 2;grid-row:span 1}
.g-item:nth-child(6){grid-column:span 2;grid-row:span 1}

.center-cta{text-align:center;margin-top:3rem}

.voices{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:5rem clamp(1.5rem,5vw,4rem);
  position:relative;
  overflow:hidden;
}
.voices::before{
  content:'';
  position:absolute;
  top:0;right:0;
  width:340px;height:340px;
  background:radial-gradient(circle at top right,rgba(168,84,40,.1),transparent 65%);
  pointer-events:none;
}
.voices-head{max-width:560px}
.voices-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  position:relative;
}
.voice{
  background:var(--cream);
  padding:2rem;
  border-radius:var(--r-lg);
  display:flex;flex-direction:column;
  gap:1.25rem;
  box-shadow:var(--sh-sm);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
  position:relative;
}
.voice:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.voice .quote-mark{
  font-family:var(--serif);
  font-size:3rem;
  line-height:.6;
  color:var(--copper);
  font-weight:400;
  height:.4em;
  overflow:hidden;
  display:block;
}
.voice .stars{
  display:flex;gap:.15rem;
}
.voice .stars svg{width:14px;height:14px;fill:var(--honey)}
.voice blockquote{
  font-family:var(--serif);
  font-size:1.0625rem;
  font-weight:400;
  line-height:1.55;
  letter-spacing:-.005em;
  color:var(--text);
  flex:1;
}
.voice blockquote em{
  font-style:italic;
  color:var(--copper);
}
.voice-attr{
  display:flex;align-items:center;gap:.75rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
}
.voice-avatar{
  width:42px;height:42px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--honey),var(--copper));
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-weight:600;
  font-size:.875rem;
  flex-shrink:0;
}
.voice-name{
  font-size:.9375rem;
  font-weight:600;
  color:var(--text);
  line-height:1.2;
}
.voice-loc{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.25rem;
}

.cta{
  background:linear-gradient(135deg,var(--copper) 0%,var(--wood) 100%);
  color:var(--cream);
  border-radius:var(--r-xl);
  padding:4.5rem clamp(1.75rem,5vw,4.5rem);
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:3rem;
  align-items:center;
  position:relative;
  overflow:hidden;
  box-shadow:var(--sh-warm);
}
.cta::before{
  content:'';
  position:absolute;
  top:-50%;right:-10%;
  width:500px;height:500px;
  border-radius:50%;
  border:1.5px solid rgba(246,237,224,.12);
  pointer-events:none;
}
.cta::after{
  content:'';
  position:absolute;
  top:-30%;right:-4%;
  width:300px;height:300px;
  border-radius:50%;
  border:1.5px solid rgba(246,237,224,.08);
  pointer-events:none;
}
.cta-content{position:relative;z-index:2}
.cta-label{color:rgba(246,237,224,.75)}
.cta-label .num{color:rgba(246,237,224,.5)}
.cta-label .line{background:rgba(246,237,224,.3)}
.cta h2{
  font-family:var(--serif);
  font-size:clamp(1.85rem,3.6vw,2.75rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:#fff;
  margin-bottom:1rem;
}
.cta h2 em{
  font-style:italic;
  font-weight:300;
  color:var(--honey);
}
.cta p{
  font-size:1rem;
  line-height:1.7;
  color:rgba(246,237,224,.78);
  max-width:50ch;
}
.cta-actions{
  display:flex;flex-direction:column;gap:.75rem;
  position:relative;
  z-index:2;
}
.cta-actions .btn{justify-content:space-between;padding:1.1rem 1.5rem}
.btn-on-dark{border-color:rgba(246,237,224,.35);color:var(--cream)}

.footer{
  background:var(--bark);
  color:rgba(246,237,224,.65);
  padding:5rem 0 2rem;
  margin-top:7rem;
  position:relative;
  overflow:hidden;
}
.footer::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(224,169,95,.3),transparent);
}
.footer-rings{
  position:absolute;
  top:-180px;right:-180px;
  width:600px;height:600px;
  opacity:.15;
  pointer-events:none;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;
  gap:2.5rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(246,237,224,.08);
  position:relative;
  z-index:2;
}
.footer-brand .brand-name{color:#fff}
.footer-brand .brand-sub{color:rgba(246,237,224,.4)}
.footer-brand .brand-mark{color:var(--honey)}
.footer-brand > p{
  font-size:.9375rem;
  line-height:1.7;
  margin:1.5rem 0;
  max-width:36ch;
  color:rgba(246,237,224,.55);
}
.footer-contact{
  display:flex;flex-direction:column;gap:.65rem;
}
.footer-contact a{
  display:flex;align-items:center;gap:.6rem;
  font-size:.875rem;
  color:rgba(246,237,224,.72);
  transition:color .3s var(--ease);
}
.footer-contact a:hover{color:var(--honey)}
.footer-contact svg{
  width:16px;height:16px;
  flex-shrink:0;
  color:var(--honey);
}
.footer-col h4{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--honey);
  font-weight:500;
  margin-bottom:1.25rem;
}
.footer-col ul{
  list-style:none;
  display:flex;flex-direction:column;gap:.6rem;
}
.footer-col a{
  font-size:.875rem;
  color:rgba(246,237,224,.6);
  transition:color .3s var(--ease),transform .3s var(--ease);
  display:inline-block;
}
.footer-col a:hover{
  color:var(--honey);
  transform:translateX(3px);
}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  gap:1.5rem;flex-wrap:wrap;
  padding-top:2rem;
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(246,237,224,.4);
  position:relative;
  z-index:2;
}
.footer-legal{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-legal a{color:inherit;transition:color .3s var(--ease)}
.footer-legal a:hover{color:var(--honey)}

.cookie{
  position:fixed;
  bottom:1.5rem;left:50%;
  transform:translateX(-50%) translateY(160%);
  z-index:100;
  background:var(--cream);
  padding:1.25rem 1.5rem;
  border-radius:var(--r-lg);
  display:flex;align-items:center;gap:1.5rem;
  max-width:820px;
  width:calc(100% - 3rem);
  box-shadow:var(--sh-lg);
  border:1px solid var(--line);
  transition:transform .55s var(--ease);
}
.cookie.show{transform:translateX(-50%) translateY(0)}
.cookie .c-icon{
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--copper);
  flex-shrink:0;
}
.cookie .c-icon svg{width:20px;height:20px}
.cookie p{
  font-size:.875rem;
  color:var(--text-2);
  line-height:1.55;
  flex:1;
}
.cookie p a{
  color:var(--copper);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}
.cookie-actions{display:flex;gap:.5rem;flex-shrink:0}
.cookie-actions .btn{padding:.7rem 1.1rem;font-size:.8125rem}

.modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(36,23,16,.65);
  backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;
  opacity:0;visibility:hidden;
  transition:opacity .4s var(--ease),visibility .4s var(--ease);
}
.modal-overlay.open{opacity:1;visibility:visible}
.modal{
  background:var(--cream);
  width:min(620px,100%);
  max-height:92vh;
  overflow-y:auto;
  padding:2.5rem;
  border-radius:var(--r-lg);
  position:relative;
  transform:translateY(28px) scale(.97);
  transition:transform .45s var(--ease);
  box-shadow:var(--sh-lg);
}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal-close{
  position:absolute;
  top:1.25rem;right:1.25rem;
  width:38px;height:38px;
  border-radius:50%;
  background:var(--cream-2);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s var(--ease);
  color:var(--wood);
}
.modal-close:hover{
  background:var(--wood);
  color:var(--cream);
  transform:rotate(90deg);
}
.modal-close svg{width:16px;height:16px}
.modal-head{
  margin-bottom:1.75rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--line);
}
.modal-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.75rem;
}
.modal-eyebrow .dot{
  width:6px;height:6px;border-radius:50%;background:var(--copper);
}
.modal-head h2{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--text);
}
.modal-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.modal-head p{
  font-size:.875rem;
  color:var(--text-2);
  line-height:1.6;
  margin-top:.65rem;
}
.form-group{margin-bottom:1.25rem}
.form-label{
  display:block;
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.5rem;
}
.form-input,.form-select,.form-textarea{
  width:100%;
  padding:.875rem 1rem;
  font-family:var(--sans);
  font-size:.9375rem;
  color:var(--text);
  background:var(--cream-2);
  border:1.5px solid transparent;
  border-radius:var(--r-sm);
  outline:none;
  transition:border-color .3s var(--ease),background .3s var(--ease);
  appearance:none;
}
.form-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235b3a1f' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  padding-right:2.5rem;
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--muted)}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  background:var(--cream);
  border-color:var(--copper);
}
.form-textarea{resize:vertical;min-height:96px;font-family:var(--sans)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-submit{
  width:100%;
  margin-top:.5rem;
  justify-content:center;
}
.modal-success{
  text-align:center;
  padding:2rem 0;
}
.success-icon{
  width:76px;height:76px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
  color:var(--copper);
  animation:pop .5s var(--ease);
}
@keyframes pop{
  0%{transform:scale(.7);opacity:0}
  60%{transform:scale(1.05)}
  100%{transform:scale(1);opacity:1}
}
.success-icon svg{width:32px;height:32px}
.modal-success h2{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
  letter-spacing:-.02em;
  margin-bottom:.75rem;
}
.modal-success p{
  font-size:.9375rem;
  color:var(--text-2);
  line-height:1.7;
  margin-bottom:1.75rem;
  max-width:44ch;
  margin-left:auto;
  margin-right:auto;
}
.modal-success .btn{width:100%;justify-content:center}

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.reveal.in{opacity:1;transform:translateY(0)}

@media (max-width:1080px){
  .services-grid{grid-template-columns:1fr 1fr}
  .process-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
  .process-grid::before{display:none}
  .voices-grid{grid-template-columns:1fr 1fr}
  .voices-grid .voice:nth-child(3){grid-column:1/-1}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
  .cta{grid-template-columns:1fr;gap:2rem}
  .nav-links{display:none}
  .burger{display:flex}
}
@media (max-width:820px){
  .hero{padding-top:7.5rem}
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .hero-image{aspect-ratio:4/3;border-radius:32px;max-height:480px}
  .hero-badge{left:1rem;bottom:1rem}
  .hero-rings{display:none}
  .craft-inner{grid-template-columns:1fr}
  .craft-image{min-height:340px}
  .craft-features{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .g-item:nth-child(1),
  .g-item:nth-child(2),
  .g-item:nth-child(3),
  .g-item:nth-child(4),
  .g-item:nth-child(5),
  .g-item:nth-child(6){grid-column:span 1;grid-row:span 1}
  .g-item:nth-child(1){grid-column:span 2;grid-row:span 1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:600px){
  .section{padding:4.5rem 0}
  .services-grid{grid-template-columns:1fr}
  .voices-grid{grid-template-columns:1fr}
  .voices-grid .voice:nth-child(3){grid-column:auto}
  .process-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-meta{grid-template-columns:1fr;gap:1rem;padding-top:1.5rem}
  .hero-meta > div{display:flex;align-items:baseline;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
  .hero-meta > div:last-child{border-bottom:none;padding-bottom:0}
  .hero-meta .lbl{margin-top:0}
  .form-row{grid-template-columns:1fr}
  .modal{padding:1.75rem}
  .cookie{flex-direction:column;align-items:flex-start;gap:1rem}
  .cookie-actions{width:100%}
  .cookie-actions .btn{flex:1;justify-content:center}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .gallery{grid-template-columns:1fr;grid-auto-rows:220px}
  .g-item:nth-child(1){grid-column:span 1}
  .cta{padding:3rem 1.75rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
.hero-compact{padding:8.5rem 0 4.5rem}
.hero-compact h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.5rem}
.hero-compact .hero-lede{font-size:1.0625rem;max-width:60ch;margin-bottom:0}
.hero-compact .hero-actions{margin-top:0;margin-bottom:0}

.split-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem,5vw,5rem);
  align-items:center;
}
.split-section.reverse .split-image{order:2}
.split-image{
  aspect-ratio:4/5;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--cream-2);
  box-shadow:var(--sh);
}
.split-image img{width:100%;height:100%;object-fit:cover}
.split-content .section-label{margin-bottom:1rem}
.split-title{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.03em;
  color:var(--text);
  margin-bottom:1.25rem;
}
.split-title em{font-style:italic;font-weight:300;color:var(--copper)}
.split-content p{
  font-size:1rem;
  line-height:1.75;
  color:var(--text-2);
  margin-bottom:1rem;
}

.stat-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:2.5rem 0;
}
.stat-block{
  text-align:center;
  padding:0 1.5rem;
  border-right:1px solid var(--line);
}
.stat-block:last-child{border-right:none}
.stat-block .num{
  font-family:var(--serif);
  font-size:clamp(1.85rem,3vw,2.5rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--text);
}
.stat-block .num .suf{color:var(--copper);font-weight:300}
.stat-block .lbl{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.6rem;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.team-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.team-image{
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--cream-3);
}
.team-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease);
}
.team-card:hover .team-image img{transform:scale(1.05)}
.team-info{padding:1.5rem}
.team-name{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--text);
}
.team-role{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-top:.35rem;
}
.team-bio{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
  margin-top:.85rem;
}

.value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.value-card{
  background:var(--cream-2);
  padding:2rem;
  border-radius:var(--r-lg);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.value-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.value-num{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:400;
  line-height:1;
  color:var(--copper);
  letter-spacing:-.03em;
  margin-bottom:1.25rem;
}
.value-card h3{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.value-card p{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
}

.service-anchor-nav{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  padding:1.25rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-bottom:2rem;
}
.service-anchor-nav a{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.55rem 1rem;
  border-radius:var(--r-full);
  background:var(--cream-2);
  color:var(--text-2);
  transition:all .3s var(--ease);
}
.service-anchor-nav a:hover{background:var(--copper);color:#fff}

.service-detail{
  padding:4.5rem 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:6rem;
}
.service-detail:last-of-type{border-bottom:none}
.service-detail-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:clamp(2rem,4.5vw,4.5rem);
  align-items:start;
}
.service-detail-grid.reverse{grid-template-columns:1.15fr 1fr}
.service-detail-grid.reverse .sd-image{order:2}
.sd-image{
  aspect-ratio:4/5;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--cream-2);
  position:sticky;
  top:6rem;
  box-shadow:var(--sh);
}
.sd-image img{width:100%;height:100%;object-fit:cover}
.sd-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.85rem;
}
.sd-title{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.03em;
  color:var(--text);
  margin-bottom:1.25rem;
}
.sd-title em{font-style:italic;font-weight:300;color:var(--copper)}
.sd-lede{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
  margin-bottom:2rem;
}
.sd-block{margin-bottom:2rem}
.sd-block h4{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
  margin-bottom:1rem;
}
.sd-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.sd-list li{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  font-size:.9375rem;
  line-height:1.6;
  color:var(--text-2);
}
.sd-list li::before{
  content:'';
  width:6px;height:6px;
  border-radius:50%;
  background:var(--copper);
  margin-top:.55rem;
  flex-shrink:0;
}
.sd-pricing{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  padding:1.5rem;
  background:var(--cream-2);
  border-radius:var(--r);
  margin-bottom:2rem;
}
.sd-price-item{text-align:center}
.sd-price-item .k{
  font-family:var(--serif);
  font-size:1.375rem;
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--text);
}
.sd-price-item .l{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.5rem;
}

.faq-list{display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--line);cursor:pointer}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1.5rem 0;
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--text);
  transition:color .3s var(--ease);
}
.faq-item:hover .faq-q{color:var(--copper)}
.faq-icon{
  width:32px;height:32px;
  border-radius:50%;
  border:1.5px solid var(--line-2);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:all .35s var(--ease);
  position:relative;
}
.faq-icon::before,.faq-icon::after{
  content:'';
  position:absolute;
  background:var(--copper);
  transition:transform .35s var(--ease),background .35s var(--ease);
}
.faq-icon::before{width:12px;height:1.5px}
.faq-icon::after{width:1.5px;height:12px}
.faq-item.open .faq-icon{background:var(--copper);border-color:var(--copper)}
.faq-item.open .faq-icon::before{background:#fff}
.faq-item.open .faq-icon::after{transform:scaleY(0);background:#fff}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .45s var(--ease),padding .45s var(--ease);
}
.faq-item.open .faq-a{max-height:520px;padding-bottom:1.5rem}
.faq-a p{
  font-size:.9375rem;
  line-height:1.75;
  color:var(--text-2);
  max-width:72ch;
}

@media (max-width:1080px){
  .split-section{grid-template-columns:1fr;gap:2.5rem}
  .split-section.reverse .split-image{order:0}
  .team-grid{grid-template-columns:1fr 1fr}
  .value-grid{grid-template-columns:1fr 1fr}
  .service-detail-grid,.service-detail-grid.reverse{grid-template-columns:1fr;gap:2.5rem}
  .service-detail-grid.reverse .sd-image{order:0}
  .sd-image{position:static;aspect-ratio:4/3}
}
@media (max-width:600px){
  .hero-compact{padding:7rem 0 3rem}
  .team-grid,.value-grid{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr 1fr;padding:0}
  .stat-block{
    padding:1.5rem 1rem;
    border-right:none;
    border-bottom:1px solid var(--line);
  }
  .stat-block:nth-child(odd){border-right:1px solid var(--line)}
  .stat-block:nth-child(3),.stat-block:nth-child(4){border-bottom:none}
  .sd-pricing{grid-template-columns:1fr;gap:1.25rem}
}
.process-overview{
  padding:2rem 0 3rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.po-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.po-step{
  padding:0 1.5rem;
  border-right:1px solid var(--line);
  text-align:left;
}
.po-step:last-child{border-right:none;padding-right:0}
.po-step:first-child{padding-left:0}
.po-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  color:var(--copper);
  margin-bottom:.85rem;
}
.po-title{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--text);
  line-height:1.15;
}
.po-time{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.5rem;
}

.timeline{
  display:flex;
  flex-direction:column;
  gap:0;
}
.timeline-item{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:2rem;
  padding-bottom:4rem;
}
.timeline-item:last-child{padding-bottom:0}
.timeline-marker{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:.35rem;
}
.tm-num{
  width:56px;height:56px;
  border-radius:50%;
  background:var(--cream-2);
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:400;
  color:var(--copper);
  letter-spacing:-.02em;
  flex-shrink:0;
  transition:all .4s var(--ease);
}
.timeline-item:hover .tm-num{
  background:var(--copper);
  color:var(--cream);
  border-color:var(--copper);
}
.tm-line{
  flex:1;
  width:1.5px;
  background:repeating-linear-gradient(180deg,var(--line-2) 0 5px,transparent 5px 11px);
  margin-top:.75rem;
  min-height:80px;
}
.tm-line.last{display:none}

.timeline-content{
  padding-bottom:.5rem;
}
.timeline-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.timeline-head h3{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.6vw,2rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--text);
}
.timeline-head h3 em{font-style:italic;font-weight:300;color:var(--copper)}
.timeline-time{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  background:var(--cream-2);
  padding:.4rem .8rem;
  border-radius:var(--r-full);
  white-space:nowrap;
}
.timeline-content > p{
  font-size:1rem;
  line-height:1.75;
  color:var(--text-2);
  margin-bottom:1.75rem;
  max-width:72ch;
}
.timeline-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  padding:1.5rem;
  background:var(--cream-2);
  border-radius:var(--r);
  margin-bottom:1.5rem;
}
.tc-col h5{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  font-weight:500;
  margin-bottom:.85rem;
}
.timeline-note{
  font-size:.875rem;
  line-height:1.6;
  color:var(--text-2);
  padding:1rem 1.25rem;
  background:rgba(168,84,40,.06);
  border-left:2px solid var(--copper);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.timeline-note strong{color:var(--text);font-weight:600}

.expect-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.expect-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.expect-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.expect-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  color:var(--copper);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.expect-icon svg{width:22px;height:22px}
.expect-card h3{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.expect-card p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.filter-nav{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  padding:1.25rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-bottom:2rem;
}
.filter-btn{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.6rem 1.15rem;
  border-radius:var(--r-full);
  background:var(--cream-2);
  color:var(--text-2);
  border:1.5px solid transparent;
  transition:all .3s var(--ease);
}
.filter-btn:hover{background:var(--cream-3);color:var(--text)}
.filter-btn.active{
  background:var(--copper);
  color:#fff;
  border-color:var(--copper);
}

.project-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2rem;
}
.project-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
  display:flex;
  flex-direction:column;
}
.project-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--sh);
}
.project-image{
  aspect-ratio:16/10;
  overflow:hidden;
  position:relative;
  background:var(--cream-3);
}
.project-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease);
}
.project-card:hover .project-image img{transform:scale(1.04)}
.project-tag{
  position:absolute;
  top:1rem;left:1rem;
  padding:.45rem .85rem;
  background:rgba(246,237,224,.94);
  backdrop-filter:blur(6px);
  border-radius:var(--r-full);
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
}
.project-body{
  padding:1.75rem;
  display:flex;
  flex-direction:column;
  flex:1;
}
.project-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  padding-bottom:1rem;
  margin-bottom:1rem;
  border-bottom:1px solid var(--line);
}
.project-title{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--text);
  margin-bottom:.85rem;
}
.project-title em{font-style:italic;font-weight:300;color:var(--copper);display:block;font-size:.75em;margin-top:.35rem;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.project-desc{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
  margin-bottom:1.5rem;
  flex:1;
}
.project-details{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
}
.pd-item{display:flex;flex-direction:column;gap:.3rem}
.pd-k{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.pd-v{
  font-size:.8125rem;
  font-weight:600;
  color:var(--text);
  line-height:1.35;
}

.project-empty{
  text-align:center;
  padding:4rem 2rem;
}
.project-empty p{
  font-family:var(--serif);
  font-size:1.25rem;
  font-style:italic;
  color:var(--text-2);
}

@media (max-width:1080px){
  .po-grid{grid-template-columns:1fr 1fr;gap:2rem 0}
  .po-step{border-right:none;border-bottom:1px solid var(--line);padding:1.5rem 0}
  .po-step:nth-child(odd){padding-right:1.5rem;border-right:1px solid var(--line)}
  .po-step:nth-child(3),.po-step:nth-child(4){border-bottom:none}
  .po-step:first-child{padding-left:0}
  .expect-grid{grid-template-columns:1fr 1fr}
  .project-grid{grid-template-columns:1fr}
  .timeline-cols{grid-template-columns:1fr}
}
@media (max-width:600px){
  .po-grid{grid-template-columns:1fr}
  .po-step{padding:1.25rem 0;border-right:none}
  .po-step:nth-child(odd){padding-right:0;border-right:none}
  .po-step:last-child{border-bottom:none}
  .timeline-item{grid-template-columns:1fr;gap:1.25rem}
  .timeline-marker{flex-direction:row;align-items:center;gap:1rem}
  .tm-line{display:none}
  .expect-grid{grid-template-columns:1fr}
  .project-details{grid-template-columns:1fr 1fr;gap:1rem}
  .filter-nav{gap:.4rem}
  .filter-btn{padding:.5rem .85rem;font-size:.5625rem}
}
.pricing-tracks{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  padding:2rem 0 4rem;
}
.pt-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  position:relative;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  border:1.5px solid transparent;
}
.pt-card:hover{transform:translateY(-4px);box-shadow:var(--sh-sm)}
.pt-card.pt-featured{
  background:var(--cream);
  border-color:var(--copper);
  box-shadow:var(--sh);
}
.pt-badge{
  position:absolute;
  top:-12px;
  left:2rem;
  background:var(--copper);
  color:#fff;
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:.35rem .75rem;
  border-radius:var(--r-full);
}
.pt-label{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.75rem;
}
.pt-title{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--text);
  margin-bottom:1rem;
}
.pt-price{
  font-family:var(--mono);
  font-size:.6875rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:1.25rem;
}
.pt-price strong{
  display:block;
  font-family:var(--serif);
  font-size:2rem;
  font-weight:400;
  letter-spacing:-.03em;
  text-transform:none;
  color:var(--text);
  margin-top:.35rem;
}
.pt-desc{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
}

.rate-block{
  margin-bottom:3.5rem;
  border-top:1px solid var(--line-2);
  padding-top:2rem;
}
.rate-block:last-child{margin-bottom:0}
.rate-block-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
}
.rate-block-head h3{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.1;
  color:var(--text);
}
.rate-block-link{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  display:inline-flex;align-items:center;gap:.5rem;
  transition:gap .3s var(--ease);
}
.rate-block-link:hover{gap:.75rem}
.rate-table{
  display:flex;
  flex-direction:column;
}
.rate-row{
  display:grid;
  grid-template-columns:1fr 140px 160px;
  gap:1.5rem;
  padding:1.15rem 0;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.rate-row:last-child{border-bottom:1px solid var(--line-2)}
.rr-name{
  font-size:.9375rem;
  color:var(--text);
  line-height:1.5;
}
.rr-unit{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  text-align:right;
}
.rr-price{
  font-family:var(--serif);
  font-size:1.125rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--copper);
  text-align:right;
}
.rr-name-hidden{display:none}

.factors-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.factor-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.factor-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.factor-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  color:var(--copper);
  margin-bottom:1.25rem;
}
.factor-card h3{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.factor-card p{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
}

.payment-panel{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,4.5rem);
  position:relative;
  overflow:hidden;
}
.payment-panel::before{
  content:'';
  position:absolute;
  top:-40%;right:-15%;
  width:460px;height:460px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.12);
  pointer-events:none;
}
.payment-head{
  max-width:640px;
  margin-bottom:3rem;
  position:relative;
}
.payment-head h2{
  font-family:var(--serif);
  font-size:clamp(1.85rem,3.4vw,2.75rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1rem;
}
.payment-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.payment-head p{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
}
.payment-stages{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-bottom:3rem;
  position:relative;
}
.payment-stage{
  background:var(--cream);
  border-radius:var(--r-lg);
  padding:2rem;
  position:relative;
}
.ps-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  color:var(--copper);
  margin-bottom:.75rem;
}
.ps-title{
  font-family:var(--serif);
  font-size:1.375rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--text);
  margin-bottom:.5rem;
}
.ps-amount{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:1rem;
}
.ps-desc{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
}
.payment-notes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  padding-top:2rem;
  border-top:1px solid var(--line);
  position:relative;
}
.pay-note{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
}
.pay-note strong{
  display:block;
  color:var(--text);
  font-weight:600;
  margin-bottom:.35rem;
  font-size:.8125rem;
}

.faq-category{
  margin-bottom:4.5rem;
  scroll-margin-top:6rem;
}
.faq-category:last-child{margin-bottom:0}
.faq-category-head{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:1.5rem;
  align-items:baseline;
  margin-bottom:1.75rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--line-2);
}
.fc-num{
  font-family:var(--mono);
  font-size:.6875rem;
  letter-spacing:.16em;
  color:var(--copper);
}
.fc-title{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.6vw,2rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
  color:var(--text);
}
.fc-sub{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.5rem;
}

.contact-methods{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  padding:2rem 0 3rem;
}
.method-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:all .4s var(--ease);
  border:1.5px solid transparent;
}
.method-card:hover{
  background:var(--cream);
  border-color:var(--line);
  transform:translateY(-4px);
  box-shadow:var(--sh-sm);
}
.method-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  color:var(--copper);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.method-icon svg{width:22px;height:22px}
.method-label{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.6rem;
}
.method-value{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--text);
  line-height:1.3;
  margin-bottom:.5rem;
  word-break:break-word;
}
.method-note{
  font-size:.8125rem;
  color:var(--text-2);
  line-height:1.55;
}

.contact-layout{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:3rem;
  align-items:start;
}
.contact-form-card{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2rem,4vw,3.5rem);
}
.cf-head{
  margin-bottom:2.5rem;
}
.cf-head h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1rem;
}
.cf-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.cf-head p{
  font-size:1rem;
  line-height:1.7;
  color:var(--text-2);
}
.form-fineprint{
  font-size:.75rem;
  color:var(--muted);
  line-height:1.6;
  margin-top:1rem;
  text-align:center;
}
.form-fineprint a{
  color:var(--copper);
  text-decoration:underline;
  text-underline-offset:3px;
}
.contact-form-success{
  padding:2rem 0;
  text-align:center;
}
.contact-form-success h2{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
  letter-spacing:-.02em;
  margin-bottom:.75rem;
}
.contact-form-success p{
  font-size:.9375rem;
  color:var(--text-2);
  line-height:1.7;
  margin-bottom:1.75rem;
  max-width:44ch;
  margin-left:auto;
  margin-right:auto;
}

.contact-side{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  position:sticky;
  top:6rem;
}
.side-block{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:1.75rem;
}
.sb-label{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:1.25rem;
}
.hours-table{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.hours-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  font-size:.875rem;
  color:var(--text);
  padding-bottom:.6rem;
  border-bottom:1px solid var(--line);
}
.hours-row:last-child{border-bottom:none;padding-bottom:0}
.hours-row span:last-child{
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--text-2);
}
.hours-row .closed{color:var(--copper)}
.side-address{
  font-style:normal;
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text);
  margin-bottom:1rem;
}
.side-link{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  transition:gap .3s var(--ease);
}
.side-link:hover{gap:.75rem}
.side-contact{
  display:flex;align-items:center;gap:.75rem;
  font-size:.9375rem;
  color:var(--text);
  padding:.5rem 0;
  transition:color .3s var(--ease);
}
.side-contact svg{
  width:18px;height:18px;
  color:var(--copper);
  flex-shrink:0;
}
.side-contact:hover{color:var(--copper)}
.side-cta{background:linear-gradient(135deg,rgba(224,169,95,.14),rgba(168,84,40,.08))}
.side-note{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
  margin-bottom:1.25rem;
}

.map-wrap{
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh);
  aspect-ratio:16/9;
  background:var(--cream-2);
  margin-bottom:3rem;
}
.map-wrap iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.directions-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.direction-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:1.75rem;
}
.dc-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  color:var(--copper);
  margin-bottom:1rem;
}
.direction-card h3{
  font-family:var(--serif);
  font-size:1.125rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.direction-card p{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
}

@media (max-width:1080px){
  .pricing-tracks{grid-template-columns:1fr}
  .factors-grid{grid-template-columns:1fr 1fr}
  .payment-stages{grid-template-columns:1fr}
  .payment-notes{grid-template-columns:1fr;gap:1.25rem}
  .contact-methods{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr;gap:2.5rem}
  .contact-side{position:static}
  .directions-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .rate-block-head{flex-direction:column;align-items:flex-start;gap:.75rem}
  .rate-row{grid-template-columns:1fr;gap:.35rem;padding:1rem 0}
  .rr-unit,.rr-price{text-align:left}
  .factors-grid{grid-template-columns:1fr}
  .faq-category-head{grid-template-columns:1fr;gap:.5rem}
  .directions-grid{grid-template-columns:1fr}
  .map-wrap{aspect-ratio:4/3}
}
.review-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:2rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.rs-block{
  text-align:center;
  padding:0 1.5rem;
  border-right:1px solid var(--line);
}
.rs-block:last-child{border-right:none}
.rs-stars{
  display:flex;
  justify-content:center;
  gap:.15rem;
  margin-bottom:.75rem;
}
.rs-stars svg{width:16px;height:16px;fill:var(--honey)}
.rs-num{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.6vw,2.25rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--text);
}
.rs-num span{color:var(--copper);font-weight:300;font-size:.6em}
.rs-label{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.6rem;
}

.featured-quote{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:center;
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2rem,4vw,3.5rem);
  position:relative;
  overflow:hidden;
}
.featured-quote::before{
  content:'';
  position:absolute;
  top:-40%;right:-10%;
  width:400px;height:400px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.08);
  pointer-events:none;
}
.fq-image{
  aspect-ratio:4/5;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--cream-3);
  position:relative;
  z-index:1;
}
.fq-image img{width:100%;height:100%;object-fit:cover}
.fq-body{position:relative;z-index:1}
.fq-mark{
  font-family:var(--serif);
  font-size:5rem;
  line-height:.6;
  color:var(--copper);
  font-weight:300;
  height:.35em;
  overflow:hidden;
  display:block;
  margin-bottom:1rem;
}
.fq-text{
  font-family:var(--serif);
  font-size:clamp(1.25rem,2.2vw,1.75rem);
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.02em;
  color:var(--text);
  margin-bottom:2rem;
}
.fq-text em{font-style:italic;color:var(--copper)}
.fq-attr{
  display:flex;
  align-items:center;
  gap:1rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line);
}
.fq-avatar{
  width:52px;height:52px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--honey),var(--copper));
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-weight:600;
  font-size:.9375rem;
  flex-shrink:0;
}
.fq-name{
  font-size:1.0625rem;
  font-weight:600;
  color:var(--text);
  line-height:1.2;
}
.fq-meta{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.3rem;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.testimonial-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  position:relative;
}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.tc-quote-mark{
  font-family:var(--serif);
  font-size:2.75rem;
  line-height:.55;
  color:var(--copper);
  font-weight:400;
  height:.4em;
  overflow:hidden;
  display:block;
}
.tc-stars{display:flex;gap:.15rem}
.tc-stars svg{width:13px;height:13px;fill:var(--honey)}
.tc-text{
  font-family:var(--serif);
  font-size:1rem;
  font-weight:400;
  line-height:1.55;
  letter-spacing:-.005em;
  color:var(--text);
  flex:1;
}
.tc-text em{font-style:italic;color:var(--copper)}
.tc-attr{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.tc-avatar{
  width:38px;height:38px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--honey),var(--copper));
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-weight:600;
  font-size:.8125rem;
  flex-shrink:0;
}
.tc-name{
  font-size:.9375rem;
  font-weight:600;
  color:var(--text);
  line-height:1.2;
}
.tc-loc{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.2rem;
}
.tc-tag{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  padding:.4rem .75rem;
  background:rgba(168,84,40,.08);
  border-radius:var(--r-full);
  align-self:flex-start;
}

.source-panel{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,4rem);
  position:relative;
  overflow:hidden;
}
.source-panel::before{
  content:'';
  position:absolute;
  bottom:-40%;left:-10%;
  width:400px;height:400px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.08);
  pointer-events:none;
}
.source-head{
  max-width:640px;
  margin-bottom:3rem;
  position:relative;
  z-index:1;
}
.source-head h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1rem;
}
.source-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.source-head p{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
}
.source-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
  position:relative;
  z-index:1;
}
.source-card{
  background:var(--cream);
  border-radius:var(--r-lg);
  padding:1.75rem;
  text-align:center;
}
.src-name{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.85rem;
}
.src-rating{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1;
  color:var(--text);
}
.src-rating span{color:var(--copper);font-weight:300;font-size:.65em}
.src-count{
  font-size:.8125rem;
  color:var(--text-2);
  margin-top:.6rem;
}

.booking-layout{
  display:grid;
  grid-template-columns:1.55fr 1fr;
  gap:3rem;
  align-items:start;
}
.booking-form-card{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2rem,4vw,3.5rem);
}
.bf-head{margin-bottom:2.5rem}
.bf-head h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1rem;
}
.bf-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.bf-head p{
  font-size:1rem;
  line-height:1.7;
  color:var(--text-2);
}
.bf-section{
  padding:2rem 0;
  border-top:1px solid var(--line);
  margin-bottom:0;
}
.bf-section:first-of-type{border-top:none;padding-top:0}
.bf-section:last-of-type{padding-bottom:0}
.bf-section-label{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:1.5rem;
}
.bf-checkbox{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  cursor:pointer;
  padding:.5rem 0;
}
.bf-checkbox input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.bf-check-box{
  width:20px;height:20px;
  border:1.5px solid var(--line-2);
  border-radius:4px;
  flex-shrink:0;
  margin-top:.15rem;
  position:relative;
  transition:all .3s var(--ease);
  background:var(--cream);
}
.bf-check-box::after{
  content:'';
  position:absolute;
  top:50%;left:50%;
  width:10px;height:6px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translate(-50%,-65%) rotate(-45deg) scale(0);
  transition:transform .3s var(--ease);
}
.bf-checkbox input:checked + .bf-check-box{
  background:var(--copper);
  border-color:var(--copper);
}
.bf-checkbox input:checked + .bf-check-box::after{transform:translate(-50%,-65%) rotate(-45deg) scale(1)}
.bf-check-text{
  font-size:.875rem;
  line-height:1.6;
  color:var(--text-2);
}

.booking-side{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  position:sticky;
  top:6rem;
}
.booking-steps{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  counter-reset:bs;
}
.booking-steps li{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:1rem;
  align-items:start;
}
.bs-num{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  color:var(--copper);
  padding-top:.25rem;
}
.bs-title{
  font-family:var(--serif);
  font-size:1rem;
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.25;
  color:var(--text);
  margin-bottom:.35rem;
}
.bs-text p{
  font-size:.8125rem;
  line-height:1.6;
  color:var(--text-2);
}
.booking-success-actions{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  margin-top:1.75rem;
}

.careers-intro{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(2.5rem,5vw,5rem);
  align-items:center;
  padding:2rem 0 4rem;
}
.ci-block h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1.5rem;
}
.ci-block h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.ci-block p{
  font-size:1rem;
  line-height:1.75;
  color:var(--text-2);
  margin-bottom:1rem;
}
.ci-image{
  aspect-ratio:5/6;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--cream-2);
  box-shadow:var(--sh);
}
.ci-image img{width:100%;height:100%;object-fit:cover}

.benefits-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.benefit-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.benefit-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.benefit-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  color:var(--copper);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.benefit-icon svg{width:22px;height:22px}
.benefit-card h3{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.benefit-card p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.positions-list{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.position-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2.5rem;
  transition:box-shadow .4s var(--ease);
  border:1.5px solid transparent;
}
.position-card:hover{
  box-shadow:var(--sh-sm);
  border-color:var(--line);
}
.pos-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem;
}
.pos-dept{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.75rem;
}
.pos-title{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.4vw,1.875rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--text);
}
.pos-title em{font-style:italic;font-weight:300;color:var(--copper)}
.pos-salary{
  font-family:var(--mono);
  font-size:.6875rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text);
  background:var(--cream);
  padding:.55rem 1rem;
  border-radius:var(--r-full);
  white-space:nowrap;
  border:1px solid var(--line);
}
.pos-desc{
  font-size:1rem;
  line-height:1.7;
  color:var(--text-2);
  margin-bottom:1.75rem;
  max-width:72ch;
}
.pos-details{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line);
  margin-bottom:1.75rem;
}
.pos-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.hiring-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}
.hiring-step{
  padding:2rem;
  background:var(--cream-2);
  border-radius:var(--r-lg);
}
.hs-num{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:400;
  line-height:1;
  color:var(--copper);
  letter-spacing:-.03em;
  margin-bottom:1.25rem;
}
.hiring-step h3{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.hiring-step p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.apply-panel{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,4rem);
  position:relative;
  overflow:hidden;
}
.apply-panel::before{
  content:'';
  position:absolute;
  top:-40%;right:-10%;
  width:420px;height:420px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.1);
  pointer-events:none;
}
.apply-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(2.5rem,5vw,4rem);
  align-items:start;
  position:relative;
  z-index:1;
}
.apply-intro h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1.5rem;
}
.apply-intro h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.apply-intro p{
  font-size:1rem;
  line-height:1.75;
  color:var(--text-2);
  margin-bottom:1rem;
}
.apply-note{
  margin-top:2rem;
  padding:1.25rem 1.5rem;
  background:rgba(168,84,40,.06);
  border-left:3px solid var(--copper);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
}
.apply-note strong{color:var(--text);font-weight:600}
.apply-form-card{
  background:var(--cream);
  border-radius:var(--r-lg);
  padding:2rem;
}

@media (max-width:1080px){
  .review-summary{grid-template-columns:1fr 1fr}
  .rs-block:nth-child(2){border-right:none}
  .rs-block:nth-child(3),.rs-block:nth-child(4){border-top:1px solid var(--line);padding-top:1.5rem}
  .rs-block:nth-child(1),.rs-block:nth-child(2){padding-bottom:1.5rem}
  .featured-quote{grid-template-columns:1fr;gap:2rem}
  .fq-image{aspect-ratio:16/10;max-height:420px}
  .testimonial-grid{grid-template-columns:1fr 1fr}
  .source-grid{grid-template-columns:1fr 1fr}
  .booking-layout{grid-template-columns:1fr;gap:2.5rem}
  .booking-side{position:static}
  .careers-intro{grid-template-columns:1fr;gap:2.5rem;padding-bottom:3rem}
  .ci-image{aspect-ratio:16/10;max-height:420px}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .hiring-steps{grid-template-columns:1fr}
  .apply-grid{grid-template-columns:1fr;gap:2.5rem}
}
@media (max-width:600px){
  .review-summary{grid-template-columns:1fr}
  .rs-block{border-right:none;border-bottom:1px solid var(--line);padding:1.25rem 0}
  .rs-block:last-child{border-bottom:none}
  .rs-block:nth-child(3),.rs-block:nth-child(4){border-top:none}
  .testimonial-grid{grid-template-columns:1fr}
  .source-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr}
  .pos-head{flex-direction:column;align-items:flex-start}
  .pos-salary{white-space:normal}
  .pos-details{grid-template-columns:1fr}
  .booking-form-card{padding:1.75rem}
  .apply-form-card{padding:1.5rem}
  .position-card{padding:1.75rem}
}
.warranty-card{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:clamp(2rem,4vw,4rem);
  align-items:center;
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2rem,4vw,3.5rem);
  margin:2rem 0 4rem;
  position:relative;
  overflow:hidden;
}
.warranty-card::before{
  content:'';
  position:absolute;
  top:-30%;right:-10%;
  width:380px;height:380px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.1);
  pointer-events:none;
}
.wc-left{
  text-align:center;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.wc-seal{
  width:150px;height:150px;
  color:var(--copper);
  margin-bottom:1.5rem;
}
.wc-seal svg{width:100%;height:100%}
.wc-badge{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--text);
  line-height:1.1;
}
.wc-badge-sub{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-top:.5rem;
}
.wc-right{position:relative;z-index:1}
.wc-label{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:.85rem;
}
.wc-right h2{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.6vw,2rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--text);
  margin-bottom:1rem;
}
.wc-right h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.wc-right p{
  font-size:1rem;
  line-height:1.7;
  color:var(--text-2);
  margin-bottom:1.75rem;
}
.wc-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line);
}
.wc-meta-k{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.4rem;
}
.wc-meta-v{
  font-size:.875rem;
  font-weight:600;
  color:var(--text);
  line-height:1.35;
}

.coverage-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.coverage-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.coverage-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.coverage-card-no{background:#f0e7da}
.cov-icon{
  width:44px;height:44px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.cov-yes{
  background:rgba(168,84,40,.1);
  color:var(--copper);
}
.cov-no{
  background:rgba(91,58,31,.08);
  color:var(--wood);
}
.cov-icon svg{width:20px;height:20px}
.coverage-card h3{
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.coverage-card p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.care-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.care-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.care-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.care-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  color:var(--copper);
  margin-bottom:1rem;
}
.care-card h3{
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.care-card p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.emergency-strip{
  display:flex;
  align-items:center;
  gap:1.5rem;
  padding:1.5rem 2rem;
  background:linear-gradient(135deg,rgba(168,84,40,.1),rgba(224,169,95,.06));
  border:1.5px solid rgba(168,84,40,.22);
  border-radius:var(--r-lg);
  margin:2rem 0;
  flex-wrap:wrap;
}
.es-icon{
  width:52px;height:52px;
  border-radius:50%;
  background:var(--copper);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.es-icon svg{width:26px;height:26px}
.es-text{flex:1;min-width:220px}
.es-title{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--text);
  line-height:1.2;
  margin-bottom:.35rem;
}
.es-sub{
  font-size:.875rem;
  line-height:1.6;
  color:var(--text-2);
}
.emergency-strip .btn{white-space:nowrap}

.damage-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.damage-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.damage-card:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.damage-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  color:var(--copper);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.damage-icon svg{width:22px;height:22px}
.damage-card h3{
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.damage-card p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.insurance-steps{
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid var(--line-2);
}
.ins-step{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:2rem;
  padding:2rem 0;
  border-bottom:1px solid var(--line);
  align-items:start;
  transition:background .3s var(--ease);
}
.ins-step:hover{background:rgba(168,84,40,.025)}
.ins-num{
  font-family:var(--serif);
  font-size:2.25rem;
  font-weight:400;
  letter-spacing:-.03em;
  color:var(--copper);
  line-height:1;
  padding-top:.35rem;
}
.ins-content h3{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--text);
  margin-bottom:.75rem;
}
.ins-content p{
  font-size:.9375rem;
  line-height:1.75;
  color:var(--text-2);
  max-width:72ch;
  margin-bottom:.75rem;
}
.ins-time{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  padding:.35rem .85rem;
  background:rgba(168,84,40,.08);
  border-radius:var(--r-full);
  display:inline-block;
}

.doc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.doc-item{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
}
.doc-num{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  color:var(--copper);
  margin-bottom:1rem;
}
.doc-item h3{
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.doc-item p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.carrier-panel{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,4rem);
  position:relative;
  overflow:hidden;
}
.carrier-panel::before{
  content:'';
  position:absolute;
  top:-30%;right:-10%;
  width:380px;height:380px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.08);
  pointer-events:none;
}
.carrier-head{
  max-width:640px;
  margin-bottom:2.5rem;
  position:relative;
  z-index:1;
}
.carrier-head h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1rem;
}
.carrier-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.carrier-head p{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
}
.carrier-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:1rem;
  margin-bottom:2rem;
  position:relative;
  z-index:1;
}
.carrier-card{
  background:var(--cream);
  border-radius:var(--r-sm);
  padding:1.5rem 1rem;
  text-align:center;
  font-family:var(--serif);
  font-size:.9375rem;
  font-weight:500;
  letter-spacing:-.01em;
  color:var(--wood);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.carrier-card:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.carrier-note{
  padding:1.25rem 1.5rem;
  background:rgba(168,84,40,.06);
  border-left:3px solid var(--copper);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:.9375rem;
  line-height:1.65;
  color:var(--text-2);
  position:relative;
  z-index:1;
}
.carrier-note strong{color:var(--text);font-weight:600}

.stats-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:2.5rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-bottom:2rem;
}
.stats-block{
  text-align:center;
  padding:0 1.5rem;
  border-right:1px solid var(--line);
}
.stats-block:last-child{border-right:none}
.stats-block .sn{
  font-family:var(--serif);
  font-size:clamp(1.85rem,3vw,2.5rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--text);
}
.stats-block .sn span{color:var(--copper);font-weight:300;font-size:.55em}
.stats-block .sl{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.6rem;
}

.sector-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.sector-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.sector-card:hover{transform:translateY(-4px);box-shadow:var(--sh-sm)}
.sector-icon{
  width:48px;height:48px;
  border-radius:50%;
  background:rgba(168,84,40,.1);
  color:var(--copper);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.sector-icon svg{width:22px;height:22px}
.sector-card h3{
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:.75rem;
}
.sector-card p{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}

.case-panel{
  background:var(--cream-2);
  border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,4rem);
  position:relative;
  overflow:hidden;
}
.case-panel::before{
  content:'';
  position:absolute;
  bottom:-40%;left:-10%;
  width:420px;height:420px;
  border-radius:50%;
  border:1.5px solid rgba(168,84,40,.08);
  pointer-events:none;
}
.case-head{
  max-width:640px;
  margin-bottom:3rem;
  position:relative;
  z-index:1;
}
.case-head h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.028em;
  color:var(--text);
  margin-bottom:1rem;
}
.case-head h2 em{font-style:italic;font-weight:300;color:var(--copper)}
.case-head p{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--text-2);
}
.case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  position:relative;
  z-index:1;
}
.case-card{
  background:var(--cream);
  border-radius:var(--r-lg);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.case-image{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--cream-3);
}
.case-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.case-card:hover .case-image img{transform:scale(1.05)}
.case-body{padding:1.75rem}
.case-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:1rem;
}
.case-tag{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  padding:.35rem .75rem;
  background:rgba(168,84,40,.08);
  border-radius:var(--r-full);
}
.case-year{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  color:var(--muted);
}
.case-title{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--text);
  margin-bottom:.85rem;
}
.case-desc{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
  margin-bottom:1.5rem;
}
.case-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
}
.cs-k{
  font-family:var(--mono);
  font-size:.5625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  display:block;
  margin-bottom:.35rem;
}
.cs-v{
  font-size:.8125rem;
  font-weight:600;
  color:var(--text);
}

.volume-panel{
  background:linear-gradient(135deg,var(--copper) 0%,var(--wood) 100%);
  color:var(--cream);
  border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,4.5rem);
  position:relative;
  overflow:hidden;
  box-shadow:var(--sh-warm);
}
.volume-panel::before{
  content:'';
  position:absolute;
  top:-50%;right:-10%;
  width:480px;height:480px;
  border-radius:50%;
  border:1.5px solid rgba(246,237,224,.14);
  pointer-events:none;
}
.vp-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:clamp(2.5rem,5vw,4rem);
  align-items:start;
  position:relative;
  z-index:1;
}
.vp-content .section-label{color:rgba(246,237,224,.75)}
.vp-content .section-label .num{color:rgba(246,237,224,.5)}
.vp-content .section-label .line{background:rgba(246,237,224,.3)}
.vp-content h2{
  font-family:var(--serif);
  font-size:clamp(1.75rem,3.2vw,2.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.028em;
  color:#fff;
  margin-bottom:1.25rem;
}
.vp-content h2 em{font-style:italic;font-weight:300;color:var(--honey)}
.vp-content > p{
  font-size:1rem;
  line-height:1.75;
  color:rgba(246,237,224,.82);
  margin-bottom:2rem;
  max-width:60ch;
}
.vp-list{
  margin-bottom:2rem;
}
.vp-list li{
  color:rgba(246,237,224,.9);
  font-size:.9375rem;
}
.vp-list li strong{
  color:var(--honey);
  font-weight:600;
}
.vp-list li::before{background:var(--honey)}
.vp-note{
  padding:1.25rem 1.5rem;
  background:rgba(246,237,224,.08);
  border-left:3px solid var(--honey);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:.875rem;
  line-height:1.65;
  color:rgba(246,237,224,.85);
}
.vp-note strong{color:#fff;font-weight:600}
.vp-side{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.vp-side-block{
  background:rgba(246,237,224,.08);
  border:1px solid rgba(246,237,224,.14);
  border-radius:var(--r-lg);
  padding:1.75rem;
}
.vps-label{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--honey);
  margin-bottom:1rem;
}
.vps-name{
  font-family:var(--serif);
  font-size:1.25rem;
  font-weight:500;
  letter-spacing:-.02em;
  color:#fff;
  line-height:1.2;
}
.vps-role{
  font-size:.8125rem;
  color:rgba(246,237,224,.65);
  margin-top:.35rem;
  margin-bottom:1.25rem;
}
.vps-contact{
  display:flex;
  align-items:center;
  gap:.65rem;
  font-size:.875rem;
  color:rgba(246,237,224,.85);
  padding:.5rem 0;
  transition:color .3s var(--ease);
  word-break:break-word;
}
.vps-contact svg{
  width:16px;height:16px;
  color:var(--honey);
  flex-shrink:0;
}
.vps-contact:hover{color:var(--honey)}
.vp-cta{
  background:var(--cream);
  color:var(--wood);
  width:100%;
  justify-content:center;
}
.vp-cta:hover{background:#fff;color:var(--wood)}

@media (max-width:1080px){
  .warranty-card{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .wc-meta{grid-template-columns:1fr 1fr;gap:1rem}
  .coverage-grid,.care-grid,.damage-grid,.sector-grid,.doc-grid{grid-template-columns:1fr 1fr}
  .carrier-grid{grid-template-columns:repeat(4,1fr)}
  .case-grid{grid-template-columns:1fr}
  .stats-strip{grid-template-columns:1fr 1fr}
  .stats-block:nth-child(2){border-right:none}
  .stats-block:nth-child(3),.stats-block:nth-child(4){border-top:1px solid var(--line);padding-top:1.5rem}
  .stats-block:nth-child(1),.stats-block:nth-child(2){padding-bottom:1.5rem}
  .vp-grid{grid-template-columns:1fr;gap:2.5rem}
  .insurance-steps .ins-step{grid-template-columns:60px 1fr;gap:1.25rem}
}
@media (max-width:600px){
  .coverage-grid,.care-grid,.damage-grid,.sector-grid,.doc-grid{grid-template-columns:1fr}
  .carrier-grid{grid-template-columns:repeat(2,1fr)}
  .wc-meta{grid-template-columns:1fr}
  .stats-strip{grid-template-columns:1fr}
  .stats-block{border-right:none;border-bottom:1px solid var(--line);padding:1.25rem 0}
  .stats-block:last-child{border-bottom:none}
  .stats-block:nth-child(3),.stats-block:nth-child(4){border-top:none}
  .insurance-steps .ins-step{grid-template-columns:1fr;gap:.75rem}
  .ins-num{font-size:1.75rem}
  .case-stats{grid-template-columns:1fr 1fr;gap:.75rem}
  .emergency-strip{flex-direction:column;align-items:flex-start;text-align:left}
  .emergency-strip .btn{width:100%;justify-content:center}
  .warranty-card{padding:1.75rem}
}
.legal-meta{
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-top:2rem;
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.legal-meta span{
  padding:.4rem .85rem;
  background:var(--cream-2);
  border-radius:var(--r-full);
}

.legal-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:clamp(2.5rem,5vw,5rem);
  align-items:start;
}
.legal-toc{
  position:sticky;
  top:6rem;
  padding:1.75rem;
  background:var(--cream-2);
  border-radius:var(--r-lg);
}
.lt-label{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  margin-bottom:1.25rem;
}
.legal-toc ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.legal-toc a{
  font-size:.8125rem;
  line-height:1.4;
  color:var(--text-2);
  padding:.35rem 0;
  display:block;
  transition:color .3s var(--ease),padding .3s var(--ease);
  border-bottom:1px solid transparent;
}
.legal-toc a:hover{
  color:var(--copper);
  padding-left:.35rem;
}

.legal-body{
  max-width:72ch;
}
.legal-section{
  margin-bottom:3rem;
  scroll-margin-top:6rem;
}
.legal-section:last-child{margin-bottom:0}
.legal-section h2{
  font-family:var(--serif);
  font-size:clamp(1.375rem,2.2vw,1.75rem);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
  margin-bottom:1.25rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--line);
}
.legal-section h3{
  font-family:var(--serif);
  font-size:1.0625rem;
  font-weight:500;
  letter-spacing:-.015em;
  line-height:1.3;
  color:var(--text);
  margin:1.5rem 0 .75rem;
}
.legal-section p{
  font-size:.9375rem;
  line-height:1.75;
  color:var(--text-2);
  margin-bottom:1rem;
}
.legal-section ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.65rem;
  margin-bottom:1.25rem;
}
.legal-section ul li{
  position:relative;
  padding-left:1.35rem;
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-2);
}
.legal-section ul li::before{
  content:'';
  position:absolute;
  left:0;
  top:.6rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--copper);
}
.legal-section a{
  color:var(--copper);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .3s var(--ease);
}
.legal-section a:hover{color:var(--wood)}
.legal-section strong{color:var(--text);font-weight:600}
.legal-contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  padding:1.75rem;
  background:var(--cream-2);
  border-radius:var(--r-lg);
  margin-top:1.5rem;
}
.legal-contact strong{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  display:block;
  margin-bottom:.65rem;
  font-weight:500;
}
.legal-contact > div{
  font-size:.875rem;
  line-height:1.7;
  color:var(--text-2);
}
.legal-contact a{
  color:var(--text);
  text-decoration:none;
  transition:color .3s var(--ease);
  word-break:break-word;
}
.legal-contact a:hover{color:var(--copper)}

.cookie-table-wrap{
  overflow-x:auto;
  border-radius:var(--r-lg);
  border:1px solid var(--line);
  background:var(--cream-2);
  margin-top:1.5rem;
}
.cookie-table{
  width:100%;
  border-collapse:collapse;
  min-width:600px;
}
.cookie-table th{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--copper);
  font-weight:500;
  text-align:left;
  padding:1.15rem 1.25rem;
  border-bottom:1px solid var(--line-2);
  background:var(--cream);
}
.cookie-table td{
  padding:1.15rem 1.25rem;
  font-size:.875rem;
  line-height:1.6;
  color:var(--text-2);
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.cookie-table tr:last-child td{border-bottom:none}
.cookie-table td:first-child{
  font-family:var(--mono);
  font-size:.75rem;
  color:var(--text);
  letter-spacing:.02em;
}
.cookie-table td:nth-child(2){
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--wood);
}

.sitemap-section{
  margin-bottom:4.5rem;
}
.sitemap-head{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:1.5rem;
  align-items:baseline;
  margin-bottom:2rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--line-2);
}
.sh-num{
  font-family:var(--mono);
  font-size:.6875rem;
  letter-spacing:.16em;
  color:var(--copper);
}
.sh-title{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.6vw,2rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
  color:var(--text);
}
.sh-sub{
  font-size:.9375rem;
  line-height:1.6;
  color:var(--text-2);
  margin-top:.5rem;
}
.sitemap-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.sitemap-card{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:1.75rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  transition:all .4s var(--ease);
  border:1.5px solid transparent;
}
.sitemap-card:hover{
  background:var(--cream);
  border-color:var(--line);
  transform:translateY(-3px);
  box-shadow:var(--sh-sm);
}
.sc-url{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  color:var(--copper);
}
.sc-title{
  font-family:var(--serif);
  font-size:1.1875rem;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--text);
}
.sc-desc{
  font-size:.875rem;
  line-height:1.65;
  color:var(--text-2);
}

.sitemap-xml{
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:2rem;
}
.sx-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.sx-line:last-of-type{border-bottom:none;padding-bottom:0}
.sx-label{
  font-family:var(--mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.sx-link{
  font-family:var(--mono);
  font-size:.8125rem;
  letter-spacing:.02em;
  color:var(--copper);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:gap .3s var(--ease);
}
.sx-link:hover{gap:.75rem}
.sx-note{
  font-size:.8125rem;
  line-height:1.65;
  color:var(--muted);
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
}

.sitemap-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:2.5rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-top:2rem;
}
.ss-block{
  text-align:center;
  padding:0 1.5rem;
  border-right:1px solid var(--line);
}
.ss-block:last-child{border-right:none}
.ss-num{
  font-family:var(--serif);
  font-size:clamp(1.85rem,3vw,2.5rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--copper);
}
.ss-lbl{
  font-family:var(--mono);
  font-size:.5938rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.6rem;
}

@media (max-width:1080px){
  .legal-layout{grid-template-columns:1fr;gap:2rem}
  .legal-toc{position:static}
  .legal-toc ul{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.5rem 1.5rem;
  }
  .sitemap-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .legal-toc ul{grid-template-columns:1fr}
  .legal-contact{grid-template-columns:1fr;gap:1.25rem;padding:1.25rem}
  .sitemap-grid{grid-template-columns:1fr}
  .sitemap-head{grid-template-columns:1fr;gap:.5rem}
  .sitemap-stats{grid-template-columns:1fr 1fr}
  .ss-block{border-right:none;border-bottom:1px solid var(--line);padding:1.25rem 0}
  .ss-block:nth-child(odd){border-right:1px solid var(--line)}
  .ss-block:nth-child(3),.ss-block:nth-child(4){border-bottom:none}
  .sitemap-xml{padding:1.5rem}
  .sx-line{flex-direction:column;align-items:flex-start;gap:.5rem}
  .cookie-table th,.cookie-table td{padding:.85rem 1rem}
}