*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper,#ECEFE7);color:var(--ink,#1D2A22);font-family:'Figtree',system-ui,sans-serif;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}
h1,h2,.mark,.d{font-family:'Bricolage Grotesque','Figtree',sans-serif;letter-spacing:-.02em}
img{display:block;width:100%;height:100%;object-fit:cover}
figure{margin:0}
h1,h2,p,li,label,a{overflow-wrap:break-word;min-width:0}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,4vw,48px);background:var(--paper,#ECEFE7);border-bottom:1px solid var(--line,#CFD6CA)}
.mark{font-weight:700;font-size:1.05rem;color:var(--ink,#1D2A22);text-decoration:none}
.jump{color:var(--accent,#A3442A);font-weight:600;text-decoration:none;white-space:nowrap}
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:78vh;scroll-margin-top:60px}
.hero-words{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:clamp(28px,6vw,88px) clamp(16px,4vw,56px)}
.kicker{margin:0;font-weight:600;color:var(--accent,#A3442A)}
.hero h1{margin:0;font-size:clamp(2.1rem,5.4vw,4.4rem);line-height:1.02;font-weight:700}
.lead{margin:0;max-width:34ch;color:var(--soft,#445147);font-size:1.15rem}
.btn{align-self:flex-start;display:inline-block;background:var(--accent,#A3442A);color:#fff;border:0;padding:14px 26px;font:600 1rem 'Figtree',sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--ink,#1D2A22)}
.hero-pic{min-height:320px}
.dates{padding:clamp(48px,8vw,112px) clamp(16px,4vw,56px);scroll-margin-top:60px;max-width:1100px;margin:0 auto}
.dates h2,.split h2,.reserve h2{margin:0 0 24px;font-size:clamp(1.7rem,3.8vw,2.8rem);line-height:1.08;font-weight:700}
.ledger{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink,#1D2A22)}
.ledger li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr);gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line,#CFD6CA)}
.ledger .d{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700}
.ledger .e{text-align:right;font-weight:600;color:var(--accent,#A3442A)}
.note{margin:24px 0 0;max-width:56ch;color:var(--soft,#445147)}
.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);background:var(--card,#F8F9F5);scroll-margin-top:60px}
.split-pic{min-height:360px}
.split-words{padding:clamp(32px,6vw,96px) clamp(16px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.split-words p{max-width:42ch;margin:0 0 14px;color:var(--soft,#445147)}
.reserve{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,72px);padding:clamp(48px,8vw,112px) clamp(16px,4vw,56px);scroll-margin-top:60px;max-width:1200px;margin:0 auto}
.reserve-words p{max-width:30ch;color:var(--soft,#445147)}
form{display:flex;flex-direction:column;gap:8px;min-width:0}
label{font-weight:600;margin-top:10px}
input,select{width:100%;padding:13px 12px;border:1px solid var(--soft,#445147);background:var(--card,#F8F9F5);color:var(--ink,#1D2A22);font:inherit;border-radius:0}
form .btn{margin-top:18px}
.foot{padding:32px clamp(16px,4vw,56px);border-top:1px solid var(--line,#CFD6CA);color:var(--soft,#445147);font-size:.95rem}
.foot p{margin:0 0 6px}
.foot a{color:inherit}
@media(max-width:760px){
 .hero,.split,.reserve{grid-template-columns:minmax(0,1fr)}
 .hero{min-height:0}
 .hero-pic{order:-1;height:260px;min-height:0}
 .split-pic{height:260px;min-height:0}
 .ledger li{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px;padding:16px 0}
 .ledger .t{grid-column:1/3;grid-row:2}
 .ledger .e{grid-column:2;grid-row:1}
 .ledger .p{grid-column:1/3;grid-row:3;color:var(--soft,#445147)}
 .btn{width:100%;text-align:center}
}
