@charset "UTF-8";
@font-face{font-family:Instrument;src:url('./fonts/instrument-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Instrument;src:url('./fonts/instrument-sans-semibold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:InstrumentSerif;src:url('./fonts/instrument-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{color-scheme:light;--ink:#181919;--muted:#656767;--paper:#fff;--soft:#f3f3f1;--line:#d9dada;--accent:#d73122;--night:#101112;--max:1380px;font-family:Instrument,Arial,sans-serif;font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:white}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
img{max-width:100%;display:block}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400;line-height:1.06;letter-spacing:-.045em}
p{color:var(--muted)}
em{font-family:InstrumentSerif,Georgia,serif;font-weight:400;letter-spacing:-.045em}
.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;background:white;color:var(--ink);padding:12px 22px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{display:flex;align-items:center;gap:20px;width:fit-content}
.brand-logo{display:block;width:164px;height:auto;flex-shrink:0}
.footer-main .brand-logo{width:184px}
@media(max-width:760px){.brand-logo{width:142px}.footer-main .brand-logo{width:164px}}
.wordmark{font-size:2.1rem;line-height:1;font-weight:600;letter-spacing:-.065em}
.wordmark>span{color:var(--accent)}
.brand-caption{font-size:.75rem;letter-spacing:.055em;line-height:1.4;max-width:90px;color:var(--muted)}
.main-nav{display:flex;align-items:center;gap:36px;font-size:.9375rem}
.main-nav>a{position:relative;min-height:44px;display:flex;align-items:center;gap:30px}
.main-nav>a:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav>a:hover:after,.main-nav>a[aria-current=page]:after{transform:scaleX(1)}
.nav-contact{font-weight:600}
.nav-contact>span{color:var(--accent);font-size:1.45rem}
.menu-toggle{display:none}
.homepage .site-header{background:var(--paper);color:var(--ink);border-bottom-color:var(--line)}
.homepage .brand-caption{color:#b7babb}
.photon-stage{position:relative;isolation:isolate;background:var(--night);color:#fafaf8;overflow:hidden}
.photon-art{position:absolute;inset:0;z-index:-2;pointer-events:none}
.photon-art canvas,.photon-fallback{width:100%;height:100%;display:block;position:absolute;inset:0}
.photon-fallback{opacity:.75;stroke-width:1.5px}
.photon-art.has-canvas .photon-fallback{display:none}
.photon-stage:after{position:absolute;content:"";inset:0;z-index:-1;background:linear-gradient(90deg,#101112 0%,rgb(16 17 18 / .92) 12%,rgb(16 17 18 / .4) 45%,transparent 75%);pointer-events:none}
.stage-content{position:relative;min-height:min(810px,calc(100svh - 88px));padding-top:29px;display:flex;flex-direction:column}
.hero-kicker{display:flex;justify-content:space-between;gap:32px;font-size:.75rem;letter-spacing:.085em;line-height:1.5;color:#b5b8ba}
.local-note{display:flex;align-items:center;gap:15px}
.swiss-cross{font-family:Arial,sans-serif;font-size:1.35rem;color:#f34d3f;line-height:1}
.hero-copy{position:relative;margin-top:52px;margin-bottom:42px}
.hero-copy h1{font-size:clamp(5.5rem,9.8vw,9.6rem);line-height:.98;letter-spacing:-.07em;margin:0 0 36px;max-width:920px}
.hero-copy h1 em{display:inline-block;font-size:1.31em;line-height:.92;letter-spacing:-.055em;margin-left:-.025em;padding-right:.08em}
.hero-copy>p{color:#d0d2d2;font-size:1.125rem;line-height:1.6;margin-bottom:0;max-width:380px}
.hero-utility{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:auto;margin-bottom:24px;color:#b5b8ba;font-size:.8125rem}
.motion-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:10px 0 10px 12px;font-size:.875rem;color:#e3e5e5;min-height:44px}
.motion-toggle svg{width:16px;height:16px;stroke-width:1.7}
.motion-toggle:hover{color:white}
.audience-paths{display:grid;grid-template-columns:1fr 1.18fr;border-top:1px solid #626668}
.audience-path{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:center;padding:24px 32px;overflow:hidden;transition:color .3s ease}
.audience-path:before{content:"";position:absolute;inset:0;z-index:-1;background:#f6f6f3;transform:translateY(101%);transition:transform .35s cubic-bezier(.2,.65,.3,1)}
.audience-path:nth-child(2){border-left:1px solid #626668;padding-left:32px}
.path-label{font-size:.75rem;letter-spacing:.085em;color:#aeb2b4;grid-column:1;transition:color .3s}
.path-title{font-size:clamp(1.6rem,2.5vw,2.45rem);line-height:1.2;letter-spacing:-.04em;grid-column:1}
.path-arrow{grid-column:2;grid-row:1/3;font-size:2.8rem;font-weight:400;line-height:1;transition:transform .35s}
.audience-path:hover,.audience-path:focus-visible{color:var(--ink)}
.audience-path:hover:before,.audience-path:focus-visible:before{transform:translateY(0)}
.audience-path:hover .path-label,.audience-path:focus-visible .path-label{color:var(--muted)}
.audience-path:hover .path-arrow,.audience-path:focus-visible .path-arrow{transform:translate(4px,-4px);color:var(--accent)}
.path-label,.path-title{transition:transform .35s,color .3s}
.eyebrow{font-size:.75rem;letter-spacing:.075em;line-height:1.5;font-weight:400;color:var(--muted);margin-bottom:30px}
.section{padding-block:104px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:58px}
h2,.section-heading h2{font-size:clamp(2.6rem,4.2vw,4.3rem);line-height:1.06;margin-bottom:0}
.section-heading h2 em{font-size:1.2em;line-height:1.1}
.section-heading>p{font-size:1rem;line-height:1.7;margin-bottom:8px;max-width:340px}
.service-list{border-top:1px solid var(--ink)}
.service-item{border-bottom:1px solid var(--line)}
.service-item summary{position:relative;list-style:none;display:grid;grid-template-columns:70px 1fr auto 30px;gap:24px;align-items:center;padding:25px 0;cursor:pointer;min-height:98px}
.service-item summary::-webkit-details-marker{display:none}
.service-item summary:after{content:"+";font-size:2rem;line-height:1;text-align:center;font-weight:400;transition:color .2s}
.service-item[open] summary:after{content:"−";color:var(--accent)}
.service-number{color:var(--muted);font-size:.8125rem}
.service-item .service-title{margin:0;font-size:clamp(1.4rem,2.4vw,2.25rem);line-height:1.2;transition:transform .25s,color .25s}
.service-hint{color:var(--muted);font-size:.875rem}
.service-item summary:hover .service-title{transform:translateX(10px);color:var(--accent)}
.service-item summary:hover:after{color:var(--accent)}
.service-content{padding:0 54px 30px 94px;max-width:820px}
.service-content p{font-size:1.0625rem;line-height:1.75;margin-bottom:14px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:.9375rem;line-height:1.5;min-height:44px;padding-block:8px;border-bottom:1px solid var(--ink)}
.text-link span{font-size:1.4rem;transition:transform .25s}
.text-link:hover{color:var(--accent);border-color:var(--accent)}
.text-link:hover span{transform:translate(3px,-3px)}
.about-section{background:var(--soft);padding-block:94px}
.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.experience-statement>span{font-size:clamp(7rem,14vw,14rem);letter-spacing:-.085em;line-height:.85;display:block;font-weight:400}
.experience-statement>span>span{color:var(--accent);font-size:.5em;vertical-align:top;line-height:1.3;padding-left:.08em}
.experience-statement p{font-size:1rem;line-height:1.5;margin:26px 0 0 10px}
.about-copy h2{font-size:clamp(2.4rem,3.7vw,3.65rem);margin-bottom:28px}
.about-copy h2 em{font-size:1.18em}
.about-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.75;max-width:515px}
.contact-section{background:var(--accent);color:white;padding-block:75px 36px;overflow:hidden}
.contact-section .eyebrow{color:#ffe6e2}
.contact-section h2{font-size:clamp(4.5rem,9vw,9.2rem);letter-spacing:-.065em;line-height:1}
.contact-section h2 a{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:100%;width:fit-content;min-width:75%}
.contact-section h2 em{font-size:1.3em;line-height:1.1;padding-right:.06em}
.contact-section h2 a>span{font-size:.9em;transition:transform .35s}
.contact-section h2 a:hover>span{transform:translate(14px,-14px)}
.contact-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:50px;padding-top:23px;border-top:1px solid rgb(255 255 255 / .5)}
.contact-email{font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:-.03em}
.contact-phone{font-size:1.25rem;letter-spacing:-.02em}
.contact-email:hover,.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}
.contact-bottom .text-link{border-color:transparent}
.contact-bottom .text-link:hover{color:white;border-color:white}
.site-footer{background:var(--paper);border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-block:48px}
.footer-main .brand{flex-direction:column;align-items:flex-start;gap:15px}
.footer-main .brand-caption{max-width:none}
.footer-main h2{font-size:.8125rem;letter-spacing:0;font-weight:600;margin-bottom:15px;line-height:1.5}
.footer-main p{font-size:.875rem;margin:20px 0 0}
.footer-main address{font-style:normal;color:var(--muted);font-size:.9375rem;line-height:1.8}
.footer-main>div>a:not(.brand){display:block;color:var(--muted);font-size:.9375rem;width:fit-content;line-height:2;min-height:32px}
.footer-main>div>a:not(.brand):hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:20px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--ink);color:white;padding:15px 24px;min-height:54px;font-size:.9375rem;line-height:1.5;transition:background .2s,color .2s}
.button>span{font-size:1.4rem;line-height:1;transition:transform .25s}
.button:hover{background:var(--accent)}
.button:hover>span{transform:translate(3px,-3px)}
.button-white{background:white;color:var(--ink)}
.button-white:hover{background:#eceeed;color:var(--ink)}
.button-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.page-hero{padding-top:32px;padding-bottom:72px}
.breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.8125rem;line-height:1.5;color:var(--muted);margin-bottom:54px}
.breadcrumb a:hover{color:var(--accent)}
.page-hero .eyebrow{margin-bottom:24px}
.page-hero h1{font-size:clamp(3.25rem,5.9vw,6.3rem);line-height:1.04;max-width:1150px;margin-bottom:30px;letter-spacing:-.055em}
.page-hero h1>span{font-family:InstrumentSerif,Georgia,serif;font-style:italic;font-size:1.15em;font-weight:400;line-height:1.1}
.page-intro{font-size:1.125rem;line-height:1.75;max-width:670px;margin-bottom:30px}
.section-pale{background:var(--soft)}
.detail-services{display:grid;grid-template-columns:1fr;border-top:1px solid var(--ink)}
.detail-card{display:grid;grid-template-columns:50px .85fr 1.15fr;gap:14px 30px;position:relative;padding:34px 0;border-bottom:1px solid var(--line)}
.card-index{font-size:.8125rem;color:var(--muted);letter-spacing:.06em;line-height:1.5}
.detail-card .card-index{grid-column:1;grid-row:1;padding-top:6px}
.detail-card h3{font-size:1.75rem;line-height:1.15;grid-column:2;grid-row:1/3;margin-bottom:0;max-width:310px}
.detail-card p{font-size:1rem;grid-column:3;grid-row:1;margin-bottom:0;line-height:1.75}
.detail-card ul{grid-column:3;grid-row:2;margin:0;padding-left:18px;color:var(--muted);font-size:.9375rem;line-height:1.8}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.editorial-grid p{font-size:1.0625rem;line-height:1.85}
.editorial-grid h2{font-size:clamp(2.35rem,3.5vw,3.4rem)}
.company-logo{width:230px;height:auto;margin-bottom:35px}
.values-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.values-list li{border-bottom:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:40px 1fr;gap:20px}
.values-list h3{font-size:1.6rem;margin:0 0 14px}
.values-list p{font-size:1rem;margin:0}
.contact-banner{padding:54px;background:var(--night);color:white;display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center}
.contact-banner .eyebrow{color:#b6babb;margin-bottom:25px}
.contact-banner h2{font-size:clamp(2.35rem,3.7vw,3.6rem);margin-bottom:22px}
.contact-banner p{color:#bfc3c5;font-size:1rem;margin-bottom:0;max-width:500px}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.contact-actions>span{font-size:.875rem;color:#bfc3c5}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-card{border-top:1px solid var(--ink);padding:30px 0 0}
.contact-card h2{font-size:2.6rem;margin-bottom:20px}
.contact-card p{max-width:440px;font-size:1.0625rem;margin-bottom:30px}
.service-icon{display:inline-flex;color:var(--accent);margin-bottom:28px}
.contact-card .big-link{font-size:clamp(1.5rem,3vw,2.6rem);letter-spacing:-.045em;overflow-wrap:anywhere;line-height:1.2}
.contact-card .big-link:hover{color:var(--accent)}
.contact-card .text-link{display:flex;width:fit-content;margin-top:24px}
.contact-note{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px;border-top:1px solid var(--line);padding-top:35px}
.contact-note h2{font-size:1.6rem;margin-bottom:18px}
.contact-note p{max-width:470px}
.contact-note address{font-style:normal;color:var(--muted);line-height:1.8}
.prose{max-width:790px}
.prose h2{font-size:1.7rem;margin:38px 0 16px}
.prose p{line-height:1.85}
.reveal-in{animation:reveal-in .65s cubic-bezier(.16,1,.3,1) both}
@keyframes reveal-in{from{opacity:.2;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px) and (min-height:950px){.hero-copy{margin-top:75px;margin-bottom:65px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.brand-caption{display:none}.hero-copy{margin-top:60px}.stage-content{min-height:700px}.hero-copy h1{font-size:clamp(5.8rem,11vw,8rem)}.section-heading h2{font-size:3.1rem}.service-item summary{grid-template-columns:48px 1fr auto 25px;gap:20px}.service-content{padding-left:68px}.service-hint{font-size:.8125rem}.about-layout,.editorial-grid{gap:50px}.contact-banner{padding:42px;gap:40px}}
@media(max-width:760px){html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:20px}.wordmark{font-size:1.9rem}.main-nav{gap:24px;font-size:.875rem}.main-nav>a{gap:12px}.stage-content{min-height:690px;padding-top:24px}.hero-kicker{font-size:.75rem;letter-spacing:.035em}.local-note{display:none}.hero-copy{margin-top:62px;margin-bottom:48px}.hero-copy h1{font-size:clamp(5.2rem,14vw,7.5rem);margin-bottom:32px}.hero-copy>p{font-size:1.0625rem}.hero-utility{margin-bottom:20px}.hero-utility>span{max-width:230px;font-size:.8125rem}.audience-paths{grid-template-columns:1fr 1.35fr}.audience-path{padding:22px 24px;gap:18px}.audience-path:nth-child(2){padding-left:24px}.path-title{font-size:1.7rem;max-width:240px}.path-label{font-size:.75rem;letter-spacing:.035em}.path-arrow{font-size:2rem}.section{padding-block:74px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:2.65rem}.section-heading>p{margin:24px 0 0}.section-heading>p br{display:none}.service-item summary{grid-template-columns:32px 1fr 24px;gap:16px;min-height:88px;padding:22px 0}.service-hint{display:none}.service-item .service-title{font-size:1.5rem}.service-content{padding:0 15px 26px 48px}.service-content p{font-size:1rem}.about-section{padding-block:70px}.about-layout{grid-template-columns:.65fr 1fr;gap:36px}.experience-statement>span{font-size:7rem}.experience-statement p{margin-left:2px;font-size:.9375rem}.about-copy h2{font-size:2.5rem}.about-copy .eyebrow{margin-bottom:20px}.contact-section{padding-block:55px 24px}.contact-section h2{font-size:6rem}.contact-bottom{margin-top:36px;gap:18px 35px}.contact-bottom .contact-email{font-size:1.4rem}.footer-main{gap:30px;grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-main .brand-caption{display:block}.page-hero{padding-bottom:48px}.page-hero h1{font-size:3.8rem}.breadcrumb{margin-bottom:35px}.detail-card{grid-template-columns:35px 1fr;gap:15px 20px;padding:28px 0}.detail-card h3{grid-column:2;grid-row:1;font-size:1.7rem;max-width:none}.detail-card p{grid-column:2;grid-row:2}.detail-card ul{grid-column:2;grid-row:3}.editorial-grid{grid-template-columns:1fr;gap:40px}.contact-banner{padding:35px;grid-template-columns:1fr;gap:28px}.contact-grid{gap:35px}.contact-note{gap:35px;margin-top:50px}.contact-card h2{font-size:2.15rem}.contact-card .big-link{font-size:1.5rem}}
@media(max-width:480px){.header-inner{flex-wrap:wrap;gap:0 20px}.menu-toggle{display:flex;align-items:center;gap:10px;padding:12px 0 12px 14px;border:0;background:transparent;color:inherit;min-height:44px;font-size:.9375rem}.main-nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-bottom:22px}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.main-nav>a{min-height:46px;justify-content:space-between;font-size:1.0625rem}.stage-content{min-height:640px;padding-top:22px}.hero-kicker{font-size:.75rem;letter-spacing:.025em}.hero-copy{margin-top:54px;margin-bottom:43px}.hero-copy h1{font-size:clamp(4.5rem,16vw,5.8rem);letter-spacing:-.075em;line-height:1;margin-bottom:28px}.hero-copy h1 em{font-size:1.25em;letter-spacing:-.055em}.hero-copy>p{font-size:1rem;max-width:260px}.photon-stage:after{background:linear-gradient(90deg,#101112 0%,rgb(16 17 18 / .85) 10%,rgb(16 17 18 / .25) 80%,transparent)}.hero-utility{gap:10px;margin-bottom:12px}.hero-utility>span{max-width:160px}.motion-toggle{font-size:.8125rem;gap:5px;white-space:nowrap}.audience-paths{grid-template-columns:1fr}.audience-path,.audience-path:nth-child(2){padding:20px;border-left:0;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px}.audience-path:nth-child(2){border-top:1px solid #626668}.path-label{font-size:.75rem}.path-title{font-size:1.6rem;max-width:none}.path-arrow{font-size:2rem}.section{padding-block:57px}.eyebrow{font-size:.75rem;margin-bottom:22px}.section-heading h2{font-size:2.1rem}.section-heading h2 em{font-size:1.16em}.service-item summary{grid-template-columns:24px 1fr 21px;gap:12px;min-height:82px}.service-item .service-title{font-size:1.25rem;letter-spacing:-.035em;line-height:1.3}.service-item summary:after{font-size:1.75rem}.service-number{font-size:.75rem}.service-content{padding-left:36px;padding-right:0}.service-content .text-link{gap:16px;font-size:.875rem}.about-layout{grid-template-columns:1fr;gap:42px}.experience-statement{display:flex;gap:30px;align-items:flex-end}.experience-statement>span{font-size:7.5rem}.experience-statement p{margin:0;line-height:1.6}.about-copy h2{font-size:2.1rem}.about-copy>p:not(.eyebrow){font-size:1rem}.about-section{padding-block:55px}.contact-section h2{font-size:clamp(3.6rem,14vw,5rem)}.contact-section h2 em{font-size:1.2em}.contact-section h2 a{gap:20px;min-width:100%}.contact-section h2 a>span{font-size:.8em}.contact-bottom{flex-direction:column;align-items:flex-start;gap:10px;margin-top:30px}.contact-phone{font-size:1.2rem}.footer-main{padding-block:34px;gap:28px}.footer-main address,.footer-main>div>a:not(.brand){font-size:.875rem}.footer-bottom{gap:13px 24px}.footer-bottom>span:last-child{width:100%}.page-hero{padding-top:24px}.page-hero h1{font-size:clamp(2.4rem,10vw,3.5rem);line-height:1.08}.page-intro{font-size:1.0625rem}.detail-card{grid-template-columns:25px 1fr;gap:14px}.detail-card h3{font-size:1.45rem}.detail-card ul{font-size:.9375rem}.contact-grid,.contact-note{grid-template-columns:1fr;gap:38px}.contact-banner{padding:30px 24px}.contact-banner h2{font-size:2.15rem}.contact-card .big-link{font-size:clamp(1.5rem,7vw,2rem)}.editorial-grid h2{font-size:2.1rem}.button{gap:24px;padding:14px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-in{opacity:1;transform:none}}

/* AI is a full editorial section, with the contact action close by. */
.ai-section{padding-block:90px;background:#f0f2f4}
.ai-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end}
.ai-intro h2{font-size:clamp(2.7rem,4.4vw,4.7rem);line-height:1.1}
.ai-intro h2 em{color:var(--accent);font-size:1.12em;line-height:1.15}
.ai-lede>p{font-size:1.125rem;line-height:1.75;margin-bottom:20px}
.ai-lede strong{font-weight:600;color:var(--ink)}
.ai-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:60px}
.ai-tools>.eyebrow{grid-column:1/-1;margin:0}
.ai-tool{border-top:2px solid var(--ink);padding-top:20px}
.ai-tool .ai-tool-role{font-size:.75rem;letter-spacing:.045em;line-height:1.6;margin-bottom:22px}
.ai-tool h3{font-size:clamp(1.5rem,2.2vw,2.15rem);margin-bottom:18px;line-height:1.2}
.ai-tool>p:last-child{font-size:1rem;line-height:1.7;margin-bottom:0}
.ai-outcome{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:45px;padding-top:30px;border-top:1px solid #c6c9cc}
.ai-outcome p{font-size:1rem;margin:0;line-height:1.7}
.ai-outcome strong{font-size:1.25rem;color:var(--ink);font-weight:600}
.ai-outcome>.text-link{flex-shrink:0}
.ai-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:65px}
.ai-offers>article{padding-top:24px;border-top:2px solid var(--ink)}
.ai-offers h3{font-size:1.9rem;line-height:1.2;margin-block:24px}
.ai-offers p{font-size:1rem;line-height:1.75}
.ai-offers .ai-example{color:var(--ink);margin-bottom:0;border-left:2px solid var(--accent);padding-left:16px}
.ai-open{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:end;padding-block:42px;margin-top:48px;border-top:1px solid #c6c9cc;border-bottom:1px solid #c6c9cc}
.ai-open .eyebrow{margin-bottom:18px}
.ai-open h3{font-size:2rem;line-height:1.15;margin-bottom:0}
.ai-open>p{margin:0;line-height:1.75;font-size:1.0625rem}
.ai-next{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:40px}
.ai-next h3{font-size:1.6rem;margin-bottom:12px;line-height:1.2}
.ai-next p{max-width:600px;margin:0;font-size:1rem;line-height:1.7}
.ai-next>.button{flex-shrink:0}
@media(max-width:1100px){.ai-intro{gap:40px}.ai-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.ai-tool h3{font-size:2rem}.ai-offers{gap:25px}.ai-offers h3{font-size:1.65rem}.ai-open{gap:40px}}
@media(max-width:760px){.ai-section{padding-block:64px}.ai-intro{grid-template-columns:1fr;gap:30px}.ai-intro h2{font-size:clamp(2.4rem,7vw,3.8rem)}.ai-lede>p{font-size:1.0625rem}.ai-tools{margin-top:42px}.ai-outcome,.ai-next{flex-direction:column;align-items:flex-start;gap:20px}.ai-offers{grid-template-columns:1fr;margin-top:42px;gap:35px}.ai-offers h3{font-size:1.9rem;margin-block:18px}.ai-open{grid-template-columns:1fr;gap:25px;margin-top:35px}.ai-open>p{font-size:1rem}}
@media(max-width:480px){.ai-section{padding-block:54px}.ai-intro h2{font-size:clamp(2rem,8.6vw,2.65rem)}.ai-tools{grid-template-columns:1fr;gap:28px}.ai-tool{padding-top:16px}.ai-tool .ai-tool-role{margin-bottom:12px}.ai-tool h3{font-size:1.8rem;margin-bottom:12px}.ai-outcome{margin-top:30px;padding-top:25px}.ai-outcome strong{font-size:1.15rem}.ai-lede .text-link{gap:20px}.ai-open h3{font-size:1.8rem}}

/* Direct contact stays outside the mobile navigation. */
.header-inner{gap:28px}
.header-inner>.brand{margin-right:auto;flex-shrink:0}
.main-nav{order:1;gap:28px}
.header-contact{order:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;background:var(--accent);color:white;font-size:.9375rem;font-weight:600;white-space:nowrap;transition:background .2s}
.header-contact svg{width:18px;height:18px}
.header-contact:hover{background:#b92317}
.stage-content{min-height:650px}
.hero-copy{margin-top:38px;margin-bottom:34px}
.hero-copy h1{font-size:clamp(4.6rem,7.3vw,7.5rem);margin-bottom:26px}
.hero-copy>p{max-width:440px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 30px;margin-top:24px}
.button-accent{background:var(--accent);color:white}
.button-accent:hover{background:#b92317}
.button>.action-label{font-size:.875rem;line-height:1.3}
.button>.action-label strong{display:block;font-size:1.125rem;font-weight:600;margin-top:4px;letter-spacing:0}
.button:hover>.action-label{transform:none}
.hero-email{display:inline-flex;align-items:center;gap:20px;min-height:48px;font-size:1rem;border-bottom:1px solid #999}
.hero-email:hover{border-color:white}
.photon-stage a:focus-visible{outline-color:white}
@media(max-width:1100px){.header-inner{gap:20px}.main-nav{gap:22px}.stage-content{min-height:650px}.hero-copy{margin-top:36px}}
@media(max-width:800px){
  .header-inner{flex-wrap:wrap;gap:0 12px;min-height:80px}
  .header-inner>.brand{order:1}
  .header-contact{order:2;padding:12px 15px}
  .menu-toggle{order:3;display:flex;align-items:center;justify-content:center;width:44px;min-height:48px;padding:8px;border:0;background:transparent;color:inherit}
  .main-nav{order:4;flex:0 0 100%;width:100%;flex-direction:column;align-items:stretch;gap:8px;padding-block:12px 22px}
  .js .main-nav{display:none}.js .main-nav.is-open{display:flex}
  .main-nav>a{min-height:46px;justify-content:space-between;font-size:1.0625rem}
  .stage-content{min-height:620px}.hero-copy{margin-top:32px;margin-bottom:30px}
  .hero-copy h1{font-size:clamp(4.5rem,10vw,6.5rem)}
}
@media(max-width:480px){
  .header-inner{min-height:76px;gap:0 8px}
  .header-inner .brand-logo{width:126px}
  .header-contact{min-height:44px;padding:10px 12px;font-size:.875rem;gap:7px}
  .header-contact svg{width:16px;height:16px}
  .menu-toggle{width:36px;min-height:44px}
  .stage-content{min-height:0;padding-top:20px}
  .hero-copy{margin-top:25px;margin-bottom:32px}
  .hero-copy h1{font-size:clamp(3.6rem,14.5vw,4.7rem);margin-bottom:24px}
  .hero-copy>p{max-width:100%;font-size:1rem}
  .hero-actions{gap:15px 20px;margin-top:20px}
  .hero-actions .button{padding:13px 18px;gap:28px}
  .hero-email{font-size:.9375rem;min-height:44px}
  .hero-utility{margin-top:0}
}
@media(max-width:360px){.header-inner{gap:0 6px}.header-inner .brand-logo{width:112px}.header-contact{padding:10px;font-size:.8125rem}.menu-toggle{width:32px}}

/* Keep moving icons inside their hit areas, including narrow layouts. */
.photon-stage .audience-path:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.path-arrow{display:block;flex:none}
.service-item summary:hover .service-title{transform:none}
.button,.text-link,.hero-email{max-inline-size:100%;min-inline-size:0}
.button>span[aria-hidden="true"],.text-link>span[aria-hidden="true"],.hero-email>span[aria-hidden="true"]{display:inline-block;flex:none}
.text-link,.hero-email{padding-right:6px}
.contact-section h2 a{padding-right:18px;gap:clamp(16px,3vw,40px)}
.contact-section h2 a>span{display:inline-block;flex:none}
.contact-section h2 a:hover>span,.contact-section h2 a:focus-visible>span{transform:translate(8px,-8px)}
.contact-section a:focus-visible,.contact-banner a:focus-visible{outline-color:white}
.motion-toggle{padding-inline:12px}
.ai-offers>article{display:flex;flex-direction:column}
.ai-offers .ai-example{margin-top:auto}
@media(max-width:760px){.contact-section h2{font-size:clamp(3rem,11vw,6rem)}}

/* A brief local introduction leads into the AI section. */
.local-intro{padding-block:56px}
.local-intro-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}
.local-intro .eyebrow{margin-bottom:18px}
.local-intro h2{font-size:clamp(2rem,3vw,3rem);line-height:1.15;margin-bottom:0}
.local-intro h2 em{color:var(--accent)}
.local-intro-layout>p{font-size:1.125rem;line-height:1.75;margin-bottom:0}
@media(max-width:1100px){.local-intro-layout{gap:40px}}
@media(max-width:760px){.local-intro{padding-block:42px}.local-intro-layout{grid-template-columns:1fr;gap:22px}.local-intro-layout>p{font-size:1.0625rem}}
@media(max-width:480px){.local-intro h2{font-size:clamp(1.75rem,7.2vw,2.15rem)}}

/* Desktop presence: luminous hero, service diagrams, and restrained editorial motion. */
.homepage .ai-tools{gap:0;border-bottom:1px solid #c6c9cc}
.homepage .ai-tools>.eyebrow{padding-bottom:22px}
.homepage .ai-tool{position:relative;min-width:0;padding:26px 24px 32px;border-top:1px solid var(--ink);border-right:1px solid #c6c9cc;transition:background .25s,color .25s}
.homepage .ai-tool:last-child{border-right:0}
.ai-diagram{display:block;width:100%;height:126px;margin-bottom:26px;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.diagram-base{stroke:currentColor;opacity:.55}
.diagram-accent{stroke:var(--accent);transform-box:fill-box;transform-origin:center}
.homepage .ai-tool h3{font-size:clamp(1.45rem,2vw,2rem)}
.homepage .ai-tool .ai-tool-role{font-size:.8125rem;min-height:2.6em;margin-bottom:14px;line-height:1.4}
.homepage .ai-tool>p:last-child{color:#505354}
.homepage .ai-intro .eyebrow,.homepage .local-intro .eyebrow{display:flex;align-items:center;gap:14px}
.homepage .ai-intro .eyebrow:before,.homepage .local-intro .eyebrow:before{content:"";height:2px;width:34px;flex:none;background:var(--accent);transform-origin:left}
.homepage .local-intro{border-bottom:1px solid var(--line)}
.homepage .motion-toggle{background:rgb(16 17 18 / .8);border:1px solid rgb(255 255 255 / .24)}
.homepage .service-item{transition:background .2s}
.homepage .service-item[open]{background:#f4f5f5}
.homepage .service-item summary:focus-visible .service-title{color:var(--accent)}
.homepage .service-item summary{padding-inline:18px}
@media(hover:hover) and (pointer:fine){
  .homepage .ai-tool:hover{background:var(--night);color:#fff}
  .homepage .ai-tool:hover>p{color:#d0d2d2}
  .homepage .ai-tool:hover .diagram-accent{stroke:#ff7468}
  .homepage .ai-tool:hover .diagram-base{opacity:1}
  .homepage .ai-tool:hover .diagram-accent{transform:translateY(-4px)}
  .diagram-accent{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .homepage .service-item:hover{background:#f4f5f5}
}
@media(min-width:1101px){
  .photon-stage:after{background:linear-gradient(180deg,rgb(16 17 18 / .6),transparent 110px,transparent 72%,rgb(16 17 18 / .35)),linear-gradient(90deg,#101112 0%,rgb(16 17 18 / .94) 22%,rgb(16 17 18 / .32) 45%,transparent 64%)}
  .homepage .audience-paths{background:rgb(16 17 18 / .78)}
  .photon-fallback{stroke-width:2.4px;opacity:1}
  .homepage .ai-section{background:#f0f2f4;padding-block:86px}
  .homepage .ai-tool{padding-inline:28px}
}
@media(min-width:1600px){
  .homepage .stage-content{min-height:720px}
  .homepage .hero-copy{margin-top:48px}
  .homepage .hero-copy h1{font-size:8rem}
}
@media(max-width:1100px) and (min-width:481px){.homepage .ai-tool:nth-child(3){border-right:0}}
@media(max-width:760px){.ai-diagram{height:100px;margin-bottom:18px}.homepage .ai-tool{padding:22px 20px}.homepage .service-item summary{padding-inline:0}}
@media(max-width:480px){.homepage .ai-tool{border-right:0;padding:24px 0}.ai-diagram{max-width:220px;height:106px}.homepage .ai-tool .ai-tool-role{min-height:0}}
@media(max-width:360px){.header-inner .brand-logo{width:100px}.header-contact{padding-inline:8px}.menu-toggle{width:28px}}
@media(prefers-reduced-motion:no-preference){
  .homepage .reveal-in{animation-duration:.6s;animation-delay:var(--reveal-delay,0ms)}
  .homepage .ai-tool.reveal-in .diagram-accent{animation:diagram-arrive .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms) backwards}
  .homepage .reveal-in .eyebrow:before{animation:editorial-line .6s ease-out both}
  @keyframes diagram-arrive{from{opacity:.15;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes editorial-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media(prefers-reduced-motion:reduce){.homepage .ai-tool:hover .diagram-accent{transform:none}}
