:root{--forest: #2C5B4B;--earth: #835734;--ink: #282829;--black: #000000;--white: #ffffff;--soft: #F7F4EF;--soft-green: #E7EFEA;--muted: #6F7672;--gold: #E5C076;--danger: #B94A3A}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Lora,Georgia,Times New Roman,serif;background:var(--forest);color:var(--white);font-size:1.02rem;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:inherit}.container{width:min(1120px,calc(100% - 40px));margin:0 auto}.narrow{width:min(820px,calc(100% - 40px));margin:0 auto}.section{padding:clamp(64px,8vw,104px) 0}.section-dark{background:var(--ink)}.section-soft{background:var(--soft);color:var(--ink)}.section-forest{background:var(--forest);color:var(--white)}.section-gradient{background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.12),transparent 30%),linear-gradient(135deg,var(--black) 0%,var(--forest) 42%,var(--ink) 100%)}.eyebrow{color:var(--gold);display:inline-block;font-family:"IBM Plex Serif",Georgia,serif;font-size:.95rem;font-style:italic;font-weight:500;letter-spacing:.02em;margin-bottom:14px;text-transform:none}.section-soft .eyebrow{color:var(--earth)}h1,h2,h3{font-family:"IBM Plex Serif",Georgia,serif;font-weight:600;letter-spacing:-.012em;line-height:1.18}h1{font-size:clamp(2.1rem,5.2vw,4.1rem);font-weight:700}h2{font-size:clamp(1.8rem,3.8vw,2.85rem)}h3{font-size:clamp(1.25rem,2.2vw,1.65rem)}.lead{font-size:clamp(1.05rem,1.8vw,1.22rem);opacity:.92;line-height:1.7}.section-soft .lead{color:#4d5651}.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.btn{align-items:center;background:var(--earth);border:2px solid var(--earth);border-radius:6px;box-shadow:0 12px 28px #0000002e;color:var(--white);display:inline-flex;font-family:"IBM Plex Serif",Georgia,serif;font-weight:600;justify-content:center;letter-spacing:.005em;min-height:54px;padding:15px 28px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 22px 44px #0000003d}.btn-secondary{background:transparent;border-color:#ffffff7a}.section-soft .btn-secondary{border-color:#2c5b4b47;color:var(--forest)}.card{background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:clamp(24px,4vw,36px)}.section-soft .card{background:var(--white);border-color:#2c5b4b1f;box-shadow:0 20px 60px #28282914}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px);align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.checks{list-style:none;display:grid;gap:14px}.checks li{display:flex;gap:12px;align-items:flex-start}.checks li:before{content:"✓";color:var(--gold);font-weight:900;flex:0 0 auto}.section-soft .checks li:before{color:var(--forest)}.stars{color:var(--gold);letter-spacing:.08em}.photo-frame{background:linear-gradient(145deg,#ffffff38,#ffffff0f);border:1px solid rgba(255,255,255,.22);border-radius:32px;box-shadow:0 28px 80px #00000047;overflow:hidden;padding:12px}.photo-frame img{border-radius:22px;width:100%;object-fit:cover}.image-placeholder{align-items:center;aspect-ratio:4 / 5;background:linear-gradient(145deg,#fff3,#0000002e);border:1px dashed rgba(255,255,255,.42);border-radius:22px;color:#ffffffd1;display:flex;font-weight:700;justify-content:center;padding:24px;text-align:center}.section-soft .image-placeholder{background:var(--soft-green);border-color:#2c5b4b59;color:var(--forest)}.quote{font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.3rem,2.6vw,1.8rem);font-style:italic;font-weight:400;line-height:1.4}.footer{background:#151516;color:#ffffffb3;padding:54px 0}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:36px}.footer a{color:#ffffffdb;text-decoration:underline;text-underline-offset:4px}@media (max-width: 820px){.grid-2,.grid-3,.footer-grid{grid-template-columns:1fr}.container,.narrow{width:min(100% - 28px,1120px)}.cta-row .btn{width:100%}}
