@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#28232d;--muted:#716a70;--paper:#fcf9f5;--pink:#f22e83;--orange:#ffab42;--purple:#8b32ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.topline{background:#28202d;color:#f9f1e9;padding:10px 6%;font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between}.topline span{color:#ffb37a}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #e9e1dd;background:#fffdfa}.brand img{width:155px;height:58px;object-fit:contain;object-position:left center}.header nav{display:flex;gap:32px;font-size:13px;font-weight:600}.header nav a:hover{color:var(--pink)}.subscribe{border:1px solid #2b2530;padding:14px 20px;font-size:12px;font-weight:700}.menu{display:none}.hero{display:grid;grid-template-columns:49% 51%;min-height:610px}.hero-copy{padding:96px 8% 45px 12%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:#a54483}.eyebrow i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-right:10px}.hero h1{font:500 clamp(54px,5.2vw,94px)/1.08 'Playfair Display',serif;letter-spacing:-3px;margin:35px 0 23px}.hero h1 em,.section-title em,.quote em,.newsletter em{font-weight:500;color:var(--pink)}.hero p{color:#706973;font-size:16px;line-height:1.9;max-width:430px;margin-bottom:30px}.primary{background:linear-gradient(105deg,#f62b84,#a13bea);color:white;padding:18px 25px;font-size:13px;font-weight:700;display:flex;gap:40px}.hero-foot{display:flex;align-items:center;gap:16px;margin-top:auto;font-size:10px;letter-spacing:1.3px;color:#817981}.line{width:60px;height:1px;background:#d2c4cc}.hero-image{position:relative;overflow:hidden;min-height:550px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.8)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(58,18,46,.35),transparent 45%)}.image-label{position:absolute;bottom:28px;left:32px;z-index:1;color:white;font-size:11px;letter-spacing:2px}.categories{padding:35px 6%;display:flex;align-items:center;gap:28px;justify-content:space-between;border-bottom:1px solid #e8dfd9}.categories>span{font-size:10px;letter-spacing:2px;color:#9a8492}.categories a{font-family:'Playfair Display',serif;font-size:20px}.categories b{font:13px 'DM Sans';color:var(--pink)}.stories{padding:90px 6% 100px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-title h2,.newsletter h2{font:500 clamp(38px,4vw,62px) 'Playfair Display',serif;margin:12px 0 0}.section-title>a{font-size:13px;border-bottom:1px solid #ba6d9c;padding-bottom:7px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.photo{aspect-ratio:1.3;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.cards article:hover img{transform:scale(1.04)}.meta{font-size:10px;letter-spacing:2px;color:#a43c86;font-weight:700;margin:25px 0 12px}.meta span{color:#b4a8ac;margin:0 8px}.cards h3{font:500 28px/1.25 'Playfair Display',serif;margin:0 0 13px}.cards p{color:#827a80;line-height:1.8;font-size:13px}.cards article>a{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;border-bottom:1px solid #f22e83;padding-bottom:6px}.quote{text-align:center;background:#f5e8ef;padding:90px 20px}.quote>span{font-size:11px;letter-spacing:3px;color:#a34387}.quote h2{font:500 clamp(30px,3.5vw,54px)/1.35 'Playfair Display',serif}.quote p{color:#796b75;font-size:14px}.newsletter{padding:90px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}.newsletter p{color:#827a80}.signup{border-bottom:1px solid #2b2530;padding:22px 8px;font-size:12px;letter-spacing:2px;min-width:300px;display:flex;justify-content:space-between}.signup span{color:var(--pink)}footer{background:#27212d;color:#c6b9c6;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px}footer img{width:100px;height:50px;object-fit:contain}@media(max-width:850px){.header{height:75px}.header nav{display:none;position:absolute;top:107px;left:0;right:0;background:white;padding:24px;z-index:5;flex-direction:column}.header nav.open{display:flex}.menu{display:block;border:0;background:none;font-size:24px}.subscribe{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 7%;min-height:500px}.hero-image{min-height:400px}.categories{flex-wrap:wrap;justify-content:flex-start}.categories>span{width:100%}.cards{grid-template-columns:1fr 1fr}.newsletter{flex-direction:column;align-items:stretch}}@media(max-width:560px){.topline span{display:none}.hero h1{letter-spacing:-2px}.cards{grid-template-columns:1fr}.stories{padding:60px 6%}.section-title{align-items:start;gap:20px}.categories{gap:18px}.categories a{font-size:17px}.quote{padding:65px 15px}footer{gap:15px;flex-wrap:wrap}.signup{min-width:0}}
/* JEAF magazine ad-ready layout — placeholders are intentionally not live ads */
.ad-section{padding:24px 6% 8px}.ad-section--lower{padding-top:45px;padding-bottom:10px}.ad-slot{background:#f4efed;border:1px dashed #d8c8d0;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;color:#8d7d87}.ad-label{font-size:10px;letter-spacing:2.2px;font-weight:700}.ad-note{font-size:12px;color:#aa9ca5}.ad-slot--leaderboard{max-width:1100px;min-height:125px;margin:auto}.ad-slot--inline{min-height:135px;margin:50px 0}.ad-slot--rectangle{min-height:270px;margin:25px 0 35px}.editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px}.editorial-main{min-width:0}.editorial-main .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{border-left:1px solid #eee1e5;padding-left:30px}.sidebar-intro{background:#f6e9f0;padding:28px 24px}.sidebar-intro h3{font:500 32px/1.2 'Playfair Display',serif;margin:18px 0}.sidebar-intro h3 em,.affiliate-heading em{color:var(--pink)}.sidebar-intro p{color:#80727b;font-size:13px;line-height:1.7}.sidebar-note{padding:12px 6px 20px;border-bottom:1px solid #eadde3}.sidebar-note span{font-size:10px;letter-spacing:2px;color:#a33d84}.sidebar-note p{font:500 22px/1.4 'Playfair Display',serif}.affiliate-section{padding:26px 0 10px}.affiliate-heading h3{font:500 40px 'Playfair Display',serif;margin:12px 0 8px}.affiliate-heading>p{font-size:13px;color:#827a80}.affiliate-items{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.affiliate-items article{border:1px solid #e9dfe3;padding-bottom:15px}.affiliate-items article>div:last-child{padding:14px}.affiliate-visual{height:125px;display:flex;align-items:center;justify-content:center;font-size:48px}.affiliate-visual--one{background:linear-gradient(130deg,#ffd89d,#ff7a9d);color:#fff}.affiliate-visual--two{background:linear-gradient(130deg,#d5a6fb,#fd8cc5);color:#fff}.sponsor-label{font-size:9px;letter-spacing:1.4px;color:#a63b7c;font-weight:700}.affiliate-items h4{font:500 22px 'Playfair Display',serif;margin:10px 0}.affiliate-items p,.affiliate-disclosure{font-size:12px;line-height:1.7;color:#81767e}.affiliate-disclosure{margin-top:20px}@media(max-width:1100px){.editorial-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.sidebar{padding-left:20px}}@media(max-width:850px){.editorial-layout{grid-template-columns:1fr}.sidebar{border-left:0;border-top:1px solid #eee1e5;padding:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.sidebar .ad-slot{margin:0}.sidebar-note{display:none}.ad-slot--rectangle{min-height:220px}}@media(max-width:560px){.editorial-main .cards,.affiliate-items,.sidebar{grid-template-columns:1fr}.sidebar .ad-slot--rectangle:last-child{display:none}.ad-section{padding:20px 6%}.ad-slot--leaderboard{min-height:110px}.ad-slot--inline{margin:35px 0}.affiliate-heading h3{font-size:34px}}

.auth-shell{min-height:calc(100vh - 260px);display:flex;align-items:center;justify-content:center;padding:76px 20px 96px;background:radial-gradient(circle at 85% 10%,#fbe2ee 0,transparent 38%),var(--paper)}
.auth-card{width:100%;max-width:520px;background:#fffdfa;border:1px solid #eadfe4;box-shadow:0 20px 60px rgba(61,31,53,.06);padding:clamp(28px,5vw,56px)}
.auth-card h1{font:500 clamp(38px,4vw,55px)/1.17 'Playfair Display',serif;letter-spacing:-1px;margin:18px 0}
.auth-card h1 em{color:var(--pink);font-weight:500}.auth-intro{font-size:14px;line-height:1.8;color:#776d76;margin-bottom:30px}
.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{font-size:12px;font-weight:700;margin-top:10px}
.auth-form input{width:100%;border:1px solid #ded1d8;border-radius:0;background:white;padding:15px 14px;font:inherit;font-size:14px;color:var(--ink)}
.auth-form input:focus{outline:2px solid #c36caf;outline-offset:1px}
.auth-form button{cursor:pointer;margin-top:20px;border:0;background:linear-gradient(105deg,#f62b84,#a13bea);color:white;padding:17px 20px;font:700 13px 'DM Sans',sans-serif}
.auth-switch{font-size:13px;text-align:center;margin-top:25px;color:#786c76}.auth-switch a{color:#ad3283;font-weight:700;text-decoration:underline}
.auth-error{border-left:3px solid #cf3973;background:#fff0f4;padding:10px 15px;margin:16px 0;font-size:13px;color:#9a2151}
.auth-error p{margin:6px 0}.auth-account-detail{display:flex;flex-direction:column;gap:7px;border-top:1px solid #eadfe4;padding:20px 0;font-size:13px;overflow-wrap:anywhere}
@media(max-width:560px){.auth-shell{padding:40px 14px 65px}.auth-card{padding:28px 22px}}
