:root{--bg:#fbfaf7;--bg-deep:#f2f0ea;--ink:#15140f;--ink-soft:#3a3833;--muted:#75716a;--line:#15140f1f;--line-soft:#15140f12;--accent:#1f3df2;--accent-dark:#1a33cc;--paper:#fff;--maxw:1180px;--gutter:clamp(22px, 5vw, 64px);--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink-soft);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.6}h1,h2,h3{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;font-optical-sizing:auto;margin:0;font-weight:460;line-height:1.02}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--ink);color:var(--bg)}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.eyebrow--accent{color:var(--accent)}.site-header{z-index:100;transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header.is-scrolled{background:color-mix(in srgb, var(--bg) 78%, transparent);backdrop-filter:saturate(180%)blur(16px);border-bottom-color:var(--line-soft)}.site-header__inner{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);align-items:baseline;gap:.5ch;font-size:1.45rem;font-weight:500;display:inline-flex}.brand__dot{background:var(--accent);border-radius:50%;align-self:center;width:6px;height:6px;transform:translateY(1px)}.nav{align-items:center;gap:clamp(1.4rem,3vw,2.6rem);display:flex}.nav__links{gap:clamp(1.4rem,3vw,2.4rem);display:flex}.nav__links a{color:var(--ink-soft);font-size:.92rem;font-weight:500;position:relative}.nav__links a:after{content:"";background:var(--ink);transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav__links a:hover:after{transform:scaleX(1)}@media (width<=720px){.nav__links{display:none}}.link-arrow{color:var(--ink);align-items:center;gap:.5ch;font-size:.96rem;font-weight:600;display:inline-flex}.link-arrow svg{transition:transform .35s var(--ease)}.link-arrow:hover svg{transform:translate(4px)}.link-arrow--accent{color:var(--accent)}.hero{--hero-ivory:#f3ebda;background:var(--hero-ivory);align-items:center;min-height:clamp(560px,76vh,740px);padding-top:72px;display:flex;position:relative;overflow:clip}.hero__bg{z-index:0;position:absolute;inset:0}.hero__bg picture,.hero__bg img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.hero__bg:after{content:"";background:linear-gradient(90deg, var(--hero-ivory) 0%, color-mix(in srgb, var(--hero-ivory) 70%, transparent) 32%, transparent 56%);pointer-events:none;position:absolute;inset:0}.hero__content{z-index:2;width:100%;position:relative}.hero__content>div{max-width:40rem;padding-block:clamp(1.5rem,4vh,2.5rem)}.hero__eyebrow{margin-bottom:clamp(1.1rem,2.5vw,1.7rem)}.hero h1{font-size:clamp(2.9rem,6.4vw,5.6rem);line-height:.98}.hero h1 .dot{color:var(--accent)}@media (width<=860px){.hero{min-height:auto;padding-top:96px;display:block}.hero__content>div{max-width:none;padding-block:clamp(1rem,4vh,2rem) clamp(2rem,5vh,2.5rem)}.hero h1{font-size:clamp(3rem,12vw,4.4rem)}.hero__bg{height:clamp(360px,54vh,520px);position:static}.hero__bg:after{display:none}.hero__bg img{object-position:center 26%}.hero__actions{flex-direction:column;align-items:flex-start;gap:1.2rem}}.btn-fill{background:var(--accent);color:#fff;transition:background .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);white-space:nowrap;border-radius:9px;align-items:center;gap:.6ch;padding:.92rem 1.45rem;font-size:.98rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #1f3df22e}.btn-fill:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 8px 22px #1f3df23d}.btn-fill svg{transition:transform .3s var(--ease)}.btn-fill:hover svg{transform:translate(3px)}.btn-fill--sm{border-radius:8px;padding:.62rem 1.05rem;font-size:.9rem}.hero h1 .soft{font-style:italic;font-weight:380}.hero__sub{color:var(--ink-soft);max-width:30ch;margin-top:clamp(1.6rem,3vw,2.4rem);font-size:clamp(1.15rem,2.1vw,1.5rem);font-weight:400;line-height:1.45}.hero__actions{align-items:center;gap:2rem;margin-top:clamp(2.2rem,4vw,3.2rem);display:flex}.cred{border-block:1px solid var(--line)}.cred__grid{grid-template-columns:repeat(3,1fr);display:grid}.cred__item{padding:clamp(2rem,4vw,3.4rem) 0;border-left:1px solid var(--line-soft);padding-left:clamp(1.4rem,3vw,2.6rem);padding-right:2rem}.cred__item:first-child{border-left:0;padding-left:0}.cred__value{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.05}.cred__label{color:var(--muted);margin-top:.6rem;font-size:.92rem}@media (width<=720px){.cred__grid{grid-template-columns:1fr}.cred__item{padding-left:0;border-left:0;border-top:1px solid var(--line-soft);padding-block:1.6rem}.cred__item:first-child{border-top:0}}.trusted{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}.trusted__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(1.5rem,4vw,3rem);padding-block:1.4rem;display:flex}.trusted__label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:600}.trusted__logos{flex-wrap:wrap;align-items:center;gap:clamp(1.4rem,4vw,3.4rem);margin:0;padding:0;list-style:none;display:flex}.trusted__logos li{color:#b0aca4;letter-spacing:.05em;text-transform:uppercase;transition:color .3s var(--ease);align-items:center;gap:.55ch;font-size:.95rem;font-weight:600;display:inline-flex}.trusted__logos li:hover{color:var(--ink-soft)}.trusted__logos svg{flex:none}@media (width<=720px){.trusted__inner{flex-direction:column;align-items:flex-start;gap:1.1rem}.trusted__logos{gap:1.4rem 1.8rem}}.section{padding-block:clamp(5rem,13vw,11rem)}.section--deep{background:var(--bg-deep)}#services{padding-top:clamp(2rem,4vw,3.5rem)}.section__head{grid-template-columns:1fr;gap:1.4rem;max-width:60ch;margin-bottom:clamp(3rem,7vw,5.5rem);display:grid}.section__title{letter-spacing:-.025em;font-size:clamp(2.2rem,5.5vw,4rem);line-height:1}.statement{padding-top:clamp(3.5rem,9vw,7rem);padding-bottom:clamp(2.5rem,5vw,4rem)}.statement p{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);max-width:18ch;font-size:clamp(2rem,5.4vw,4.4rem);font-weight:420;line-height:1.06}.statement .accent{color:var(--accent);font-style:italic;font-weight:360}.showcase{width:100%;overflow:clip}.showcase__media{width:100%;height:clamp(320px,58vh,760px);overflow:hidden}.showcase__media img{object-fit:cover;object-position:center 42%;width:100%;height:100%;transition:transform 1.4s var(--ease);transform:scale(1.04)}.showcase__media.is-in img{transform:scale(1)}.global{--global-ivory:#e9e4da;background:var(--global-ivory);align-items:center;min-height:clamp(540px,70vh,720px);display:flex;position:relative;overflow:clip}.global__bg{z-index:0;position:absolute;inset:0}.global__bg img{object-fit:cover;object-position:right center;width:100%;height:100%;display:block}.global__bg:after{content:"";background:linear-gradient(90deg, var(--global-ivory) 0%, color-mix(in srgb, var(--global-ivory) 72%, transparent) 34%, transparent 60%);pointer-events:none;position:absolute;inset:0}.global__content{z-index:2;width:100%;position:relative}.global__content>div{max-width:38rem;padding-block:clamp(2.5rem,7vw,5rem)}.global__body{color:var(--ink-soft);max-width:44ch;margin-top:1.6rem}.global__list{gap:0;max-width:26rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.global__list li{border-top:1px solid color-mix(in srgb, var(--ink) 14%, transparent);font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;padding:1rem 0;font-size:clamp(1.1rem,2vw,1.4rem)}.global__list li:last-child{border-bottom:1px solid color-mix(in srgb, var(--ink) 14%, transparent)}@media (width<=860px){.global{min-height:auto;display:block}.global__content>div{max-width:none;padding-block:clamp(2.5rem,8vw,3.5rem) clamp(2rem,6vw,2.5rem)}.global__bg{height:clamp(320px,48vh,460px);position:static}.global__bg:after{display:none}.global__bg img{object-position:center}}.testimonials__note{color:var(--muted);max-width:52ch;margin-top:1.4rem}.testimonials__grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.quote{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;margin:0;padding:clamp(1.6rem,2.6vw,2.2rem);display:flex}.quote__mark{color:var(--accent);margin-bottom:1.4rem}.quote__body{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:420;line-height:1.32}.quote__by{flex-direction:column;gap:.15rem;margin-top:auto;padding-top:1.6rem;display:flex}.quote__name{color:var(--ink);font-size:.95rem;font-weight:600}.quote__role{color:var(--muted);font-size:.85rem}@media (width<=860px){.testimonials__grid{grid-template-columns:1fr}}.cards{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}@media (width<=980px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.cards{grid-template-columns:1fr}}.card{background:var(--paper);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);border-radius:14px;flex-direction:column;padding:clamp(1.5rem,2.4vw,2rem);display:flex}.card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));transform:translateY(-4px);box-shadow:0 2px 4px #15140f0a,0 18px 40px #15140f17}.card__top{justify-content:space-between;align-items:center;margin-bottom:1.6rem;display:flex}.card__num{font-family:var(--sans);letter-spacing:.04em;color:var(--accent);font-feature-settings:"tnum";font-size:.82rem;font-weight:600}.card__arrow{color:var(--muted);transition:transform .3s var(--ease), color .3s var(--ease)}.card:hover .card__arrow{color:var(--accent);transform:translate(2px,-2px)}.card__title{margin-bottom:.8rem;font-size:clamp(1.35rem,2.1vw,1.7rem);line-height:1.08}.card__desc{color:var(--muted);font-size:.97rem}.card__tags{flex-wrap:wrap;gap:.45rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.card__tags li{color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:.28rem .72rem;font-size:.78rem}.about__grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:clamp(2.5rem,6vw,6rem);display:grid}.about__lead{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:400;line-height:1.25}.about__body{color:var(--ink-soft);max-width:52ch;margin-top:1.6rem}.facts{border-top:1px solid var(--ink);padding-top:1.6rem}.facts dl{gap:1.3rem;margin:0;display:grid}.facts dt{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:.35rem;font-size:.7rem;font-weight:600}.facts dd{color:var(--ink);margin:0;font-weight:500}.facts address{font-style:normal;line-height:1.55}@media (width<=820px){.about__grid{grid-template-columns:1fr}}.contact{text-align:center;padding-block:clamp(6rem,15vw,12rem)}.contact__title{font-size:clamp(2.6rem,9vw,7rem);line-height:.98}.contact__email{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;margin-top:clamp(2rem,5vw,3.4rem);font-size:clamp(1.4rem,4vw,2.6rem);display:inline-block;position:relative}.contact__email:after{content:"";background:var(--ink);transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:.05em;left:0}.contact__email:hover:after{transform:scaleX(0)}.site-footer{border-top:1px solid var(--line);padding-block:clamp(2.6rem,5vw,4rem) 2.4rem;font-size:.9rem}.footer__top{flex-wrap:wrap;justify-content:space-between;gap:2rem;padding-bottom:2.4rem;display:flex}.footer__brand{max-width:30ch;color:var(--muted)}.footer__brand .brand{margin-bottom:.7rem;font-size:1.3rem}.footer__cols{flex-wrap:wrap;gap:clamp(2rem,6vw,4.5rem);display:flex}.footer__col h4{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 1rem;font-size:.7rem;font-weight:600}.footer__col ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.footer__col a{color:var(--ink-soft)}.footer__col a:hover{color:var(--ink)}.footer__bottom{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;padding-top:1.8rem;font-size:.82rem;display:flex}.footer__bottom address{font-style:normal}.legal{padding-top:clamp(7rem,12vw,10rem);padding-bottom:clamp(4rem,8vw,7rem)}.legal .wrap{max-width:760px}.legal h1{margin-bottom:.6rem;font-size:clamp(2.4rem,6vw,3.6rem)}.legal .updated{color:var(--muted);margin-bottom:2.6rem;font-size:.88rem}.legal h2{margin-top:2.6rem;margin-bottom:.6rem;font-size:1.35rem}.legal p,.legal li{color:var(--ink-soft);margin-bottom:1rem}.legal ul{padding-left:1.2rem}.legal address{margin-bottom:1rem;font-style:normal}.legal a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.back-home{margin-top:3rem}.skip-link{background:var(--ink);color:var(--bg);z-index:200;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}[data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(22px)}[data-reveal].is-in{opacity:1;transform:none}[data-reveal-stagger]>*{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(26px)}[data-reveal-stagger].is-in>*{opacity:1;transform:none}[data-reveal-stagger].is-in>:nth-child(2){transition-delay:80ms}[data-reveal-stagger].is-in>:nth-child(3){transition-delay:.16s}[data-reveal-stagger].is-in>:nth-child(4){transition-delay:.24s}[data-reveal-stagger].is-in>:nth-child(5){transition-delay:.32s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}[data-reveal],[data-reveal-stagger]>*{opacity:1;transform:none}}
