
:root{
  --bg: #f7f1e7;
  --bg-soft: #fcf8f1;
  --card: rgba(255,255,255,.78);
  --card-strong: rgba(255,255,255,.92);
  --line: rgba(126, 95, 51, .14);
  --text: #403427;
  --muted: #6f5c48;
  --gold: #dcb870;
  --gold-deep: #b88d48;
  --sky: #dfeef7;
  --sage: #e7f0df;
  --rose: #f5e4dd;
  --shadow: 0 18px 55px rgba(108, 80, 45, .12);
  --radius: 28px;
  --radius-sm: 18px;
  --max: 1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(255,255,255,.8), transparent 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(223,238,247,.8), transparent 58%),
    linear-gradient(180deg, #fbf7f0 0%, #f5eee2 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max), calc(100% - 40px)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(12px);
  background: rgba(252,248,241,.78);
  border-bottom:1px solid rgba(126,95,51,.08);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:44px;height:44px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(135deg, #f8e9bf, #ead7b0 55%, #fffdf7);
  box-shadow: var(--shadow);
  font-size:18px;
}
.brand strong{display:block;font-size:17px}
.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.main-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.main-nav a{padding:10px 14px;border-radius:999px;color:var(--muted);font-weight:600}
.main-nav a.active,.main-nav a:hover{background:rgba(255,255,255,.72);color:var(--text)}
.button{
  border:0;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;
  transition:.22s transform ease, .22s box-shadow ease, .22s background ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{
  background: linear-gradient(135deg, #d9b36c, #f0d79f);
  color:#473521; box-shadow: 0 10px 24px rgba(165, 121, 45, .18);
}
.button-secondary{background:#fff;color:var(--text);border:1px solid var(--line)}
.hero{padding:44px 0 26px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}
.panel{
  background:var(--card); border:1px solid rgba(255,255,255,.6); border-radius:var(--radius);
  box-shadow:var(--shadow); overflow:hidden;
}
.panel-pad{padding:32px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:#866744;
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#d9b36c}
h1,h2,h3,h4{margin:0 0 12px;line-height:1.08}
h1,h2{font-family:"Cormorant Garamond",serif;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(3rem, 7vw, 5.2rem)}
h2{font-size:clamp(2.4rem, 5vw, 4rem)}
h3{font-size:1.35rem}
p{line-height:1.75;margin:0 0 14px}
.lead{font-size:1.08rem;color:var(--muted);max-width:58ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.notice{margin-top:18px;padding:16px 18px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:.95rem}
.art-frame{background:linear-gradient(180deg, #fffdfa, #f6eddc); padding:18px; position:relative}
.art-frame::after{
  content:""; position:absolute; inset:auto 24px 20px; height:28px; border-radius:999px; filter:blur(18px);
  background:rgba(159,118,55,.18); z-index:0;
}
.art-frame img{position:relative;z-index:1;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.8)}
.section{padding:18px 0}
.section-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px}
.card{background:var(--card-strong);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.card h3{font-family:"Cormorant Garamond",serif;font-size:1.9rem}
.card p,.card li{color:var(--muted)}
.card ul{margin:10px 0 0;padding-left:18px}
.feature-band{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.quote-block{font-family:"Cormorant Garamond",serif;font-size:2rem;line-height:1.2;color:#5c452c}
.soft-strip{background:linear-gradient(135deg, rgba(255,255,255,.75), rgba(255,248,236,.92));border:1px solid rgba(255,255,255,.7);border-radius:30px;padding:26px;box-shadow:var(--shadow)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.list-check{list-style:none;padding:0;margin:16px 0 0}
.list-check li{position:relative;padding-left:28px;margin-bottom:12px}
.list-check li::before{content:"✓";position:absolute;left:0;top:0;color:#a47a3b;font-weight:800}
.large-visual{min-height:100%;display:flex;align-items:center}
.callout{padding:24px;border-radius:24px;background:linear-gradient(135deg, #f9f4ea, #fff);border:1px solid var(--line)}
.resource-list a{display:block;padding:14px 0;border-bottom:1px solid rgba(126,95,51,.12);font-weight:600}
.resource-list a span{display:block;font-weight:400;color:var(--muted);margin-top:4px}
.timeline{display:grid;gap:12px}
.timeline article{padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(126,95,51,.1)}
.timeline strong{display:block;margin-bottom:6px;color:#7a5a34}
.site-footer{margin-top:30px;padding:34px 0 40px;background:rgba(255,255,255,.45);border-top:1px solid rgba(126,95,51,.1)}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer-grid h4{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:#8a6940;margin-bottom:10px}
.footer-grid p{font-size:.95rem;color:var(--muted)}

.chat-modal{position:fixed;inset:0;display:none;z-index:40}
.chat-modal.open{display:block}
.chat-overlay{position:absolute;inset:0;background:rgba(60,42,18,.18);backdrop-filter:blur(4px)}
.chat-panel{
  position:relative; width:min(760px, calc(100% - 24px)); margin:34px auto; background:#fffdf9;
  border-radius:28px; box-shadow:0 40px 90px rgba(75,55,29,.22); border:1px solid rgba(126,95,51,.14);
  padding:24px; max-height:calc(100vh - 68px); overflow:auto;
}
.chat-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#85653f}
.chat-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:26px}
.status-pill{padding:8px 12px;border-radius:999px;background:#eef5e8;color:#4b6637;font-size:12px;font-weight:700;white-space:nowrap}
.chat-log{display:grid;gap:12px;margin:20px 0;max-height:360px;overflow:auto;padding-right:6px}
.chat-message{display:flex;gap:10px;align-items:flex-start}
.chat-message.user{flex-direction:row-reverse}
.avatar{width:38px;height:38px;border-radius:14px;background:#f4e7c8;display:grid;place-items:center;flex:0 0 auto;font-weight:700}
.bubble{padding:14px 16px;border-radius:18px;background:#faf4e8;border:1px solid rgba(126,95,51,.1);line-height:1.7;max-width:85%}
.chat-message.user .bubble{background:#e8f3f8}
.prompt-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.prompt-chip{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;cursor:pointer;color:var(--muted)}
.chat-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.chat-form textarea{width:100%;border-radius:18px;border:1px solid var(--line);padding:14px 16px;font:inherit;resize:vertical;min-height:62px;background:#fff}

.hero-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.mini-stat{padding:16px;border-radius:20px;background:rgba(255,255,255,.65);border:1px solid var(--line)}
.mini-stat strong{display:block;font-size:1.8rem;font-family:"Cormorant Garamond",serif;color:#6b4f2c}

@media (max-width: 960px){
  .hero-grid,.feature-band,.split,.footer-grid{grid-template-columns:1fr}
  .section-grid{grid-template-columns:1fr 1fr}
  .main-nav{justify-content:flex-start}
}
@media (max-width: 640px){
  .container{width:min(var(--max), calc(100% - 24px))}
  .section-grid,.hero-mini-grid{grid-template-columns:1fr}
  .nav-row{align-items:flex-start;flex-direction:column}
  .chat-form{grid-template-columns:1fr}
  .panel-pad,.card,.soft-strip{padding:20px}
  h1{font-size:3.2rem}
}
