:root{--bg:#f7f5f0;--bg-alt:#efece4;--surface:#fff;--navy:#1a2d4a;--navy-deep:#122033;--teal:#2a6b6d;--teal-soft:#2a6b6d1f;--charcoal:#2c2c2c;--muted:#5c6470;--border:#1a2d4a1f;--accent-line:#2a6b6d59;--shadow:0 12px 40px #1a2d4a14;--shadow-lg:0 20px 50px #1a2d4a1f;--font-sans:"Inter", system-ui, sans-serif;--font-serif:"Newsreader", Georgia, serif;--max:72rem;--nav-h:4.5rem;--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(--font-sans);color:var(--charcoal);background:var(--bg);min-width:320px;margin:0;font-size:1rem;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--teal)}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--navy);font-weight:600;line-height:1.15}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(100% - 2.5rem, var(--max));margin-inline:auto}.section{padding:clamp(4rem,8vw,6.5rem) 0}.section--alt{background:var(--bg-alt)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 .75rem;font-size:.72rem;font-weight:600}.lead{font-family:var(--font-serif);color:var(--muted);max-width:42rem;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.55}.prose{max-width:40rem;color:var(--muted)}.prose p{margin:0 0 1.15rem}.prose p:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=768px){.container{width:min(100% - 1.75rem, var(--max))}}.site-header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:box-shadow .3s var(--ease);background:#f7f5f0eb;position:sticky;top:0}.site-header.is-scrolled{box-shadow:var(--shadow)}.site-header__inner{min-height:var(--nav-h);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand{color:var(--navy);flex-direction:column;line-height:1.1;text-decoration:none;display:flex}.brand__mark{letter-spacing:.08em;font-size:1.35rem;font-weight:700}.brand__full{letter-spacing:.06em;color:var(--muted);max-width:14rem;font-size:.58rem}.site-nav{align-items:center;gap:1.75rem;display:flex}.site-nav a{color:var(--charcoal);font-size:.88rem;font-weight:500;text-decoration:none;transition:color .25s;position:relative}.site-nav a:after{content:"";background:var(--teal);transform-origin:0;width:100%;height:2px;transition:transform .3s var(--ease);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a.is-active:after{transform:scaleX(1)}.site-nav a:hover,.site-nav a.is-active{color:var(--teal)}.nav-toggle{border:1px solid var(--border);background:var(--surface);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--navy);padding:.5rem .75rem;font-size:.75rem;display:none}.mobile-nav{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:1rem 0 1.25rem;display:none}.mobile-nav.is-open{display:flex}.mobile-nav a{color:var(--navy);border-bottom:1px solid var(--border);padding:.65rem 0;font-weight:500;text-decoration:none}.btn{font:inherit;letter-spacing:.06em;cursor:pointer;transition:transform .25s var(--ease), background .25s ease, border-color .25s ease, color .25s ease;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.35rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn--primary:hover{background:var(--navy-deep);color:#fff}.btn--secondary{color:var(--navy);border-color:var(--border);background:0 0}.btn--secondary:hover{border-color:var(--teal);color:var(--teal)}.btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.section-header{max-width:44rem;margin-bottom:clamp(2rem,4vw,3rem)}.section-header h2{margin:0 0 .85rem;font-size:clamp(1.85rem,4vw,2.75rem)}.section-header p{margin:0}.card-grid{gap:1.25rem;display:grid}.card-grid--2{grid-template-columns:repeat(2,1fr)}.card-grid--3{grid-template-columns:repeat(3,1fr)}.service-card,.focus-card,.insight-card{background:var(--surface);border:1px solid var(--border);transition:transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease;border-radius:3px;padding:clamp(1.35rem,3vw,1.75rem);position:relative;overflow:hidden}.service-card:hover,.focus-card:hover,.insight-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-line);transform:translateY(-4px)}.card-hover-line{background:linear-gradient(90deg, var(--teal), transparent);transform-origin:0;width:100%;height:2px;transition:transform .45s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.service-card:hover .card-hover-line{transform:scaleX(1)}.card-num{letter-spacing:.14em;color:var(--teal);margin-bottom:.85rem;font-size:.68rem;font-weight:600}.service-card h3,.focus-card h3,.insight-card h3{margin:0 0 .65rem;font-size:1.1rem}.service-card p,.focus-card p,.insight-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.6}.insight-card .badge{letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);border-radius:2px;margin-top:1rem;padding:.35rem .6rem;font-size:.65rem;display:inline-block}.page-hero{padding:clamp(4.5rem,10vw,7rem) 0 clamp(3rem,6vw,4.5rem);position:relative;overflow:hidden}.page-hero--home{align-items:center;min-height:min(88vh,820px);display:flex}.page-hero__orbs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.page-hero__orb{filter:blur(60px);opacity:.45;border-radius:50%;animation:18s ease-in-out infinite orbFloat;position:absolute}.page-hero__orb--1{background:radial-gradient(circle,#2a6b6d59,#0000 70%);width:min(420px,55vw);height:min(420px,55vw);top:-8%;right:8%}.page-hero__orb--2{background:radial-gradient(circle,#1a2d4a33,#0000 70%);width:min(320px,45vw);height:min(320px,45vw);animation-delay:-6s;bottom:10%;left:-5%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-12px,16px)scale(1.05)}}.page-hero__grid{opacity:.35;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);pointer-events:none;background-size:64px 64px;animation:24s linear infinite gridDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 20%,#000,#0000 70%);mask-image:radial-gradient(at 30% 20%,#000,#0000 70%)}@keyframes gridDrift{0%{background-position:0 0}to{background-position:64px 64px}}.page-hero__content{max-width:44rem;position:relative}.page-hero h1{font-size:clamp(2.4rem,5.5vw,4rem);font-family:var(--font-serif);margin:0 0 1.25rem;font-weight:500;line-height:1.08}.page-hero__actions{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.hero-stat-row{border-top:1px solid var(--border);flex-wrap:wrap;gap:2rem;margin-top:3rem;padding-top:2rem;display:flex}.hero-stat span{letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.35rem;font-size:.65rem;display:block}.hero-stat strong{color:var(--navy);font-size:.9rem;font-weight:600}.text-link{letter-spacing:.04em;color:var(--teal);transition:gap .25s var(--ease), color .25s ease;align-items:center;gap:.35rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--navy);gap:.6rem}.section-cta{margin-top:2rem;margin-bottom:0}.approach-strip{background:var(--navy);color:#fff;border-block:1px solid #ffffff14;padding:1.35rem 0}.approach-strip__inner{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;display:flex}.approach-strip__label{letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;flex-shrink:0;margin:0;font-size:.65rem;font-weight:600}.approach-strip__steps{flex-wrap:wrap;align-items:center;gap:.5rem .25rem;margin:0;padding:0;list-style:none;display:flex}.approach-strip__step{align-items:center;gap:.25rem;display:flex}.approach-strip__word{letter-spacing:.16em;transition:background .3s ease, border-color .3s ease, transform .3s var(--ease);animation:4s ease-in-out infinite stepPulse;animation-delay:calc(var(--step-i) * .6s);border:1px solid #ffffff26;border-radius:2px;padding:.4rem .65rem;font-size:.72rem;font-weight:700}.approach-strip__step:hover .approach-strip__word{background:#ffffff14;border-color:#ffffff59;transform:translateY(-1px)}.approach-strip__arrow{background:linear-gradient(90deg,#fff6,#0000);width:1.25rem;height:1px;margin-inline:.15rem}@keyframes stepPulse{0%,to{opacity:.75}50%{opacity:1}}.split-section{grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.context-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:3px;padding:clamp(1.5rem,3vw,2rem);position:relative}.context-panel__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0 0 1rem;font-size:.65rem;font-weight:600}.context-panel__list{margin:0;padding:0;list-style:none}.context-panel__list li{color:var(--charcoal);border-bottom:1px solid var(--border);transition:padding-left .3s var(--ease), color .3s ease;padding:.65rem 0 .65rem 1.25rem;font-size:.92rem;position:relative}.context-panel__list li:last-child{border-bottom:none}.context-panel__list li:before{content:"";background:var(--teal);width:6px;height:6px;transition:transform .3s var(--ease);border-radius:50%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.context-panel:hover .context-panel__list li:before{transform:translateY(-50%)scale(1.2)}.context-panel__accent{background:linear-gradient(180deg, var(--teal), transparent);border-radius:0 3px 3px 0;width:4px;height:100%;position:absolute;top:0;right:0}.section--process{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%)}.process-flow{gap:0;max-width:40rem;display:grid}.process-flow__item{grid-template-columns:auto 1fr;gap:1.25rem;padding:1.35rem 0;display:grid;position:relative}.process-flow__item:not(:last-child):after{content:"";background:linear-gradient(180deg, var(--teal), var(--border));transform-origin:top;width:1px;transition:transform .8s var(--ease);position:absolute;top:3.25rem;bottom:0;left:1.1rem;transform:scaleY(0)}.process-flow__item.is-visible:not(:last-child):after{transform:scaleY(1)}.process-flow__marker{border:1px solid var(--border);background:var(--surface);letter-spacing:.08em;width:2.25rem;height:2.25rem;color:var(--teal);transition:background .35s ease, border-color .35s ease, transform .35s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex}.process-flow__item.is-visible .process-flow__marker{background:var(--teal-soft);border-color:var(--teal)}.process-flow__item:hover .process-flow__marker{transform:scale(1.08)}.process-flow__body h3{margin:0 0 .35rem;font-size:1.1rem}.process-flow__body p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.6}.values-grid--4{grid-template-columns:repeat(4,1fr)}.value-item{border-left:2px solid var(--teal);background:var(--surface);transition:transform .35s var(--ease), box-shadow .35s ease;border-radius:0 3px 3px 0;padding:1.35rem;position:relative}.value-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.value-item__icon{background:var(--teal);width:1.5rem;height:2px;transition:width .35s var(--ease);margin-bottom:.85rem;display:block}.value-item:hover .value-item__icon{width:2.25rem}.quote-band{background:var(--surface);border-block:1px solid var(--border);padding:clamp(3rem,6vw,4.5rem) 0}.quote-band__inner{max-width:44rem}.quote-band blockquote{border:none;margin:0;padding:0}.quote-band blockquote p{font-family:var(--font-serif);color:var(--navy);margin:0;font-size:clamp(1.35rem,2.8vw,1.85rem);font-style:italic;line-height:1.45}.quote-band blockquote p:before{content:"“";color:var(--teal);margin-right:.15em;font-size:1.4em;line-height:0}.cta-band{background:var(--navy);color:#fff;padding:clamp(3rem,6vw,4.5rem) 0;position:relative;overflow:hidden}.cta-band:before{content:"";pointer-events:none;background:radial-gradient(at 80%,#2a6b6d40,#0000 55%);position:absolute;inset:0}.cta-band__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex;position:relative}.cta-band h2{color:#fff;font-family:var(--font-serif);margin:0 0 .75rem;font-size:clamp(1.65rem,3.5vw,2.35rem)}.cta-band p{color:#ffffffc7;max-width:32rem;margin:0}.cta-band__actions{flex-wrap:wrap;gap:.85rem;display:flex}.cta-band .btn--primary{color:var(--navy);background:#fff;border-color:#fff}.cta-band .btn--primary:hover{background:var(--bg)}.btn--ghost{color:#fff;background:0 0;border-color:#ffffff59}.btn--ghost:hover{color:#fff;background:#ffffff14;border-color:#fff9}.steps{gap:1.5rem;display:grid}.step-item{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;gap:1.25rem;padding:1.5rem 0;display:grid}.step-item:last-child{border-bottom:none}.step-item__num{letter-spacing:.12em;color:var(--teal);padding-top:.2rem;font-size:.72rem;font-weight:700}.step-item h3{margin:0 0 .4rem;font-size:1.15rem}.step-item p{color:var(--muted);margin:0;font-size:.95rem}.values-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.value-item{border-left:2px solid var(--teal);background:var(--surface);padding:1.25rem}.value-item h3{margin:0 0 .5rem;font-size:1rem}.value-item p{color:var(--muted);margin:0;font-size:.9rem}.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(2rem,4vw,3.5rem);display:grid}.contact-block h3{letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 .5rem;font-size:.72rem}.contact-block p,.contact-block a{color:var(--navy);margin:0 0 1.5rem;font-size:1rem}.contact-form{gap:1rem;display:grid}.contact-form label{color:var(--navy);gap:.4rem;font-size:.82rem;font-weight:500;display:grid}.contact-form input,.contact-form textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--charcoal);border-radius:2px;padding:.85rem .9rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}.contact-form textarea{resize:vertical;min-height:140px}.form-msg{border-radius:2px;padding:.85rem 1rem;font-size:.9rem}.form-msg--ok{background:var(--teal-soft);color:var(--teal)}.form-msg--err{color:#9b3030;background:#b43c3c14}.site-footer{background:var(--navy-deep);color:#ffffffbf;padding:clamp(3rem,6vw,4rem) 0 2rem}.site-footer a{color:#ffffffd9;text-decoration:none}.site-footer a:hover{color:#fff}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;display:grid}.footer-brand .brand__mark{color:#fff;font-size:1.5rem}.footer-brand .brand__full{color:#ffffff8c}.footer-brand p{max-width:22rem;margin:1rem 0 0;font-size:.9rem;line-height:1.6}.footer-col h4{color:#fff;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem;font-weight:600}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li{margin-bottom:.5rem}.footer-col a{font-size:.88rem}.footer-bottom{color:#ffffff80;border-top:1px solid #ffffff1f;padding-top:1.5rem;font-size:.8rem}.reveal{opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);transition-delay:calc(var(--reveal-delay,0s));transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}.reveal--hero.is-visible{animation:heroEnter .85s var(--ease) backwards}@keyframes heroEnter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (width<=1024px){.card-grid--3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.split-section{grid-template-columns:1fr}.values-grid--4{grid-template-columns:repeat(2,1fr)}.cta-band__inner{flex-direction:column;align-items:flex-start}}@media (width<=768px){.site-nav{display:none}.nav-toggle{display:block}.brand__full{display:none}.card-grid--2,.card-grid--3,.values-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.page-hero--home{min-height:auto;padding-top:3.5rem}.values-grid--4{grid-template-columns:1fr}.approach-strip__inner{flex-direction:column;align-items:flex-start}}
