:root{--bg:#F3DDF1;--deep:#E6C4E2;--ink:#1e1418;--muted:#5c4b52;--orchid:#d351cf;--orchid-deep:#9c2a98;--plum:#4a1942;--paper:#fbf6ee}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orchid-deep);margin:0 0 8px}
h1,h2{margin:0;font-weight:700;letter-spacing:-.01em;line-height:1}
h1{font-size:clamp(40px,6vw,64px);line-height:1.05}
h2{font-size:clamp(36px,5vw,56px)}
h1 em,h2 em{font-style:italic;color:var(--orchid-deep)}
.btn{display:inline-block;border:0;border-radius:999px;padding:14px 30px;font:600 15px Arial,Helvetica,sans-serif;letter-spacing:.02em;text-decoration:none;cursor:pointer;background:var(--plum);color:var(--bg)}
.btn:hover{background:#5d2253}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{background:rgba(30,20,24,.08)}
.btn.light{background:var(--bg);color:var(--ink)}
.btn.light:hover{background:#fff}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid rgba(30,20,24,.12)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.nav img{height:56px;width:auto}
.nav ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0;font-size:15px;font-weight:600}
.nav ul a{text-decoration:none}
.nav ul a:not(.btn):hover{color:var(--orchid-deep)}
.nav .btn{padding:11px 24px}
/* hero */
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:88px}
.hero p{font-size:19px;line-height:30px;max-width:520px;margin:24px 0 32px}
.hero .cta{display:flex;gap:16px;flex-wrap:wrap}
.collage{position:relative;height:600px}
.print{position:absolute;border:10px solid var(--paper);box-shadow:0 8px 24px rgba(30,20,24,.18);object-fit:cover;background:var(--deep)}
.collage .a{left:0;top:10px;width:300px;height:380px;transform:rotate(-3deg)}
.collage .b{left:250px;top:110px;width:280px;height:340px;transform:rotate(3deg)}
.collage .c{left:70px;top:360px;width:260px;height:220px;transform:rotate(-2deg)}
.dot{position:absolute;right:20px;top:20px;width:56px;height:56px;border-radius:50%;background:var(--orchid)}
/* services */
.services{padding:96px 0 0;overflow-x:clip}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.kf{position:relative;background:linear-gradient(to bottom,transparent 36px,var(--c) 36px);filter:drop-shadow(0 -5px 7px rgba(30,20,24,.28))}
.kf+.kf{margin-top:-36px}
.kr{position:absolute;opacity:0;width:1px;height:1px}
.kt{display:block;position:relative;height:36px;min-width:220px;width:max-content;max-width:100%;margin-left:min(var(--x),calc(100% - 240px));background:var(--c);color:var(--fg);border-radius:16px 16px 0 0;padding:0 28px;line-height:36px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.kt::before,.kt::after{content:"";position:absolute;bottom:0;width:16px;height:16px}
.kt::before{left:-16px;background:radial-gradient(circle at 0 0,transparent 15.5px,var(--c) 16px)}
.kt::after{right:-16px;background:radial-gradient(circle at 100% 0,transparent 15.5px,var(--c) 16px)}
.kb{height:var(--h);background:var(--c);color:var(--fg);padding:0 40px;overflow:hidden;transition:height .25s ease}
.kd{max-width:640px;font-size:16px;line-height:24px;padding-top:14px;opacity:0;transition:opacity .2s ease}
.kr:checked~.kb{height:calc(var(--h) + 50px)}
.kr:checked~.kb .kd{opacity:1}
.kr:focus-visible~.kt{outline:3px solid var(--ink);outline-offset:2px}
/* events */
.events{background:var(--deep);padding:96px 0 88px;border-top:1px solid rgba(30,20,24,.12)}
.events .wrap{display:grid;grid-template-columns:420px 1fr;gap:64px;align-items:start}
.events p{font-size:19px;line-height:30px;margin:24px 0 32px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:8px}
.tile img{width:100%;height:380px;border:10px solid var(--paper);object-fit:cover;box-shadow:0 8px 24px rgba(30,20,24,.15)}
.tile:nth-child(1){transform:rotate(-2deg)}
.tile:nth-child(2){transform:rotate(2deg);margin-top:32px}
.tile figcaption{font-style:italic;font-size:20px;color:var(--muted);margin-top:16px}
/* founder */
.founder .wrap{display:grid;grid-template-columns:420px 1fr;gap:72px;padding-top:96px;padding-bottom:96px;align-items:start}
.portrait{position:relative}
.portrait::before{content:"";position:absolute;left:24px;top:24px;width:100%;height:100%;background:var(--deep)}
.portrait img{position:relative;width:100%;aspect-ratio:380/520;object-fit:cover;object-position:center top}
.founder h2{margin-bottom:24px}
.founder p{font-size:19px;line-height:30px;max-width:620px;margin:0 0 24px}
.awards{border-top:1px solid rgba(30,20,24,.15);padding-top:24px;max-width:620px;font-size:18px;line-height:26px;display:grid;gap:16px}
.awards b{font-weight:700}
/* membership */
.membership{background:var(--plum);color:var(--bg);padding:96px 0 72px;overflow:hidden}
.membership .eyebrow{color:#fff}
.membership h2 em{color:#fff}
.mhead{display:flex;justify-content:space-between;align-items:flex-end;gap:64px;flex-wrap:wrap}
.mhead .copy{width:460px;max-width:100%}
.mhead p{font-size:19px;line-height:30px;margin:0 0 24px}
.stats{display:flex;gap:72px;align-items:center;flex-wrap:wrap;margin:56px 0}
.stat b{display:block;font-size:64px;line-height:1;color:#fff}
.stat span{display:block;margin-top:6px;font-size:15px;line-height:22px;color:var(--deep);max-width:260px}
.stats i{width:1px;height:80px;background:rgba(243,221,241,.3)}
.wl{display:flex;gap:10px;flex-wrap:wrap}
.wl input{flex:1;min-width:200px}
.marquee{overflow:hidden}
.track{display:flex;gap:32px;width:max-content;animation:drift 60s linear infinite;padding:16px 0}
.marquee:hover .track{animation-play-state:paused}
.track img{width:300px;height:340px;border:10px solid var(--paper);object-fit:cover;flex-shrink:0}
.track img:nth-child(odd){transform:rotate(-2deg)}
.track img:nth-child(even){transform:rotate(2deg);margin-top:20px}
@keyframes drift{to{transform:translateX(-50%)}}
/* contact */
.contact .wrap{padding-top:96px;padding-bottom:88px}
.contact form{max-width:760px}
.contact h2{margin-bottom:28px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
input,select,textarea{width:100%;font:15px Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:4px;padding:12px 14px}
input,select{height:48px}
textarea{min-height:140px;resize:vertical}
.field{margin-bottom:20px}
.grid .field{margin:0}
.note{font-size:13px;color:var(--muted);margin:16px 0 0}
.status{margin:14px 0 0;font-size:15px;font-weight:600;min-height:1.5em}
.status.ok{color:#1f6b3a}.status.err{color:#b8432a}
.membership .status.ok{color:#fff}
.hp{position:absolute;left:-9999px}
/* footer */
.foot{background:var(--deep);border-top:1px solid rgba(30,20,24,.15)}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-top:40px;padding-bottom:40px}
.foot img{height:48px;width:auto}
.nl{display:flex;gap:10px;flex-wrap:wrap}
.nl input{width:240px;height:44px}
.nl .btn{padding:12px 24px;font-size:14px}
.copy-line{width:100%;font-size:13px;color:var(--muted)}
@media (max-width:960px){
.wrap{padding:0 24px}
.nav ul{gap:16px;font-size:14px}.nav ul li:not(:last-child){display:none}
.hero .wrap{grid-template-columns:1fr;gap:40px;padding-top:48px}
.collage{height:560px;max-width:560px}
.events .wrap,.founder .wrap{grid-template-columns:1fr;gap:40px}
.founder .wrap{padding-top:64px}
.portrait{max-width:380px;margin-right:24px}
.tiles{grid-template-columns:1fr}
.tile:nth-child(2){margin-top:0}
.grid{grid-template-columns:1fr}
.kb{padding:0 24px}
.stats{gap:32px}.stats i{display:none}
}
@media (max-width:480px){
.collage{height:500px}.collage .a{width:240px;height:320px}.collage .b{left:110px;width:210px;height:270px}.dot{right:0}.collage .c{width:210px;height:180px;top:320px}
.kt{font-size:12px;letter-spacing:.08em}
}
@media (prefers-reduced-motion:reduce){.track{animation:none}.marquee{overflow-x:auto}.kb,.kd{transition:none}html{scroll-behavior:auto}}
