:root { --ink:#15201b; --ink2:#25332c; --cream:#f3f0e8; --paper:#fbfaf6; --sage:#9fb29f; --green:#486554; --gold:#c89e63; --coral:#b96952; --muted:#66706a; --line:rgba(21,32,27,.15); --app-height:100svh; --app-width:100vw; }
* { box-sizing:border-box; }
html,body { width:100%; max-width:100%; margin:0; min-width:320px; min-height:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { overflow:hidden; overscroll-behavior-x:none; background:var(--ink); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input { font:inherit; }
button { cursor:pointer; }
button:focus-visible,input:focus-visible,.acknowledge:focus-within { outline:3px solid var(--gold); outline-offset:3px; }
.training-header { height:66px; padding:0 clamp(16px,4vw,54px); display:flex; align-items:center; justify-content:space-between; position:fixed; inset:0 0 auto; z-index:30; background:rgba(21,32,27,.96); color:white; backdrop-filter:blur(12px); }
.header-brand { display:flex; align-items:center; gap:13px; color:#dce3de; font-size:8px; letter-spacing:.18em; line-height:1.25; }.header-brand img { width:77px; height:36px; object-fit:contain; }.header-brand b { color:#91a798; font-size:7px; }
.header-progress { display:flex; align-items:center; gap:12px; color:#aebbb4; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.header-progress > i { width:clamp(80px,14vw,180px); height:3px; overflow:hidden; background:rgba(255,255,255,.16); }.header-progress > i b { display:block; height:100%; width:12.5%; background:var(--gold); transition:width .45s ease; }.header-progress span:last-child { min-width:90px; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:right; color:white; }
.slide-deck { min-height:var(--app-height,100svh); }.slide { min-height:var(--app-height,100svh); display:none; position:relative; overflow:hidden; background:var(--cream); }.slide.is-active { display:grid; animation:slide-in .45s ease both; }.slide:not(.welcome-slide):not(.certificate-slide) { padding-top:66px; padding-bottom:72px; }
.eyebrow,.slide-number { margin:0; color:var(--green); font-size:9px; font-weight:900; letter-spacing:.2em; }.slide-number.light { color:#b7c8bd; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.045em; }.slide h2 { margin:18px 0 22px; font-size:clamp(45px,5.4vw,78px); line-height:.94; }.slide h2 em,.slide h3 em { color:var(--green); }.dark-overlay+* h2 em,.care-card.bed-card h3 em,.final-check-slide h2 em { color:#c9a36f; }
.lead { color:var(--muted); font-size:15px; line-height:1.65; }

/* Welcome */
.welcome-slide { grid-template-columns:54% 46%; }.welcome-photo { min-height:100svh; background:linear-gradient(90deg,rgba(21,32,27,.05),rgba(21,32,27,.16)),url('images/staged-hero.jpg') center/cover; }.welcome-panel { padding:clamp(38px,6vw,86px); display:flex; flex-direction:column; justify-content:center; }.logo { width:200px; max-width:50%; margin-bottom:clamp(32px,6vh,66px); padding:14px; background:var(--ink); }.welcome-slide h1 { margin:18px 0 22px; font-size:clamp(54px,6vw,90px); line-height:.88; }.welcome-slide h1 em { color:#526f5e; }.intro { max-width:520px; margin:0; color:var(--muted); font-size:15px; line-height:1.65; }form { margin-top:32px; }label:not(.acknowledge) { display:block; margin-bottom:9px; color:#405048; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.name-row { display:flex; gap:9px; max-width:590px; }input[type="text"] { min-width:0; flex:1; border:1px solid rgba(21,32,27,.2); border-radius:4px; padding:15px 16px; background:var(--paper); color:var(--ink); }.primary-button { border:0; border-radius:4px; padding:11px 12px 11px 18px; display:flex; align-items:center; gap:18px; background:var(--ink); color:white; font-size:12px; font-weight:800; }.primary-button span { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--gold); }.form-error { min-height:16px; margin:7px 0 0; color:#a44737; font-size:10px; }.welcome-meta { max-width:590px; display:flex; justify-content:space-between; gap:14px; margin-top:20px; padding-top:17px; border-top:1px solid var(--line); color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }

/* Slide 1 */
.brand-slide { grid-template-columns:47% 53%; }.photo-panel { position:relative; background-position:center; background-size:cover; }.photo-living { background-image:linear-gradient(rgba(21,32,27,.03),rgba(21,32,27,.1)),url('images/staged-living.jpg'); }.photo-tag { position:absolute; left:20px; bottom:18px; padding:8px 10px; background:rgba(21,32,27,.82); color:white; font-size:7px; font-weight:900; letter-spacing:.16em; }.content-panel { padding:clamp(34px,5vw,78px); display:flex; flex-direction:column; justify-content:center; }.content-panel .lead { max-width:630px; }.service-list { margin-top:18px; border-top:1px solid var(--line); }.service-list article { min-height:75px; padding:11px 0; display:grid; grid-template-columns:48px 1fr; align-items:center; border-bottom:1px solid var(--line); }.service-list article>span { color:var(--gold); font:400 23px Georgia,serif; }.service-list b { display:block; margin-bottom:3px; font:400 17px Georgia,serif; }.service-list p { margin:0; color:var(--muted); font-size:10px; line-height:1.4; }

/* Slide 2 */
.pillars-slide { place-items:center; color:white; }.full-photo,.dark-overlay { position:absolute; inset:66px 0 62px; }.full-photo { background-position:center; background-size:cover; }.photo-detail { background-image:url('images/staged-detail.jpg'); }.dark-overlay { background:linear-gradient(90deg,rgba(11,19,15,.92),rgba(17,28,22,.72) 58%,rgba(17,28,22,.36)); }.overlay-content { width:100%; position:relative; z-index:2; padding:clamp(34px,5vw,76px); align-self:center; }.overlay-content h2 { max-width:850px; }.pillar-grid { max-width:1000px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.3); border-bottom:1px solid rgba(255,255,255,.3); }.pillar-grid article { min-height:140px; padding:22px; border-right:1px solid rgba(255,255,255,.22); }.pillar-grid article:last-child { border:0; }.pillar-grid span { display:block; margin-bottom:13px; color:var(--gold); font:400 22px Georgia,serif; }.pillar-grid b { display:block; font:400 20px Georgia,serif; }.pillar-grid p { color:#bdc7c1; font-size:11px; line-height:1.55; }.overlay-content blockquote { margin:21px 0 0; color:#d4b37f; font:italic 24px Georgia,serif; }

/* Slide 3 */
.safe-move-slide { grid-template-columns:58% 42%; }.content-panel.wide { padding:clamp(28px,4vw,60px); }.step-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); }.step-grid article { min-height:120px; padding:17px; background:var(--paper); }.step-grid span { width:27px; height:27px; display:grid; place-items:center; float:left; margin-right:12px; border:1px solid var(--gold); border-radius:50%; color:#926c3d; font-size:9px; }.step-grid b { display:block; margin:2px 0 9px; font:400 17px Georgia,serif; }.step-grid p { clear:both; margin:0; padding-top:10px; color:var(--muted); font-size:10px; line-height:1.5; }.callout { margin-top:14px; padding:13px 16px; display:flex; gap:18px; background:#dfe7df; }.callout b { color:var(--green); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }.callout span { color:#44534b; font-size:10px; line-height:1.4; }.photo-dining { background-image:url('images/staged-dining.jpg'); }.vertical-caption { position:absolute; right:15px; bottom:20px; writing-mode:vertical-rl; color:white; font-size:7px; font-weight:900; letter-spacing:.17em; }

/* Slide 4 */
.team-slide { grid-template-columns:36% 64%; }.photo-strip { background-position:center; background-size:cover; }.photo-room { background-image:url('images/staged-room.jpg'); }.team-content { padding:clamp(34px,5vw,76px); display:flex; flex-direction:column; justify-content:center; }.two-column-copy { display:grid; grid-template-columns:1fr 1fr; gap:38px; padding-top:21px; border-top:1px solid var(--line); }.two-column-copy article>b { font:400 20px Georgia,serif; }.two-column-copy ul { padding:0; list-style:none; }.two-column-copy li { padding:9px 0 9px 23px; position:relative; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.4; }.two-column-copy li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }

/* Slide 5 */
.care-slide { grid-template-columns:1fr 1fr; gap:1px; background:rgba(21,32,27,.24); }.care-card { display:grid; grid-template-rows:42% 58%; overflow:hidden; }.care-photo { background-position:center; background-size:cover; }.photo-bedroom { background-image:url('images/staged-bedroom.jpg'); }.care-copy { padding:clamp(28px,4vw,54px); background:var(--paper); }.care-copy h3 { margin:13px 0 18px; font-size:clamp(36px,3.7vw,54px); line-height:.95; }.care-copy ol { margin:0; padding-left:20px; color:var(--muted); font-size:11px; line-height:1.6; }.bed-card { grid-template-rows:1fr; }.bed-card .care-copy { display:flex; flex-direction:column; justify-content:center; background:var(--ink2); color:white; }.mini-steps { display:grid; gap:1px; background:rgba(255,255,255,.16); }.mini-steps span { padding:14px; display:grid; grid-template-columns:75px 1fr; background:#2b3c33; color:#bac5bf; font-size:10px; line-height:1.45; }.mini-steps b { color:#d7b47e; text-transform:uppercase; letter-spacing:.09em; }.care-warning { padding:13px; border:1px solid rgba(200,158,99,.5); color:#e1c79f; font-size:10px; }

/* Slide 6 */
.van-slide { grid-template-columns:34% 43% 23%; }.van-intro { padding:clamp(32px,4vw,58px); display:flex; flex-direction:column; justify-content:center; }.van-intro>p:not(.slide-number) { color:var(--muted); font-size:11px; line-height:1.55; }.van-rule { margin-top:20px; padding-top:17px; border-top:1px solid var(--line); display:grid; grid-template-columns:75px 1fr; }.van-rule b { color:var(--green); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }.van-rule span { font:italic 17px/1.35 Georgia,serif; }.load-order { display:flex; flex-direction:column; justify-content:center; background:var(--ink2); color:white; }.load-order>div { min-height:75px; padding:12px 24px; display:grid; grid-template-columns:47px 1fr; grid-template-rows:1fr 1fr; border-bottom:1px solid rgba(255,255,255,.13); }.load-order span { grid-row:1/3; align-self:center; color:var(--gold); font:400 24px Georgia,serif; }.load-order b { align-self:end; font:400 15px Georgia,serif; }.load-order small { color:#95a29b; font-size:8px; }.van-photo { background-position:center; background-size:cover; }.photo-staged { background-image:linear-gradient(rgba(21,32,27,.1),rgba(21,32,27,.2)),url('images/staged-dining.jpg'); }

/* Slide 7 */
.final-check-slide { place-items:center; color:white; }.check-photo { position:absolute; inset:66px 0 62px; background-position:center; background-size:cover; }.photo-hero { background-image:url('images/staged-hero.jpg'); }.check-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,22,17,.92),rgba(20,31,25,.81) 65%,rgba(20,31,25,.48)); }.check-content { width:100%; position:relative; z-index:2; padding:clamp(28px,5vw,70px); }.check-content h2 { margin-bottom:17px; }.check-grid { max-width:1000px; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.18); }.check-grid span { min-height:44px; padding:10px 14px 10px 37px; display:flex; align-items:center; position:relative; background:rgba(15,27,20,.72); color:#d7dfda; font-size:9px; }.check-grid span::before { content:"✓"; position:absolute; left:14px; width:16px; height:16px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:white; font-size:8px; }.memory-line { max-width:1000px; margin-top:17px; padding:12px 15px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(255,255,255,.28); color:#d5b57e; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }.memory-line i { color:#7e9186; font-style:normal; }

/* Slide 8 */
.standard-slide { grid-template-columns:38% 62%; }.standard-brand { padding:clamp(35px,5vw,70px); display:flex; flex-direction:column; justify-content:center; background:var(--ink); color:white; }.standard-brand img { width:min(320px,85%); }.standard-brand p { margin-top:33px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); color:#9fb0a7; font-size:9px; font-weight:900; letter-spacing:.24em; }.standard-copy { padding:clamp(30px,5vw,72px); display:flex; flex-direction:column; justify-content:center; }.standard-lines { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }.standard-lines span { padding:10px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; }.standard-copy blockquote { margin:18px 0; padding-left:18px; border-left:3px solid var(--gold); font:italic 22px/1.25 Georgia,serif; }.standard-copy blockquote b { color:var(--green); }.acknowledge { max-width:700px; padding:13px; display:flex; align-items:flex-start; gap:11px; border:1px solid var(--line); background:var(--paper); cursor:pointer; }.acknowledge input { position:absolute; opacity:0; }.acknowledge i { width:21px; height:21px; flex:0 0 auto; border:1px solid #839188; background:white; }.acknowledge input:checked+i { background:var(--green); box-shadow:inset 0 0 0 5px white; }.acknowledge span { color:#58635d; font-size:10px; line-height:1.45; }.acknowledge b { color:var(--ink); }

/* Certificate */
.certificate-slide { place-items:center; min-height:100svh; padding:20px; background:#d9ddd7; overflow:auto; }.certificate-wrap { width:min(1180px,100%); margin:auto; }.certificate { aspect-ratio:16/9; min-height:620px; padding:44px 54px 35px; position:relative; overflow:hidden; border:1px solid #b9b2a4; background:var(--paper); box-shadow:0 24px 70px rgba(21,32,27,.2); }.certificate::before { content:""; position:absolute; right:-8%; top:-26%; width:54%; aspect-ratio:1; border:1px solid rgba(72,101,84,.15); border-radius:50%; box-shadow:0 0 0 65px rgba(72,101,84,.04),0 0 0 130px rgba(72,101,84,.035); }.certificate::after { content:""; position:absolute; left:0; top:0; bottom:0; width:12px; background:var(--green); }.certificate-top { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }.certificate-logo { width:155px; height:72px; padding:9px 14px; display:grid; place-items:center; background:var(--ink); }.certificate-logo img { width:100%; }.certificate-top>span { color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.18em; }.certificate-kicker { margin:47px 0 11px; color:var(--green); font-size:9px; font-weight:900; letter-spacing:.24em; }.certificate h2 { margin:0; color:var(--ink); font-size:68px; line-height:.88; }.awarded { margin:31px 0 7px; color:var(--muted); font:italic 14px Georgia,serif; }.certificate>strong { display:block; width:72%; padding-bottom:8px; border-bottom:1px solid #a3a69e; color:var(--green); font:400 37px Georgia,serif; }.certificate-copy { max-width:760px; color:#5f6863; font-size:11px; line-height:1.55; }.certificate-meta { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:18px; margin-top:23px; padding-top:16px; border-top:1px solid #c7c7bf; position:relative; z-index:2; }.certificate-meta small { display:block; margin-bottom:6px; color:#89908c; font-size:7px; font-weight:900; letter-spacing:.14em; }.certificate-meta b { font:400 11px Georgia,serif; }.certificate-footer { position:absolute; left:54px; right:54px; bottom:23px; display:flex; justify-content:space-between; color:#858c88; font-size:7px; font-weight:900; letter-spacing:.11em; }.certificate-actions { padding:14px 2px 0; display:flex; align-items:center; gap:9px; }.certificate-actions p { flex:1; margin:0; color:#526159; font-size:10px; }.certificate-actions p b { display:block; color:var(--ink); font:400 16px Georgia,serif; }.secondary-button,.text-button { border-radius:3px; padding:11px 15px; font-size:10px; font-weight:800; }.secondary-button { border:0; background:var(--ink); color:white; }.text-button { border:1px solid rgba(21,32,27,.22); background:transparent; color:var(--ink); }

/* Nav */
.slide-nav { height:62px; padding:0 clamp(16px,4vw,54px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:fixed; inset:auto 0 0; z-index:30; background:var(--paper); border-top:1px solid var(--line); }.slide-nav button { border:0; background:transparent; color:var(--ink); font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.nav-back { justify-self:start; }.nav-next { justify-self:end; padding:10px 14px!important; border-radius:99px!important; background:var(--ink)!important; color:white!important; }.nav-next:disabled { opacity:.38; cursor:not-allowed; }.nav-dots { display:flex; gap:7px; }.nav-dots i { width:5px; height:5px; border-radius:50%; background:#c1c6c2; }.nav-dots i.active { width:22px; border-radius:6px; background:var(--gold); }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@keyframes slide-in { from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none} }

@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1180px){body{overflow:auto}.training-header{height:58px}.header-progress span:last-child{display:none}.slide{min-height:var(--app-height,100svh);overflow:visible}.slide:not(.welcome-slide):not(.certificate-slide){padding-top:58px;padding-bottom:58px}.welcome-slide,.brand-slide,.safe-move-slide,.team-slide,.care-slide,.van-slide,.standard-slide{grid-template-columns:1fr}.welcome-photo{min-height:34svh}.welcome-panel{padding:29px 20px 35px}.logo{width:150px;margin-bottom:24px}.welcome-slide h1{font-size:52px}.name-row{flex-direction:column}.name-row button{justify-content:space-between}.welcome-meta{font-size:7px}.photo-panel,.photo-strip{min-height:34svh}.content-panel,.team-content,.standard-copy{padding:31px 20px}.slide h2{font-size:44px}.brand-slide .photo-panel{grid-row:2}.pillars-slide{min-height:var(--app-height,100svh)}.full-photo,.dark-overlay,.check-photo{inset:58px 0}.pillar-grid{grid-template-columns:1fr}.pillar-grid article{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.overlay-content{padding:28px 20px}.step-grid{grid-template-columns:1fr}.photo-dining{min-height:38svh}.two-column-copy{grid-template-columns:1fr;gap:13px}.team-slide .photo-strip{grid-row:2}.care-card{min-height:74svh}.care-slide{gap:0}.care-copy{padding:29px 20px}.van-slide{display:block!important}.van-intro{padding:30px 20px}.load-order>div{min-height:66px}.van-photo{min-height:34svh}.check-content{padding:26px 18px}.check-grid{grid-template-columns:1fr}.memory-line{gap:7px;overflow:auto}.standard-brand{min-height:32svh;padding:32px 20px}.standard-lines{grid-template-columns:1fr}.certificate-slide{padding:10px}.certificate{aspect-ratio:auto;min-height:700px;padding:28px 25px}.certificate-logo{width:125px;height:58px}.certificate h2{font-size:52px}.certificate>strong{width:100%;font-size:30px}.certificate-meta{grid-template-columns:1fr 1fr}.certificate-meta>div:last-child{grid-column:1/-1}.certificate-footer{left:25px;right:25px}.certificate-actions{align-items:stretch;flex-wrap:wrap}.certificate-actions p{flex-basis:100%}.slide-nav{height:58px}.nav-dots{display:none}}
@media(max-width:420px){.header-brand span{display:none}.welcome-meta span:nth-child(2){display:none}.slide h2{font-size:39px}.care-copy h3{font-size:37px}.certificate{min-height:760px}.certificate h2{font-size:44px}.certificate-top>span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print { body{overflow:visible;background:white}.certificate-slide{display:grid!important;padding:0;background:white}.certificate-wrap{width:100%}.certificate{width:100%;aspect-ratio:16/9;min-height:0;box-shadow:none;border:0}.certificate-actions,.training-header,.slide-nav,.slide:not(.certificate-slide){display:none!important}@page{size:landscape;margin:0} }

/* Scenario-specific training photography */
.photo-teamwork { position:relative; background-image:linear-gradient(rgba(21,32,27,.02),rgba(21,32,27,.13)),url('images/training-team-sofa.jpg'); background-position:center; }
.care-card,.care-card.bed-card { grid-template-rows:43% 57%; }
.care-photo { position:relative; }
.photo-command { background-image:url('images/training-command-strip.jpg'); background-position:center; }
.photo-airbed { background-image:url('images/training-airbed.jpg'); background-position:center; }
.care-copy { padding:clamp(24px,3.5vw,48px); }
.care-copy h3 { margin:12px 0 16px; font-size:clamp(33px,3.3vw,48px); }
.care-copy ol { font-size:10px; line-height:1.55; }
.mini-steps span { padding:10px 12px; grid-template-columns:68px 1fr; font-size:9px; line-height:1.4; }
.care-warning { margin:10px 0 0; padding:10px 12px; font-size:9px; }
.van-photo { position:relative; }
.photo-van { background-image:linear-gradient(rgba(21,32,27,.02),rgba(21,32,27,.12)),url('images/training-van-load.jpg'); }

/* Required interactive final check */
.check-status { max-width:1000px; margin:-6px 0 10px; display:grid; grid-template-columns:auto minmax(100px,220px) 1fr; align-items:center; gap:11px; color:#d7b47e; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.check-status>i { height:3px; overflow:hidden; background:rgba(255,255,255,.2); }
.check-status>i b { display:block; width:0; height:100%; background:var(--gold); transition:width .3s ease; }
.check-status small { color:#aebcb4; font-size:7px; font-weight:700; }
.check-item { min-height:44px; padding:9px 14px; display:flex; align-items:center; gap:10px; border:0; background:rgba(15,27,20,.72); color:#d7dfda; font-size:9px; text-align:left; transition:background .2s,color .2s; }
.check-item>i { width:18px; height:18px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.44); border-radius:50%; font-style:normal; }
.check-grid .check-item>span { min-height:0; padding:0; display:block; position:static; background:transparent; color:inherit; font-size:inherit; }
.check-grid .check-item>span::before { content:none; }
.check-item:hover { background:rgba(49,75,61,.88); }
.check-item.is-checked { background:rgba(61,96,76,.9); color:white; }
.check-item.is-checked>i { border-color:var(--gold); background:var(--gold); color:var(--ink); }
.check-item.is-checked>i::after { content:"✓"; font-size:10px; font-weight:900; }

@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1180px) {
  .care-card,.care-card.bed-card { min-height:78svh; grid-template-rows:42% 58%; }
  .check-status { grid-template-columns:auto 1fr; }
  .check-status small { display:none; }
  .check-item { min-height:42px; }
}

/* On mobile, keep the van slide hidden like every other slide until it is active. */
@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1180px){
  .slide.van-slide{display:none!important}
  .slide.van-slide.is-active{display:block!important}
}

/* Illustrated, required-review training cards */
.interactive-training-slide { background:var(--paper); color:var(--ink); overflow:auto; }
.interactive-training-slide .overlay-content { align-self:center; padding:clamp(25px,3.6vw,52px); }
.interactive-training-slide .slide-number.light { color:var(--green); }
.interactive-training-slide h2 { margin:8px 0 13px; font-size:clamp(42px,4.8vw,66px); }
.interactive-training-slide blockquote { margin:12px 0 0; color:#92703e; font-size:19px; }

.group-status { max-width:1100px; margin:0 0 12px; display:grid; grid-template-columns:auto minmax(100px,220px) 1fr; align-items:center; gap:11px; color:#d3ae73; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.group-status>i { height:4px; overflow:hidden; background:rgba(255,255,255,.22); }
.group-status>i b { display:block; width:0; height:100%; background:var(--gold); transition:width .3s ease; }
.group-status small { color:#aebcb4; font-size:7px; font-weight:700; }
.group-status.dark-text { color:var(--green); }
.group-status.dark-text>i { background:rgba(21,32,27,.15); }
.group-status.dark-text small { color:var(--muted); }

.visual-tick-grid { max-width:1100px; display:grid; gap:10px; border:0; background:transparent; }
.pillar-grid.visual-tick-grid { grid-template-columns:repeat(3,1fr); }
.movement-grid { grid-template-columns:repeat(5,1fr); }
.visual-tick-card { min-width:0; padding:0 0 13px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:white; color:var(--ink); text-align:left; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.visual-tick-card:hover { transform:translateY(-2px); border-color:rgba(72,101,84,.55); box-shadow:0 9px 22px rgba(21,32,27,.1); }
.visual-tick-card img { width:100%; height:clamp(125px,19vh,205px); display:block; object-fit:cover; }
.movement-grid .visual-tick-card img { height:clamp(105px,17vh,165px); }
.visual-tick-card .tick-mark { width:24px; height:24px; display:grid; place-items:center; position:absolute; top:9px; right:9px; border:2px solid white; border-radius:50%; background:rgba(21,32,27,.72); box-shadow:0 1px 5px rgba(0,0,0,.24); }
.visual-tick-card strong { display:block; padding:12px 14px 0; font:400 18px Georgia,serif; }
.visual-tick-card p { margin:7px 14px 0; color:var(--muted); font-size:9px; line-height:1.45; }
.visual-tick-card.is-checked { border-color:var(--gold); box-shadow:inset 0 0 0 2px var(--gold); }
.visual-tick-card.is-checked .tick-mark { border-color:var(--gold); background:var(--gold); color:var(--ink); }
.visual-tick-card.is-checked .tick-mark::after { content:"✓"; font-size:12px; font-weight:900; }
.safe-move-slide { grid-template-columns:1fr; }
.safe-move-slide .content-panel.wide { width:100%; padding:clamp(24px,3.4vw,48px); }

/* Command-strip removal training card */
.photo-command { background-size:contain; background-repeat:no-repeat; background-color:#eceae4; }
.art-card { grid-template-rows:37% 63%; }
.art-card .care-copy { padding:20px clamp(22px,3vw,40px); }
.art-card .care-copy h3 { margin:8px 0 11px; font-size:clamp(31px,3vw,42px); }
.art-card .care-copy ol { padding-left:17px; font-size:9px; line-height:1.42; }
.art-card .care-copy li { margin-bottom:4px; }
.art-card .care-copy li b { color:var(--green); }

/* Illustrated final property check */
.check-content { padding:clamp(24px,3.4vw,48px); }
.check-content h2 { font-size:clamp(38px,4vw,56px); }
.check-status.group-status { margin-bottom:10px; }
.check-grid { max-width:1180px; grid-template-columns:repeat(4,1fr); gap:7px; background:transparent; }
.check-item { min-height:94px; padding:0; display:grid; grid-template-columns:88px 1fr; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:4px; background:rgba(15,27,20,.82); }
.check-item img { width:88px; height:100%; min-height:94px; display:block; object-fit:cover; }
.check-item>i { width:20px; height:20px; position:absolute; top:7px; right:7px; z-index:2; background:rgba(21,32,27,.72); }
.check-grid .check-item>span { padding:28px 10px 10px; display:flex; align-items:center; font-size:8px; line-height:1.35; }
.check-item.is-checked { border-color:var(--gold); background:rgba(61,96,76,.95); box-shadow:inset 0 0 0 1px var(--gold); }
.memory-line { max-width:1180px; margin-top:10px; }

@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1180px) {
  .interactive-training-slide .overlay-content,
  .safe-move-slide .content-panel.wide { padding:25px 16px 30px; }
  .interactive-training-slide h2 { font-size:39px; }
  .group-status { grid-template-columns:auto 1fr; }
  .group-status small { display:none; }
  .pillar-grid.visual-tick-grid,
  .movement-grid { grid-template-columns:1fr; }
  .visual-tick-card { display:grid; grid-template-columns:112px 1fr; min-height:112px; padding:0; }
  .visual-tick-card img,
  .movement-grid .visual-tick-card img { width:112px; height:100%; min-height:112px; grid-row:1/3; object-fit:cover; }
  .visual-tick-card strong { padding:24px 36px 0 12px; font-size:17px; }
  .visual-tick-card p { margin:4px 12px 12px; }
  .interactive-training-slide blockquote { padding-bottom:15px; }
  .art-card { grid-template-rows:30svh auto!important; }
  .art-card .care-copy { padding:24px 19px; }
  .art-card .care-copy ol { font-size:10px; line-height:1.5; }
  .check-content h2 { font-size:37px; }
  .check-grid { grid-template-columns:1fr; }
  .check-item { min-height:88px; grid-template-columns:104px 1fr; }
  .check-item img { width:104px; min-height:88px; }
  .check-grid .check-item>span { padding:25px 34px 9px 12px; font-size:9px; }
}

/* Original New Starter Quick Guide wording on slide 01 */
.brand-slide { grid-template-columns:32% 68%; }
.guide-copy { padding:24px clamp(24px,3.2vw,48px); }
.guide-copy h2 { margin:7px 0 13px; font-size:clamp(38px,4vw,54px); }
.guide-welcome-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:26px; }
.guide-intro p { margin:0 0 8px; color:#59655f; font-size:9px; line-height:1.48; }
.guide-services h3,
.guide-footer-grid h3 { margin:0 0 7px; color:var(--green); font:400 17px Georgia,serif; }
.guide-services .service-list { margin-top:0; }
.guide-services .service-list article { min-height:57px; padding:7px 0; grid-template-columns:37px 1fr; }
.guide-services .service-list article>span { font-size:18px; }
.guide-services .service-list b { font-size:14px; }
.guide-services .service-list p { font-size:8px; }
.guide-footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:13px; }
.guide-footer-grid section { padding:12px 14px; border:1px solid var(--line); background:#f5f3ed; }
.guide-footer-grid strong { display:block; margin-bottom:5px; color:#92703e; font:700 9px/1.4 Arial,sans-serif; }
.guide-footer-grid p { margin:4px 0; color:#626d67; font-size:8px; line-height:1.42; }
.guide-footer-grid a { color:var(--green); font-size:8px; font-weight:800; text-decoration:none; }
.responsibility-lead { max-width:850px; margin:-3px 0 10px; color:var(--muted); font-size:10px; line-height:1.45; }

/* Taller mobile navigation with room for the iPhone home indicator. */
.slide-nav { height:72px; }

@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1180px) {
  .brand-slide { grid-template-columns:1fr; }
  .guide-copy { padding:26px 18px; }
  .guide-copy h2 { font-size:39px; }
  .guide-welcome-grid,
  .guide-footer-grid { grid-template-columns:1fr; gap:12px; }
  .guide-intro p { font-size:10px; }
  .guide-services .service-list p,
  .guide-footer-grid p,
  .guide-footer-grid a { font-size:9px; }
  .responsibility-lead { font-size:10px; }
  .slide:not(.welcome-slide):not(.certificate-slide) {
    padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .slide-nav {
    height:calc(84px + env(safe-area-inset-bottom, 0px));
    padding:10px 18px calc(18px + env(safe-area-inset-bottom, 0px));
    align-items:start;
  }
  .slide-nav button { min-height:42px; }
  .nav-next { padding:13px 18px!important; }
}

/* V7 — complete Quick Guide sequence */
.guide-slide { display:none; grid-template-columns:1fr; overflow:auto; background:var(--paper); }
.guide-slide.is-active { display:grid; }
.guide-slide-content { width:100%; padding:clamp(24px,3.2vw,48px); align-self:center; }
.guide-slide-content-wide { max-width:1500px; margin:auto; }
.guide-slide h2 { margin:7px 0 13px; font-size:clamp(38px,4.6vw,64px); }
.guide-lead { max-width:900px; margin:0 0 12px; color:var(--muted); font-size:10px; line-height:1.5; }
.compact-lead { margin-top:-4px; }
.guide-hero { min-height:100%; position:relative; overflow:hidden; }
.guide-hero img { width:100%; height:100%; display:block; object-fit:cover; }
.lift-slide { grid-template-columns:38% 62%; }
.compact-check-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.compact-check { min-height:57px; padding:9px 10px; display:flex; align-items:flex-start; gap:9px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); text-align:left; }
.compact-check>i,.review-card-copy>i,.property-card-copy>i,.detail-review-copy>i,.text-review-card>i,.van-order-card>i { width:19px; height:19px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #8f9b94; border-radius:50%; background:white; font-style:normal; }
.compact-check span { font-size:9px; line-height:1.4; }
.compact-check.is-checked,.text-review-card.is-checked,.van-order-card.is-checked { border-color:var(--gold); background:#f2eee5; }
.compact-check.is-checked>i,.review-card.is-checked .review-card-copy>i,.property-card.is-checked .property-card-copy>i,.detail-review-card.is-checked .detail-review-copy>i,.text-review-card.is-checked>i,.van-order-card.is-checked>i { border-color:var(--gold); background:var(--gold); color:var(--ink); }
.compact-check.is-checked>i::after,.review-card.is-checked .review-card-copy>i::after,.property-card.is-checked .property-card-copy>i::after,.detail-review-card.is-checked .detail-review-copy>i::after,.text-review-card.is-checked>i::after,.van-order-card.is-checked>i::after { content:"✓"; font-size:10px; font-weight:900; }
.strong-callout { margin:10px 0 0; padding:9px 12px; border-left:3px solid var(--coral); background:#f1e5df; color:#7c3f32; font-size:9px; font-weight:800; line-height:1.45; }

.review-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.review-card,.property-card,.detail-review-card { padding:0; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:white; color:var(--ink); text-align:left; }
.review-card>img { width:100%; height:clamp(145px,23vh,225px); display:block; object-fit:cover; }
.review-card.footwear-card>img { object-position:center bottom; }
.review-card-copy,.property-card-copy,.detail-review-copy { padding:12px; display:grid; grid-template-columns:22px 1fr; gap:5px 8px; }
.review-card-copy>i,.property-card-copy>i,.detail-review-copy>i { grid-row:1/6; }
.review-card-copy>b,.property-card-copy>b,.detail-review-copy>b { font:400 17px Georgia,serif; }
.review-card-copy small,.property-card-copy small,.detail-review-copy small { color:var(--muted); font-size:8px; line-height:1.42; }
.review-card-copy strong,.detail-review-copy strong { color:#8c6840; font-size:8px; line-height:1.4; }
.review-card.is-checked,.property-card.is-checked,.detail-review-card.is-checked { border-color:var(--gold); box-shadow:inset 0 0 0 1px var(--gold); }

.property-card-grid,.property-care-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.property-card { display:grid; grid-template-columns:43% 57%; }
.property-card>img { width:100%; height:100%; min-height:330px; display:block; object-fit:cover; }
.property-card-copy { align-content:center; }
.property-card-copy>b { font-size:20px; }
.property-card-copy small { font-size:9px; line-height:1.55; }
.detail-review-card { display:grid; grid-template-columns:37% 63%; }
.detail-review-card>img { width:100%; height:100%; min-height:360px; display:block; object-fit:cover; }
.property-care-grid .detail-review-card:first-child>img { object-fit:contain; background:#eceae4; }
.detail-review-copy { align-content:center; padding:14px; }
.detail-review-copy>b { font-size:19px; }
.detail-review-copy small { font-size:8px; line-height:1.43; }

.furniture-visuals { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:8px; }
.furniture-visuals img { width:100%; height:clamp(140px,21vh,210px); display:block; object-fit:cover; border-radius:4px; }
.furniture-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.text-review-card { min-height:133px; padding:11px; display:flex; align-items:flex-start; gap:8px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); text-align:left; }
.text-review-card span { display:block; }
.text-review-card b { display:block; margin-bottom:6px; font:400 15px Georgia,serif; }
.text-review-card small { display:block; color:var(--muted); font-size:8px; line-height:1.42; }

.van-heading-row { display:grid; grid-template-columns:1fr 34%; gap:20px; align-items:center; }
.van-heading-row img { width:100%; height:clamp(120px,19vh,185px); display:block; object-fit:cover; border-radius:4px; }
.van-order-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.van-order-card { min-height:86px; padding:10px; display:grid; grid-template-columns:22px 28px 1fr; grid-template-rows:auto auto; gap:2px 7px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); text-align:left; }
.van-order-card>i { grid-row:1/3; }
.van-order-card>span { grid-row:1/3; color:var(--gold); font:400 18px Georgia,serif; }
.van-order-card>b { font:400 14px Georgia,serif; }
.van-order-card>small { color:var(--muted); font-size:8px; line-height:1.35; }
.van-principles { margin-top:9px; padding:10px 12px; display:grid; grid-template-columns:130px repeat(4,1fr); gap:7px 12px; border:1px solid var(--line); background:#f1efe9; }
.van-principles>b { grid-row:1/3; color:var(--green); font:400 17px Georgia,serif; }
.van-principles span { position:relative; padding-left:13px; color:var(--muted); font-size:7px; line-height:1.35; }
.van-principles span::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }

.final-check-slide { background:linear-gradient(135deg,#16211b,#293a31); }
.full-check-content { max-width:1500px; margin:auto; align-self:center; }
.final-intro { margin:-8px 0 8px; color:#bdc9c2; font-size:9px; }
.twelve-checks { max-width:none; grid-template-columns:repeat(4,1fr); gap:6px; }
.twelve-checks .check-item { min-height:74px; grid-template-columns:76px 1fr; }
.twelve-checks .check-item img { width:76px; min-height:74px; }
.twelve-checks .check-item>span { padding:23px 8px 8px; font-size:7px; }
.final-check-slide .memory-line { max-width:none; }
.final-warning { margin:8px 0 0; color:#e0c18e; font-size:8px; font-weight:800; text-align:center; }

.standard-intro,.standard-note,.standard-welcome { max-width:690px; color:var(--muted); font-size:9px; line-height:1.45; }
.standard-intro { margin:-8px 0 10px; }
.standard-note { margin:0 0 7px; }
.standard-welcome { margin:0 0 12px; color:var(--green); font-weight:800; }

@media(max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1180px) {
  .guide-slide.is-active,.lift-slide.is-active { display:block; }
  .guide-slide-content { padding:25px 16px 32px; }
  .guide-slide h2 { font-size:39px; }
  .guide-hero { min-height:32svh; }
  .guide-hero img { height:32svh; }
  .compact-check-grid,.review-card-grid,.property-card-grid,.property-care-grid,.furniture-detail-grid,.van-order-grid { grid-template-columns:1fr; }
  .compact-check { min-height:52px; }
  .review-card { display:grid; grid-template-columns:38% 62%; }
  .review-card>img { width:100%; height:100%; min-height:215px; }
  .review-card-copy>b { font-size:16px; }
  .review-card-copy small { font-size:8px; }
  .property-card,.detail-review-card { grid-template-columns:1fr; }
  .property-card>img,.detail-review-card>img { min-height:0; height:32svh; }
  .property-card-copy,.detail-review-copy { padding:14px; }
  .property-card-copy small,.detail-review-copy small { font-size:9px; }
  .furniture-visuals { grid-template-columns:1fr 1fr; }
  .furniture-visuals img { height:27svh; }
  .text-review-card { min-height:0; }
  .text-review-card small { font-size:9px; }
  .van-heading-row { grid-template-columns:1fr; }
  .van-heading-row img { height:30svh; }
  .van-order-card { min-height:76px; }
  .van-principles { grid-template-columns:1fr; }
  .van-principles>b { grid-row:auto; }
  .van-principles span { font-size:9px; }
  .twelve-checks { grid-template-columns:1fr; }
  .twelve-checks .check-item { min-height:88px; grid-template-columns:106px 1fr; }
  .twelve-checks .check-item img { width:106px; min-height:88px; }
  .twelve-checks .check-item>span { padding:24px 33px 9px 12px; font-size:9px; }
  .full-check-content { padding:26px 16px 35px; }
  .standard-intro,.standard-note,.standard-welcome { font-size:10px; }
}

@media(max-width:430px) {
  .review-card { grid-template-columns:1fr; }
  .review-card>img { height:31svh; min-height:0; }
  .review-card.footwear-card>img { height:auto; min-height:0; object-fit:contain; object-position:center bottom; background:#eceae4; }
  .furniture-visuals { grid-template-columns:1fr; }
  .furniture-visuals img { height:31svh; }
}

/* Fallback for mobile Safari and in-app browsers that report a tablet/desktop CSS width. */
html.mobile-shell body { overflow:auto; }
html.mobile-shell .training-header { height:58px; }
html.mobile-shell .header-progress span:last-child,
html.mobile-shell .nav-dots { display:none; }
html.mobile-shell .slide { min-height:var(--app-height,100svh); overflow:visible; }
html.mobile-shell .slide:not(.welcome-slide):not(.certificate-slide) { padding-top:58px; padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
html.mobile-shell .welcome-slide,
html.mobile-shell .brand-slide,
html.mobile-shell .standard-slide { grid-template-columns:1fr; }
html.mobile-shell .guide-slide.is-active,
html.mobile-shell .lift-slide.is-active { display:block; }
html.mobile-shell .welcome-photo,
html.mobile-shell .photo-panel { min-height:34svh; }
html.mobile-shell .welcome-panel,
html.mobile-shell .content-panel,
html.mobile-shell .standard-copy { padding:29px 20px 35px; }
html.mobile-shell .logo { width:150px; margin-bottom:24px; }
html.mobile-shell .welcome-slide h1 { font-size:52px; }
html.mobile-shell .name-row { flex-direction:column; }
html.mobile-shell .name-row button { justify-content:space-between; }
html.mobile-shell .brand-slide .photo-panel { grid-row:2; }
html.mobile-shell .pillar-grid.visual-tick-grid,
html.mobile-shell .compact-check-grid,
html.mobile-shell .review-card-grid,
html.mobile-shell .property-card-grid,
html.mobile-shell .property-care-grid,
html.mobile-shell .furniture-detail-grid,
html.mobile-shell .van-order-grid,
html.mobile-shell .twelve-checks { grid-template-columns:1fr; }
html.mobile-shell .overlay-content,
html.mobile-shell .guide-slide-content,
html.mobile-shell .full-check-content { padding:25px 16px 32px; }
html.mobile-shell .guide-hero { min-height:32svh; }
html.mobile-shell .guide-hero img { height:32svh; }
html.mobile-shell .property-card,
html.mobile-shell .detail-review-card { grid-template-columns:1fr; }
html.mobile-shell .property-card>img,
html.mobile-shell .detail-review-card>img { min-height:0; height:32svh; }
html.mobile-shell .furniture-detail-grid,
html.mobile-shell .van-order-grid { display:grid; }
html.mobile-shell .van-heading-row { grid-template-columns:1fr; }
html.mobile-shell .van-heading-row img { height:30svh; }
html.mobile-shell .van-principles { grid-template-columns:1fr; }
html.mobile-shell .van-principles>b { grid-row:auto; }
html.mobile-shell .twelve-checks .check-item { min-height:88px; grid-template-columns:106px 1fr; }
html.mobile-shell .twelve-checks .check-item img { width:106px; min-height:88px; }
html.mobile-shell .twelve-checks .check-item>span { padding:24px 33px 9px 12px; font-size:9px; }
html.mobile-shell .standard-brand { min-height:32svh; padding:32px 20px; }
html.mobile-shell .standard-lines { grid-template-columns:1fr; }
html.mobile-shell .certificate-slide { padding:10px; }
html.mobile-shell .certificate { aspect-ratio:auto; min-height:700px; padding:28px 25px; }
html.mobile-shell .certificate>strong { width:100%; font-size:30px; }
html.mobile-shell .certificate-meta { grid-template-columns:1fr 1fr; }
html.mobile-shell .certificate-meta>div:last-child { grid-column:1/-1; }
html.mobile-shell .slide-nav { height:calc(84px + env(safe-area-inset-bottom,0px)); padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px)); align-items:start; }
html.mobile-shell .slide-nav button { min-height:42px; }
