:root{--plum:#4b2636;--plum2:#6b354c;--rose:#b96a83;--blush:#f1e7eb;--paper:#faf8f9;--ink:#2d2428;--muted:#5d5157;--line:#e2d9dd}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.65}
a{color:var(--plum2)}
img{max-width:100%;height:auto}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}
.center{text-align:center}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:8px;z-index:99}
.draft-bar{background:#f5c542;color:#222;text-align:center;font-size:13px;font-weight:600;padding:6px}

.site-header{position:sticky;top:0;z-index:30;background:#371b27}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.logo{font:700 20px/1 Georgia,serif;color:#fff;text-decoration:none;letter-spacing:.02em}
.logo span{color:#e4c8d2;font-weight:400}
.site-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.site-nav a{color:#e8d9df;text-decoration:none;font-size:14px}
.site-nav a:hover{color:#fff}

.btn{display:inline-block;background:var(--rose);color:#fff!important;text-decoration:none;padding:10px 18px;border-radius:4px;font-weight:600;font-size:15px}
.btn:hover{background:var(--plum2)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.5)}
.btn.light{background:#fff;color:var(--plum)!important}
.site-nav .btn{padding:7px 14px}

.hero{padding:88px 0 72px;color:#fff;border-bottom:5px solid var(--rose);background:radial-gradient(circle at 82% 18%,rgba(185,106,131,.25),transparent 30%),linear-gradient(135deg,#351d28,var(--plum),var(--plum2))}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--plum2);margin:0 0 8px}
.hero .eyebrow,.dark .eyebrow{color:#e9ced8}
h1{font:400 clamp(40px,7vw,72px)/1.05 Georgia,serif;margin:12px 0 20px;letter-spacing:-.02em}
h1 em{font-style:normal;color:#f0dbe3}
h2{font:400 clamp(28px,4vw,42px)/1.15 Georgia,serif;margin:0 0 24px;color:var(--plum)}
h3{font:400 21px/1.3 Georgia,serif;margin:0 0 10px;color:var(--plum)}
.lead{max-width:720px;font-size:19px;color:#efdee5;margin:0 0 12px}
.lead.ja{font-size:16px;color:#dcc3cd}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.section{padding:72px 0;border-bottom:1px solid var(--line)}
.section.alt{background:var(--blush)}
.section.dark{background:var(--plum);color:#fff;border-bottom:0}
.dark h2{color:#fff}
.dark p{color:#eadde2}
p{margin:0 0 16px;color:var(--muted)}
.grid2,.grid3{display:grid;gap:16px}
.grid2{grid-template-columns:repeat(2,1fr)}
.grid3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:4px}
.card p{margin:0}
.num{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:var(--blush);color:var(--plum2);font-weight:700;margin-bottom:12px}
.email{font:400 24px Georgia,serif}

.site-footer{background:#371b27;color:#d8bcc6;padding:28px 0;font-size:14px}
.site-footer p{color:#d8bcc6;margin:0}
.site-footer a{color:#fff}

@media (max-width:800px){
  .grid2,.grid3{grid-template-columns:1fr}
  .site-nav a:not(.btn){display:none}
  .hero{padding:56px 0 48px}
  .section{padding:52px 0}
}
