
:root{--p9:#1e0838;--p8:#2c0f52;--p7:#3b1466;--p5:#6a35a8;--p1:#f3edfa;--gold:#e8b84a;--gold2:#f6d77e;--goldd:#8a5f00;--ink:#1d1428;--paper:#fffdf8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15}
a{color:var(--p5)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.goldtext{background:linear-gradient(90deg,var(--gold),var(--gold2),var(--gold));-webkit-background-clip:text;background-clip:text;color:var(--gold)}
/* top bar */
.bar{background:var(--p9);color:#fff;font-size:14px}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 22px;flex-wrap:wrap}
.brand{color:#fff;text-decoration:none;font-family:Georgia,serif;font-weight:700;font-size:18px;display:flex;align-items:center;gap:10px}
.mark{width:34px;height:34px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:13px}
.bar nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.bar nav a{color:#efe6fb;text-decoration:none}.bar nav a:hover{color:var(--gold2)}
/* hero: split with diagonal */
.hero{background:radial-gradient(circle at 85% 20%,var(--p5) 0,transparent 45%),linear-gradient(160deg,var(--p8),var(--p9));color:#fff;padding:70px 0 120px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
.eyebrow{display:inline-block;border:1px solid var(--gold);color:var(--gold2);border-radius:999px;padding:4px 14px;font-size:13px;letter-spacing:2px;text-transform:uppercase}
.hero h1{font-size:clamp(2.3rem,7vw,4.4rem);margin:18px 0 10px;max-width:14ch}
.hero .lead{font-size:clamp(1.05rem,2.6vw,1.3rem);max-width:640px;color:#efe6fb}
.hero .lead strong{color:#fff}
.btn{display:inline-block;background:linear-gradient(180deg,var(--gold2),var(--gold));color:var(--p9);font-weight:800;padding:14px 26px;border-radius:10px;text-decoration:none;margin:10px 10px 0 0;border:0;cursor:pointer;font-size:16px;box-shadow:0 4px 0 var(--goldd)}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;border:2px solid var(--gold);box-shadow:none}
/* ribbon */
.ribbon{margin:-60px auto 0;position:relative}
.ribbon .inner{background:#fff;border-radius:18px;box-shadow:0 18px 40px rgba(30,8,56,.18);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));overflow:hidden;border-top:6px solid var(--gold)}
.ribbon div div{padding:22px}.ribbon b{display:block;font-family:Georgia,serif;color:var(--p7);font-size:1.15rem}
.ribbon div div+div{border-left:1px solid #eee}
section{padding:72px 0}
h2{font-size:clamp(1.8rem,4.5vw,2.7rem);color:var(--p7);margin:0 0 14px}
.kicker{color:var(--goldd);font-weight:800;letter-spacing:2px;text-transform:uppercase;font-size:13px;margin:0 0 6px}
/* specialized split */
.split{display:grid;gap:40px;grid-template-columns:1fr}
@media(min-width:860px){.split{grid-template-columns:1fr 1.15fr;align-items:start}}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.checks li{background:var(--p1);border-left:5px solid var(--p5);border-radius:10px;padding:14px 16px}
.checks strong{color:var(--p7)}
.welcome{background:var(--p7);color:#fff;border-radius:16px;padding:24px;margin-top:22px}
.welcome h3{color:var(--gold2);margin:0 0 6px}
/* tracks: numbered big tiles */
.tracks{background:var(--p9);color:#fff}
.tracks h2{color:#fff}.tracks .kicker{color:var(--gold2)}
.tgrid{display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));background:rgba(232,184,74,.35);border:2px solid rgba(232,184,74,.35);border-radius:18px;overflow:hidden;margin-top:28px}
.tgrid article{background:var(--p8);padding:28px}
.tgrid .n{font-family:Georgia,serif;color:var(--gold);font-size:14px;letter-spacing:2px}
.tgrid h3{font-size:2rem;margin:4px 0 8px;letter-spacing:3px}.tgrid p{color:#e6dcf5;margin:0}
/* ladder */
.ladder{display:grid;gap:14px;margin-top:26px}
.step{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid #e7def3;border-radius:14px;padding:16px 20px}
.step .g{font-family:Georgia,serif;font-weight:700;color:var(--p7);font-size:1.1rem;border-right:3px solid var(--gold);padding-right:12px}
.step h3{margin:0;color:var(--p7);font-size:1.15rem}.step p{margin:2px 0 0}
@media(min-width:860px){.step:nth-child(2){margin-left:6%}.step:nth-child(3){margin-left:12%}.step:nth-child(4){margin-left:18%}}
/* formats */
.fgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:24px}
.fgrid div{border:2px solid var(--p7);border-radius:16px;padding:22px;background:#fff}
.fgrid h3{margin:0 0 6px;color:var(--p7)}
.note{border:2px dashed var(--goldd);background:#fff8e6;border-radius:12px;padding:16px 18px;margin-top:26px}
/* founder */
.founder{background:var(--p1)}
/* contact */
.contact{background:linear-gradient(160deg,var(--p8),var(--p9));color:#fff}
.contact h2{color:#fff}.contact a{color:var(--gold2)}
form{display:grid;gap:14px;grid-template-columns:1fr;margin-top:22px;background:rgba(255,255,255,.06);border:1px solid rgba(232,184,74,.4);border-radius:18px;padding:24px}
@media(min-width:720px){form{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}}
label{font-weight:700;display:block;margin-bottom:4px;color:#fff}
input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #b9a6d6;font:inherit;background:#fff;color:var(--ink)}
.hp{position:absolute;left:-5000px}
footer{background:var(--p9);color:#d9cdec;font-size:15px;padding:34px 0;border-top:4px solid var(--gold)}footer a{color:var(--gold2)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}

.page-hero{background:linear-gradient(160deg,var(--p8),var(--p9));color:#fff;padding:56px 0 64px;border-bottom:4px solid var(--gold)}
.page-hero h1{font-size:clamp(2rem,6vw,3.2rem);margin:12px 0 8px}.page-hero p{color:#efe6fb;max-width:680px}
.prose{max-width:780px}.prose h2{font-size:1.6rem;margin-top:36px}
.card2{background:#fff;border:1px solid #e7def3;border-left:6px solid var(--gold);border-radius:14px;padding:22px;margin:16px 0}
.card2 h3{margin:0 0 6px;color:var(--p7)}.tag{display:inline-block;background:var(--p1);color:var(--p7);font-weight:700;font-size:13px;border-radius:999px;padding:3px 12px;margin-bottom:6px}
.soon{display:inline-block;background:#fff3cc;color:#5c3f00;font-weight:700;border-radius:999px;padding:2px 10px;font-size:13px}
.formlight{background:var(--p1);border:1px solid #d9c9ee}.formlight label{color:var(--ink)}
fieldset{border:1px solid #b9a6d6;border-radius:10px;padding:10px 14px}legend{font-weight:700;padding:0 6px}
.chk{display:flex;flex-wrap:wrap;gap:8px 18px}.chk label{font-weight:400;display:flex;gap:6px;align-items:center;margin:0}.chk input{width:auto}
.donate{background:var(--gold);color:var(--p9);text-align:center}.donate h2{color:var(--p9)}.donate .btn{background:var(--p7);color:#fff;box-shadow:0 4px 0 var(--p9)}
details{background:#fff;border:1px solid #e7def3;border-radius:12px;padding:14px 18px;margin:10px 0}summary{font-weight:700;color:var(--p7);cursor:pointer}
.print-form{border:2px solid var(--ink);padding:24px;background:#fff;border-radius:4px}.line{border-bottom:1px solid #333;height:32px;margin:6px 0 14px}
@media print{.bar,footer,.noprint,.skip{display:none}.page-hero{background:none;color:#000;border:0;padding:0}body{background:#fff}section{padding:12px 0}}

/* GALLERY */
.showcase{background:linear-gradient(180deg,var(--p1),#fff)}
.lead-dark{max-width:760px;color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:22px}
.gallery figure,.vgrid figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(30,8,56,.12);border-bottom:4px solid var(--gold)}
.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}
.gallery figure:hover img{transform:scale(1.04)}
figcaption{padding:10px 14px;font-weight:700;color:var(--p7);font-size:15px}
.vh{color:var(--p7);margin:34px 0 0}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:14px}
.vgrid video{display:block;width:100%;aspect-ratio:9/16;max-height:520px;object-fit:cover;background:var(--p9)}
@media (prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery figure:hover img{transform:none}}

/* UPDATES */
.tagline{font-family:Georgia,serif;color:var(--gold2);font-size:clamp(1.1rem,3vw,1.5rem);margin:0 0 10px;font-style:italic}
.area{color:#fff;font-weight:700;margin:6px 0 4px}
.bar nav a.navcta{background:var(--gold);color:var(--p9);padding:4px 12px;border-radius:999px;font-weight:800}.bar nav a.navcta:hover{color:var(--p9);background:var(--gold2)}
.farea{color:var(--gold2);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:13px}
.sgrid,.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:22px}
.scard{background:#fff;border:1px solid #e7def3;border-top:5px solid var(--p5);border-radius:14px;padding:18px;display:flex;flex-direction:column}
.scard h3{margin:0 0 6px;color:var(--p7);font-size:1.1rem}.scard p{margin:0 0 10px;font-size:15px;flex:1}
.age{align-self:flex-start;background:var(--gold);color:var(--p9);font-weight:800;font-size:13px;border-radius:999px;padding:2px 10px}
.catalog{background:var(--p9);color:#efe6fb}.catalog h2{color:#fff}.catalog .lead-dark{color:#efe6fb}.catalog .kicker{color:var(--gold2)}
.ccard{background:rgba(255,255,255,.06);border:1px solid rgba(232,184,74,.45);border-radius:14px;padding:18px}
.ccard h3{margin:0 0 10px;color:var(--gold2);font-size:1.05rem}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.chips li{background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:3px 11px;font-size:14px}
.chips.big li{background:var(--p1);color:var(--p7);font-weight:700;font-size:15px;padding:6px 14px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:20px}
.pcard{background:#fff;border:2px solid var(--gold);border-radius:16px;padding:18px;text-align:center;box-shadow:0 6px 18px rgba(30,8,56,.08)}
.pcard h3{margin:0;color:var(--p7);font-size:1.02rem}.price{font-family:Georgia,serif;font-size:1.7rem;font-weight:700;color:var(--p9);margin:8px 0 2px}.per{margin:0;font-size:14px;color:#5a4a6e}
.consult{background:linear-gradient(180deg,#fff,var(--p1))}
.consult form{background:#fff}.consult label,.consult legend{color:var(--ink)}

/* LOGO */
.brand .logo{width:52px;height:52px;display:block}.flogo{width:120px;height:120px;display:block;margin:0 0 14px}
