:root {
  --ink: #1b1512;
  --paper: #f7f1ea;
  --paper-2: #fffaf5;
  --accent: #c4542e;
  --accent-dark: #8f3f22;
  --accent-2: #1f6f78;
  --accent-3: #d1a054;
  --indigo: var(--accent);
  --purple: var(--accent-2);
  --pink: var(--accent-3);
  --gray-50: #f7f1ea;
  --gray-100: #f1e7dd;
  --gray-200: #e4d5c7;
  --gray-300: #d1c0b2;
  --gray-600: #5f554d;
  --gray-700: #4b423c;
  --gray-900: #1b1512;
  --white: #fffaf5;
  --shadow: 0 10px 30px rgba(27, 21, 18, 0.08);
  --shadow-lg: 0 20px 50px rgba(27, 21, 18, 0.15);
  --shadow-xl: 0 30px 70px rgba(27, 21, 18, 0.2);
  --transition: all 0.3s ease;
  --transition-slow: all 0.4s ease;
}
body{font-family:'Manrope',sans-serif;color:var(--ink);background:var(--paper)}
.mag-body{background-image:radial-gradient(circle at 10% 10%,rgba(209,160,84,.12),transparent 40%),radial-gradient(circle at 90% 15%,rgba(31,111,120,.12),transparent 35%),linear-gradient(180deg,rgba(255,250,245,.9),rgba(247,241,234,.95))}
h1,h2,h3,h4,.font-serif{font-family:'Playfair Display',serif}
        .page-section{display:none;animation:fadeIn .3s ease-in-out}
        .page-section.active{display:block}
        @keyframes fadeIn{from{opacity:0}to{opacity:1}}
        @keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
        @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}
        @keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
        @keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
        @keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
        .nav-link{position:relative;transition:var(--transition)}
        .nav-link::before{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--indigo),var(--pink));transition:var(--transition);transform:translateX(-50%)}
        .nav-link:hover::before{width:80%}
        .nav-link:hover{transform:translateY(-2px);color:var(--indigo)!important}
        button[onclick="navigateTo('reading')"]{transition:var(--transition);position:relative;overflow:hidden}
        button[onclick="navigateTo('reading')"]:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(79,70,229,.3)}
        button[onclick="navigateTo('reading')"]::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}
        button[onclick="navigateTo('reading')"]:hover::before{width:300px;height:300px}
        .flex.items-center.cursor-pointer{transition:var(--transition)}
        .flex.items-center.cursor-pointer:hover{transform:scale(1.05)}
        .flex.items-center.cursor-pointer:hover .h-2{animation:pulse 1s infinite}
        .team-card,.pricing-card,.article-card,.contact-info-card{position:relative;background:var(--white);border-radius:16px;overflow:hidden;transition:var(--transition-slow);box-shadow:var(--shadow)}
        .team-card:hover,.pricing-card:hover,.article-card:hover,.contact-info-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}
        .team-card{animation:fadeInUp .6s ease forwards;box-shadow:var(--shadow),0 2px 4px -1px rgba(0,0,0,.06)}
        .team-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl),0 10px 10px -5px rgba(0,0,0,.04)}
        .team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--indigo),var(--pink),var(--indigo));background-size:200% 100%;opacity:0;transition:opacity .4s}
        .team-card:hover::before{opacity:1;animation:gradientShift 2s ease infinite}
        .team-image-wrapper{position:relative;width:140px;height:140px;margin:-70px auto 0;z-index:1}
        .team-image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:5px solid var(--white);box-shadow:0 10px 25px rgba(0,0,0,.15);transition:var(--transition-slow)}
        .team-card:hover .team-image{transform:scale(1.1);box-shadow:0 15px 35px rgba(79,70,229,.3)}
        .team-image-wrapper::after{content:'';position:absolute;inset:-5px;border-radius:50%;background:linear-gradient(135deg,var(--indigo),var(--pink));opacity:0;transition:opacity .4s;z-index:-1}
        .team-card:hover .team-image-wrapper::after{opacity:1}
        .team-role{position:relative;display:inline-block;padding:4px 12px;background:linear-gradient(135deg,var(--gray-100),var(--gray-200));border-radius:20px;font-size:.75rem;font-weight:500;color:var(--indigo);transition:var(--transition)}
        .team-card:hover .team-role{background:linear-gradient(135deg,var(--indigo),#6366f1);color:var(--white);transform:scale(1.05)}
        .team-social-icons{display:flex;justify-content:center;gap:12px;margin-top:16px;opacity:0;transform:translateY(10px);transition:var(--transition-slow)}
        .team-card:hover .team-social-icons{opacity:1;transform:translateY(0)}
        .team-social-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:#6b7280;transition:var(--transition);cursor:pointer}
        .team-social-icon:hover{background:linear-gradient(135deg,var(--indigo),#6366f1);color:var(--white);transform:translateY(-3px) scale(1.1)}
        .team-hero,.pricing-hero,.contact-hero,.reading-hero{position:relative;overflow:hidden}
        .team-hero{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}
        .team-hero::before{content:'';position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3}
        .team-stat-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:24px;text-align:center;transition:var(--transition)}
        .team-stat-card:hover{background:rgba(255,255,255,.15);transform:translateY(-5px)}
        .team-card:nth-child(1){animation-delay:.1s}.team-card:nth-child(2){animation-delay:.2s}.team-card:nth-child(3){animation-delay:.3s}.team-card:nth-child(4){animation-delay:.4s}.team-card:nth-child(5){animation-delay:.5s}
        .pricing-hero{background:linear-gradient(135deg,var(--indigo) 0%,var(--purple) 50%,var(--pink) 100%)}
        .pricing-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%)}
        .pricing-card{border-radius:20px;box-shadow:var(--shadow-lg),0 4px 6px -2px rgba(0,0,0,.05)}
        .pricing-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
        .pricing-card.featured{border:3px solid var(--indigo);transform:scale(1.05)}
        .pricing-card.featured::before{content:'POPULAIRE';position:absolute;top:20px;right:-35px;background:linear-gradient(135deg,var(--indigo),var(--pink));color:var(--white);padding:5px 40px;font-size:.75rem;font-weight:bold;transform:rotate(45deg);box-shadow:var(--shadow);z-index:10}
        .pricing-card-header{background:linear-gradient(135deg,var(--gray-50),var(--gray-100));padding:32px 24px;text-align:center;position:relative}
        .pricing-card.featured .pricing-card-header{background:linear-gradient(135deg,#eef2ff,#e0e7ff)}
        .pricing-price{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,var(--indigo),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
        .pricing-feature{padding:16px 24px;border-bottom:1px solid var(--gray-100);transition:var(--transition)}
        .pricing-feature:hover{background:var(--gray-50);padding-left:32px}
        .pricing-feature:last-child{border-bottom:none}
.pricing-button,.reading-button,.contact-submit-button{width:100%;padding:14px 24px;font-weight:600;border-radius:12px;transition:var(--transition);position:relative;overflow:hidden}
.reading-button,.contact-submit-button{width:auto;padding:12px 32px;background:linear-gradient(135deg,var(--indigo),var(--purple))}
.contact-submit-button{padding:16px 32px}
.contact-submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}
        .pricing-button::before,.reading-button::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}
        .pricing-button:hover::before,.reading-button:hover::before{width:300px;height:300px}
        .reading-button::before,.contact-submit-button::before{top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);border-radius:0;transform:none;transition:left .5s}
        .reading-button:hover::before,.contact-submit-button:hover::before{left:100%}
        .reading-button:hover,.contact-submit-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(79,70,229,.3)}
        .contact-hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%)}
        .contact-hero::before{content:'';position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="60" height="60" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="contactGrid" width="60" height="60" patternUnits="userSpaceOnUse"><path d="M 60 0 L 0 0 0 60" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="60" height="60" fill="url(%23contactGrid)"/></svg>')}
        .contact-info-card{box-shadow:0 10px 25px rgba(0,0,0,.1);height:100%;padding:40px}
        .contact-icon-wrapper{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);margin-bottom:24px;transition:var(--transition)}
        .contact-info-card:hover .contact-icon-wrapper{background:linear-gradient(135deg,var(--indigo),#6366f1);transform:scale(1.1) rotate(5deg)}
        .contact-info-card:hover .contact-icon-wrapper i{color:var(--white)}
        .contact-form-input{width:100%;padding:14px 18px;border:2px solid var(--gray-200);border-radius:12px;transition:var(--transition);font-size:15px}
        .contact-form-input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 4px rgba(79,70,229,.1);transform:translateY(-2px)}
        .contact-form-textarea{min-height:140px;resize:vertical}
        .contact-form-wrapper{animation:slideInRight .6s ease}
        .contact-info-wrapper{animation:slideInLeft .6s ease}
        .reading-hero{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#334155 100%);position:relative;overflow:hidden}
        .reading-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(79,70,229,.3) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(236,72,153,.3) 0%,transparent 50%);animation:glow 8s ease-in-out infinite}
        .reading-hero::after{content:'';position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="readingGrid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23readingGrid)"/></svg>');opacity:.5}
        @keyframes glow{0%,100%{opacity:1}50%{opacity:.7}}
        .magazine-reader{background:var(--white);border-radius:32px;box-shadow:0 30px 60px -15px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.05);overflow:hidden;transition:var(--transition-slow);position:relative}
        .magazine-reader::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(79,70,229,.02) 100%);pointer-events:none;z-index:1}
        .magazine-reader:hover{transform:translateY(-12px) scale(1.01);box-shadow:0 40px 80px -20px rgba(0,0,0,.5),0 0 0 1px rgba(79,70,229,.1)}
        .magazine-page{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);padding:56px;border-right:3px solid #e2e8f0;position:relative;backdrop-filter:blur(10px)}
        .magazine-page::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(180deg,var(--indigo),var(--pink),var(--indigo));background-size:100% 200%;animation:gradientShift 3s ease infinite}
        .magazine-image-wrapper{position:relative;overflow:hidden;background:#000}
        .magazine-image-wrapper::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:1}
        .magazine-image-wrapper img{transition:transform 1s cubic-bezier(0.4,0,0.2,1)}
        .magazine-reader:hover .magazine-image-wrapper img{transform:scale(1.05)}
        .article-card{animation:fadeInUp .6s ease forwards;cursor:pointer;position:relative;overflow:visible}
        .article-card::before{content:'';position:absolute;inset:-2px;background:linear-gradient(135deg,var(--indigo),var(--pink));border-radius:18px;opacity:0;transition:opacity .3s;z-index:-1}
        .article-card:hover::before{opacity:.1}
        .article-card-image{width:100%;height:220px;object-fit:cover;transition:transform .6s cubic-bezier(0.4,0,0.2,1)}
        .article-card:hover .article-card-image{transform:scale(1.15) translateY(-5px)}
        .article-badge{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,var(--indigo),#6366f1);color:var(--white);border-radius:24px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 12px rgba(79,70,229,.3);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}
        .article-card:nth-child(1){animation-delay:.1s}.article-card:nth-child(2){animation-delay:.2s}.article-card:nth-child(3){animation-delay:.3s}.article-card:nth-child(4){animation-delay:.4s}
        .magazine-meta{display:flex;align-items:center;gap:20px;color:#64748b;font-size:.875rem;flex-wrap:wrap}
        .magazine-meta-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(100,116,139,.1);border-radius:12px;transition:var(--transition)}
        .magazine-meta-item:hover{background:rgba(100,116,139,.15);transform:translateY(-2px)}
        .article-tag{position:relative;padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;transition:var(--transition);cursor:pointer}
        .article-tag:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.15)}
        .reading-button{position:relative;overflow:hidden;z-index:1}
        .reading-button::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--purple),var(--pink));opacity:0;transition:opacity .3s;z-index:-1}
        .reading-button:hover::after{opacity:1}
        .article-read-more{position:relative;transition:var(--transition)}
        .article-read-more i{transition:transform .3s}
        .article-card:hover .article-read-more i{transform:translateX(4px)}
        .magazine-page-content{position:relative;z-index:2}

.mag-nav{background:rgba(255,250,245,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200)}
.mag-nav .font-serif{letter-spacing:.6px}
.hero-splash{background:linear-gradient(135deg,#1b1512 0%,#241a15 40%,#2f231d 100%);position:relative}
.hero-splash::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(209,160,84,.25),transparent 45%),radial-gradient(circle at 80% 10%,rgba(31,111,120,.2),transparent 40%);mix-blend-mode:screen;opacity:.8}
.hero-splash .absolute img{filter:grayscale(10%) contrast(1.05) saturate(.9)}
.btn-primary{background:linear-gradient(135deg,var(--accent),#e16a3f);box-shadow:0 12px 25px rgba(196,84,46,.3);position:relative;overflow:hidden}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(196,84,46,.35)}
.btn-secondary{background:rgba(255,250,245,.9);border:1px solid rgba(196,84,46,.35);color:var(--accent-dark)}
.btn-secondary:hover{background:rgba(255,250,245,1);transform:translateY(-2px)}
.mission-card{background:linear-gradient(180deg,#fffaf5 0%,#f2e6db 100%);border:1px solid rgba(27,21,18,.08);box-shadow:var(--shadow)}
.mission-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.cta-banner{background:linear-gradient(120deg,#1f6f78 0%,#c4542e 55%,#d1a054 100%)}
.site-footer{background:#14110f;border-top:1px solid rgba(255,250,245,.08)}

.team-hero{background:linear-gradient(135deg,#1f6f78 0%,#0f3b40 100%)}
.pricing-hero{background:linear-gradient(135deg,#c4542e 0%,#1f6f78 60%,#d1a054 100%)}
.reading-hero{background:linear-gradient(135deg,#14110f 0%,#2a221d 55%,#3a2d25 100%)}
.contact-hero{background:linear-gradient(135deg,#2a221d 0%,#3a2d25 100%)}
.magazine-page{background:linear-gradient(135deg,#fffaf5 0%,#f3e7dc 100%);border-right:3px solid #e4d5c7}
.contact-icon-wrapper{background:linear-gradient(135deg,rgba(209,160,84,.2),rgba(31,111,120,.18))}
.contact-info-card:hover .contact-icon-wrapper{background:linear-gradient(135deg,var(--accent),var(--accent-2))}

.bg-gray-900{background-color:#14110f !important}
.bg-white{background-color:var(--paper-2) !important}
.bg-gray-50{background-color:var(--gray-50) !important}
.bg-gray-100{background-color:var(--gray-100) !important}
.border-gray-200{border-color:var(--gray-200) !important}
.text-gray-900{color:var(--ink) !important}
.text-gray-700{color:var(--gray-700) !important}
.text-gray-600{color:var(--gray-600) !important}
.text-gray-500{color:#7a6f66 !important}
.text-gray-300{color:#d8cfc6 !important}
.text-indigo-600{color:var(--accent) !important}
.text-indigo-700{color:var(--accent-dark) !important}
.bg-indigo-600{background-color:var(--accent) !important}
.bg-indigo-700{background-color:var(--accent-dark) !important}
.bg-indigo-100{background-color:rgba(196,84,46,.12) !important}
.bg-indigo-200{background-color:rgba(196,84,46,.2) !important}
.text-pink-500{color:var(--accent-2) !important}
.bg-pink-500{background-color:var(--accent-2) !important}
.from-indigo-600{--tw-gradient-from:var(--accent) !important;--tw-gradient-to:rgba(196,84,46,0) !important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to) !important}
.via-purple-600{--tw-gradient-to:rgba(31,111,120,0) !important;--tw-gradient-stops:var(--tw-gradient-from),var(--accent-2),var(--tw-gradient-to) !important}
.to-pink-600{--tw-gradient-to:var(--accent-3) !important}
html { scroll-behavior: smooth; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 2px solid var(--indigo); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

.paywall-overlay{position:fixed;inset:0;background:rgba(20,17,15,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:60;padding:24px}
.paywall-overlay.hidden{display:none}
.paywall-card{background:var(--paper-2);border-radius:24px;box-shadow:var(--shadow-xl);max-width:520px;width:100%;padding:36px 32px;position:relative;border:1px solid rgba(27,21,18,.08)}
.paywall-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:var(--gray-100);color:var(--gray-700);font-size:20px;cursor:pointer;transition:var(--transition)}
.paywall-close:hover{background:var(--gray-200);transform:scale(1.05)}
.paywall-badge{display:inline-block;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,var(--accent-2),var(--accent-3));color:var(--white);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.paywall-title{margin:16px 0 8px;font-size:2rem;color:var(--ink)}
.paywall-plan{margin:6px 0 10px;color:var(--gray-700);font-weight:600}
.paywall-copy{color:var(--gray-600);margin-bottom:18px}
.paywall-actions{display:flex;gap:12px;flex-wrap:wrap}
.paywall-actions .reading-button{padding:12px 28px}
.paywall-cancel{padding:12px 22px;border-radius:12px;border:1px solid var(--gray-200);background:var(--gray-50);color:var(--gray-700);font-weight:600;transition:var(--transition)}
.paywall-cancel:hover{background:var(--gray-100);transform:translateY(-1px)}
.paywall-note{margin-top:16px;color:var(--gray-600);font-size:.85rem}
@media (max-width:640px){
  .paywall-card{padding:28px 22px}
  .paywall-title{font-size:1.6rem}
}

.heyzine-overlay{position:fixed;inset:0;background:rgba(20,17,15,.7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:65;padding:16px}
.heyzine-overlay.hidden{display:none}
.heyzine-card{background:var(--paper-2);border-radius:20px;box-shadow:var(--shadow-xl);width:min(1100px,96vw);height:min(80vh,900px);position:relative;overflow:hidden;border:1px solid rgba(27,21,18,.1)}
.heyzine-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:var(--gray-100);color:var(--gray-700);font-size:20px;cursor:pointer;transition:var(--transition);z-index:2}
.heyzine-close:hover{background:var(--gray-200);transform:scale(1.05)}
#heyzine-frame{width:100%;height:100%;border:0}
@media (max-width:640px){
  .heyzine-card{height:88vh}
}

/* Calam'art refresh */
:root{
  --ink:#13121a;
  --paper:#f4efe9;
  --paper-2:#fbf6f0;
  --accent:#c67a3e;
  --accent-dark:#8f5a34;
  --accent-2:#273b5a;
  --accent-3:#d9a06b;
  --shadow:0 12px 30px rgba(19,18,26,.12);
  --shadow-lg:0 26px 60px rgba(19,18,26,.18);
  --shadow-xl:0 40px 80px rgba(19,18,26,.22);
}
body{font-family:'Space Grotesk',sans-serif;background:var(--paper);color:var(--ink);letter-spacing:.01em}
h1,h2,h3,h4,.font-serif{font-family:'Fraunces',serif;letter-spacing:.01em}
.mag-body{
  background-image:
    radial-gradient(circle at 15% 10%,rgba(224,177,90,.18),transparent 38%),
    radial-gradient(circle at 85% 12%,rgba(15,107,111,.16),transparent 35%),
    radial-gradient(circle at 50% 95%,rgba(214,91,58,.16),transparent 40%),
    linear-gradient(180deg,rgba(255,247,238,.95),rgba(246,239,231,.98));
}
.mag-nav{background:rgba(255,247,238,.85);border-bottom:1px solid rgba(23,19,16,.08)}
.nav-link{font-weight:600;color:var(--gray-700)}
.nav-link:hover{color:var(--accent)!important}
.nav-link.active{color:var(--accent)!important}
.nav-link.active::before{width:80%}
.nav-cta.active{box-shadow:0 10px 24px rgba(39,59,90,.35);transform:translateY(-1px)}
.hero-splash{background:linear-gradient(120deg,#171310 0%,#2a211c 45%,#3a2d25 100%)}
.hero-splash::before{
  background:
    radial-gradient(circle at 20% 20%,rgba(214,91,58,.35),transparent 42%),
    radial-gradient(circle at 85% 10%,rgba(224,177,90,.25),transparent 40%),
    radial-gradient(circle at 40% 80%,rgba(15,107,111,.25),transparent 45%);
  mix-blend-mode:screen;
}
.mission-card,.team-card,.pricing-card,.article-card,.contact-info-card{
  border-radius:20px;
  border:1px solid rgba(23,19,16,.08);
  background:linear-gradient(180deg,rgba(255,247,238,.96),rgba(246,239,231,.98));
  box-shadow:var(--shadow);
}
.team-card::before{height:5px}
.team-image{border:6px solid var(--paper-2)}
.team-role{background:rgba(214,91,58,.12);color:var(--accent-dark)}
.team-card:hover .team-role{background:var(--accent);color:var(--white)}
.team-hero{background:linear-gradient(135deg,#0f6b6f 0%,#0a3f41 100%)}
.pricing-hero{background:linear-gradient(135deg,#d65b3a 0%,#0f6b6f 55%,#e0b15a 100%)}
.reading-hero{background:linear-gradient(135deg,#171310 0%,#2a211c 60%,#3b2e26 100%)}
.contact-hero{background:linear-gradient(135deg,#2a211c 0%,#3b2e26 100%)}
.pricing-card.featured{border:3px solid var(--accent);transform:scale(1.04)}
.pricing-card.featured::before{background:linear-gradient(135deg,var(--accent),var(--accent-3))}
.pricing-price{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  color:transparent;
}
.btn-primary,.pricing-button,.reading-button,.contact-submit-button{
  border-radius:14px;
  letter-spacing:.02em;
}
.btn-primary{background:linear-gradient(135deg,var(--accent),#f07a55);box-shadow:0 16px 30px rgba(214,91,58,.3)}
.btn-secondary{background:rgba(255,247,238,.9);border:1px solid rgba(214,91,58,.35);color:var(--accent-dark)}
.article-badge{background:linear-gradient(135deg,var(--accent),var(--accent-2));}
.magazine-reader{border-radius:28px}
.magazine-page{background:linear-gradient(135deg,#fff7ee 0%,#f2e6da 100%);border-right:3px solid #e6d4c4}
.magazine-page::before{background:linear-gradient(180deg,var(--accent),var(--accent-3),var(--accent))}
.contact-form-input{background:rgba(255,247,238,.8)}
.contact-form-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(214,91,58,.12)}
.cta-banner{background:linear-gradient(120deg,#0f6b6f 0%,#d65b3a 55%,#e0b15a 100%)}
.site-footer{background:#120e0c}

/* Auth pages */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px}
.auth-card{background:var(--paper-2);border-radius:20px;padding:32px;box-shadow:var(--shadow-xl);max-width:420px;width:100%;text-align:center}
.auth-card h1{font-size:2rem;margin-bottom:8px}
.auth-card p{color:var(--gray-600)}
.auth-form{display:grid;gap:12px;margin-top:18px;text-align:left}
.auth-form label{font-weight:600;font-size:.9rem}
.auth-form input{padding:12px 14px;border-radius:12px;border:1px solid rgba(19,18,26,.12);background:#fff}
.auth-form .btn-primary{width:100%;margin-top:6px}
.auth-error{background:rgba(198,122,62,.15);color:var(--accent-dark);padding:10px 12px;border-radius:12px;margin-top:10px}
.auth-alt{margin-top:16px}
.auth-alt a{color:var(--accent);font-weight:600}
.auth-status{margin:18px 0 10px;padding:12px 16px;border-radius:999px;font-weight:700;letter-spacing:.02em}
.auth-status.ok{background:rgba(39,59,90,.12);color:var(--accent-2)}
.auth-status.no{background:rgba(198,122,62,.12);color:var(--accent-dark)}
.auth-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.auth-actions .btn-secondary{border:1px solid rgba(19,18,26,.12);padding:10px 16px;border-radius:12px}
.auth-logout{display:inline-block;margin-top:18px;color:var(--gray-600)}
.auth-profile-line{margin-top:4px;color:var(--gray-600)}
.auth-profile-name{font-weight:700;color:var(--ink)}
.account-panels{display:grid;gap:16px;margin:20px 0}
.account-panel{
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(244,239,233,.9));
  border-radius:18px;
  padding:18px;
  text-align:left;
  border:1px solid rgba(19,18,26,.08);
  box-shadow:0 12px 24px rgba(19,18,26,.08);
}
.account-panel h3{font-weight:700;margin-bottom:8px}
.account-plan-name{font-size:1.15rem;font-weight:700;color:var(--accent)}
.account-plan-price{display:inline-block;margin-top:4px;padding:4px 10px;border-radius:999px;background:rgba(198,122,62,.16);color:var(--accent-dark);font-weight:600;font-size:.85rem}
.account-plan-meta{margin-top:8px;color:var(--gray-600);font-size:.85rem}
.auth-actions .btn-primary,
.auth-actions .btn-secondary{
  padding:10px 18px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow:0 10px 22px rgba(19,18,26,.12);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.auth-actions .btn-primary{
  background:linear-gradient(135deg,var(--accent),#e08952);
  color:#fff;
  border:0;
}
.auth-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(19,18,26,.18)}
.auth-actions .btn-secondary{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(19,18,26,.12);
  color:var(--ink);
}
.auth-actions .btn-secondary:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(19,18,26,.16)}
.auth-logout{
  font-weight:700;
  color:var(--accent-dark);
  text-decoration:none;
}
.auth-logout:hover{text-decoration:underline}

.auth-card{
  position:relative;
  overflow:hidden;
}
.auth-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 10%,rgba(198,122,62,.12),transparent 45%),
             radial-gradient(circle at 80% 90%,rgba(39,59,90,.12),transparent 50%);
  pointer-events:none;
}
.auth-card > *{position:relative}
.auth-profile-name{text-transform:capitalize}

/* Reader */
.reader-wrap{min-height:100vh;background:var(--paper);display:flex;flex-direction:column}
.reader-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:rgba(19,18,26,.9);color:#fff}
.reader-bar a{color:#fff;text-decoration:none;font-weight:600}
.reader-frame{flex:1;border:0;width:100%}

/* Reading lock + embed */
.reader-lock{padding:70px 0;background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.reader-lock-head{text-align:center;margin-bottom:32px}
.reader-lock-head h3{font-size:2rem;margin-bottom:8px}
.reader-lock-head p{color:var(--gray-600)}
.reader-lock-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.reader-lock-card{background:var(--paper-2);border-radius:18px;padding:24px;box-shadow:var(--shadow);border:1px solid rgba(19,18,26,.08)}
.reader-embed{padding:70px 0;background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.reader-embed-card{background:var(--paper-2);border-radius:22px;box-shadow:var(--shadow-xl);overflow:hidden;border:1px solid rgba(19,18,26,.08)}
.reader-embed-head{padding:24px;background:linear-gradient(120deg,rgba(39,59,90,.12),rgba(198,122,62,.15))}
.reader-embed-head h3{font-size:1.8rem}
.reader-embed-head p{color:var(--gray-600)}
.reader-embed-frame{width:100%;height:75vh;border:0}

/* Auth badge in header */
.nav-auth{display:flex;gap:10px;align-items:center}
.nav-auth.mobile{flex-direction:column;align-items:flex-start;margin-top:6px}
.auth-link{
  padding:6px 12px;
  border-radius:999px;
  background:rgba(39,59,90,.12);
  color:var(--accent-2);
  font-weight:600;
  font-size:.8rem;
  text-decoration:none;
  border:1px solid rgba(19,18,26,.12);
}
.auth-link.logout{background:rgba(198,122,62,.12);color:var(--accent-dark)}
.auth-link.mobile{width:100%}

/* Team refresh */
.team-hero-modern{background:linear-gradient(120deg,#13121a 0%,#273b5a 55%,#13121a 100%);position:relative;overflow:hidden}
.team-hero-modern::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(198,122,62,.3),transparent 45%),radial-gradient(circle at 85% 20%,rgba(39,59,90,.35),transparent 50%);opacity:.9}
.team-hero-grid{position:relative;z-index:1;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:center}
.team-kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;color:rgba(255,255,255,.6)}
.team-title{font-size:3rem;line-height:1.05;margin:16px 0}
.team-lead{font-size:1.1rem;color:rgba(255,255,255,.85)}
.team-hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.team-hero-tags span{padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:.8rem;color:rgba(255,255,255,.8);background:rgba(19,18,26,.4)}
.team-hero-panel{display:flex;justify-content:flex-end}
.team-panel-card{background:rgba(251,246,240,.95);border-radius:22px;padding:24px;box-shadow:var(--shadow-xl);max-width:320px}
.team-panel-card h3{font-size:1.2rem;margin-bottom:16px}
.team-panel-stats{display:grid;gap:12px}
.team-panel-stats span{font-size:1.6rem;font-weight:700;color:var(--accent)}
.team-panel-stats p{margin:0;color:var(--gray-600);font-size:.9rem}
.team-panel-note{margin-top:12px;color:var(--gray-600);font-size:.85rem}
.team-manifesto{padding:70px 0;background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.team-manifesto-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.team-manifesto h3{font-size:1.4rem;margin-bottom:10px}
.team-manifesto p{color:var(--gray-600)}
.team-manifesto ul{list-style:none;padding:0;margin:0;color:var(--gray-600);display:grid;gap:8px}
.team-manifesto-quote{background:rgba(19,18,26,.08);border-radius:18px;padding:20px;color:var(--ink)}
.team-manifesto-quote span{display:block;margin-top:10px;color:var(--accent-dark);font-weight:600}
.team-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.team-card-featured{grid-column:span 2}
.team-card-featured .team-image-wrapper{width:160px;height:160px;margin:-80px auto 0}
.team-card-featured{text-align:left}
.team-cta{background:linear-gradient(120deg,rgba(39,59,90,.95),rgba(19,18,26,.95));color:#fff;border-radius:24px;padding:40px;box-shadow:var(--shadow-xl)}
.team-cta h3{font-size:2rem;margin-bottom:10px}
.team-cta p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 24px}
@media (max-width:900px){
  .team-card-featured{grid-column:span 1}
  .team-title{font-size:2.4rem}
}

/* Home refresh */
.home-hero{position:relative;overflow:hidden}
.home-hero-media{position:absolute;inset:0}
.home-hero-image{width:100%;height:100%;object-fit:cover;opacity:.35}
.home-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(19,18,26,.92) 0%,rgba(39,59,90,.65) 55%,rgba(19,18,26,.92) 100%)}
.home-hero-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;z-index:1}
.home-hero-copy{max-width:520px}
.home-kicker{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;font-size:.75rem;letter-spacing:.24em;color:rgba(255,255,255,.7)}
.home-kicker::before{content:'';width:40px;height:1px;background:rgba(255,255,255,.4)}
.home-title{font-size:3.2rem;line-height:1.05;margin:18px 0 14px}
.home-title-accent{display:block;color:var(--accent-3)}
.home-lead{font-size:1.1rem;color:rgba(255,255,255,.85);max-width:520px}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 18px}
.home-chips{display:flex;flex-wrap:wrap;gap:10px}
.home-chip{padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);font-size:.8rem;background:rgba(18,14,12,.4)}
.issue-card{background:rgba(251,246,241,.95);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column}
.issue-cover{position:relative}
.issue-cover-image{width:100%;height:360px;object-fit:cover}
.issue-tag{position:absolute;top:18px;left:18px;background:rgba(16,14,12,.78);color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;padding:6px 12px;border-radius:999px}
.issue-meta{padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.issue-title{font-weight:700;font-size:1.1rem}
.issue-subtitle{color:var(--gray-600);font-size:.9rem}
.home-editorial{padding:80px 0}
.editorial-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.editorial-card{background:var(--paper-2);border-radius:18px;padding:24px;border:1px solid rgba(23,19,16,.08);box-shadow:var(--shadow)}
.editorial-card-highlight{background:linear-gradient(135deg,rgba(15,107,111,.15),rgba(224,177,90,.2))}
.editorial-title{font-size:1.2rem;margin-bottom:12px}
.editorial-copy{color:var(--gray-700)}
.editorial-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--gray-700)}
.editorial-quote{font-size:1.05rem;margin:12px 0 16px}
.editorial-sign{font-weight:700;color:var(--ink)}
.editorial-stats{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.editorial-stats span{font-weight:700;color:var(--accent);margin-right:6px}
.home-featured{padding:10px 0 90px}
.section-heading{display:flex;flex-direction:column;gap:6px;margin-bottom:26px}
.section-title{font-size:2rem}
.section-subtitle{color:var(--gray-600)}
.featured-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.featured-card{background:var(--paper-2);border-radius:20px;padding:24px;border:1px solid rgba(23,19,16,.08);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.featured-card h3{font-size:1.3rem}
.featured-card p{color:var(--gray-600)}
.featured-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-weight:700}
.featured-link{align-self:flex-start;padding:6px 14px;border-radius:999px;background:rgba(214,91,58,.12);color:var(--accent-dark);font-weight:600}

/* Papier section */
.paper-hero{background:linear-gradient(120deg,#273b5a 0%,#1c2536 55%,#273b5a 100%)}
.paper-content{background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.paper-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:center}
.paper-stack{position:relative;height:320px;display:flex;align-items:center;justify-content:center}
.paper-sheet{position:absolute;width:240px;height:300px;border-radius:16px;background:linear-gradient(135deg,#fff7ee 0%,#f0e2d3 100%);box-shadow:0 18px 30px rgba(23,19,16,.2);display:flex;align-items:flex-end;justify-content:center;padding:20px;font-weight:700;color:var(--ink);transition:transform .45s ease,box-shadow .45s ease}
.paper-sheet span{background:rgba(23,19,16,.08);padding:6px 12px;border-radius:999px;font-size:.8rem}
.sheet-1{transform:rotate(-6deg) translateY(8px)}
.sheet-2{transform:rotate(2deg) translateY(-4px)}
.sheet-3{transform:rotate(8deg) translateY(14px)}
.paper-stack:hover .sheet-1{transform:rotate(-10deg) translateY(-10px)}
.paper-stack:hover .sheet-2{transform:rotate(4deg) translateY(-20px)}
.paper-stack:hover .sheet-3{transform:rotate(12deg) translateY(-5px)}
.paper-title{font-size:2rem;margin-bottom:12px}
.paper-copy{color:var(--gray-600);margin-bottom:20px}
.paper-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px;color:var(--gray-700)}
.paper-list i{width:18px;height:18px;margin-right:10px}
.paper-list li{display:flex;align-items:center;gap:10px}
.paper-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Suggestions */
.suggestions-hero{background:linear-gradient(120deg,#13121a 0%,#2c3242 55%,#13121a 100%)}
.suggestions-content{background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.suggestions-grid{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.suggestions-column .section-heading{margin-bottom:18px}
.media-grid{display:grid;gap:16px}
.film-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.glass-card{
  background:rgba(251,246,240,.7);
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 20px 35px rgba(19,18,26,.18);
  backdrop-filter:blur(12px);
}
.media-card.is-feature{grid-column:span 2}
.media-card.is-feature .media-poster{height:320px}
.media-card{background:var(--paper-2);border-radius:18px;padding:20px;border:1px solid rgba(23,19,16,.08);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.media-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:700}
.media-card p{color:var(--gray-600)}
.media-poster{width:100%;height:220px;object-fit:cover;border-radius:14px;box-shadow:0 10px 24px rgba(19,18,26,.18)}
.media-link{align-self:flex-start;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-3));color:#fff;font-weight:600;border:none;cursor:pointer;text-decoration:none}
.spotify-embed{width:100%;height:152px;border-radius:12px;border:0;filter:drop-shadow(0 10px 18px rgba(20,19,18,.12))}

@media (max-width:900px){
  .media-card.is-feature{grid-column:span 1}
  .media-card.is-feature .media-poster{height:240px}
}

/* Multi-page override */
.page-section{display:block}
.page-section.active{display:block}

/* Contact socials */
.contact-social-handles{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;color:var(--gray-600);font-size:.85rem}
.contact-social-handles span{background:rgba(23,19,16,.06);padding:6px 10px;border-radius:999px}

