/* Section identity and restrained, pointer-led double frames. */
.series-hero{grid-template-columns:1.2fr 1fr;gap:32px;margin-bottom:24px;padding-bottom:25px}
.series-hero>img{height:auto;aspect-ratio:2.9/1;object-fit:cover;object-position:50% 53%;box-shadow:none}
.series-hero h1{font-size:clamp(35px,3.3vw,54px)}
.section-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#351623;width:100%;min-width:0;min-height:166px;aspect-ratio:5/1;margin-bottom:20px;color:#fff8ed}
.section-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.section-banner[aria-label="Read"]{aspect-ratio:3/1}
.section-banner[aria-label="Read"]>img{object-position:100% 65%;transform-origin:85% 65%}
.section-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#260a20d9,#360c2466 57%,#260a2010);z-index:-1}
.section-banner>div{height:100%;padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;justify-content:center}
.section-banner .eyebrow{font-size:8px;letter-spacing:1.5px;color:#f1d9dc;line-height:1.8}
.section-banner p{margin:6px 0 0;font-size:13px;color:#f7e9e5}
.section-banner .banner-title{font:clamp(34px,4vw,49px)/1.08 var(--serif);color:#fffaf0}
.location-trail{display:flex;flex-wrap:wrap;gap:6px 9px;font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0 25px}
.location-trail span{color:var(--accent)}
.breadcrumb{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.breadcrumb .crumb-series{margin:0;color:var(--muted)}
.breadcrumb strong{color:var(--accent)}
.journey-frame{--frame-a:#b62d4c;--frame-b:#360b20;--frame-c:#da8598;--frame-angle:125deg;position:relative;border:2px solid transparent!important;background:linear-gradient(var(--paper),var(--paper)) padding-box,conic-gradient(from var(--frame-angle),var(--frame-b),var(--frame-a),var(--frame-c),var(--frame-b),var(--frame-a),var(--frame-b)) border-box!important;padding:5px;border-radius:12px;isolation:isolate}
.journey-frame::after{content:'';position:absolute;inset:4px;border:1px solid transparent;border-radius:7px;background:conic-gradient(from var(--frame-angle),var(--frame-a),var(--frame-b),var(--frame-c),var(--frame-a)) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;z-index:1}
.journey-frame.is-complete{--frame-a:#727e30;--frame-b:#206766;--frame-c:#56c8be}
.session-art.journey-frame>img,.session-art.journey-frame>.series-cover{border-radius:6px}
.session-art.journey-frame .art-unlock{border:0;border-radius:0 0 6px 6px}
.session-art.journey-frame .completed-badge{z-index:2}
.session-thumb.journey-frame{border-width:1px!important;padding:3px;border-radius:6px}
.session-thumb.journey-frame::after{inset:2px;border-radius:4px}
.concept-card.journey-frame{display:flex;flex-direction:column;text-align:left;width:100%;min-width:0;padding:5px;border-radius:12px;cursor:pointer;color:var(--ink);font:inherit;touch-action:pan-y pinch-zoom}
.concept-card.journey-frame .theme-image{width:100%;max-width:100%;margin:0;aspect-ratio:2.3/1;border-radius:6px 6px 0 0;object-fit:cover}
.concept-copy{display:block;padding:23px 20px 25px}
.concept-title{display:block;font:28px/1.25 var(--serif);margin:12px 0 0}
.concept-copy .eyebrow{display:block;font-size:9px;line-height:1.8}
.topic-invitation,.reading-return-note{font-size:13px;color:var(--muted);line-height:1.8}
.reading-return-note{border-top:1px solid var(--line);padding-top:18px}
.concept-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.narrative-bridge .bridge-invitation{font-size:13px;color:var(--muted);line-height:1.85;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.study-selector{background:var(--paper);border-radius:14px;border:1px solid var(--line);padding:20px;box-shadow:0 5px 18px #35142305}
.selector-fields{gap:18px;min-width:0}
.selector-fields label{letter-spacing:.2px;min-width:0;color:var(--muted)}
.study-selector select{appearance:none;-webkit-appearance:none;min-height:50px;border:1px solid var(--line);border-radius:10px;padding:13px 38px 13px 15px;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='m2 3 5 5 5-5' fill='none' stroke='%23942e42' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;cursor:pointer;color:var(--ink);width:100%;max-width:100%;text-overflow:ellipsis}
.study-selector select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.week-arrows .icon-button{border:1px solid var(--line);background:var(--paper);border-radius:50%}
.about-credits{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:26px}
@media(hover:hover) and (pointer:fine){.concept-card.journey-frame:hover{box-shadow:0 5px 19px #40152816;transform:translateY(-2px)}}
@media(max-width:900px){.series-hero{grid-template-columns:1fr;gap:21px}.series-hero>img{height:auto;aspect-ratio:3.5/1}.section-banner{aspect-ratio:3.8/1}}
@media(max-width:640px){
 .series-hero h1{font-size:42px}.series-hero{margin-bottom:20px;padding-bottom:20px}.series-hero>img{aspect-ratio:3/1;border-radius:9px}
 .section-banner{aspect-ratio:2.6/1;min-height:145px;border-radius:10px}.section-banner>img{object-position:59% center}.section-banner>div{padding:21px}.section-banner .eyebrow{font-size:7px;letter-spacing:.8px;max-width:220px}.section-banner .banner-title{font-size:35px}.section-banner p{font-size:12px}
 .breadcrumb{display:block;max-width:calc(100% - 138px);line-height:1.35}.breadcrumb .crumb-series{display:block;font-size:9px;letter-spacing:.2px}.breadcrumb>strong{display:block;font-size:12px;white-space:normal;margin-top:3px}
 .location-trail{font-size:10px;margin:15px 0 22px;gap:4px 7px}
 .study-selector{padding:15px}.selector-fields label{font-size:11px}.study-selector select{font-size:16px;min-height:52px;padding-left:13px}.selector-fields{gap:16px}
 .concept-card.journey-frame{padding:5px}.concept-card.journey-frame .theme-image{width:100%;margin:0}.concept-title{font-size:26px}.concept-copy{padding:20px 17px 23px}
 .narrative-bridge .bridge-invitation{font-size:14px}.reading-return-note{font-size:12px}
}

@media print{.section-banner,.location-trail{display:none}.journey-frame::after{display:none}}

/* One compact series cover, with all its content on the illustration. */
.series-hero.series-hero-overlay{position:relative;isolation:isolate;display:block;overflow:hidden;border:0;border-radius:12px;background:#23151c;margin:0 0 24px;padding:0;min-height:250px}
.series-hero-overlay>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 53%;border-radius:0}
.series-hero-overlay::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,12,23,.94),rgba(37,15,25,.8) 38%,rgba(28,13,24,.12) 85%)}
.series-hero-overlay .hero-copy{position:relative;padding:26px 32px;max-width:680px}
.series-hero-overlay .hero-copy .eyebrow{color:#f4dfe1}
.series-hero-overlay h1{font-size:clamp(32px,3.3vw,47px);color:#fff8ed;margin:10px 0;line-height:1.03}
.series-hero-overlay h1 em{color:#f1c5c8}
.series-hero-overlay .hero-copy>p{color:#f5e9e4;font-size:13px;line-height:1.6;margin:0;max-width:530px}
.series-hero-overlay .primary-button{margin-top:15px;background:#942e42;color:#fff;border:1px solid #db9aa8;min-height:44px}
.commentary-selector>label{flex:1;min-width:0;font-size:12px}
.commentary-selector select{display:block;width:100%;margin-top:7px}
.pastoral-week header>p{margin-bottom:0;color:var(--muted)}
@media(max-width:640px){
 .series-hero.series-hero-overlay{min-height:0;margin-bottom:20px;border-radius:10px}
 .series-hero-overlay .hero-copy{padding:23px 20px}
 .series-hero-overlay h1{font-size:34px;letter-spacing:-1px}
 .series-hero-overlay .hero-copy>p{font-size:12px;line-height:1.65}
 .series-hero-overlay>img{object-position:60% center;aspect-ratio:auto;height:100%}
 .series-hero-overlay::before{background:linear-gradient(90deg,#200d1ceb,#200d1ca6 65%,#200d1c66)}
 #navigation .nav-item{flex:1 0 14.2857%;width:14.2857%;min-width:44px;font-size:8px}
}
@media print{.series-hero-overlay .hero-copy{background:#fff}.series-hero-overlay .hero-copy :is(h1,p,em,.eyebrow){color:#222}}

/* Recognisable resource names, without unrelated category icons. */
.resource-card h4.resource-brand{color:var(--accent);font-family:var(--sans);font-size:25px;font-weight:650;line-height:1.2;letter-spacing:-.65px;margin:0 0 16px;overflow-wrap:break-word}
.resource-service{display:block;margin-top:7px;font-size:12px;font-weight:500;letter-spacing:.4px;line-height:1.4}
@media(max-width:640px){.resource-card h4.resource-brand{font-size:25px;margin-bottom:14px}}

/* Comfortable narrow-screen reading without clipping or suppressing zoom. */
.workspace,main,#view,.section-title,.pastoral-week-copy{min-width:0}
.section-title .step{flex-shrink:0}
.pastoral-week-copy,.word-meaning,.glossary-item .definition,#dialog-body{overflow-wrap:break-word}
@media(max-width:640px){
 html{scrollbar-gutter:auto}
 main{padding-top:16px}
 #navigation .nav-item{flex:1 1 0;width:auto;min-width:0;font-size:9px}
 .section-banner[aria-label="Read"]{aspect-ratio:2/1;min-height:175px}
 .section-banner[aria-label="Read"]>img{object-position:100% 65%}
 .section-banner .banner-title{font-size:clamp(29px,8.7vw,35px);overflow-wrap:normal}
 .section-banner>div{padding:20px 18px}
 .section-head{align-items:flex-start;flex-wrap:wrap}
 .section-head .section-title{flex:1;min-width:200px}
 .section-head p{font-size:12px;line-height:1.6}
 .icon-button,.type-tools button,.motion-toggle{min-width:48px;min-height:48px}
 .week-arrows .icon-button{width:48px;height:48px}
 .primary-button,.secondary-button,.tool-tabs button,select,input[type=search]{min-height:48px}
 .tool-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
 .tool-tabs button{min-width:0;white-space:normal;line-height:1.4}
 .word-meaning p,.resource-card p,.tools-passage-note{font-size:16px;line-height:1.8}
 .pastoral-week-select .session-thumb{width:88px;flex-basis:88px}
 .pastoral-week-select{gap:12px;align-items:center}
 .pastoral-week-copy strong{font-size:clamp(19px,5.4vw,23px);line-height:1.3}
 .commentary-font-controls{flex-wrap:nowrap}
 .commentary-font-controls .icon-button{flex-shrink:0}
 .commentary-font-controls>span{min-width:0}
 #dialog-body img{max-width:100%;height:auto}
}
@media(max-width:900px) and (max-height:500px){
 .topbar{position:static}
 dialog{max-height:calc(100dvh - 16px)}
}
