:root{--ink:#20231f;--deep:#121713;--paper:#f6f3ed;--cream:#ebe7df;--gold:#b8a286;--pale:#d8c7ae;--soft:#86877c;--line:rgba(27,34,28,.16);--ease:cubic-bezier(.2,.8,.2,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.65 Arial,'Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#c4b29b;color:#161916}.wrap{width:min(100% - 8.5vw,1320px);margin-inline:auto}.serif{font-family:'Iowan Old Style','Baskerville','Palatino Linotype',Georgia,serif;font-weight:400;letter-spacing:-.052em}.eyebrow{display:inline-flex;align-items:center;gap:13px;text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:.27em;font-weight:700}.eyebrow::before{content:"";width:24px;height:1px;background:var(--gold)}.light{color:var(--pale)}.gold{color:var(--gold)}.muted{color:#77796f}.h2{font-size:clamp(46px,7vw,100px);line-height:1.03;margin:22px 0 26px}.h3{font-size:clamp(30px,4vw,58px);line-height:1.08;margin:17px 0 25px}.lead{font-size:clamp(17px,1.7vw,21px);line-height:1.75}.section{padding:clamp(85px,10vw,148px) 0}.section-tint{background:#eae6dc}.section-dark{background:var(--deep);color:#f5f1e9}.line{border-top:1px solid var(--line)}.section-dark .line{border-color:rgba(255,255,255,.18)}.btn-line{display:inline-flex;justify-content:space-between;align-items:center;gap:50px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:18px 0;transition:color .2s}.btn-line:hover{color:var(--gold)}.btn-line .arrow{font-size:20px;line-height:1}.btn-ghost{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:1px solid rgba(255,255,255,.45);padding:16px 23px;font-size:10px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:#fff;transition:background .3s,color .3s}.btn-ghost:hover{background:#f5f1e9;color:var(--ink)}.skip{position:absolute;z-index:150;top:-70px;left:15px;padding:12px 20px;background:#fff;color:#111}.skip:focus{top:16px}
.site-header{position:fixed;z-index:90;left:0;right:0;top:0;color:#fff;transition:background .3s,color .3s,box-shadow .3s}.site-header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,9,6,.44),transparent);pointer-events:none;transition:opacity .3s}.site-header.scrolled,.site-header.open{background:rgba(245,243,237,.98);color:var(--ink);box-shadow:0 1px 0 rgba(18,18,18,.07);backdrop-filter:blur(16px)}.site-header.scrolled::before,.site-header.open::before{opacity:0}.header-inner{height:90px;position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand-img{width:56px;height:56px;object-fit:contain;filter:brightness(0) invert(1)}.scrolled .brand-img,.open .brand-img{filter:none}.brand-text{font-size:10px;line-height:1.7;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.brand-text small{display:block;font-size:8px;font-weight:400;letter-spacing:.17em;opacity:.75}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,36px)}.desktop-nav>a,.nav-drop>button{position:relative;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;background:none;border:0;color:inherit;padding:15px 0;white-space:nowrap}.desktop-nav>a::after,.nav-drop>button::after{content:"";position:absolute;width:0;bottom:8px;left:0;height:1px;background:currentColor;transition:width .25s}.desktop-nav>a:hover::after,.nav-drop>button:hover::after,.desktop-nav .active::after{width:100%}.nav-drop{position:relative}.nav-drop>button{display:flex;align-items:center;gap:8px}.nav-drop>button svg{width:13px;height:13px;transition:transform .25s}.nav-drop:hover>button svg,.nav-drop:focus-within>button svg{transform:rotate(180deg)}.drop-menu{position:absolute;display:none;left:-20px;top:100%;width:300px;background:#f5f2ec;color:var(--ink);padding:14px 18px;box-shadow:0 20px 48px rgba(0,0,0,.18)}.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu,.nav-drop.is-open .drop-menu{display:grid}.drop-menu a{display:block;font-size:11px;letter-spacing:.04em;padding:11px 9px;border-bottom:1px solid rgba(0,0,0,.07)}.drop-menu a:hover{color:#8f6e49}.header-cta{font-size:10px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding:12px 0;white-space:nowrap}.burger{display:none;border:0;background:none;color:inherit;padding:12px 0 12px 10px;width:44px}.burger span{display:block;width:24px;height:1px;background:currentColor;margin:6px auto;transition:transform .3s}.site-header.open .burger span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}.site-header.open .burger span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:none;position:fixed;inset:90px 0 0;z-index:89;background:var(--paper);color:var(--ink);overflow:auto;padding:16px 6vw 60px}.mobile-nav.active{display:block}.mobile-nav a{display:block;padding:10px 0;font:400 clamp(33px,7vw,50px)/1.28 Georgia,serif;letter-spacing:-.05em;border-bottom:1px solid #d9d3c8}.mobile-nav .mobile-sub{display:grid;padding:8px 0 22px 20px}.mobile-nav .mobile-sub a{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.04em;padding:10px 0}.mobile-nav p{font-size:11px;margin-top:35px;color:#777}
.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#131713;color:#fff;padding:150px 0 100px}.hero-image{position:absolute;inset:0 0 0 36%;z-index:-2;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(.68) brightness(.66)}.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#121713 0%,rgba(18,23,19,.71) 23%,rgba(18,23,19,.2) 85%),linear-gradient(0deg,rgba(9,12,9,.4),transparent 55%)}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 28% 24%,rgba(166,152,123,.07),transparent 55%);pointer-events:none}.hero-copy{position:relative;width:100%}.hero-overline{font-size:10px;letter-spacing:.21em;text-transform:uppercase;color:#e9d8be;font-weight:700;line-height:1.7}.hero h1{max-width:1120px;font-size:clamp(62px,10vw,155px);line-height:.92;margin:30px 0 32px}.hero h1 em{color:#d1bfa7;font-weight:400}.hero p{max-width:530px;color:#e3e2dd;font-size:clamp(16px,1.5vw,20px);line-height:1.76}.hero-actions{display:flex;gap:32px;flex-wrap:wrap;margin-top:27px}.hero-bottom{position:absolute;bottom:38px;left:4.25vw;right:4.25vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#ddd5c9}.hero-inner{min-height:clamp(490px,70vh,740px);padding-top:140px;padding-bottom:105px}.hero-inner h1{font-size:clamp(68px,8.5vw,132px);max-width:1040px}.hero-inner .hero-image{inset:0 0 0 32%}.hero-inner p{max-width:650px}.hero-inner .hero-bottom{bottom:31px}.breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d9d4cd;margin-bottom:28px}.breadcrumb a{color:#fff;text-decoration:underline;text-underline-offset:4px}.breadcrumb span:last-child{color:var(--pale)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,150px);align-items:center}.split .copy{max-width:590px}.split .photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#d4d0c7}.split .photo img{height:100%;width:100%;object-fit:cover}.split .photo .photo-tag{position:absolute;bottom:0;left:0;background:var(--paper);padding:16px 23px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;max-width:75%}.split.reverse .photo{order:2}.statline{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:38px;margin-top:45px;border-top:1px solid var(--line)}.statline strong{display:block;font:400 clamp(26px,4vw,48px)/1.2 Georgia,serif;letter-spacing:-.05em}.statline small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.14em;line-height:1.7;color:#777}.section-dark .statline{border-color:#ffffff3a}.section-dark .statline small{color:#c1b9aa}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{position:relative;background:#e8e4dc;min-height:355px;display:flex;flex-direction:column;justify-content:space-between;padding:35px 32px 31px;transition:background .35s,color .35s,transform .35s}.service-card:hover{background:#202720;color:#fff;transform:translateY(-5px)}.service-card .number{font:400 12px Georgia,serif;color:#9b8c79}.service-card h3{font:400 clamp(30px,3vw,45px)/1.08 Georgia,serif;letter-spacing:-.047em;margin:45px 0 15px}.service-card p{margin:0;font-size:13px;line-height:1.85;max-width:300px}.service-card .card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.service-card .round-arrow{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:40px;height:40px;flex-shrink:0}.service-card .round-arrow span{font-size:19px;line-height:1}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}.service-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:21px 0;font:400 clamp(21px,3vw,36px)/1.2 Georgia,serif;letter-spacing:-.04em}.service-list a:hover{color:#987959}.service-list small{font:600 10px Arial,sans-serif;letter-spacing:.1em;color:#a18d74}.detail-intro{max-width:920px;margin-bottom:70px}.detail-intro p{font-size:clamp(18px,1.8vw,22px);line-height:1.77}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{padding:32px 27px 35px;border-top:1px solid #a99a86;background:#fffefb;min-height:225px}.feature span{display:block;font-size:10px;color:#9b8465;letter-spacing:.2em;margin-bottom:24px}.feature h3{font:400 clamp(24px,2.4vw,35px)/1.2 Georgia,serif;letter-spacing:-.04em;margin:0 0 20px}.feature p{font-size:14px;color:#66685f;margin:0;line-height:1.8}.feature p b{color:var(--ink)}.detail-bar{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:31px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:68px}.detail-bar span{text-transform:uppercase;font-size:10px;letter-spacing:.2em}.detail-bar a{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-underline-offset:7px}.photo-banner{position:relative;min-height:440px;display:flex;align-items:center;color:#fff;background:#171b17;overflow:hidden}.photo-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.47)}.photo-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,11,.83),rgba(10,15,11,.2))}.photo-banner .wrap{position:relative;z-index:1;padding:75px 0}.photo-banner h2{font-size:clamp(48px,7vw,100px);line-height:1.04;margin:18px 0 22px;max-width:850px}.photo-banner p{max-width:650px;font-size:18px;color:#e0ddd6}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:55px}.approach-item{border-top:1px solid rgba(255,255,255,.35);padding-top:30px}.approach-item span{display:block;color:var(--gold);font-size:10px;letter-spacing:.2em}.approach-item h3{font:400 clamp(28px,3vw,43px)/1.13 Georgia,serif;letter-spacing:-.05em;margin:45px 0 14px}.approach-item p{color:#c0c2bb;font-size:14px}.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.audience article{border-top:1px solid var(--line);padding-top:24px}.audience h3{font:400 clamp(26px,3vw,40px) Georgia,serif;letter-spacing:-.04em;margin:15px 0}.audience p{font-size:14px;line-height:1.75;color:#66695f}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.review{background:#eeebe3;padding:40px 32px;display:flex;flex-direction:column;justify-content:space-between;gap:44px}.review blockquote{margin:0;font:400 clamp(23px,2.45vw,35px)/1.35 Georgia,serif;letter-spacing:-.025em}.review cite{font:700 10px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:#7b7267}.faq-wrap{max-width:870px}.faq-items{margin-top:35px}.faq-items details{border-bottom:1px solid var(--line);padding:4px 0}.faq-items summary{display:flex;list-style:none;cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;font:400 clamp(21px,2.4vw,32px)/1.3 Georgia,serif;letter-spacing:-.025em}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary::after{content:"+";font:400 27px Arial,sans-serif;color:#9a8267;flex-shrink:0}.faq-items details[open] summary::after{content:"−"}.faq-items details p{margin:0 0 28px;font-size:15px;line-height:1.9;color:#62665e;max-width:700px}.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(50px,8vw,140px);align-items:start}.contact-options{border-top:1px solid rgba(255,255,255,.25);margin-top:35px}.contact-option{display:grid;grid-template-columns:140px 1fr;gap:15px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.25)}.contact-option span{color:var(--pale);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.contact-option a,.contact-option strong{font:400 clamp(21px,3vw,35px)/1.25 Georgia,serif;letter-spacing:-.04em}.contact-option a:hover{color:var(--gold)}.contact-photo{aspect-ratio:4/5;position:relative;background:#282d26;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.contact-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 45%)}.contact-photo .photo-caption{position:absolute;z-index:1;bottom:28px;left:28px;color:#fff;letter-spacing:.18em;text-transform:uppercase;font-size:10px}.cta-panel{padding:95px 0;background:#e8e3d9}.cta-panel .wrap{display:flex;justify-content:space-between;gap:25px;align-items:end}.cta-panel h2{font-size:clamp(48px,6vw,91px);line-height:1.05;margin:15px 0;max-width:800px}.cta-panel .btn-line{flex:none}
.site-footer{background:#111712;color:#e7e6de;padding:70px 0 30px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:65px}.footer-brand{display:flex;align-items:center;gap:17px}.footer-brand img{width:58px;filter:brightness(0) invert(1)}.footer-brand strong{font-size:12px;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.footer-brand small{display:block;font-size:10px;letter-spacing:.1em;opacity:.66}.footer-main p{color:#c1c3ba;font-size:12px;line-height:1.9}.footer-col h3{font:700 10px Arial,sans-serif;letter-spacing:.21em;text-transform:uppercase;margin:0 0 20px;color:#b8a286}.footer-col a{display:block;padding:4px 0;font-size:12px}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;padding-top:28px;font-size:10px;color:#a8aaa1;line-height:1.9}.footer-legal{display:flex;gap:19px;flex-wrap:wrap}.footer-legal a,.footer-legal button{color:#c1c3ba;font-size:10px;background:none;border:0;padding:0}.footer-legal a:hover,.footer-legal button:hover{color:#fff;text-decoration:underline}.footer-nova a{text-decoration:underline;text-underline-offset:3px}
.cookie-panel{position:fixed;z-index:125;bottom:24px;left:24px;width:min(435px,calc(100% - 32px));padding:26px;background:#f7f4ed;color:var(--ink);box-shadow:0 8px 48px rgba(0,0,0,.25);display:none}.cookie-panel.show{display:block}.cookie-panel h3{font:400 24px Georgia,serif;letter-spacing:-.03em;margin:0 0 10px}.cookie-panel p{font-size:12px;line-height:1.7;margin:0 0 20px;color:#56584f}.cookie-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.cookie-actions button{background:#202820;border:1px solid #202820;color:#fff;padding:12px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.cookie-actions a{font-size:11px;text-decoration:underline;text-underline-offset:3px}.legal-page{padding:clamp(80px,9vw,140px) 0}.legal-content{max-width:860px}.legal-content h2{font:400 clamp(28px,3vw,42px) Georgia,serif;letter-spacing:-.04em;margin:48px 0 16px}.legal-content h3{font-size:17px;margin:25px 0 12px}.legal-content p,.legal-content li{line-height:1.92;color:#51554e;font-size:15px}.legal-content ul{padding-left:24px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-content a:hover{color:#8b7152}.legal-content .notice{border-left:2px solid #ad9476;padding:4px 0 4px 20px;color:#4e514b}.scrolltop{position:fixed;bottom:18px;right:20px;z-index:20;width:42px;height:42px;border-radius:50%;border:1px solid #c2b6a0;background:#faf7f0dd;color:#333;display:none}.scrolltop.show{display:grid;place-items:center}
.reveal{opacity:0;transform:translateY(23px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){body.cursor-on,body.cursor-on button,body.cursor-on a,body.cursor-on summary{cursor:none}.cursor-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:150;width:10px;height:10px;border-radius:50%;background:#b69e7f;transform:translate(-50%,-50%);opacity:0;transition:width .22s,height .22s,opacity .2s;mix-blend-mode:difference}.cursor-dot.active{width:38px;height:38px;background:#fff}}
@media(max-width:1150px){.desktop-nav{gap:16px}.desktop-nav>a,.nav-drop>button{font-size:9px}.header-cta{display:none}.brand{gap:10px}.brand-text{font-size:9px}.cards{grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.desktop-nav{display:none}.burger{display:block}.header-cta{display:block;margin-left:auto;margin-right:15px}.split,.contact-grid{grid-template-columns:1fr;gap:50px}.split.reverse .photo{order:0}.split .photo{aspect-ratio:5/4}.feature-grid,.reviews-grid,.audience{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.hero-image,.hero-inner .hero-image{inset:0 0 0 21%}.hero-image::after{background:linear-gradient(90deg,#121713 0%,rgba(18,23,19,.7) 43%,rgba(18,23,19,.12) 100%)}}
@media(max-width:600px){.wrap{width:calc(100% - 42px)}.header-inner{height:76px}.brand-img{width:43px;height:43px}.brand-text{font-size:8px;letter-spacing:.09em}.brand-text small{font-size:7px}.mobile-nav{top:76px}.header-cta{font-size:9px;margin-right:6px}.hero{min-height:720px;min-height:100svh;padding:136px 0 80px}.hero-inner{min-height:600px;padding:140px 0 85px}.hero h1,.hero-inner h1{font-size:clamp(56px,12.6vw,76px);max-width:96%;line-height:.99;margin:30px 0 25px}.hero p{font-size:16px;line-height:1.67;max-width:93%}.hero-image,.hero-inner .hero-image{inset:0 0 0 4%;opacity:.65}.hero-image::after{background:linear-gradient(90deg,#121713 0%,rgba(18,23,19,.76) 45%,rgba(18,23,19,.42) 100%),linear-gradient(0deg,rgba(18,23,19,.9),transparent 80%)}.hero-bottom{left:21px;right:21px;bottom:25px;font-size:8px}.hero-actions{gap:12px}.btn-ghost{font-size:9px;padding:13px 15px}.btn-line{gap:26px}.section{padding:78px 0}.h2{font-size:clamp(46px,11vw,66px)}.h3{font-size:clamp(34px,8vw,53px)}.statline{gap:12px}.statline strong{font-size:27px}.statline small{font-size:8px}.cards,.service-list,.feature-grid,.reviews-grid,.audience,.approach-grid,.footer-main{grid-template-columns:1fr}.service-card{min-height:300px}.service-list{gap:4px}.service-list a{font-size:25px}.feature{min-height:auto}.approach-item h3{margin:21px 0 10px}.contact-option{grid-template-columns:1fr;gap:8px;padding:22px 0}.contact-option a,.contact-option strong{font-size:26px;overflow-wrap:anywhere}.contact-photo{aspect-ratio:5/4}.photo-banner{min-height:400px}.cta-panel{padding:75px 0}.cta-panel .wrap{display:block}.cta-panel h2{font-size:53px}.footer-main>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-legal{margin-top:15px}.cookie-panel{left:12px;bottom:12px;width:calc(100% - 24px);padding:22px}.review blockquote{font-size:27px}.breadcrumb{font-size:9px}.section-dark .wrap{width:calc(100% - 42px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card{transition:none}.cursor-dot{display:none!important}}
/* Long headings retain balance without clipping on mobile. */
.hero-long h1{font-size:clamp(55px,8.1vw,115px);overflow-wrap:break-word}
@media(max-width:600px){.hero-long h1{font-size:clamp(39px,9.4vw,50px)}.header-cta{display:none}}
.hero-h1-kicker{display:block;margin-bottom:30px;font:700 10px/1.65 Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase;color:#e4d2bb}
@media(max-width:600px){.hero-h1-kicker{font-size:9px;letter-spacing:.15em;margin-bottom:20px}}
