
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,600;0,6..72,700;1,6..72,300;1,6..72,400;1,6..72,600&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
:root{
  --le-paper:#F5F2EC; --le-paper2:#FFFEFB; --le-tint:#E8E3D8; --le-charcoal:#2A2520;
  --le-charcoal2:#1A1510; --le-red:#B02020; --le-red2:#8A1010; --le-muted:#9A8A7A;
  --le-rule:#C8C0B0; --le-card:#FFFFFF;
  --le-serif:'Newsreader',Georgia,serif;
  --le-sans:'Inter',system-ui,sans-serif;
  --le-mono:'JetBrains Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--le-paper);color:var(--le-charcoal);font-family:var(--le-sans);font-size:15px;line-height:1.7;overflow-x:hidden}

/* AGE GATE */
.le-gate{position:fixed;inset:0;z-index:9999;background:var(--le-charcoal);display:flex;align-items:center;justify-content:center;padding:24px}
.le-gate-box{background:var(--le-paper);border:1px solid var(--le-rule);max-width:400px;width:100%;padding:40px;position:relative}
.le-gate-box::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--le-red)}
.le-gate-label{font-family:var(--le-mono);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--le-red);margin-bottom:16px}
.le-gate-box h2{font-family:var(--le-serif);font-size:28px;font-weight:600;color:var(--le-charcoal);margin-bottom:10px;line-height:1.2;text-shadow:1px 1px 0 rgba(42,37,32,.08)}
.le-gate-box p{font-size:14px;font-weight:300;color:var(--le-muted);margin-bottom:20px;line-height:1.65}
.le-gate-check{display:flex;align-items:flex-start;gap:9px;margin-bottom:20px;font-size:14px}
.le-gate-check input{margin-top:3px;width:14px;height:14px;accent-color:var(--le-red);flex-shrink:0}
.le-btn{background:var(--le-charcoal);color:var(--le-paper);border:none;padding:12px 24px;font-family:var(--le-sans);font-size:14px;font-weight:600;cursor:pointer;width:100%;margin-bottom:8px;transition:background .2s;letter-spacing:.3px}
.le-btn:hover{background:var(--le-red)}
.le-btn-sec{background:transparent;color:var(--le-muted);border:1px solid var(--le-rule);padding:10px 24px;font-size:13px;cursor:pointer;width:100%}

/* COOKIE */
.le-cookie{position:fixed;bottom:0;left:0;right:0;z-index:8888;background:var(--le-charcoal2);color:rgba(245,242,236,.5);padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--le-mono);font-size:12px}
.le-cookie a{color:var(--le-red)}
.le-cookie-btn{background:var(--le-red);color:#fff;border:none;padding:6px 16px;font-size:12px;font-weight:600;cursor:pointer}

/* HEADER */
.le-header{background:var(--le-paper);border-bottom:2px solid var(--le-charcoal);position:sticky;top:0;z-index:100}
.le-red-stripe{background:var(--le-red);height:3px}
.le-hinner{max-width:1200px;margin:0 auto;padding:0 32px;height:56px;display:flex;align-items:center;justify-content:space-between}
.le-logo{font-family:var(--le-serif);font-size:22px;font-weight:600;color:var(--le-charcoal);text-decoration:none;letter-spacing:.5px;text-shadow:1px 1px 0 rgba(42,37,32,.1)}
.le-logo em{color:var(--le-red);font-style:italic}
.le-nav{display:flex;align-items:center;gap:18px}
.le-nav a{font-family:var(--le-sans);font-size:12px;font-weight:500;letter-spacing:.5px;color:var(--le-muted);text-decoration:none;transition:color .2s}
.le-nav a:hover{color:var(--le-red)}
.le-pill{border:1px solid var(--le-charcoal);color:var(--le-charcoal);font-family:var(--le-mono);font-size:10px;padding:2px 7px;letter-spacing:1px}
.le-drop{position:relative}
.le-drop-btn{font-family:var(--le-sans);font-size:12px;font-weight:500;letter-spacing:.5px;color:var(--le-muted);background:none;border:none;cursor:pointer}
.le-drop-btn:hover{color:var(--le-red)}
.le-drop-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--le-paper2);border:1px solid var(--le-charcoal);min-width:200px;z-index:200;box-shadow:3px 3px 0 var(--le-charcoal);overflow:hidden}
.le-drop-menu a{display:block;padding:10px 18px;font-family:var(--le-serif);font-size:15px;font-style:italic;color:var(--le-charcoal);text-decoration:none;border-bottom:1px solid var(--le-rule)}
.le-drop-menu a:last-child{border-bottom:none}
.le-drop-menu a:hover{background:var(--le-charcoal);color:var(--le-paper)}
.le-drop:hover .le-drop-menu,.le-drop.open .le-drop-menu{display:block}
.le-burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:4px;padding:4px}
.le-burger span{display:block;width:20px;height:2px;background:var(--le-charcoal)}
.le-mmenu{display:none;background:var(--le-paper);border-top:1px solid var(--le-rule);padding:16px 32px;flex-direction:column}
.le-mmenu.open{display:flex}
.le-mmenu a{font-family:var(--le-sans);font-size:13px;font-weight:500;color:var(--le-muted);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--le-rule)}
.le-mmenu a:hover{color:var(--le-red)}

/* DATESTAMP BAR */
.le-date-bar{background:var(--le-charcoal);padding:5px 0}
.le-date-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;font-family:var(--le-mono);font-size:10px;color:rgba(245,242,236,.4);letter-spacing:2px}
.le-date-inner a{color:rgba(176,32,32,.7);text-decoration:none}

/* HERO — dense editorial typesetting */
.le-hero{background:var(--le-paper);border-bottom:2px solid var(--le-charcoal);padding:52px 32px 44px}
.le-hero-inner{max-width:1200px;margin:0 auto}
.le-hero-flag{display:inline-block;background:var(--le-red);color:#fff;font-family:var(--le-mono);font-size:9px;font-weight:500;letter-spacing:4px;text-transform:uppercase;padding:3px 10px;margin-bottom:14px}
.le-hero h1{font-family:var(--le-serif);font-size:clamp(28px,4vw,58px);font-weight:600;color:var(--le-charcoal);line-height:1.1;margin-bottom:18px;letter-spacing:-.5px;text-shadow:2px 2px 0 rgba(42,37,32,.06)}
.le-hero h1 em{color:var(--le-red);font-style:italic}
.le-hero-rule{height:1px;background:var(--le-charcoal);margin-bottom:18px;position:relative}
.le-hero-rule::after{content:'';position:absolute;left:0;top:-2px;width:48px;height:5px;background:var(--le-red)}
.le-hero-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:start}
.le-hero-col p{font-family:var(--le-serif);font-size:15px;font-style:italic;color:var(--le-muted);line-height:1.75}
.le-hero-col-data{background:var(--le-tint);border-left:3px solid var(--le-charcoal);padding:14px 18px}
.le-col-data-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--le-rule)}
.le-col-data-row:last-child{border-bottom:none}
.le-col-data-k{font-family:var(--le-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--le-muted)}
.le-col-data-v{font-family:var(--le-mono);font-size:12px;font-weight:500;color:var(--le-red)}

/* MAIN */
.le-main{max-width:1200px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 250px;gap:52px}
.le-content{padding-top:36px}
.le-sidebar{padding-top:36px}

/* SECTION */
.le-sec-flag{display:inline-block;background:var(--le-charcoal);color:var(--le-paper);font-family:var(--le-mono);font-size:9px;letter-spacing:3px;text-transform:uppercase;padding:3px 9px;margin-bottom:8px}
.le-sec-title{font-family:var(--le-serif);font-size:26px;font-weight:600;color:var(--le-charcoal);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--le-charcoal);text-shadow:1px 1px 0 rgba(42,37,32,.07)}

/* CARDS — ruled notebook */
.le-cards{display:flex;flex-direction:column;gap:0;margin-bottom:32px}
.le-card{background:var(--le-paper2);padding:16px 0;border-bottom:1px solid var(--le-rule);border-left:3px solid transparent;padding-left:12px;transition:border-left-color .2s,background .15s}
.le-card:first-child{border-top:1px solid var(--le-rule)}
.le-card:hover{border-left-color:var(--le-red);background:var(--le-tint)}
.le-card-inner{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center}
.le-card-logo{width:80px;height:46px;background:#2D2D2D;border:1px solid var(--le-rule);display:flex;align-items:center;justify-content:center;padding:5px;box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.le-card-logo img{object-fit:contain;width:100%;height:100%}
.le-card-flag{display:inline-block;font-family:var(--le-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--le-red);margin-bottom:3px}
.le-card-name{font-family:var(--le-serif);font-size:19px;font-weight:600;color:var(--le-charcoal);margin-bottom:4px;line-height:1.2;text-shadow:1px 1px 0 rgba(42,37,32,.06)}
.le-card-lede{font-family:var(--le-serif);font-size:14px;font-style:italic;color:var(--le-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.le-card-meta{font-family:var(--le-mono);font-size:10px;color:var(--le-muted);margin-top:5px}
.le-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.le-tag{font-family:var(--le-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;background:var(--le-tint);color:var(--le-charcoal);padding:2px 6px;border:1px solid var(--le-rule)}
.le-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.le-btn-cta{background:var(--le-charcoal);color:var(--le-paper);border:none;padding:9px 16px;font-family:var(--le-sans);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;letter-spacing:.3px}
.le-btn-cta:hover{background:var(--le-red)}
.le-review-a{font-family:var(--le-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--le-charcoal);text-decoration:none;opacity:.5}
.le-review-a:hover{opacity:1;color:var(--le-red)}

/* LETTERPRESS DIVIDER */
.le-div{display:flex;align-items:center;gap:14px;margin:32px 0}
.le-div-left{display:flex;flex-direction:column;gap:2px}
.le-div-bar{height:2px;background:var(--le-charcoal);width:44px}
.le-div-dash{height:2px;background:var(--le-red);width:20px}
.le-div span{font-family:var(--le-mono);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--le-muted);white-space:nowrap}
.le-div-rule{flex:1;height:1px;background:var(--le-rule)}

/* TEXT */
.le-text p{margin-bottom:13px;font-family:var(--le-serif);font-size:15px;line-height:1.8;color:rgba(42,37,32,.78)}
.le-text h3{font-family:var(--le-serif);font-size:19px;font-weight:600;color:var(--le-red);margin:20px 0 9px;text-shadow:1px 1px 0 rgba(42,37,32,.07)}
.le-text a{color:var(--le-red)}
.le-pull{border-top:2px solid var(--le-charcoal);border-bottom:1px solid var(--le-rule);padding:14px 0;margin:20px 0;font-family:var(--le-serif);font-size:19px;font-style:italic;font-weight:400;line-height:1.5;color:var(--le-charcoal)}

/* THREE */
.le-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}
.le-tile{background:var(--le-paper2);border:1px solid var(--le-rule);padding:18px;border-top:3px solid var(--le-charcoal)}
.le-tile:nth-child(1){border-top-color:var(--le-red)}
.le-tile-flag{font-family:var(--le-mono);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--le-muted);margin-bottom:7px}
.le-tile-label{font-family:var(--le-serif);font-size:15px;font-weight:600;color:var(--le-charcoal);margin-bottom:7px;text-shadow:1px 1px 0 rgba(42,37,32,.07)}
.le-tile p{font-family:var(--le-serif);font-size:13px;font-style:italic;color:var(--le-muted);line-height:1.55}

/* TABLE */
.le-table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0 28px}
.le-table th{background:var(--le-charcoal);color:var(--le-paper);padding:9px 14px;text-align:left;font-family:var(--le-mono);font-size:9px;letter-spacing:3px;font-weight:400;text-transform:uppercase}
.le-table td{padding:10px 14px;border-bottom:1px solid var(--le-rule);font-family:var(--le-serif);font-size:14px}
.le-table tr:nth-child(even) td{background:var(--le-tint)}
.le-table tr:hover td{background:#EDE0D0}
.le-ok{color:var(--le-red);font-weight:600;font-family:var(--le-mono)}

/* LICENCE + NOTICE + AGE */
.le-lic{background:var(--le-paper2);border:1px solid var(--le-rule);border-left:3px solid var(--le-red);padding:16px 20px;margin:12px 0}
.le-lic h3{font-family:var(--le-mono);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--le-red);margin-bottom:11px}
.le-lic-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--le-rule);font-family:var(--le-serif);font-size:14px}
.le-lic-row:last-child{border-bottom:none}
.le-lic-lbl{font-family:var(--le-mono);font-size:10px;color:var(--le-muted);letter-spacing:1px;text-transform:uppercase}
.le-lic-val{font-style:italic}
.le-lic-val a{color:var(--le-red)}
.le-notice{background:var(--le-tint);border:1px solid var(--le-rule);border-left:3px solid var(--le-charcoal);padding:10px 16px;margin:10px 0;font-family:var(--le-serif);font-size:14px;font-style:italic;color:var(--le-muted);line-height:1.6}
.le-notice a{color:var(--le-red);font-weight:600}
.le-age-bar{background:var(--le-charcoal2);color:rgba(245,242,236,.45);padding:9px 14px;margin:11px 0;font-family:var(--le-mono);font-size:11px;line-height:1.65}
.le-age-bar strong{color:var(--le-paper)}

/* MODAL */
.le-modal{position:fixed;inset:0;z-index:9000;background:rgba(42,37,32,.93);display:none;align-items:center;justify-content:center;padding:24px}
.le-modal.open{display:flex}
.le-modal-box{background:var(--le-paper);border-top:4px solid var(--le-red);max-width:440px;width:100%;padding:36px}
.le-modal-flag{font-family:var(--le-mono);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--le-red);margin-bottom:14px}
.le-modal-box h3{font-family:var(--le-serif);font-size:24px;font-weight:600;color:var(--le-charcoal);margin-bottom:12px;text-shadow:1px 1px 0 rgba(42,37,32,.08)}
.le-modal-box p{font-family:var(--le-serif);font-size:14px;font-style:italic;color:var(--le-muted);margin-bottom:22px;line-height:1.65}
.le-modal-acts{display:flex;flex-direction:column;gap:9px}

/* FAQ */
.le-faq-item{border-bottom:1px solid var(--le-rule)}
.le-faq-q{width:100%;background:none;border:none;text-align:left;padding:12px 0;cursor:pointer;font-family:var(--le-serif);font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;color:var(--le-charcoal);text-shadow:1px 1px 0 rgba(42,37,32,.06)}
.le-faq-q::after{content:'+';font-family:var(--le-mono);font-size:18px;color:var(--le-red)}
.le-faq-item.open .le-faq-q::after{content:'-'}
.le-faq-a{display:none;padding:0 0 12px;font-family:var(--le-serif);font-size:14px;font-style:italic;color:var(--le-muted);line-height:1.75}
.le-faq-item.open .le-faq-a{display:block}

/* SIDEBAR */
.le-s-card{background:var(--le-paper2);border:1px solid var(--le-rule);padding:14px;margin-bottom:13px}
.le-s-card h3{font-family:var(--le-mono);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--le-charcoal);margin-bottom:10px;padding-bottom:7px;border-bottom:2px solid var(--le-charcoal)}
.le-s-list{list-style:none}
.le-s-list li{padding:6px 0;border-bottom:1px solid var(--le-rule);font-family:var(--le-serif);font-size:15px;font-style:italic}
.le-s-list li:last-child{border-bottom:none}
.le-s-list a{color:var(--le-charcoal);text-decoration:none}
.le-s-list a:hover{color:var(--le-red)}
.le-helpline{background:var(--le-red);color:#fff;padding:16px;text-align:center}
.le-helpline h3{font-family:var(--le-mono);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:7px}
.le-helpline-num{font-family:var(--le-mono);font-size:18px;font-weight:600}
.le-helpline p{font-family:var(--le-serif);font-size:12px;font-style:italic;color:rgba(255,255,255,.65);margin-top:3px}

/* FOOTER */
.le-footer{background:var(--le-charcoal2);color:#fff;margin-top:64px}
.le-footer-red{background:var(--le-red);height:3px}
.le-footer-inner{max-width:1200px;margin:0 auto;padding:40px 32px 24px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:28px}
.le-footer h4{font-family:var(--le-mono);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--le-red);margin-bottom:14px}
.le-footer a{font-family:var(--le-serif);font-style:italic;color:rgba(255,255,255,.4);text-decoration:none;font-size:14px;display:block;margin-bottom:8px}
.le-footer a:hover{color:var(--le-red)}
.le-footer-wm{font-family:var(--le-serif);font-size:24px;font-weight:600;color:#fff;margin-bottom:8px;text-shadow:1px 1px 0 rgba(0,0,0,.3)}
.le-footer-bottom{max-width:1200px;margin:0 auto;padding:0 32px 24px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-family:var(--le-serif);font-style:italic;font-size:13px;color:rgba(255,255,255,.28);line-height:1.8}
.le-footer-bottom a{color:rgba(176,32,32,.4);display:inline}

/* STATIC */
.le-static{max-width:740px;margin:0 auto;padding:52px 32px}
.le-static h1{font-family:var(--le-serif);font-size:42px;font-weight:600;color:var(--le-charcoal);margin-bottom:10px;text-shadow:2px 2px 0 rgba(42,37,32,.07)}
.le-static h2{font-family:var(--le-serif);font-size:21px;font-weight:600;color:var(--le-red);margin:24px 0 9px}
.le-static p{font-family:var(--le-serif);margin-bottom:13px;line-height:1.8;color:rgba(42,37,32,.78)}
.le-static ul{padding-left:18px;margin-bottom:13px}
.le-static li{font-family:var(--le-serif);font-style:italic;margin-bottom:7px;line-height:1.7}
.le-static a{color:var(--le-red)}
.le-bc{max-width:1200px;margin:0 auto;padding:12px 32px 0;font-family:var(--le-mono);font-size:11px;letter-spacing:1px;color:var(--le-muted)}
.le-bc a{color:var(--le-red);text-decoration:none}
.le-err{max-width:480px;margin:80px auto;padding:0 32px;text-align:center}
.le-err-code{font-family:var(--le-serif);font-size:100px;font-weight:600;color:var(--le-tint);line-height:1;margin-bottom:14px;text-shadow:3px 3px 0 rgba(42,37,32,.1)}
.le-err h2{font-family:var(--le-serif);font-size:26px;font-weight:600;color:var(--le-red);margin-bottom:12px}
.le-err p{font-family:var(--le-serif);font-style:italic;color:var(--le-muted);margin-bottom:20px}

@media(max-width:900px){
  .le-hero-cols{grid-template-columns:1fr}
  .le-main{grid-template-columns:1fr}
  .le-footer-inner{grid-template-columns:1fr;gap:28px}
  .le-three{grid-template-columns:1fr}
  .le-card-inner{grid-template-columns:66px 1fr}
  .le-card-actions{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px}
}
@media(max-width:640px){
  .le-nav{display:none}.le-burger{display:flex}
  .le-hero{padding:36px 24px 28px}.le-main{padding:0 24px}
  .le-card-inner{grid-template-columns:1fr}.le-card-logo{width:100%;height:36px}
}
