:root{--bg:#faf8fc;--card:#fff;--ink:#120e1a;--muted:#2b2238;--accent:#6d4fb3;--accent-d:#573d96;--soft:#efe8f8;--line:#e3dbf0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{font-style:italic;margin:0;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-weight:500;background:var(--bg);color:var(--ink);line-height:1.7;font-size:18px}
h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:700;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.8rem,3.5vw,2.4rem)}a{color:var(--accent)}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
header{position:sticky;top:0;background:rgba(250,246,241,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:5}
nav{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;max-width:1000px;margin:0 auto;flex-wrap:wrap;gap:8px}
.brand{font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--ink);text-decoration:none}
nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center;flex-wrap:wrap}
nav ul a{text-decoration:none;color:var(--ink);font-size:.95rem}nav ul a.on{color:var(--accent);font-weight:700}
.btn{display:inline-block;background:var(--accent);color:#fff!important;padding:13px 28px;border-radius:999px;text-decoration:none;font-weight:700}
.btn:hover{background:var(--accent-d)}.btn.small{padding:8px 18px;font-size:.9rem}
.hero{padding:80px 0 70px;background:linear-gradient(180deg,var(--soft),var(--bg))}
.herogrid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:center}
.hero p{font-size:1.2rem;max-width:620px;color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;color:var(--accent);font-weight:700;margin-bottom:12px}
section{padding:70px 0}.pagehead{padding:60px 0 20px;background:linear-gradient(180deg,var(--soft),var(--bg))}
.about{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:center}
.photo{width:100%;aspect-ratio:4/5;border-radius:18px;background:var(--soft);overflow:hidden;position:relative}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}
.card h3{color:var(--accent)}.card p{margin:0 0 14px;color:var(--muted)}
.band{background:var(--soft);text-align:center}
.band blockquote{font-family:Lora,Georgia,serif;font-size:clamp(1.5rem,3vw,2.1rem);max-width:760px;margin:0 auto;line-height:1.4}
.center{text-align:center}.center p{max-width:600px;margin:0 auto 24px;color:var(--muted)}
.strip{padding:44px 0 10px}.letters{display:flex;gap:12px;justify-content:center}.letters img{flex:1 1 0;min-width:0;max-width:170px;aspect-ratio:1;object-fit:cover;border-radius:16px;box-shadow:0 6px 18px rgba(109,79,179,.18)}
.wide{width:100%;max-width:640px;border-radius:18px;margin:0 auto 30px;display:block}
.vid{position:relative;overflow:hidden}.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.vid::after{content:"";position:absolute;inset:0;background:rgba(239,232,248,.82);z-index:0}.vid section{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.vid video{display:none}}
.lead{color:var(--muted);max-width:640px}
footer{padding:36px 0;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}footer p{margin:6px 0}
@media(max-width:760px){.letters{gap:6px}.letters img{border-radius:10px}.herogrid{grid-template-columns:1fr}.hero{padding:50px 0}.herogrid .photo{max-width:300px;margin:0 auto}.about{grid-template-columns:1fr}.photo{max-width:300px;margin:0 auto}nav ul{gap:14px}}

h1,h2,h3,.brand,.eyebrow{font-style:normal}
.hero p.sub{font-family:Lora,Georgia,serif;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--accent);margin:0 0 .6em;max-width:none;line-height:1.3}
.band blockquote{font-weight:500}
.hero p.sub{font-weight:600}
.hero p.sub{font-weight:700}.band blockquote{font-weight:600}nav ul a{font-weight:700}

.hatband{position:relative;overflow:hidden;background:var(--soft);min-height:440px;display:flex;align-items:center}
.hatband img{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;opacity:.8;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40%);mask-image:linear-gradient(to right,transparent 0,#000 40%)}
.hatband section{position:relative;z-index:1;width:100%}
.hatband blockquote{font-family:Lora,Georgia,serif;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.4;max-width:46%;margin:0;text-align:left}
@media(max-width:760px){.hatband{display:block;min-height:0}.hatband img{position:static;width:100%;height:340px;object-fit:cover;object-position:50% 15%;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}.hatband section{padding:10px 0 50px}.hatband blockquote{max-width:none;text-align:center}}

.fullband{position:relative;overflow:hidden;display:flex;justify-content:center;background:#e9e3e8}
.fbg{position:absolute;left:-30px;top:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(26px) saturate(1.1)}
.fwrap{position:relative;display:inline-block;line-height:0}
.fmain{display:block;height:min(86vh,720px);width:auto;max-width:100%}
.fq{position:absolute;left:0;right:0;bottom:0;padding:90px 28px 26px;background:linear-gradient(to top,rgba(28,18,40,.75),rgba(28,18,40,0));text-align:center;line-height:1.4}
.fq blockquote{font-family:Lora,Georgia,serif;font-weight:500;color:#fff;font-size:clamp(1.2rem,2.2vw,1.75rem);max-width:640px;margin:0 auto;text-shadow:0 1px 8px rgba(0,0,0,.45)}
@media(max-width:760px){.fwrap{display:block;width:100%}.fmain{height:auto;width:100%}.fq{position:static;background:var(--soft);padding:26px 22px}.fq blockquote{color:var(--ink);text-shadow:none}}

.narrow p{max-width:760px}
.about .photo+div p{max-width:none;margin:0 0 18px;color:var(--ink)}

.fullband{max-width:960px;margin:0 auto;border-radius:0 0 18px 18px}
.fmain{height:min(88vh,740px)}
@media(max-width:760px){.fullband{border-radius:0}.fmain{height:auto}}

.fq blockquote,.band blockquote{font-style:italic}

.fq blockquote,.band blockquote{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(1.4rem,2.6vw,2.05rem);line-height:1.35}

.center-head{text-align:center}
.narrow{text-align:center}
.narrow p{max-width:700px;margin:0 auto 20px}
.narrow .btn{margin-top:26px}

.fbg{display:none}
.fullband{width:fit-content;max-width:100%;margin:22px auto 0;background:none;border-radius:18px}
@media(max-width:760px){.fullband{width:100%;margin:0;border-radius:0}}
