/* NOIRÉ Magazine • 40-page editorial reader. No dependency on the legacy slider. */
.n-mag{--nm-gold:#d3ad6e;--nm-paper:#f7f0e5;--nm-night:#11100f;isolation:isolate;background:#100e0d;color:#f7f1e9;min-width:0}
.n-mag *{box-sizing:border-box}
.n-mag button,.n-mag select,.n-mag input,.n-mag summary{font:inherit}
.n-mag button,.n-mag a{touch-action:manipulation}
.n-mag button:focus-visible,.n-mag a:focus-visible,.n-mag input:focus-visible,.n-mag summary:focus-visible{outline:2px solid #f8c77a;outline-offset:3px}
.n-mag__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:clamp(22px,3.5vw,46px) clamp(20px,4vw,75px) 24px;background:linear-gradient(112deg,#0e0c0b,#251b15 60%,#100e0d);border-bottom:1px solid #6a4d31}
.n-mag__intro h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2.6rem,4.5vw,5.5rem);line-height:.93;letter-spacing:-.04em;margin:8px 0 12px}
.n-mag__intro h1 em{font-weight:500;color:var(--nm-gold)}
.n-mag__intro p{max-width:620px;margin:0;color:#cabbac;font-size:clamp(11px,1vw,14px);line-height:1.5}
.n-mag__eyebrow{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.24em;font-weight:700;color:var(--nm-gold)}
.n-mag__intro-right{display:flex;align-items:end;gap:20px;flex-wrap:wrap}
.n-mag__selector{display:grid;gap:7px;font:700 10px 'DM Sans',sans-serif;letter-spacing:.1em;color:var(--nm-gold)}
.n-mag__selector select{width:min(320px,100%);height:40px;padding:8px 14px;border:1px solid #987553;background:#191512;color:#fcf3e5;min-width:210px}
.n-mag__line-link{color:var(--nm-gold);font:700 11px 'DM Sans',sans-serif;letter-spacing:.08em;text-decoration:none;padding:10px 0}
.n-mag__shell{width:min(1560px,calc(100% - 36px));min-height:calc(100dvh - 160px);margin:14px auto 34px;border:1px solid #99713f;background:radial-gradient(ellipse at 50% 20%,#413025,#151210 70%);box-shadow:0 26px 95px #000a;display:flex;flex-direction:column;overflow:hidden;outline:none}
.n-mag__topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:45px;padding:6px 18px;border-bottom:1px solid #614b35;color:#d6c8b3;font:700 10px 'DM Sans',sans-serif;letter-spacing:.14em}
.n-mag__glint{color:var(--nm-gold);font-size:15px}
.n-mag__tools{display:flex;gap:7px}
.n-mag__tools button,.n-mag__controls button,.n-mag__edge,.n-mag__reader-nav button,.n-mag__reader-tools button{border:1px solid #a7875d;color:#ead8c1;background:#1e1915;border-radius:3px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.n-mag__tools button{padding:9px 11px;font:700 10px 'DM Sans',sans-serif;letter-spacing:.05em}
.n-mag__tools button:hover,.n-mag__controls button:hover,.n-mag__reader-nav button:hover{background:var(--nm-gold);color:#18100b}
.n-mag__viewer{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:min(620px,calc(100dvh - 225px));padding:13px clamp(24px,4.5vw,58px);overflow:hidden;perspective:1700px}
.n-mag__viewer::before{position:absolute;content:'';width:82%;bottom:12px;height:15px;border-radius:100%;background:#000b;filter:blur(15px)}
.n-mag__spread{position:relative;display:flex;justify-content:center;align-items:stretch;aspect-ratio:1.41421356;width:min(100%,calc((100dvh - 230px)*1.4142));max-height:calc(100dvh - 230px);min-height:0;filter:drop-shadow(0 13px 20px #0008);z-index:2}
.n-mag__paper{position:relative;overflow:hidden;flex:1 1 50%;min-width:0;aspect-ratio:0.70710678;background:var(--nm-paper);color:#261a15;container-type:inline-size;box-shadow:inset 0 0 24px #9b806333, 0 1px 1px #0003;border:1px solid #c3b3a4;display:flex;flex-direction:column}
.n-mag__paper:first-child{border-right:1px solid #8b7d6a;transform-origin:right center}
.n-mag__paper:last-child{border-left:1px solid #fdf8eb;transform-origin:left center}
.n-mag__paper::after{content:'';position:absolute;top:0;bottom:0;right:0;width:3%;background:linear-gradient(90deg,transparent,#6b59452d);pointer-events:none}
.n-mag__paper:last-child::after{left:0;right:auto;background:linear-gradient(90deg,#6b59452b,transparent)}
.n-mag__paper__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.8)}
.n-mag__paper__shade{position:absolute;inset:0;background:linear-gradient(0deg,#0d0909ef 0%,#0d0909d0 28%,transparent 83%);pointer-events:none}
.n-mag__paper__text{position:relative;display:flex;flex-direction:column;justify-content:end;flex:1;min-height:0;padding:10cqw 8cqw 6.5cqw;color:#fff;overflow:hidden}
.n-mag__paper__kicker{display:block;font:700 clamp(8px,2.55cqw,13px)/1.4 'DM Sans',sans-serif;letter-spacing:.18em;color:var(--nm-gold);text-transform:uppercase}
.n-mag__paper__title{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(18px,11cqw,78px);font-weight:500;line-height:.87;margin:5cqw 0 4cqw;text-wrap:balance;overflow-wrap:break-word;max-height:60%;overflow:hidden}
.n-mag__paper__intro{font:400 clamp(10px,3.1cqw,17px)/1.5 'DM Sans',sans-serif;color:#ece2d5;max-width:48ch;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.n-mag__paper__cta{align-self:flex-start;max-width:100%;margin-top:5cqw;padding:3.5cqw 4.2cqw;font:800 clamp(9px,2.8cqw,13px)/1.2 'DM Sans',sans-serif;color:#19120d;text-align:center;letter-spacing:.03em;background:linear-gradient(100deg,#f8e3af,var(--nm-gold) 65%,#b28c50);border-radius:3px;box-shadow:0 2px 8px #0a080640;text-decoration:none;overflow-wrap:anywhere}
.n-mag__paper__cta:hover{filter:brightness(1.12)}
.n-mag__paper__folio{position:absolute;z-index:3;left:8cqw;bottom:2.5cqw;color:#fff9;font:700 clamp(8px,2.4cqw,12px) 'DM Sans',sans-serif;letter-spacing:.13em}
.n-mag__paper--light .n-mag__paper__shade{background:linear-gradient(0deg,#f8f1e2f8,#f8f1e2de 42%,transparent 78%)}
.n-mag__paper--light .n-mag__paper__text{color:#231a16}.n-mag__paper--light .n-mag__paper__intro{color:#4c4138}.n-mag__paper--light .n-mag__paper__folio{color:#453024aa}
.n-mag__paper--product .n-mag__paper__image{object-fit:contain;inset:3% 5% 38%;width:90%;height:59%;filter:none}
.n-mag__paper--product{background:linear-gradient(125deg,#f5e8d9,#e3d1b8)}
.n-mag__paper--product .n-mag__paper__shade{background:linear-gradient(0deg,#eedfc8 0%,#eedfc8 24%,transparent 65%)}
.n-mag__paper--product .n-mag__paper__text{color:#201712}
.n-mag__paper--product .n-mag__paper__intro{color:#4a3b32}
.n-mag__paper--product .n-mag__paper__folio{color:#675443}
.n-mag__paper--product .n-mag__paper__cta{background:linear-gradient(100deg,#231815,#5e4129);color:#ffe8c3}
.n-mag__paper--blank{justify-content:center;align-items:center;background:#f1e9de;color:#d5c8b9;font-family:'Cormorant Garamond',serif;font-size:clamp(24px,6cqw,60px);text-align:center}
.n-mag__paper--blank span{font-size:clamp(8px,2cqw,12px);letter-spacing:.3em;color:#a79785}
.n-mag__paper--file img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.n-mag__paper--file .n-mag__paper__source-chip{position:absolute;top:2%;left:3%;padding:4px 7px;background:#15120abf;color:#fff;font-size:9px;letter-spacing:.06em}
.n-mag__paper--file .n-mag__paper__cta{position:absolute;z-index:4;bottom:4%;right:5%;max-width:70%;margin:0;padding:9px 12px;box-shadow:0 6px 18px #0009}
.n-mag__edge{position:absolute;top:50%;z-index:6;transform:translateY(-50%);width:40px;height:62px;font-size:23px}.n-mag__edge--prev{left:9px}.n-mag__edge--next{right:9px}.n-mag__edge:disabled{opacity:.22;cursor:not-allowed}
.n-mag__flip-layer{position:absolute;inset:13px clamp(24px,4.5vw,58px);z-index:5;pointer-events:none;display:flex;justify-content:center;align-items:center;perspective:2000px}
.n-mag__flip-leaf{position:absolute;width:37%;height:90%;transform-style:preserve-3d;transform-origin:left center;border:1px solid #cdb79b;box-shadow:0 8px 50px #0008;background:#f0e5d3;overflow:hidden;left:50%;top:5%}
.n-mag__flip-leaf img{width:100%;height:100%;object-fit:cover}
.n-mag__flip-leaf--forward{animation:nm-flip-next .65s cubic-bezier(.35,.05,.7,1) both}
.n-mag__flip-leaf--backward{transform-origin:right center;left:auto;right:50%;animation:nm-flip-prev .65s cubic-bezier(.35,.05,.7,1) both}
@keyframes nm-flip-next{0%{transform:rotateY(0deg);filter:brightness(1)}50%{filter:brightness(.54)}100%{transform:rotateY(-180deg);filter:brightness(.9)}}
@keyframes nm-flip-prev{0%{transform:rotateY(0);filter:brightness(.92)}50%{filter:brightness(.6)}100%{transform:rotateY(180deg);filter:brightness(1)}}
.n-mag__controls{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:61px;padding:11px 20px;border-top:1px solid #775b3b;background:#16120f}
.n-mag__controls button{font:800 11px 'DM Sans',sans-serif;letter-spacing:.07em;padding:10px 14px;min-height:38px}
.n-mag__controls button:disabled{opacity:.28;cursor:not-allowed}
.n-mag__range{display:grid;gap:3px;flex:1;max-width:420px;text-align:center;color:#f4d1a0;font:700 10px 'DM Sans',sans-serif;letter-spacing:.1em}
.n-mag__range input{width:100%;accent-color:var(--nm-gold);cursor:pointer;margin:4px 0}
.n-mag__hint{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 17px;color:#baaa95;font:500 10px/1.3 'DM Sans',sans-serif;border-top:1px solid #4a3929}
.n-mag__orientation{color:#d6ae73}
.n-mag__shell:fullscreen{width:100vw;height:100dvh;min-height:0;margin:0;border:0}.n-mag__shell:fullscreen .n-mag__viewer{min-height:0}
.n-mag__shell:fullscreen .n-mag__spread{width:min(100%,calc((100dvh - 145px)*1.414));max-height:calc(100dvh - 145px)}
.n-mag__below{width:min(1430px,calc(100% - 36px));margin:0 auto;padding:0 0 54px}
.n-mag__settings,.n-mag__data{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:34px 0;border-bottom:1px solid #634a32}
.n-mag__settings h2,.n-mag__data h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3.75rem);font-weight:500;margin:7px 0}
.n-mag__settings p,.n-mag__data p{font-size:13px;line-height:1.6;color:#c9bcac;max-width:660px;margin:0}
.n-mag__swatches{display:flex;gap:10px;flex-wrap:wrap;max-width:340px}
.n-mag__swatches button{width:38px;height:38px;border:2px solid transparent;border-radius:50%;background:var(--n-chip);cursor:pointer}
.n-mag__swatches button[aria-pressed=true]{outline:2px solid var(--nm-gold);outline-offset:3px}
.n-mag__data-links{display:flex;gap:12px;flex-wrap:wrap}.n-mag__data-links a{padding:13px;border:1px solid var(--nm-gold);color:var(--nm-gold);text-decoration:none;font:700 11px 'DM Sans',sans-serif;white-space:nowrap}
.n-mag__data-links a:hover{background:var(--nm-gold);color:#1b140e}
.n-mag__import{margin-top:30px;border:1px solid #6e5638;background:#1d1713}
.n-mag__import>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;padding:24px;list-style:none}.n-mag__import>summary::-webkit-details-marker{display:none}
.n-mag__import>summary span:first-child{display:grid;gap:6px}.n-mag__import strong{font:700 13px 'DM Sans',sans-serif;letter-spacing:.12em;color:#edd2a8}.n-mag__import small{font:400 12px 'DM Sans',sans-serif;color:#b9a991}
.n-mag__import-body{padding:20px 24px 30px;border-top:1px solid #5f4730}.n-mag__import-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:28px}
.n-mag__upload{border:1px dashed #ae865a;padding:25px;background:#282018}.n-mag__upload label{display:block;font:700 12px 'DM Sans',sans-serif;letter-spacing:.08em;color:#f6d8aa;margin-bottom:12px}
.n-mag__upload input[type=file]{width:100%;color:#faf1e8;line-height:1.5;font-size:12px}.n-mag__upload input[type=file]::file-selector-button{border:0;background:var(--nm-gold);color:#15120e;padding:10px 15px;cursor:pointer;margin-right:12px}
.n-mag__upload p,.n-mag__cms-guide p,.n-mag__cms-guide li{font:400 12px/1.7 'DM Sans',sans-serif;color:#cec0b0}
.n-mag__upload button{display:block;margin-top:12px;padding:11px 14px;border:1px solid var(--nm-gold);background:#15120f;color:#f4ddba;cursor:pointer;font-size:11px}
.n-mag__upload button:disabled{opacity:.35;cursor:not-allowed}.n-mag__cms-guide h3{font-family:'Cormorant Garamond',serif;font-size:32px;margin:0 0 15px}.n-mag__cms-guide ol{padding-left:19px}.n-mag__cms-guide li{margin-bottom:10px}.n-mag__cms-guide code{font-size:11px;color:#f8d9a3}
.n-mag__reader{border:1px solid var(--nm-gold);background:#f5eee4;color:#1c1511;box-shadow:0 20px 90px #000c;width:min(780px,calc(100% - 30px));max-height:94dvh;padding:0}.n-mag__reader::backdrop{background:#070504eb;backdrop-filter:blur(5px)}
.n-mag__reader-tools{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:13px;background:#18120f;color:#fff;z-index:5}.n-mag__reader-tools button{padding:8px 12px}
#nm-reader-body{padding:clamp(18px,4vw,44px);font-size:clamp(16px,2vw,20px);line-height:1.65;overflow-wrap:break-word}
#nm-reader-body img{width:100%;height:auto;max-height:65dvh;object-fit:contain;margin:0 auto 18px;display:block}
#nm-reader-body h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5rem);line-height:1.04;margin:15px 0}
#nm-reader-body a{display:inline-block;margin-top:17px;color:#26190f;background:#dcb87d;padding:11px 20px;font-weight:700;text-decoration:none;font-size:13px}
.n-mag__reader-nav{display:flex;justify-content:space-between;background:#18120f;padding:11px 20px}.n-mag__reader-nav button{padding:11px}
.n-mag__loading{display:grid;place-items:center;width:100%;height:100%;color:#dfc29e;font-size:16px;padding:20px;text-align:center}
@media(max-width:900px){.n-mag__intro{align-items:start}.n-mag__intro-right{align-items:start}.n-mag__shell{min-height:calc(100dvh - 120px)}.n-mag__spread{width:min(100%,calc((100dvh - 250px)*.7071));max-height:calc(100dvh - 250px);aspect-ratio:.70710678}.n-mag__paper{flex:0 0 100%}.n-mag__paper:not(:first-child){display:none}.n-mag__paper__title{font-size:clamp(23px,10cqw,65px)}.n-mag__paper__intro{font-size:clamp(11px,3.1cqw,17px)}.n-mag__flip-leaf{width:58%;height:80%;left:21%;top:10%}.n-mag__flip-leaf--backward{right:21%}.n-mag__settings,.n-mag__data{align-items:start;flex-direction:column}.n-mag__import-grid{grid-template-columns:1fr}}
@media(max-width:620px){.n-mag__intro{display:block;padding:24px 14px 15px}.n-mag__intro h1{font-size:clamp(2.15rem,8vw,3.4rem)}.n-mag__intro-right{margin-top:14px;gap:10px}.n-mag__shell{width:calc(100% - 12px);margin:7px auto 20px;min-height:calc(100dvh - 190px)}.n-mag__topbar{padding:5px 8px;min-height:40px;font-size:8px;letter-spacing:.07em}.n-mag__tools button{padding:8px;font-size:8px}.n-mag__viewer{min-height:min(540px,calc(100dvh - 200px));padding:10px 13px}.n-mag__spread{width:min(calc(100% - 36px),calc((100dvh - 240px)*.7071));max-height:calc(100dvh - 240px)}.n-mag__edge{width:25px;height:45px;font-size:16px;background:#211913ab}.n-mag__edge--prev{left:0}.n-mag__edge--next{right:0}.n-mag__controls{gap:5px;padding:9px 5px;min-height:60px}.n-mag__controls button{padding:7px 8px;font-size:9px;min-height:35px}.n-mag__controls #nm-first,.n-mag__controls #nm-last{display:none}.n-mag__range{max-width:145px;font-size:9px}.n-mag__hint{font-size:9px;padding:8px}.n-mag__orientation{max-width:42%;line-height:1.3}.n-mag__below{width:calc(100% - 20px)}.n-mag__settings,.n-mag__data{padding:25px 0}.n-mag__upload,.n-mag__import-body{padding:14px}.n-mag__paper__intro{font-size:clamp(10px,3.5cqw,14px)}.n-mag__paper__cta{font-size:clamp(9px,3cqw,12px)} }
@media(orientation:landscape) and (max-height:660px) and (max-width:1000px){.n-mag__intro{padding:10px 20px}.n-mag__intro h1{font-size:2rem}.n-mag__intro p{display:none}.n-mag__shell{min-height:calc(100dvh - 18px);margin:5px auto}.n-mag__viewer{min-height:0;height:calc(100dvh - 125px);padding:4px 20px}.n-mag__spread{width:min(100%,calc((100dvh - 135px)*1.4142));max-height:calc(100dvh - 135px);aspect-ratio:1.41421356}.n-mag__paper{flex:1 1 50%}.n-mag__paper:not(:first-child){display:flex}.n-mag__topbar{min-height:35px}.n-mag__controls{min-height:50px;padding:5px 8px}.n-mag__hint{padding:3px 8px}.n-mag__flip-leaf{width:36%;height:82%;left:50%;top:9%}.n-mag__flip-leaf--backward{right:50%;left:auto}.n-mag__paper__title{font-size:clamp(15px,10cqw,52px)}.n-mag__paper__intro{font-size:clamp(9px,3.1cqw,14px)}}
@media(prefers-reduced-motion:reduce){.n-mag__flip-leaf,.n-mag__paper,.n-mag button{animation:none!important;transition:none!important}}
