:root{
  --peach-deep:#C4693D;
  --peach-mid:#E38B5D;
  --peach-light:#F3C6A0;
  --peach-tint:#FBEBDD;
  --ink:#2B221C;
  --ink-soft:#5C4B3F;
  --paper:#FDF3EA;
  --glass-bg:rgba(255,255,255,0.55);
  --glass-bg-strong:rgba(255,255,255,0.72);
  --glass-border:rgba(255,255,255,0.6);
  --glass-shadow:0 8px 32px rgba(196,105,61,0.18);
  --line:rgba(196,105,61,0.16);
  --radius:12px;
  --maxw:1240px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; color:var(--ink);
  font-family:'Manrope', sans-serif; font-size:16.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(circle at 15% 10%, #F8D9BC 0%, transparent 45%),
    radial-gradient(circle at 85% 25%, #F3B98C 0%, transparent 40%),
    radial-gradient(circle at 30% 80%, #F6CBA6 0%, transparent 45%),
    radial-gradient(circle at 90% 90%, #EFA96F 0%, transparent 40%),
    var(--paper);
  background-attachment:fixed;
  min-height:100vh;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif; font-weight:600; color:var(--peach-deep);
  letter-spacing:-0.01em; margin:0 0 0.5em 0;
}
a{color:var(--peach-deep); text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  box-shadow:var(--glass-shadow);
}
.glass-strong{
  background:var(--glass-bg-strong);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  box-shadow:var(--glass-shadow);
}

.site-header{
  position:sticky; top:16px; z-index:100; margin:16px 20px 0;
  background:var(--glass-bg-strong);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-border);
  border-radius:20px;
  box-shadow:var(--glass-shadow);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:var(--maxw); margin:0 auto; gap:20px;}
.brand{font-family:'Fraunces',serif; font-weight:700; font-size:20px; color:var(--peach-deep); white-space:nowrap; flex-shrink:0;}
.brand em{font-style:italic; color:var(--peach-mid);}
.menu-toggle{display:none; background:none; border:none; cursor:pointer;}
.menu-toggle span{display:block; width:22px; height:2px; background:var(--peach-deep); margin:5px 0; border-radius:2px;}

.main-nav{display:flex; align-items:center; gap:2px; flex-wrap:wrap; justify-content:flex-end;}
.nav-item{position:relative;}
.nav-item.has-children::after{
  content:""; position:absolute; top:100%; left:0; right:0; height:10px;
  /* invisible bridge so the cursor stays "inside" the hover area while
     crossing the visual gap to reach the dropdown below */
}
.nav-item > a{
  display:block; padding:9px 11px; font-weight:600; font-size:13.5px; color:var(--ink); border-radius:10px;
  white-space:nowrap;
}
.nav-item > a:hover{background:rgba(196,105,61,0.12); text-decoration:none; color:var(--peach-deep);}
.nav-dropdown{
  display:none; position:absolute; top:calc(100% + 8px); left:0;
  background:var(--glass-bg-strong);
  backdrop-filter:blur(22px) saturate(180%);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  border:1px solid var(--glass-border);
  border-radius:14px; box-shadow:var(--glass-shadow);
  min-width:260px; padding:8px; z-index:50;
}
.nav-item.has-children:hover .nav-dropdown{display:block;}
.nav-dropdown a{display:block; padding:9px 12px; font-size:13.5px; color:var(--ink-soft); border-radius:8px;}
.nav-dropdown a:hover{background:rgba(196,105,61,0.12); color:var(--peach-deep); text-decoration:none;}
.nav-login{
  margin-left:6px; padding:9px 18px !important; background:var(--peach-deep); color:#fff !important;
  border-radius:20px; font-weight:700; box-shadow:0 4px 14px rgba(196,105,61,0.35);
}
.nav-login:hover{background:var(--peach-mid); text-decoration:none !important;}

.hero{padding:70px 20px 50px;}
.hero-inner{max-width:760px; margin:0 auto; padding:48px 44px;}
.eyebrow{
  font-family:'Manrope',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--peach-mid); display:block; margin-bottom:16px;
}
.hero h1{font-size:42px; line-height:1.14; margin-bottom:18px;}
.hero p.lede{font-size:18px; color:var(--ink-soft); margin-bottom:28px;}

.page-content{padding:40px 20px 70px;}
.page-content .wrap{max-width:var(--maxw);}
.page-panel{padding:44px 48px; margin-bottom:24px;}
.page-content h1{font-size:32px; margin-bottom:20px;}
.page-content h2{font-size:22px; margin:28px 0 12px;}
.page-content h3{font-size:17px; margin:20px 0 8px; color:var(--ink);}
.page-content p{color:var(--ink-soft); font-size:16px; max-width:78ch; margin-bottom:14px;}
.page-content ul{color:var(--ink-soft); font-size:15.5px; max-width:74ch; padding-left:22px;}
.page-content li{margin-bottom:6px;}
.breadcrumb{font-size:13px; color:var(--ink-soft); margin-bottom:14px;}

.btn{
  display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:24px;
  font-weight:700; font-size:15px; border:1px solid transparent; cursor:pointer;
}
.btn-primary{background:var(--peach-deep); color:#fff; box-shadow:0 6px 20px rgba(196,105,61,0.35);}
.btn-primary:hover{background:var(--peach-mid); text-decoration:none;}
.btn-ghost{
  background:var(--glass-bg); backdrop-filter:blur(10px); border-color:var(--glass-border); color:var(--peach-deep);
}
.btn-ghost:hover{background:var(--glass-bg-strong); text-decoration:none;}

.card-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:20px; margin-top:20px;}
.card{padding:26px; transition:transform .2s ease, box-shadow .2s ease;}
.card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(196,105,61,0.28);}
.card h3{font-size:18px; margin-bottom:8px;}
.card p{color:var(--ink-soft); font-size:14px; margin:0;}

.with-sidebar{display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start;}
.sub-nav{padding:20px; position:sticky; top:100px;}
.sub-nav h4{font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--peach-mid); margin-bottom:12px;}
.sub-nav a{display:block; padding:8px 10px; font-size:14px; border-radius:8px; color:var(--ink-soft); margin-bottom:2px;}
.sub-nav a:hover, .sub-nav a.active{background:rgba(196,105,61,0.12); color:var(--peach-deep); text-decoration:none;}
@media (max-width:900px){ .with-sidebar{grid-template-columns:1fr;} .sub-nav{position:static;} }

.form-wrap{max-width:640px; margin-top:24px; padding:36px; }
.field{margin-bottom:18px;}
.field label{display:block; font-weight:700; font-size:14px; margin-bottom:6px; color:var(--ink);}
.field input, .field textarea, .field select{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px;
  font-family:'Manrope',sans-serif; font-size:15px; background:rgba(255,255,255,0.6);
  backdrop-filter:blur(6px);
}
.field input:focus, .field textarea:focus{outline:2px solid var(--peach-mid); outline-offset:1px;}
.alert{padding:14px 18px; border-radius:12px; margin-bottom:24px; font-size:14.5px; backdrop-filter:blur(10px);}
.alert-success{background:rgba(227,139,93,0.18); border:1px solid var(--peach-light); color:var(--peach-deep);}
.alert-warn{background:rgba(227,197,150,0.35); border:1px solid #E3C596; color:#6b4e1f;}

.site-footer{
  margin:40px 20px 20px; padding:50px 0 0;
  background:var(--glass-bg-strong);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-border); border-radius:24px 24px 0 0;
  color:var(--ink-soft);
}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px; padding:0 40px 36px;}
.footer-grid h4{color:var(--peach-deep); font-size:13px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;}
.footer-grid a{color:var(--ink-soft); font-size:14px;}
.footer-grid a:hover{color:var(--peach-deep);}
.footer-about{font-size:14px; color:var(--ink-soft); max-width:36ch;}
.footer-bottom{border-top:1px solid var(--line); padding:18px 40px; font-size:13px; border-radius:0 0 24px 24px;}

@media (max-width:900px){
  .main-nav{position:fixed; top:80px; left:16px; right:16px; bottom:16px; flex-direction:column;
    align-items:stretch; padding:16px; overflow-y:auto; display:none; border-radius:16px;
    background:var(--glass-bg-strong); backdrop-filter:blur(20px);}
  .main-nav.open{display:flex;}
  .menu-toggle{display:block;}
  .nav-dropdown{position:static; display:block; box-shadow:none; border:none; margin-left:10px; background:transparent; backdrop-filter:none;}
  .nav-item.has-children:hover .nav-dropdown{display:block;}
  .hero h1{font-size:30px;}
  .footer-grid{grid-template-columns:1fr; padding:0 24px 30px;}
  .with-sidebar{grid-template-columns:1fr;}
  .hero-inner, .page-panel{padding:28px 24px;}
}
@media (prefers-reduced-motion: reduce){ *{transition:none !important;} }
