:root{--paper:#f5f5f3;--ink:#292d2f;--muted:#656d70;--accent:#959d9f;--serif:'DM Serif Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(40px,4.4vw,72px)}h3{font-size:clamp(28px,2.5vw,40px)}img,video{display:block;width:100%;height:100%;object-fit:cover}.shell{width:calc(100% - 72px);max-width:1760px;margin-inline:auto}.eyebrow,.service-number,.media-index{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:500}.button{display:inline-flex;align-items:center;border-radius:7px;padding:16px 23px;background:var(--accent);color:#23292c;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#a8afb0;transform:translateY(-2px)}.button.light{background:var(--paper)}.underlink{font-size:14px;border-bottom:1px solid;padding-bottom:3px;display:inline-block}.underlink:hover{opacity:.7}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.skip{position:fixed;top:-100px;z-index:20;background:var(--paper);padding:14px}.skip:focus{top:10px}.nav{position:fixed;z-index:10;top:28px;left:36px;right:36px;max-width:1760px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 22px;gap:24px;color:var(--paper);border-radius:11px;transition:background .25s,color .25s,box-shadow .25s}.nav.scrolled,.nav.menu-open{background:var(--paper);color:var(--ink);box-shadow:0 3px 18px #292d2f12}.nav-left,.nav-right{display:flex;align-items:center;gap:24px;font-size:13px}.nav-right{justify-content:flex-end}.wordmark{font-family:var(--serif);font-size:34px;letter-spacing:-.055em;line-height:1}sup{font:10px 'DM Sans',sans-serif;vertical-align:top;display:inline-block;margin:4px 0 0 3px}.nav .underlink{font-size:13px}.menu-toggle{display:none}#mobile-menu[hidden]{display:none}
.hero{position:relative;margin:9px;border-radius:15px;overflow:hidden;min-height:860px;height:calc(100svh - 18px);max-height:1200px;isolation:isolate;color:var(--paper);background:#505c60}.hero-media{position:absolute;inset:0;background:#657175;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#1d252855,transparent),linear-gradient(0deg,#1d252840,transparent 45%);z-index:-1}.hero-copy{padding:clamp(160px,20vh,245px) 36px 220px;max-width:940px}.hero-copy>.eyebrow{margin-bottom:28px;color:#e0e7e9}h1{font-size:clamp(58px,5.7vw,94px);line-height:1.02}.hero-description{margin:30px 0 32px;font-size:16px;color:#e8edef;line-height:1.65}.hero-bottom{position:absolute;bottom:30px;left:36px;right:36px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.hero-note{display:flex;align-items:center;gap:16px;background:#f5f5f312;border:1px solid #f5f5f328;border-radius:10px;padding:18px 22px;font-size:12px}.hero-note .eyebrow{display:inline-block;margin-bottom:5px;font-size:9px;color:#e0e7e9}.note-arrow{font-size:34px}.hero-wordmark{font-family:var(--serif);font-size:clamp(120px,16vw,275px);line-height:.8;letter-spacing:-.065em}.hero-wordmark sup{font-size:16px;margin-top:15px}.intro{text-align:center;padding:145px 8% 125px}.intro>.eyebrow{margin-bottom:32px;color:var(--muted)}.intro h2{font-size:clamp(34px,4.25vw,68px);line-height:1.2;max-width:1250px;margin:auto}.intro h2 em{color:#596568}.inline-shape{display:inline-block;width:75px;height:39px;vertical-align:baseline;margin:0 8px}.lines{background:repeating-linear-gradient(135deg,var(--accent) 0 3px,transparent 3px 8px);border-radius:50%}.intro-note{margin-top:45px;font-size:12px;color:var(--muted)}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:35px;align-items:end;margin-bottom:38px}.section-heading>.eyebrow{align-self:start;padding-top:8px}.section-heading>p:last-child{font-size:13px;color:var(--muted)}.section-heading h2{font-size:clamp(35px,3.2vw,54px)}.services{padding-bottom:145px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{position:relative;background:#eeeae4;border-radius:12px;padding:28px 24px 48px;min-height:450px;display:flex;flex-direction:column;transition:background .3s}.service-number{font-size:9px;color:var(--muted)}.service-card h3{margin-top:22px;font-size:clamp(26px,2.4vw,38px);min-height:85px}.service-card p{font-size:13px;color:#655d54;max-width:240px}.service-art{height:175px;display:grid;place-items:center;position:relative;margin:8px 0 30px;overflow:hidden;border-radius:8px}.service-art img{position:absolute;inset:0}.art{display:block;width:110px;height:110px;transition:transform .5s}.service-card:hover{background:#dde3e4}.service-card:hover .art{transform:rotate(12deg)}.sun{border-radius:50%;background:repeating-conic-gradient(var(--accent) 0deg 3deg,transparent 3deg 9deg);mask:radial-gradient(circle,transparent 28%,#000 29%)}.arches{border-radius:60px 60px 0 0;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 7px,var(--accent) 8px 11px,transparent 12px 18px)}.steps{background:repeating-linear-gradient(0deg,var(--accent) 0 6px,transparent 6px 13px);clip-path:polygon(0 0,45% 0,45% 25%,70% 25%,70% 50%,100% 50%,100% 100%,0 100%)}.card-arrow{position:absolute;bottom:17px;right:23px;font-size:23px;color:#596568}
.expertise{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-bottom:130px;align-items:start}.expertise-intro{position:sticky;top:155px;padding-top:14px}.expertise-intro h2{margin:30px 0}.expertise-intro>p:not(.eyebrow){max-width:420px;color:var(--muted)}.expertise-intro .button{margin-top:65px}.expertise-list{display:grid;gap:35px}.detail-card{border-radius:12px;overflow:hidden;background:#ede8e0}.detail-media{height:340px;position:relative;overflow:hidden;background:#ded5c9}.detail-card:nth-child(2) .detail-media{background:#e3dfd7}.detail-card:nth-child(3) .detail-media{background:#d7c6b5}.detail-card:nth-child(4) .detail-media{background:#e9cebb}.media-index{position:absolute;left:25px;top:25px;font-size:10px;color:#62584b;z-index:1}.media-symbol{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:120px;color:#a7896b45}.detail-copy{padding:28px}.detail-copy h3{font-size:33px}.detail-copy p{margin:16px 0 23px;color:#655d54;font-size:14px;max-width:420px}.detail-copy .underlink{font-size:12px}.has-media .media-index,.has-media .media-symbol,.has-media .art,.has-media .partner-mark{display:none}.detail-media>img,.partner-media>img{position:absolute;inset:0}.approach{background:#dde3e4;color:var(--paper);padding:100px 0 110px}.approach-grid{display:grid;grid-template-columns:1fr 2.6fr;gap:50px}.approach-grid>.eyebrow{padding-top:13px;color:#687275}.approach h2{font-size:clamp(40px,4.5vw,70px);max-width:1000px}.approach h2 em{color:#6d787c}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px}.principles>div{border-top:1px solid #65747b30;padding-top:20px}.principles span{font-size:11px;color:#687275}.principles h3{font-size:28px;margin:25px 0 14px}.principles p{font-size:13px;color:#596468}.partnership{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding-block:135px}.partner-media{height:570px;background:#e8e0d5;border-radius:13px;position:relative;overflow:hidden;display:grid;place-items:center}.partner-mark{width:220px;height:220px;opacity:.45}.partnership h2{margin:28px 0}.partnership p:not(.eyebrow){max-width:430px;color:var(--muted);margin-bottom:30px}.contact{padding-bottom:85px}.contact-panel{position:relative;overflow:hidden;background:#e0e5e6;border-radius:13px;text-align:center;padding:95px 24px}.contact-content{position:relative;z-index:1}.contact h2{font-size:clamp(48px,5vw,80px);margin:28px 0}.contact p:not(.eyebrow){font-size:14px;color:#596468;margin-bottom:30px}.contact-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 13px,#65747b20 14px 16px,transparent 17px 24px);mask:linear-gradient(90deg,#000,transparent 25%,transparent 75%,#000)}footer{padding-bottom:25px}.footer-top{display:flex;justify-content:space-between;padding-bottom:65px;gap:40px}.footer-top .wordmark{font-size:48px}.footer-top p{font-size:13px;color:var(--muted);margin-top:20px}.footer-top nav{display:flex;gap:45px;font-size:13px;align-items:start}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ddd6cd;padding-top:22px;font-size:10px;color:var(--muted)}
@media(max-width:1100px){.nav-left,.nav-right{gap:15px;font-size:11px}.hero{min-height:780px}.hero-wordmark{font-size:17vw}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:400px}.service-card h3{min-height:70px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.expertise{gap:5%}.detail-media{height:280px}.approach-grid{grid-template-columns:1fr 3fr}.principles{gap:22px}.partnership{gap:6%}.partner-media{height:470px}}
@media(max-width:760px){html{scroll-padding-top:110px}.shell{width:calc(100% - 36px)}.nav{top:20px;left:23px;right:23px;padding:15px 17px;grid-template-columns:1fr auto;gap:16px;background:var(--paper);color:var(--ink)}.nav>.wordmark{grid-row:1;grid-column:1;font-size:30px}.nav-left,.nav-right{display:none}.menu-toggle{display:block;background:none;border:0;color:inherit;font-size:12px;padding:6px 0}#mobile-menu{grid-column:1/-1;display:grid;gap:4px;border-top:1px solid #ddd6cd;padding-top:10px}#mobile-menu a{padding:10px 0;font-size:14px}.hero{min-height:800px;height:calc(100svh - 14px);margin:7px;border-radius:12px}.hero-copy{padding:165px 22px 200px}h1{font-size:clamp(49px,9.5vw,72px)}.hero-copy>.eyebrow{font-size:9px}.hero-description{font-size:14px;max-width:310px}.hero-description br{display:none}.actions{gap:20px}.actions .underlink{font-size:12px}.button{font-size:12px;padding:15px 18px}.hero-bottom{left:22px;right:22px;bottom:28px;display:block}.hero-note{display:none}.hero-wordmark{font-size:25vw;text-align:right}.hero-wordmark sup{font-size:12px;margin-top:4px}.intro{padding:85px 4% 80px}.intro h2{font-size:clamp(31px,6vw,45px)}.inline-shape{width:45px;height:25px}.intro-note{font-size:10px;line-height:1.8;margin-top:30px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin:22px 0}.section-heading>p:last-child{font-size:13px}.services{padding-bottom:85px}.service-grid{gap:12px}.service-card{padding:22px 16px 43px;min-height:350px}.service-number{font-size:8px}.service-card h3{font-size:27px;min-height:85px;margin-top:18px}.service-art{height:100px;margin:12px 0 25px}.art{width:75px;height:75px}.service-card p{font-size:11px}.expertise{display:block;padding-bottom:80px}.expertise-intro{position:static;margin-bottom:45px}.expertise-intro .button{margin-top:28px}.expertise-intro h2{margin:22px 0}.detail-media{height:300px}.detail-copy h3{font-size:30px}.expertise-list{gap:22px}.approach{padding:65px 0}.approach-grid{display:block}.approach h2{font-size:40px;margin-top:27px}.principles{grid-template-columns:1fr;gap:28px;margin-top:40px}.principles h3{margin:13px 0 10px}.principles p{max-width:350px}.partnership{grid-template-columns:1fr;gap:40px;padding-block:75px}.partner-media{height:380px}.partner-mark{width:160px;height:160px}.partnership h2{margin:23px 0}.contact{padding-bottom:65px}.contact-panel{padding:65px 20px}.contact h2{font-size:48px}.contact-lines{opacity:.5}.footer-top{display:block;padding-bottom:35px}.footer-top nav{flex-wrap:wrap;gap:24px;margin-top:30px}.footer-bottom{flex-wrap:wrap;line-height:1.7}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.service-card h3{min-height:0}.service-art{height:120px}.service-card p{font-size:13px}.hero{min-height:790px}.hero-copy{padding-top:145px}.hero .actions{align-items:flex-start;flex-direction:column}}
.hero-media>img,.hero-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{background:linear-gradient(90deg,rgba(30,24,19,.66),rgba(30,24,19,.18)),linear-gradient(0deg,rgba(30,24,19,.3),transparent 55%)}
/* Full-bleed service photography with a shared hover and keyboard-focus treatment. */
.service-card{--card-zoom:1.01;--card-lift:0px;--card-accent:0;--arrow-ink:#f5f5f3;isolation:isolate;overflow:hidden;background:#292d2f;color:#f5f5f3;transition:none}
.service-card:hover{background:#292d2f}
.service-card .service-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;margin:0;border-radius:inherit;pointer-events:none}
.service-card .service-art img{width:100%;height:100%;object-fit:cover;transform:scale(var(--card-zoom));transition:transform 480ms cubic-bezier(.22,1,.36,1)}
.service-card .art{display:none}
.service-card::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(22,23,20,.68) 0%,rgba(22,23,20,.26) 40%,rgba(22,23,20,.35) 55%,rgba(22,23,20,.9) 100%)}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;z-index:3;background:var(--accent);transform-origin:left;transform:scaleX(var(--card-accent));transition:transform 350ms cubic-bezier(.22,1,.36,1)}
.service-card .service-number,.service-card h3,.service-card p{position:relative;z-index:2}
.service-card .service-number{color:#e8edef}
.service-card h3{color:#f5f5f3;transform:translateY(var(--card-lift));transition:transform 350ms cubic-bezier(.22,1,.36,1)}
.service-card p{margin-top:auto;color:#eef2f3;padding-right:12px;transform:translateY(var(--card-lift));transition:transform 350ms cubic-bezier(.22,1,.36,1)}
.service-card .card-arrow{z-index:2;bottom:16px;right:16px;width:34px;height:34px;display:grid;place-items:center;color:var(--arrow-ink);font-size:22px;transform:translateY(var(--card-lift));transition:transform 350ms cubic-bezier(.22,1,.36,1)}
.service-card .card-arrow::before{content:'';position:absolute;inset:0;border-radius:50%;background:#959d9f;z-index:-1;opacity:var(--card-accent);transform:scale(calc(.8 + var(--card-accent)*.2));transition:opacity 250ms ease-out,transform 350ms cubic-bezier(.22,1,.36,1)}
.service-card:focus-visible{--card-zoom:1.075;--card-lift:-6px;--card-accent:1;--arrow-ink:#23292c;outline:3px solid var(--accent);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.service-card:hover{--card-zoom:1.075;--card-lift:-6px;--card-accent:1;--arrow-ink:#23292c}}
/* Stacked Services & supply cards. Each following photo covers the previous card. */
.expertise-list{display:block;position:relative;isolation:isolate;padding-bottom:38px}
.expertise-list .detail-card{--stack-index:0;position:sticky;top:calc(136px + var(--stack-index)*14px);z-index:calc(1 + var(--stack-index));height:min(720px,calc(100svh - 220px));min-height:480px;margin-bottom:85px;isolation:isolate;background:#514a40;border-radius:14px;box-shadow:0 -8px 28px rgba(30,24,19,.1)}
.expertise-list .detail-card:nth-child(2){--stack-index:1}
.expertise-list .detail-card:nth-child(3){--stack-index:2}
.expertise-list .detail-card:nth-child(4){--stack-index:3;margin-bottom:0}
.expertise-list .detail-card:has(:focus-visible){z-index:6}
.expertise-list .detail-media{position:absolute;inset:0;z-index:0;height:100%;width:100%;background:#514a40}
.expertise-list .detail-media img{height:100%;width:100%;object-fit:cover}
.expertise-list .detail-card::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 35%,rgba(20,24,22,.35) 100%)}
.expertise-list .detail-copy{position:absolute;bottom:24px;left:24px;right:24px;z-index:2;padding:26px;border:1px solid rgba(240,247,249,.24);border-radius:13px;background:rgba(35,42,46,.83);color:#f6f8f8}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.expertise-list .detail-copy{background:rgba(42,49,53,.46);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}}
.detail-kicker{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#e3eaec;margin-bottom:18px}
.expertise-list .detail-copy h3{color:#f6f8f8;font-size:clamp(30px,2.7vw,44px)}
.expertise-list .detail-copy p{color:#edf2f3;max-width:100%;margin:15px 0 21px;font-size:14px}
.expertise-list .detail-copy .underlink{color:#f6f8f8;font-size:12px;margin:0 14px 8px 0}
.expertise-list .detail-copy .underlink:focus-visible{outline-color:var(--accent);outline-offset:4px}
@media(max-width:760px){.expertise-list{padding-bottom:25px}.expertise-list .detail-card{top:calc(112px + var(--stack-index)*10px);height:min(620px,calc(100svh - 190px));min-height:470px;margin-bottom:45px;border-radius:12px}.expertise-list .detail-copy{bottom:16px;left:16px;right:16px;padding:20px;border-radius:11px}.expertise-list .detail-copy h3{font-size:32px}.expertise-list .detail-copy p{font-size:13px;line-height:1.55;margin:13px 0 18px}.detail-kicker{font-size:9px;margin-bottom:15px}.expertise-list .detail-copy .underlink{font-size:11px;line-height:1.5}}
@media(max-height:600px){.expertise-intro{position:relative;top:auto}.expertise-list .detail-card{position:relative;top:auto;height:540px;margin-bottom:30px}}
/* Quiet grey approach section with architectural grid and fine contour lines. */
.approach{position:relative;isolation:isolate;overflow:hidden;background-color:#e5e8e8;background-image:linear-gradient(rgba(60,62,59,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(60,62,59,.035) 1px,transparent 1px);background-size:80px 80px;color:#30322f}
.approach::before{content:'';position:absolute;z-index:-1;pointer-events:none;left:-230px;top:-245px;width:640px;height:640px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 53px,rgba(61,65,60,.065) 54px 55px,transparent 56px 84px)}
.approach-grid>.eyebrow{color:#646862}
.approach h2 em{color:#6a6e67}
.approach .principles>div{border-color:rgba(62,66,60,.2)}
.approach .principles span{color:#666c63}
.approach .principles p{color:#5b6058}
/* Partner video: a clear inset against the same moving scene, softly blurred. */
.partnership{position:relative;isolation:isolate;display:block;width:100%;max-width:none;margin:0 0 95px;padding:105px 0;overflow:hidden;background:#3d4341;color:#f6f8f8}
.partners-backdrop{position:absolute;inset:-30px;z-index:-3;filter:blur(18px);transform:scale(1.06);pointer-events:none}
.partners-backdrop>img,.partners-backdrop>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.partners-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,25,23,.76),rgba(20,25,23,.39));pointer-events:none}
.partnership-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:8%;align-items:center;position:relative;z-index:1}
.partnership .partners-copy .eyebrow{font-size:11px;color:#edf2f3;margin:0 0 30px}
.partnership .partners-copy h2{font-size:clamp(48px,5vw,80px);line-height:1.05;margin:0 0 30px;color:#f6f8f8}
.partnership .partners-copy p:not(.eyebrow){font-size:17px;line-height:1.7;color:#edf2f3;max-width:470px;margin:0 0 38px}
.partnership .partners-copy .underlink{color:#f6f8f8;font-size:14px}
.partner-feature{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;aspect-ratio:6/5;background:#56615a;box-shadow:0 20px 55px rgba(10,15,12,.15)}
.partner-feature>img,.partner-feature>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}



@media(max-width:1000px){.partnership-layout{gap:5%}.partnership .partners-copy h2{font-size:54px}.partnership .partners-copy p:not(.eyebrow){font-size:15px}.partner-feature{aspect-ratio:1}}
@media(max-width:760px){.approach{background-size:64px 64px}.approach::before{opacity:.65}.partnership{padding:70px 0;margin-bottom:65px}.partnership-layout{grid-template-columns:1fr;gap:38px}.partnership .partners-copy .eyebrow{margin-bottom:23px}.partnership .partners-copy h2{font-size:52px;margin-bottom:23px}.partnership .partners-copy p:not(.eyebrow){font-size:15px;margin-bottom:25px}.partner-feature{aspect-ratio:6/5;border-radius:12px}.partners-scrim{background:linear-gradient(180deg,rgba(20,25,23,.75),rgba(20,25,23,.35))}}

/* Slow architectural pattern movement, active only while the section is visible. */
.approach{background-image:none}
.approach::before,.approach::after{content:none;animation:none}
.button{background:var(--accent);color:#23292c}
.button:hover{background:#a8afb0}
.button.light{background:#fff;color:#23292c}
.button.light:hover{background:#edf0f0}
.nav .nav-right .button,.expertise-intro .button,.contact-panel .button{background:#596568;color:#fff}
.nav .nav-right .button:hover,.expertise-intro .button:hover,.contact-panel .button:hover{background:#444f53;color:#fff}
a:focus-visible,button:focus-visible{outline-color:#596568}
.intro h2 em{color:#596568}
.contact-panel,.direct-contact{background:#e0e5e6;color:#292f32}
.contact p:not(.eyebrow){color:#596468}
.contact-panel{isolation:isolate}
.contact-lines{pointer-events:none;background:none;mask:radial-gradient(ellipse at 50% 45%,transparent 8%,rgba(0,0,0,.15) 30%,#000 72%);overflow:hidden}
.blueprint-grid,.blueprint-plan,.blueprint-compass{position:absolute;pointer-events:none}
.blueprint-grid{inset:-80px;background-image:linear-gradient(rgba(74,95,104,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(74,95,104,.13) 1px,transparent 1px),linear-gradient(rgba(74,95,104,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(74,95,104,.07) 1px,transparent 1px);background-size:200px 200px,200px 200px,40px 40px,40px 40px;animation:blueprint-grid-travel 12s linear infinite;animation-play-state:paused}
.blueprint-plan{inset:-120px;background:url('assets/conversation-blueprint.svg') center/1400px 900px repeat;opacity:.6;animation:blueprint-plan-travel 16s ease-in-out infinite alternate;animation-play-state:paused}
.blueprint-compass{width:480px;height:480px;right:-160px;top:-180px;border:1px solid rgba(74,95,104,.3);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(74,95,104,.26) 0deg .35deg,transparent .35deg 10deg);mask:radial-gradient(circle,transparent 58%,#000 58.4% 60%,transparent 60.4% 66%,#000 66.4%);animation:blueprint-compass-turn 32s linear infinite;animation-play-state:paused}
.contact-panel::after{content:none}
@media(max-width:760px){.approach{--pattern-step:64px}}
.contact-panel .contact-lines{inset:0;opacity:1}
.contact-panel.pattern-active .blueprint-grid,.contact-panel.pattern-active .blueprint-plan,.contact-panel.pattern-active .blueprint-compass{animation-play-state:running}
@keyframes blueprint-grid-travel{from{transform:translate3d(0,0,0)}to{transform:translate3d(40px,40px,0)}}
@keyframes blueprint-plan-travel{from{transform:translate3d(-65px,40px,0) rotate(-4deg) scale(1.03)}to{transform:translate3d(95px,-60px,0) rotate(3deg) scale(1.1)}}
@keyframes blueprint-compass-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:760px){.blueprint-plan{background-size:1000px 643px;opacity:.5}.contact-lines{mask:radial-gradient(ellipse at 50% 45%,transparent 5%,rgba(0,0,0,.12) 35%,#000 80%)}}
.approach-blueprint{position:absolute;inset:0;overflow:hidden;pointer-events:none;mask:linear-gradient(90deg,#000,rgba(0,0,0,.35) 35%,rgba(0,0,0,.2) 65%,rgba(0,0,0,.65))}
.approach-grid{position:relative;z-index:1}
.approach .blueprint-plan{opacity:.26;animation-duration:20s}
.blueprint-circles{position:absolute;inset:-100px;pointer-events:none;background:url('assets/approach-circles.svg') center/1400px 900px repeat;opacity:.58;animation:blueprint-circle-travel 18s ease-in-out infinite alternate;animation-play-state:paused}
.approach .blueprint-compass{width:580px;height:580px;left:-140px;top:-90px;right:auto;animation-duration:38s}
.approach .blueprint-compass--second{width:440px;height:440px;left:auto;right:-70px;top:auto;bottom:-170px;animation-direction:reverse;animation-duration:30s}
.approach .blueprint-compass--third{width:250px;height:250px;left:48%;top:-130px;animation-duration:26s}
.approach.pattern-active .blueprint-grid,.approach.pattern-active .blueprint-plan,.approach.pattern-active .blueprint-circles,.approach.pattern-active .blueprint-compass{animation-play-state:running}
@keyframes blueprint-circle-travel{from{transform:translate3d(-50px,35px,0) rotate(-3deg) scale(1.02)}to{transform:translate3d(70px,-45px,0) rotate(4deg) scale(1.09)}}
@media(max-width:760px){.approach-blueprint{mask:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.18) 48%,rgba(0,0,0,.5))}.blueprint-circles{background-size:1000px 643px;opacity:.5}.approach .blueprint-plan{opacity:.18}.approach .blueprint-compass--second{bottom:-100px}}
@media(prefers-reduced-motion:reduce){.approach::before,.approach::after,.blueprint-grid,.blueprint-plan,.blueprint-compass,.blueprint-circles{animation:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.service-card:focus-visible,.service-card:hover{--card-zoom:1.01;--card-lift:0px}.expertise-list .detail-card{position:relative;top:auto}}
