@font-face{font-family:Cinzel;src:url(north-cinzel-400.woff2)}@font-face{font-family:Inter;src:url(north-inter-400.woff2)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#29101a;color:#f1dfbc}body{font:15px/1.65 Inter,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,main:focus-visible{outline:3px solid #f8d08c;outline-offset:5px}.skip{position:fixed;top:-80px;z-index:20;background:#fff;color:#28111a;padding:12px}.skip:focus{top:0}header{position:fixed;inset:0 0 auto;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;background:linear-gradient(#210d18f2,#210d1890);border-bottom:1px solid #cba96b60;z-index:5;font-size:10px;letter-spacing:.2em}.studio{text-decoration:none;font-weight:bold}.studio span{font-size:9px;font-weight:normal}.back{text-decoration:none;letter-spacing:.08em}.demo{font-size:9px}main{display:flex;width:100%;height:100dvh;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}main::-webkit-scrollbar{display:none}.scene{flex:0 0 100%;height:100%;position:relative;scroll-snap-align:start;overflow-y:auto;overflow-x:hidden;padding:110px 7vw 110px;isolation:isolate}.art{position:absolute;inset:0;z-index:-2;background-image:url(pergalor-tapestry.png);background-size:max(300vw,300dvh) auto;background-repeat:no-repeat}.city .art{background-position:left}.stranger .art{background-position:center}.choice .art{background-position:right}.scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#240c19e6 0%,#240c198a 38%,transparent 78%);z-index:-1;pointer-events:none}.city .content{padding-top:6vh}.content{max-width:520px}.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 24px;color:#d6b47e}h1,h2,h3,p{margin-top:0}h1{font-family:Cinzel,Georgia,serif;font-size:clamp(46px,6.2vw,110px);line-height:1.05;letter-spacing:-.04em;margin-bottom:28px}h1 em{display:block;font:italic .48em Georgia;letter-spacing:-.02em;margin-bottom:15px}h2{font:clamp(36px,4.5vw,76px)/1.1 Cinzel,Georgia,serif;letter-spacing:-.04em;margin-bottom:22px}h2 em{font-family:Georgia;font-weight:normal}h3{font:italic 24px Georgia;margin-bottom:8px}.lead{font:22px/1.5 Georgia}.button{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;background:#681e33;color:#f7e8c9;border:1px solid #d6b47e;padding:14px 22px;text-decoration:none;font-size:13px;box-shadow:0 3px 0 #170810}.button:hover{background:#843148}.hint{font-size:10px;letter-spacing:.09em;margin-top:28px}.edge-note{position:absolute;right:3vw;bottom:110px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}.stranger .content{max-width:410px}.stranger p{max-width:370px}.motifs{display:flex;gap:12px;margin-top:25px}.motifs button{width:96px;min-height:88px;border:1px solid #c3a26b;background:#2a111bbf;color:#e8cfa3;font:32px Georgia;border-radius:50%}.motifs span{display:block;font:9px Inter;margin-top:5px}.motifs button[aria-pressed=true]{background:#61402a;box-shadow:0 0 0 3px #c7a46c33}.detail{font-size:11px;color:#ddc7a4;margin-top:20px;min-height:60px}.choice .content{max-width:650px;margin:0 auto;text-align:center}.choice:before{background:linear-gradient(#210c1850,#210c18bd)}.choice h2{font-size:clamp(34px,4vw,65px)}.paths{display:flex;gap:20px;justify-content:center;margin:25px 0 18px}.paths button{border:1px solid #d1ae74;background:#f0dfbce8;color:#3c1d23;padding:16px 25px;min-width:205px;font-size:11px;box-shadow:0 8px 30px #0004}.paths button:nth-child(2){background:#451624ed;color:#efdfbc}.paths strong{display:block;font:22px Cinzel}.paths span{display:block;font-size:28px;line-height:1.2}.paths small{display:block;margin:7px 0 18px;font:italic 14px Georgia}.paths button[aria-pressed=true]{outline:3px solid #f6dca0;outline-offset:5px}.path-copy{max-width:500px;margin:auto;min-height:70px;font:italic 17px/1.5 Georgia}.text-link{font-size:12px;text-underline-offset:5px}.book{color:#45282a;background-color:#ecdcba;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,#7451340b 2px,#7451340b 3px),repeating-linear-gradient(90deg,transparent,transparent 2px,#7451340a 2px,#7451340a 3px)}.book:before{display:none}.book .eyebrow{color:#885e3c}.book-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:7vw;max-width:1300px;margin:auto;align-items:center}.book-copy h2{font-size:clamp(32px,3.1vw,51px);margin-bottom:20px}.book-copy>p{font-size:13px;max-width:650px;margin-bottom:15px}.book-product{position:relative;margin:45px auto;width:min(27vw,330px);height:min(40vw,490px);transform:perspective(1200px) rotateY(-17deg) rotateZ(-4deg);filter:drop-shadow(22px 30px 16px #48292550)}.front{position:absolute;inset:0;background:linear-gradient(#32101b80,transparent 40%,#280d19c4),url(pergalor-tapestry.png) center/300% 100%;border:4px solid #af8b52;border-radius:2px 6px 6px 2px;box-shadow:inset 0 0 0 5px #4e1c2e,inset 0 0 0 7px #af8b52;color:#f3dfb5;text-align:center;padding:22px 12px}.front strong{display:block;font:clamp(24px,3.1vw,42px) Cinzel}.cover-small{font:italic clamp(20px,2.4vw,32px) Georgia}.cover-bottom{position:absolute;bottom:25px;left:0;right:0;font:10px/1.8 Inter}.spine{position:absolute;left:-34px;top:0;width:35px;height:100%;background:#49182c;border:3px solid #af8b52;color:#e8c993;writing-mode:vertical-rl;padding:15px 7px;font:11px Cinzel;transform:skewY(15deg);transform-origin:right center}.spine span{margin-top:40px}.author{display:flex;gap:18px;border-top:1px solid #865d3b55;padding-top:18px;margin:20px 0}.author p{font-size:11px;margin:0}.author-seal{flex-shrink:0;border:2px solid #a68555;border-radius:50%;width:55px;height:65px;display:grid;place-items:center;font:30px Georgia}.launch{padding:17px 22px;border:1px solid #aa8553;background:#5a1f31;color:#f1deba;box-shadow:0 0 0 3px #b7976625}.launch>p{font:italic 24px Georgia;margin-bottom:15px}.launch>div{display:flex;gap:35px;font-size:9px;letter-spacing:.12em}.launch strong{font:18px Georgia;letter-spacing:0}.disclaimer{font-size:10px!important;line-height:1.5;margin:12px 0!important}.book-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.credit{font-size:9px!important;margin-top:18px!important;opacity:.8}footer{position:fixed;bottom:0;left:0;right:0;height:80px;z-index:5;background:#210d18f2;display:flex;gap:20px;align-items:center;padding:8px 4vw 17px;border-top:1px solid #ad8d5555}footer button{border:1px solid #bd9b62;background:transparent;color:#e5cd9f;width:38px;height:38px}footer button:disabled{opacity:.3;cursor:default}nav{display:flex;flex:1;justify-content:space-around;gap:8px}nav a{font-size:10px;letter-spacing:.12em;text-decoration:none;opacity:.6;padding:12px 4px}nav a span{font-size:9px;margin-right:8px}nav a[aria-current]{opacity:1;color:#ffdc93}.progress{position:absolute;bottom:9px;left:4vw;right:4vw;height:1px;background:#bd9b6244}.progress i{display:block;background:#e4bd7a;height:2px;width:25%;transition:width .2s}dialog{border:1px solid #c6a06b;background:#efdfc2;color:#40252a;max-width:600px;width:calc(100% - 32px);padding:45px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#170814dc}dialog h2{font-size:35px}.close{position:absolute;right:12px;top:8px;background:transparent;border:0;font-size:28px;color:inherit}.noscript{position:fixed;top:70px;z-index:9;background:#fff;color:#321b25;padding:10px}.scene{scrollbar-width:thin;scrollbar-color:#a37b53 transparent}@media(min-width:1600px){.content{margin-top:4vh}.choice .content{margin-top:7vh}}@media(max-width:760px){header{height:60px;padding:0 5vw}.studio span,.demo{display:none}.back{font-size:9px}.scene{padding:95px 7vw 110px}.art{background-size:auto 100%;background-size:max(300vw,300dvh) auto}.content{max-width:90%}.city .content{padding-top:8vh}h1{font-size:clamp(44px,11vw,74px)}h2{font-size:44px}.stranger .content{max-width:85%}.stranger:before{background:linear-gradient(90deg,#240c19eb,#240c1990 65%,#240c1933)}.paths{gap:12px}.paths button{min-width:0;flex:1;padding:14px 10px}.paths strong{font-size:18px}.paths small{font-size:12px}.choice h2{font-size:35px}.path-copy{font-size:15px}.book-layout{display:flex;flex-direction:column;gap:25px}.book-product{width:200px;height:300px;margin:5px auto 15px}.front strong{font-size:26px}.book-copy h2{font-size:35px}.book-copy>p{font-size:13px}.launch>p{font-size:23px}.book{padding-bottom:125px}nav a{font-size:9px;letter-spacing:0}nav a span{display:none}footer{gap:5px;padding-inline:10px}footer button{width:30px;height:30px}.edge-note{display:none}.hint{max-width:240px}.lead{font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Photoreal hardcover replaces the flat CSS construction. */
.book-render{margin:0;align-self:center;width:100%;max-width:470px;justify-self:center}.book-render img{display:block;width:100%;height:auto;mix-blend-mode:multiply;border-radius:4px}.book-render figcaption{text-align:center;font:10px/1.5 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:14px;color:#73553d}@media(max-width:760px){.book-render{max-width:310px;margin:0 auto 12px}}
.stranger .art{left:auto;width:min(100%,100dvh);background-size:auto 100%;background-position:center}
.stranger .art{mask-image:linear-gradient(to right,transparent,#000 18%)}
/* Full-frame chapter sources. Each source is1672x941: cap both axes to avoid enlargement. */
.scene .art{inset:auto 0 auto auto;top:50%;transform:translateY(-50%);width:min(100%,1672px);height:min(100%,941px);background-size:cover;background-position:center;mask-image:linear-gradient(to right,transparent,#000 8%)}
.city .art{background-image:url(pergalor-city-detail.png)}
.stranger .art{background-image:url(pergalor-stranger-detail.png);background-position:70% center}
.choice .art{background-image:url(pergalor-choice-detail.png)}
/* The book is a true alpha cutout; no coloured rectangle or multiply blending. */
.book{background-color:#f1e6d1;background-image:radial-gradient(ellipse at 30% 35%,#fffaf0a8,transparent 65%),repeating-linear-gradient(0deg,transparent,transparent 3px,#72503304 3px,#72503304 4px)}
.book-render{position:relative;max-width:480px}.book-render img{mix-blend-mode:normal;filter:drop-shadow(16px 24px 16px #54293435);border-radius:0}.book-render figcaption{margin-top:24px;letter-spacing:.15em;color:#82633d}.book-render figcaption:before{content:'✧';display:block;font:24px Georgia;color:#a07a3e;margin-bottom:8px}
.author{align-items:center;gap:22px;padding:20px 24px;margin:26px 0;background:linear-gradient(110deg,#fff9ebaa,#e2cda03b);border:3px double #b0925e;border-radius:4px;position:relative;box-shadow:inset 0 0 0 5px #fff6e83b}.author:after{content:'';position:absolute;inset:7px;border:1px dashed #ae8b4a55;pointer-events:none}.author-cameo{display:block;flex:0 0 96px;width:96px;height:120px;object-fit:contain;filter:drop-shadow(1px 4px 3px #6a402b25)}.author h3{font-size:28px;color:#643044}.author p{font-size:11px;line-height:1.6}.author b{display:block;color:#805a35;letter-spacing:.05em;font-size:10px;margin-bottom:6px}
.launch{position:relative;margin-top:30px;padding:25px 30px 24px;background:radial-gradient(ellipse at 20% 0,#812e4a,#481523 85%);border:4px double #c5a16a;box-shadow:0 0 0 1px #795d31,0 0 0 7px #c4a57022,inset 0 0 35px #230b1540}.launch:before,.launch:after{content:'✧';position:absolute;left:50%;transform:translateX(-50%);color:#e6c28a;font:24px Georgia;background:#5b1d30;line-height:1;padding:0 12px}.launch:before{top:-15px}.launch:after{bottom:-14px}.launch>p{font-size:29px;color:#f9e7c7}.launch>div{gap:45px;justify-content:space-between}.launch strong{font-size:23px}.book-copy>.disclaimer{margin:22px 0 18px!important;color:#745c46}.book-actions .button{box-shadow:0 3px 0 #3a1021,0 0 0 3px #c8a66935}.book .credit{line-height:1.7}
@media(max-width:760px){.book-render{max-width:310px}.author{padding:17px;gap:14px}.author-cameo{width:72px;height:90px;flex-basis:72px}.author h3{font-size:24px}.launch{padding:23px 20px}.launch>p{font-size:25px}.launch>div{gap:20px}.launch strong{font-size:20px}}
