@font-face{font-family:"EB Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/hanken-grotesk-latin-600-normal.woff2) format("woff2")}

:root{
  --black:#050507; --charcoal:#161619; --crimson:#8F0814; --crimson-deep:#6A060F; --bright:#E5484D;
  --white:#FFFFFF; --ink:#0E0E10; --muted:#55555B; --line:#DADADD; --wash:#F4F4F5;
  --focus:#8F0814;
  --stave-x:clamp(16px,4vw,52px); --gap:clamp(26px,5vw,76px); --pad-r:clamp(20px,5vw,72px);
  --display:"EB Garamond",Georgia,"Times New Roman",serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}
a{color:var(--crimson)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.top,.hero,footer,.libhead,.choose{--focus:#FFFFFF}
.skip{position:absolute;left:-999px;top:0;background:var(--white);color:var(--ink);padding:.6rem 1rem;z-index:30}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none !important}

/* header */
.top{background:var(--charcoal);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(14px + env(safe-area-inset-top,0)) var(--pad-r) 14px var(--pad-r);position:relative;z-index:20}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font-family:var(--display);font-size:1.5rem;letter-spacing:.005em;white-space:nowrap}
.brand img{border-radius:6px;display:block}
.desk{display:flex;gap:1.5rem;align-items:center}
.desk a,.mob nav a{color:#E6E6E9;text-decoration:none;font-size:.95rem}
.desk a:hover,.mob nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--bright);text-decoration-thickness:2px;text-underline-offset:6px}
.top-right{display:flex;align-items:center;gap:1.1rem}
.lang{color:#fff;text-decoration:none;font-size:.92rem;border-bottom:2px solid var(--bright);padding-bottom:1px}
.mob{display:none;position:relative}
.mob summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #3a3a3f;border-radius:4px}
.mob summary::-webkit-details-marker{display:none}
.bars,.bars::before,.bars::after{display:block;width:20px;height:2px;background:#fff;position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-6px}.bars::after{top:6px}
.mob nav{position:absolute;right:0;top:52px;background:var(--charcoal);border:1px solid #3a3a3f;border-radius:4px;padding:.5rem;min-width:220px;display:flex;flex-direction:column;z-index:40}
.mob nav a{padding:.7rem .9rem;font-size:1rem}
@media (max-width:1000px){.desk{display:none}.mob{display:block}}
@media (max-width:420px){.brand{font-size:1.2rem}.brand img{width:32px;height:32px}}

/* hero */
.hero{background:var(--charcoal);color:#fff;padding:clamp(28px,5vw,64px) var(--pad-r) clamp(48px,7vw,96px)}
.hero-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:center}
.hero-text{border-left:2px solid var(--bright);padding-left:clamp(20px,3.4vw,48px)}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,6.2vw,5.2rem);line-height:1.03;letter-spacing:-.012em;margin:0 0 .5em;max-width:15ch;color:#fff}
.hero .lede{font-size:clamp(1.12rem,1.9vw,1.3rem);line-height:1.55;max-width:46ch;color:#D9D9DC;margin:0}
.hero-mark{display:flex;justify-content:center}
.hero-mark img{width:clamp(240px,34vw,460px);height:auto}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.byline{color:#B7B7BC;font-size:.97rem;margin:2rem 0 0}
@media (max-width:820px){.hero-in{grid-template-columns:1fr}.hero-mark{order:2}.hero-mark img{width:min(70vw,320px)}}

.btn{display:inline-block;padding:.8em 1.35em;border:2px solid var(--crimson);border-radius:3px;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;font-family:var(--body)}
.btn.primary{background:var(--crimson);color:#fff}
.hero .btn.primary,.libhead .btn.primary,.choose .btn.primary{border-color:var(--bright)}
.btn.primary:hover{background:var(--crimson-deep);border-color:var(--crimson-deep)}
.hero .btn.primary:hover,.choose .btn.primary:hover{border-color:var(--bright)}
.btn.outline{background:transparent;color:var(--crimson)}
.btn.outline:hover{background:rgba(143,8,20,.08)}
.btn.ghost{background:transparent;color:#fff;border-color:#8a8a90}
.btn.ghost:hover{border-color:#fff}

/* stave layout (white body) */
.page{position:relative;max-width:1200px;margin:0 auto;padding-bottom:clamp(48px,8vw,96px)}
.stave{position:absolute;left:var(--stave-x);top:0;bottom:0;width:2px;background:var(--crimson);transform-origin:top;animation:draw 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes draw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.stave{animation:none}html{scroll-behavior:auto}}
.page section{padding:clamp(52px,8vw,104px) var(--pad-r) 0 calc(var(--stave-x) + var(--gap))}
.measure{max-width:64ch}
h1,h2,h3,.term,.price{font-family:var(--display);font-weight:400}
h2{position:relative;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.1;margin:0 0 .6em;max-width:22ch}
.page h2::before{content:"";position:absolute;left:calc(var(--gap) * -1);top:.46em;width:calc(var(--gap) - 10px);height:2px;background:var(--crimson);transform-origin:0 50%;transform:rotate(-32deg)}
h3{font-size:1.6rem;line-height:1.2;margin:2.2rem 0 .5rem}
p{margin:0 0 1.1em}
blockquote{margin:2.2rem 0;padding:0;font-family:var(--display);font-style:italic;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.22;max-width:20ch}
dl.practice{display:grid;grid-template-columns:7.5rem 1fr;gap:1.1rem 2rem;margin:1rem 0 0;max-width:64ch}
dl.practice dt{font-family:var(--display);font-size:1.45rem;line-height:1.3}
dl.practice dd{margin:0}
@media (max-width:560px){dl.practice{grid-template-columns:1fr;gap:.2rem}dl.practice dd{margin-bottom:1rem}}

.feat{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);max-width:980px}
.feat a{display:flex;flex-direction:column;gap:.35rem;height:100%;border-top:2px solid var(--ink);padding-top:1rem;color:var(--ink);text-decoration:none}
.feat a:hover .ft{text-decoration:underline;text-decoration-color:var(--crimson);text-decoration-thickness:2px;text-underline-offset:5px}
.ft{font-family:var(--display);font-size:1.5rem;line-height:1.2}
.fs{color:var(--muted);font-size:.97rem}
.fm{color:var(--muted);font-size:.88rem;margin-top:auto;padding-top:.6rem}
.more{margin-top:1.6rem;font-weight:600}
@media (max-width:920px){.feat{grid-template-columns:1fr;max-width:560px}}

.roles{list-style:none;margin:2.2rem 0 0;padding:0}
.roles li{border-left:2px solid var(--crimson);padding:.1rem 0 .1rem 1.2rem;margin:0 0 1.5rem;max-width:56ch}
.roles li:nth-child(2){margin-left:clamp(12px,3vw,40px)}
.roles li:nth-child(3){margin-left:clamp(24px,6vw,80px)}
.roles li:nth-child(4){margin-left:clamp(36px,9vw,120px)}
.term{display:block;font-size:1.55rem;line-height:1.25;margin-bottom:.15rem}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.4vw,52px);margin:2.4rem 0;max-width:980px}
@media (max-width:920px){.tiers{grid-template-columns:1fr;max-width:560px}}
.tier{border-top:2px solid var(--ink);padding-top:1.1rem;display:flex;flex-direction:column}
.tier.main{border-top:5px solid var(--crimson)}
.tier h3{margin:0 0 .2rem;font-size:1.5rem}
.price{font-size:2.3rem;line-height:1.1;margin:0 0 1rem}
.price small{font-family:var(--body);font-size:.95rem;color:var(--muted)}
.tier ul{list-style:none;margin:0 0 1rem;padding:0}
.tier li{position:relative;padding-left:1.4em;margin-bottom:.6rem}
.tier li::before{content:"";position:absolute;left:0;top:.5em;width:.8em;height:.8em;background:var(--crimson);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.note{color:var(--muted);font-size:.97rem}
.tier .btn{align-self:flex-start;margin-top:auto}
.soon{background:var(--wash);border-left:4px solid var(--crimson);padding:.8rem 1rem;margin-top:auto;font-size:.97rem}

.books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,44px);max-width:820px}
.book{border-top:2px solid var(--ink);padding-top:1rem}
.book h3{margin:0 0 .4rem}
@media (max-width:700px){.books{grid-template-columns:1fr}}

.faq{max-width:68ch;margin-top:2rem;border-bottom:1px solid var(--line)}
.faq details{border-top:1px solid var(--line);padding:1rem 0}
.faq summary{display:flex;justify-content:space-between;gap:1.2rem;cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--crimson);font-size:1.4rem;line-height:1;font-weight:400}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:.8rem 0 .2rem;max-width:60ch}

/* footer */
footer{background:var(--charcoal);color:#E6E6E9;padding:48px var(--pad-r) calc(48px + env(safe-area-inset-bottom,0))}
.foot{max-width:1200px;margin:0 auto}
.foot-brand{display:flex;align-items:center;gap:.8rem;font-family:var(--display);font-size:1.5rem;color:#fff;margin-bottom:1rem}
.foot-brand img{border-radius:6px}
footer p{max-width:62ch;font-size:.97rem;color:#C9C9CE}
footer a{color:#fff}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:1.2rem 0}
.small{font-size:.88rem}

/* library and prose pages */
.libhead{background:var(--charcoal);color:#fff;padding:clamp(24px,4vw,48px) var(--pad-r) clamp(36px,5vw,64px)}
.libhead-in{max-width:820px;margin:0 auto;border-left:2px solid var(--bright);padding-left:clamp(18px,3vw,36px)}
.libhead h1{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.05;margin:0 0 .4em}
.libhead .lede{color:#D9D9DC;font-size:1.15rem;max-width:52ch;margin:0 0 1.4rem}
.search input{width:100%;max-width:520px;font:inherit;font-size:1rem;padding:.8em 1em;border:2px solid #8a8a90;border-radius:3px;background:#fff;color:var(--ink)}
.count{color:#B7B7BC;font-size:.92rem;margin:.7rem 0 0}
.libbody{max-width:820px;margin:0 auto;padding:clamp(28px,5vw,56px) var(--pad-r) clamp(56px,8vw,96px)}
.grp{margin-bottom:3rem}
.grp h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0 0 .3em;max-width:none}
.intro{color:var(--muted);max-width:60ch}
.list{list-style:none;margin:1rem 0 0;padding:0;border-top:1px solid var(--line)}
.list li{display:flex;justify-content:space-between;gap:1.2rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line)}
.list a{color:var(--ink);text-decoration:none;font-family:var(--display);font-size:1.3rem;line-height:1.25}
.list a:hover{text-decoration:underline;text-decoration-color:var(--crimson);text-decoration-thickness:2px;text-underline-offset:5px}
.lm{color:var(--muted);font-size:.88rem;white-space:nowrap}
@media (max-width:560px){.list li{flex-direction:column;gap:.15rem}.lm{white-space:normal}}
.none{color:var(--muted)}
.prose h2{font-size:1.7rem;max-width:none;margin:2rem 0 .4em}
.prose p{max-width:64ch}

/* language chooser and 404 */
body.choose{background:var(--charcoal);color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center}
.choose-in{padding:40px 20px}
.choose h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,6vw,3rem);margin:1rem 0}
.choices{display:flex;gap:.8rem;justify-content:center;margin-top:1.5rem}

/* v3 additions */
.pgrid{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,36px) clamp(20px,2.4vw,36px);max-width:1000px}
.pgrid li{border-top:2px solid var(--ink);padding-top:.9rem}
.pgrid h3{margin:0 0 .35rem;font-size:1.3rem;line-height:1.2}
.pgrid p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.5}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pgrid{grid-template-columns:1fr}}
.fine{color:var(--muted);font-size:.9rem;margin-top:1.4rem;max-width:64ch}
.tier .for{color:var(--muted);font-size:.97rem;margin:-.4rem 0 1rem}
.desk{gap:1.25rem}
.desk a{white-space:nowrap}
@media (max-width:1180px){.desk{display:none}.mob{display:block}}
.prose .roles{margin-top:1.2rem}
.prose .roles li:nth-child(n){margin-left:0}

/* v4 additions */
.hero{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2248.5%22%20height%3D%2284%22%20viewBox%3D%220%200%2048.5%2084%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.055%22%20stroke-width%3D%221%22%3E%3Cpolygon%20points%3D%2248.50%2C14.00%2048.50%2C42.00%2024.25%2C56.00%200.00%2C42.00%200.00%2C14.00%2024.25%2C0.00%22/%3E%3Cpolygon%20points%3D%2224.25%2C56.00%2024.25%2C84.00%200.00%2C98.00%20-24.25%2C84.00%20-24.25%2C56.00%20-0.00%2C42.00%22/%3E%3Cpolygon%20points%3D%2272.75%2C56.00%2072.75%2C84.00%2048.50%2C98.00%2024.25%2C84.00%2024.25%2C56.00%2048.50%2C42.00%22/%3E%3Cpolygon%20points%3D%2248.50%2C98.00%2048.50%2C126.00%2024.25%2C140.00%200.00%2C126.00%200.00%2C98.00%2024.25%2C84.00%22/%3E%3Cpolygon%20points%3D%2248.50%2C-70.00%2048.50%2C-42.00%2024.25%2C-28.00%200.00%2C-42.00%200.00%2C-70.00%2024.25%2C-84.00%22/%3E%3C/svg%3E");background-position:center top}
.hero-mark img{filter:drop-shadow(0 0 60px rgba(143,8,20,.35))}
.pillars{list-style:none;margin:2rem 0 2.4rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px);max-width:980px}
.pillars li{border-top:5px solid var(--crimson);padding-top:1.1rem}
.pillars .ic{color:var(--crimson);display:block;margin-bottom:.6rem}
.pillars h3{margin:0;font-size:1.7rem}
.pillars .term-line{margin:.1rem 0 .7rem;color:var(--muted);font-size:.92rem;letter-spacing:.04em}
.pillars p{margin:0 0 .6rem;font-size:1rem}
@media (max-width:860px){.pillars{grid-template-columns:1fr;max-width:560px}}
.pgrid li{display:block}
.pgrid .ic{color:var(--crimson);display:block;margin-bottom:.55rem}
.band{background:var(--charcoal);color:#fff;padding:clamp(52px,8vw,96px) var(--pad-r);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2248.5%22%20height%3D%2284%22%20viewBox%3D%220%200%2048.5%2084%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.055%22%20stroke-width%3D%221%22%3E%3Cpolygon%20points%3D%2248.50%2C14.00%2048.50%2C42.00%2024.25%2C56.00%200.00%2C42.00%200.00%2C14.00%2024.25%2C0.00%22/%3E%3Cpolygon%20points%3D%2224.25%2C56.00%2024.25%2C84.00%200.00%2C98.00%20-24.25%2C84.00%20-24.25%2C56.00%20-0.00%2C42.00%22/%3E%3Cpolygon%20points%3D%2272.75%2C56.00%2072.75%2C84.00%2048.50%2C98.00%2024.25%2C84.00%2024.25%2C56.00%2048.50%2C42.00%22/%3E%3Cpolygon%20points%3D%2248.50%2C98.00%2048.50%2C126.00%2024.25%2C140.00%200.00%2C126.00%200.00%2C98.00%2024.25%2C84.00%22/%3E%3Cpolygon%20points%3D%2248.50%2C-70.00%2048.50%2C-42.00%2024.25%2C-28.00%200.00%2C-42.00%200.00%2C-70.00%2024.25%2C-84.00%22/%3E%3C/svg%3E");--focus:#fff}
.band-in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,72px);align-items:center}
.band h2{color:#fff;max-width:none;margin:0 0 .15em;font-size:clamp(2.2rem,5vw,3.6rem)}
.band .eyebrow{color:var(--bright);font-size:.9rem;margin:0 0 .6rem;letter-spacing:.06em}
.band .tagline{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.8rem);color:#EDEDF0;margin:0 0 1rem}
.band p{color:#D9D9DC;max-width:54ch}
.band-art{display:flex;justify-content:center}
.solar{width:min(100%,340px);height:auto}
@media (max-width:820px){.band-in{grid-template-columns:1fr}.band-art{order:-1}.solar{width:200px}}
.books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,44px);max-width:900px}
.book{display:flex;gap:1.2rem;align-items:flex-start;border-top:2px solid var(--ink);padding-top:1rem}
.book h3{margin:0 0 .4rem;font-size:1.45rem}
.book p{font-size:.98rem}
.cover{position:relative;flex:0 0 112px;width:112px;aspect-ratio:2/3;background:var(--charcoal);border:2px solid var(--crimson);border-radius:3px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.cover .cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.cover .tile{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:.6rem;text-align:center;color:#fff;font-family:var(--display);font-size:.98rem;line-height:1.15}
.cover .tile img{border-radius:5px}
@media (max-width:700px){.books{grid-template-columns:1fr}}
.textlink{color:var(--crimson);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;cursor:pointer}
.cardrow{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:3rem;max-width:980px}
@media (max-width:820px){.cardrow{grid-template-columns:1fr}}
.mcard{width:100%;max-width:360px;aspect-ratio:1.586;background:linear-gradient(135deg,#0a0a0d,#1d1d22);border-radius:16px;border-bottom:7px solid var(--crimson);color:#fff;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.mc-top{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:1.05rem}
.mc-top img{border-radius:7px}
.mc-mid{font-family:var(--display);font-size:1.9rem;letter-spacing:.01em}
.mc-bot{display:flex;justify-content:space-between;gap:1rem}
.mc-bot small{display:block;color:#B7B7BC;font-size:.7rem;letter-spacing:.06em}
.mc-bot b{font-weight:500;font-size:.98rem}
.tier .for{color:var(--muted);font-size:.97rem;margin:-.4rem 0 1rem}
a.ph{position:relative}
a.tipshow::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 8px);background:#161619;color:#fff;border:1px solid var(--bright);padding:.5rem .7rem;border-radius:3px;font-size:.85rem;font-weight:500;line-height:1.35;width:max-content;max-width:240px;z-index:30;text-align:left}


/* ===== v6 additions (v4 design preserved) ===== */
:root{--bone:#F6F6F3;--wash:#EDEDE9}
body{background:var(--bone)}
.skip{background:var(--bone)}
.brand{gap:.85rem}
.brand img.seal{border-radius:0;width:50px;height:50px;display:block}
.foot-brand img.seal{border-radius:0;width:56px;height:56px}
@media (max-width:420px){.brand img.seal{width:38px;height:38px}}
.hero .descriptor{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,2.2vw,1.55rem);color:#EDEDF0;margin:0 0 1.1rem;max-width:34ch}
.arrowlink{color:#fff;font-weight:600;text-decoration:none;border-bottom:2px solid var(--bright);padding-bottom:2px}
.arrowlink:hover{background:#ffffff14}
.actions{align-items:center;gap:.8rem 1.4rem}
.book .sub{margin:0 0 .5rem;font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--muted)}
a.cover{display:block;flex:0 0 140px;width:140px;aspect-ratio:5/8;border:0;border-radius:2px;box-shadow:0 10px 24px rgba(21,18,16,.28);transition:transform .2s ease,box-shadow .2s ease}
a.cover:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(21,18,16,.34)}
@media (max-width:700px){a.cover{flex-basis:120px;width:120px}}
@media (prefers-reduced-motion:reduce){a.cover{transition:none}}
.annual{margin:-.5rem 0 .9rem;color:var(--muted);font-size:.97rem}
.annual strong{color:var(--ink)}
.tier-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;margin-top:auto}
.tier .tier-actions .btn{margin-top:0}
.tier.main{background:linear-gradient(180deg,#FFFFFF,var(--bone) 70%);padding:1.1rem 1.2rem 1.4rem;margin:-.4rem -.4rem 0;box-shadow:0 12px 28px rgba(21,18,16,.1)}
h2.sm{font-size:1.8rem;max-width:none;margin:0 0 .5em}
h2.sm::before{display:none}
h2.sm.gap{margin-top:3.2rem}
.closing{max-width:820px;margin-top:2rem;padding:2rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--crimson);border-radius:3px;font-family:var(--display);font-size:1.5rem;line-height:1.4}
.closing .actions{margin-top:1.4rem}
.closing .btn{font-family:var(--body)}
/* start here and steps */
.steps{list-style:none;margin:2rem 0 0;padding:0;max-width:820px}
.steps>li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;padding:2rem 0;border-top:1px solid var(--line)}
.steps .num{font-family:var(--display);font-size:3.4rem;line-height:1;color:var(--crimson)}
.steps h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .3em}
.steps h2::before{display:none}
.steps .feat{margin-top:1.2rem;grid-template-columns:1fr;gap:0;max-width:none}
.steps .feat li{border-bottom:1px solid var(--line)}
.steps .feat li:first-child{border-top:1px solid var(--line)}
.steps .feat a{border-top:0;padding:1rem 0;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;height:auto}
.steps .feat .fs{flex-basis:100%;order:3}
.steps .feat .fm{margin-top:0;padding-top:0;margin-left:auto;order:2}
@media (max-width:560px){.steps>li{grid-template-columns:3rem minmax(0,1fr)}.steps .num{font-size:2.4rem}}
.sealrow{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:3rem;max-width:1040px}
@media (max-width:820px){.sealrow{grid-template-columns:1fr}}
/* welcome package */
.package{position:relative;width:100%;max-width:500px;aspect-ratio:1.45;font-size:clamp(12px,2.9vw,15.5px)}
.package .pk{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px rgba(21,18,16,.18);border-radius:2px}
.pk-lesson{left:0;top:12%;width:38%;height:76%;padding:1em;transform:rotate(-6deg);z-index:1}
.pk-letter{left:20%;top:0;width:44%;height:88%;padding:1.1em;transform:rotate(2deg);z-index:2;background:var(--bone)}
.pk-cert{right:0;top:12%;width:42%;height:80%;transform:rotate(5deg);z-index:3;background:#FFFDF7;padding:.5em}
.pk-kicker{font-family:var(--body);font-size:.62em;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pk-title{font-family:var(--display);font-size:1.7em;margin:.2em 0 .6em}
.pk-lines i{display:block;height:.45em;background:#d9d9d4;border-radius:2px;margin:.55em 0}
.pk-lines i.s{width:62%}
.pk-lines.two{margin-top:1.2em}
.pk-seal{width:2.4em;height:2.4em;display:block;margin-bottom:.4em}
.pk-hd{font-family:var(--display);font-size:1.15em;margin-bottom:.3em}
.pk-letter p{font-family:var(--display);font-size:.78em;line-height:1.35;margin:0 0 .5em;color:var(--ink)}
.pk-sign{font-family:var(--display);font-style:italic;font-size:.8em;margin-top:.8em;color:var(--crimson)}
.pk-cert-in{height:100%;border:3px double var(--crimson);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.4em}
.pk-seal2{width:3.2em;height:3.2em;margin-bottom:.4em}
.pk-name{font-family:var(--display);font-size:1.5em;margin:.35em 0 .1em}
.pk-sub{font-family:var(--display);font-style:italic;color:var(--crimson);font-size:1em}
.pk-org{font-size:.58em;letter-spacing:.12em;text-transform:uppercase;margin-top:.6em;color:var(--muted)}
/* about */
.leader{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start;margin:2.4rem 0}
.leader img{width:100%;height:auto;border-radius:4px;background:#e9e9e4;display:block}
.leader p{max-width:58ch}
.signed{font-family:var(--display);font-size:1.5rem;line-height:1.2;margin-top:1.2rem}
.signed span{font-family:var(--body);font-size:.9rem;color:var(--muted);letter-spacing:.06em}
@media (max-width:700px){.leader{grid-template-columns:1fr}.leader img{max-width:260px}}
/* rune of the day */
.rd{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin:1rem 0 2rem}
.rd-rune{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--charcoal);color:#fff;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);text-align:center}
.rd-rune span{font-family:var(--display);font-size:clamp(2.6rem,7vw,4rem);letter-spacing:.04em}
.rd-rune small{display:block;color:var(--bright);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem}
.rd-weather{font-family:var(--display);font-size:1.4rem;line-height:1.45}
@media (max-width:760px){.rd{grid-template-columns:1fr}.rd-rune{max-width:260px}}
@media print{.top,.hero,.band,footer,.stave,.search,.actions{display:none !important}body{background:#fff}}

.cardrow{grid-template-columns:minmax(0,500px) minmax(0,1fr)}
@media (max-width:820px){.cardrow{grid-template-columns:1fr}}
