    :root{--green:#4C6262;--dark:#363940;--ivory:#F4F3EF;--wine:#8E4B5A;--white:#FFFFFF;--line:#D9DDDA}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{width:100%;margin:0;color:var(--dark);font:300 17px/1.78 Poppins,sans-serif;background:var(--white)}
    [hidden]{display:none!important}
    a{text-decoration:none;color:inherit}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid #BB7332;outline-offset:4px}
    .shell{width:100%;max-width:1380px;margin:auto;padding-inline:clamp(22px,5vw,82px)}
    .serif{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.038em;line-height:1.12}
    .display{font-size:clamp(48px,6.8vw,96px)}
    .section-title{font-size:clamp(38px,4.55vw,67px)}
    .card-title{font-size:clamp(27px,2.7vw,38px)}
    .lead{font-size:clamp(18px,1.6vw,22px);line-height:1.75}
    .eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;line-height:1.5}
    .muted{color:#646A6B}
    .pad{padding-block:clamp(75px,9vw,135px)}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:58px;padding:15px 29px;border:1px solid transparent;border-radius:2px;font-size:15px;font-weight:600;line-height:1.3;transition:background .2s,transform .2s,border-color .2s}
    .btn:hover{transform:translateY(-2px)}
    .btn-accent{background:var(--wine);color:#fff}
    .btn-accent:hover{background:#713B49}
    .btn-outline{border-color:rgba(255,255,255,.75);color:#fff}
    .btn-outline:hover{background:#ffffff25}
    .btn-light{background:#fff;color:var(--dark)}
    .text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;border-bottom:1px solid currentColor;color:var(--green);font-size:15px;font-weight:600;transition:color .2s,gap .2s}
    .text-link:hover{color:var(--wine);gap:14px}
    .site-header{position:sticky;top:0;z-index:50;width:100%;background:var(--ivory);border-bottom:1px solid #d7dad6;transition:box-shadow .25s}
    .site-header.scrolled{box-shadow:0 10px 28px #252c2b20}
    .header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{flex:none;display:flex;align-items:center}
    .brand img{display:block;width:clamp(205px,19vw,285px);height:72px;object-fit:contain;object-position:left center}
    .desktop-nav{display:flex;align-items:center;gap:clamp(13px,1.7vw,29px)}
    .nav-link{position:relative;padding:12px 0;color:var(--dark);white-space:nowrap;font-size:14px;font-weight:500}
    .nav-link:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform .2s}
    .nav-link:hover:after,.nav-link[aria-current="page"]:after{transform:scaleX(1)}
    .nav-link[aria-current="page"]{color:var(--wine);font-weight:600}
    .menu-button{display:none;width:50px;height:50px;align-items:center;justify-content:center;border:1px solid var(--green);background:var(--green);color:#fff}
    .mobile-nav{border-top:1px solid var(--line);padding-block:12px 24px;background:var(--ivory)}
    .mobile-nav a{display:block;padding:11px 8px;font-size:17px;font-weight:500}
    .mobile-nav a[aria-current="page"]{color:var(--wine);border-left:3px solid var(--wine);padding-left:15px}
    .page{animation:appear .4s both}
    @keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
    .photo-hero{position:relative;display:flex;align-items:center;overflow:hidden;background:var(--green);color:#fff}
    .home-hero{min-height:max(650px,calc(88 * min(var(--vh, 1vh), 1vh)))}
    .inner-hero{min-height:490px}
    .photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .photo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1b292dea 0%,#243638cf 49%,#20313772 100%)}
    .hero-lines{position:absolute;z-index:1;right:-110px;bottom:-280px;width:650px;height:650px;border:1px solid #ffffff50;border-radius:50%;pointer-events:none}
    .hero-lines:after,.hero-lines:before{content:"";position:absolute;border:1px solid #ffffff45;border-radius:50%;inset:58px}
    .hero-lines:after{inset:120px}
    .hero-content{position:relative;z-index:2;width:100%;padding-block:105px}
    .home-hero .hero-content{padding-block:115px}
    .hero-content>*{animation:appear .65s both}
    .hero-content>*:nth-child(2){animation-delay:.08s}.hero-content>*:nth-child(3){animation-delay:.16s}.hero-content>*:nth-child(4){animation-delay:.24s}
    .crumb{display:flex;flex-wrap:wrap;gap:11px;align-items:center;font-size:14px;font-weight:500;margin-bottom:30px;color:#fff}
    .crumb a{text-decoration:underline;text-underline-offset:4px}
    .crumb [aria-current]{color:#F0D4DB}
    .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,96px)}
    .editorial-image{width:100%;height:100%;min-height:350px;object-fit:cover}
    .image-frame{position:relative;overflow:hidden;background:var(--green)}
    .image-frame:after{content:"";position:absolute;right:18px;bottom:18px;width:110px;height:110px;border:1px solid #ffffff99;pointer-events:none}
    .lined{border-top:1px solid var(--line)}
    .feature{padding:clamp(28px,3.3vw,49px);min-height:365px;position:relative;overflow:hidden}
    .feature:after{content:"";position:absolute;width:230px;height:230px;border:1px solid currentColor;opacity:.13;border-radius:50%;right:-95px;bottom:-95px}
    .mini-service{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px;border:1px solid var(--line);background:white;font-weight:500;transition:background .2s,border-color .2s}
    .mini-service:hover{background:var(--ivory);border-color:var(--green)}
    .insight-card{display:flex;flex-direction:column;border:1px solid #DADDD9;background:#fff;transition:transform .25s,border-color .25s,box-shadow .25s}
    .insight-card:hover{transform:translateY(-5px);border-color:var(--green);box-shadow:0 20px 40px #25333213}
    .insight-card img{width:100%;height:220px;object-fit:cover}
    .insight-body{padding:26px;display:flex;flex:1;flex-direction:column}
    .insight-body .text-link{align-self:flex-start;margin-top:auto}
    .step{padding:28px 0;border-top:1px solid var(--line)}
    .service-card{border:1px solid var(--line);background:#fff;transition:border-color .2s}
    .service-card:hover,.service-card:has(button[aria-expanded="true"]){border-color:var(--green)}
    .service-card.featured{border-left:5px solid var(--wine)}
    .service-toggle{width:100%;display:flex;align-items:center;gap:20px;padding:24px 29px;text-align:left;border:0;background:transparent;color:var(--dark)}
    .service-toggle .symbol{width:26px;height:26px;flex:none;transition:transform .2s}
    .service-toggle[aria-expanded="true"] .symbol{transform:rotate(45deg)}
    .service-detail{padding:0 32px 30px 80px;max-width:1020px}
    .field{width:100%;min-height:54px;padding:12px 15px;border:1px solid #ABB5B1;border-radius:2px;background:#fff;color:var(--dark);font-size:16px}
    textarea.field{min-height:155px;resize:vertical}
    .field:focus{outline:2px solid var(--green);outline-offset:2px}
    .footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
    .footer-grid a:not(.btn){display:block;margin-top:13px;color:#E0E2DF;font-size:14px;line-height:1.7}
    .footer-grid a:hover{color:#F3C4CF}
    .footer-grid h2{font-size:19px;font-weight:600}
    .footer-logo{width:min(300px,100%);height:84px;object-fit:contain;object-position:left center;background:var(--ivory);padding:11px 17px}
    @media(max-width:1120px){.desktop-nav{display:none}.menu-button{display:flex}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:740px){.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{min-height:680px}.inner-hero{min-height:460px}.photo-hero:after{background:linear-gradient(90deg,#19282aed,#203337b0)}.header-inner{min-height:82px}.brand img{width:205px;height:61px}.service-toggle{padding:20px}.service-detail{padding:0 20px 24px}.insight-card img{height:210px}}
    @media(max-width:470px){.footer-grid{grid-template-columns:1fr}.hero-lines{width:360px;height:360px;right:-180px;bottom:-160px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
