:root{--blue:#004165;--maroon:#772432;--gold:#F2DF74;--ink:#1b2730;--muted:#5a656c;--cream:#f7f3ea;--line:#e4ddcf}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:19px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--blue)}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.kick{font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);margin:0 0 10px}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;color:#04202e;line-height:1.08;margin:0}
h1{font-size:clamp(42px,8vw,72px);letter-spacing:-.01em}
h2{font-size:clamp(28px,5vw,38px);margin-bottom:6px}
/* header */
.nh{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:rgba(247,243,234,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);font-family:Montserrat,sans-serif}
.nh-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#04202e;font-weight:700;font-size:15px;line-height:1.1}
.nh-brand small{display:block;font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.06em}
.nh nav{display:flex;gap:16px;align-items:center;font-size:14px;font-weight:600}
.nh nav a{text-decoration:none;color:var(--ink)}
.nh-cta{background:var(--maroon);color:#fff!important;padding:9px 14px;border-radius:999px}
@media(max-width:520px){.nh nav a:not(.nh-cta){display:none}}
/* article */
.hero{margin:0;position:relative}
.hero img{width:100%;max-height:78vh;object-fit:cover}
.hero .cap{font-family:"Playfair Display",serif;font-style:italic;font-size:16px;color:var(--muted);text-align:center;margin:10px 20px 0}
.art{padding-top:44px;padding-bottom:40px}
.dek{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(21px,3.4vw,26px);line-height:1.4;color:var(--muted);margin:18px 0 30px}
.lead::first-letter{float:left;font-family:"Playfair Display",serif;font-size:76px;line-height:.85;padding:6px 10px 0 0;color:var(--maroon)}
.sec{margin:64px 0 0;padding-top:40px;border-top:1px solid var(--line)}
.sec-img{margin:0 0 26px}
.sec-img img{width:100%;max-height:620px;object-fit:cover;object-position:center 20%;border-radius:4px}
.by{font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;color:var(--blue);margin:4px 0 18px}
blockquote{margin:30px 0;padding:6px 0 6px 24px;border-left:4px solid var(--gold)}
blockquote p{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(23px,3.8vw,29px);line-height:1.35;color:#04202e;margin:0}
blockquote cite{display:block;margin-top:10px;font-family:Montserrat,sans-serif;font-style:normal;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
ul{padding-left:22px}li{margin-bottom:10px}
.take{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);padding:16px 20px;font-size:17px;margin-top:24px}
.take b{font-family:Montserrat,sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-right:6px}
.lessons{margin:70px 0 0;padding:40px 32px;background:var(--blue);color:#fff;border-radius:6px}
.lessons h2{color:#fff;margin-bottom:18px}
.lessons ol{margin:0;padding-left:24px;font-size:20px}
.lessons li::marker{color:var(--gold);font-family:Montserrat,sans-serif;font-weight:800}
.gal{margin-top:60px}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.gal-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.crew{font-size:16px;color:var(--muted);margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.next{margin:48px 0 0;padding:34px 30px;background:var(--maroon);color:#fff;border-radius:6px}
.next .kick{color:var(--gold)}.next h2{color:#fff}
.next p{font-family:Montserrat,sans-serif;font-size:16px;line-height:1.6;color:#f3d9dd}
.btn{display:inline-block;margin-top:6px;background:var(--gold);color:#04202e;font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;text-decoration:none;padding:13px 22px;border-radius:999px}
.back{font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;margin-top:34px}
/* index */
.idx{padding-top:56px;padding-bottom:60px;max-width:1080px}
.idx h1 span{font-style:italic;color:var(--maroon)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px}
.card{text-decoration:none;color:inherit;display:block}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;margin-bottom:14px}
.card h2{font-size:28px}.card p:last-child{color:var(--muted);font-size:17px;margin-top:8px}
.card:hover h2{color:var(--maroon)}
/* footer */
.nf{margin-top:40px;padding:30px 0 40px;background:#04202e;color:#c9d3d9;font-family:Montserrat,sans-serif;font-size:14px;line-height:1.7}
.nf a{color:var(--gold)}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:34px;font-family:Montserrat,sans-serif;font-size:15px;font-weight:700}
.pn a{text-decoration:none;color:#04202e;max-width:48%}.pn a:hover{color:var(--maroon)}
.pn small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon)}
.pn .r{text-align:right;margin-left:auto}
