/* Scroll-bound architectural story; ordinary document flow is the fallback. */
.library-journey{--library-paper:#f5f4ed;--library-ink:#203847;background:var(--library-paper);color:var(--library-ink);position:relative;border-block:1px solid #cbd0ca}
.library-stage{position:relative;padding:65px 6% 55px;isolation:isolate}
.library-heading{text-align:center;position:relative;z-index:2;pointer-events:none}
.library-heading .eyebrow{font-size:12px;letter-spacing:.16em;color:#796b4d;margin:0 0 17px}
.immersive .library-heading h2{font-size:clamp(34px,3.1vw,49px);line-height:1.1;margin:0}
.library-visual{position:relative;max-width:620px;height:510px;margin:25px auto}
.library-canvas,.library-canvas canvas{display:block;width:100%;height:100%}
.library-canvas{position:absolute;inset:0;opacity:0}
.library-fallback{width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply}
.library-rendered .library-canvas{opacity:1}
.library-rendered .library-fallback{display:none}
.library-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:35px}
.library-card{max-width:330px;padding:27px 0;border-top:1px solid #afbcbf;min-width:0}
.library-card>.eyebrow{font-size:13px;letter-spacing:.13em;margin:0 0 22px;color:#82704a}
.immersive .library-card h3{font-family:Georgia,serif;font-size:clamp(32px,3.1vw,47px);letter-spacing:-.035em;line-height:1.12;margin:0 0 18px}
.immersive .library-card>p{font-size:16px;line-height:1.75;color:#52636c;margin:0 0 16px}
.immersive .library-card>.library-card-kicker{color:#203847;font-size:17px;margin-bottom:14px}
.library-card ul{padding:0;list-style:none;margin:22px 0 26px}
.library-card li{font-size:14px;line-height:1.6;padding:7px 0;border-bottom:1px solid #cbd2cc}
.library-card .text-link{font-size:14px;gap:24px}
.library-stages{display:none}
.library-foot{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-top:35px}
.library-caption{font-size:12px;line-height:1.7;letter-spacing:.075em;color:#5d6e76}
.library-caption>span{font-size:12px;letter-spacing:0;color:#728087}
.library-foot>.text-link{font-size:14px}
.library-skip{display:none}
.library-progress{display:none}
/* Enhancement starts only after the 3D scene has successfully rendered. */
@media(min-width:761px) and (min-height:560px) and (prefers-reduced-motion:no-preference){
.library-journey.is-animated{height:360svh}
.is-animated .library-stage{position:sticky;top:76px;height:calc(100svh - 76px);padding:29px 5% 32px;overflow:hidden;perspective:1200px}
.is-animated .library-heading{position:absolute;top:32px;left:25%;right:25%}
.is-animated .library-visual{position:absolute;left:26%;width:48%;max-width:none;top:130px;bottom:77px;height:auto;margin:0}
.is-animated .library-cards{display:block;margin:0;position:absolute;left:0;right:0;top:36%;height:0;perspective:1000px;z-index:3}
.is-animated .library-card{position:absolute;top:0;left:50%;width:clamp(215px,22vw,320px);border-top:0;padding:0;margin:0;transform-origin:right center;will-change:transform,opacity}
.is-animated .library-card[aria-hidden="true"]{pointer-events:none}
.is-animated .library-card>.eyebrow{margin-bottom:17px}
.is-animated .library-stages{display:flex;position:absolute;right:5.5%;top:44%;flex-direction:column;gap:8px;z-index:4}
.library-stages button{background:transparent;border:0;border-left:1px solid #b9c2c2;color:#76838a;display:flex;gap:15px;align-items:baseline;padding:13px 0 13px 21px;text-align:left;cursor:pointer;font:14px/1.5 Arial,sans-serif;min-height:48px}
.library-stages button>span:first-child{font:27px/1 Georgia,serif}
.library-stages button[aria-pressed="true"]{border-left:3px solid #203847;color:#203847;padding-left:19px}
.library-stages button:hover{color:#203847}
.is-animated .library-foot{position:absolute;bottom:45px;left:5%;right:5%;margin:0}
.is-animated .library-skip{display:block;position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-size:12px;color:#6c777c;white-space:nowrap}
.is-animated .library-progress{display:block;position:absolute;bottom:0;left:0;right:0;height:2px;background:#d9dfd8}
.library-progress>span{display:block;width:100%;height:100%;background:#9b8351;transform-origin:left;transform:scaleX(0)}
}
@media(min-width:761px) and (max-width:1100px){
.is-animated .library-heading{left:22%;right:22%}
.is-animated .library-visual{left:26%;width:48%;top:120px;bottom:110px}
.is-animated .library-stages{right:3%;top:40%}
.library-stages button{gap:9px;padding-left:12px}
.library-stages button>span:last-child{display:none}
.is-animated .library-card{width:26vw}
.immersive .library-card h3{font-size:33px}
.library-card li{font-size:13px}
.is-animated .library-card>p{font-size:15px}
}
@media(max-width:760px){
.library-stage{padding:50px 6% 40px}
.library-heading .eyebrow{font-size:11px}
.library-visual{height:390px;margin:15px auto 20px}
.library-cards{grid-template-columns:1fr;gap:10px;margin:0}
.library-card{max-width:none;padding:30px 0}
.library-card ul{display:none}
.library-foot{align-items:flex-start;flex-direction:column;margin-top:15px;gap:20px}
.library-caption{font-size:11px}
}
@media(max-width:760px) and (min-height:660px) and (prefers-reduced-motion:no-preference){
.library-journey.is-animated{height:320svh}
.is-animated .library-stage{position:sticky;top:76px;height:calc(100svh - 76px);padding:25px 6%;overflow:hidden}
.is-animated .library-heading{position:absolute;top:23px;left:6%;right:6%}
.immersive .is-animated .library-heading h2{font-size:31px;line-height:1.08}
.is-animated .library-heading .eyebrow{margin-bottom:12px;font-size:10px}
.is-animated .library-visual{position:absolute;left:14%;width:72%;top:116px;height:calc(43% - 55px);min-height:190px;margin:0}
.is-animated .library-cards{position:absolute;left:0;right:0;top:54%;height:0;display:block;margin:0;perspective:950px}
.is-animated .library-card{position:absolute;left:50%;top:0;width:84%;max-width:480px;padding:0;border:0;transform-origin:center}
.is-animated .library-card[aria-hidden="true"]{pointer-events:none}
.immersive .is-animated .library-card h3{font-size:34px;margin-bottom:10px}
.is-animated .library-card>.eyebrow{margin-bottom:11px;font-size:12px}
.is-animated .library-card>.library-card-kicker{display:none}
.is-animated .library-card>p{font-size:16px;line-height:1.65;margin-bottom:16px}
.is-animated .library-foot{position:absolute;bottom:49px;left:8%;right:8%;margin:0}
.is-animated .library-caption{display:none}
.is-animated .library-foot>.text-link{font-size:12px}
.is-animated .library-skip{display:block;position:absolute;bottom:17px;left:8%;font-size:12px;color:#6c777c}
.is-animated .library-progress{display:block;position:absolute;bottom:0;left:0;right:0;height:2px;background:#d9dfd8}
.library-progress>span{display:block;width:100%;height:100%;background:#9b8351;transform-origin:left;transform:scaleX(0)}
}
@media(prefers-reduced-motion:reduce){.library-card{transform:none!important;opacity:1!important}.library-canvas{opacity:1}}

@media(min-width:761px) and (min-height:560px) and (max-height:800px){.is-animated .library-card ul{display:none}.is-animated .library-cards{top:39%}.is-animated .library-card>.library-card-kicker{display:none}.immersive .is-animated .library-heading h2{font-size:36px}.is-animated .library-visual{top:115px;bottom:85px}}
