:root{--forest:#1f3a23;--forest-deep:#16291a;--moss:#3d5a3d;--sage:#7c9473;--gold:#b8941f;--gold-soft:#c9a94a;--cream:#f7f4ec;--cream-deep:#efe9dc;--paper:#fdfcf8;--bg:#fdfcf8;--ink:#25301f;--muted:#5e6b54;--line:#1f3a231f;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Jost", "Helvetica Neue", Arial, sans-serif;--shadow-sm:0 2px 12px #1f3a230f;--shadow-md:0 18px 50px -24px #16291a66;--radius:18px;--maxw:1180px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--forest);font-weight:600;line-height:1.08}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}.section{padding:clamp(70px,11vw,140px) 0}.eyebrow{font-family:var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.6em;font-size:.74rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--gold);width:26px;height:1px;display:inline-block}.section-title{max-width:16ch;margin:18px 0 0;font-size:clamp(2rem,4.4vw,3.3rem)}.lead{color:var(--muted);max-width:54ch;font-size:1.06rem}.btn{font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:transform .4s var(--ease), background .3s var(--ease), color .3s var(--ease), box-shadow .4s var(--ease);border:1px solid #0000;border-radius:100px;align-items:center;gap:.55em;padding:.95em 1.9em;font-size:.92rem;font-weight:500;display:inline-flex}.btn:hover{transform:translateY(-3px)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-primary{background:var(--forest);color:var(--cream);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--forest-deep)}.btn-ghost{color:var(--forest);background:0 0;border-color:#1f3a2347}.btn-ghost:hover{border-color:var(--forest);background:#1f3a230f}.btn .arrow{transition:transform .4s var(--ease)}.btn:hover .arrow{transform:translate(4px)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);will-change:opacity, transform;transform:translateY(28px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.site-header{z-index:50;transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .4s var(--ease);padding:18px 0;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f4ecfa;padding:10px 0;box-shadow:0 6px 24px #1f3a230f}.header-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{object-fit:contain;background:var(--paper);width:46px;height:46px;box-shadow:var(--shadow-sm);border-radius:50%;padding:2px}.brand-text{flex-direction:column;line-height:1;display:flex}.brand-name{font-family:var(--font-display);color:var(--forest);letter-spacing:.01em;font-size:1.5rem;font-weight:600}.brand-sub{font-family:var(--font-body);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:3px;font-size:.62rem}.nav{align-items:center;gap:34px;display:flex}.nav>a{color:var(--ink);transition:color .3s var(--ease);font-size:.93rem;font-weight:400;position:relative}.nav>a:not(.nav-cta):after{content:"";background:var(--gold);width:0;height:1.5px;transition:width .35s var(--ease);position:absolute;bottom:-6px;left:0}.nav>a:not(.nav-cta):hover{color:var(--forest)}.nav>a:not(.nav-cta):hover:after{width:100%}.nav-cta{padding:.7em 1.5em}.burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.burger span{background:var(--forest);width:26px;height:2px;transition:transform .35s var(--ease), opacity .3s var(--ease);border-radius:2px}.burger.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.burger.is-open span:nth-child(2){opacity:0}.burger.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=860px){.burger{display:flex}.nav{background:var(--paper);width:min(78vw,320px);transition:transform .45s var(--ease);flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;padding:0 36px;position:fixed;inset:0 0 0 auto;transform:translate(100%);box-shadow:-20px 0 60px -30px #16291a80}.nav.is-open{transform:translate(0)}.nav>a{font-size:1.3rem;font-family:var(--font-display)}.nav-cta{font-family:var(--font-body);font-size:.95rem}}.hero{padding:clamp(130px,18vh,200px) 0 clamp(70px,10vh,120px);position:relative;overflow:hidden}.hero-bg{z-index:-1;background:radial-gradient(900px 600px at 78% 18%, #7c947338, transparent 60%), radial-gradient(700px 500px at 10% 80%, #b8941f1a, transparent 55%), var(--cream);position:absolute;inset:0}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,6vw,90px);display:grid}.hero-title{max-width:14ch;margin:22px 0 0;font-size:clamp(2.5rem,5.6vw,4.6rem)}.hero-brand{color:var(--gold);letter-spacing:.02em;margin-bottom:.5em;font-size:.46em;font-style:italic;font-weight:500;display:block}.hero-desc{color:var(--muted);max-width:46ch;margin:26px 0 34px;font-size:1.12rem}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-stats{border-top:1px solid var(--line);gap:clamp(28px,5vw,54px);margin:50px 0 0;padding-top:30px;display:flex}.hero-stat dt{font-family:var(--font-display);color:var(--forest);font-size:2.1rem;font-weight:600}.hero-stat dd{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:.78rem}.hero-visual{aspect-ratio:1;width:100%;max-width:480px;margin-inline:auto;position:relative}.hero-ring{z-index:2;width:112%;height:112%;animation:floaty 9s var(--ease) infinite alternate;position:absolute;inset:-6% -6% auto auto}.hero-photo{box-shadow:var(--shadow-md);z-index:1;border-radius:50%;position:absolute;inset:9%;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease)}.hero-visual:hover .hero-photo img{transform:scale(1.06)}.hero-badge{z-index:3;background:var(--forest);color:var(--cream);box-shadow:var(--shadow-md);animation:floaty 7s var(--ease) infinite alternate-reverse;border-radius:100px;padding:14px 22px;position:absolute;bottom:4%;left:-4%}.hero-badge-tag{font-family:var(--font-display);font-size:1.1rem;font-style:italic}@keyframes floaty{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.hero-scroll{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:10px;font-size:.68rem;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:var(--line);width:1px;height:40px;position:relative;overflow:hidden}.hero-scroll-line:after{content:"";background:var(--gold);width:100%;height:40px;animation:scrolldot 2.2s var(--ease) infinite;position:absolute;top:-40px;left:0}@keyframes scrolldot{0%{top:-40px}60%,to{top:40px}}@media (width<=860px){.hero-grid{grid-template-columns:1fr;gap:56px}.hero-visual{order:-1;max-width:360px}.hero-scroll{display:none}}@media (width<=480px){.hero-stats{flex-wrap:wrap;gap:22px 36px}}.about{background:var(--paper)}.about-head{max-width:640px}.about-lead{color:var(--moss);margin-top:20px;font-size:1.18rem}.about-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(44px,6vw,72px);display:grid}.about-card{border-radius:var(--radius);background:var(--cream);border:1px solid var(--line);transition:transform .5s var(--ease), box-shadow .5s var(--ease), opacity .9s var(--ease);padding:38px 32px 34px;position:relative;overflow:hidden}.about-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.about-card:before{content:"";background:linear-gradient(90deg, var(--gold), var(--sage));transform-origin:0;width:100%;height:3px;transition:transform .5s var(--ease);position:absolute;top:0;left:0;transform:scaleX(0)}.about-card:hover:before{transform:scaleX(1)}.about-num{font-family:var(--font-display);color:var(--sage);opacity:.55;font-size:2.4rem;line-height:1}.about-card h3{margin:14px 0 10px;font-size:1.5rem}.about-card p{color:var(--muted);font-size:.98rem}@media (width<=860px){.about-grid{grid-template-columns:1fr;max-width:460px}}.services{background:radial-gradient(700px 400px at 90% 0%, #7c947329, transparent 60%), var(--cream)}.services-head{text-align:center;flex-direction:column;align-items:center;display:flex}.services-grid{grid-template-columns:repeat(3,1fr);gap:26px;margin-top:clamp(44px,6vw,70px);display:grid}.service-card{background:var(--paper);border-radius:var(--radius);border:1px solid var(--line);transition:transform .5s var(--ease), box-shadow .5s var(--ease), opacity .9s var(--ease);padding:44px 36px}.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-8px)}.service-icon{width:64px;height:64px;color:var(--forest);transition:background .4s var(--ease), color .4s var(--ease), transform .5s var(--ease);background:#1f3a230f;border-radius:50%;place-items:center;display:inline-grid}.service-icon svg{width:28px;height:28px}.service-card:hover .service-icon{background:var(--forest);color:var(--cream);transform:rotate(-6deg)scale(1.05)}.service-card h3{margin:22px 0 16px;font-size:1.7rem}.service-points{flex-direction:column;gap:12px;display:flex}.service-points li{color:var(--muted);padding-left:22px;font-size:.98rem;position:relative}.service-points li:before{content:"";background:var(--gold-soft);border-radius:50%;width:8px;height:8px;position:absolute;top:.6em;left:0}@media (width<=860px){.services-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}.why{background:var(--forest);color:var(--cream);position:relative;overflow:hidden}.why:before{content:"";pointer-events:none;background:radial-gradient(600px 400px at 100% 0,#b8941f2e,#0000 60%);position:absolute;inset:0}.why-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid;position:relative}.why-head .eyebrow{color:var(--gold-soft)}.why-head .eyebrow:before{background:var(--gold-soft)}.why-head .section-title{color:var(--cream)}.why-head .lead{color:#f7f4ecb8;margin-top:20px}.why-list{gap:4px;display:grid}.why-item{transition:transform .4s var(--ease), opacity .9s var(--ease);border-bottom:1px solid #f7f4ec24;align-items:flex-start;gap:22px;padding:24px 6px;display:flex}.why-item:hover{transform:translate(8px)}.why-index{font-family:var(--font-display);color:var(--gold-soft);min-width:44px;font-size:1.5rem}.why-item h3{color:var(--cream);margin-bottom:4px;font-size:1.4rem}.why-item p{color:#f7f4eca8;font-size:.98rem}@media (width<=860px){.why-grid{grid-template-columns:1fr}}.benefits{background:var(--paper)}.benefits-head{max-width:600px}.benefits-grid{grid-template-columns:1fr 1fr;gap:26px;margin-top:clamp(40px,6vw,64px);display:grid}.benefit-block{border-radius:var(--radius);background:var(--cream);border:1px solid var(--line);transition:transform .5s var(--ease), box-shadow .5s var(--ease), opacity .9s var(--ease);padding:40px 38px}.benefit-block:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.benefit-block-head{align-items:center;gap:16px;margin-bottom:26px;display:flex}.benefit-icon{background:var(--forest);width:52px;height:52px;color:var(--cream);border-radius:14px;place-items:center;display:inline-grid}.benefit-icon svg{width:24px;height:24px}.benefit-block h3{font-size:1.6rem}.benefit-items{gap:14px;display:grid}.benefit-items li{color:var(--moss);border-bottom:1px dashed var(--line);align-items:center;gap:14px;padding-bottom:14px;font-size:1.02rem;display:flex}.benefit-items li:last-child{border-bottom:none;padding-bottom:0}.benefit-tick{border:1.5px solid var(--gold);border-radius:50%;flex:none;width:22px;height:22px;position:relative}.benefit-tick:after{content:"";border:solid var(--gold);border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:4px;left:7px;transform:rotate(45deg)}@media (width<=860px){.benefits-grid{grid-template-columns:1fr}}.visit{background:radial-gradient(600px 400px at 8% 100%, #b8941f1a, transparent 60%), var(--cream)}.visit-head{max-width:600px;margin-bottom:clamp(40px,6vw,60px)}.visit-head .lead{margin-top:20px}.visit-grid{transition:opacity .9s var(--ease), transform .9s var(--ease);grid-template-columns:.9fr 1.1fr;gap:28px;display:grid}.visit-info{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px 34px;display:flex}.visit-item{border-bottom:1px solid var(--line);gap:20px;padding:26px 0;display:flex}.visit-item:last-child{border-bottom:none}.visit-ic{width:48px;height:48px;color:var(--forest);background:#1f3a230f;border-radius:12px;flex:none;place-items:center;display:inline-grid}.visit-ic svg{width:22px;height:22px}.visit-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.72rem}.visit-value{font-family:var(--font-display);color:var(--forest);margin:4px 0 2px;font-size:1.4rem}.visit-value a{transition:color .3s var(--ease)}.visit-value a:hover{color:var(--gold)}.visit-note{color:var(--muted);font-size:.9rem}.visit-note a:hover{color:var(--gold)}.visit-map{border-radius:var(--radius);background:linear-gradient(135deg, var(--forest), var(--moss));min-height:340px;box-shadow:var(--shadow-md);place-items:center;display:grid;position:relative;overflow:hidden}.visit-map-grid{opacity:.25;background-image:linear-gradient(#f7f4ec66 1px,#0000 1px),linear-gradient(90deg,#f7f4ec66 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 75%);mask-image:radial-gradient(circle,#000 30%,#0000 75%)}.visit-map-inner{z-index:1;text-align:center;color:var(--cream);padding:24px;position:relative}.visit-map-pin{background:var(--cream);width:62px;height:62px;color:var(--forest);animation:pinpulse 2.6s var(--ease) infinite;border-radius:50%;place-items:center;margin-bottom:14px;display:inline-grid}.visit-map-pin svg{width:30px;height:30px}@keyframes pinpulse{0%,to{box-shadow:0 0 #f7f4ec66}50%{box-shadow:0 0 0 14px #f7f4ec00}}.visit-map-label{font-family:var(--font-display);font-size:1.5rem;display:block}.visit-map-note{color:#f7f4ecc7;margin-top:6px;font-size:.92rem;display:block}@media (width<=860px){.visit-grid{grid-template-columns:1fr}}.footer{background:var(--forest-deep);color:var(--cream);padding:clamp(56px,8vw,88px) 0 32px}.footer-grid{border-bottom:1px solid #f7f4ec24;grid-template-columns:2fr 1fr 1fr;gap:clamp(34px,5vw,70px);padding-bottom:48px;display:grid}.footer-logo{align-items:center;gap:12px;display:flex}.footer-logo img{object-fit:contain;background:var(--cream);border-radius:50%;width:42px;height:42px;padding:2px}.footer-logo span{font-family:var(--font-display);color:var(--cream);font-size:1.4rem}.footer-tagline{font-family:var(--font-display);color:var(--gold-soft);margin:18px 0 12px;font-size:1.25rem;font-style:italic}.footer-blurb{color:#f7f4eca8;max-width:40ch;font-size:.96rem}.footer-social{gap:12px;margin-top:26px;display:flex}.footer-social-link{width:42px;height:42px;color:var(--cream);transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease), border-color .35s var(--ease);border:1px solid #f7f4ec38;border-radius:50%;place-items:center;display:inline-grid}.footer-social-link svg{width:20px;height:20px}.footer-social-link:hover{background:var(--gold);border-color:var(--gold);color:var(--forest-deep);transform:translateY(-3px)}.footer-col h4{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:20px;font-size:.74rem}.footer-col ul{gap:13px;display:grid}.footer-col a,.footer-addr{color:#f7f4ecb8;transition:color .3s var(--ease);font-size:.96rem}.footer-col a:hover{color:var(--cream)}.footer-addr{display:block}.footer-base{color:#f7f4ec8c;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;font-size:.86rem;display:flex}.footer-base-tag{font-family:var(--font-display);font-style:italic}@media (width<=760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-base{flex-direction:column;align-items:flex-start}}
