:root{--sgf-bg:#ffffff;--sgf-ink:#12160f;--sgf-green:#2f5d3a;--sgf-green-soft:#e8efe9;--sgf-muted:#8a8f88;--sgf-line:#e7e6e1;--sgf-sand:#f6f5f1;--sgf-max:1240px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sgf-bg);color:var(--sgf-ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.65;letter-spacing:.005em}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.sgf-head{max-width:var(--sgf-max);margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sgf-logo img{width:170px;height:auto}
.sgf-nav{display:flex;gap:38px;text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:600}
.sgf-nav a{position:relative;padding:6px 0}
.sgf-nav a:hover{color:var(--sgf-green)}
.sgf-nav a:first-child::before{content:"";position:absolute;left:-26px;top:-24px;width:62px;height:62px;border:1px solid var(--sgf-line);border-radius:50%}
.sgf-nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.sgf-nav-toggle span{display:block;width:22px;height:1.5px;background:var(--sgf-ink);margin:5px 0}
.sgf-main{max-width:var(--sgf-max);margin:0 auto;padding:0 28px 80px}
.sgf-inner{padding-top:12px}
.sgf-hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:78vh;padding:20px 0 60px}
.sgf-index,.sgf-year{font-size:12px;color:var(--sgf-muted);letter-spacing:.14em;margin:0}
.sgf-year{margin-top:56px}
.sgf-display{font-size:clamp(56px,9vw,118px);line-height:.92;margin:8px 0 24px;font-weight:700;letter-spacing:-.03em}
.sgf-dash{color:var(--sgf-green)}
.sgf-display-sm{font-size:clamp(34px,5vw,62px);line-height:1;margin:0 0 18px;font-weight:700;letter-spacing:-.025em}
.sgf-h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.02em;margin:0 0 22px;font-weight:700}
.sgf-hero-note{max-width:420px}
.sgf-hero-note h2{font-size:19px;margin:0 0 10px;font-weight:700}
.sgf-hero-note p{color:var(--sgf-muted);font-size:14px;margin:0 0 20px}
.sgf-lead{font-size:19px;color:var(--sgf-green);margin:0 0 18px}
.sgf-muted{color:var(--sgf-muted);font-size:13px}
.sgf-btn{font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:15px 30px;border-radius:999px;border:1px solid var(--sgf-green);background:transparent;color:var(--sgf-green);cursor:pointer;transition:background .2s,color .2s}
.sgf-btn:hover{background:var(--sgf-green);color:#fff}
.sgf-btn-solid{background:var(--sgf-green);color:#fff}
.sgf-btn-solid:hover{background:var(--sgf-ink);border-color:var(--sgf-ink)}
.sgf-btn-wide{width:100%}
.sgf-inline-form{margin:0}
.sgf-hero-slider{position:relative}
.sgf-slides{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sgf-sand)}
.sgf-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.sgf-slide.is-active{opacity:1}
.sgf-slide img{width:100%;height:100%;object-fit:cover}
.sgf-slide a{display:block;height:100%;position:relative}
.sgf-slide-name{position:absolute;left:22px;bottom:44px;color:#fff;font-size:26px;font-weight:700;letter-spacing:-.02em;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.sgf-slide-trait{position:absolute;left:22px;bottom:22px;color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.sgf-dots{display:flex;gap:9px;margin-top:16px}
.sgf-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--sgf-line);cursor:pointer}
.sgf-dots button.is-active{background:var(--sgf-green)}
.sgf-vertical{position:absolute;right:-4px;top:8%;writing-mode:vertical-rl;font-size:11px;color:var(--sgf-muted);letter-spacing:.14em;margin:0}
.sgf-band{padding:70px 0;border-top:1px solid var(--sgf-line)}
.sgf-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;color:var(--sgf-muted);font-size:15px}
.sgf-feature{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:70px 0;border-top:1px solid var(--sgf-line)}
.sgf-feature-mark{height:280px;background:radial-gradient(circle at 50% 120%,var(--sgf-green) 0 62%,transparent 63%);border-radius:0 0 999px 999px}
.sgf-link{color:var(--sgf-green);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--sgf-green);padding-bottom:3px}
.sgf-faq{padding:70px 0;border-top:1px solid var(--sgf-line)}
.sgf-faq-list{max-width:820px}
.sgf-faq-item{border-bottom:1px solid var(--sgf-line);padding:18px 0}
.sgf-faq-item summary{cursor:pointer;font-size:18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}
.sgf-faq-item summary::-webkit-details-marker{display:none}
.sgf-faq-item summary::after{content:"+";color:var(--sgf-green);font-weight:400}
.sgf-faq-item[open] summary::after{content:"\2013"}
.sgf-faq-item p{color:var(--sgf-muted);font-size:15px;margin:12px 0 4px;max-width:70ch}
.sgf-cta{text-align:center;padding:90px 0 20px;border-top:1px solid var(--sgf-line)}
.sgf-cta .sgf-inline-form{margin:0 0 14px}
.sgf-crumbs{padding:14px 0 26px;font-size:12px;color:var(--sgf-muted);letter-spacing:.06em}
.sgf-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.sgf-crumbs li+li::before{content:"/";margin-right:10px;color:var(--sgf-line)}
.sgf-crumbs a:hover{color:var(--sgf-green)}
.sgf-page-head{max-width:640px;margin-bottom:44px}
.sgf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.sgf-card{background:var(--sgf-sand)}
.sgf-card img{aspect-ratio:4/5;object-fit:cover;width:100%}
.sgf-card h2{font-size:20px;margin:16px 18px 6px;letter-spacing:-.01em}
.sgf-card p{margin:0 18px 14px;color:var(--sgf-muted);font-size:14px}
.sgf-card .sgf-link{display:inline-block;margin:0 18px 20px}
.sgf-card:hover{background:var(--sgf-green-soft)}
.sgf-profile{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}
.sgf-profile-media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sgf-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sgf-green);margin:0 0 10px}
.sgf-chat-form{margin-top:22px;padding:24px;background:var(--sgf-sand)}
.sgf-chat-form h2{font-size:18px;margin:0 0 14px}
.sgf-chat-form label,.sgf-contact-form label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sgf-muted);margin:0 0 6px}
.sgf-chat-form input,.sgf-contact-form input,.sgf-contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--sgf-line);background:#fff;font:inherit;font-size:15px;margin-bottom:14px;border-radius:6px}
.sgf-chat-form input:focus,.sgf-contact-form input:focus,.sgf-contact-form textarea:focus{outline:2px solid var(--sgf-green);outline-offset:1px}
.sgf-contact-form{max-width:560px;margin-top:34px}
.sgf-notice{background:var(--sgf-green-soft);color:var(--sgf-green);padding:14px 18px;border-radius:8px;font-size:14px}
.sgf-page{max-width:820px}
.sgf-prose h2{font-size:24px;margin:38px 0 12px;letter-spacing:-.015em}
.sgf-prose p{margin:0 0 16px;color:#3b423a}
.sgf-prose a{color:var(--sgf-green);text-decoration:underline}
.sgf-clauses{padding-left:20px}
.sgf-clauses li{margin-bottom:12px;color:#3b423a}
.sgf-foot{border-top:1px solid var(--sgf-line);margin-top:40px}
.sgf-foot-grid{max-width:var(--sgf-max);margin:0 auto;padding:50px 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
.sgf-foot-brand{font-size:20px;font-weight:700;margin:0 0 8px}
.sgf-foot nav{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--sgf-muted)}
.sgf-foot nav a:hover{color:var(--sgf-green)}
.sgf-copy{max-width:var(--sgf-max);margin:0 auto;padding:0 28px 34px;font-size:12px;color:var(--sgf-muted)}
@media (max-width:1000px){
.sgf-hero{grid-template-columns:1fr;min-height:0}
.sgf-vertical{display:none}
.sgf-cols{grid-template-columns:1fr}
.sgf-feature{grid-template-columns:1fr}
.sgf-grid{grid-template-columns:repeat(2,1fr)}
.sgf-profile{grid-template-columns:1fr}
.sgf-foot-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
.sgf-nav{position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;gap:18px;padding:22px 28px;border-bottom:1px solid var(--sgf-line);display:none;z-index:9}
.sgf-nav.is-open{display:flex}
.sgf-nav a:first-child::before{display:none}
.sgf-nav-toggle{display:block}
.sgf-head{position:relative}
.sgf-grid{grid-template-columns:1fr}
.sgf-year{margin-top:22px}
}
