@font-face{font-family:Onest;src:url('/assets/fonts/onest-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-latin.woff2') format('woff2');font-style:normal;font-weight:100 700;font-display:swap}
:root{--teal:#15a1a6;--orange:#fc7f1d;--petrol:#21444c;--cream:#f8f2e8;--ink:#24232b;--texture:#102e35;--line:rgba(33,68,76,.2);--page:1240px;--gutter:clamp(1.25rem,4vw,4rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
body{margin:0;color:var(--ink);background:var(--cream);font-family:'IBM Plex Sans',sans-serif;font-size:17px;line-height:1.6;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration-color:var(--orange)}
a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px;border-radius:2px}
img,svg{display:block;max-width:100%}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:99;padding:.65rem 1rem;background:var(--orange);color:var(--texture);font:600 .9rem Onest,sans-serif;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.shell{width:min(100%,calc(var(--page) + 2*var(--gutter)));margin-inline:auto;padding-inline:var(--gutter)}
.site-header{position:absolute;z-index:10;inset:0 0 auto;color:var(--cream)}
.header-inner{height:7rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;width:min(27rem,54vw)}
.brand img{width:100%}
.header-link{font:600 .92rem Onest,sans-serif;letter-spacing:.01em;text-decoration:none;border-bottom:1px solid rgba(248,242,232,.45);padding:.25rem 0}
.hero{position:relative;min-height:min(880px,100svh);overflow:hidden;background:var(--petrol);color:var(--cream);display:grid;align-items:end}
.hero-flow{position:absolute;inset:-5%;width:110%;height:110%;max-width:none;object-fit:cover;object-position:center;opacity:.50;pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:linear-gradient(90deg,var(--teal) 0 68%,var(--orange) 68%)}
.hero-content{position:relative;z-index:1;padding-top:12rem;padding-bottom:clamp(5rem,9vw,8.5rem);max-width:1050px}
.eyebrow{display:flex;align-items:center;gap:.7rem;margin:0 0 1.4rem;font:600 .8rem Onest,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#b9d1d1}
.eyebrow::before{content:"";width:2.7rem;height:2px;background:var(--orange)}
h1,h2,h3{font-family:Onest,sans-serif;letter-spacing:-.035em;line-height:1.04;margin:0}
h1{font-size:clamp(3.2rem,8.1vw,7.4rem);font-weight:600;max-width:10.5ch}
h1 .accent{color:var(--orange)}
.hero-intro{max-width:720px;margin:2rem 0 0;font-size:clamp(1.12rem,2.1vw,1.45rem);line-height:1.52;color:#e1e8e5}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.3rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.35rem;padding:.8rem 1.25rem;border:2px solid transparent;text-decoration:none;font:600 .95rem Onest,sans-serif}
.button-primary{background:var(--orange);color:var(--texture)}
.button-primary:hover{background:#ff9b54}
.button-secondary{border-color:rgba(248,242,232,.55);color:var(--cream)}
.button-secondary:hover{border-color:var(--cream)}
.arrow{font-size:1.3em;line-height:0}
.section{padding:clamp(5rem,10vw,9rem) 0}
.section-label{margin:0 0 1.3rem;font:600 .78rem Onest,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.statement{font:600 clamp(2rem,4.5vw,4rem)/1.12 Onest,sans-serif;letter-spacing:-.035em;margin:0;max-width:17ch;color:var(--petrol)}
.statement .accent{color:var(--teal)}
.intro-copy{padding-top:.45rem}
.intro-copy p{margin:0 0 1.25rem;max-width:42rem}
.service-section{background:#eee8de;border-block:1px solid rgba(33,68,76,.12)}
.section-heading{font-size:clamp(2.4rem,5vw,4.7rem);font-weight:600;color:var(--petrol);max-width:12ch}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:clamp(3rem,6vw,5.5rem)}
.service{padding:2rem clamp(1.2rem,3vw,2.5rem) 2.5rem 0;border-bottom:1px solid var(--line)}
.service+.service{padding-left:clamp(1.2rem,3vw,2.5rem);border-left:1px solid var(--line)}
.service-number{display:block;color:var(--orange);font:600 .82rem Onest,sans-serif;margin-bottom:3.8rem}
.service h3{font-size:clamp(1.45rem,2vw,1.9rem);font-weight:600;color:var(--petrol);margin-bottom:1rem;letter-spacing:-.025em}
.service p{margin:0;color:#465256;max-width:32ch}
.process{background:var(--petrol);color:var(--cream);position:relative;overflow:hidden}
.process .section-label{color:#a8cccc}
.process-grid{display:grid;grid-template-columns:minmax(260px,.75fr) 1.25fr;gap:clamp(3rem,8vw,9rem);align-items:start}
.process h2{font-size:clamp(2.4rem,5vw,4.8rem);max-width:9ch}
.process-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(248,242,232,.22)}
.process-list li{display:grid;grid-template-columns:2.5rem 1fr;gap:1.2rem;padding:1.55rem 0;border-bottom:1px solid rgba(248,242,232,.22)}
.process-list strong{font:600 1.1rem Onest,sans-serif;letter-spacing:-.015em}
.process-list span{color:#adc8c8;font:600 .78rem Onest,sans-serif;padding-top:.2rem}
.about-grid{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:clamp(3rem,9vw,10rem)}
.about-copy{font-size:clamp(1.25rem,2.4vw,1.65rem);line-height:1.5;margin:0;color:var(--petrol)}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3.5rem;padding-top:1.7rem;border-top:1px solid var(--line)}
.founder h3{font-size:1.2rem;font-weight:600;color:var(--petrol);margin-bottom:.35rem}
.founder p{margin:0;color:#586266;font-size:.96rem}
.contact{padding:clamp(5rem,10vw,8rem) 0;background:var(--teal);color:var(--texture);position:relative;overflow:hidden}
.contact::after{content:".";position:absolute;right:3vw;bottom:-.43em;font:700 clamp(16rem,35vw,35rem)/1 Onest,sans-serif;color:var(--orange);opacity:.96;pointer-events:none}
.contact-inner{position:relative;z-index:1;max-width:880px}
.contact .section-label{color:var(--texture)}
.contact h2{font-size:clamp(3rem,7vw,6.7rem);max-width:10ch}
.contact p{font-size:clamp(1.05rem,2vw,1.3rem);max-width:42rem;margin:1.5rem 0 2.1rem}
.email-link{display:inline-block;font:600 clamp(1rem,2.5vw,1.5rem) Onest,sans-serif;text-decoration-thickness:2px}
.site-footer{background:var(--texture);color:#cad9d6;padding:2.3rem 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.85rem}
.footer-mark{width:4.4rem}
.footer-mark img{}
.footer-links{display:flex;flex-wrap:wrap;gap:1.4rem}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.legal-page{background:var(--cream)}
.legal-header{background:var(--petrol);color:var(--cream)}
.legal-header .site-header{position:static}
.legal-main{padding:clamp(4rem,8vw,7rem) 0}
.legal-layout{display:grid;grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);gap:clamp(2rem,8vw,8rem)}
.legal-main h1{font-size:clamp(2.8rem,6vw,5.5rem);color:var(--petrol);max-width:12ch;margin-bottom:3.5rem}
.legal-main h2{font-size:clamp(1.55rem,3vw,2.3rem);color:var(--petrol);margin:3rem 0 1rem}
.legal-main h3{font-size:1.15rem;color:var(--petrol);margin:2rem 0 .5rem}
.legal-main p,.legal-main li{max-width:48rem}
.legal-main ul{padding-left:1.25rem}
.legal-nav{position:sticky;top:2rem;align-self:start;font:600 .9rem Onest,sans-serif}
.legal-nav a{display:block;margin:.7rem 0}
.muted{color:#697477}
@media(max-width:860px){.header-inner{height:5.8rem}.brand{width:min(23rem,68vw)}.hero{min-height:780px}.hero-flow{inset:-7%;width:114%;height:114%;opacity:.46;object-position:58% center}.intro-grid,.process-grid,.about-grid,.legal-layout{grid-template-columns:1fr}.intro-copy{padding:0}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:1.7rem 0 2rem;border-left:0}.service-number{margin-bottom:1.5rem}.legal-nav{position:static;display:flex;gap:1.2rem}.legal-nav a{display:inline}.contact::after{right:-7vw;opacity:.55}.footer-inner{align-items:flex-start}}
@media(max-width:560px){body{font-size:16px}.header-link{display:none}.hero{min-height:720px}.hero-content{padding-top:9rem}.brand{width:100%;max-width:21rem}.founders{grid-template-columns:1fr}.hero-actions{display:grid}.button{width:100%}.footer-inner{display:grid}.contact::after{font-size:18rem;right:-18vw}.legal-main h1{margin-bottom:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
