:root{--paper:#f3f0e9;--ink:#0b0b0a;--line:rgba(11,11,10,.16);--sans:"Century Gothic",CenturyGothic,Arial,sans-serif;--serif:"New Baskerville","Baskerville Old Face",Baskerville,Georgia,serif;--mono:"Century Gothic",CenturyGothic,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit}.skip{position:fixed;top:-60px;z-index:100}.skip:focus{top:10px}.label,.bar{font:400 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.wordmark{font-size:clamp(28px,2.2vw,39px);letter-spacing:-.075em;text-decoration:none;font-weight:500}.descriptor{margin:0;padding-left:24px;border-left:1px solid var(--line);font:400 9px/1.45 var(--mono);letter-spacing:.13em;text-transform:uppercase}.star{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;text-decoration:none}.hero{min-height:545px;display:grid;grid-template-columns:5.8vw minmax(0,61vw) 1fr;border-bottom:1px solid var(--line)}aside{position:relative;border-right:1px solid var(--line);font:400 9px/1.6 var(--mono);text-transform:uppercase}aside b{position:absolute;top:38px;left:1.8vw}aside span{position:absolute;top:50%;left:50%;width:175px;transform:translate(-50%,-50%) rotate(-90deg);text-align:center}aside small{position:absolute;bottom:25px;left:1.4vw}.hero-copy{padding:32px 4.7vw 32px 2.6vw;display:flex;flex-direction:column;justify-content:space-between}.hero h1{margin:4px 0 12px;font:700 clamp(58px,7.2vw,126px)/.92 var(--sans);letter-spacing:-.075em}.hero em,.approach em,.about em{font-family:var(--serif);font-weight:400}.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.hero-foot p{margin:0;font-size:clamp(16px,1.25vw,21px)}.hero-foot p:before{content:"";display:block;width:28px;border-top:1px solid var(--line);margin-bottom:18px}.arrow{display:flex;gap:25px;align-items:center;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.arrow span{font-size:28px}.planner{position:relative;overflow:hidden;border-left:1px solid var(--line)}.photo{position:absolute;inset:32px 0 20px 34%;background:radial-gradient(circle at 70% 30%,#eee,transparent 25%),linear-gradient(135deg,#b8ad9f,#e3ded5 44%,#8e8376)}.photo:after{content:"";position:absolute;width:300px;height:430px;right:-100px;bottom:-80px;border-radius:47% 47% 12% 12%;background:linear-gradient(125deg,#6d645b,#d4cec4 38%,#8b8176);transform:rotate(-13deg)}.planner article{position:absolute;z-index:2;width:min(355px,82%);left:8%;top:104px;background:#f8f6f1;box-shadow:0 -10px 22px -16px rgba(11,11,10,.34),0 15px 34px #0002;padding:38px 35px 0}.planner article h2{margin:30px 0 25px;font:400 clamp(35px,2.5vw,49px)/.98 var(--serif)}.planner article hr{width:30px;margin:0 0 25px;border:0;border-top:1px solid var(--line)}.planner article>p:last-of-type{font:400 9px/1.75 var(--mono);text-transform:uppercase;margin-bottom:30px}.planner article>a{margin:0 -35px;padding:19px 35px;background:#0b0b0a;color:#f3f0e9;display:flex;justify-content:space-between;font:400 9px/1 var(--mono);text-transform:uppercase;text-decoration:none}.roundel{position:absolute;z-index:3;top:-36.77px;right:24px;width:64px;height:64px;background:url("/assets/planner-card-clip.webp") center/contain no-repeat;display:block;font-size:0;pointer-events:none}.work{padding:0 5.8vw;border-bottom:1px solid var(--line)}.bar{height:48px;display:flex;justify-content:space-between;align-items:center}.bar a{text-decoration:none}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-bottom:18px}.project{min-height:330px;padding:22px;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}.project:before,.project:after{content:"";position:absolute;inset:0;z-index:-2;transition:transform .7s}.project:after{z-index:-1;background:linear-gradient(to top,#000c,#0001 65%,#0005)}.project:hover:before{transform:scale(1.04)}.hope:before{background:radial-gradient(circle at 50% 75%,#a99582 0 14%,transparent 38%),linear-gradient(135deg,#151311,#403c36 55%,#111)}.jenna:before{background:radial-gradient(ellipse at 70% 70%,#b7a08d 0 8%,transparent 32%),linear-gradient(115deg,#28231f,#80776b 52%,#2a2521)}.squishy:before{background:radial-gradient(circle at 67% 44%,#777 0 11%,transparent 12%),linear-gradient(110deg,#050505,#2b2b2b 54%,#050505)}.project>b,.project>span,.project p{font:400 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em}.project h2{margin:0;text-align:center;font:400 clamp(35px,4vw,68px)/.9 var(--serif)}.project p{text-align:center;letter-spacing:.3em}.project>span{text-align:right}.more{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.more a{padding:22px 0;font:400 10px/1 var(--mono);text-transform:uppercase;text-decoration:none}.approach,.about{padding:clamp(70px,10vw,150px) 7.3vw;border-bottom:1px solid var(--line)}.intro{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin:55px 0 75px}.intro h2,.about h2{margin:0;font:700 clamp(54px,7.5vw,125px)/.9 var(--sans);letter-spacing:-.07em}.intro>p,.about>div>p{font-size:18px;line-height:1.55}.approach ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.approach li{padding:25px 25px 10px 0}.approach li:not(:last-child){border-right:1px solid var(--line);margin-right:25px}.approach li b{font:400 9px/1 var(--mono)}.approach h3{margin:65px 0 15px;font:400 27px/1 var(--serif)}.approach li p{font-size:13px;line-height:1.6}.about h2{margin:60px 0}.about>div{display:flex;justify-content:flex-end;align-items:end;gap:10vw}.about>div>p{max-width:490px}.cookie-banner{position:fixed;z-index:90;left:20px;bottom:20px;max-width:620px;padding:18px;background:#0b0b0a;color:#fff;display:none;gap:20px}.cookie-banner[aria-hidden=false]{display:flex}.cookie-btn{padding:8px;border:1px solid #fff}.ghost{background:#000;color:#fff}@media(max-width:760px){.descriptor,.star{display:none}.hero{display:block}.hero aside{display:none}.hero-copy{min-height:520px;padding:28px 20px}.hero h1{font-size:clamp(52px,16vw,76px);margin:30px 0}.hero-foot p{font-size:14px}.planner{min-height:520px;border-top:1px solid var(--line)}.planner article{left:20px;width:calc(100% - 60px)}.roundel{right:10px}.work{padding:0 20px}.projects,.more{grid-template-columns:1fr}.project{min-height:365px}.approach,.about{padding:75px 20px}.intro{display:block}.intro h2,.about h2{font-size:clamp(56px,17vw,86px);margin-bottom:40px}.approach ol{grid-template-columns:1fr}.approach li,.approach li:not(:last-child){border-right:0;border-bottom:1px solid var(--line);margin:0;padding:25px 0}.approach h3{margin:25px 0 10px}.about>div{display:block}.about .arrow{margin-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Approved dark register - warm black, champagne highlights and restrained atmospheric depth. */
.approach,.about{--dark:#080807;--cream:#eee7dc;--champagne:#d7bda3;--darkline:rgba(238,231,220,.16);position:relative;overflow:hidden;background:var(--dark);color:var(--cream)}
.approach:before,.about:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 72% 58% at 78% 6%,rgba(198,151,108,.14) 0,rgba(198,151,108,.055) 36%,transparent 72%),radial-gradient(ellipse 58% 72% at 3% 94%,rgba(215,189,163,.08) 0,rgba(198,151,108,.025) 42%,transparent 74%),radial-gradient(ellipse 82% 92% at 112% 118%,transparent 0 47.8%,rgba(215,189,163,.085) 48%,transparent 48.35%,transparent 58%,rgba(215,189,163,.05) 58.2%,transparent 58.55%,transparent 68%,rgba(215,189,163,.028) 68.2%,transparent 68.55%);opacity:.82}
.approach>*,.about>*{position:relative;z-index:1}
.approach .label,.about .label{color:var(--champagne);letter-spacing:.18em}
.approach .label:after,.about .label:after{content:"";display:inline-block;width:38px;margin-left:18px;border-top:1px solid rgba(215,189,163,.35);vertical-align:middle}
.intro h2,.about h2{color:#f4f1ec}
.intro h2 em,.about h2 em{color:var(--champagne)}
.intro>p,.about>div>p{color:rgba(238,231,220,.68)}
.approach ol{border-color:var(--darkline)}
.approach li{min-height:285px;position:relative;border-color:var(--darkline)!important}
.approach li:after{content:"\2733";position:absolute;right:24px;top:23px;color:rgba(215,189,163,.3);font-size:13px}
.approach li b{color:var(--champagne);letter-spacing:.14em}
.approach h3{color:#f4f1ec}
.approach li p{color:rgba(238,231,220,.58)}
.about{border-top:1px solid var(--darkline)}
.about .arrow{color:var(--champagne);border-bottom:1px solid rgba(215,189,163,.55);padding-bottom:9px}
.projects{background:#080807;margin:0 -5.8vw;padding:15px 5.8vw 22px;position:relative}
.projects:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(188,143,102,.1),transparent 42%);pointer-events:none}
.project{border:1px solid rgba(238,231,220,.12);box-shadow:inset 0 1px rgba(255,255,255,.04)}
@media(max-width:760px){.projects{margin:0 -20px;padding:15px 20px 22px}.approach li{min-height:0}}

/* Persistent homepage studio rail */
@media(min-width:761px){
  .hero>aside{position:fixed;z-index:20;left:0;top:88px;bottom:0;width:5.8vw;min-width:64px;background:#f3f0e9;backdrop-filter:blur(10px);border-right:1px solid var(--line);transition:top .42s cubic-bezier(.16,1,.3,1)}
  .hero{grid-template-columns:5.8vw minmax(0,61vw) 1fr}
  .work,.approach,.about{width:calc(100% - 5.8vw);margin-left:5.8vw}
}

/* Keep hero grid placement stable when the rail is taken out of document flow. */
@media(min-width:761px){
  .hero-copy{grid-column:2}
  .planner{grid-column:3}
}



/* Editorial motion layer */
.motion-ready .hero-copy>.label,.motion-ready .hero h1,.motion-ready .hero-foot,.motion-ready .planner{opacity:0;transform:translateY(22px);filter:blur(8px)}
.motion-ready .hero h1 em{display:inline-block;opacity:0;transform:translateY(18px)}
.motion-ready .page-entered .hero-copy>.label,.motion-ready .page-entered .hero h1,.motion-ready .page-entered .hero-foot,.motion-ready .page-entered .planner{opacity:1;transform:translateY(0);filter:blur(0);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .9s ease}
.motion-ready .page-entered .hero h1{transition-delay:.12s}.motion-ready .page-entered .hero h1 em{opacity:1;transform:none;transition:opacity .9s .58s ease,transform .9s .58s cubic-bezier(.16,1,.3,1)}.motion-ready .page-entered .hero-foot{transition-delay:.34s}.motion-ready .page-entered .planner{transition-delay:.26s}
.motion-item{opacity:0;transform:translateY(28px);filter:blur(5px)}.motion-item.motion-in{opacity:1;transform:translateY(0);filter:blur(0);transition:opacity .8s var(--reveal-delay,0ms) ease,transform .85s var(--reveal-delay,0ms) cubic-bezier(.16,1,.3,1),filter .8s var(--reveal-delay,0ms) ease}
.hero>aside>b,.hero>aside>span{transition:opacity .15s ease,filter .15s ease}.hero>aside .rail-changing{opacity:0;filter:blur(4px)}
.planner article{transform:translateY(var(--parallax-y,0));transition:transform .18s linear}.planner .photo{transform:translateY(var(--parallax-y,0)) scale(1.05);transition:transform .18s linear}.planner .roundel{transform:none;transition:none}
.project{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .22s ease,border-color .25s ease}.project:hover{border-color:rgba(215,189,163,.5)}
.arrow span,.bar a{transition:transform .3s cubic-bezier(.16,1,.3,1)}.arrow:hover span{transform:translateX(8px)}.bar a:hover{transform:translateX(5px)}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-copy>.label,.motion-ready .hero h1,.motion-ready .hero h1 em,.motion-ready .hero-foot,.motion-ready .planner,.motion-item{opacity:1!important;transform:none!important;filter:none!important}.planner article,.planner .photo,.planner .roundel,.project{transform:none!important}}

/* Signature scattered-type hero entrance */
.motion-ready .hero h1{overflow:visible}
.motion-ready .hero h1 .scatter-char{display:inline-block;opacity:0;filter:blur(12px);transform:translate3d(var(--scatter-x),var(--scatter-y),0) rotate(var(--scatter-r)) scale(.72);transform-origin:center;will-change:transform,opacity,filter}
.motion-ready .page-entered .hero h1{opacity:1;transform:none;filter:none;transition:none}
.motion-ready .page-entered .hero h1 .scatter-char{opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotate(0) scale(1);transition:transform 1.45s cubic-bezier(.16,.82,.18,1),opacity .75s ease,filter 1.05s ease;transition-delay:calc(100ms + var(--scatter-delay))}
.motion-ready .page-entered .hero h1 em{opacity:1;transform:none;transition:none}

@media(prefers-reduced-motion:reduce){.motion-ready .hero h1 .scatter-char{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}

body{overflow-x:hidden}

/* Purposeful icon language: directional action. The planner card uses the supplied accent artwork, aligned precisely to its top edge. */
.star{font-family:var(--sans);font-size:20px}.star span{display:block;transform:translate(-1px,1px);transition:transform .3s cubic-bezier(.16,1,.3,1)}.star:hover span{transform:translate(2px,-2px)}


/* Blueprint cursor - fine crosshair at rest, editorial action label on hover. */
@media(hover:hover) and (pointer:fine){
  html.cursor-design-ready body,html.cursor-design-ready a,html.cursor-design-ready button{cursor:none}
  .design-cursor{position:fixed;z-index:120;left:0;top:0;width:22px;height:22px;border:1px solid rgba(11,11,10,.52);border-radius:50%;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),margin .35s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s ease,opacity .2s ease;display:grid;place-items:center;mix-blend-mode:multiply}
  .design-cursor:before,.design-cursor:after{content:"";position:absolute;left:50%;top:50%;background:#9f7857;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,opacity .25s ease}
  .design-cursor:before{width:8px;height:1px}.design-cursor:after{width:1px;height:8px}
  .design-cursor.is-visible{opacity:1}
  .design-cursor.is-action{width:76px;height:76px;margin:-27px 0 0 -27px;background:#f3f0e9;border-color:rgba(11,11,10,.18);box-shadow:0 9px 28px rgba(11,11,10,.1);backdrop-filter:blur(8px);mix-blend-mode:normal}
  .design-cursor.is-action:before,.design-cursor.is-action:after{opacity:0}
  .design-cursor.is-dark{background:rgba(8,8,7,.9);border-color:rgba(238,231,220,.2);color:#eee7dc}
  .design-cursor-label{opacity:0;transform:translateY(3px);font:400 8px/1.1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;max-width:58px;transition:opacity .2s ease,transform .25s ease;color:inherit}
  .design-cursor.is-action .design-cursor-label{opacity:1;transform:none}
}
@media(hover:none),(pointer:coarse){.design-cursor{display:none!important}}

/* Navigation keeps the precise cursor; labelled cursor is reserved for content. */
.site-header:hover~.design-cursor,.site-menu:hover~.design-cursor{width:22px;height:22px;margin:0;background:transparent;box-shadow:none}

/* Editorial cookies and privacy panel */
.cookie-banner.privacy-panel{position:fixed;z-index:110;left:24px;right:auto;bottom:24px;width:min(560px,calc(100vw - 48px));max-width:none;padding:0;display:none;grid-template-columns:1fr;background:#f3f0e9;color:#0b0b0a;border:1px solid rgba(11,11,10,.18);box-shadow:0 24px 70px rgba(11,11,10,.18);border-radius:0;overflow:hidden;align-items:stretch;gap:0}
.cookie-banner.privacy-panel[aria-hidden="false"]{display:grid;animation:privacy-panel-in .65s cubic-bezier(.16,1,.3,1) both}
@keyframes privacy-panel-in{from{opacity:0;transform:translateY(28px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.privacy-panel-head{padding:30px 32px 24px;border-bottom:1px solid rgba(11,11,10,.14)}
.privacy-panel-kicker{margin:0 0 18px!important;font:400 8px/1 var(--mono)!important;letter-spacing:.16em;text-transform:uppercase;color:#8c6545}
.privacy-panel-head h2{margin:0;font:700 clamp(31px,3vw,43px)/.95 var(--sans);letter-spacing:-.045em}.privacy-panel-head h2 em{font-family:var(--serif);font-weight:400}
.privacy-panel-tabs{display:flex;padding:0 32px;border-bottom:1px solid rgba(11,11,10,.14)}.privacy-panel-tabs button{appearance:none;padding:15px 0;margin-right:28px;border:0;border-bottom:2px solid transparent;background:none;font:400 8px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(11,11,10,.5);cursor:pointer}.privacy-panel-tabs button[aria-selected="true"]{color:#0b0b0a;border-color:#8c6545}
.privacy-panel-content{padding:24px 32px}.privacy-panel-content section[hidden]{display:none}.privacy-panel-content p{margin:0 0 17px!important;max-width:440px;font:400 13px/1.65 var(--sans)!important;color:#5f5a53}.privacy-panel-content a{display:inline-flex;gap:15px;align-items:center;font:400 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(11,11,10,.3);padding-bottom:5px}.privacy-panel-content a span{font-size:17px}
.cookie-banner .privacy-panel-actions{display:grid;grid-template-columns:1fr;gap:0}.cookie-banner .privacy-panel-actions .cookie-btn{min-height:55px;border:0;border-top:1px solid rgba(11,11,10,.16);border-radius:0;font:400 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.cookie-banner .privacy-panel-actions .cookie-btn.ghost{background:#f3f0e9;color:#0b0b0a}.cookie-banner .privacy-panel-actions .cookie-btn:last-child{background:#0b0b0a;color:#eee7dc}
@media(max-width:600px){.cookie-banner.privacy-panel{left:10px;right:10px;bottom:10px;width:auto}.privacy-panel-head{padding:23px 22px 19px}.privacy-panel-tabs{padding:0 22px}.privacy-panel-content{padding:20px 22px}.privacy-panel-head h2{font-size:32px}.cookie-banner .privacy-panel-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cookie-banner.privacy-panel[aria-hidden="false"]{animation:none}}

/* Compact consent card */
.cookie-banner.privacy-panel{width:min(410px,calc(100vw - 36px));left:18px;bottom:18px}
.privacy-panel-head{padding:20px 22px 16px}.privacy-panel-kicker{margin-bottom:11px!important}.privacy-panel-head h2{font-size:28px;line-height:.98}
.privacy-panel-tabs{padding:0 22px}.privacy-panel-tabs button{padding:11px 0;margin-right:22px}
.privacy-panel-content{padding:16px 22px 18px}.privacy-panel-content p{font-size:12px!important;line-height:1.5;margin-bottom:11px!important}.privacy-panel-content a{font-size:7px;padding-bottom:3px}.privacy-panel-content a span{font-size:14px}
.cookie-banner .privacy-panel-actions .cookie-btn{min-height:45px;font-size:7px}
@media(max-width:600px){.cookie-banner.privacy-panel{left:8px;right:8px;bottom:8px;width:auto}.privacy-panel-head{padding:17px 18px 14px}.privacy-panel-head h2{font-size:25px}.privacy-panel-tabs{padding:0 18px}.privacy-panel-content{padding:14px 18px 16px}.cookie-banner .privacy-panel-actions{grid-template-columns:1fr 1fr}}

/* Native pointer restored: the labelled cursor obscured precise targets. */
html.cursor-ready body,html.cursor-design-ready body{cursor:auto!important}
html.cursor-ready a,html.cursor-ready button,html.cursor-design-ready a,html.cursor-design-ready button{cursor:pointer!important}
.cursor,.design-cursor{display:none!important}

/* Fine directional arrow: aligned to the true pointer with no label or enclosing shape. */
@media(hover:hover) and (pointer:fine){
  html.precision-cursor-ready body,html.precision-cursor-ready a,html.precision-cursor-ready button,html.precision-cursor-ready label,html.precision-cursor-ready select{cursor:none!important}
  html.precision-cursor-ready input,html.precision-cursor-ready textarea,html.precision-cursor-ready [contenteditable="true"]{cursor:text!important}
  .precision-arrow-cursor{position:fixed;z-index:2147483646;left:0;top:0;width:20px;height:20px;margin:-2px 0 0 -17px;pointer-events:none;opacity:0;color:#fff;transition:opacity .12s ease,filter .18s ease;mix-blend-mode:difference}
  .precision-arrow-cursor:before{content:"";position:absolute;left:2px;top:9px;width:15px;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:center}.precision-arrow-cursor:after{content:"";position:absolute;right:1px;top:1px;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
  .precision-arrow-cursor.is-visible{opacity:.9}.precision-arrow-cursor.is-hidden{opacity:0}.precision-arrow-cursor.is-interactive{filter:drop-shadow(0 0 2px rgba(255,255,255,.55))}
}
@media(hover:none),(pointer:coarse){.precision-arrow-cursor{display:none!important}}
/* SEO service section - editorial copy integrated into the visual system. */
.services{padding:clamp(75px,9vw,135px) 7.3vw;border-bottom:1px solid var(--line);background:var(--paper)}
.services>.label{letter-spacing:.18em}.services>.label:after{content:"";display:inline-block;width:38px;margin-left:18px;border-top:1px solid var(--line);vertical-align:middle}
.services-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;margin:55px 0 72px}.services-intro h2{margin:0;font:700 clamp(48px,6.3vw,105px)/.92 var(--sans);letter-spacing:-.065em}.services-intro h2 em{font-family:var(--serif);font-weight:400;color:#8c6545}.services-intro p{margin:0;font-size:17px;line-height:1.7;color:#666057}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{min-height:270px;padding:25px 24px 25px 0}.service-grid article:not(:last-child){border-right:1px solid var(--line);margin-right:24px}.service-grid b{font:400 9px/1 var(--mono);letter-spacing:.12em;color:#8c6545}.service-grid h3{margin:70px 0 16px;font:400 28px/1 var(--serif)}.service-grid p{font-size:13px;line-height:1.65;color:#666057}
.service-fit{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;padding-top:65px}.service-fit h3{margin:0;font:400 clamp(32px,3.4vw,52px)/1.03 var(--serif);max-width:760px}.service-fit p{margin:0;font-size:15px;line-height:1.7;color:#666057}.service-fit a{text-underline-offset:5px}
@media(max-width:760px){.services{padding:75px 20px}.services-intro,.service-fit{grid-template-columns:1fr;gap:30px}.services-intro h2{font-size:clamp(49px,14vw,72px)}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:not(:last-child){min-height:0;margin:0;padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}.service-grid h3{margin:24px 0 11px}.service-fit{padding-top:48px}}
/* Responsive type integrity: animated letters stay grouped into whole words. */
body,button,a,input,textarea,select,label,p,li,dt,dd,h1,h2,h3,h4,h5,h6{overflow-wrap:normal;word-break:normal;hyphens:none}
.scatter-word{display:inline-block;white-space:nowrap}
.hero h1,.intro h2,.about h2{max-width:100%;text-wrap:balance}
@media(max-width:420px){.hero h1{font-size:clamp(2.85rem,14vw,4rem);letter-spacing:-.065em}.intro h2,.about h2{font-size:clamp(3rem,15vw,4.5rem)}}
/* Keep the hero introduction as one coherent editorial sentence. */
.hero-foot p{max-width:52ch;line-height:1.35;text-wrap:pretty}
.hero-foot p em{display:inline-block;white-space:nowrap}
@media(max-width:420px){.hero-foot{align-items:flex-end}.hero-foot p{max-width:23rem}}@media(max-width:1100px){
  .hero-foot{display:grid;grid-template-columns:1fr;align-items:end;gap:22px}
  .hero-foot p{width:100%;max-width:46ch}
  .hero-foot .arrow{justify-self:end}
}
@media(max-width:760px){
  .hero-foot{gap:26px}
  .hero-foot p{max-width:32ch;font-size:clamp(15px,4.2vw,18px)}
}

.precision-arrow-cursor{display:none!important}
@media(hover:hover) and (pointer:fine){html,body{cursor:auto}a,button,label,select{cursor:pointer}input,textarea,[contenteditable="true"]{cursor:text}}



/* Editorial stationery planner background v2 */
.planner .photo{inset:0;background:linear-gradient(rgba(243,240,233,.08),rgba(243,240,233,.08)),url("/assets/planner-stationery-v2.webp") center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(11,11,10,.05);filter:saturate(.78) contrast(.96)}.planner .photo:after{display:none}.planner article{box-shadow:0 18px 46px rgba(54,45,36,.16),0 2px 8px rgba(54,45,36,.07)}@media(max-width:760px){.planner .photo{background-position:54% center}.planner article{top:88px}}
/* Dark sections without concentric arch lines */
.approach:before,.about:before{background:radial-gradient(ellipse 72% 58% at 78% 6%,rgba(198,151,108,.13) 0,rgba(198,151,108,.05) 36%,transparent 72%),radial-gradient(ellipse 58% 72% at 3% 94%,rgba(215,189,163,.065) 0,rgba(198,151,108,.02) 42%,transparent 74%)}
/* Premium warm-black paper material */
.approach,.about,.projects{background-color:#080807;background-image:linear-gradient(rgba(8,8,7,.84),rgba(8,8,7,.84)),url("/assets/dark-paper-v1.webp");background-size:cover;background-position:center;background-repeat:no-repeat}.approach,.about{background-attachment:scroll}

/* Approach cards without corner stars */
.approach li:after{display:none}
/* Editorial finishing pass v4 */
:root{--ease-editorial:cubic-bezier(.16,1,.3,1);--motion-fast:.28s;--motion-standard:.52s}a,button{transition-timing-function:var(--ease-editorial)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid #b99270;outline-offset:4px}.approach a:focus-visible,.about a:focus-visible,.projects a:focus-visible,footer a:focus-visible{outline-color:#d7bda3}.approach,.about,.projects,footer{background-image:linear-gradient(rgba(8,8,7,.86),rgba(8,8,7,.86)),url("/assets/dark-paper-v1.webp")}.work{position:relative;z-index:1;box-shadow:0 -14px 32px rgba(27,22,17,.055)}.approach{border-top:1px solid rgba(238,231,220,.1);box-shadow:0 -22px 48px rgba(8,8,7,.13)}.services{position:relative;box-shadow:0 -18px 42px rgba(8,8,7,.1)}.about{border-top:1px solid rgba(238,231,220,.11)}.arrow{transition:opacity var(--motion-fast) ease}.arrow:hover{opacity:.72}
@media(max-width:1100px) and (min-width:761px){.planner article{left:5%;width:90%;padding:34px 28px 0}.planner article>a{margin-right:-28px;margin-left:-28px;padding-right:28px;padding-left:28px}.planner .roundel{right:16px}}
@media(max-width:760px){.approach,.about,.projects{background-image:linear-gradient(rgba(8,8,7,.91),rgba(8,8,7,.91)),url("/assets/dark-paper-v1.webp")}.planner{min-height:560px}.planner article{top:82px;left:16px;width:calc(100% - 32px);padding:32px 26px 0}.planner article>a{margin-right:-26px;margin-left:-26px;padding-right:26px;padding-left:26px}.planner .roundel{right:14px}}
@media(prefers-reduced-motion:reduce){.arrow:hover{opacity:1}}

/* Approved case-study imagery */
.project:before{background-size:cover!important;background-repeat:no-repeat!important}
.project:after{background:linear-gradient(to top,rgba(8,8,7,.92),rgba(8,8,7,.12) 58%,rgba(8,8,7,.42)),linear-gradient(rgba(83,62,45,.13),rgba(83,62,45,.13))}
.project.hope:before{background-image:url("/assets/work/hope-wellbeing.webp");background-position:center}
.project.jenna:before{background-image:url("/assets/work/jennas-beauty-spot.webp");background-position:center 58%}
.project.squishy:before{background-image:url("/assets/work/the-squishy-bit.webp");background-position:center 42%}
.more{gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.more a{min-height:180px;padding:20px;display:flex;align-items:flex-end;position:relative;overflow:hidden;isolation:isolate;color:#f3f0e9;border:1px solid rgba(238,231,220,.13);line-height:1.35}
.more a:before,.more a:after{content:"";position:absolute;inset:0;z-index:-2;transition:transform .7s var(--ease-editorial)}
.more a:before{background-size:cover;background-repeat:no-repeat}
.more a:after{z-index:-1;background:linear-gradient(to top,rgba(8,8,7,.9),rgba(8,8,7,.12) 68%,rgba(8,8,7,.32)),linear-gradient(rgba(83,62,45,.1),rgba(83,62,45,.1))}
.more a:hover:before{transform:scale(1.035)}
.more a[href="/work/theseus-world.html"]:before{background-image:url("/assets/work/theseus-world.webp");background-position:center}
.more a[href="/work/clarelangley.html"]:before{background-image:url("/assets/work/clarelangley.webp");background-position:center}
.more a[href="/work/unicomp"]:before{background-image:url("/assets/work/unicomp/homepage.png");background-position:center}
@media(max-width:760px){.more{gap:12px;padding:16px 0}.more a{min-height:210px}.project.jenna:before{background-position:center}.project.squishy:before{background-position:center}}
/* Portfolio colour grade — approved warm editorial tint */
.project:before,.more a:before{filter:grayscale(.68) sepia(.3) saturate(.58) contrast(1.04) brightness(.78)}
.project:after{background:linear-gradient(to top,rgba(8,8,7,.94),rgba(8,8,7,.1) 56%,rgba(8,8,7,.46)),linear-gradient(135deg,rgba(183,143,105,.31),rgba(72,55,42,.24));background-blend-mode:normal,color}
.more a:after{background:linear-gradient(to top,rgba(8,8,7,.92),rgba(8,8,7,.08) 62%,rgba(8,8,7,.38)),linear-gradient(135deg,rgba(183,143,105,.3),rgba(72,55,42,.24));background-blend-mode:normal,color}
.project:hover:before,.more a:hover:before{filter:grayscale(.48) sepia(.22) saturate(.72) contrast(1.04) brightness(.84)}
@media(max-width:760px){.project:before,.more a:before{filter:grayscale(.72) sepia(.3) saturate(.54) contrast(1.02) brightness(.76)}}
/* Portfolio card refinement — quiet image windows, compact captions */
.project{padding:0;justify-content:flex-start;background:#080807}
.project:before{filter:grayscale(.48) sepia(.2) saturate(.7) contrast(1.02) brightness(.82)}
.project:after{background:linear-gradient(to top,rgba(8,8,7,.96) 0,rgba(8,8,7,.72) 18%,rgba(8,8,7,.04) 52%,rgba(8,8,7,.18) 100%),linear-gradient(135deg,rgba(178,140,105,.18),rgba(70,54,42,.12));background-blend-mode:normal,color}
.project>b{position:absolute;z-index:2;top:18px;left:18px}
.project>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:18px 18px 29px;display:flex;align-items:baseline;gap:10px}
.project h2{font-size:clamp(25px,2.2vw,36px);line-height:1;text-align:left;letter-spacing:-.02em}
.project p{margin:0;text-align:left;letter-spacing:.16em;color:rgba(243,240,233,.66)}
.project>span{position:absolute;z-index:3;right:18px;bottom:13px;color:rgba(243,240,233,.72);font-size:8px}
.project:hover:before{filter:grayscale(.34) sepia(.16) saturate(.82) contrast(1.02) brightness(.86);transform:scale(1.025)}
.more a:before{filter:grayscale(.5) sepia(.2) saturate(.68) contrast(1.02) brightness(.82)}
.more a:after{background:linear-gradient(to top,rgba(8,8,7,.92),rgba(8,8,7,.04) 64%,rgba(8,8,7,.2)),linear-gradient(135deg,rgba(178,140,105,.16),rgba(70,54,42,.1));background-blend-mode:normal,color}
@media(max-width:760px){.project:before,.more a:before{filter:grayscale(.52) sepia(.2) saturate(.66) contrast(1.02) brightness(.8)}.project>div{padding:18px 16px 31px}.project>span{right:16px}.project h2{font-size:30px}}
/* Portfolio image behaviour — monochrome to colour */
.project:after,.more a:after{background:linear-gradient(to top,rgba(8,8,7,.94),rgba(8,8,7,.04) 58%,rgba(8,8,7,.18));background-blend-mode:normal}
.project:before,.more a:before{filter:none;transition:transform .65s var(--ease-editorial),filter .55s ease}
@media(hover:hover) and (pointer:fine){.project:before,.more a:before{filter:grayscale(1) saturate(0) contrast(1.02) brightness(.82)}.project:hover:before,.project:focus-visible:before,.more a:hover:before,.more a:focus-visible:before{filter:grayscale(0) saturate(1) contrast(1) brightness(.9)}}
@media(max-width:760px){.project:before,.more a:before{filter:none}}
/* Secondary work — editorial index rather than compressed screenshot strip */
.more{display:grid;grid-template-columns:1fr;gap:0;margin:0 -5.8vw;padding:12px 5.8vw 34px;background:#080807;color:#f3f0e9;border-top:1px solid rgba(238,231,220,.13)}
.more a{min-height:112px;padding:0 26px 0 62px;display:flex;align-items:center;position:relative;overflow:hidden;border:0;border-bottom:1px solid rgba(238,231,220,.14);font:400 clamp(27px,3vw,48px)/1 var(--serif);text-transform:none;letter-spacing:-.025em;color:#f3f0e9;isolation:isolate}
.more a:before{left:auto;width:min(38%,430px);opacity:0;filter:grayscale(1) saturate(0) contrast(1.02) brightness(.72);transform:translateX(22px) scale(1.03);transition:opacity .38s ease,transform .65s var(--ease-editorial),filter .55s ease;mask-image:linear-gradient(to right,transparent,#000 24%);-webkit-mask-image:linear-gradient(to right,transparent,#000 24%)}
.more a:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(215,189,163,.06),transparent 45%);opacity:0;transition:opacity .3s ease}
.more a:nth-child(1){--work-index:"04"}.more a:nth-child(2){--work-index:"05"}.more a:nth-child(3){--work-index:"06"}
.more a::marker{content:""}
.more a span{display:none}
.more a:focus-visible{outline-offset:-4px}
.more a:hover:before,.more a:focus-visible:before{opacity:.76;filter:grayscale(0) saturate(.85) brightness(.78);transform:translateX(0) scale(1)}
.more a:hover:after,.more a:focus-visible:after{opacity:1}
.more a:nth-child(1):after,.more a:nth-child(2):after,.more a:nth-child(3):after{content:var(--work-index);display:flex;align-items:center;width:36px;right:auto;background:none;opacity:1;color:#d7bda3;font:400 9px/1 var(--mono);letter-spacing:.12em;z-index:1}
@media(max-width:760px){.more{margin:0 -20px;padding:8px 20px 24px}.more a{min-height:88px;padding-left:45px;padding-right:12px;font-size:clamp(25px,8vw,36px)}.more a:before{display:none}.more a:nth-child(1):after,.more a:nth-child(2):after,.more a:nth-child(3):after{width:28px}}
/* Portfolio showcase v2 — six equal-status case studies */
.projects.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 -5.8vw;padding:16px 5.8vw 48px;background:#080807}
.portfolio-grid .project{min-height:0;aspect-ratio:1.34;padding:0;background:#111;border:1px solid rgba(238,231,220,.16);box-shadow:0 18px 42px rgba(0,0,0,.18);overflow:hidden}
.portfolio-grid .project:before{inset:0 0 98px;background-size:cover!important;background-position:center!important;filter:none;transform:none}
.portfolio-grid .project:after{display:none}
.portfolio-grid .project>b{top:18px;left:18px;padding:7px 9px;background:rgba(8,8,7,.76);color:#f3f0e9;border:1px solid rgba(243,240,233,.18);backdrop-filter:blur(8px)}
.portfolio-grid .project>div{height:98px;bottom:0;padding:18px 20px;background:#0b0b0a;display:block;border-top:1px solid rgba(238,231,220,.15)}
.portfolio-grid .project h2{font:400 clamp(27px,2.5vw,42px)/.95 var(--serif);color:#f3f0e9;text-align:left;letter-spacing:-.025em}
.portfolio-grid .project p{margin:8px 0 0;color:rgba(243,240,233,.58);font:400 8px/1 var(--mono);letter-spacing:.11em;text-align:left;text-transform:uppercase}
.portfolio-grid .project>span{right:20px;bottom:20px;color:#d7bda3;font:400 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.portfolio-grid .theseus:before{background-image:url("/assets/work/theseus-world.webp")}
.portfolio-grid .clare:before{background-image:url("/assets/work/clarelangley.webp")}
.portfolio-grid .unicomp:before{background-image:url("/assets/work/unicomp/homepage.png")}
@media(hover:hover) and (pointer:fine){.portfolio-grid .project:before{filter:grayscale(1) saturate(0) contrast(1.03) brightness(.82);transition:filter .58s ease,transform .8s var(--ease-editorial)}.portfolio-grid .project:hover:before,.portfolio-grid .project:focus-visible:before{filter:grayscale(0) saturate(1) contrast(1) brightness(.96);transform:scale(1.018)}.portfolio-grid .project:hover,.portfolio-grid .project:focus-visible{border-color:rgba(215,189,163,.46)}}
@media(max-width:760px){.projects.portfolio-grid{grid-template-columns:1fr;margin:0 -20px;padding:14px 20px 34px;gap:14px}.portfolio-grid .project{aspect-ratio:auto;height:calc((100vw - 40px)/1.64 + 92px)}.portfolio-grid .project:before{inset:0 0 92px}.portfolio-grid .project>div{height:92px;padding:16px}.portfolio-grid .project h2{font-size:29px}.portfolio-grid .project>span{right:16px;bottom:17px}}
/* Portfolio previews — real images preserve every edge of the landing page */
.portfolio-grid .project{display:block!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important}
.portfolio-grid .project:before{display:none!important}
.portfolio-grid .project-preview{display:block;width:100%;height:auto;object-fit:contain;background:#111;transition:filter .58s ease,transform .8s var(--ease-editorial);transform-origin:center}
.portfolio-grid .project>div{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:98px}
@media(hover:hover) and (pointer:fine){.portfolio-grid .project-preview{filter:grayscale(1) saturate(0) contrast(1.03) brightness(.82)}.portfolio-grid .project:hover .project-preview,.portfolio-grid .project:focus-visible .project-preview{filter:grayscale(0) saturate(1) contrast(1) brightness(.96);transform:scale(1.006)}}
@media(max-width:760px){.portfolio-grid .project{height:auto!important}.portfolio-grid .project-preview{width:100%;height:auto;object-fit:contain}.portfolio-grid .project>div{height:92px}}
/* Mobile viewport containment - prevent animated type and grid children widening the page */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* Real-device viewport containment. */
@media(max-width:760px){
  html,body{min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}
  body{position:relative}
  main,main>section,.hero-copy,.planner,.planner article,.projects,.portfolio-grid,.project,.approach,.services,.about,footer{min-width:0;box-sizing:border-box}
  main,.hero,.hero-copy,.planner,.work,.projects,.approach,.services,.about,footer{overflow-x:hidden}
  .planner article{right:16px;left:16px;width:auto;max-width:none}
  .hero h1,.intro h2,.services-intro h2,.about h2{overflow:visible;max-width:100%}
  .scatter-char,.planner-scatter-char{max-width:100vw}
}

/* Tablet composition: prevent desktop structures crowding portrait tablets. */
@media(min-width:761px) and (max-width:1050px){
  .hero{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto minmax(540px,68vw)}
  .hero-copy{grid-column:2;grid-row:1;padding:42px 5vw 48px}
  .planner{grid-column:2;grid-row:2;min-height:540px;border-top:1px solid var(--line);border-left:0}
  .planner article{left:clamp(32px,8vw,76px);width:min(430px,72%)}
  .projects.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach ol,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach li:nth-child(2),.service-grid article:nth-child(2){border-right:0;margin-right:0}
  .approach li:nth-child(-n+2){border-bottom:1px solid rgba(238,231,220,.15)}
  .service-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .intro,.services-intro{grid-template-columns:1fr;gap:34px}
  .intro>p,.services-intro>p{max-width:620px}
}

/* Real-device viewport containment. */
@media(max-width:760px){
  html,body{min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}
  body{position:relative}
  main,main>section,.hero-copy,.planner,.planner article,.projects,.portfolio-grid,.project,.approach,.services,.about,footer{min-width:0;box-sizing:border-box}
  main,.hero,.hero-copy,.planner,.work,.projects,.approach,.services,.about,footer{overflow-x:hidden}
  .planner article{right:16px;left:16px;width:auto;max-width:none}
  .hero h1,.intro h2,.services-intro h2,.about h2{overflow:visible;max-width:100%}
  .scatter-char,.planner-scatter-char{max-width:100vw}
}

/* Tablet composition: prevent desktop structures crowding portrait tablets. */
@media(min-width:761px) and (max-width:1050px){
  .hero{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto minmax(540px,68vw)}
  .hero-copy{grid-column:2;grid-row:1;padding:42px 5vw 48px}
  .planner{grid-column:2;grid-row:2;min-height:540px;border-top:1px solid var(--line);border-left:0}
  .planner article{left:clamp(32px,8vw,76px);width:min(430px,72%)}
  .projects.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach ol,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach li:nth-child(2),.service-grid article:nth-child(2){border-right:0;margin-right:0}
  .approach li:nth-child(-n+2){border-bottom:1px solid rgba(238,231,220,.15)}
  .service-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .intro,.services-intro{grid-template-columns:1fr;gap:34px}
  .intro>p,.services-intro>p{max-width:620px}
}
main,.hero,.hero-copy,.hero-foot,.planner,.work,.projects,.project,.approach,.services,.about,footer{min-width:0}
.hero h1{width:100%;min-width:0}
@media(max-width:760px){
  main{width:100%;max-width:100%;overflow-x:hidden}
  .hero,.hero-copy,.planner,.work,.approach,.services,.about,footer{width:100%;max-width:100%}
  .hero-copy{overflow:hidden}
  .motion-ready .hero h1{overflow:visible}
}

/* Real-device viewport containment. */
@media(max-width:760px){
  html,body{min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}
  body{position:relative}
  main,main>section,.hero-copy,.planner,.planner article,.projects,.portfolio-grid,.project,.approach,.services,.about,footer{min-width:0;box-sizing:border-box}
  main,.hero,.hero-copy,.planner,.work,.projects,.approach,.services,.about,footer{overflow-x:hidden}
  .planner article{right:16px;left:16px;width:auto;max-width:none}
  .hero h1,.intro h2,.services-intro h2,.about h2{overflow:visible;max-width:100%}
  .scatter-char,.planner-scatter-char{max-width:100vw}
}

/* Tablet composition: prevent desktop structures crowding portrait tablets. */
@media(min-width:761px) and (max-width:1050px){
  .hero{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto minmax(540px,68vw)}
  .hero-copy{grid-column:2;grid-row:1;padding:42px 5vw 48px}
  .planner{grid-column:2;grid-row:2;min-height:540px;border-top:1px solid var(--line);border-left:0}
  .planner article{left:clamp(32px,8vw,76px);width:min(430px,72%)}
  .projects.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach ol,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach li:nth-child(2),.service-grid article:nth-child(2){border-right:0;margin-right:0}
  .approach li:nth-child(-n+2){border-bottom:1px solid rgba(238,231,220,.15)}
  .service-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .intro,.services-intro{grid-template-columns:1fr;gap:34px}
  .intro>p,.services-intro>p{max-width:620px}
}
@media(max-width:420px){
  .hero h1{font-size:clamp(2.6rem,13vw,3.5rem);letter-spacing:-.06em}
}

/* Messaging clarity and customer-journey showcase — controlled refinement */
.hero-proposition{align-items:flex-end}.hero-proposition>div:first-child{max-width:58ch}.hero-proposition>div:first-child>p:first-child{font-size:clamp(16px,1.2vw,20px);line-height:1.45}.hero-support{margin:12px 0 0!important;max-width:64ch;font-size:clamp(12px,.9vw,15px)!important;line-height:1.55!important;color:rgba(11,11,10,.66)}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex:0 0 auto}.hero-actions .arrow{white-space:nowrap}.arrow-secondary{opacity:.72}.planner article{top:78px}.planner article>p:last-of-type.planner-explainer{font-family:var(--sans);font-size:11px;line-height:1.55;letter-spacing:0;text-transform:none;color:rgba(11,11,10,.68);margin:12px 0 26px}.planner article>p:nth-of-type(2){font-family:var(--sans);font-size:14px;line-height:1.45;text-transform:none;letter-spacing:0;margin:0}.planner article h2{margin-bottom:20px}.planner article hr{margin-bottom:20px}
.outcome-statement,.journey-showcase,.final-cta{position:relative;padding:clamp(72px,9vw,140px) 7.3vw;border-bottom:1px solid var(--line);overflow:hidden}.outcome-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(48px,8vw,130px);align-items:end;margin-top:clamp(46px,6vw,88px)}.outcome-layout h2,.journey-intro h2,.final-cta h2{margin:0;font:700 clamp(48px,6.5vw,108px)/.94 var(--sans);letter-spacing:-.065em}.outcome-layout>div>p{margin:0;font-size:clamp(16px,1.2vw,20px);line-height:1.6}.outcome-summary{margin-top:28px!important;padding-top:28px;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,29px)!important;line-height:1.35!important}
.final-cta{background:var(--paper)}.final-cta h2{max-width:12ch;margin:clamp(45px,6vw,82px) 0 30px}.final-cta>p:not(.label){max-width:62ch;margin:0;font-size:clamp(16px,1.25vw,20px);line-height:1.6}.final-cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}.final-primary,.final-secondary{display:flex;justify-content:space-between;align-items:center;gap:34px;min-width:min(100%,310px);padding:20px 24px;border:1px solid var(--ink);font:400 11px/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background .3s ease,color .3s ease}.final-primary{background:var(--ink);color:var(--paper)}.final-primary:hover{background:#292824}.final-secondary:hover{background:rgba(11,11,10,.05)}.final-primary:focus-visible,.final-secondary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:980px){.hero-proposition{align-items:flex-start}.hero-actions{width:100%;flex-direction:row;flex-wrap:wrap;margin-top:8px}.outcome-layout,.journey-intro{grid-template-columns:1fr}.journey-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-tabs button{border-bottom:1px solid var(--journey-line)}.journey-tabs button:nth-child(2n){border-right:0}.journey-tabs button:last-child{grid-column:1/-1}.journey-panel ol{display:grid;grid-template-columns:1fr 1fr;gap:28px}.journey-panel li{padding:0 0 24px}.journey-panel li:not(:last-child):after{left:0;right:20%;top:auto;bottom:0}.journey-foot{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.hero-copy{min-height:690px}.hero-proposition{display:block}.hero-actions{display:grid;grid-template-columns:1fr;margin-top:24px}.hero-actions .arrow{justify-content:space-between}.planner article{top:72px}.outcome-statement,.journey-showcase,.final-cta{padding:72px 20px}.outcome-layout h2,.journey-intro h2,.final-cta h2{font-size:clamp(44px,14vw,68px);overflow-wrap:normal;word-break:normal}.journey-tabs{grid-template-columns:1fr}.journey-tabs button,.journey-tabs button:nth-child(2n){border-right:0;border-bottom:1px solid var(--journey-line);min-height:56px}.journey-tabs button:last-child{grid-column:auto}.journey-panel ol{grid-template-columns:1fr;gap:0;padding:36px 0}.journey-panel li{padding:0 0 30px;font-size:21px}.journey-panel li:not(:last-child):after{right:45%;bottom:14px}.final-cta-actions{display:grid}.final-primary,.final-secondary{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.journey-panel.is-active li,.journey-panel li:not(:last-child):after{animation:none!important}}

/* Outcome statement — centred editorial pause */
.outcome-statement{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:min(84vh,860px);
  padding-inline:clamp(24px,7.3vw,140px);
  background:radial-gradient(circle at 50% 34%,rgba(198,151,108,.09),transparent 38%),var(--paper);
}
.outcome-statement>.label{justify-self:center;text-align:center}
.outcome-layout{display:grid;grid-template-columns:1fr;gap:clamp(60px,8vw,112px);align-items:initial;margin-top:clamp(60px,7vw,104px)}
.outcome-layout h2{width:min(100%,13.5ch);margin-inline:auto;text-align:center;font-size:clamp(58px,7.7vw,128px);line-height:.9}
.outcome-layout>div{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(48px,8vw,132px);width:min(100%,1120px);margin-inline:auto;padding-top:clamp(30px,3.5vw,52px);border-top:1px solid var(--line)}
.outcome-layout>div>p:first-child{max-width:65ch}
.outcome-summary{margin-top:0!important;padding:0 0 0 clamp(24px,3vw,48px);border-top:0;border-left:1px solid var(--line)}
@media(max-width:760px){
  .outcome-statement{min-height:0;padding-block:72px}
  .outcome-statement>.label{justify-self:start;text-align:left}
  .outcome-layout{gap:54px;margin-top:52px}
  .outcome-layout h2{width:100%;text-align:left;font-size:clamp(48px,15vw,70px)}
  .outcome-layout>div{grid-template-columns:1fr;gap:30px;padding-top:28px}
  .outcome-summary{padding:28px 0 0;border-top:1px solid var(--line);border-left:0}
}

/* Section 03 — Build the Journey Live */
.journey-showcase{--journey-cream:#eee7dc;--journey-champagne:#d7bda3;--journey-line:rgba(238,231,220,.18);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(42px,5.5vw,96px);min-height:clamp(720px,76vw,900px);padding:clamp(88px,7vw,122px) 7.3vw;background:#080807 url('/assets/dark-paper-v1.webp') center/cover;color:var(--journey-cream);overflow:hidden;scroll-margin-top:104px}
.journey-showcase:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 65% 70% at 82% 18%,rgba(198,151,108,.08),transparent 72%),linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.3));pointer-events:none}
.journey-editorial{display:flex;flex-direction:column;min-width:0}.journey-editorial .label{margin:0 0 38px;color:var(--journey-champagne)}
.journey-editorial h2{max-width:7.6ch;margin:0;font:400 clamp(52px,4.8vw,78px)/.91 var(--serif);letter-spacing:-.045em}.journey-editorial h2 em{font-weight:400;color:var(--journey-champagne)}
.journey-introduction{max-width:28ch;margin:34px 0 0;color:rgba(238,231,220,.76);font-size:clamp(14px,1vw,17px);line-height:1.7}.journey-short-rule{display:block;width:36px;height:1px;margin-top:30px;background:var(--journey-champagne)}
.journey-editorial-foot{display:flex;align-items:end;gap:clamp(24px,3vw,48px);margin-top:auto;padding-top:60px}.journey-editorial-foot p{margin:0;font:400 clamp(22px,2vw,31px)/1.05 var(--serif)}.journey-editorial-foot p em{color:var(--journey-champagne)}.journey-editorial-foot small{color:rgba(238,231,220,.62);font-size:10px;line-height:1.5}
.journey-builder{min-width:0;padding-top:clamp(76px,7vw,112px)}.journey-control{width:min(340px,100%);margin:0 0 clamp(50px,5vw,74px) clamp(12%,110px)}.journey-control label{display:block;margin-bottom:12px;color:rgba(238,231,220,.74);font-size:12px}.journey-select-wrap{position:relative;border-bottom:1px solid rgba(215,189,163,.66)}.journey-select-wrap:after{content:"↓";position:absolute;right:2px;top:50%;color:var(--journey-champagne);font-size:12px;transform:translateY(-50%);pointer-events:none}.journey-select-wrap select{width:100%;min-height:46px;padding:8px 32px 8px 0;border:0;border-radius:0;background:transparent;color:var(--journey-cream);font:400 15px/1.3 var(--sans);appearance:none;cursor:pointer}.journey-select-wrap select option{background:#131210;color:var(--journey-cream)}.journey-select-wrap select:focus-visible{outline:1px solid var(--journey-champagne);outline-offset:5px}
.journey-panels{position:relative;min-height:390px}.journey-panel[hidden]{display:none}.journey-panel{position:relative}.journey-panel.is-withdrawing{opacity:0;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease}
.journey-connector{position:absolute;z-index:0;left:1.5%;right:1.5%;top:69px;width:97%;height:20px;overflow:visible;pointer-events:none}.journey-connector path{fill:none;stroke:rgba(215,189,163,.7);stroke-width:1;vector-effect:non-scaling-stroke}.journey-connector circle{fill:#d7bda3;filter:drop-shadow(0 0 5px rgba(215,189,163,.38))}.journey-panel.is-active .journey-connector path{stroke-dasharray:1;stroke-dashoffset:1;animation:journey-live-line .58s .06s cubic-bezier(.16,1,.3,1) forwards}.journey-panel.is-active .journey-connector circle{animation:journey-live-dot .35s cubic-bezier(.16,1,.3,1) both}.journey-panel.is-active .journey-connector circle:nth-of-type(2){animation-delay:.1s}.journey-panel.is-active .journey-connector circle:nth-of-type(3){animation-delay:.2s}.journey-panel.is-active .journey-connector circle:nth-of-type(4){animation-delay:.3s}.journey-panel.is-active .journey-connector circle:nth-of-type(5){animation-delay:.48s}@keyframes journey-live-line{to{stroke-dashoffset:0}}@keyframes journey-live-dot{from{opacity:0;transform:scale(.3);transform-origin:center}to{opacity:1;transform:scale(1)}}
.journey-stage-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2vw,34px);margin:0;padding:0;list-style:none}.journey-stage-list>li{min-width:0}.journey-stage-list article{display:flex;flex-direction:column;min-height:345px}.stage-number{margin:0 0 12px;color:var(--journey-champagne);font-size:9px;letter-spacing:.14em}.journey-stage-list h3{min-height:2.15em;margin:0 0 38px;font:400 clamp(18px,1.55vw,25px)/1.08 var(--serif);letter-spacing:-.015em;color:#f4eee5}.journey-stage-list article>p:last-child{max-width:18ch;margin:auto 0 0;color:rgba(238,231,220,.58);font-size:10px;line-height:1.5}
.stage-demo{position:relative;display:flex;min-height:108px;margin-bottom:24px;border-top:1px solid rgba(238,231,220,.12);border-bottom:1px solid rgba(238,231,220,.12);color:rgba(238,231,220,.7);font-size:9px;line-height:1.4}.stage-demo span,.stage-demo b,.stage-demo strong{font:inherit}.journey-panel.is-active .journey-stage-list>li{animation:journey-live-stage .4s cubic-bezier(.16,1,.3,1) both}.journey-panel.is-active .journey-stage-list>li:nth-child(2){animation-delay:.09s}.journey-panel.is-active .journey-stage-list>li:nth-child(3){animation-delay:.18s}.journey-panel.is-active .journey-stage-list>li:nth-child(4){animation-delay:.27s}.journey-panel.is-active .journey-stage-list>li:nth-child(5){animation-delay:.4s}@keyframes journey-live-stage{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.demo-service,.demo-compare,.demo-scope,.demo-topics{flex-direction:column}.demo-service span,.demo-compare span,.demo-scope span{padding:8px 9px;border-bottom:1px solid rgba(238,231,220,.1)}.demo-service span:first-child,.demo-compare span:nth-child(2),.demo-scope span:first-child{color:#f1e8dc;background:rgba(215,189,163,.07)}.demo-topics{justify-content:center;gap:8px}.demo-topics span{padding:7px 8px;border-left:1px solid rgba(215,189,163,.55)}
.demo-calendar{display:grid;grid-template-columns:repeat(5,1fr);align-content:center;gap:8px;text-align:center}.demo-calendar b{grid-column:1/-1;text-align:left}.demo-calendar strong{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--journey-champagne);border-radius:50%;color:#fff}
.demo-form,.demo-questions{flex-direction:column;gap:7px;padding:8px 0}.demo-form span,.demo-questions span{padding:7px 8px;border:1px solid rgba(238,231,220,.14)}
.demo-confirm{display:grid;grid-template-columns:1fr auto;align-content:center;gap:5px}.demo-confirm b,.demo-confirm span{grid-column:1}.demo-confirm i{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--journey-champagne);border-radius:50%;color:var(--journey-champagne);font-style:normal}
.demo-notice,.demo-receipt,.demo-save{align-items:center;justify-content:center;gap:12px}.demo-notice i,.demo-receipt i,.demo-save i{color:var(--journey-champagne);font-style:normal;font-size:17px}.demo-offer,.demo-fit,.demo-outline{flex-direction:column;justify-content:center;gap:8px}.demo-offer b,.demo-fit b,.demo-outline b{color:#f2eadf}.demo-action,.demo-submit,.demo-search{align-items:center;justify-content:space-between}.demo-action i,.demo-submit i,.demo-search i{color:var(--journey-champagne);font-style:normal;font-size:16px}.demo-options{align-items:center;justify-content:space-around}.demo-options strong{padding:8px;border-bottom:1px solid var(--journey-champagne);color:#fff}.demo-payment{flex-direction:column;justify-content:center;gap:12px}.demo-payment b{align-self:flex-start;padding:7px 12px;border:1px solid rgba(215,189,163,.55);color:#f2eadf}
.journey-destination{position:absolute;right:7.3vw;bottom:clamp(70px,7vw,112px);z-index:3;display:flex;align-items:center;justify-content:space-between;gap:42px;width:min(300px,28vw);padding:13px 0;border-bottom:1px solid rgba(215,189,163,.7);color:var(--journey-cream);font:500 10px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.journey-destination:hover{color:#fff}.journey-destination:focus-visible{outline:1px solid var(--journey-champagne);outline-offset:6px}.journey-showcase.is-resolving .journey-destination{animation:journey-live-cta .3s .5s cubic-bezier(.16,1,.3,1) both}@keyframes journey-live-cta{from{opacity:.55;transform:translateX(-5px)}to{opacity:1;transform:none}}
@media(min-width:761px) and (max-width:1320px){.journey-showcase{display:block;min-height:0;padding:82px 7.3vw 104px}.journey-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:36px}.journey-editorial .label{grid-column:1/-1;margin-bottom:12px}.journey-editorial h2{font-size:clamp(54px,7vw,76px)}.journey-introduction{align-self:end;margin:0}.journey-short-rule{display:none}.journey-editorial-foot{display:none}.journey-builder{padding-top:58px}.journey-control{margin:0 0 48px}.journey-panels{min-height:650px}.journey-panel .journey-stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 32px;padding:0}.journey-stage-list>li:nth-child(4){grid-column:1}.journey-stage-list article{min-height:250px}.journey-stage-list h3{margin-bottom:24px}.journey-connector{display:none}.journey-stage-list>li{padding-top:16px;border-top:1px solid rgba(215,189,163,.38)}.journey-destination{position:relative;right:auto;bottom:auto;width:min(300px,100%);margin:46px 0 0 auto}}
@media(max-width:760px){.journey-showcase{display:block;min-height:0;padding:72px 20px 78px;scroll-margin-top:86px}.journey-editorial .label{margin-bottom:30px}.journey-editorial h2{max-width:8ch;font-size:clamp(49px,14vw,66px)}.journey-introduction{margin-top:28px}.journey-editorial-foot{display:none}.journey-short-rule{margin-top:24px}.journey-builder{padding-top:52px}.journey-control{width:100%;margin:0 0 46px}.journey-control label{font-size:11px}.journey-select-wrap select{min-height:52px;font-size:14px}.journey-panels{min-height:0}.journey-connector{display:none}.journey-stage-list{display:block}.journey-stage-list>li{position:relative;padding:0 0 42px 34px}.journey-stage-list>li:not(:last-child):before{content:"";position:absolute;left:5px;top:9px;bottom:0;width:1px;background:linear-gradient(var(--journey-champagne),rgba(215,189,163,.16))}.journey-stage-list>li:after{content:"";position:absolute;left:1px;top:5px;width:7px;height:7px;border:1px solid var(--journey-champagne);border-radius:50%;background:#0a0908}.journey-stage-list article{min-height:0}.stage-number{margin-bottom:8px}.journey-stage-list h3{min-height:0;margin-bottom:18px;font-size:clamp(24px,7vw,31px)}.stage-demo{min-height:96px;margin-bottom:18px}.journey-stage-list article>p:last-child{max-width:30ch;margin:0;font-size:11px}.journey-destination{position:relative;right:auto;bottom:auto;width:100%;margin-top:8px;padding:17px 0}}
@media(prefers-reduced-motion:reduce){.journey-panel,.journey-stage-list>li,.journey-connector path,.journey-connector circle,.journey-destination{animation:none!important;transition:none!important}.journey-panel.is-withdrawing{opacity:1;transform:none}}
/* Branded goal selector and goal-specific journey compositions */
.journey-control-label{margin:0 0 12px;color:rgba(238,231,220,.74);font-size:12px}
.journey-combobox{position:relative}.journey-combobox-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:50px;padding:10px 4px 10px 0;border:0;border-bottom:1px solid rgba(215,189,163,.68);border-radius:0;background:transparent;color:var(--journey-cream);font:400 15px/1.3 var(--sans);text-align:left;cursor:pointer}.journey-combobox-trigger i{position:relative;width:24px;height:24px;border:1px solid rgba(215,189,163,.42);border-radius:50%;transition:border-color .3s ease,transform .3s ease}.journey-combobox-trigger i:before,.journey-combobox-trigger i:after{content:"";position:absolute;top:11px;width:7px;height:1px;background:var(--journey-champagne)}.journey-combobox-trigger i:before{left:5px;transform:rotate(40deg)}.journey-combobox-trigger i:after{right:5px;transform:rotate(-40deg)}.journey-combobox-trigger[aria-expanded="true"] i{border-color:var(--journey-champagne);transform:rotate(180deg)}.journey-combobox-trigger:hover{color:#fff}.journey-combobox-trigger:focus-visible{outline:1px solid var(--journey-champagne);outline-offset:6px}
.journey-combobox-list{position:absolute;z-index:20;top:calc(100% + 1px);left:0;width:100%;margin:0;padding:6px 0;border:1px solid rgba(215,189,163,.32);border-top:0;background:rgba(12,11,9,.98);box-shadow:0 20px 45px rgba(0,0,0,.32);list-style:none}.journey-combobox-list[hidden]{display:none}.journey-combobox-list li{position:relative;min-height:44px;padding:13px 34px 12px 16px;color:rgba(238,231,220,.68);font-size:12px;line-height:1.5;cursor:pointer}.journey-combobox-list li:before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--journey-champagne);transition:width .25s ease}.journey-combobox-list li:hover,.journey-combobox-list li.is-focused,.journey-combobox-list li[aria-selected="true"]{padding-left:22px;color:#fff;background:rgba(215,189,163,.06)}.journey-combobox-list li:hover:before,.journey-combobox-list li.is-focused:before,.journey-combobox-list li[aria-selected="true"]:before{width:12px}.journey-combobox-list li[aria-selected="true"]:after{content:"•";position:absolute;right:16px;color:var(--journey-champagne)}
@media(max-width:760px){.journey-control-label{font-size:11px}.journey-combobox-trigger{min-height:54px;font-size:14px}.journey-combobox-list{position:relative;top:auto;box-shadow:none}.journey-combobox-list li{min-height:48px;padding-top:15px;padding-bottom:14px}}
/* Keep native synchronization and live announcements accessible but visually hidden. */
.journey-native-select,.journey-control #journeyStatus{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* Precision alignment for the five-stage desktop journey. */
@media(min-width:1321px){
 .journey-panel .journey-stage-list,.layout-services .journey-stage-list,.layout-enquiry .journey-stage-list,.layout-booking .journey-stage-list,.layout-payment .journey-stage-list,.layout-information .journey-stage-list{grid-template-columns:repeat(5,minmax(0,1fr))}
 .journey-panel .journey-stage-list>li,.layout-services .journey-stage-list>li:nth-child(2),.layout-services .journey-stage-list>li:nth-child(4),.layout-information .journey-stage-list>li:nth-child(3){margin-top:0;transform:none}
 .journey-stage-list h3{height:3.25em;min-height:3.25em;margin-bottom:24px}
 .journey-connector{top:96px}
 .layout-payment .journey-stage-list>li:nth-child(4) h3,.layout-information .journey-stage-list>li:nth-child(3) h3{font-size:clamp(18px,1.55vw,25px)}
}
/* Section 03 spacing refinement — compact, consistent vertical rhythm. */
@media(min-width:1321px){
  .journey-builder{padding-top:clamp(64px,5.5vw,88px)}
  .journey-control{margin-bottom:clamp(38px,3.25vw,50px)}
  .journey-panels{min-height:330px}
  .journey-stage-list{gap:clamp(24px,2.25vw,38px)}
  .journey-stage-list article{min-height:0}
  .journey-stage-list h3{margin-bottom:22px}
  .stage-demo{min-height:104px;margin-bottom:20px}
  .journey-stage-list article>p:last-child{margin:0;min-height:3em}
  .journey-destination{bottom:clamp(54px,5vw,78px)}
}
@media(min-width:761px) and (max-width:1320px){
  .journey-builder{padding-top:48px}
  .journey-control{margin-bottom:38px}
  .journey-panels{min-height:570px}
  .journey-stage-list article{min-height:224px}
  .stage-demo{margin-bottom:18px}
}
@media(max-width:760px){
  .journey-builder{padding-top:44px}
  .journey-control{margin-bottom:36px}
  .journey-stage-list>li{padding-bottom:36px}
}
/* Section 03 top-spacing refinement — separate selector from journey sequence. */
@media(min-width:1321px){
  .journey-panel{padding-top:14px}
  .journey-connector{top:110px}
}
@media(min-width:761px) and (max-width:1320px){
  .journey-panel{padding-top:18px}
}
@media(max-width:760px){
  .journey-panel{padding-top:14px}
}
/* 2026-07-28 contrast audit */
.privacy-panel-tabs button{color:rgba(11,11,10,.7)}

/* 2026-07-30 portfolio-first homepage */
@media(min-width:1051px){.hero{grid-template-columns:5.8vw 1fr!important}.hero-copy{grid-column:2!important;padding-right:8vw}.hero>.planner{display:none}.hero h1{max-width:10ch}.hero-foot{max-width:1100px}}
.showcase-intro,.strategy-statement,.about-editorial,.method-editorial{padding:clamp(78px,9vw,150px) 7.3vw}.showcase-intro{display:grid;grid-template-columns:.36fr 1fr;gap:6vw;border-bottom:1px solid var(--line)}.showcase-intro>div{display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;align-items:end}.showcase-intro h2,.strategy-statement h2,.about-editorial h2,.method-editorial h2,.inspector-copy h2,.index-head h2,.invitation h2{margin:0;font:700 clamp(54px,7vw,118px)/.89 var(--sans);letter-spacing:-.075em}.showcase-intro h2 em,.strategy-statement em,.about-editorial em,.method-editorial em,.inspector-copy em,.index-head em,.planner-late em,.invitation em{font-family:var(--serif);font-weight:400}.showcase-intro p:last-child{max-width:34ch;margin:0;font-size:clamp(16px,1.4vw,21px);line-height:1.55}
.showcase-theatre{background:#080807 url('/assets/charcoal-vellum-v1.webp') center/cover fixed;color:#f3f0e9}.showcase-scene{min-height:100vh;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(35px,6vw,110px);align-items:center;padding:clamp(70px,8vw,135px) 5.8vw;border-bottom:1px solid rgba(243,240,233,.14);overflow:hidden}.scene-theseus{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.scene-copy{max-width:620px}.scene-number,.scene-kicker{font:400 9px/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase}.scene-kicker{margin:clamp(50px,7vw,100px) 0 24px;color:#d7bda3}.scene-copy h2{margin:0;font:700 clamp(48px,5.7vw,98px)/.91 var(--sans);letter-spacing:-.068em}.scene-copy h2 em{font-family:var(--serif);font-weight:400;color:#d7bda3}.scene-copy>p:not([class]){max-width:40ch;margin:35px 0;color:rgba(243,240,233,.68);font-size:clamp(15px,1.2vw,19px);line-height:1.65}.scene-copy a,.planner-late-card a,.invitation a{display:flex;justify-content:space-between;gap:30px;width:min(390px,100%);padding:18px 0;border-bottom:1px solid rgba(215,189,163,.65);color:#f3f0e9;font:500 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.scene-screen{display:block;position:relative;border:1px solid rgba(243,240,233,.2);box-shadow:0 35px 90px rgba(0,0,0,.44);transform:rotate(1.2deg);transition:transform .7s cubic-bezier(.16,1,.3,1)}.scene-screen img{display:block;width:100%;height:auto;filter:grayscale(.2) brightness(.9)}.scene-screen:hover{transform:rotate(0) translateY(-8px)}.scene-screen-tall{transform:rotate(-1.2deg)}.scene-screen-offset{transform:translateX(4vw) rotate(.8deg)}
.strategy-statement{display:grid;grid-template-columns:.28fr 1fr .48fr;gap:5vw;align-items:start;border-bottom:1px solid var(--line)}.strategy-statement>div{display:grid;grid-template-columns:1.15fr .7fr;gap:6vw}.strategy-statement h2{font-size:clamp(52px,6.5vw,108px)}.strategy-statement>div>p{font-size:clamp(17px,1.4vw,22px);line-height:1.55}.strategy-note{align-self:end;font:400 clamp(24px,2.4vw,38px)/1.2 var(--serif)}
.thinking-inspector{display:grid;grid-template-columns:.55fr 1.45fr;gap:6vw;padding:clamp(78px,8vw,130px) 5.8vw;background:#d8d0c4}.inspector-copy h2{font-size:clamp(48px,5.4vw,88px);margin:45px 0 28px}.inspector-copy>p:not(.label){max-width:35ch;line-height:1.6}.inspector-copy ul{margin:35px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.inspector-copy li{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.inspector-stage{position:relative;align-self:center;overflow:hidden;background:#151412;box-shadow:0 30px 75px rgba(20,15,10,.25)}.inspector-stage>img{display:block;width:100%;height:auto;filter:grayscale(.85) brightness(.7)}.inspector-overlay{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);background:linear-gradient(rgba(12,11,9,.58),rgba(12,11,9,.58)),url('/assets/work/hope-wellbeing.webp') center/cover;color:#f3f0e9}.annotation{position:absolute;display:flex;gap:10px;align-items:center;font:500 9px var(--sans);letter-spacing:.08em;text-transform:uppercase}.annotation b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d7bda3;border-radius:50%;color:#d7bda3}.a-one{left:8%;top:23%}.a-two{left:38%;top:52%}.a-three{left:18%;bottom:15%}.inspector-line{position:absolute;top:0;bottom:42px;left:var(--reveal);width:1px;background:#f3f0e9;box-shadow:0 0 0 4px rgba(243,240,233,.12)}.inspector-stage label{position:absolute;left:18px;bottom:15px;color:#fff;font:500 8px var(--sans);letter-spacing:.1em;text-transform:uppercase}.inspector-stage input{position:absolute;right:18px;bottom:13px;width:45%;accent-color:#d7bda3}
.editorial-index{display:grid;grid-template-columns:.42fr 1fr;gap:7vw;padding:clamp(80px,9vw,145px) 7.3vw;background:var(--paper);border-bottom:1px solid var(--line)}.index-head h2{margin-top:50px;font-size:clamp(50px,5.2vw,86px)}.index-list{border-top:1px solid var(--line)}.index-list a{position:relative;display:grid;grid-template-columns:50px 1fr .8fr 35px;gap:22px;align-items:center;min-height:145px;border-bottom:1px solid var(--line);text-decoration:none}.index-list span,.index-list small{font:400 9px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}.index-list strong{font:400 clamp(31px,3.2vw,54px)/1 var(--serif)}.index-list b{text-align:right}.index-list img{position:absolute;z-index:4;right:10%;bottom:70%;width:min(420px,50%);opacity:0;pointer-events:none;transform:translateY(15px) rotate(2deg);box-shadow:0 25px 60px rgba(0,0,0,.25);transition:.35s ease}.index-list a:hover img,.index-list a:focus-visible img{opacity:1;transform:translateY(0) rotate(-1deg)}
.about-editorial{background:#080807 url('/assets/charcoal-vellum-v1.webp') center/cover;color:#f3f0e9}.about-editorial>div{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;margin:65px 0}.about-editorial h2{font-size:clamp(54px,6.7vw,112px)}.about-editorial>div>p{max-width:38ch;color:rgba(243,240,233,.68);font-size:clamp(17px,1.4vw,22px);line-height:1.65}.about-signoff{padding-top:25px;border-top:1px solid rgba(243,240,233,.18);font:400 25px/1.2 var(--serif)}.about-signoff span{font:400 9px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#d7bda3}
.method-editorial{border-bottom:1px solid var(--line)}.method-heading{display:grid;grid-template-columns:.35fr 1fr;gap:6vw}.method-editorial h2{font-size:clamp(52px,6vw,100px)}.method-editorial ol{display:grid;grid-template-columns:repeat(4,1fr);margin:85px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.method-editorial li{min-height:270px;padding:24px 28px 20px 0}.method-editorial li:not(:last-child){border-right:1px solid var(--line);margin-right:28px}.method-editorial li span{font-size:9px}.method-editorial h3{margin:65px 0 18px;font:400 30px/1 var(--serif)}.method-editorial li p{font-size:13px;line-height:1.6}
.planner-late{min-height:760px;display:grid;grid-template-columns:1fr minmax(350px,.72fr);align-items:center;gap:6vw;padding:clamp(75px,8vw,130px) 7.3vw;background:#cec5b9;overflow:hidden}.planner-late-art{position:relative;align-self:stretch}.planner-late-art span{position:absolute;font:700 clamp(64px,9vw,150px)/.8 var(--sans);letter-spacing:-.08em;color:rgba(11,11,10,.09)}.planner-late-art span:nth-child(1){top:10%;left:0}.planner-late-art span:nth-child(2){top:38%;left:18%;font-family:var(--serif);font-weight:400}.planner-late-art span:nth-child(3){top:67%;left:3%}.planner-late-card{position:relative;background:#f8f6f1;padding:clamp(38px,5vw,72px);box-shadow:0 28px 75px rgba(30,20,10,.2)}.planner-late-card:before{content:"";position:absolute;top:-28px;right:14%;width:70px;height:110px;border:4px double #282828;border-radius:40px;transform:rotate(18deg)}.planner-late-card h2{margin:55px 0 28px;font:400 clamp(45px,4.5vw,72px)/.92 var(--serif)}.planner-late-card>p:not(.label){line-height:1.65}.planner-late-card a{margin-top:40px;color:#0b0b0a;border-color:var(--line)}
.invitation{position:relative;min-height:760px;padding:clamp(90px,10vw,160px) 7.3vw;background:#080807;color:#f3f0e9;overflow:hidden}.invitation h2{position:relative;z-index:2;max-width:13ch;margin:90px 0 40px}.invitation>p:not(.label){max-width:42ch;color:rgba(243,240,233,.65);font-size:18px;line-height:1.6}.invitation>div:last-child{display:flex;gap:60px;margin-top:55px}.invitation-words span{position:absolute;color:rgba(215,189,163,.12);font:400 clamp(55px,10vw,160px)/1 var(--serif);pointer-events:none}.invitation-words span:nth-child(1){top:12%;right:-2%;transform:rotate(8deg)}.invitation-words span:nth-child(2){left:46%;bottom:6%;transform:rotate(-7deg)}.invitation-words span:nth-child(3){right:5%;top:50%;transform:rotate(12deg)}
@media(max-width:1000px){.showcase-intro>div,.strategy-statement>div,.about-editorial>div{grid-template-columns:1fr}.showcase-scene,.scene-theseus{min-height:auto;grid-template-columns:1fr;padding-block:90px}.scene-theseus .scene-screen{order:2}.scene-theseus .scene-copy{order:1}.thinking-inspector{grid-template-columns:1fr}.editorial-index{grid-template-columns:1fr}.method-editorial ol{grid-template-columns:1fr 1fr}.planner-late{grid-template-columns:.7fr 1fr}}
@media(max-width:760px){.hero>.planner{display:none}.hero-copy{min-height:calc(100svh - 72px)!important}.showcase-intro,.strategy-statement,.about-editorial,.method-editorial{padding:72px 20px}.showcase-intro,.strategy-statement,.method-heading{grid-template-columns:1fr}.showcase-intro>div{display:block}.showcase-intro h2,.strategy-statement h2,.about-editorial h2,.method-editorial h2{font-size:clamp(48px,14vw,68px);margin:34px 0}.showcase-intro p:last-child{margin-top:28px}.showcase-scene{display:flex;flex-direction:column;align-items:stretch;padding:75px 20px;gap:45px}.scene-copy h2{font-size:clamp(46px,13vw,66px)}.scene-kicker{margin-top:45px}.scene-screen-offset{transform:none}.thinking-inspector{padding:72px 20px}.inspector-copy h2{font-size:clamp(48px,13vw,64px)}.inspector-stage label{position:static;display:block;padding:14px 16px 5px;background:#111}.inspector-stage input{position:static;width:calc(100% - 32px);margin:8px 16px 16px}.inspector-line{bottom:68px}.editorial-index{display:block;padding:72px 20px}.index-head h2{font-size:clamp(48px,13vw,65px)}.index-list{margin-top:55px}.index-list a{grid-template-columns:34px 1fr 28px;min-height:120px}.index-list small{grid-column:2}.index-list img{display:none}.about-editorial>div{display:block;margin:45px 0}.about-editorial>div>p{margin-top:35px}.method-editorial ol{grid-template-columns:1fr;margin-top:55px}.method-editorial li,.method-editorial li:not(:last-child){min-height:0;margin:0;padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.method-editorial h3{margin:28px 0 12px}.planner-late{display:block;min-height:0;padding:90px 20px}.planner-late-art{height:220px}.planner-late-card{padding:38px 28px}.planner-late-card:before{width:52px;height:82px}.invitation{min-height:680px;padding:90px 20px}.invitation h2{font-size:clamp(52px,14vw,72px);margin-top:90px}.invitation>div:last-child{display:block}.invitation a{margin-top:22px}.invitation-words span{font-size:90px}}
@media(prefers-reduced-motion:reduce){.showcase-theatre{background-attachment:scroll}.scene-screen,.index-list img{transition:none!important;transform:none!important}.invitation-words{display:none}}

/* Fixed studio rail: every homepage section clears the full-height rail. */
@media(min-width:761px){
  main>section:not(.hero){width:calc(100% - max(5.8vw,64px));margin-left:max(5.8vw,64px);box-sizing:border-box}
}


/* Website Check invite: mirrors .possibilities-invite's visual weight so it
   reads as a complementary bridge section, not a competing promotional block. */
.website-check-invite{padding:clamp(72px,8vw,138px) clamp(24px,7.2vw,138px);background:#f2efe8;color:#090908;border-block:1px solid rgba(9,9,8,.16)}
.website-check-invite>div{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:8vw;align-items:end;margin-top:clamp(44px,7vw,110px)}
.website-check-invite h2{margin:0;font-size:clamp(54px,7vw,126px);line-height:.9;letter-spacing:-.06em}
.website-check-invite h2 em{font-family:var(--serif);font-weight:400}
.website-check-invite>div>div p{margin:0 0 20px;color:#77736c;line-height:1.7}
.website-check-invite a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.website-check-invite small{display:block;margin-top:16px;color:#9a958c;font-size:11px;letter-spacing:.04em}
@media(max-width:760px){.website-check-invite>div{grid-template-columns:1fr;gap:36px}.website-check-invite h2{font-size:clamp(48px,15vw,72px)}}

/* Back to top */
:root{--back-to-top-bg:var(--paper);--back-to-top-ink:var(--ink);--back-to-top-hover-ink:var(--accent,#b99270);--back-to-top-shadow:rgba(11,11,10,.18)}
