
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,600&family=Jost:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#1a1a1a;--paper:#fbf9f6;--rose:#c9a98a;--rose2:#b88d63;--line:#e6e0d8;--dim:#8a8278;--serif:'Playfair Display',serif;--sans:'Jost',sans-serif}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.7;font-weight:400}
a{color:var(--ink);text-decoration:none}img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
h1,h2,h3,.logo,.serif{font-family:var(--serif)}

/* MASTHEAD */
.mast{text-align:center;padding:26px 0 18px;border-bottom:1px solid var(--ink)}
.mast .date{font-size:.72rem;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.mast .logo{font-size:clamp(2.4rem,6vw,4rem);font-weight:900;letter-spacing:1px;line-height:1}
.mast .logo em{font-style:italic;font-weight:400;color:var(--rose2)}
.mast .tag{font-size:.74rem;letter-spacing:4px;text-transform:uppercase;color:var(--dim);margin-top:10px}
nav{display:flex;justify-content:center;gap:32px;padding:16px 0;border-bottom:1px solid var(--ink);position:sticky;top:0;background:var(--paper);z-index:80;flex-wrap:wrap}
nav a{font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--ink);transition:.2s;position:relative}
nav a:hover{color:var(--rose2)}

/* HERO editorial */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--ink)}
.hero-img{position:relative;overflow:hidden;min-height:560px}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-txt{display:flex;flex-direction:column;justify-content:center;padding:70px 60px}
.hero-txt .cat{font-size:.74rem;letter-spacing:4px;text-transform:uppercase;color:var(--rose2);margin-bottom:24px}
.hero-txt h1{font-size:clamp(2.4rem,4.5vw,3.6rem);font-weight:700;line-height:1.08;margin-bottom:24px}
.hero-txt h1 em{font-style:italic}
.hero-txt p{color:var(--dim);font-size:1.05rem;margin-bottom:30px;max-width:420px}
.hero-txt .read{font-size:.78rem;letter-spacing:3px;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:6px;align-self:flex-start;transition:.2s}
.hero-txt .read:hover{color:var(--rose2);border-color:var(--rose2)}
.hero-txt .meta{font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-top:30px}

/* SECTION LABEL */
.slabel{text-align:center;padding:64px 0 36px}
.slabel span{font-size:.72rem;letter-spacing:4px;text-transform:uppercase;color:var(--rose2)}
.slabel h2{font-size:2.4rem;font-weight:700;font-style:italic;margin-top:8px}
.slabel::after{content:'';display:block;width:60px;height:1px;background:var(--ink);margin:18px auto 0}

/* EDITORIAL GRID */
.egrid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 40px;padding-bottom:30px}
.story{}
.story .ph{overflow:hidden;margin-bottom:18px;position:relative}
.story img{width:100%;height:340px;object-fit:cover;transition:.7s ease}
.story:hover img{transform:scale(1.05)}
.story .no{position:absolute;top:0;left:0;background:var(--paper);font-family:var(--serif);font-style:italic;font-size:1.4rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center}
.story .cat{font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--rose2);margin-bottom:10px}
.story h3{font-size:1.45rem;font-weight:600;line-height:1.2;margin-bottom:10px}
.story h3 a:hover{color:var(--rose2)}
.story p{color:var(--dim);font-size:.92rem;margin-bottom:12px}
.story .dt{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}

/* feature wide row */
.wide{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;margin:10px 0}
.wide img{width:100%;height:380px;object-fit:cover}
.wide h3{font-size:2rem}

/* QUOTE strip */
.qs{background:var(--ink);color:var(--paper);text-align:center;padding:80px 30px;margin:60px 0}
.qs blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:400;max-width:820px;margin:0 auto;line-height:1.3}
.qs cite{display:block;font-family:var(--sans);font-style:normal;font-size:.74rem;letter-spacing:3px;text-transform:uppercase;color:var(--rose);margin-top:24px}

/* NEWSLETTER */
.nl{text-align:center;padding:60px 30px;border:1px solid var(--ink);margin:60px 0}
.nl span{font-size:.72rem;letter-spacing:4px;text-transform:uppercase;color:var(--rose2)}
.nl h2{font-size:2.2rem;font-style:italic;margin:10px 0 8px}
.nl p{color:var(--dim);margin-bottom:26px}
.nl form{display:flex;max-width:440px;margin:0 auto;border-bottom:1px solid var(--ink)}
.nl input{flex:1;border:none;background:none;padding:12px 4px;font-family:var(--sans);font-size:1rem;outline:none}
.nl button{background:none;border:none;font-size:.74rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;padding:0 10px}

/* ARTICLE */
.art-hero{text-align:center;padding:60px 0 30px;max-width:780px;margin:0 auto}
.art-hero .cat{font-size:.74rem;letter-spacing:4px;text-transform:uppercase;color:var(--rose2);margin-bottom:18px}
.art-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1.1;margin-bottom:18px}
.art-hero .meta{font-size:.74rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}
.aimg{width:100%;max-height:560px;object-fit:cover;margin:0 0 40px}
.abody{max-width:680px;margin:0 auto;font-size:1.12rem;line-height:1.85}
.abody>p:first-child::first-letter{font-family:var(--serif);font-size:4.2rem;float:left;line-height:.8;padding:6px 12px 0 0;font-weight:700;color:var(--rose2)}
.abody p{margin-bottom:22px}
.abody h2{font-family:var(--serif);font-size:1.7rem;font-style:italic;text-align:center;margin:40px 0 18px}
.abody ul,.abody ol{margin:16px 0 16px 24px}.abody li{margin-bottom:8px}
.bc{text-align:center;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim);padding:30px 0 0}
.bc a{color:var(--rose2)}
.back{display:inline-block;font-size:.74rem;letter-spacing:3px;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}

/* PAGE */
.page{max-width:720px;margin:50px auto 0;padding:0 30px}
.page h1{font-size:2.8rem;font-weight:700;font-style:italic;text-align:center;margin-bottom:10px}
.page>p:first-of-type{text-align:center;color:var(--dim);margin-bottom:30px}
.page h2{font-family:var(--serif);font-size:1.5rem;font-style:italic;margin:30px 0 12px}
.page ul{margin:14px 0 14px 24px}.page li{margin-bottom:8px}
.fg{margin-bottom:22px}.fg label{display:block;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.fg input,.fg textarea{width:100%;border:none;border-bottom:1px solid var(--ink);background:none;padding:10px 2px;font-family:var(--sans);font-size:1rem;outline:none}
.fg textarea{min-height:120px;border:1px solid var(--ink);padding:12px}
.btn{background:var(--ink);color:var(--paper);border:none;padding:14px 36px;font-size:.74rem;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--rose2)}
.cinfo{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;margin:30px 0;text-align:center}
.cinfo b{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--rose2);display:block;margin-bottom:6px}

/* FOOTER */
footer{border-top:1px solid var(--ink);margin-top:70px;padding-top:56px}
.fmast{text-align:center;font-family:var(--serif);font-size:2.6rem;font-weight:900;margin-bottom:8px}
.fmast em{font-style:italic;font-weight:400;color:var(--rose2)}
.ftag{text-align:center;font-size:.72rem;letter-spacing:4px;text-transform:uppercase;color:var(--dim);margin-bottom:40px}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-bottom:40px;border-top:1px solid var(--line);padding-top:40px}
.fcol h4{font-family:var(--serif);font-style:italic;font-size:1.1rem;margin-bottom:16px}
.fcol a{display:block;font-size:.84rem;letter-spacing:1px;color:var(--dim);margin-bottom:10px}.fcol a:hover{color:var(--ink)}
.fbot{border-top:1px solid var(--ink);padding:22px 0;text-align:center;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}

#cookie-banner{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:var(--paper);padding:18px 30px;display:none;align-items:center;gap:20px;z-index:200;justify-content:center}
#cookie-banner.show{display:flex}
#cookie-banner p{font-size:.82rem;color:rgba(251,249,246,.8);max-width:600px}
#cookie-banner a{color:var(--rose)}
#cookie-accept{background:var(--paper);color:var(--ink);border:none;padding:11px 26px;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
@media(max-width:880px){.hero{grid-template-columns:1fr}.hero-img{min-height:380px}.egrid{grid-template-columns:1fr 1fr}.wide{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.egrid{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}nav{gap:18px}}
