:root{--g:#1f3a2c;--g2:#2f5a41;--gold:#e8cf94;--goldd:#b9771b;--ink:#2a2218;--mut:#6b5d48;--bg:#f6f3ec;--w:#fff;--line:#ddd3bd;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,system-ui,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 16px/1.65 var(--sans);color:var(--ink);background:var(--bg)}
a{color:inherit}:focus-visible{outline:3px solid var(--goldd);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;color:var(--g)}
h1 em{font-style:italic;color:inherit}
.top{position:absolute;inset:0 0 auto 0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px clamp(20px,5vw,72px)}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.logo i{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle,#f6efe0 45%,var(--gold) 47% 56%,#f6efe0 58%);box-shadow:0 0 0 2px #ffffff55}
.logo b{display:block;font:600 26px/1 var(--serif);letter-spacing:.2em}.logo small{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600}
.top nav{display:flex;gap:clamp(14px,2.2vw,34px)}
.top nav a{color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:6px 0;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 2px no-repeat;transition:background-size .35s,color .2s}
.top nav a:hover,.top nav a.on{color:var(--gold);background-size:100% 2px}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger u{display:block;width:26px;height:2px;background:#fff;margin:auto;box-shadow:0 8px #fff,0 -8px #fff}
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(180deg,#0006 0,#0000 30%,#123024ee 100%),var(--img) center/cover;padding:150px clamp(20px,5vw,72px) 72px}
body.home .hero,.hero:first-child{}
.hero-in{max-width:1100px}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(46px,8vw,104px);margin-bottom:22px;max-width:14ch}
.hero .lead{max-width:60ch;font-size:clamp(16px,1.6vw,20px);color:#ffffffdd;margin-bottom:30px}
.btn,button{background:var(--gold);color:var(--g);border:0;padding:13px 26px;border-radius:99px;font:600 15px var(--sans);cursor:pointer;text-decoration:none;display:inline-block;margin:0 10px 10px 0;transition:transform .2s,box-shadow .2s}
.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}
.btn.out{background:none;color:#fff;border:1px solid #ffffff99}button:disabled{background:#bbb;cursor:not-allowed;transform:none}.ghost{background:none;border:1px solid var(--g);color:var(--g)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border:1px solid #ffffff40;border-radius:18px;background:#ffffff14;backdrop-filter:blur(6px);max-width:760px}
.stats div{padding:18px 22px;text-align:center;border-right:1px solid #ffffff30}.stats div:last-child{border:0}
.stats dd{font:500 34px var(--serif);order:-1}.stats div{display:flex;flex-direction:column}.stats dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.sec{padding:96px clamp(20px,5vw,72px)}.w{max-width:1100px;margin:auto}
.sec h2{font-size:clamp(36px,5vw,58px);margin-bottom:12px}.sub{color:var(--mut);font-family:var(--serif);font-style:italic;font-size:22px;max-width:60ch;margin-bottom:44px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:36px}.cols h3{font-size:28px;margin-bottom:8px}.cols p{color:var(--mut)}
.big{font:500 clamp(28px,5vw,48px) var(--serif)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px}
.card{background:var(--w);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 14px #1f3a2c14}
.card h3{font-size:26px;margin-top:6px}.card p{color:var(--mut);font-size:14px;flex:1}.card small{color:var(--mut)}
.pic{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#e5dcc4;display:grid;place-items:center;font-size:56px}.pic img{width:100%;height:100%;object-fit:cover}
.row{display:flex;justify-content:space-between;align-items:center}.row button{margin:0;padding:10px 20px}
footer{background:var(--g);color:#cfe0d3;padding:56px clamp(20px,5vw,72px) 32px}footer h3{color:#fff;font-size:26px;margin-bottom:8px}footer a{color:#fff}
.cols3{max-width:1100px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.flinks a{display:block}
.copy{max-width:1100px;margin:32px auto 0;padding-top:18px;border-top:1px solid #ffffff26;font-size:13px}
dialog{border:0;border-radius:18px;padding:26px;width:min(440px,92vw)}dialog::backdrop{background:#0008}
label{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}input,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.pay label{font-weight:400;display:flex;gap:8px;align-items:center;margin:6px 0}.pay input{width:auto}
.msg{margin-top:12px;padding:10px;background:#eef5ea;border-radius:8px;font-size:14px}#banner{position:relative;z-index:20;margin:0;text-align:center;background:var(--g);color:#fff;border-radius:0;padding:12px}
/* page transition */
.curtain{position:fixed;inset:0;z-index:100;background:var(--g);display:grid;place-items:center;transform:translateY(100%);pointer-events:none;transition:transform .6s cubic-bezier(.76,0,.24,1)}
.curtain span{font:600 clamp(34px,8vw,72px) var(--serif);letter-spacing:.3em;color:var(--gold);opacity:0;transition:opacity .3s}
html.rt-out .curtain{transform:none;pointer-events:all}html.rt-out .curtain span{opacity:1;transition-delay:.3s}
html.rt-cover .curtain{transform:none;transition:none}html.rt-cover .curtain span{opacity:1;transition:none}
html.rt-reveal .curtain{transform:translateY(-100%)}
.hero-in>*{animation:up .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.55s + var(--i,0)*.09s)}
.hero-in>*:nth-child(2){--i:1}.hero-in>*:nth-child(3){--i:2}.hero-in>*:nth-child(4){--i:3}.hero-in>*:nth-child(n+5){--i:4}
@keyframes up{from{opacity:0;transform:translateY(28px)}}
@media(max-width:900px){.burger{display:block}.top nav{position:fixed;inset:0;background:var(--g);flex-direction:column;justify-content:center;align-items:center;gap:26px;transform:translateX(100%);transition:transform .4s}
.top nav a{font:500 34px var(--serif)}.top.open nav{transform:none}.top.open .burger{position:relative;z-index:11}.cols3{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid #ffffff30}}
@media(prefers-reduced-motion:reduce){.curtain,.hero-in>*{transition:none!important;animation:none!important}}
