/* UI review: retain the navy/cyan brand with a calmer type scale and denser rhythm. */
:root{--radius:1.5rem;--inner:1.1rem}
html{scroll-padding-top:7rem}
section{padding:5.5rem 0}
.shell{max-width:76rem}
.hero{padding:0;min-height:0}
.hero-grid{padding:9.5rem 0 3.5rem;grid-template-columns:minmax(0,1.4fr) minmax(17rem,.65fr);gap:3rem;align-items:center}
.hero h1{font-size:clamp(3.25rem,6.2vw,6rem);line-height:1.03;letter-spacing:-.055em;max-width:14ch}
.hero-copy{font-size:1.125rem;line-height:1.7;max-width:37rem}
.hero-media:before{background:linear-gradient(90deg,rgba(3,10,20,.95),rgba(3,10,20,.85) 45%,rgba(3,10,20,.45)),linear-gradient(0deg,rgba(3,10,20,.9),transparent)}
.hero-side{min-width:0}.live-core{padding:1.25rem}.live-stats span,.trust-grid span{font-size:.875rem;color:#b1bdcb}
.live-head{font-size:.75rem;letter-spacing:.06em;gap:1rem}.trust-grid>div{padding:1.25rem 1rem}
.page-hero{padding:9rem 0 3.5rem}
.page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.page-hero h1{font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:1.08;letter-spacing:-.045em}
.page-hero h1 em{display:block;font-style:normal;color:var(--cyan)}.hero h1 em{display:block}
.page-hero p{font-size:1.0625rem;line-height:1.75}
.page-photo{aspect-ratio:5/4}.page-photo-shell{width:100%;min-width:0}
.photo-label{max-width:calc(100% - 2rem);font-size:.75rem;line-height:1.5;letter-spacing:.06em}
.section-intro{gap:3rem;margin-bottom:2.5rem;align-items:start}
.section-intro h2,.split-copy h2,.cta-copy h2{font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.12;letter-spacing:-.045em}
.section-intro p{padding-top:.3rem;font-size:1rem;line-height:1.75}
.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem}
.split-copy>p,.cta-copy>p{margin-top:1.25rem}.split-copy{top:7rem}
.service-grid{gap:1rem}.service-item{min-height:0;padding:1.5rem;border:1px solid var(--line)}
.service-item h3{font-size:1.125rem;line-height:1.35;margin:.7rem 0 .5rem}
.service-item p{font-size:.9375rem;line-height:1.65}.service-item:hover{transform:none}
.service-card{min-height:24rem}.service-card h3{font-size:1.875rem;line-height:1.15}.service-card .core{min-height:0}
.service-card.photo-card{position:relative}.service-card.photo-card .core{min-height:24rem}
.service-card.photo-card img{position:absolute;inset:0;width:100%;height:100%}
.photo-overlay{padding:1.25rem;background:rgba(6,16,30,.92);backdrop-filter:none}.photo-overlay h3{line-height:1.15}.photo-overlay p{font-size:.9375rem;line-height:1.6}
.core{padding:1.75rem}.card-top{align-items:center;gap:1rem}.card-top>.mono{min-width:0}
.kicker,.mono{font-size:.8125rem;line-height:1.5;letter-spacing:.08em}
.feature-row{grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding:1.5rem 0}.feature-row h3{line-height:1.35}.feature-row p{line-height:1.7}
.process-step{min-height:0;padding-top:1.5rem;padding-bottom:1.5rem}.process-step h3{margin-top:2rem;line-height:1.3}.process-step p{font-size:.9375rem;line-height:1.65}
.stat span{font-size:.875rem;color:#c4cfda}.stat b{font-size:clamp(2rem,3.4vw,3.25rem);color:#fff}.stats{min-width:0}.stat{min-width:0;padding:1.75rem 1.25rem}.stat:first-child{padding-left:1.25rem}
.credential span{font-size:.875rem}.credentials{gap:.75rem}.credential{flex:1 1 9rem;border:1px solid var(--line)}
.cta{padding:5rem 0;background:#d4f995}.cta-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3.5rem}
.pill{min-height:2.875rem;padding:.8rem 1.25rem;font-size:.9375rem;line-height:1.3;justify-content:center;border-radius:.8rem}
.nav-links .pill{min-height:2.75rem;padding:.75rem 1rem;font-size:.875rem;border-radius:999px}
.nav-links>a:not(.pill){font-size:.875rem}.nav-shell{background:rgba(6,16,30,.96)}
.actions{gap:.75rem;margin-top:1.75rem}.card-link{font-size:1rem}.card-link i{display:none}
.contact-form{padding:1.75rem}.contact-form h3{line-height:1.3}.fields{gap:1rem}
.field{min-width:0}.field label{font-size:.875rem;color:#c4cfda}.field input,.field select,.field textarea{min-width:0;font-size:1rem;min-height:3rem;line-height:1.5}.field textarea{min-height:8rem}
.form-note{font-size:.8125rem;color:#aebdce;line-height:1.6}.form-success{line-height:1.65}.form-success strong{display:inline-block;margin-bottom:.4rem}
.footer{padding-top:3.5rem}.footer-grid{gap:3rem;padding-bottom:2.5rem}.footer nav{font-size:.9375rem}.footer-bottom{font-size:.875rem;color:#a9b5c2}
.legal{padding:9rem 0 5rem}.legal h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1}.legal h2{line-height:1.3;margin-top:2.25rem}.legal p{line-height:1.85}
[data-reveal],[data-reveal=left],[data-reveal=right]{opacity:1;transform:none;filter:none;transition:none}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #4176ee;outline-offset:4px}
.dark :focus-visible,.page-hero :focus-visible,.hero :focus-visible,.floating-nav :focus-visible,.mobile-menu :focus-visible,.chat-panel :focus-visible{outline-color:var(--cyan)}
.chat-launch{min-height:3.25rem}.chat-launch span{font-size:.875rem}.chat-close{min-width:2.75rem;min-height:2.75rem}.chat-id b{font-size:1rem}.chat-id span,.chat-note{font-size:.8125rem}.bubble{font-size:.9375rem;line-height:1.65}.chat-options button{min-height:2.75rem;font-size:.875rem}.chat-input-wrap input{font-size:1rem}.chat-stream{overscroll-behavior:contain}
.mobile-menu{overflow-y:auto;overscroll-behavior:contain;transition:opacity .2s,visibility .2s}.mobile-menu a{transform:none;transition:none}.mobile-menu a[aria-current=page]{color:var(--cyan)}
@media(max-width:70rem) and (min-width:62.01rem){.process-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:62rem){.hero-grid,.page-hero-grid,.section-intro,.split,.cta-grid{grid-template-columns:minmax(0,1fr)}.hero-grid{padding-top:8rem;gap:2rem}.hero-side{display:grid;grid-template-columns:1fr 1fr;max-width:none;gap:1rem}.hero h1{max-width:18ch;font-size:clamp(3rem,7vw,5rem)}.page-hero-grid{gap:2rem}.page-photo-shell{max-width:none}.page-photo{aspect-ratio:16/9}.split{gap:2rem}.section-intro{gap:1.25rem}.cta-grid{gap:2rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:44rem){section{padding:3.5rem 0}.hero-grid{padding:7.5rem 0 2.5rem}.hero h1{font-size:clamp(2.5rem,10vw,3.75rem);max-width:15ch}.hero-copy{font-size:1rem}.hero-side{display:none}.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trust-grid>div:first-child{grid-column:1/-1;padding:.9rem 0}.trust-grid>div{padding:1rem .6rem}.trust-grid b{font-size:.9375rem;line-height:1.35}.trust-grid span{display:block;font-size:.8125rem;line-height:1.5;margin-top:.35rem}.trust-grid>div:last-child{border-right:0}.page-hero{padding:7rem 0 2.5rem}.page-hero h1{font-size:clamp(2.25rem,8.5vw,3.25rem)}.page-hero p{font-size:1rem}.page-photo{aspect-ratio:4/3}.breadcrumbs{font-size:.875rem;margin-bottom:1.25rem}.section-intro h2,.split-copy h2,.cta-copy h2{font-size:clamp(1.875rem,7.8vw,2.75rem)}.bento{gap:1rem}.service-card,.service-card.featured,.service-card.wide{min-height:21rem}.service-card.photo-card .core{min-height:21rem}.service-card h3{font-size:1.75rem}.core{padding:1.5rem}.photo-overlay{inset:auto .65rem .65rem;padding:1rem}.photo-overlay .mono{font-size:.75rem}.service-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}.service-item{padding:1.25rem}.service-item h3{margin-top:.4rem}.process-track{grid-template-columns:minmax(0,1fr)}.process-step,.process-step:not(:first-child){border-right:0;padding:1.5rem 0}.process-step h3{margin-top:.8rem}.quote-core{padding:1.5rem}.small-quote{padding:1.5rem}.quote-core blockquote{font-size:1.5rem}.cta{padding:3.5rem 0}.contact-form{padding:1.25rem}.pill{width:auto;max-width:100%}.actions .pill{width:100%}.check-list span{display:flex;gap:.6rem;align-items:flex-start;line-height:1.6}.check-list span:before{flex:0 0 1.45rem;margin:.1rem 0 0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:1.25rem .8rem}.stat:first-child{padding-left:.8rem}.legal{padding:7rem 0 4rem}.legal h1{font-size:2.75rem}.footer{padding:3rem 0 6rem}.footer-grid{gap:2rem}.footer-bottom{line-height:1.7}.mobile-menu{align-content:start;padding-top:6.5rem}.mobile-menu a{font-size:clamp(1.5rem,7vw,2.25rem);line-height:1.3;padding:.65rem 0;letter-spacing:-.03em}.mobile-menu .mobile-contact{margin-top:1.5rem}.chat-panel{height:calc(100dvh - 1rem)}.menu-open .chat-launch{visibility:hidden}}
