:root{
  --ember:#c8a96b;
  --onyx:#161616;
  --graphite:#3c3a3e;
  --stone:#7b7a7c;
  --ash:#a2a2a2;
  --mist:#c9c7cc;
  --fog:#f1f1f1;
  --paper:#f8f8f8;
  --white:#ffffff;
  --dusk:#2a292d;
  --dawn:#ecebe8;
  --peach:#e3d2ae;
  --sun:linear-gradient(180deg, #f6efe0 0%, #e3d2ae 30%, #c8a96b 62%, #7d6536 100%);
  --sunset:linear-gradient(180deg, #2a292d 0%, #6e6c70 30%, #b9b7bb 60%, #e3d2ae 100%);
  --silver:linear-gradient(120deg, #d9d8d5 0%, #f4f3f1 28%, #bdbbb8 55%, #eceae7 78%, #c6c4c1 100%);
  --line:rgba(60,58,62,.15);
  --line-dark:rgba(255,255,255,.15);
  --fade:linear-gradient(rgb(0,0,0), rgb(110,108,112) 25%, rgb(185,183,187) 50%, rgb(220,214,214) 75%, rgb(241,241,241));
  --fade-up:linear-gradient(rgb(241,241,241), rgb(220,214,214) 25%, rgb(185,183,187) 50%, rgb(110,108,112) 75%, rgb(22,22,22));
  --horizon:linear-gradient(90deg, rgb(123,122,124), rgb(60,58,62));

  --f-body:'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-display:'Anton', 'Bebas Neue', Impact, sans-serif;
  --f-mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --ease-in:cubic-bezier(.32,.72,0,1);
  --ease-out:cubic-bezier(.19,1,.22,1);
  --max:1200px;
  --gutter:24px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--graphite);
  font-family:var(--f-body);font-weight:500;font-size:17px;line-height:1.3;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:#e3d2ae;color:var(--onyx)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--f-mono);font-weight:500;font-size:12px;line-height:1.3;text-transform:uppercase;letter-spacing:-.01em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ember);flex:none}
.dot.live{animation:pulse 2.4s var(--ease-in) infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,169,107,.55)}60%{box-shadow:0 0 0 7px rgba(200,169,107,0)}}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px}

/* ============ NAV ============ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px var(--gutter);
  transition:color .5s var(--ease-in), background-color .5s var(--ease-in);
  color:var(--fog);
}
.nav.on-light{color:var(--graphite);background:rgba(248,248,248,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:-.02em}
.nav-links{display:flex;gap:6px;align-items:center}
.pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border-radius:9999px;border:1px solid currentColor;border-color:color-mix(in srgb, currentColor 22%, transparent);
  font-family:var(--f-mono);font-weight:500;font-size:14px;line-height:1;text-transform:uppercase;letter-spacing:-.01em;
  background:transparent;cursor:pointer;white-space:nowrap;
  transition:background-color .3s var(--ease-in), color .3s var(--ease-in), border-color .3s var(--ease-in);
}
.pill .g{font-size:12px;opacity:.7}
.pill:hover{border-color:currentColor}
.pill.solid{background:var(--fog);color:var(--onyx);border-color:var(--fog)}
.nav.on-light .pill.solid{background:var(--graphite);color:var(--white);border-color:var(--graphite)}
.menu-btn{display:none}
.sm-only{display:none}
@media (max-width:520px){.lg-only{display:none}.sm-only{display:inline}}
@media (max-width:900px){
  .nav-links .pill:not(.solid):not(.menu-btn){display:none}
  .menu-btn{display:inline-flex}
}
.mobile-menu{
  position:fixed;inset:0;z-index:49;background:var(--onyx);color:var(--fog);
  display:flex;flex-direction:column;justify-content:flex-end;padding:96px var(--gutter) 36px;gap:0;
  opacity:0;pointer-events:none;transition:opacity .5s var(--ease-in);
}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--f-display);font-size:clamp(56px,17vw,96px);line-height:.9;text-transform:uppercase;border-top:1px solid var(--line-dark);padding:8px 0 4px}
.mobile-menu .mono{margin-top:24px;color:var(--ash)}

/* ============ HERO ============ */
.hero-pin{position:relative;height:340vh;background:var(--onyx)}
.stage{position:sticky;top:0;height:100vh;height:100svh;height:100dvh;overflow:hidden;background:var(--onyx);color:var(--fog)}
.monument{
  position:absolute;left:0;right:0;top:64px;margin:0;text-align:center;
  font-family:var(--f-display);font-weight:400;text-transform:uppercase;
  font-size:19.6vw;line-height:.74;letter-spacing:-.01em;
  color:var(--fog);white-space:nowrap;
  transform:translateY(calc(var(--p1,0) * -8vh));
  will-change:transform;
}
.monument .ch{display:inline-block;background:var(--fade-up);-webkit-background-clip:text;background-clip:text;color:transparent;padding-top:.06em;opacity:0;transform:translateY(40%);animation:rise .9s var(--ease-in) forwards;animation-delay:calc(var(--i) * 45ms + 120ms)}
@keyframes rise{to{opacity:1;transform:none}}
.hero-meta{
  position:absolute;left:var(--gutter);right:var(--gutter);
  top:calc(64px + 19.6vw * .82 + 14px);
  display:flex;justify-content:space-between;gap:12px;color:var(--ash);
  opacity:calc(1 - var(--p1,0) * 3);
}
.hero-meta span{display:flex;align-items:center;gap:6px}
.frame{
  position:absolute;inset:0;z-index:2;
  --ft:calc(64px + 19.6vw * .82 + 48px);
  clip-path:inset(
    calc(var(--ft) * (1 - var(--e,0)))
    calc(var(--fx,16vw) * (1 - var(--e,0)))
    calc(24px * (1 - var(--e,0)))
    calc(var(--fx,16vw) * (1 - var(--e,0)))
  );
  will-change:clip-path;
}
.frame .media{position:absolute;inset:0;background:#0b0b0b center/cover no-repeat;background-image:url('hero-poster.jpg?v=1792338342')}
.frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease-in)}
.stage.video-ready .frame video{opacity:1}
.frame .scrim{position:absolute;inset:0;background:linear-gradient(180deg, rgba(22,22,22,.55) 0%, rgba(22,22,22,.05) 35%, rgba(22,22,22,.25) 60%, rgba(22,22,22,.85) 100%);opacity:calc(.35 + var(--e,0) * .65)}
.frame-hud{
  position:absolute;
  top:calc(var(--ft) * (1 - var(--e,0)) + 12px + 60px * var(--e,0));
  left:calc(var(--fx,16vw) * (1 - var(--e,0)) + 12px);
  right:calc(var(--fx,16vw) * (1 - var(--e,0)) + 12px);
  bottom:calc(24px * (1 - var(--e,0)) + 12px);
  pointer-events:none;
}
.frame-hud .tl,.frame-hud .tr,.frame-hud .bl{position:absolute;display:flex;gap:6px}
.frame-hud .tl{top:0;left:0}
.frame-hud .tr{top:0;right:0}
.frame-hud .bl{bottom:0;left:0;opacity:calc(1 - var(--e,0) * 1.5)}
.glass{
  display:inline-flex;align-items:center;gap:6px;padding:0 6px;line-height:20px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.bands{position:absolute;inset:0;z-index:3;pointer-events:none}
.band{
  position:absolute;left:0;right:0;bottom:0;
  padding:0 var(--gutter) max(48px, 8vh);
  max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;
  opacity:0;visibility:hidden;
}
.band.show{visibility:visible}
.band .mono{color:rgba(255,255,255,.7);display:flex;align-items:center;gap:6px;margin-bottom:18px}
.band h2{
  margin:0;max-width:14ch;
  font-size:clamp(40px,6vw,84px);line-height:1;letter-spacing:-.03em;font-weight:500;color:var(--white);
}
.band h2 .w{display:inline-block;transform:translateY(calc((1 - var(--k,0)) * 28px));opacity:var(--k,0);transition:none}
.band p{max-width:46ch;margin:18px 0 0;font-size:21px;line-height:1.2;letter-spacing:-.02em;color:rgba(255,255,255,.75)}
.band .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.band.final{pointer-events:auto}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:9999px;
  font-family:var(--f-mono);font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:-.01em;line-height:1;
  border:1px solid transparent;cursor:pointer;
  transition:transform .3s var(--ease-in), background-color .3s var(--ease-in), color .3s var(--ease-in), border-color .3s var(--ease-in);
}
.btn:hover{transform:translateY(-2px)}
.btn-light{background:var(--fog);color:var(--onyx)}
.btn-light:hover{background:var(--white)}
.btn-ghost-dark{border-color:rgba(255,255,255,.35);color:var(--fog)}
.btn-ghost-dark:hover{border-color:var(--fog)}
.btn-dark{background:var(--graphite);color:var(--white)}
.btn-dark:hover{background:var(--onyx)}
.btn-ghost{border-color:var(--line);color:var(--graphite)}
.btn-ghost:hover{border-color:var(--graphite)}
.progress{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.12);z-index:4}
.progress i{display:block;height:100%;width:100%;background:var(--horizon);transform-origin:left;transform:scaleX(var(--p,0));background:var(--fog)}
.cue{position:absolute;z-index:4;left:50%;bottom:48px;transform:translateX(-50%);color:rgba(255,255,255,.7);display:flex;align-items:center;gap:6px;transition:opacity .3s}
.load{position:absolute;z-index:4;right:var(--gutter);bottom:18px;color:rgba(255,255,255,.5)}
.hero-static{display:none}

/* Static hero for phones / reduced motion */
body.static .hero-pin{height:auto}
body.static .stage{position:relative;height:auto;padding:84px 0 0}
body.static .monument{position:relative;top:0;font-size:19.6vw;transform:none}
body.static .hero-meta{position:relative;top:0;margin:14px var(--gutter) 0;left:auto;right:auto;opacity:1;flex-wrap:wrap}
body.static .frame{position:relative;inset:auto;clip-path:none;margin:24px var(--gutter) 0;aspect-ratio:4/5;max-height:70vh;width:auto}
body.static .frame .scrim{opacity:.6}
body.static .frame-hud{inset:12px}
body.static .frame-hud .bl{opacity:1}
body.static .bands,body.static .progress,body.static .cue,body.static .load{display:none}
body.static .hero-static{display:block;padding:36px var(--gutter) 60px}
.hero-static h2{margin:0;font-size:clamp(36px,9vw,60px);line-height:1;letter-spacing:-.03em;font-weight:500;color:var(--white)}
.hero-static p{margin:18px 0 0;color:var(--ash);font-size:19px;line-height:1.25;max-width:46ch}
.hero-static .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}

/* ============ SECTIONS ============ */
section{position:relative}
.sec{padding:120px 0}
.sec-head{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:end;margin-bottom:60px}
.label{display:flex;align-items:center;gap:8px;color:var(--stone)}
.h-lg{margin:0;font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:-.03em;font-weight:500;color:var(--graphite)}
.h-md{margin:0;font-size:clamp(28px,3vw,36px);line-height:1;letter-spacing:-.03em;font-weight:500}
.lead{font-size:21px;line-height:1.15;letter-spacing:-.02em;color:var(--stone);max-width:44ch;margin:0}
.ghost-title{
  font-family:var(--f-display);text-transform:uppercase;font-weight:400;
  font-size:clamp(96px,19vw,274px);line-height:.74;letter-spacing:-.02em;
  color:var(--white);margin:0;user-select:none;white-space:nowrap;
}
@media (max-width:760px){
  .sec{padding:84px 0}
  .sec-head{grid-template-columns:1fr;margin-bottom:36px}
}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease-in), transform .75s var(--ease-in);transition-delay:calc(var(--d,0) * 70ms)}
.rv.in{opacity:1;transform:none}

/* ---- Statement ---- */
.statement{background:var(--paper);padding:120px 0 96px}
.statement p{margin:0;font-size:clamp(30px,4.4vw,60px);line-height:1.02;letter-spacing:-.03em;color:var(--graphite);max-width:22ch}
.statement p .muted{color:var(--ash)}
.statement .dot{width:.28em;height:.28em;vertical-align:.12em;margin:0 .1em}
.statement .foot{display:flex;justify-content:space-between;gap:24px;margin-top:60px;padding-top:12px;border-top:1px solid var(--mist);color:var(--stone)}

/* ---- Standards (criteria) ---- */
.standards{background:var(--fog);overflow:hidden}
.std-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--mist);border-left:1px solid var(--mist)}
.std{background:rgba(255,255,255,.5);padding:18px 18px 24px;border-right:1px solid var(--mist);border-bottom:1px solid var(--mist);min-height:200px;display:flex;flex-direction:column;gap:12px}
.std .mono{color:var(--ash);display:flex;justify-content:space-between}
.std h3{margin:48px 0 0;font-size:21px;line-height:1.1;letter-spacing:-.02em;font-weight:500}
.std p{margin:0;color:var(--stone);font-size:15px;line-height:1.3}
.std:hover .mono .dot{opacity:1}
.std .mono .dot{opacity:0;transition:opacity .3s var(--ease-in)}
.standards .ghost-title{
  margin-top:60px;margin-bottom:-.06em;padding:0 var(--gutter);text-align:center;font-size:26vw;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px var(--graphite);
  background:var(--sun) no-repeat left bottom / 100% 0%;-webkit-background-clip:text;background-clip:text;
  transition:background-size 1.8s var(--ease-out) .2s;
}
.standards .ghost-title.in{background-size:100% 55%}
.standards .ghost-title:hover{background-size:100% 100%;transition-duration:.9s}
@media (max-width:960px){.std-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.std-grid{grid-template-columns:1fr}.std{min-height:0}}

/* ---- Services ---- */
.svc-list{border-top:1px solid var(--graphite)}
.svc{
  display:grid;grid-template-columns:80px 1.1fr 1fr;gap:24px;align-items:start;
  padding:24px 0 30px;border-bottom:1px solid var(--mist);position:relative;
}
.svc .num{color:var(--ash);padding-top:10px}
.svc h3{margin:0;font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.03em;font-weight:500;transition:transform .5s var(--ease-in)}
.svc h3 .dot{opacity:0;transform:scale(0);transition:opacity .3s var(--ease-in), transform .5s var(--ease-in);vertical-align:.35em;margin-left:10px}
.svc:hover h3{transform:translateX(12px)}
.svc:hover h3 .dot{opacity:1;transform:scale(1)}
.svc p{margin:0 0 12px;color:var(--stone);font-size:17px;line-height:1.3;max-width:42ch}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{background:var(--onyx);color:var(--fog);padding:0 6px;line-height:20px;font-family:var(--f-mono);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:-.01em}
@media (max-width:760px){.svc{grid-template-columns:1fr;gap:10px}.svc .num{padding:0}}

/* ---- Work ---- */
.work{background:var(--paper)}
.work-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.card{position:relative;overflow:hidden;background:var(--onyx);color:var(--white);display:block}
.card.c-a{grid-column:span 4;aspect-ratio:16/10}
.card.c-b{grid-column:span 2}
.card.c-c{grid-column:span 2;aspect-ratio:4/5}
.card.c-d{grid-column:span 4;aspect-ratio:auto}
.card img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s var(--ease-out), filter .6s var(--ease-in);filter:grayscale(.35)}
.card:hover img{transform:scale(1.09);filter:grayscale(0)}
.card .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px;background:linear-gradient(180deg, rgba(22,22,22,0) 45%, rgba(22,22,22,.78))}
.card .ov .top{display:flex;justify-content:space-between;gap:6px}
.card h3{margin:0;font-size:clamp(24px,2.6vw,36px);line-height:1;letter-spacing:-.03em;font-weight:500}
.card .sub{margin-top:6px;color:rgba(255,255,255,.7);font-size:15px}
.work-note{margin-top:18px;color:var(--ash)}
@media (max-width:860px){
  .work-grid{grid-template-columns:1fr 1fr}
  .card.c-a,.card.c-d{grid-column:span 2;aspect-ratio:16/11}
  .card.c-b,.card.c-c{grid-column:span 2;aspect-ratio:16/11}
}
@media (max-width:520px){
  .work-grid{grid-template-columns:1fr}
  .card.c-a,.card.c-b,.card.c-c,.card.c-d{grid-column:auto;aspect-ratio:4/3}
}

/* ---- Process (dark) ---- */
.dark{background:var(--onyx);color:var(--fog)}
.dark .h-lg{color:var(--fog)}
.dark .label{color:var(--ash)}
.dark .lead{color:var(--ash)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}
.step{padding:18px 18px 36px 0;border-right:1px solid var(--line-dark);position:relative}
.step + .step{padding-left:18px}
.step:last-child{border-right:0}
.step .n{font-family:var(--f-display);font-size:96px;line-height:.74;background:var(--fade-up);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin:24px 0 36px;padding-top:.08em}
.step h3{margin:0 0 10px;font-size:21px;letter-spacing:-.02em;font-weight:500;color:var(--white)}
.step p{margin:0;color:var(--ash);font-size:15px;line-height:1.35}
.step .mono{color:var(--stone);display:flex;align-items:center;gap:6px}
.steps-bar{height:1px;background:var(--fog);transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease-out) .2s;margin-top:-1px}
.steps.in + .steps-bar,.steps-wrap.in .steps-bar{transform:scaleX(1)}
@media (max-width:860px){
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(2){border-right:0}
  .step:nth-child(3){padding-left:0}
  .step:nth-child(n+3){border-top:1px solid var(--line-dark)}
}
@media (max-width:520px){
  .steps{grid-template-columns:1fr}
  .step,.step + .step{padding:18px 0 30px;border-right:0}
  .step + .step{border-top:1px solid var(--line-dark)}
  .step .n{margin:12px 0 18px}
}

/* ---- Packages ---- */
.packages{background:var(--fog)}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pk{background:var(--white);padding:24px;display:flex;flex-direction:column;gap:18px;border:1px solid var(--white);transition:border-color .3s var(--ease-in)}
.pk:hover{border-color:var(--mist)}
.pk.feat{background:var(--onyx);color:var(--fog);border-color:var(--onyx)}
.pk .head{display:flex;justify-content:space-between;align-items:center;color:var(--stone)}
.pk.feat .head{color:var(--ash)}
.pk h3{margin:0;font-size:36px;line-height:1;letter-spacing:-.03em;font-weight:500}
.pk .for{margin:0;color:var(--stone);font-size:17px;line-height:1.3}
.pk.feat .for{color:var(--ash)}
.pk ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--mist)}
.pk.feat ul{border-color:var(--line-dark)}
.pk li{padding:10px 0;border-bottom:1px solid var(--mist);display:flex;gap:10px;align-items:baseline;font-size:15px}
.pk.feat li{border-color:var(--line-dark)}
.pk li::before{content:"+";font-family:var(--f-mono);color:var(--ash);font-size:12px}
.pk .price{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:12px}
.pk .price .mono{color:var(--stone)}
.pk.feat .btn-dark{background:var(--fog);color:var(--onyx)}
@media (max-width:900px){.pk-grid{grid-template-columns:1fr}}

/* ---- About ---- */
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.portrait{position:relative;overflow:hidden;background:var(--mist);aspect-ratio:4/5}
.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transform:scale(1.04);transition:filter .8s var(--ease-in), transform 1.2s var(--ease-out)}
.portrait:hover img{filter:grayscale(0);transform:scale(1)}
.portrait .glass{position:absolute;left:12px;bottom:12px}
.about-text .h-lg{margin:18px 0 6px}
.about-text .role{color:var(--stone)}
.about-text p{font-size:19px;line-height:1.3;letter-spacing:-.015em;margin:24px 0 0;max-width:52ch}
.quote{margin-top:36px;padding-top:18px;border-top:1px solid var(--graphite);font-size:clamp(24px,2.6vw,36px);line-height:1.05;letter-spacing:-.03em;max-width:24ch}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--mist)}
.facts div{padding:12px 12px 0 0}
.facts .mono{color:var(--ash);display:block;margin-bottom:6px}
.facts b{font-weight:500;font-size:17px}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}.portrait{max-width:440px}}
@media (max-width:520px){.facts{grid-template-columns:1fr}.facts div{padding:12px 0;border-bottom:1px solid var(--mist)}}

/* ---- FAQ ---- */
.faq{background:var(--paper)}
.faq-list{border-top:1px solid var(--graphite)}
.faq details{border-bottom:1px solid var(--mist)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:80px 1fr 24px;gap:24px;align-items:center;padding:20px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary .mono{color:var(--ash)}
.faq summary h3{margin:0;font-size:clamp(21px,2.4vw,28px);line-height:1.1;letter-spacing:-.03em;font-weight:500}
.faq summary .pm{width:24px;height:24px;border:1px solid var(--line);border-radius:9999px;position:relative;transition:transform .5s var(--ease-in), background-color .3s}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:var(--graphite);transform:translate(-50%,-50%)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary .pm{transform:rotate(45deg);background:var(--ember);border-color:var(--ember)}
.faq .ans{padding:0 48px 24px 104px;color:var(--stone);font-size:17px;line-height:1.35;max-width:780px}
@media (max-width:760px){
  .faq summary{grid-template-columns:1fr 24px;gap:12px}
  .faq summary .mono{display:none}
  .faq .ans{padding:0 0 24px}
}

/* ---- Contact (dark) ---- */
.contact{padding:120px 0 0;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact .h-lg{max-width:12ch}
.channels{margin-top:36px;border-top:1px solid var(--line-dark)}
.channels a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:21px;letter-spacing:-.02em;transition:padding .5s var(--ease-in)}
.channels a .mono{color:var(--stone)}
.channels a:hover{padding-left:10px}
.form{display:grid;gap:12px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{color:var(--ash)}
.field input,.field textarea,.field select{
  font:inherit;font-size:17px;color:var(--fog);background:rgba(255,255,255,.04);
  border:1px solid var(--line-dark);border-radius:0;padding:12px;outline:none;width:100%;
  transition:border-color .3s var(--ease-in), background-color .3s var(--ease-in);
}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ash) 50%),linear-gradient(135deg,var(--ash) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.field select option{background:var(--onyx)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--fog);background:rgba(255,255,255,.07)}
.field textarea{resize:vertical;min-height:120px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{cursor:pointer;color:var(--fog);border-color:var(--line-dark)}
.chips input:checked + label{background:var(--fog);color:var(--onyx);border-color:var(--fog)}
.chips input:focus-visible + label{outline:2px solid var(--ember);outline-offset:2px}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.form-foot .mono{color:var(--stone);max-width:36ch}
.status{min-height:18px;color:var(--ash)}
.status.ok{color:var(--fog)}
.big-cta{
  font-family:var(--f-display);text-transform:uppercase;font-weight:400;
  font-size:21vw;line-height:.74;letter-spacing:-.02em;text-align:center;
  background:var(--fade);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin:96px 0 0;padding-top:.05em;white-space:nowrap;
}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.form .two{grid-template-columns:1fr}}

footer{background:var(--onyx);color:var(--ash);border-top:1px solid var(--line-dark)}
.foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}
.foot a:hover{color:var(--fog)}

/* ---- color play & CTAs ---- */
.progress i{background:var(--ember)}
.phone-pill{display:inline-flex}
@media (max-width:1180px){.phone-pill{display:none!important}}
.svc:hover .num{color:#8a6f3c}
.std{transition:background-color .3s var(--ease-in), box-shadow .3s var(--ease-in)}
.std:hover{background:var(--white);box-shadow:inset 0 2px 0 var(--ember)}
.step .n{background:var(--sun);-webkit-background-clip:text;background-clip:text}
.pk.feat{background:var(--dusk);border-color:var(--dusk)}
.pk.feat .badge{background:var(--ember);color:var(--onyx);padding:0 6px;line-height:20px;font-weight:600}
.chips input:checked + label{background:var(--ember);color:var(--onyx);border-color:var(--ember)}
.btn-ember{background:var(--ember);color:var(--onyx)}
.btn-ember:hover{background:var(--peach)}
.btn-onyx{background:var(--onyx);color:var(--fog)}
.btn-onyx:hover{background:var(--dusk)}
.big-cta{background:var(--sunset);-webkit-background-clip:text;background-clip:text}
.channels a:hover span:first-child{color:var(--peach)}

.callband{background:var(--silver);color:var(--onyx);overflow:hidden;border-top:1px solid #fff;border-bottom:1px solid var(--mist)}
.callband .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;padding-top:72px;padding-bottom:72px}
.callband .mono{display:flex;align-items:center;gap:6px;color:rgba(22,22,22,.7)}
.callband .mono .dot{background:var(--ember)}
.callband .num{
  display:block;margin-top:18px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;
  font-size:clamp(56px,9.4vw,136px);line-height:.8;letter-spacing:-.01em;color:var(--onyx);white-space:nowrap;
  transition:transform .5s var(--ease-in);
}
.callband .num:hover{transform:translateX(8px)}
.callband p{margin:0 0 18px;font-size:21px;line-height:1.15;letter-spacing:-.02em;max-width:34ch}
.callband .row{display:flex;flex-wrap:wrap;gap:6px}
.callband .btn-line{border-color:rgba(22,22,22,.35);color:var(--onyx)}
.callband .btn-line:hover{border-color:var(--onyx)}
@media (max-width:860px){.callband .wrap{grid-template-columns:1fr;gap:24px;padding-top:60px;padding-bottom:60px}}

.card.c-cta{grid-column:span 6;aspect-ratio:auto;background:var(--dawn);color:var(--onyx);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:24px;min-height:220px}
.card.c-cta h3{font-size:clamp(32px,4vw,54px)}
.card.c-cta .mono{color:var(--stone);display:flex;align-items:center;gap:6px;margin-bottom:18px}
.card.c-cta p{margin:12px 0 0;color:var(--graphite);max-width:44ch}
.card.c-cta .row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
@media (max-width:860px){.card.c-cta{grid-column:span 2;grid-template-columns:1fr}.card.c-cta .row{justify-content:flex-start}}
@media (max-width:520px){.card.c-cta{grid-column:auto}}

.faq-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:36px;padding:18px 24px;background:var(--dawn)}
.faq-cta b{font-weight:500;font-size:21px;letter-spacing:-.02em}
.faq-cta .row{display:flex;gap:6px;flex-wrap:wrap}

.dock{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:none;gap:6px;
  padding:6px;border-radius:9999px;background:rgba(22,22,22,.86);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  transform:translateY(140%);transition:transform .5s var(--ease-in);
}
.dock.show{transform:none}
.dock .btn{flex:1;justify-content:center}
@media (max-width:760px){.dock{display:flex}}
footer .foot a[href^="tel"]{color:var(--peach)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .monument .ch{opacity:1;transform:none}
}
@media (max-width:520px){ :root{--gutter:16px} }

/* ============ MULTI-PAGE ADDITIONS ============ */
.pill[aria-current="page"]{border-color:currentColor}
.pill[aria-current="page"] .g{color:var(--ember);opacity:1}
.mobile-menu a[aria-current="page"]{color:var(--ember)}

/* page hero (sub pages) */
.page-hero{background:var(--onyx);color:var(--fog);padding:96px 0 0;overflow:hidden;position:relative}
.page-hero .monument{position:relative;top:0;font-size:var(--fs,19.6vw);transform:none;margin:0 0 0;padding:0 var(--gutter)}
.page-hero .ph-body{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:end;padding-top:36px;padding-bottom:48px}
.page-hero .crumbs{color:var(--ash);display:flex;align-items:center;gap:8px}
.page-hero .crumbs a:hover{color:var(--fog)}
.page-hero h1{margin:0;font-size:clamp(36px,5vw,60px);line-height:1;letter-spacing:-.03em;font-weight:500;color:var(--white);max-width:18ch}
.page-hero .lead{color:var(--ash);margin-top:18px}
.page-hero .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.ph-strip{position:relative;height:clamp(160px,26vw,340px);overflow:hidden;margin:0 var(--gutter)}
.ph-strip img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 60%);animation:kenburns 24s var(--ease-in) both}
.ph-strip .glass{position:absolute;left:12px;bottom:12px}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.14)}}
@media (max-width:760px){.page-hero{padding-top:84px}.page-hero .ph-body{grid-template-columns:1fr;gap:12px}}

/* home: services teaser */
.svc-teaser{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--graphite)}
.svc-teaser a{display:flex;flex-direction:column;gap:12px;padding:18px 18px 24px 0;border-right:1px solid var(--mist);min-height:240px;transition:background-color .3s var(--ease-in)}
.svc-teaser a + a{padding-left:18px}
.svc-teaser a:last-child{border-right:0}
.svc-teaser .mono{color:var(--ash);display:flex;justify-content:space-between}
.svc-teaser h3{margin:auto 0 0;font-size:24px;line-height:1.05;letter-spacing:-.03em;font-weight:500}
.svc-teaser p{margin:0;color:var(--stone);font-size:15px;line-height:1.3}
.svc-teaser .arr{transition:transform .5s var(--ease-in),color .3s}
.svc-teaser a:hover .arr{transform:translateX(6px);color:#76602f}
.svc-teaser a:hover .mono span:first-child{color:#76602f}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:36px;font-size:21px;letter-spacing:-.02em;border-bottom:1px solid var(--graphite);padding-bottom:2px;transition:gap .5s var(--ease-in)}
.more:hover{gap:16px}
.dark .more{border-color:var(--fog)}

/* ---- GSAP layer (html.gsap-on is set by site.js when motion is allowed) ---- */
html.gsap-on{scroll-behavior:auto}
.gsap-on .rv{transition:none}
.has-smoother .stage{position:relative;top:auto}
.gsap-on .ph-strip img{animation:none;will-change:transform}
.gsap-on .standards .ghost-title{transition:none}
.gsap-on .steps-bar{transition:none;transform:scaleX(0)}
.gsap-on .btn:hover{transform:none}
.gsap-on .nav{will-change:transform}
.gsap-on .faq .ans{overflow:hidden}
[class$="line-mask"]{padding-bottom:.16em!important;margin-bottom:-.16em!important}
@media (orientation: portrait) and (max-width: 900px){.frame .media{background-image:url('hero-poster-mobile.jpg?v=1792338342')}}
/* pointer glow (mouse) + touch glow (finger) */
.cur-glow,.cur-dot,.touch-glow{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;opacity:0;will-change:transform,opacity}
.cur-glow{width:240px;height:240px;margin:-120px 0 0 -120px;background:radial-gradient(circle,rgba(200,169,107,.32) 0%,rgba(200,169,107,.12) 38%,rgba(200,169,107,0) 70%);filter:blur(14px);mix-blend-mode:screen}
.cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--ember);box-shadow:0 0 12px 2px rgba(200,169,107,.6)}
.touch-glow{width:110px;height:110px;margin:-55px 0 0 -55px;background:radial-gradient(circle,rgba(200,169,107,.55) 0%,rgba(200,169,107,.2) 40%,rgba(200,169,107,0) 72%);filter:blur(6px)}
.on-light-glow .cur-glow{mix-blend-mode:multiply;background:radial-gradient(circle,rgba(200,169,107,.38) 0%,rgba(200,169,107,.14) 38%,rgba(200,169,107,0) 70%)}
/* contrast: darker grey/gold on light surfaces, lighter grey on dark ones */
:root{--stone:#69686b}
.dark,.page-hero,.stage,footer,.mock,.card,.lock{--stone:#a2a1a4}
.next-cta{background:var(--paper);padding:72px 0 96px}

/* google reviews */
.reviews{background:var(--fog);padding:96px 0}
.rev-grid{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:start}
.rev-sum .score{display:flex;align-items:flex-end;gap:18px;margin-top:18px}
.rev-sum .big{font-family:var(--f-display);font-size:clamp(96px,11vw,150px);line-height:.74;padding-top:.08em;background:var(--sun);-webkit-background-clip:text;background-clip:text;color:transparent}
.stars{display:inline-flex;gap:3px}
.stars svg{width:18px;height:18px;fill:var(--ember)}
.rev-sum .meta{display:flex;flex-direction:column;gap:8px;padding-bottom:6px}
.rev-sum .meta .mono{color:var(--stone)}
.rev-sum .btn{margin-top:28px}
.rev-list{display:grid;gap:12px}
.rev{background:var(--white);padding:24px;border-top:2px solid var(--ember);display:flex;flex-direction:column;gap:18px}
.rev .top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--stone)}
.rev blockquote{margin:0;font-size:clamp(19px,1.8vw,24px);line-height:1.3;letter-spacing:-.02em;color:var(--graphite)}
.rev .who{display:flex;align-items:center;gap:12px}
.rev .av{width:36px;height:36px;border-radius:50%;background:var(--onyx);color:var(--ember);display:grid;place-items:center;font-family:var(--f-mono);font-weight:600;font-size:14px}
.rev .who b{font-weight:500;font-size:17px;display:block}
.rev .who .mono{color:var(--stone)}
.rev blockquote.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rev blockquote.open{display:block;-webkit-line-clamp:unset}
.rev .more-btn{align-self:flex-start;margin-top:-8px;background:none;border:0;padding:0;cursor:pointer;color:#76602f;text-decoration:underline;text-underline-offset:3px}
.rev .more-btn[hidden]{display:none}
.rev .role-link{display:inline-block;text-decoration:underline;text-decoration-color:var(--mist);text-underline-offset:3px;transition:color .3s,text-decoration-color .3s}
.rev .role-link:hover{color:#76602f;text-decoration-color:var(--ember)}
@media (max-width:860px){.rev-grid{grid-template-columns:1fr;gap:24px}.reviews{padding:72px 0}}
.nav.scrolled:not(.on-light){background:rgba(22,22,22,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.next-cta .card.c-cta{grid-column:auto}
.next-cta .work-note{margin-top:18px}

/* customer voice (testimonial video) */
.voice-grid{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:center}
.phone{position:relative;width:min(100%,400px);aspect-ratio:9/16;max-height:80vh;margin:0 auto;border-radius:28px;overflow:hidden;background:#000;border:6px solid #0b0b0b;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.phone video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.phone .play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12%;gap:14px;border:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(22,22,22,0) 40%,rgba(22,22,22,.55));transition:opacity .4s var(--ease-in)}
.phone .play .ring{width:78px;height:78px;border-radius:50%;background:var(--ember);display:grid;place-items:center;transition:transform .5s var(--ease-in);box-shadow:0 0 0 10px rgba(200,169,107,.22)}
.phone .play .ring svg{width:26px;height:26px;margin-left:4px;fill:var(--onyx)}
.phone .play:hover .ring{transform:scale(1.08)}
.phone .play .mono{color:var(--fog);background:rgba(22,22,22,.6);padding:2px 8px}
.phone.playing .play{opacity:0;pointer-events:none}
.phone .tag-top{position:absolute;left:12px;top:12px;transition:opacity .4s}
.phone.playing .tag-top{opacity:0}
.voice-text .h-lg{margin:18px 0 0;max-width:16ch}
.voice-text .lead{margin-top:18px;max-width:46ch}
.voice-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line-dark)}
.voice-facts div{padding:12px 12px 0 0}
.voice-facts .mono{display:block;color:var(--stone);margin-bottom:6px}
.voice-facts b{font-weight:500;font-size:17px;color:var(--fog)}
.voice-text .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:36px}
.voice-rev{grid-template-columns:7fr 5fr;margin-top:120px;padding-top:96px;border-top:1px solid var(--line-dark)}
.voice-rev .vid-col{order:2}
@media (max-width:860px){.voice-grid{grid-template-columns:1fr;gap:36px}.phone{width:min(100%,340px)}.voice-rev{margin-top:72px;padding-top:72px}.voice-rev .vid-col{order:0}}
@media (max-width:520px){.voice-facts{grid-template-columns:1fr}.voice-facts div{padding:12px 0;border-bottom:1px solid var(--line-dark)}}

/* phone hero: scroll film, near full-width frame */
@media (max-width:760px){
  .stage{--fx:16px}
  .frame{--ft:calc(64px + 19.6vw * .82 + 76px)}
  .hero-meta{flex-direction:column;gap:6px;top:calc(64px + 19.6vw * .82 + 12px)}
  .band{padding-bottom:max(36px, 7svh)}
  .band h2{font-size:clamp(34px,9.5vw,44px);max-width:none}
  .band p{font-size:17px}
  .band .row .btn{padding:11px 14px}
  .frame-hud .tl .glass{max-width:60vw;overflow:hidden;white-space:nowrap}
  .cue{bottom:64px}
}

/* legal pages */
.legal{padding:96px 0 120px}
.legal .grid{display:grid;grid-template-columns:1fr 2fr;gap:24px}
.legal aside .mono{color:var(--stone);position:sticky;top:96px;display:flex;flex-direction:column;gap:6px}
.legal aside a{color:var(--graphite)}
.legal aside a:hover{color:#76602f}
.legal article{max-width:68ch}
.legal article .intro{font-size:21px;line-height:1.25;letter-spacing:-.02em;color:var(--graphite);margin:0 0 24px}
.legal h2{display:flex;align-items:baseline;gap:18px;margin:36px 0 12px;padding-top:14px;border-top:1px solid var(--mist);font-size:clamp(22px,2.2vw,28px);line-height:1.1;letter-spacing:-.03em;font-weight:500}
.legal h2:first-child{margin-top:0}
.legal h2 .mono{color:#76602f;min-width:24px}
.legal p,.legal li{font-size:17px;line-height:1.5;color:var(--graphite);letter-spacing:-.005em}
.legal p{margin:0 0 12px}
.legal ul{margin:0 0 12px;padding-left:20px}
.legal li{margin:4px 0}
.legal li::marker{color:var(--ember)}
.legal a{text-decoration:underline;text-decoration-color:var(--mist);text-underline-offset:3px}
.legal a:hover{text-decoration-color:var(--ember)}
@media (max-width:860px){.legal{padding:60px 0 84px}.legal .grid{grid-template-columns:1fr}.legal aside .mono{position:static;flex-direction:row;flex-wrap:wrap;gap:12px}}

/* reference browser mockups (scrollable) */
.mock-card{grid-column:span 3;display:flex;flex-direction:column;gap:12px}
.mock{background:var(--onyx);border-radius:10px;overflow:hidden;border:1px solid #000}
.mock .bar{height:34px;display:grid;grid-template-columns:60px 1fr 60px;align-items:center;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.mock .dots{display:flex;gap:6px}
.mock .dots i{width:9px;height:9px;border-radius:50%;background:#3c3a3e}
.mock .url{justify-self:center;display:flex;align-items:center;gap:6px;color:var(--ash);background:rgba(255,255,255,.06);border-radius:9999px;padding:4px 12px;max-width:100%;overflow:hidden;white-space:nowrap}
.mock .screen{position:relative;aspect-ratio:16/10.5;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-width:none;cursor:ns-resize;background:#111}
.mock .screen::-webkit-scrollbar{display:none}
.mock .screen img{width:100%;height:auto;display:block}
.mock .track{position:absolute;right:6px;top:40px;bottom:6px;width:3px;background:rgba(255,255,255,.12);border-radius:3px;pointer-events:none}
.mock .track i{display:block;width:100%;height:18%;background:var(--ember);border-radius:3px;transform:translateY(calc(var(--sp,0) * 455%))}
.mock-wrap{position:relative}
.mock{position:relative}
.mock .count{justify-self:end;color:var(--ash);font-variant-numeric:tabular-nums;transition:color .3s}
.mock-wrap.ticking .count{color:var(--ember)}
.mock-wrap.locked .count{opacity:.35}
.mock .pix{position:absolute;left:0;right:0;top:35px;bottom:0;width:100%;height:calc(100% - 35px);image-rendering:pixelated;opacity:0;pointer-events:none;transition:opacity .9s var(--ease-in)}
.mock .lock{position:absolute;left:0;right:0;top:35px;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:radial-gradient(ellipse at center, rgba(22,22,22,.55), rgba(22,22,22,.2) 70%);opacity:0;visibility:hidden;transition:opacity .7s var(--ease-in) .25s, visibility 0s .95s}
.mock .lock-kicker{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.85);background:rgba(22,22,22,.6);padding:2px 8px}
.mock .lock-note{min-height:16px;color:rgba(255,255,255,.85);background:rgba(22,22,22,.6);padding:0 8px}
.mock .lock-note:empty{background:none}
.mock-wrap.locked .pix{opacity:1}
.mock-wrap.locked .lock{opacity:1;visibility:visible;transition:opacity .7s var(--ease-in) .25s, visibility 0s}
.mock-wrap.locked .screen{overflow:hidden;cursor:default}
.mock-wrap.locked .track{opacity:0}
.mock-wrap .hint{white-space:nowrap;position:absolute;left:50%;bottom:14px;transform:translateX(-50%);transition:opacity .5s var(--ease-in);pointer-events:none;background:rgba(22,22,22,.7)}
.mock-wrap.used .hint{opacity:0}
.mock-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:6px;border-top:1px solid var(--mist)}
.mock-meta .mt{margin:0;font-size:clamp(24px,2.6vw,36px);line-height:1;letter-spacing:-.03em;font-weight:500}
.mock-meta .sub{color:#636265;font-size:15px;margin-top:6px}
.mock-meta .tags{justify-content:flex-end}
@media (max-width:860px){.mock-card{grid-column:span 2}}
@media (max-width:520px){.mock-card{grid-column:auto}.mock .screen{aspect-ratio:4/5}.mock-meta{flex-direction:column}.mock-meta .tags{justify-content:flex-start}}
.page-hero .monument .ch{padding-top:.16em}
.page-hero .monument{margin-top:-.1em}
.dark + .footer-cta{border-top:1px solid var(--line-dark)}
@media (max-width:1000px){
  .svc-teaser{grid-template-columns:1fr 1fr}
  .svc-teaser a,.svc-teaser a + a{padding:18px 18px 24px 0;border-right:0;border-bottom:1px solid var(--mist);min-height:180px}
  .svc-teaser a:nth-child(odd){border-right:1px solid var(--mist)}
  .svc-teaser a:nth-child(even){padding-left:18px}
}
@media (max-width:520px){
  .svc-teaser{grid-template-columns:1fr}
  .svc-teaser a,.svc-teaser a + a,.svc-teaser a:nth-child(even){padding:18px 0 24px;border-right:0;min-height:0}
  .svc-teaser h3{margin-top:12px}
}

/* home: about teaser */
.about-teaser{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:end}
.about-teaser .portrait{aspect-ratio:1/1}
.about-teaser .quote{margin-top:18px;border-top:0;padding-top:0;font-size:clamp(28px,3.4vw,48px);max-width:20ch}
@media (max-width:760px){.about-teaser{grid-template-columns:1fr}.about-teaser .portrait{max-width:280px}}

/* footer CTA (every page) */
.footer-cta{padding:120px 0 0;overflow:hidden}
.footer-cta .fc{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end}
.footer-cta .row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
@media (max-width:860px){.footer-cta{padding-top:84px}.footer-cta .fc{grid-template-columns:1fr;gap:24px}.footer-cta .row{justify-content:flex-start}}
.foot-links{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:24px;padding:36px 0;border-top:1px solid var(--line-dark)}
.foot-links .fh{display:block;margin:0 0 12px;color:var(--ash);font-weight:500}
.foot-links a{display:block;color:var(--fog);font-family:var(--f-body);text-transform:none;font-size:17px;letter-spacing:-.01em;padding:3px 0}
.foot-links a:hover{color:var(--peach)}
@media (max-width:760px){.foot-links{grid-template-columns:1fr 1fr}}

