:root{--navy:#102B52;--midnight:#00304C;--coral:#E9654F;--coral-hover:#C94F3B;--cool:#FAF8FF;--white:#FFFFFF;--steel:#586474;--mist:#E1E2EE;--radius:10px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cool);color:var(--navy);font:16px/1.6 Manrope,Arial,sans-serif;overflow-x:hidden}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button,a,input{touch-action:manipulation}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
[hidden]{display:none!important}
.container{width:min(100% - 48px,1200px);margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:16px;z-index:1000;padding:12px 18px;background:var(--white);color:var(--navy);border:2px solid var(--coral)}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--white);border-bottom:1px solid rgba(255,255,255,.12)}
.header-inner{display:flex;align-items:center;gap:22px;min-height:76px}
.brand{display:inline-flex;align-items:center;min-height:44px;flex:none;font-size:22px;line-height:1;font-weight:800;letter-spacing:-.07em;color:var(--white);white-space:nowrap}
.brand span{color:var(--coral)}
.desktop-nav{display:flex;align-items:center;gap:1px;flex:1;justify-content:center}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 9px;border-radius:8px;color:rgba(255,255,255,.82);font-size:13px;font-weight:600;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a[aria-current=page]{background:rgba(255,255,255,.12);color:var(--white)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:8px;font-weight:700;font-size:14px;line-height:1.2;text-align:center;transition:background .15s,color .15s,border-color .15s}
.button-coral{background:var(--coral-hover);color:var(--white)}
.button-coral:hover{background:var(--navy)}
.button-outline{background:transparent;color:var(--navy);border-color:var(--mist)}
.button-outline:hover{background:var(--navy);color:var(--white)}
.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.25);border-radius:8px;font-size:24px}
.mobile-nav{padding:8px 24px 18px;background:var(--navy);border-top:1px solid rgba(255,255,255,.15)}
.mobile-nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;color:var(--white)}
.mobile-nav a[aria-current=page],.mobile-nav a:hover{background:rgba(255,255,255,.13)}
.section{padding:76px 0}
.section.hero{padding:88px 0 68px}
.hero-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero-grid>*,.split>*{min-width:0}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(38px,4.5vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:800;max-width:670px;margin-bottom:24px}
h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.035em;font-weight:800;margin-bottom:20px}
h3{font-size:19px;line-height:1.3;font-weight:700;margin-bottom:12px}
p{margin-bottom:16px}
.lead{font-size:19px;line-height:1.65;color:var(--steel);max-width:630px}
.eyebrow{font:700 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:16px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:28px 0}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-weight:700;font-size:14px}
.text-link:hover{color:var(--coral-hover);text-decoration:underline;text-underline-offset:4px}
.small-note,.fine{font-size:12px;color:var(--steel)}
.mono{font-family:'JetBrains Mono',monospace}
.editorial-photo{display:block;width:100%;height:auto;min-height:280px;aspect-ratio:4/3;object-fit:cover;object-position:65% center;border:1px solid var(--mist);border-radius:var(--radius);background:var(--white)}
.hero-photo{aspect-ratio:1.12;min-height:350px}
.wide-photo{aspect-ratio:4/3}
.section.light{background:var(--white)}
.section.navy{background:var(--navy);color:var(--white)}
.section.midnight{background:var(--midnight);color:var(--white)}
.navy .eyebrow,.midnight .eyebrow{color:var(--white)}
.navy p,.midnight p{color:rgba(255,255,255,.8)}
.navy .text-link,.midnight .text-link{color:var(--white)}
.section-heading{max-width:760px}
.section-intro{max-width:680px;color:var(--steel)}
.cards{display:grid;gap:18px;margin-top:32px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.panel{padding:28px;background:var(--white);border:1px solid var(--mist);border-radius:var(--radius);color:var(--navy)}
.panel p{color:var(--steel);margin-bottom:0;font-size:14px;line-height:1.65}
.panel h3{font-size:17px}
.panel h3:not(:first-child){margin-top:22px}
.panel.featured{border-top:3px solid var(--coral)}
.navy .panel{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:var(--white)}
.navy .panel p{color:rgba(255,255,255,.75)}
.navy .panel h3{color:var(--white)}
.midnight .editorial-photo{border-color:rgba(255,255,255,.3)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px}
.step{padding:8px 0 0;border-top:1px solid var(--mist)}
.step>span{display:block;margin:0 0 24px;color:var(--coral);font:700 24px/1 'JetBrains Mono',monospace}
.step h3{font-size:16px}
.step p{font-size:13px;color:var(--steel)}
.navy .step{border-color:rgba(255,255,255,.2)}
.navy .step p{color:rgba(255,255,255,.74)}
.rates-strip{align-items:start}
.price-large{font:700 clamp(38px,4vw,54px)/1.1 'JetBrains Mono',monospace;color:var(--coral);margin-bottom:8px}
.rate-list>div,.price-table>div{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--mist)}
.rate-list>div:first-child,.price-table>div:first-child{padding-top:0}
.rate-list strong,.price-table .mono{white-space:nowrap;color:var(--navy);font-family:'JetBrains Mono',monospace}
.callout{max-width:720px;margin:auto;text-align:center;padding:20px 0}
.callout h2{color:var(--white)}
.callout p{color:rgba(255,255,255,.83)}
.plan-card{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:stretch}
.plan-card h2{font-size:26px}
.estimate{background:var(--cool);border:1px solid var(--mist);border-radius:8px;padding:20px}
.estimate strong{display:block;font:700 26px 'JetBrains Mono',monospace;color:var(--coral)}
.estimate small{font:400 12px Manrope,Arial,sans-serif;color:var(--steel)}
.estimate p{margin:10px 0}
.check-list{padding-left:20px;color:var(--steel);font-size:14px;line-height:1.8}
.inset{padding:42px}
.inset .cards{margin-top:28px}
.status{display:inline-flex;padding:9px 12px;border:1px solid var(--mist);border-radius:6px;color:var(--navy);font:600 12px 'JetBrains Mono',monospace}
.notice{padding:20px;border:1px solid var(--mist);border-left:3px solid var(--coral);border-radius:8px;background:var(--white);margin-top:22px;color:var(--navy)}
.notice strong{font-size:14px}
.notice p{font-size:13px;color:var(--steel);margin:5px 0 0}
.price-table{margin-top:24px}
.price-table>div{font-size:15px}
.price-table>div span{text-align:right;color:var(--steel)}
.price-table>div .mono{color:var(--navy);font-size:19px}
.pricing-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:28px;align-items:start;margin-top:42px}
.tier-card{padding:0;overflow:hidden}
.tier-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;border-bottom:1px solid var(--mist)}
.tier-head span,.tier-row small{font:500 11px 'JetBrains Mono',monospace;color:var(--steel)}
.tier-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:var(--cool)}
.tier-row+.tier-row{border-top:1px solid var(--mist)}
.tier-row:nth-child(odd){background:var(--white)}
.tier-row strong{display:inline-block;font-size:16px}
.tier-row small{display:inline-block;margin-left:10px}
.tier-row p{font-size:13px;margin:6px 0 0}
.tier-price{text-align:right;flex:none}
.tier-price small{display:block;margin:0}
.tier-price strong{display:block;font:700 21px 'JetBrains Mono',monospace}
.tier-price span{display:block;max-width:145px;font:600 11px/1.4 'JetBrains Mono',monospace}
.planning-card .notice{background:var(--cool);border-left:1px solid var(--mist)}
.center-heading{text-align:center;max-width:680px;margin:0 auto 42px}
.center-heading p{color:var(--steel)}
.manifest{max-width:790px;margin:0 auto;background:var(--white);border:1px solid var(--mist);border-radius:var(--radius);overflow:hidden}
.manifest-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 24px;background:var(--navy);color:var(--white);font-size:14px}
.manifest-head span{font:500 11px 'JetBrains Mono',monospace;text-transform:uppercase}
.manifest-rows{padding:0 24px}
.manifest-rows>div{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--mist);font-size:14px}
.manifest-rows>div:last-child{border-bottom:0}
.manifest-rows span{font:500 11px/1.5 'JetBrains Mono',monospace;color:var(--steel);text-align:right}
.manifest-rows small{font-size:11px;font-weight:400;color:var(--steel)}
.manifest-rows .manifest-total{background:var(--cool);margin:0 -24px;padding:22px 24px}
.faq-hero{background:var(--white);border-bottom:1px solid var(--mist)}
.faq-hero h1{max-width:900px}
.faq-hero .eyebrow{display:inline-block;padding:4px 8px;border:1px solid var(--mist);border-radius:4px;color:var(--coral-hover)}
.faq-hero .lead{max-width:750px}
.faq-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:48px;align-items:start}
.faq-sidebar{display:grid;gap:18px;position:sticky;top:100px}
.faq-sidebar .panel{padding:24px}
.faq-sidebar .eyebrow{display:block;color:var(--steel);margin-bottom:14px}
.search-row{display:flex;gap:8px}
.search-row input{min-width:0;width:100%;min-height:48px;padding:10px 12px;background:var(--cool);color:var(--navy);border:1px solid var(--mist);border-radius:8px;font-size:14px}
.search-row button{min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--navy);font-size:12px;font-weight:700}
.category-list{display:grid;gap:5px}
.category-button{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:48px;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:var(--steel);font-size:14px;font-weight:700;text-align:left}
.category-button:hover{background:var(--cool);color:var(--navy)}
.category-button[aria-pressed=true]{background:var(--navy);color:var(--white)}
.category-button .mono{font-size:11px}
.faq-list{background:var(--white);border:1px solid var(--mist);border-radius:var(--radius);overflow:hidden}
.faq-item+.faq-item{border-top:1px solid var(--mist)}
.faq-item h3{margin:0}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:68px;padding:20px 24px;border:0;background:var(--white);color:var(--navy);text-align:left;font-weight:700;font-size:16px}
.faq-question:hover{background:var(--cool)}
.faq-question small{display:inline-block;margin-right:14px;padding:3px 7px;background:var(--cool);border:1px solid var(--mist);border-radius:4px;color:var(--steel);font:600 10px 'JetBrains Mono',monospace;text-transform:uppercase;vertical-align:middle}
.faq-question>span:last-child{font-size:23px;line-height:1;transition:transform .15s}
.faq-question[aria-expanded=true]>span:last-child{transform:rotate(180deg)}
.faq-answer{padding:0 24px 22px;color:var(--steel)}
.faq-answer p{margin:0}
.site-footer{background:var(--navy);color:var(--white);padding:60px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.footer-grid p{color:rgba(255,255,255,.68);font-size:13px;max-width:360px;margin-top:18px}
.footer-grid h2{font-size:14px;letter-spacing:0;margin:2px 0 20px}
.footer-grid a:not(.brand){display:flex;align-items:center;width:fit-content;min-height:44px;font-size:13px;color:rgba(255,255,255,.78)}
.footer-grid a:hover{color:var(--white)}
.footer-bottom{margin-top:46px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16)}
.footer-bottom p{font:500 11px/1.5 'JetBrains Mono',monospace;color:rgba(255,255,255,.65);margin:0}
@media(max-width:1100px){.desktop-nav{display:none}.header-inner{justify-content:space-between}.menu-toggle{display:inline-flex}.header-inner>.button{margin-left:auto}}
@media(max-width:800px){.section{padding:58px 0}.section.hero{padding:60px 0}.hero-grid,.split{gap:34px}.cards.four,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-grid{grid-template-columns:1fr}.faq-layout{grid-template-columns:1fr}.faq-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.faq-sidebar .notice{grid-column:1/-1;margin-top:0}.footer-grid{grid-template-columns:2fr 1fr;gap:30px}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:620px){.container{width:min(100% - 32px,1200px)}.header-inner{min-height:66px;gap:10px}.header-inner>.button{display:none}.brand{font-size:21px}.hero-grid,.split,.plan-card{grid-template-columns:1fr}.hero-grid .editorial-photo{min-height:240px;aspect-ratio:1.5}.section.hero{padding:34px 0 56px}h1{font-size:clamp(34px,10vw,48px)}h2{font-size:28px}.lead{font-size:16px}.section{padding:50px 0}.cards.two,.cards.three,.cards.four,.steps{grid-template-columns:1fr}.panel{padding:22px}.steps{gap:25px}.step>span{margin-bottom:10px}.faq-sidebar{grid-template-columns:1fr}.faq-question{padding:18px;font-size:14px}.faq-question small{display:block;width:fit-content;margin:0 0 8px}.faq-answer{padding:0 18px 20px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.actions{align-items:stretch}.actions>.button{flex:1 1 auto}.price-table>div{align-items:flex-start;gap:10px;flex-direction:column}.price-table>div span{text-align:left}.tier-row{align-items:flex-start;flex-direction:column}.tier-price{text-align:left}.manifest-rows>div{align-items:flex-start;flex-direction:column;gap:7px}.manifest-rows span{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared interaction and readability refinements. */
[id]{scroll-margin-top:96px}
.menu-toggle .close-icon{display:none}
.menu-toggle[aria-expanded=true] .menu-icon{display:none}
.menu-toggle[aria-expanded=true] .close-icon{display:inline-flex}
.navy .button-outline,.midnight .button-outline{color:var(--white);border-color:rgba(255,255,255,.68)}
.navy .button-outline:hover,.midnight .button-outline:hover{background:var(--white);color:var(--navy)}
.eyebrow{font-size:13px;letter-spacing:.08em}
.small-note,.fine,.step p,.status,.notice p,.tier-row p,.tier-head span,.tier-row small,.tier-price span,.manifest-head span,.manifest-rows span,.manifest-rows small,.footer-grid p,.footer-grid a:not(.brand){font-size:14px}
.faq-question small{font-size:12px}
.footer-bottom p{font-size:12px}
.desktop-nav a{min-width:44px;justify-content:center;font-size:14px;padding-inline:6px}
.faq-chevron{display:inline-flex;flex:none}
.search-row input::placeholder{color:var(--steel);opacity:1}
.not-found{min-height:55vh}
.home-service-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:32px;align-items:stretch}
.home-service-grid>.panel{display:flex;flex-direction:column;justify-content:center;min-height:235px}
.home-service-stack{display:grid;gap:18px}
.home-service-stack .panel{padding:22px 28px}
.home-service-stack .panel h3{margin-bottom:6px}
.home-story{grid-template-columns:1.2fr .8fr}
.home-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,180px);gap:14px;min-width:0}
.home-gallery .editorial-photo{width:100%;height:100%;min-height:0;aspect-ratio:auto}
.home-gallery .editorial-photo:first-child{grid-row:1/3}
.navy .cards .panel{border-top:2px solid var(--coral)}
.pricing-faq{width:min(100%,790px);margin:0 auto;background:var(--white);border:1px solid var(--mist);border-radius:var(--radius);overflow:hidden}
.pricing-faq-item+.pricing-faq-item{border-top:1px solid var(--mist)}
.pricing-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:18px 24px;cursor:pointer;list-style:none;font-weight:700}
.pricing-faq-item summary::-webkit-details-marker{display:none}
.pricing-faq-item summary:hover{background:var(--cool)}
.pricing-faq-item summary span{display:inline-flex;flex:none;transition:transform .15s}
.pricing-faq-item[open] summary span{transform:rotate(180deg)}
.pricing-faq-item p{padding:0 24px 20px;color:var(--steel);margin:0}
.pricing-faq-link{margin-top:24px;margin-bottom:0}
.pricing-faq-link .text-link{justify-content:center}
@media(min-width:981px) and (max-width:1120px){.header-inner{gap:12px}.header-inner>.button{padding-inline:12px;font-size:12px}.desktop-nav a{font-size:12px;padding-inline:5px}}
@media(min-width:981px) and (max-width:1100px){.desktop-nav{display:flex}.menu-toggle{display:none}.header-inner{justify-content:initial}.header-inner>.button{margin-left:0}}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.header-inner{justify-content:space-between}.header-inner>.button{margin-left:auto}}
@media(max-width:800px){.home-story{grid-template-columns:1fr}.home-gallery{grid-template-rows:repeat(2,150px)}}
@media(max-width:620px){.home-service-grid{grid-template-columns:1fr}.home-service-grid>.panel{min-height:0}.home-service-stack .panel{padding:22px}.home-gallery{grid-template-rows:repeat(2,125px);gap:8px}.pricing-faq-item summary{padding:18px}}
@media(max-width:700px){.hero-grid,.split{grid-template-columns:1fr}.hero-grid .editorial-photo{height:clamp(240px,42vw,320px);min-height:0;aspect-ratio:auto}}

