:root{
  --accent:#f26836; --accent-deep:#96652A; --ink:#1e4835; --ink-soft:#4A5C6A;
  --paper:#FFFFFF; --paper-alt:#F2F4F2; --line:#DDE3DF; --teal:#1F6F64;
  --font-heading:'Playfair Display', serif; --font-body:'Source Sans 3', sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.5;}
h1,h2,h3{font-family:var(--font-heading);margin:0 0 .4em;line-height:1.15;font-weight:600;}
h1 em, h2 em{font-style:italic;color:var(--accent-deep);}
p{margin:0 0 1em;color:var(--ink-soft);}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);display:inline-block;margin-bottom:10px;}
.btn-cta{display:inline-block;background:var(--accent);color:#fff;padding:14px 26px;border-radius:8px;font-weight:600;font-size:15px;box-shadow:0 8px 20px -8px rgba(0,0,0,.35);}
.btn-cta.full{width:100%;text-align:center;}
.link-cta{color:var(--accent-deep);font-weight:600;font-size:14px;}

header.site{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.nav-row{display:flex;align-items:center;gap:28px;padding:14px 24px;max-width:1160px;margin:0 auto;}
.logo{font-family:var(--font-heading);font-weight:600;font-size:19px;display:flex;align-items:center;}
.logo-img{height:34px;width:auto;display:block;}
.nav-links{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:500;}
.nav-links a:hover{color:var(--accent-deep);}
.nav-cta{margin-left:12px;}
@media(max-width:760px){.nav-links{display:none;} }

.top-carousel{position:relative;width:100%;height:min(52vh,460px);overflow:hidden;background:var(--ink);}
.tc-track{position:relative;width:100%;height:100%;}
.tc-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;}
.tc-slide.active{opacity:1;z-index:1;}
.tc-slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform var(--tc-duration,6s) linear;}
.tc-slide.active img{transform:scale(1.12);}
@media(prefers-reduced-motion:reduce){.tc-slide img{transition:none;transform:scale(1);}}
.tc-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 30px 22px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#fff;font-family:var(--font-heading);font-size:20px;max-width:640px;}
.tc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.85);color:var(--ink);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.tc-arrow:hover{background:#fff;}
.tc-prev{left:16px;}
.tc-next{right:16px;}
.tc-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:7px;}
.tc-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.55);cursor:pointer;padding:0;}
.tc-dot.active{background:#fff;width:20px;border-radius:4px;transition:.2s;}
@media(max-width:700px){.top-carousel{height:280px;} .tc-caption{font-size:16px;padding:20px;}}

.hero{padding:70px 0 60px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-alt) 100%);position:relative;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(32px,5vw,52px);}
.hero .subtitle{font-size:17px;max-width:46ch;}
.hero-stamp{width:120px;height:120px;border:2px dashed var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);margin:0 auto;color:var(--accent-deep);font-family:'IBM Plex Mono',monospace;font-size:12px;text-align:center;letter-spacing:.05em;padding:10px;}
.hero-photo{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px -20px rgba(0,0,0,.4);}
.hero-photo img{width:100%;height:340px;object-fit:cover;display:block;}
.hero-photo-seal{position:absolute;bottom:16px;right:16px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 8px 16px -6px rgba(0,0,0,.4);}
@media(max-width:820px){.hero-photo img{height:220px;}}
.hf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px;}
.hf{display:flex;gap:12px;}
.hf-mark{color:var(--accent);font-size:10px;margin-top:6px;}
.hf h3{font-family:var(--font-body);font-size:14.5px;font-weight:600;margin-bottom:2px;}
.hf p{font-size:13px;margin:0;}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;} .hero-stamp{display:none;} .hf-grid{grid-template-columns:1fr;}}

.section{padding:70px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px);}
.alt{background:var(--paper-alt);}

.cob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cob-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative;}
.cob-photo{width:100%;height:160px;overflow:hidden;}
.cob-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.cob-body{padding:24px 26px;}
.cob-card:not(:has(.cob-photo)) .cob-body{padding-top:26px;}
.cob-stamp{position:absolute;top:20px;right:20px;color:var(--line);font-size:20px;}
.cob-card h3{font-size:19px;margin-bottom:8px;}
.cob-card p{font-size:14px;}
@media(max-width:900px){.cob-grid{grid-template-columns:1fr;}}

.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.plan-card{background:var(--paper);border:1px dashed var(--line);border-radius:12px;overflow:hidden;position:relative;}
.plan-card.featured{border:2px solid var(--accent);box-shadow:0 12px 30px -14px rgba(0,0,0,.3);}
.plan-photo{width:100%;height:140px;overflow:hidden;}
.plan-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.plan-body{padding:26px;}
.plan-badge{position:absolute;top:14px;left:24px;z-index:2;background:var(--accent);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;}
.plan-tag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--teal);margin-bottom:6px;}
.plan-price{font-size:15px;color:var(--ink-soft);margin:10px 0 16px;}
.plan-price strong{font-size:26px;color:var(--ink);font-family:var(--font-heading);}
.plan-card ul{list-style:none;padding:0;margin:0 0 22px;font-size:14px;}
.plan-card li{padding:6px 0;border-top:1px dashed var(--line);}
.plan-card li:first-child{border-top:none;}
.plan-disclaimer{font-size:12.5px;color:var(--ink-soft);margin-top:24px;}
@media(max-width:900px){.plan-grid{grid-template-columns:1fr;}}

.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.stat-val{font-family:var(--font-heading);font-size:26px;color:var(--accent-deep);}
.stat-label{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
@media(max-width:700px){.stats-bar{grid-template-columns:1fr 1fr;}}

.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.why-item{display:flex;gap:16px;}
.why-num{font-family:'IBM Plex Mono',monospace;color:var(--accent);font-size:14px;flex-shrink:0;}
.why-item h3{font-size:17px;margin-bottom:4px;}
.why-item p{font-size:14px;}
@media(max-width:760px){.why-grid{grid-template-columns:1fr;}}

.cta-final{background:var(--ink);color:#fff;padding:70px 0;text-align:center;}
.cta-final h2{color:#fff;font-size:clamp(26px,4vw,38px);}
.cta-final p{color:#C7D0D6;max-width:520px;margin:0 auto 26px;}

.faq-item{border-bottom:1px solid var(--line);padding:16px 0;}
.faq-item summary{cursor:pointer;font-weight:600;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--accent);font-size:20px;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:10px;font-size:14px;}

footer.site{background:var(--ink);color:#B9C4CB;padding:50px 0 24px;font-size:14px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;margin-bottom:34px;}
.foot-grid h4{color:#fff;font-family:var(--font-body);font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;}
.foot-grid a{display:block;color:#B9C4CB;padding:4px 0;}
.foot-grid a:hover{color:#fff;}
.foot-bottom{border-top:1px solid #2A3B45;padding-top:18px;font-size:12.5px;color:#7E8E96;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr;}}