:root{--bg:#111719;--panel:#172024;--text:#e8deca;--muted:#b2afa4;--gold:#dca96c;--reading:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}a{color:var(--gold);text-decoration:none}button,select{font:inherit}button,a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:23px max(24px,6vw);border-bottom:1px solid #dca96c30}.brand{font:small-caps 28px Georgia,serif;color:var(--text)}header a:last-child{font-size:13px}.hero{position:relative;min-height:460px;display:flex;align-items:end;padding:55px max(24px,10vw);background:radial-gradient(ellipse at 80% 15%,#62516455,transparent 40%),radial-gradient(ellipse at 20% 80%,#8c351d55,transparent 45%),linear-gradient(135deg,#101518,#26171c 60%,#111719)}.hero>div{max-width:850px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600}h1{font:normal clamp(44px,6vw,72px)/1.1 Georgia,serif;margin:15px 0}.subtitle{font:italic 21px/1.5 Georgia,serif;max-width:590px}.meta{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:18px}.layout{display:grid;grid-template-columns:190px minmax(0,700px);gap:65px;max-width:1070px;margin:35px auto 90px;padding:0 28px}aside{font-size:13px}aside .inner{position:sticky;top:25px}aside h2{font:normal 20px Georgia,serif}aside a{display:block;padding:9px 0;border-bottom:1px solid #ffffff12}aside p{color:var(--muted);font-size:12px}.notice{border:1px solid #dca96c45;padding:16px 20px;border-radius:4px;background:#261e16;color:var(--text);font-size:13px;margin-bottom:25px}.notice strong{display:block;color:var(--gold);margin-bottom:4px}.notice p{margin:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;margin-bottom:35px;font-size:12px}.toolbar div{display:flex;align-items:center;gap:10px}button,select{background:var(--panel);border:1px solid #dca96c60;color:var(--text);border-radius:3px;padding:6px 10px;cursor:pointer}.story{font:var(--reading)/1.85 Georgia,serif}.story h2{font:normal 31px/1.3 Georgia,serif;margin:0 0 30px}.story p{margin:0 0 24px}.opening:first-letter{float:left;font-size:72px;line-height:.9;padding:9px 12px 0 0;color:var(--gold)}.divider{text-align:center;color:var(--gold);letter-spacing:1em;padding:20px 0 35px}.story section{scroll-margin-top:30px}figure{margin:35px 0}figure img{width:100%;display:block;border-radius:3px;max-height:300px;object-fit:cover}figcaption{font:italic 12px/1.6 Georgia,serif;color:var(--muted);margin-top:10px}.ending{display:flex;justify-content:space-between;gap:24px;margin-top:45px;padding-top:25px;border-top:1px solid #dca96c40;font-size:14px}.draft{font-size:12px;color:var(--muted);padding-top:28px}footer{text-align:center;border-top:1px solid #ffffff15;padding:30px;font-size:12px;color:var(--muted)}body.paper{--bg:#ede3d0;--panel:#e0d4bc;--text:#30271e;--muted:#645a4b;--gold:#8b5829}body.paper .hero{color:#f1e5d1}body.paper .hero .eyebrow,body.paper .hero .meta{color:#ead2ae}body.paper .notice{background:#e2d5bf}dialog{max-width:470px;width:calc(100% - 32px);border:1px solid var(--gold);border-radius:5px;background:#172024;color:#e8deca;padding:30px;line-height:1.7}dialog::backdrop{background:#000d}dialog h2{font:30px Georgia,serif}dialog button,dialog a{display:inline-block;padding:10px 16px;margin:10px 10px 0 0}dialog button{background:#dca96c;color:#17120e}.skip{position:absolute;left:15px;top:-70px;z-index:10;padding:12px;background:var(--bg)}.skip:focus{top:10px}@media(max-width:760px){.hero{min-height:370px;padding:40px 24px}.layout{display:block;margin-top:15px;padding:0 22px}aside{margin-bottom:28px}aside .inner{position:static}aside h2,aside p{display:none}aside nav{display:flex;gap:22px}aside a{border:0}.toolbar{flex-wrap:wrap}.story{font-size:var(--reading)}header{padding:20px}.brand{font-size:23px}.ending{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,aside,.toolbar,.notice,.ending,footer,dialog{display:none!important}.hero{background:none;min-height:0;padding:20px;color:#000}.hero .meta,.hero .eyebrow{color:#444}.layout{display:block;margin:0;max-width:none}.story{color:#000;font-size:12pt}body{background:#fff}.draft{color:#444}}

.hero{border-bottom:1px solid #dca96c30}.hero .eyebrow{color:#dca96c}.hero .subtitle{color:#e8deca}

/* Corridor header: image path is relative to this stylesheet. */
.hero{background:linear-gradient(90deg,rgba(5,8,10,.65),rgba(5,8,10,.10) 75%),url('courtyard-header.png') center center/cover no-repeat;min-height:clamp(460px,48vw,740px);color:#e8deca}
.hero>div{max-width:650px;text-shadow:0 2px 12px #000}
@media(max-width:760px){.hero{min-height:560px;background-position:65% center;background-image:linear-gradient(0deg,rgba(5,8,10,.88),rgba(5,8,10,.12) 80%),url('courtyard-header.png')}}
@media print{.hero{background:none;min-height:0;color:#000}}

.hero{background:linear-gradient(120deg,#08151bee,#08151b88),url('../../../assets/auld-reekie.png') center/cover;min-height:360px}.profile{display:flex;flex-wrap:wrap;gap:12px 28px;padding:18px 0;border-bottom:1px solid #a87538}.profile div{min-width:100px}.profile dt{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#a87538}.profile dd{margin:4px 0;font-size:20px}@media(max-width:760px){.hero h1{font-size:38px}}

.hero{background:linear-gradient(to bottom,#07101810 15%,#071018dd 100%),url('courtyard-header.png') center 43%/cover no-repeat;min-height:460px}.hero>div{position:relative}@media(max-width:760px){.hero{min-height:390px;background-position:40% center}}

.hero{min-height:clamp(440px,50vw,780px);background-position:center 30%}@media(max-width:760px){.hero{min-height:460px;background-position:28% center}}

/* Compact header: show the complete artwork without cropping or text overlap. */
.hero{display:block;min-height:0;padding:0;background:#111719}
.hero-art{display:block;width:100%;height:clamp(190px,28vw,400px);object-fit:contain;background:#0c1113}
.hero>div{max-width:none;padding:24px max(24px,6vw) 28px}
.hero h1{font-size:clamp(32px,4vw,52px);margin:10px 0}
.hero .subtitle{margin:10px 0}
@media(max-width:760px){.hero{min-height:0;padding:0;background:#111719}.hero-art{height:auto;max-height:300px;object-fit:contain}.hero>div{padding:20px 24px}.hero h1{font-size:32px}}
@media print{.hero-art{display:none}.hero>div{padding:20px}}

/* Full-width artwork with softly blended upper and lower edges. */
.hero-art{width:100%;height:auto;max-height:none;object-fit:contain;background:none;mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 88%,transparent 100%)}
@media(max-width:760px){.hero-art{height:auto;max-height:none}}

/* Matched shallow banners, with crop-safe character framing. */
.hero{display:block;min-height:0;padding:0;background:#111719}
.hero-art{display:block;width:100%;height:clamp(260px,30vw,440px);max-height:none;object-fit:cover;object-position:center 35%;background:none;mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent)}
.hero>div{max-width:none;padding:24px max(24px,6vw) 28px}
.hero h1{font-size:clamp(32px,4vw,52px);margin:10px 0}
.hero .subtitle{margin:10px 0}
@media(max-width:760px){.hero{min-height:0;padding:0;background:#111719}.hero-art{height:33.333vw;max-height:none;object-fit:cover;object-position:center 35%}.hero>div{padding:20px 24px}.hero h1{font-size:32px}}
@media print{.hero-art{display:none}.hero>div{padding:20px}}
