/* V55: visible content, purposeful actions, responsive supporting sections. */
html{scroll-padding-top:110px}
:focus-visible{outline:3px solid #db3545;outline-offset:5px}
.reveal{opacity:1!important;transform:none!important}
.hero-trust{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.hero-trust span{display:inline-flex;align-items:center;min-height:31px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:900;letter-spacing:.1em;line-height:1.25}
.hero-trust span:first-child{border-color:#c62431;background:rgba(198,36,49,.12)}
.hero-intro{font-size:16px;line-height:1.65;max-width:570px;color:#c7c7c7;margin:17px 0 0}
.hero-intro strong{color:#fff;font-weight:800}
.quality-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.quality-btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:14px 20px;background:#b8212f;color:white!important;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.06em;line-height:1.4;border:1px solid #b8212f;cursor:pointer}
.quality-btn:hover{background:#921c28}
.quality-btn.outline{background:transparent;border-color:#888}
.hero .icons{margin-top:24px}
.proof-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:30px 5%;gap:24px;background:#101010;border-top:1px solid #303030;border-bottom:1px solid #303030}
.proof-strip a{color:white;text-decoration:none;border-left:2px solid #b8212f;padding-left:20px}
.proof-strip strong{display:block;font-size:28px;line-height:1.2}
.proof-strip span{display:block;color:#bbb;font-size:14px;margin-top:9px;line-height:1.5}
.quality-class{background:#141414;color:white;padding:38px;margin:44px auto 0;width:90%;max-width:1600px;border-left:4px solid #c62432;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center}
.quality-class h3{font-size:clamp(28px,3vw,46px);line-height:1.05;letter-spacing:-.04em;margin:10px 0 18px}
.quality-class p{color:#ccc;font-size:16px;line-height:1.65;max-width:650px}
.quality-class small{display:block;font-size:14px;color:#bbb;line-height:1.6;margin:16px 0}
.class-link{display:inline-block;font-size:14px;color:inherit!important;text-decoration:underline;text-underline-offset:5px;padding:14px 0 4px}
.quality-faq{background:#f3f1ec;color:#111;padding:80px 0}
.quality-faq h2{font-size:clamp(38px,5vw,70px);line-height:1;letter-spacing:-.04em;margin:18px 0 36px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;align-items:start}
.faq-grid details{border-top:1px solid #c7c7c7;padding:22px 0}
.faq-grid summary{font-size:18px;font-weight:700;cursor:pointer;line-height:1.45}
.faq-grid p{font-size:16px;line-height:1.7;max-width:650px;margin:16px 0 0}
.project-credit{font-size:14px!important;color:#b8b8b8!important;border-top:1px solid #555;padding-top:18px}
.lightbox-stage{max-height:88vh;overflow:auto}
.lightbox-stage>div{min-width:0;padding:24px}
.lightbox-stage p{font-size:16px!important;line-height:1.6!important}
.lightbox-stage .quality-btn{margin-top:20px}
.project-lightbox-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:20px}
.project-lightbox-actions .quality-btn{justify-content:center;margin-top:0;text-align:center}
.instagram-lab{padding:90px 0 100px;background:#0b0b0b;color:#fff;border-top:1px solid #292929}
.instagram-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:60px;align-items:end;margin-bottom:38px}
.instagram-head h2{font-size:clamp(54px,7.5vw,118px);line-height:.82;letter-spacing:-.065em;margin-top:14px}
.instagram-head>div:last-child{padding-left:20px;border-left:3px solid var(--red2)}
.instagram-head p{color:#aaa;font-size:16px;line-height:1.65;margin-bottom:22px}
.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.instagram-card{position:relative;overflow:hidden;background:#141414;color:#fff;text-decoration:none;min-height:520px;border:1px solid #303030}
.instagram-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .45s ease}
.instagram-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.94) 100%)}
.instagram-card::after{content:"VIEW ON IG  ↗";position:absolute;right:18px;top:18px;z-index:3;padding:9px 11px;background:var(--red2);font-size:11px;font-weight:900;letter-spacing:.1em}
.instagram-card span,.instagram-card strong{position:absolute;left:22px;right:22px;z-index:2}
.instagram-card span{bottom:76px;color:#ddd;font-size:12px;font-weight:900;letter-spacing:.13em}
.instagram-card strong{bottom:22px;font-size:22px;line-height:1;letter-spacing:-.035em}
.instagram-card:hover img,.instagram-card:focus-visible img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04)}
.instagram-card:focus-visible{outline:3px solid var(--red2);outline-offset:4px}
.lightbox-close{z-index:5;min-width:44px;min-height:44px}
.project-card.archive-hidden{display:none!important}
.project-expand{margin:30px 0}
.service-copy p,.academy-v12-card p{font-size:16px!important;line-height:1.5!important}
.academy-v12-card{height:auto!important;min-height:0!important}
.academy-v12-card>div{height:auto!important;min-height:160px!important;padding:18px!important}
.academy-v12-card h3{font-size:16px!important;line-height:1.3!important}
.class-recap-shell{padding:54px 4.2% 72px;background:#f3f1ec}
.class-recap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center;max-width:1500px;margin:0 auto;padding:30px 34px;background:#0d0d0d;color:#fff;border:1px solid #292929}
.class-recap-label{color:#c62431;font-size:12px;font-weight:800;letter-spacing:.2em}
.class-recap-copy h3{font-size:clamp(34px,3.5vw,56px);line-height:.92;letter-spacing:-.045em;margin:10px 0 14px}
.class-recap-copy>p{max-width:670px;margin:0;color:#aaa;font-size:15px;line-height:1.6}
.class-recap-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.class-recap-actions .quality-btn{margin:0}
.class-recap-days{display:grid;grid-template-columns:repeat(4,145px);gap:14px}
.class-recap-day{overflow:hidden;background:#171717;border:1px solid #333}
.class-recap-media{width:100%;padding:6px;background:#111}
.class-recap-media video{display:block;width:100%;height:auto;max-height:260px;aspect-ratio:9/16;object-fit:contain;background:#050505}
.class-recap-day-copy{display:grid;gap:3px;padding:11px 12px 13px;border-top:1px solid #333}
.class-recap-day-copy span{color:#c62431;font-size:11px;font-weight:900;letter-spacing:.16em}
.class-recap-day-copy strong{font-size:14px;line-height:1.15;letter-spacing:.035em}
.class-recap-day-copy small{color:#898989;font-size:11px;font-weight:700;letter-spacing:.08em}
.intro{display:flex!important;align-items:center;justify-content:center;background:#050505!important}
.intro.hide{display:none!important}
.intro-brand{
 position:absolute;z-index:2;left:50%;top:50%;width:clamp(82px,9vw,150px);height:auto;
 transform:translate(-50%,-50%);filter:drop-shadow(0 16px 30px rgba(0,0,0,.48));
 animation:introBrand 1.4s ease both;
}
@keyframes introBrand{0%{opacity:0;transform:translate(-50%,-42%) scale(.86)}35%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-55%) scale(1.04)}}
#watchIntro{margin-top:20px;color:#111!important;border-color:#777}
.hero{height:auto!important;min-height:850px!important;padding-top:150px!important;padding-bottom:100px!important}
.hero>.wrap{min-height:580px}
.hero-copy{width:50%!important}
.hero .sora-wave{
 position:absolute!important;top:auto!important;right:3%!important;bottom:0!important;
 width:auto!important;height:min(72vh,700px)!important;max-width:44vw!important;
 max-height:calc(100% - 36px)!important;object-fit:contain!important;object-position:right bottom!important;
}
.student-feature{padding:18px!important;background:#e9e6df!important}
.student-feature img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
.project-info p{opacity:1!important;font-size:16px!important;line-height:1.4}
.project-info{transform:none!important}
.skip-content{position:fixed;top:10px;left:10px;z-index:100000;transform:translateY(-200%);background:white;color:black;padding:16px}
.skip-content:focus{transform:none}
@media(max-width:1000px){.proof-strip{grid-template-columns:1fr 1fr}.quality-class{grid-template-columns:1fr}.hero-intro{max-width:380px}.quality-actions{max-width:380px}}
@media(max-width:900px){.instagram-head{grid-template-columns:1fr;gap:24px}.instagram-head>div:last-child{max-width:650px}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-card:last-child{grid-column:1/-1}}
@media(max-width:900px){.class-recap{gap:26px;padding:24px}.class-recap-days{grid-template-columns:repeat(2,138px)}}
@media(max-width:700px){
 html{scroll-padding-top:85px}
 .hero{height:auto!important;min-height:0!important;padding-top:115px!important;padding-bottom:0!important;display:block!important}
 .hero>.wrap{min-height:0!important;display:flex;flex-direction:column}
 .hero-copy{position:relative!important;width:100%!important;max-width:100%!important;z-index:3}
 .hero-intro{max-width:100%;font-size:16px}
 .hero-trust{gap:6px;margin-top:17px}.hero-trust span{min-height:29px;padding:6px 8px;font-size:10px;letter-spacing:.075em}
 .hero .sora-wave{position:relative!important;top:auto!important;width:320px!important;max-width:85vw!important;max-height:none!important;height:auto!important;right:auto!important;bottom:auto!important;align-self:flex-end;margin-top:30px;animation:none!important}
 .student-feature{padding:8px!important}
 .class-recap-shell{padding:36px 18px 52px}.class-recap{grid-template-columns:1fr;gap:20px;padding:18px}.class-recap-days{grid-template-columns:repeat(2,minmax(0,138px));justify-content:start;gap:10px}.class-recap-media{padding:4px}.class-recap-media video{max-height:225px}.class-recap-label{font-size:11px;letter-spacing:.13em}.class-recap-copy h3{font-size:clamp(30px,9vw,42px);margin:7px 0 9px}.class-recap-copy>p{font-size:14px;line-height:1.5}.class-recap-actions{gap:7px;margin-top:12px}.class-recap-actions .quality-btn{padding:10px 11px;font-size:11px}.class-recap-day-copy{padding:9px}.class-recap-day-copy strong{font-size:12px}.class-recap-day-copy small{font-size:10px}
 .instagram-lab{padding:60px 0 72px}.instagram-head h2{font-size:clamp(54px,18vw,88px)}.instagram-head>div:last-child{padding-left:14px}.instagram-grid{grid-template-columns:1fr}.instagram-card,.instagram-card:last-child{grid-column:auto;min-height:440px}
 .hero .scroll-cue{display:none}
 .hero .icons{max-width:100%;gap:16px;flex-wrap:wrap}
 .hero-side{display:none}
 .proof-strip{gap:24px 14px;padding:26px 6%}.proof-strip strong{font-size:24px}
 .quality-class{padding:26px 22px}
 .faq-grid{grid-template-columns:1fr}
 .quality-faq{padding:56px 0}
 .lightbox-stage{display:flex!important;flex-direction:column;width:94vw!important;max-height:84vh}
 .lightbox-stage>img{width:100%!important;height:auto!important;max-height:42vh;object-fit:contain}
 .quality-actions .quality-btn{flex:1}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* V63 — visible game navigation and interactive playground */
.links .nav-play{display:inline-flex;align-items:center;gap:7px;padding:11px 14px!important;background:#c62431;color:#fff!important;white-space:nowrap;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}
.links .nav-play span{font-size:10px}.links .nav-play::after{display:none!important}.links .nav-play:hover{background:#e02b3a;color:#fff!important;transform:translateY(-1px)}
.quality-actions .hero-game-link{flex-basis:100%;width:max-content;display:inline-flex;align-items:center;gap:8px;margin-top:2px;padding:7px 0 5px;color:#c9c9c9;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.11em;line-height:1.35}
.quality-actions .hero-game-link span{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #c62431;color:#c62431;font-size:9px;transition:background .2s ease,color .2s ease}
.quality-actions .hero-game-link b{color:#c62431;font-size:13px;font-weight:900}
.quality-actions .hero-game-link:hover,.quality-actions .hero-game-link:focus-visible{color:#fff}
.quality-actions .hero-game-link:hover span,.quality-actions .hero-game-link:focus-visible span{background:#c62431;color:#fff}
.playground{position:relative;overflow:hidden;padding:90px 0;background:#111;color:#fff;border-top:1px solid #292929;border-bottom:1px solid #292929}
.playground::after{content:"PLAY";position:absolute;right:-.04em;bottom:-.28em;color:rgba(255,255,255,.025);font-size:clamp(180px,29vw,460px);font-weight:900;line-height:.8;letter-spacing:-.09em;pointer-events:none}
.playground-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:54px;align-items:end;margin-bottom:34px}
.playground-kicker{margin-bottom:15px;color:#d12b39;font-size:12px;font-weight:900;letter-spacing:.22em}
.playground h2{margin:0;font-size:clamp(64px,8vw,126px);line-height:.76;letter-spacing:-.075em}.playground h2 span{color:#d12b39}
.playground-intro{padding:0 0 5px 22px;border-left:3px solid #d12b39}.playground-intro p{max-width:470px;margin:0 0 20px;color:#b9b9b9;font-size:16px;line-height:1.6}
.playground-intro a{display:inline-flex;color:#fff;font-size:12px;font-weight:900;letter-spacing:.12em;border-bottom:1px solid #d12b39;padding-bottom:6px}
.playground-frame{position:relative;z-index:1;max-width:1240px;margin:0 auto;background:#211d22;border:1px solid #45323b;box-shadow:0 25px 70px rgba(0,0,0,.38)}
.playground-bar{height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #45323b;background:#171417}
.playground-bar span,.playground-bar small{font-size:11px;font-weight:900;letter-spacing:.15em}.playground-bar span{color:#e34551}.playground-bar small{color:#898189}
.playground-frame iframe{display:block;width:100%;height:760px;border:0;background:#f4f2ef}
@media(max-width:1100px){.links{gap:12px!important}.links .nav-play{padding:10px 11px!important;font-size:10px}.playground-head{grid-template-columns:1fr;gap:25px}.playground-intro{max-width:620px}.playground-frame iframe{height:720px}}
@media(max-width:900px){.links .nav-play{display:flex!important;width:100%;justify-content:center;padding:13px 15px!important}.playground{padding:62px 0}.playground-head{margin-bottom:24px}.playground-kicker{font-size:11px;letter-spacing:.16em}.playground h2{font-size:clamp(58px,18vw,84px)}.playground-intro{padding-left:15px}.playground-intro p{font-size:15px}.playground-bar{height:43px;padding:0 12px}.playground-bar small{display:none}.playground-frame iframe{height:690px}}
@media(max-width:700px){.quality-actions .hero-game-link{justify-content:flex-start;margin-top:0;padding-top:8px}}

/* V72 — ASK SORA guided customer assistant */
.ask-sora{position:fixed;right:22px;bottom:18px;z-index:8000;font-family:inherit;color:#fff}
.ask-sora-launcher{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:178px;height:78px;padding:0 17px 0 77px;border:1px solid #4a4a4a;background:#0b0b0b;color:#fff;cursor:pointer;box-shadow:0 18px 50px rgba(0,0,0,.34);transition:transform .22s ease,border-color .22s ease,background .22s ease}
.ask-sora-launcher:hover,.ask-sora-launcher:focus-visible{transform:translateY(-3px);border-color:#d42a38;background:#151515}
.ask-sora-launcher img{position:absolute;left:-18px;bottom:0;width:96px;height:106px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 12px rgba(0,0,0,.42));pointer-events:none}
.ask-sora-launcher span{display:grid;gap:3px;text-align:left;font-size:14px;font-weight:900;letter-spacing:.11em;line-height:1.1}
.ask-sora-launcher small{color:#d42a38;font-size:9px;font-weight:900;letter-spacing:.13em}
.ask-sora-panel{position:absolute;right:0;bottom:94px;width:min(392px,calc(100vw - 28px));max-height:min(660px,calc(100vh - 120px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #3a3a3a;background:#0c0c0c;box-shadow:0 28px 80px rgba(0,0,0,.58);transform-origin:right bottom;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.ask-sora-panel[hidden]{display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.97)}
.ask-sora-panel:not([hidden]){opacity:1;visibility:visible;transform:none}
.ask-sora-head{position:relative;min-height:116px;padding:24px 126px 18px 22px;background:linear-gradient(110deg,#a91d2a,#ce2937);overflow:hidden;border-bottom:1px solid #e54b57}
.ask-sora-head::after{content:"+";position:absolute;right:93px;top:-35px;color:rgba(255,255,255,.11);font-size:145px;font-weight:900;line-height:1}
.ask-sora-head img{position:absolute;z-index:2;right:-12px;bottom:-3px;width:145px;height:102px;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 11px 12px rgba(0,0,0,.3))}
.ask-sora-head strong{position:relative;z-index:3;display:block;font-size:21px;letter-spacing:.045em;line-height:1}
.ask-sora-head span{position:relative;z-index:3;display:block;margin-top:8px;color:#ffe9eb;font-size:11px;font-weight:800;letter-spacing:.1em;line-height:1.4}
.ask-sora-close{position:absolute;z-index:4;right:10px;top:10px;width:34px;height:34px;border:1px solid rgba(255,255,255,.48);background:rgba(0,0,0,.25);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.ask-sora-close:hover,.ask-sora-close:focus-visible{background:#fff;color:#111}
.ask-sora-body{overflow:auto;padding:20px 18px 18px;background:#111;overscroll-behavior:contain}
.ask-sora-message{margin:0 0 17px;padding:13px 14px;border-left:3px solid #d42a38;background:#1c1c1c;color:#d5d5d5;font-size:14px;line-height:1.55}
.ask-sora-message strong{color:#fff}
.ask-sora-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ask-sora-option{min-height:61px;padding:10px 11px;border:1px solid #3a3a3a;background:#151515;color:#fff;text-align:left;font:inherit;font-size:11px;font-weight:900;letter-spacing:.055em;line-height:1.35;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.ask-sora-option:hover,.ask-sora-option:focus-visible{background:#242424;border-color:#d42a38;transform:translateY(-1px)}
.ask-sora-option b{display:block;margin-bottom:6px;color:#d42a38;font-size:16px}
.ask-sora-option-wide{grid-column:1/-1;min-height:48px;background:#bd2230;border-color:#bd2230;text-align:center}
.ask-sora-option-wide b{display:inline;margin:0 7px 0 0;color:#fff;font-size:12px}
.ask-sora-back{display:inline-flex;margin:0 0 14px;padding:0;border:0;background:transparent;color:#aaa;font:inherit;font-size:11px;font-weight:900;letter-spacing:.09em;cursor:pointer}
.ask-sora-back:hover,.ask-sora-back:focus-visible{color:#fff}
.ask-sora-service-actions{display:grid;gap:8px}
.ask-sora-service-actions a,.ask-sora-service-actions button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 13px;border:1px solid #555;background:transparent;color:#fff;text-decoration:none;font:inherit;font-size:11px;font-weight:900;letter-spacing:.07em;cursor:pointer}
.ask-sora-service-actions .primary{background:#bd2230;border-color:#bd2230}
.ask-sora-service-actions a:hover,.ask-sora-service-actions button:hover,.ask-sora-service-actions a:focus-visible,.ask-sora-service-actions button:focus-visible{background:#fff;border-color:#fff;color:#111}
.ask-sora-form{display:grid;gap:11px}
.ask-sora-form label{display:grid;gap:5px;color:#bdbdbd;font-size:10px;font-weight:900;letter-spacing:.1em}
.ask-sora-form input,.ask-sora-form select,.ask-sora-form textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid #404040;border-radius:0;background:#181818;color:#fff;font:inherit;font-size:14px;line-height:1.35;outline:none}
.ask-sora-form textarea{min-height:70px;resize:vertical}
.ask-sora-form input:focus,.ask-sora-form select:focus,.ask-sora-form textarea:focus{border-color:#d42a38;box-shadow:0 0 0 2px rgba(212,42,56,.18)}
.ask-sora-submit{min-height:48px;border:1px solid #bd2230;background:#bd2230;color:#fff;font:inherit;font-size:12px;font-weight:900;letter-spacing:.08em;cursor:pointer}
.ask-sora-submit:hover,.ask-sora-submit:focus-visible{background:#fff;border-color:#fff;color:#111}
.ask-sora-foot{padding:10px 18px;border-top:1px solid #2b2b2b;background:#0a0a0a;color:#777;font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1.4;text-align:center}
@media(max-width:700px){.ask-sora{right:12px;bottom:10px}.ask-sora-launcher{min-width:145px;height:64px;padding-left:62px;padding-right:12px}.ask-sora-launcher img{left:-15px;width:78px;height:88px}.ask-sora-launcher span{font-size:12px}.ask-sora-panel{bottom:76px;max-height:calc(100vh - 98px)}.ask-sora-options{grid-template-columns:1fr 1fr}.ask-sora-head{min-height:104px;padding:21px 116px 15px 18px}.ask-sora-head img{width:132px;height:92px}.ask-sora-body{padding:16px 14px}}
@media(max-width:380px){.ask-sora-options{grid-template-columns:1fr}.ask-sora-option-wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.ask-sora-launcher,.ask-sora-panel,.ask-sora-option{transition:none}}

/* V91 — UNIFIED ACADEMY COMPOSITION */
#academy.academy{padding:0 0 96px!important;background:#f2f0eb!important;color:#0b0b0b!important;overflow:hidden!important}
.academy-v12-wrap,.class-recap,.student-reviews,.student-outcomes{width:min(92%,1480px)!important;max-width:1480px!important;box-sizing:border-box!important}
.academy-v12-wrap{min-height:0!important;margin:0 auto!important;padding:92px 0 76px!important;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr)!important;gap:clamp(42px,5vw,82px)!important;align-items:stretch!important}
.academy-v12-intro{height:auto!important;min-height:690px!important;padding:6px 0 0!important;overflow:hidden!important}
.academy-v12-intro h2{font-size:clamp(74px,7vw,112px)!important}
.academy-v12-sora{left:-70px!important;bottom:-20px!important;width:min(620px,47vw)!important;max-height:470px!important;object-position:left bottom!important}
.academy-v12-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-content:center!important}
.academy-v12-card{height:auto!important;min-height:0!important;background:#e7e4de!important;border:1px solid #cbc7c0!important}
.academy-v12-card>img{height:auto!important;flex-basis:auto!important;aspect-ratio:3375/4219!important;object-fit:contain!important;object-position:center!important;background:#fff!important;border-bottom:1px solid #cbc7c0!important}
.academy-v12-card>div{height:auto!important;min-height:132px!important;padding:20px 18px!important;justify-content:flex-start!important;background:#e7e4de!important}
.academy-v12-card h3{min-height:42px!important;margin:0 0 9px!important;font-size:16px!important;line-height:1.2!important}
.academy-v12-card p{font-size:14px!important;line-height:1.45!important}
.class-recap-shell{padding:0!important;background:transparent!important}
.class-recap{margin:0 auto!important;padding:52px!important;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr)!important;gap:clamp(36px,5vw,76px)!important;align-items:center!important;border-top:4px solid var(--red2)!important}
.class-recap-days{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.class-recap-day{display:flex!important;min-width:0!important;flex-direction:column!important}
.class-recap-media{padding:5px!important}
.class-recap-day-copy{min-height:105px!important;padding:14px!important;align-content:start!important}
.class-recap-day-copy strong{font-size:13px!important;line-height:1.25!important}
.student-reviews{margin:18px auto 0!important;padding:52px!important;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr)!important;gap:clamp(38px,5vw,78px)!important;box-shadow:none!important}
.student-review-card{min-height:205px!important}
.student-outcomes{margin:18px auto 0!important;padding:78px 0 0!important;border-top:1px solid #cbc7c0!important}
.student-outcomes-head{grid-template-columns:minmax(0,1fr) minmax(300px,470px)!important;gap:64px!important;margin-bottom:42px!important}
.student-outcomes-title{font-size:clamp(58px,6.5vw,102px)!important}
.student-feature{margin-bottom:16px!important}
.student-session-grid{gap:16px!important}
.student-session-meta{min-height:230px!important;padding:26px!important}
.student-appreciation{margin-top:34px!important;padding:30px!important;background:#e4e1db!important;border:1px solid #cbc7c0!important}
@media(max-width:1100px){
  .academy-v12-wrap{grid-template-columns:1fr!important;padding:72px 0!important}
  .academy-v12-intro{min-height:610px!important}
  .academy-v12-sora{left:-35px!important;width:min(570px,70vw)!important}
  .class-recap{grid-template-columns:1fr!important}
  .student-reviews{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  #academy.academy{padding-bottom:68px!important}
  .academy-v12-wrap,.class-recap,.student-reviews,.student-outcomes{width:calc(100% - 32px)!important}
  .academy-v12-wrap{padding:60px 0 52px!important}
  .academy-v12-intro{min-height:530px!important}
  .academy-v12-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .academy-v12-card>div{min-height:120px!important;padding:16px 14px!important}
  .academy-v12-card h3{font-size:14px!important;min-height:36px!important}
  .academy-v12-card p{font-size:13px!important}
  .class-recap{padding:28px 22px!important}
  .class-recap-days{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .student-reviews{padding:34px 22px!important}
  .student-review-grid{grid-template-columns:1fr!important}
  .student-outcomes{padding-top:58px!important}
  .student-outcomes-head{grid-template-columns:1fr!important;gap:24px!important}
}
@media(max-width:470px){.academy-v12-grid{grid-template-columns:1fr!important}.academy-v12-card>img{aspect-ratio:3375/4219!important}.academy-v12-card h3{min-height:0!important}}
/* ===== V77 SORA LORE ===== */
.nav-lore{color:#ef3a48 !important}
.sora-lore-teaser{padding:clamp(65px,8vw,120px) 0;background:radial-gradient(circle at 76% 45%,rgba(170,24,37,.25),transparent 33%),#090909;color:#fff;border-top:1px solid #242424;border-bottom:1px solid #242424}
.sora-lore-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);gap:clamp(48px,8vw,120px);align-items:center}
.sora-lore-cover{position:relative;display:block;max-width:520px;border:1px solid #383838;background:#151515;box-shadow:0 35px 90px rgba(0,0,0,.55);transition:transform .3s ease,border-color .3s ease}
.sora-lore-cover:hover{transform:translateY(-8px) rotate(-.6deg);border-color:#c42b35}.sora-lore-cover img{width:100%;height:auto}.sora-lore-cover span{position:absolute;left:14px;bottom:14px;padding:9px 11px;background:rgba(7,7,7,.88);font-size:9px;font-weight:900;letter-spacing:.14em}
.sora-lore-kicker{color:#e73644;font-size:11px;font-weight:900;letter-spacing:.2em}.sora-lore-copy h2{margin:14px 0 28px;font-size:clamp(58px,7.4vw,112px);line-height:.78;letter-spacing:-.07em}.sora-lore-copy h2 span{color:#c42b35}.sora-lore-copy>p{max-width:650px;color:#aaa;font-size:14px;line-height:1.7}.sora-lore-copy .sora-lore-lead{color:#eee;font-size:clamp(18px,2vw,27px);font-weight:800;line-height:1.35}.sora-lore-release{display:grid;gap:9px;margin:31px 0;padding:20px 0;border-top:1px solid #393939;border-bottom:1px solid #393939}.sora-lore-release b{color:#e73644;font-size:9px;letter-spacing:.16em}.sora-lore-release span{font-size:12px;font-weight:900;letter-spacing:.08em}.sora-lore-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.sora-lore-actions .quality-btn{margin:0}.sora-lore-actions .outline{background:transparent;color:#fff;border-color:#595959}
@media(max-width:820px){.sora-lore-layout{grid-template-columns:1fr}.sora-lore-cover{max-width:430px;margin:auto}.sora-lore-copy{text-align:left}.sora-lore-copy h2{font-size:clamp(54px,16vw,84px)}}
/* ===== V76 STUDENT REVIEWS ===== */
.student-reviews{
  width:min(1380px,calc(100% - 64px));
  margin:76px auto 0;
  padding:clamp(42px,5vw,74px);
  background:#101010;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);
  gap:clamp(38px,6vw,92px);
  border-top:4px solid var(--red2);
  box-shadow:0 25px 65px rgba(0,0,0,.14);
}
.student-reviews-kicker{color:var(--red2);font-size:11px;font-weight:900;letter-spacing:.18em;margin-bottom:22px}
.student-reviews-summary h2{font-size:clamp(46px,5vw,78px);line-height:.84;letter-spacing:-.065em;margin:0}
.student-reviews-summary>p{max-width:430px;margin:25px 0 34px;color:#bdbdbd;font-size:16px;line-height:1.6}
.student-rating{display:flex;align-items:center;gap:22px;padding-top:25px;border-top:1px solid rgba(255,255,255,.16)}
.student-rating>strong{font-size:clamp(58px,6vw,92px);line-height:.8;letter-spacing:-.07em}
.student-rating>div{display:flex;flex-direction:column;gap:9px}
.student-rating-stars{position:relative;color:#e7ae2a;font-size:24px;letter-spacing:4px;white-space:nowrap}
.student-rating-stars i{font-style:normal;background:linear-gradient(90deg,#e7ae2a 70%,#616161 70%);background-clip:text;-webkit-background-clip:text;color:transparent}
.student-rating small{font-size:9px;font-weight:800;letter-spacing:.13em;color:#aaa}
.student-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.student-review-card{min-height:210px;margin:0;padding:26px;display:flex;flex-direction:column;background:#191919;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--red2);transition:transform .25s ease,border-color .25s ease}
.student-review-card:hover{transform:translateY(-5px);border-color:rgba(192,29,46,.72)}
.student-review-card>span{color:var(--red2);font-size:11px;font-weight:900;letter-spacing:.16em}
.student-review-card p{margin:25px 0;font-size:clamp(20px,1.55vw,27px);font-weight:800;line-height:1.13;letter-spacing:-.025em}
.student-review-card footer{margin-top:auto;color:#969696;font-size:9px;font-weight:900;letter-spacing:.13em}
@media(max-width:960px){
  .student-reviews{grid-template-columns:1fr;width:min(100% - 36px,760px);gap:38px}
}
@media(max-width:620px){
  .student-reviews{width:calc(100% - 24px);margin-top:50px;padding:35px 22px}
  .student-review-grid{grid-template-columns:1fr}
  .student-review-card{min-height:180px}
  .student-rating{align-items:flex-start}
  .student-rating-stars{font-size:20px}
}

/* ===== V79 — MULASEMULA / AR. HIJJAS KASTURI DOCUMENTARY ===== */
.mulasm-collab{
  position:relative;
  width:100%;
  margin:76px auto 0;
  padding:clamp(42px,5.5vw,82px);
  background:#0b0b0b;
  color:#fff;
  border-top:4px solid var(--red2);
  box-shadow:0 25px 65px rgba(0,0,0,.14);
  overflow:hidden;
}
.mulasm-collab::after{
  content:"MULASEMULA";
  position:absolute;
  top:18px;
  right:-14px;
  color:rgba(255,255,255,.025);
  font-size:clamp(78px,12vw,190px);
  font-weight:900;
  letter-spacing:-.08em;
  line-height:.8;
  pointer-events:none;
}
.mulasm-collab-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:clamp(36px,7vw,100px);
  align-items:end;
  margin-bottom:44px;
}
.mulasm-kicker{margin-bottom:20px;color:var(--red2);font-size:11px;font-weight:900;letter-spacing:.2em}
.mulasm-collab h2{margin:0;font-size:clamp(48px,6.2vw,94px);line-height:.82;letter-spacing:-.065em}
.mulasm-intro{padding-left:24px;border-left:3px solid var(--red2)}
.mulasm-intro>p{margin:0 0 25px;color:#d0d0d0;font-size:16px;line-height:1.65}
.mulasm-credits{display:grid;gap:16px;margin:0}
.mulasm-credits div{display:grid;gap:5px}
.mulasm-credits dt{color:#777;font-size:9px;font-weight:900;letter-spacing:.16em}
.mulasm-credits dd{margin:0;color:#fff;font-size:12px;font-weight:800;line-height:1.45;letter-spacing:.025em}
.mulasm-reel-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mulasm-reel-card{
  position:relative;
  min-width:0;
  min-height:0;
  padding:0;
  display:flex;
  flex-direction:column;
  color:#fff;
  background:#111;
  border:1px solid rgba(255,255,255,.16);
  overflow:hidden;
  isolation:isolate;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.mulasm-reel-card::before{
  content:none;
}
.mulasm-reel-card::after{
  content:none;
}
.mulasm-reel-card:hover,.mulasm-reel-card:focus-visible{transform:translateY(-7px);border-color:rgba(196,43,53,.9);box-shadow:0 22px 42px rgba(0,0,0,.32);outline:none}
.mulasm-thumb{position:relative;aspect-ratio:9/16;overflow:hidden;background:#050505;border-bottom:1px solid rgba(255,255,255,.14)}
.mulasm-thumb::after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.mulasm-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.mulasm-thumb span{position:absolute;z-index:1;top:16px;left:16px;padding:9px 11px;background:rgba(8,8,8,.9);border-left:3px solid var(--red2);color:#fff;font-size:10px;font-weight:900;letter-spacing:.16em}
.mulasm-reel-card:hover .mulasm-thumb img,.mulasm-reel-card:focus-visible .mulasm-thumb img{transform:scale(1.025);filter:contrast(1.04)}
.mulasm-card-copy{flex:1;margin:0;padding:24px 24px 21px;max-width:none}
.mulasm-card-copy>span{display:block;margin-bottom:15px;color:#d8646d;font-size:10px;font-weight:900;line-height:1.4;letter-spacing:.15em}
.mulasm-card-copy h3{margin:0;font-size:clamp(30px,2.8vw,44px);line-height:.88;letter-spacing:-.055em}
.mulasm-card-copy p{margin:15px 0 0;color:#aaa;font-size:14px;line-height:1.55}
.mulasm-card-action{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 24px;padding:17px 0 20px;border-top:1px solid rgba(255,255,255,.18)}
.mulasm-card-action span{font-size:12px;font-weight:900;letter-spacing:.14em}
.mulasm-card-action b{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:var(--red2);font-size:18px;transition:transform .25s ease,background .25s ease}
.mulasm-reel-card:hover .mulasm-card-action b,.mulasm-reel-card:focus-visible .mulasm-card-action b{transform:translate(3px,-3px);background:#e33a46}
.mulasm-disclaimer{position:relative;z-index:1;max-width:870px;margin:28px 0 0;color:#737373;font-size:11px;line-height:1.65;letter-spacing:.025em}
@media(max-width:980px){
  .mulasm-collab-head{grid-template-columns:1fr;gap:28px}
  .mulasm-intro{max-width:680px}
  .mulasm-reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mulasm-reel-card:last-child{grid-column:1/-1}
  .mulasm-reel-card:last-child{width:calc(50% - 9px);justify-self:center}
}
@media(max-width:620px){
  .mulasm-collab{width:100%;margin-top:50px;padding:38px 20px}
  .mulasm-collab h2{font-size:clamp(43px,13.5vw,65px)}
  .mulasm-intro{padding-left:17px}
  .mulasm-reel-grid{grid-template-columns:1fr;gap:13px}
  .mulasm-reel-card:last-child{grid-column:auto;width:100%}
  .mulasm-card-copy h3{font-size:38px}
  .mulasm-card-action span{font-size:11px}
}

/* V91 final cascade — Academy alignment */
#academy .student-reviews{width:min(92%,1480px)!important;max-width:1480px!important;margin:18px auto 0!important;padding:52px!important;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr)!important;gap:clamp(38px,5vw,78px)!important;box-shadow:none!important}
#academy .student-review-card{min-height:205px!important}
@media(max-width:1100px){#academy .student-reviews{grid-template-columns:1fr!important}}
@media(max-width:760px){#academy .student-reviews{width:calc(100% - 32px)!important;padding:34px 22px!important}#academy .student-review-grid{grid-template-columns:1fr!important}}

/* V91 — SORA AS AN ARCHITECT BRAND FILM */
.sora-architect-film{position:relative;padding:96px 0 104px;background:radial-gradient(circle at 82% 12%,rgba(186,29,45,.18),transparent 38%),#080808;color:#fff;overflow:hidden}
.sora-architect-film::before{content:"ARCHITECT";position:absolute;right:-.04em;top:-.08em;color:rgba(255,255,255,.025);font-size:clamp(92px,15vw,230px);font-weight:900;line-height:1;letter-spacing:-.08em;pointer-events:none}
.sora-architect-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(38px,7vw,105px);align-items:end;margin-bottom:42px}
.sora-architect-kicker{margin-bottom:16px;color:#df3542;font-size:11px;font-weight:900;letter-spacing:.2em}
.sora-architect-head h2{margin:0;font-size:clamp(58px,7.5vw,116px);line-height:.78;letter-spacing:-.07em}
.sora-architect-head h2 span{color:#d62936}
.sora-architect-head p{max-width:520px;margin:0;padding-left:24px;border-left:3px solid #d62936;color:#bcbcbc;font-size:16px;line-height:1.7}
.sora-architect-frame{position:relative;z-index:1;border:1px solid #383838;background:#020202;box-shadow:0 36px 90px rgba(0,0,0,.45);overflow:hidden}
.sora-architect-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.sora-architect-meta{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border-top:1px solid #2d2d2d;color:#777;font-size:10px;font-weight:900;letter-spacing:.15em}
.sora-architect-meta span:last-child{color:#fff}
@media(max-width:760px){.sora-architect-film{padding:68px 0 74px}.sora-architect-head{grid-template-columns:1fr;gap:25px}.sora-architect-head p{padding-left:17px;font-size:14px}.sora-architect-meta{align-items:flex-start;flex-direction:column;gap:8px;font-size:9px}}

/* V103 — HERO SORA CINEMATIC HOLOGRAM */
@media(min-width:701px){
 .hero .sora-wave{z-index:2;animation:heroSoraDrift 5.2s ease-in-out infinite,heroSoraSignal 8.5s linear infinite!important;will-change:transform,filter,opacity}
 .hero-sora-hologram{position:absolute;z-index:3;right:5.5%;bottom:-28px;width:520px;height:min(72vh,700px);max-width:44vw;max-height:calc(100% - 36px);pointer-events:none;background:linear-gradient(to bottom,transparent 0,rgba(255,60,78,0) 34%,rgba(255,60,78,.16) 46%,rgba(255,238,240,.72) 49%,rgba(255,60,78,.28) 51%,transparent 63%);background-size:100% 220%;-webkit-mask-image:url('assets/sora_wave.webp');mask-image:url('assets/sora_wave.webp');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:right bottom;mask-position:right bottom;mix-blend-mode:screen;opacity:.6;animation:heroSoraDrift 5.2s ease-in-out infinite,heroSoraScan 5.8s linear infinite;will-change:transform,background-position,opacity}
}
@media(min-width:1600px){.hero-sora-hologram{width:560px;right:6.5%}}
@media(max-width:1200px) and (min-width:701px){.hero-sora-hologram{width:455px;right:-1%;bottom:-20px}}
@keyframes heroSoraDrift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes heroSoraScan{0%{background-position:0 -115%;opacity:0}9%{opacity:.52}70%{opacity:.52}82%,100%{background-position:0 115%;opacity:0}}
@keyframes heroSoraSignal{0%,47%,50%,100%{opacity:1;filter:drop-shadow(0 20px 26px rgba(0,0,0,.28)) drop-shadow(0 0 0 rgba(202,35,51,0))}48%{opacity:.91;filter:drop-shadow(0 20px 26px rgba(0,0,0,.28)) drop-shadow(3px 0 13px rgba(202,35,51,.38))}49%{opacity:.97;filter:drop-shadow(0 20px 26px rgba(0,0,0,.28)) drop-shadow(-2px 0 9px rgba(116,220,255,.2))}}
@media(max-width:700px){.hero-sora-hologram{display:none}}
@media(prefers-reduced-motion:reduce){.hero .sora-wave,.hero-sora-hologram{animation:none!important}}

/* V107 — HERO SORA VISIBILITY SAFEGUARD
   Keep the original character fully rendered; animate only position and the
   separate hologram overlay so browser compositing cannot hide the artwork. */
.hero{isolation:isolate}
@media(min-width:701px){
 .hero .sora-wave{
   display:block!important;
   visibility:visible!important;
   opacity:1!important;
   z-index:4!important;
   animation:heroSoraDrift 5.2s ease-in-out infinite!important;
   filter:drop-shadow(0 20px 26px rgba(0,0,0,.28))!important;
   will-change:transform!important;
 }
 .hero-sora-hologram{z-index:5!important}
}
@media(prefers-reduced-motion:reduce){.hero .sora-wave{transform:none!important}}

/* V108 — INTERACTIVE MAIN SORA
   Cursor parallax, proximity glow and click/tap hologram pulse. The artwork's
   dimensions and anchored position remain unchanged. */
.hero{
 --sora-x:0px;
 --sora-y:0px;
 --sora-tilt:0deg;
}
.hero .sora-wave{pointer-events:auto!important}
.hero.sora-impact .sora-wave{
 filter:drop-shadow(0 22px 28px rgba(0,0,0,.3)) drop-shadow(0 0 22px rgba(255,48,68,.58))!important;
}
@media(min-width:701px){
 .hero .sora-wave{
   pointer-events:auto!important;
   cursor:pointer;
   transform-origin:50% 86%!important;
   animation:heroSoraInteractive 5.2s ease-in-out infinite!important;
   transition:filter .32s ease!important;
 }
 .hero .sora-wave:hover,.hero.sora-is-near .sora-wave{
   filter:drop-shadow(0 22px 28px rgba(0,0,0,.3)) drop-shadow(0 0 17px rgba(224,38,56,.38))!important;
 }
 .hero-sora-hologram{
   animation:heroSoraHoloInteractive 5.2s ease-in-out infinite,heroSoraScan 5.8s linear infinite!important;
 }
 .hero-sora-pulse{
   position:absolute;
   z-index:3;
   right:calc(5.5% + 260px);
   bottom:34px;
   width:190px;
   aspect-ratio:1;
   border:2px solid rgba(255,68,85,.8);
   border-radius:50%;
   opacity:0;
   pointer-events:none;
   transform:translate(50%,50%) scale(.28);
   box-shadow:0 0 24px rgba(214,41,55,.36),inset 0 0 18px rgba(214,41,55,.22);
 }
 .hero.sora-impact .hero-sora-pulse{animation:heroSoraPulse .78s cubic-bezier(.2,.7,.2,1)}
}
@media(min-width:1600px){.hero-sora-pulse{right:calc(6.5% + 280px)}}
@media(max-width:1200px) and (min-width:701px){.hero-sora-pulse{right:calc(-1% + 227px);bottom:38px}}
@keyframes heroSoraInteractive{
 0%,100%{transform:translate3d(var(--sora-x),var(--sora-y),0) rotate(var(--sora-tilt))}
 50%{transform:translate3d(var(--sora-x),calc(var(--sora-y) - 8px),0) rotate(var(--sora-tilt))}
}
@keyframes heroSoraHoloInteractive{
 0%,100%{transform:translate3d(var(--sora-x),var(--sora-y),0) rotate(var(--sora-tilt))}
 50%{transform:translate3d(var(--sora-x),calc(var(--sora-y) - 8px),0) rotate(var(--sora-tilt))}
}
@keyframes heroSoraPulse{
 0%{opacity:.85;transform:translate(50%,50%) scale(.28)}
 70%{opacity:.32}
 100%{opacity:0;transform:translate(50%,50%) scale(2.1)}
}
@media(max-width:700px){.hero-sora-pulse{display:none}}
@media(prefers-reduced-motion:reduce){
 .hero .sora-wave,.hero-sora-hologram{animation:none!important;transform:none!important}
 .hero-sora-pulse{display:none!important}
}

/* V91 — RESIDENTIAL RENOVATION CASE STUDIES */
.renovation-works{position:relative;padding:104px 0 112px;background:#eceae5;color:#0b0b0b;overflow:hidden}
.renovation-works::before{content:"BUILD";position:absolute;right:-.03em;top:-.16em;color:rgba(0,0,0,.035);font-size:clamp(140px,23vw,350px);font-weight:900;line-height:1;letter-spacing:-.09em;pointer-events:none}
.renovation-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(42px,7vw,110px);align-items:end;margin-bottom:48px}
.renovation-kicker{margin-bottom:17px;color:#bd2230;font-size:11px;font-weight:900;letter-spacing:.2em}
.renovation-head h2{margin:0;font-size:clamp(64px,8.2vw,126px);line-height:.77;letter-spacing:-.075em}
.renovation-head h2 span{color:#bd2230}
.renovation-head p{max-width:520px;margin:0;padding-left:24px;border-left:3px solid #bd2230;color:#555;font-size:16px;line-height:1.7}
.renovation-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.renovation-project{display:flex;min-width:0;flex-direction:column;background:#f7f6f2;border:1px solid #c8c5be}
.renovation-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:#171717}
.renovation-shot{position:relative;min-height:180px;overflow:hidden;background:#111}
.renovation-shot.completed{grid-column:1/-1;aspect-ratio:16/9;min-height:0}
.renovation-shot:not(.completed){aspect-ratio:16/10;min-height:0}
.renovation-shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.renovation-project:hover .renovation-shot img{transform:scale(1.025);filter:contrast(1.03)}
.renovation-shot span{position:absolute;left:12px;top:12px;padding:8px 10px;background:rgba(5,5,5,.86);border-left:3px solid #bd2230;color:#fff;font-size:8px;font-weight:900;letter-spacing:.14em}
.renovation-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;padding:30px}
.renovation-copy small{display:block;margin-bottom:12px;color:#bd2230;font-size:9px;font-weight:900;letter-spacing:.16em}
.renovation-copy h3{margin:0;font-size:clamp(34px,3.3vw,54px);line-height:.9;letter-spacing:-.055em}
.renovation-copy p{max-width:49ch;margin:17px 0 0;color:#666;font-size:14px;line-height:1.65}
.renovation-scope{display:grid;gap:9px;min-width:126px;padding-left:20px;border-left:1px solid #ccc8c0;color:#777;font-size:8px;font-weight:900;letter-spacing:.13em}
.renovation-scope b{color:#111;font-size:10px}
.renovation-foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px;padding-top:25px;border-top:1px solid #c6c2ba}
.renovation-foot p{margin:0;color:#666;font-size:13px;line-height:1.6}
.renovation-foot a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;background:#bd2230;color:#fff;text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.12em}
@media(max-width:980px){.renovation-head{grid-template-columns:1fr;gap:28px}.renovation-grid{grid-template-columns:1fr}.renovation-copy h3{font-size:48px}}
@media(max-width:620px){.renovation-works{padding:72px 0 78px}.renovation-head p{padding-left:17px;font-size:14px}.renovation-gallery{gap:3px;padding:3px}.renovation-shot span{left:8px;top:8px}.renovation-copy{grid-template-columns:1fr;padding:23px 20px}.renovation-scope{grid-template-columns:repeat(3,1fr);min-width:0;padding:18px 0 0;border-left:0;border-top:1px solid #d3d0ca}.renovation-foot{align-items:flex-start;flex-direction:column}.renovation-foot a{width:100%;justify-content:center}}
