:root{--cream:#f8f6f1;--paper:#fffefa;--ink:#07384b;--muted:#516873;--line:#d9dfdc;--pale:#eaf5f7;--pale2:#f0f4f1;--blue:#bedbe6;--green:#c8d4c3;--deep:#05394d;--white:#fff;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'DM Sans',Arial,sans-serif;font-weight:600;letter-spacing:-.045em}.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:#fff;padding:10px 14px}.skip-link:focus{top:16px}
.site-shell{max-width:var(--max);margin:auto}.nc-header{height:92px;padding:18px 54px;display:flex;align-items:center;gap:34px;background:rgba(248,246,241,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(7,56,75,.04);backdrop-filter:blur(12px)}.nc-brand{width:255px;margin-right:auto}.nc-brand img{width:100%;height:auto}.nc-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:500}.nc-nav a{text-decoration:none}.nc-nav a:not(.nc-cta):hover,.nc-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.nc-cta,.nc-btn{display:inline-flex;align-items:center;gap:16px;background:var(--deep);color:#fff!important;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:500}.nc-btn--outline{background:transparent;color:var(--ink)!important;border:1px solid var(--ink)}.menu-toggle{display:none;background:none;border:0;color:var(--ink);font:600 13px 'DM Sans',sans-serif}.kicker{font-size:12px;letter-spacing:.23em;font-weight:700;text-transform:uppercase;color:#235166;margin-bottom:18px}.lead{font-size:19px;line-height:1.6;color:var(--muted)}
/* home */.home-hero{max-width:var(--max);margin:auto;padding:30px 54px 12px;display:grid;grid-template-columns:39% 61%;align-items:center;min-height:575px}.home-hero h1{font-size:88px;line-height:.92;margin:0 0 22px}.home-hero-copy{padding-bottom:34px}.home-hero-copy .lead{max-width:515px;margin-bottom:25px}.hero-art{height:505px;overflow:hidden;display:flex;align-items:center}.hero-art img{width:100%;height:100%;object-fit:cover}.home-pillars{max-width:var(--max);margin:auto;padding:12px 54px 38px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.pillar{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;padding:12px 34px;text-decoration:none;border-right:1px solid var(--line)}.pillar:first-child{padding-left:0}.pillar:last-child{border:0}.pillar h2{font-size:22px;letter-spacing:-.02em;margin-bottom:3px}.pillar p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}.pillar-icon{width:62px;height:62px;position:relative;display:block}.pillar-icon:before{content:"";position:absolute;left:5px;bottom:5px;width:33px;height:37px;border:3px solid var(--ink);border-top:0}.pillar-icon:after{content:"";position:absolute;left:4px;top:10px;width:36px;height:36px;border-left:3px solid var(--ink);border-top:3px solid var(--ink);transform:rotate(45deg)}.pillar-icon i{position:absolute;right:2px;top:2px;width:37px;height:53px;background:var(--blue);z-index:-1}.icon-care i{width:36px;height:36px;border-radius:50%;background:var(--green)}.icon-invest:before,.icon-invest:after{display:none}.icon-invest{border-bottom:3px solid var(--ink)}.icon-invest i{left:9px;bottom:3px;top:auto;width:8px;height:18px;background:transparent;border:2px solid var(--ink);box-shadow:13px -8px 0 -2px var(--cream),13px -8px 0 0 var(--ink),26px -21px 0 -2px var(--cream),26px -21px 0 0 var(--ink)}
.projects-band{background:#f0f2ef}.projects-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:31% 1fr 1fr;gap:32px;padding:48px 54px}.projects-intro{padding:7px 24px 0 0}.projects-intro h2,.approach-copy h2,.people-copy h2,.talk h2{font-size:44px;line-height:1.04;margin-bottom:16px}.projects-intro p:not(.kicker){color:var(--muted);line-height:1.6}.text-link{font-weight:600;text-underline-offset:6px}.project-card{display:block;background:#fff;text-decoration:none;overflow:hidden;border-radius:3px}.project-card img{width:100%;height:225px;object-fit:cover}.project-card-body{padding:14px 18px 16px;position:relative}.project-card strong{font-size:16px}.project-card p{font-size:13px;color:var(--muted);margin:3px 38px 0 0}.project-card .arrow{position:absolute;right:18px;top:20px;font-size:20px}.approach-grid{max-width:var(--max);margin:auto;padding:54px;display:grid;grid-template-columns:32% 39% 29%;gap:30px;align-items:center}.approach-copy p:not(.kicker){color:var(--muted);line-height:1.62}.approach-art{height:300px;overflow:hidden}.approach-art img{width:100%;height:100%;object-fit:cover}.guides{background:linear-gradient(135deg,#edf7f9,#e5f2f5);padding:28px 32px;min-height:290px}.guides h3{font-size:19px;letter-spacing:-.02em}.guides ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:18px}.guides li{display:flex;gap:15px;align-items:center;color:var(--muted);font-size:14px}.guide-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid rgba(7,56,75,.14);border-radius:50%;background:rgba(255,255,255,.42);color:var(--ink)}.guide-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.people-band{background:linear-gradient(90deg,#e6f3f6,#eff7f8)}.people-grid{max-width:var(--max);margin:auto;padding:38px 54px;display:grid;grid-template-columns:51% 49%;gap:50px;align-items:center}.people-photo img{width:100%;height:335px;object-fit:cover;object-position:center}.people-copy{padding-right:35px}.people-copy p:not(.kicker){color:var(--muted);line-height:1.6}.talk{max-width:var(--max);margin:auto;padding:31px 54px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:34px}.talk h2{font-size:40px;margin-bottom:5px}.talk p{color:var(--muted);margin:0;max-width:650px}
/* shared internal */.page-hero{max-width:var(--max);margin:auto;padding:76px 54px 62px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:70px;align-items:center}.page-hero--text{grid-template-columns:1fr;max-width:1000px;margin-left:max(0px,calc((100vw - 1440px)/2));}.page-hero h1{font-size:clamp(64px,7vw,104px);line-height:.95;margin:0 0 24px;max-width:930px}.page-hero .lead{max-width:720px}.page-hero-art{height:420px;overflow:hidden}.page-hero-art img{width:100%;height:100%;object-fit:cover}.section{padding:72px 54px}.section-inner{max-width:var(--max);margin:auto}.section--white{background:var(--paper)}.section--pale{background:var(--pale)}.section--soft{background:var(--pale2)}.split{display:grid;grid-template-columns:31% 1fr;gap:70px}.split h2{font-size:46px;line-height:1.05;margin-bottom:24px}.split .copy{max-width:830px}.split .copy p{font-size:17px;line-height:1.75;color:var(--muted)}.statement{font-size:30px!important;line-height:1.35!important;color:var(--ink)!important;font-weight:500;max-width:760px}.cards-3,.cards-4{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.info-card{background:var(--paper);padding:34px}.info-card .num{font-size:12px;letter-spacing:.18em;color:#326074;font-weight:700}.info-card h3{font-size:25px;letter-spacing:-.025em;margin:15px 0 12px}.info-card p{color:var(--muted);line-height:1.7;margin-bottom:0}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.feature-row img{width:100%;height:440px;object-fit:cover}.feature-row h2{font-size:48px;line-height:1.04}.feature-row p{font-size:17px;line-height:1.75;color:var(--muted)}.feature-row--reverse .feature-media{order:2}.feature-row--reverse .feature-copy{order:1}.quote-band{background:var(--deep);color:#fff;padding:76px 54px}.quote-band .section-inner{display:grid;grid-template-columns:31% 1fr;gap:70px}.quote-band blockquote{font-size:46px;line-height:1.1;font-weight:500;margin:0;max-width:900px}.quote-band p{color:#c9d8dd;line-height:1.7}.tag-row{display:flex;flex-wrap:wrap;gap:10px}.tag{border:1px solid #b8c7c9;padding:10px 14px;border-radius:999px;font-size:13px}.cta-band{padding:55px 54px}.cta-band .section-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}.cta-band h2{font-size:42px;margin:0}.cta-band p{color:var(--muted);margin:8px 0 0}
/* project pages */.project-hero{max-width:var(--max);margin:auto;padding:64px 54px 50px;display:grid;grid-template-columns:42% 58%;gap:46px;align-items:end}.project-hero h1{font-size:64px;line-height:.98;margin-bottom:20px}.project-hero img{width:100%;height:470px;object-fit:cover}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.project-meta span{font-size:12px;border:1px solid #b9c7ca;border-radius:999px;padding:8px 11px}.gallery{max-width:var(--max);margin:auto;padding:26px 54px 72px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;height:300px;object-fit:cover}.gallery img:first-child{grid-column:span 2}.gallery--after img:first-child{grid-column:auto}.project-outcome{background:var(--pale);padding:74px 54px}.project-outcome .section-inner{display:grid;grid-template-columns:31% 1fr;gap:70px}.project-outcome blockquote{font-size:44px;line-height:1.12;margin:0 0 24px;font-weight:500}.project-outcome p{color:var(--muted);line-height:1.75}.external-card{background:#fff;padding:32px;border:1px solid var(--line);margin-top:24px;max-width:700px}.external-card h3{font-size:24px}.external-card p{font-size:15px!important}.external-card a{font-weight:600}
/* contact/legal */.contact-grid{max-width:var(--max);margin:auto;padding:70px 54px 90px;display:grid;grid-template-columns:40% 60%;gap:70px}.contact-grid h1{font-size:72px;line-height:.96}.contact-grid .lead{max-width:520px}.contact-details{margin-top:34px;display:grid;gap:10px}.contact-details a{text-decoration:none}.contact-form{background:#fff;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px;border:1px solid var(--line)}.contact-form label{font-size:13px;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #cdd6d5;background:#fff;padding:13px 12px;font:inherit;color:var(--ink)}.contact-form textarea{min-height:140px;resize:vertical}.field-full{grid-column:1/-1}.form-status{grid-column:1/-1}.website-field{position:absolute!important;left:-9999px!important}.legal-hero{max-width:var(--max);margin:auto;padding:72px 54px 42px}.legal-hero h1{font-size:70px}.legal-content{max-width:900px;margin:auto;padding:20px 54px 90px}.legal-content h2{font-size:32px;margin:40px 0 14px}.legal-content p,.legal-content li{line-height:1.75;color:var(--muted)}.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse}.legal-table th,.legal-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.legal-table th{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
/* footer */.nc-footer{max-width:var(--max);margin:auto;padding:27px 54px 35px;display:grid;grid-template-columns:250px 1fr 280px;gap:38px;align-items:end;font-size:12px}.nc-footer-logo{width:220px}.nc-footer p{color:var(--muted);margin:10px 0 0}.nc-footer nav{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.nc-footer nav a{text-decoration:none}.nc-footer-company{text-align:right}.cookie-settings-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.cookie-banner{position:fixed;z-index:9999;left:1rem;right:1rem;bottom:1rem;max-width:760px;margin:auto;background:var(--deep);color:#fff;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.2);display:none}.cookie-banner.is-visible{display:block}.cookie-actions{display:flex;gap:10px}.cookie-button{border:1px solid #fff;background:transparent;color:#fff;padding:10px 14px;font:600 13px 'DM Sans',sans-serif}.cookie-button--primary{background:#fff;color:var(--deep)}
@media(max-width:900px){.nc-header{height:76px;padding:14px 22px}.nc-brand{width:205px}.menu-toggle{display:block}.nc-nav{display:none}.nc-nav.is-open{display:flex;position:absolute;left:0;right:0;top:76px;background:var(--cream);padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.home-hero{padding:24px 22px;grid-template-columns:1fr}.home-hero h1{font-size:66px}.hero-art{height:360px;order:-1}.home-pillars{padding:10px 22px 30px;grid-template-columns:1fr}.pillar{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.projects-grid,.approach-grid,.people-grid{padding:38px 22px;grid-template-columns:1fr}.approach-art{height:250px}.people-photo img{height:auto}.talk{padding:28px 22px;align-items:flex-start;flex-direction:column}.page-hero,.project-hero{padding:52px 22px 40px;grid-template-columns:1fr}.page-hero h1{font-size:58px}.page-hero-art{height:300px;order:-1}.section{padding:58px 22px}.split,.quote-band .section-inner,.project-outcome .section-inner{grid-template-columns:1fr;gap:28px}.cards-3,.cards-4{grid-template-columns:1fr}.feature-row{grid-template-columns:1fr}.feature-row--reverse .feature-media,.feature-row--reverse .feature-copy{order:initial}.feature-row img{height:330px}.quote-band{padding:58px 22px}.cta-band{padding:42px 22px}.cta-band .section-inner{align-items:flex-start;flex-direction:column}.project-hero img{height:330px}.gallery{padding:18px 22px 58px;grid-template-columns:1fr 1fr}.gallery img,.gallery img:first-child{height:230px;grid-column:auto}.gallery img:first-child{grid-column:1/-1;height:340px}.project-outcome{padding:58px 22px}.contact-grid{padding:52px 22px 72px;grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.field-full{grid-column:auto}.legal-hero{padding:52px 22px 30px}.legal-content{padding:10px 22px 70px}.nc-footer{padding:25px 22px;grid-template-columns:1fr}.nc-footer nav{justify-content:flex-start}.nc-footer-company{text-align:left}}

/* v9.1 project image storytelling */
.visual-story{max-width:var(--max);margin:0 auto;padding:36px 54px 82px}.visual-story--before{background:var(--cream)}.visual-story-head{display:grid;grid-template-columns:31% 1fr;gap:70px;align-items:start;margin-bottom:26px;border-top:1px solid var(--line);padding-top:20px}.visual-story-head p:last-child{max-width:620px;color:var(--muted);line-height:1.65;margin:0}.visual-story figure{margin:0;position:relative;overflow:hidden;background:#eef1ef}.visual-story img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.visual-story figure:hover img{transform:scale(1.015)}.visual-story figcaption{position:absolute;left:14px;bottom:14px;background:rgba(248,246,241,.92);padding:8px 11px;font-size:12px;line-height:1.2}.visual-mosaic{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:260px 260px;gap:12px}.visual-mosaic .visual-large{grid-row:1/3}.visual-mosaic .visual-tall{grid-row:1/3;grid-column:2}.visual-mosaic figure:nth-child(3),.visual-mosaic figure:nth-child(4){display:none}.visual-feature{height:620px;margin-bottom:12px}.visual-pair{display:grid;grid-template-columns:.72fr 1.28fr;gap:12px;margin-bottom:12px;height:500px}.visual-pair figure:first-child img{object-position:center 42%}.visual-mosaic--finish{grid-template-columns:1.35fr .65fr;grid-template-rows:250px 250px}.visual-mosaic--finish .visual-large{grid-row:1/3}.visual-mosaic--finish figure:nth-child(2),.visual-mosaic--finish figure:nth-child(3){display:block}.visual-mosaic--finish figure:nth-child(2){grid-column:2;grid-row:1}.visual-mosaic--finish figure:nth-child(3){grid-column:2;grid-row:2}.visual-story--after{padding-top:22px}
@media(max-width:900px){.visual-story{padding:24px 22px 58px}.visual-story-head{grid-template-columns:1fr;gap:8px}.visual-mosaic,.visual-mosaic--finish{grid-template-columns:1fr 1fr;grid-template-rows:auto}.visual-mosaic .visual-large,.visual-mosaic .visual-tall,.visual-mosaic--finish .visual-large,.visual-mosaic--finish figure:nth-child(2),.visual-mosaic--finish figure:nth-child(3){grid-column:auto;grid-row:auto}.visual-mosaic .visual-large{grid-column:1/-1;height:330px}.visual-mosaic .visual-tall{height:300px}.visual-mosaic figure:nth-child(3){display:block;height:300px}.visual-mosaic figure:nth-child(4){display:none}.visual-feature{height:360px}.visual-pair{height:auto;grid-template-columns:1fr 1fr}.visual-pair figure{height:330px}.visual-mosaic--finish figure{height:250px}.visual-mosaic--finish .visual-large{grid-column:1/-1;height:330px}}
@media(max-width:560px){.visual-mosaic,.visual-mosaic--finish,.visual-pair{grid-template-columns:1fr}.visual-mosaic .visual-large,.visual-mosaic--finish .visual-large{grid-column:auto}.visual-mosaic figure,.visual-mosaic .visual-large,.visual-mosaic .visual-tall,.visual-mosaic--finish figure,.visual-mosaic--finish .visual-large,.visual-pair figure{height:300px}.visual-feature{height:300px}}

/* v9.2 motion system — restrained, modern and accessibility-aware */
:root{--ease-out:cubic-bezier(.2,.7,.2,1);--ease-soft:cubic-bezier(.22,1,.36,1)}
.nc-header{transition:box-shadow .35s ease,background-color .35s ease,border-color .35s ease}
.nc-header.is-scrolled{background:rgba(248,246,241,.985);box-shadow:0 10px 34px rgba(7,56,75,.055);border-color:rgba(7,56,75,.08)}
.nc-nav a:not(.nc-cta){position:relative;text-decoration:none!important}
.nc-nav a:not(.nc-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-soft)}
.nc-nav a:not(.nc-cta):hover::after,.nc-nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.nc-cta,.nc-btn{transition:transform .3s var(--ease-out),box-shadow .3s ease,background-color .3s ease,color .3s ease}
.nc-cta:hover,.nc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(5,57,77,.13)}
.nc-btn--outline:hover{background:var(--deep);color:#fff!important}
.text-link{transition:opacity .25s ease,letter-spacing .3s var(--ease-out)}.text-link:hover{letter-spacing:.025em;opacity:.72}

.project-card{transition:transform .45s var(--ease-soft),box-shadow .45s ease}
.project-card img{transition:transform .75s var(--ease-soft),filter .45s ease}
.project-card .arrow{transition:transform .35s var(--ease-soft)}
.project-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(7,56,75,.09)}
.project-card:hover img{transform:scale(1.025)}
.project-card:hover .arrow{transform:translateX(5px)}
.pillar{transition:background-color .35s ease,transform .35s var(--ease-out)}
.pillar:hover{background:rgba(255,255,255,.42);transform:translateY(-2px)}
.info-card{transition:transform .4s var(--ease-soft),background-color .35s ease,box-shadow .4s ease}
.info-card:hover{transform:translateY(-4px);background:#fff;box-shadow:0 14px 36px rgba(7,56,75,.055)}
.tag{transition:background-color .25s ease,border-color .25s ease,transform .25s var(--ease-out)}
.tag:hover{background:#fff;border-color:#8ba4aa;transform:translateY(-2px)}

/* Scroll-in reveals are applied by JS so content remains visible without JavaScript. */
.motion-ready .motion-item{opacity:0;transform:translate3d(0,24px,0);transition:opacity .75s var(--ease-soft),transform .75s var(--ease-soft);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-ready .motion-item.motion-left{transform:translate3d(-28px,0,0)}
.motion-ready .motion-item.motion-right{transform:translate3d(28px,0,0)}
.motion-ready .motion-item.motion-scale{transform:scale(.975);transform-origin:center}
.motion-ready .motion-item.is-visible{opacity:1;transform:none}

/* Hero enters as one composed sequence rather than a generic fade. */
.motion-ready .home-hero-copy>*{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-soft),transform .8s var(--ease-soft)}
.motion-ready .home-hero-copy>*:nth-child(1){transition-delay:70ms}.motion-ready .home-hero-copy>*:nth-child(2){transition-delay:140ms}.motion-ready .home-hero-copy>*:nth-child(3){transition-delay:220ms}.motion-ready .home-hero-copy>*:nth-child(4){transition-delay:300ms}
.motion-ready.page-entered .home-hero-copy>*{opacity:1;transform:none}
.motion-ready .hero-art{opacity:0;transform:translateX(24px);transition:opacity 1s .12s var(--ease-soft),transform 1s .12s var(--ease-soft)}
.motion-ready.page-entered .hero-art{opacity:1;transform:none}

/* Illustrations drift almost imperceptibly; photography remains documentary. */
.hero-art img,.approach-art img,.page-hero-art img{transform:translate3d(0,var(--art-shift,0px),0) scale(1.015);transition:transform .12s linear;will-change:transform}

/* Photography reveals through a soft crop rather than flying onto the page. */
.motion-ready .visual-story figure,.motion-ready .feature-media,.motion-ready .people-photo,.motion-ready .project-hero>img{clip-path:inset(0 0 10% 0);opacity:.35;transition:clip-path .9s var(--ease-soft),opacity .8s ease}
.motion-ready .visual-story figure.media-visible,.motion-ready .feature-media.media-visible,.motion-ready .people-photo.media-visible,.motion-ready .project-hero>img.media-visible{clip-path:inset(0 0 0 0);opacity:1}
.visual-story figure:nth-child(2){transition-delay:90ms}.visual-story figure:nth-child(3){transition-delay:160ms}.visual-story figure:nth-child(4){transition-delay:230ms}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .motion-ready .motion-item,.motion-ready .home-hero-copy>*,.motion-ready .hero-art{opacity:1!important;transform:none!important}
  .motion-ready .visual-story figure,.motion-ready .feature-media,.motion-ready .people-photo,.motion-ready .project-hero>img{clip-path:none!important;opacity:1!important}
  .hero-art img,.approach-art img,.page-hero-art img{transform:none!important}
}
@media(max-width:900px){
  .hero-art img,.approach-art img,.page-hero-art img{transform:none!important}
  .project-card:hover,.pillar:hover,.info-card:hover,.nc-cta:hover,.nc-btn:hover{transform:none}
}

/* Project 02 — story-led case study */
.case-study--story{overflow:hidden}.story-hero{padding-bottom:82px}.story-hero>img{height:560px}.story-section{max-width:var(--max);margin:auto;padding:105px 54px;display:grid;grid-template-columns:40% 60%;gap:70px}.story-copy{padding-top:34px}.story-copy h2,.story-decision h2,.story-work h2,.story-transform h2,.story-finish h2,.story-outcome h2{font-size:52px;line-height:1.02;margin-bottom:28px}.story-copy p:not(.kicker),.story-decision p:not(.kicker),.story-work p,.story-transform-head p:not(.kicker),.story-finish-copy p:not(.kicker),.outcome-copy p{font-size:17px;line-height:1.75;color:var(--muted)}.story-stack{position:relative;padding:0 0 100px 40px}.story-stack figure{margin:0}.story-main-photo img{width:100%;height:620px;object-fit:cover}.story-main-photo figcaption,.finish-wide figcaption,.finish-pair figcaption{font-size:12px;color:var(--muted);margin-top:10px}.story-detail-photo{position:absolute;width:42%;right:-20px;bottom:0;border:12px solid var(--cream)}.story-detail-photo img{height:260px;width:100%;object-fit:cover}.story-decision{background:var(--pale);padding:100px 54px}.story-decision-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:52% 48%;gap:80px;align-items:center}.story-decision-inner>div:first-child{max-width:650px}.decision-mark{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:0;padding:40px}.decision-mark span{width:130px;height:155px;border:2px solid var(--ink);position:relative}.decision-mark span:before{content:"";position:absolute;left:-2px;right:-2px;top:-54px;height:54px;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--ink)}.decision-mark span:after{content:"";position:absolute;left:42px;bottom:0;width:42px;height:72px;border:2px solid var(--ink);background:var(--pale)}.decision-mark p{width:100%;text-align:center!important;margin:72px 0 0!important;color:var(--ink)!important;font-size:14px!important;font-weight:600}.story-work{max-width:var(--max);margin:auto;padding:110px 54px}.story-work-head{max-width:720px;margin-bottom:48px}.story-work-head>p:last-child{font-size:19px;color:var(--muted)}.process-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.process-strip figure{margin:0}.process-strip img{width:100%;height:390px;object-fit:cover}.process-strip figcaption{padding-top:13px;color:var(--muted);font-size:13px}.process-strip figcaption b{color:var(--ink);margin-right:10px}.story-work-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:920px;margin:60px 0 0 auto}.story-result-hero{max-width:var(--max);margin:auto;position:relative}.story-result-hero>img{width:100%;height:760px;object-fit:cover}.result-overlay{position:absolute;left:0;bottom:0;background:var(--deep);color:#fff;padding:38px 54px 42px;min-width:520px}.result-overlay .kicker{color:#dcebed}.result-overlay h2{font-size:38px;line-height:1.06;margin:0;color:#fff}.story-transform{max-width:var(--max);margin:auto;padding:110px 110px}.story-transform-head{max-width:720px;margin-bottom:42px}.compare{position:relative;height:650px;overflow:hidden;background:#dfe5e2;user-select:none}.compare img{width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0}.compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--position))}.compare-after img{position:absolute;inset:0}.compare-line{position:absolute;top:0;bottom:0;left:var(--position);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.compare-line span{position:absolute;top:50%;left:50%;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:var(--deep);color:#fff;font-size:20px;border:3px solid #fff}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.compare-label{position:absolute;top:20px;background:rgba(248,246,241,.92);padding:9px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.compare-label--before{left:20px}.compare-label--after{right:20px}.story-finish{max-width:var(--max);margin:auto;padding:35px 54px 120px}.story-finish-copy{max-width:680px;margin:0 0 55px auto}.story-finish figure{margin:0}.finish-wide img{width:100%;height:680px;object-fit:cover}.finish-pair{display:grid;grid-template-columns:42% 52%;gap:6%;align-items:start;margin-top:70px}.finish-pair figure:first-child{margin-top:100px}.finish-pair img{width:100%;height:590px;object-fit:cover}.story-outcome{background:var(--pale2)}.story-outcome .section-inner{display:grid;grid-template-columns:1.15fr .7fr 1fr;gap:70px;align-items:start}.story-outcome h2{font-size:40px}.outcome-stats p{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;margin:0}.outcome-stats strong{font-size:44px;font-weight:600;letter-spacing:-.05em}.outcome-stats span{color:var(--muted)}
@media(max-width:900px){.story-hero>img{height:390px}.story-section,.story-decision-inner,.story-outcome .section-inner{grid-template-columns:1fr}.story-section{padding:70px 22px;gap:40px}.story-copy{padding-top:0}.story-copy h2,.story-decision h2,.story-work h2,.story-transform h2,.story-finish h2{font-size:39px}.story-stack{padding:0 0 65px}.story-main-photo img{height:470px}.story-detail-photo{width:45%;right:-8px;border-width:8px}.story-detail-photo img{height:180px}.story-decision{padding:70px 22px}.decision-mark{transform:scale(.8);padding:55px 0 20px}.story-work{padding:75px 22px}.process-strip{grid-template-columns:1fr;gap:35px}.process-strip img{height:330px}.story-work-copy{grid-template-columns:1fr;gap:8px;margin-top:45px}.story-result-hero>img{height:540px}.result-overlay{min-width:0;width:88%;padding:28px 24px}.result-overlay h2{font-size:30px}.story-transform{padding:75px 22px}.compare{height:470px}.story-finish{padding:20px 22px 80px}.story-finish-copy{margin-left:0}.finish-wide img{height:460px}.finish-pair{grid-template-columns:1fr;gap:35px;margin-top:45px}.finish-pair figure:first-child{margin-top:0}.finish-pair img{height:440px}.story-outcome .section-inner{gap:35px}}

/* Project 01 — family-home case study */
.family-hero{grid-template-columns:47% 53%;align-items:stretch}.family-hero>div:first-child{align-self:center}.family-hero>.agent-crop{height:560px}.agent-crop{position:relative;overflow:hidden;margin:0}.agent-crop>img{display:block;width:100%;max-width:none;object-fit:cover}.agent-crop--hero>img{height:116%;object-position:center 40%}.family-decision .story-decision-inner{grid-template-columns:55% 45%}.family-plan-mark{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:55px 35px}.family-plan-mark span{height:150px;border:2px solid var(--ink);display:grid;place-items:center;font-size:16px;font-weight:700;letter-spacing:.16em;position:relative}.family-plan-mark span:before{content:"";position:absolute;left:-2px;right:-2px;top:-48px;height:48px;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--ink)}.family-plan-mark i{font-style:normal;font-size:34px}.family-plan-mark p{grid-column:1/-1;text-align:center!important;margin:20px 0 0!important;color:var(--ink)!important;font-size:14px!important;font-weight:600}.family-result>img{object-position:center 54%}.family-compare .compare-before,.family-compare .compare-after img{object-position:center 50%}.agent-crop--wide{height:620px}.agent-crop--wide>img{height:112%;object-position:center top}.agent-crop--wide figcaption{position:absolute;left:0;bottom:0;background:var(--cream);padding:10px 14px;margin:0}.family-finish-pair--reverse{grid-template-columns:52% 42%}.family-finish-pair--reverse figure:first-child{margin-top:0}.family-finish-pair--reverse figure:last-child{margin-top:100px}.agent-crop--portrait{height:590px}.agent-crop--portrait>img{height:112%;object-position:center top}.agent-crop--portrait figcaption{position:absolute;left:0;bottom:0;background:var(--cream);padding:9px 12px;margin:0}
@media(max-width:900px){.family-hero{grid-template-columns:1fr}.family-hero>.agent-crop{height:390px}.family-decision .story-decision-inner{grid-template-columns:1fr}.family-plan-mark{transform:scale(.86);padding:70px 0 20px}.agent-crop--wide{height:460px}.family-finish-pair--reverse{grid-template-columns:1fr}.family-finish-pair--reverse figure:last-child{margin-top:0}.agent-crop--portrait{height:440px}}

/* v9.6 — project-specific architectural strategy graphics */
.use-plan{display:grid;grid-template-columns:1fr 82px 1fr;gap:22px;align-items:center;padding:22px 0 8px}.use-plan-card{min-width:0}.use-plan-label{margin:0 0 13px!important;color:var(--ink)!important;font-size:13px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.use-plan-card small,.use-plan-arrow small{display:block;color:var(--muted);font-size:12px;line-height:1.45;margin-top:10px}.mini-plan{height:230px;border:2px solid var(--ink);position:relative;background:rgba(255,255,255,.25)}.mini-plan .room{position:absolute;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);font-size:10px;color:var(--ink);letter-spacing:.04em}.mini-plan--hmo .r1{left:0;top:0;width:47%;height:40%}.mini-plan--hmo .r2{right:0;top:0;width:39%;height:40%}.mini-plan--hmo .r3{left:0;bottom:0;width:47%;height:43%}.mini-plan--hmo .r4{right:0;top:40%;width:39%;height:36%}.mini-plan--hmo .r5{right:0;bottom:0;width:39%;height:24%}.mini-plan--hmo .corridor{position:absolute;left:47%;top:0;width:14%;height:100%;border-left:1.5px solid var(--ink);border-right:1.5px solid var(--ink)}.mini-plan--home .r1{left:0;top:0;width:55%;height:52%}.mini-plan--home .r2{left:0;bottom:0;width:55%;height:48%}.mini-plan--home .r3{right:0;top:0;width:45%;height:55%;background:rgba(190,219,230,.42)}.mini-plan--home .r4{right:0;bottom:0;width:45%;height:27%}.mini-plan--home .r5{right:0;top:55%;width:45%;height:18%}.use-plan-arrow{text-align:center;color:var(--ink)}.use-plan-arrow span{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;margin:auto;font-size:25px;background:rgba(255,255,255,.4)}.use-plan-arrow small{font-weight:600;color:var(--ink)}
.family-compare .compare-before{object-position:center 40%}.family-compare .compare-after img{object-position:center 36%}
.section-strategy{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;padding:16px 0}.section-house{position:relative;padding-top:80px}.section-roof{height:92px;border-left:2px solid var(--ink);border-top:2px solid var(--ink);border-right:2px solid var(--ink);clip-path:polygon(0 100%,18% 0,82% 0,100% 100%);position:relative;background:rgba(255,255,255,.25)}.section-roof .dormer{position:absolute;right:18%;bottom:0;width:34%;height:58%;border:2px solid var(--ink);background:var(--blue)}.section-floor{height:92px;border:2px solid var(--ink);border-top:0;display:grid;grid-template-columns:1fr 1fr}.section-floor span{display:grid;place-items:center;font-size:10px;color:var(--ink);border-right:1px solid var(--ink)}.section-floor span:last-child{border-right:0}.section-floor--upper{background:rgba(190,219,230,.18)}.section-callouts{display:grid;gap:20px}.section-callouts div{padding:0 0 18px 18px;border-left:2px solid var(--line);border-bottom:1px solid var(--line)}.section-callouts div.is-accent{border-left-color:var(--ink)}.section-callouts b{display:block;color:var(--ink);font-size:15px;margin-bottom:5px}.section-callouts span{display:block;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:900px){.use-plan{grid-template-columns:1fr;gap:18px}.use-plan-arrow{display:flex;align-items:center;gap:12px;justify-content:center}.use-plan-arrow span{margin:0;transform:rotate(90deg)}.use-plan-arrow small{margin:0}.mini-plan{height:210px}.section-strategy{grid-template-columns:1fr;gap:30px}.section-house{max-width:420px;width:100%;margin:auto}.section-callouts{grid-template-columns:1fr}.family-compare .compare-before{object-position:center 40%}.family-compare .compare-after img{object-position:center 34%}}

/* v9.7 — simplified project strategy device */
.strategy-shift{padding:34px 0 22px;max-width:610px}
.strategy-label{margin:0 0 22px!important;color:var(--muted)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.16em;text-transform:uppercase}
.strategy-route{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:24px}
.strategy-route strong{font-size:clamp(54px,5.4vw,88px);line-height:.9;letter-spacing:-.055em;font-weight:600;color:var(--ink)}
.strategy-arrow{height:2px;background:var(--blue);position:relative;display:block;transform-origin:left center}
.strategy-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:12px;height:12px;border-top:2px solid var(--blue);border-right:2px solid var(--blue);transform:translateY(-50%) rotate(45deg)}
.strategy-actions{margin:25px 0 0!important;color:var(--ink)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase}
.strategy-actions span{color:var(--muted);padding:0 7px}
.strategy-note{margin:14px 0 0!important;max-width:470px;color:var(--muted)!important;font-size:14px!important;line-height:1.6!important}
@media(max-width:700px){.strategy-shift{padding:18px 0 6px}.strategy-route{gap:15px;grid-template-columns:auto minmax(55px,1fr) auto}.strategy-route strong{font-size:clamp(42px,14vw,62px)}.strategy-actions{line-height:1.8}}
@media(prefers-reduced-motion:no-preference){.reveal.is-visible .strategy-arrow{animation:strategyLine .75s cubic-bezier(.2,.7,.2,1) both}@keyframes strategyLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}}
