:root{--ink: oklch(24% .045 165);--ink-hover: oklch(31% .055 168);--ink-70: oklch(24% .045 165 / .7);--ink-35: oklch(24% .045 165 / .35);--ink-20: oklch(24% .045 165 / .2);--ink-10: oklch(24% .045 165 / .1);--ink-6: oklch(24% .045 165 / .06);--muted: oklch(45% .02 165);--cream: oklch(98% .008 95);--cream-82: oklch(98% .008 95 / .82);--cream-78: oklch(98% .008 95 / .78);--cream-8: oklch(98% .008 95 / .8);--cream-9: oklch(98% .008 95 / .9);--cream-75: oklch(98% .008 95 / .75);--cream-6: oklch(98% .008 95 / .6);--cream-12: oklch(98% .008 95 / .12);--white: oklch(100% 0 0);--border: oklch(88% .015 150);--border-70: oklch(88% .015 150 / .7);--section-alt: oklch(94% .02 150 / .4);--section-alt-solid: oklch(94% .02 150);--teal: oklch(52% .095 195);--teal-dark: oklch(48% .1 195);--teal-mid: oklch(60% .09 195);--teal-mid-40: oklch(60% .09 195 / .4);--teal-mid-50: oklch(60% .09 195 / .5);--teal-selection: oklch(60% .09 195 / .22);--icon-bg: oklch(72% .17 145 / .16);--icon-border: oklch(72% .17 145 / .4);--icon-stroke: oklch(42% .09 175);--shadow-hero: 0 30px 60px -30px oklch(24% .045 165 / .55), 0 2px 0 0 var(--ink-6);--shadow-badge: 0 18px 40px -20px oklch(24% .045 165 / .5);--shadow-card: 0 16px 34px -26px oklch(24% .045 165 / .7);--shadow-btn: 0 6px 18px -8px oklch(24% .045 165 / .6);--shadow-btn-lg: 0 10px 24px -12px oklch(24% .045 165 / .8);--shadow-light-btn: 0 12px 28px -14px oklch(0% 0 0 / .6);--max: 1152px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:"ss01","cv11"}img{display:block;max-width:100%}a{color:var(--ink);text-decoration:none}ul{margin:0}::selection{background:var(--teal-selection)}:focus-visible{outline:2px solid var(--teal-mid);outline-offset:3px;border-radius:2px}.serif{font-family:Fraunces,serif;font-optical-sizing:auto}.page{min-height:100vh;display:flex;flex-direction:column;background:var(--cream)}.main{flex:1}.wrap{margin:0 auto;max-width:var(--max);padding:0 24px}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border-70);background:var(--cream-82);backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6)}.site-header__inner{padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px}.brand__mark{height:40px;width:40px;object-fit:contain}.brand__text{display:flex;flex-direction:column;gap:2px;line-height:1}.brand__name{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.brand__sub{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.nav__link{position:relative;font-size:14px;padding:6px 0;color:var(--ink-70);transition:color .18s ease}.nav__link:hover{color:var(--ink)}.nav__link.is-active{font-weight:500;color:var(--ink)}.nav__link.is-active:hover{color:var(--teal-dark)}.nav__link.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--teal-mid)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:500;white-space:nowrap}.btn--sm{padding:9px 18px;font-size:12px;letter-spacing:.01em;gap:8px}.btn--lg{padding:14px 26px;font-size:14px}.btn--xl{padding:14px 28px;font-size:14px}.btn--primary{background:var(--ink);color:var(--cream);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.btn--primary:hover{background:var(--ink-hover);color:var(--cream);transform:translateY(-1px);box-shadow:var(--shadow-btn)}.btn--primary.btn--lg:hover{box-shadow:var(--shadow-btn-lg)}.btn--outline{border:1px solid var(--ink-20);color:var(--ink);transition:background .18s ease,border-color .18s ease}.btn--outline:hover{background:var(--section-alt-solid);border-color:var(--ink-35);color:var(--ink)}.btn--light{background:var(--cream);color:var(--ink);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.btn--light:hover{background:var(--white);color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-light-btn)}.link-dim{color:var(--cream-78);transition:color .18s ease}.link-dim:hover{color:var(--cream)}.link-dim-8{color:var(--cream-8);transition:color .18s ease}.link-dim-8:hover{color:var(--cream)}.link-dim-9{color:var(--cream-9);transition:color .18s ease}.link-dim-9:hover{color:var(--cream)}.link-underline{font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;text-decoration-color:var(--ink-35);transition:color .18s ease,text-decoration-color .18s ease}.link-underline:hover{color:var(--teal-dark);text-decoration-color:var(--teal-dark)}.hero-section{border-bottom:1px solid var(--border-70)}.hero-grid{padding:72px 24px 84px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:56px 40px}.hero-content{flex:1 1 460px;min-width:min(100%,320px)}.hero-title{margin:0;font-weight:600;font-size:clamp(3rem,6.2vw,4.5rem);line-height:.98;letter-spacing:-.025em;text-wrap:balance;color:var(--ink)}.hero-title__accent{color:var(--teal)}.hero-lead{margin:24px 0 0;max-width:38ch;font-size:18px;line-height:1.6;color:var(--muted);text-wrap:pretty}.hero-actions{margin:32px 0 0;display:flex;flex-wrap:wrap;gap:12px}.hero-tags{margin:40px 0 0;display:flex;flex-wrap:wrap;gap:8px}.tag{border-radius:6px;border:1px solid var(--teal-mid-40);padding:6px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dark)}.hero-media{flex:1 1 380px;min-width:min(100%,300px)}.hero-media__inner{position:relative}.hero-image{width:100%;height:460px;object-fit:cover;object-position:50% 42%;border-radius:6px;box-shadow:var(--shadow-hero)}.hero-image__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;box-shadow:inset 0 0 0 1px var(--ink-10);pointer-events:none;display:block}.hero-badge{position:absolute;bottom:-24px;left:-24px;display:flex;align-items:center;gap:12px;border-radius:6px;background:var(--cream);border:1px solid var(--border);padding:12px 16px;box-shadow:var(--shadow-badge);max-width:calc(100% + 24px)}.hero-badge__icon{height:36px;width:36px;object-fit:contain;flex:none}.hero-badge__text{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.25}.hero-badge__title{font-weight:500;color:var(--ink)}.hero-badge__sub{color:var(--muted)}.cta-bar{background:var(--ink);color:var(--cream)}.cta-bar__inner{padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.cta-bar__text{margin:0;font-weight:500;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:-.01em;line-height:1.2;color:var(--cream)}.cta-bar__contact{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cream-78)}.cta-bar__dot{opacity:.4}.section{padding:80px 24px}.eyebrow{margin:0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.section-title{margin:14px 0 0;font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1.04;letter-spacing:-.022em;text-wrap:balance;color:var(--ink)}.about-grid{display:flex;flex-wrap:wrap;gap:32px 24px}.about-grid__intro{flex:1 1 300px}.card-grid{flex:1 1 560px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px}.card{border-radius:8px;border:1px solid var(--border);background:var(--white);padding:26px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card:hover{border-color:var(--teal-mid-50);box-shadow:var(--shadow-card);transform:translateY(-2px)}.card__icon{display:flex;align-items:center;justify-content:center;height:38px;width:38px;border-radius:999px;background:var(--icon-bg);border:1px solid var(--icon-border)}.card__title{margin:20px 0 0;font-weight:600;font-size:19px;letter-spacing:-.015em;color:var(--ink)}.card__desc{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--muted);text-wrap:pretty}.services-section{border-top:1px solid var(--border-70);background:var(--section-alt);scroll-margin-top:64px}.services-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.services-header .section-title{max-width:20ch}.service-list{margin:48px 0 0;padding:0;list-style:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.service-item{display:grid;grid-template-columns:56px repeat(auto-fit,minmax(230px,1fr));gap:8px 24px;align-items:baseline;padding:22px 12px;border-bottom:1px solid var(--border);transition:background .18s ease}.service-item:last-child{border-bottom:none}.service-item:hover{background:var(--cream-75)}.service-item__num{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--teal)}.service-item__title{margin:0;font-weight:600;font-size:20px;letter-spacing:-.015em;color:var(--ink)}.service-item__desc{margin:0;font-size:14px;line-height:1.6;color:var(--muted);text-wrap:pretty}.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px}.principle{border-left:2px solid var(--teal-mid);padding-left:24px}.principle__text{margin:16px 0 0;font-weight:500;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.32;letter-spacing:-.015em;text-wrap:pretty;color:var(--ink)}.contact-section{padding:0 24px 96px;scroll-margin-top:96px}.contact-card{border-radius:16px;background:var(--ink);color:var(--cream);padding:clamp(36px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}.contact-card__content{flex:1 1 460px}.contact-card__eyebrow{margin:0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-6)}.contact-card__title{margin:14px 0 0;font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1.04;letter-spacing:-.022em;text-wrap:balance;color:var(--cream)}.contact-card__text{margin:16px 0 0;max-width:44ch;font-size:16px;line-height:1.6;color:var(--cream-8);text-wrap:pretty}.contact-card__action{flex:0 0 auto}.site-footer{margin-top:auto;background:var(--ink);color:var(--cream)}.site-footer__inner{padding:56px 24px;display:flex;flex-wrap:wrap;gap:40px}.footer-brand{flex:2 1 340px}.footer-brand__head{display:flex;align-items:center;gap:12px}.footer-brand__mark{height:40px;width:40px;object-fit:contain;background:var(--cream);border-radius:6px;padding:3px}.footer-brand__text{display:flex;flex-direction:column;gap:3px}.footer-brand__name{font-weight:600;font-size:19px;letter-spacing:-.015em;color:var(--cream)}.footer-brand__loc{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-8)}.footer-brand__desc{margin:20px 0 0;max-width:42ch;font-size:14px;line-height:1.65;color:var(--cream-8);text-wrap:pretty}.footer-col{flex:1 1 150px}.footer-col--contact{flex:1 1 200px}.footer-col__title{margin:0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-6)}.footer-col__list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14px}.footer-col--contact .footer-col__list{color:var(--cream-9)}.site-footer__bottom{border-top:1px solid var(--cream-12)}.site-footer__bottom-inner{padding:18px 24px;font-size:12px;color:var(--cream-6)}@media (max-width: 700px){.wrap{padding:0 20px}.site-header__inner{padding:12px 20px;gap:10px 16px}.nav{gap:16px 20px}.hero-grid{padding:40px 20px 48px;gap:40px}.hero-lead{max-width:none}.hero-image{height:320px}.hero-badge{left:0;bottom:-20px;padding:10px 14px}.cta-bar__inner{padding:18px 20px}.section{padding:56px 20px}.about-grid{gap:28px}.services-section .section{padding-top:56px;padding-bottom:56px}.services-header{gap:16px}.service-item{grid-template-columns:auto 1fr;grid-template-areas:"num title" "desc desc";row-gap:6px;column-gap:16px;padding:18px 4px}.service-item__num{grid-area:num}.service-item__title{grid-area:title}.service-item__desc{grid-area:desc}.principle{padding-left:18px}.principles{grid-template-columns:1fr;gap:32px}.contact-section{padding:0 20px 64px}.contact-card{gap:24px}.contact-card__action{flex:1 1 100%}.contact-card__action .btn{width:100%}.site-footer__inner{padding:40px 20px;gap:32px}.site-footer__bottom-inner{padding:16px 20px}}
