:root{--ink:#1e1233;--vio:#2d1b54;--vel:#8c4f93;--gold:#b8924a;--paper:#f7f5f9;--mute:#5d5470;--r:2px}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 1.0625rem/1.65 Figtree,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05;color:var(--vio)}
h1{font-size:clamp(2.6rem,7.2vw,5.6rem);letter-spacing:-.015em}h2{font-size:clamp(2rem,4.6vw,3.4rem)}h3{font-size:1.7rem}
p{max-width:60ch}.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
header{position:fixed;inset:0 0 auto;z-index:20;background:rgba(247,245,249,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(45,27,84,.15)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:italic 600 1.15rem/1 'Cormorant Garamond',serif;color:var(--vio)}
.brand img{height:44px;width:auto}.brand small{display:block;font-size:.95rem;font-weight:500}
nav{display:flex;gap:1.8rem;align-items:center}nav a{text-decoration:none;font-size:.95rem;padding:.4rem 0;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--gold)}
.btn{display:inline-block;background:var(--vio);color:#fff;padding:.95rem 1.6rem;text-decoration:none;font-weight:600;border:0;border-radius:var(--r);cursor:pointer;font:inherit;font-weight:600;transition:background .25s}
.btn:hover{background:var(--vel)}.btn.alt{background:none;color:var(--vio);box-shadow:inset 0 0 0 1px var(--vio)}.btn.alt:hover{background:var(--vio);color:#fff}
nav .btn{padding:.6rem 1.1rem;color:#fff;border:0}
.menu{display:none;background:none;border:1px solid var(--vio);padding:.5rem .8rem;font:inherit;color:var(--vio)}
/* panels: the real wall — pale boards split by fine violet lines */
.panels{background:linear-gradient(90deg,transparent calc(25% - 1px),rgba(45,27,84,.22) 0 25%,transparent 0) ,linear-gradient(90deg,transparent calc(50% - 1px),rgba(45,27,84,.22) 0 50%,transparent 0),linear-gradient(90deg,transparent calc(75% - 1px),rgba(45,27,84,.22) 0 75%,transparent 0)}
.hero{min-height:100svh;display:grid;align-items:center;padding:110px 0 60px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero p.lead{margin:1.6rem 0 2rem;font-size:1.2rem;color:var(--mute)}
.cta{display:flex;gap:.9rem;flex-wrap:wrap}
#stage{position:relative;height:min(68vh,560px)}#stage canvas{position:absolute;inset:0;width:100%;height:100%}
#stage .fallback{display:none;height:100%;margin:auto}.nogl #stage .fallback{display:block}
.rate{margin-top:2.2rem;display:flex;gap:1rem;align-items:baseline;color:var(--vio)}
.rate b{font:500 3rem/1 'Cormorant Garamond',serif}.rate span{font-size:.95rem;color:var(--mute)}
section{padding:clamp(4rem,9vw,8rem) 0}
.dark{background:var(--vio);color:#e9e3f3}.dark h2,.dark h3{color:#fff}.dark a{color:#e7cf9c}
.list{border-top:1px solid rgba(45,27,84,.35)}
.row{display:grid;grid-template-columns:1fr 2fr auto;gap:1.5rem;align-items:baseline;padding:2rem 0;border-bottom:1px solid rgba(45,27,84,.35);text-decoration:none}
.row h3{transition:color .25s}.row:hover h3{color:var(--vel)}.row p{color:var(--mute)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.split img{width:100%;height:min(72vh,640px);object-fit:cover;object-position:50% 40%}
.split.rev>:first-child{order:2}
.full{position:relative;height:min(80vh,720px);overflow:hidden}.full img{width:100%;height:120%;object-fit:cover;object-position:50% 45%;will-change:transform}
.full figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem 0;background:linear-gradient(transparent,rgba(30,18,51,.75));color:#fff;font:italic 1.6rem 'Cormorant Garamond',serif}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 3rem}.facts dt{font-size:.9rem;color:var(--mute)}.facts dd{font-size:1.15rem;margin-top:.2rem}
.pagehead{padding:170px 0 4rem}.pagehead p{margin-top:1.2rem;color:var(--mute);font-size:1.2rem}
.tx{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;padding:3.5rem 0;border-top:1px solid rgba(45,27,84,.35)}
.tx ul{margin:1rem 0 1.5rem 1.1rem}.tx li{margin:.3rem 0}
form{display:grid;gap:1.2rem}label{display:grid;gap:.4rem;font-weight:600;font-size:.95rem}
input,select,textarea{font:inherit;padding:.9rem 1rem;border:1px solid rgba(45,27,84,.45);background:#fff;border-radius:var(--r);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--gold);outline-offset:1px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.hp{position:absolute;left:-999px}
#msg{padding:1rem;border-left:4px solid var(--gold);background:#fff;display:none}#msg.err{border-color:#a3202f}#msg.show{display:block}
footer{background:var(--ink);color:#cfc6de;padding:4rem 0 6rem;font-size:.95rem}footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
footer a{text-decoration:none;display:block;padding:.2rem 0}footer a:hover{color:#e7cf9c}footer .brand{color:#fff}footer .brand img{filter:brightness(0) invert(1)}
.wa{position:fixed;right:1.2rem;bottom:1.2rem;z-index:30;display:flex;align-items:center;gap:.6rem;background:#1f9d55;color:#fff;text-decoration:none;font-weight:600;padding:.8rem 1.1rem .8rem .9rem;border-radius:999px;box-shadow:0 8px 24px rgba(30,18,51,.3);transition:transform .25s}
.wa:hover{transform:translateY(-3px)}.wa svg{width:26px;height:26px;fill:#fff}
.rise{opacity:0;transform:translateY(14px);animation:in .9s .15s forwards cubic-bezier(.2,.7,.2,1)}@keyframes in{to{opacity:1;transform:none}}
@media(max-width:860px){.hero .wrap,.split,.tx,footer .wrap,.row{grid-template-columns:1fr}.split.rev>:first-child{order:0}
 #stage{height:300px;order:-1}.hero{padding-top:90px}.row{gap:.4rem}.menu{display:block}
 nav{position:absolute;top:72px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.5rem;display:none;border-bottom:1px solid rgba(45,27,84,.2)}nav.open{display:flex}nav a{padding:.8rem 0}
 .two,.facts{grid-template-columns:1fr}.wa span{display:none}.wa{padding:.9rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}.rise{opacity:1;transform:none}}
