/* Schools & OPAL / East Midlands — independent page styles V1. */
.school-page{background:#f4f0e9;color:#20231f}
.school-main{overflow:hidden;background:#f4f0e9}
.school-main *{box-sizing:border-box}
.school-main img{display:block;max-width:100%}
.school-main a:focus-visible,.school-main summary:focus-visible{outline:3px solid #dbab77;outline-offset:4px}
.school-main h1,.school-main h2,.school-main h3{margin:0;line-height:1.08;letter-spacing:-.053em}
.school-main h2{font-size:clamp(2.35rem,4.5vw,4.9rem);font-weight:700}
.school-main h2 em,.school-main h1 em{font-weight:400;font-family:Georgia,Times New Roman,serif;font-style:italic;color:#b0835e;display:block;line-height:1.06;margin-top:.22em;padding-top:0}
.school-main p{line-height:1.67}
.sc-wrap{width:min(1220px,calc(100% - 56px));margin-inline:auto}
.sc-section{padding:clamp(75px,9vw,132px) 0}
.sc-eyebrow{color:#8d6c4f;font-size:.73rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin:0 0 24px;line-height:1.4}
.sc-eyebrow--light{color:#d8ad89}
.sc-hero{background:radial-gradient(ellipse at 75% 18%,#4a4339 0%,#282823 46%,#171b19 92%);color:#f6f2e9;padding:clamp(125px,13vw,192px) 0 0;position:relative}
.sc-hero__layout{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(320px,.8fr);gap:clamp(38px,6vw,115px);align-items:center;padding-bottom:clamp(75px,9vw,120px)}
.sc-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:#c4c1b9;font-size:.83rem;margin-bottom:56px}
.sc-breadcrumb a:hover{color:#fff;text-decoration:underline}
.sc-hero h1{font-size:clamp(3.3rem,6.4vw,6.7rem);font-weight:740;max-width:11.8ch;line-height:.99;margin-bottom:32px}
.sc-hero h1 em{color:#ebc9a9}
.sc-lead{color:#e0dfd7;font-size:clamp(1.03rem,1.65vw,1.31rem);max-width:55ch;margin:0}
.sc-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:35px 0 32px}
.sc-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:14px 23px;background:#d3a984;color:#1c1e1b!important;border-radius:6px;font-size:.87rem;font-weight:800;text-decoration:none!important;transition:background .2s}
.sc-button:hover{background:#e6c4a6}
.sc-text-link{display:inline-flex;gap:9px;align-items:center;color:#e9c6a2!important;font-size:.88rem;font-weight:700;text-decoration:none!important}
.sc-text-link:hover{text-decoration:underline!important}
.sc-hero__note{font-size:.82rem;color:#c1bcb1;margin:0}
.sc-hero__photo{position:relative;margin:0;min-width:0}
.sc-hero__photo:before{content:"";position:absolute;inset:-17px 24px 29px -18px;border:1px solid #856f5a}
.sc-hero__photo-frame{position:relative;background:#494038;box-shadow:0 30px 65px #0005}
.sc-hero__photo img{width:100%;height:clamp(460px,48vw,620px);object-fit:cover;object-position:50% 54%}
.sc-hero__photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;background:linear-gradient(transparent,#111c);padding:54px 20px 20px;font-size:.76rem;color:#f6ebdd}
.sc-caption-line{display:inline-block;height:1px;width:26px;background:#d6ad89}
.sc-hero__photo-index{position:absolute;top:-32px;right:1px;font-size:.75rem;color:#c8b8a6;letter-spacing:.1em}
.sc-hero__bottom{border-top:1px solid #6c615552;display:flex;justify-content:space-between;gap:24px;padding:19px max(28px,calc((100vw - 1220px)/2));color:#b9b4a8;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.sc-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#e7e0d5;border-bottom:1px solid #cec6ba}
.sc-trust>div{display:flex;flex-direction:column;padding:26px clamp(15px,3.2vw,55px);gap:7px;border-right:1px solid #cac2b6}
.sc-trust strong{font-size:1.1rem;letter-spacing:-.035em}
.sc-trust span{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;color:#686a63}
.sc-intro__layout,.sc-opal__layout,.sc-safety__layout,.sc-area__layout,.sc-faq__layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(45px,9vw,135px)}
.sc-intro__body{font-size:1.03rem;color:#535b54}
.sc-intro__body p{margin:0 0 20px}
.sc-intro__body .sc-intro__large{font-size:clamp(1.35rem,2.1vw,1.9rem);letter-spacing:-.03em;line-height:1.4;color:#262e28;font-weight:650}
.sc-services{background:#e9e3da}
.sc-section-top{max-width:740px;margin-bottom:52px}
.sc-section-top>p:last-child{font-size:1.05rem;color:#5c655e;max-width:58ch;margin:24px 0 0}
.sc-services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sc-service{background:#f8f6f2;padding:clamp(26px,3vw,42px);min-height:290px;border:1px solid #ded6ca}
.sc-num{font-family:Georgia,serif;font-size:1.6rem;color:#ac825e}
.sc-service h3{font-size:clamp(1.3rem,2vw,1.8rem);margin:28px 0 12px}
.sc-service p{color:#5b625d;font-size:.94rem;margin:0}
.sc-project{background:#1a211e;color:white}
.sc-project__heading{display:grid;grid-template-columns:1.15fr .7fr;align-items:end;gap:8vw;margin-bottom:50px}
.sc-project h2 em{color:#dab390}
.sc-project__heading>p{font-size:1.05rem;color:#bec9c0;max-width:45ch;margin:0}
.sc-project__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.sc-project figure{margin:0;background:#222d26}
.sc-project figure img{width:100%;height:clamp(320px,38vw,480px);object-fit:cover;object-position:center}
.sc-project figure figcaption{padding:15px 16px;font-size:.8rem;color:#f0eadf}
.sc-project__note{color:#a7b2ab;font-size:.77rem;margin:20px 0 0;max-width:85ch}
.sc-opal{background:#f6f4ef}
.sc-opal__body{font-size:1.04rem;color:#515951}
.sc-opal__body p{margin:0 0 24px}
.sc-opal__body strong{color:#232d25}
.sc-inline-link{display:inline-flex;align-items:center;gap:12px;color:#775233;text-decoration:none;border-bottom:1px solid #a3805e;padding:5px 0;font-size:.9rem;font-weight:750}
.sc-safety{background:linear-gradient(115deg,#2f352e,#1a211d);color:#fff}
.sc-safety h2 em{color:#dfb991}
.sc-safety__layout>div:first-child>p:not(.sc-eyebrow){color:#c7cec6;font-size:1.03rem}
.sc-safety__details{background:#f1ebe1;color:#212924;padding:clamp(28px,4vw,55px)}
.sc-safety__label{font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 20px}
.sc-safety__details ul{list-style:none;padding:0;margin:0}
.sc-safety__details li{padding:14px 0;border-top:1px solid #d9d0c4;line-height:1.5;font-size:.96rem}
.sc-safety__details li:before{content:'✓';display:inline-block;color:#8d6a45;font-weight:900;margin-right:12px}
.sc-safety__details li span{color:#5f665f}
.sc-process{background:#ebe4da}
.sc-process__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sc-process__steps article{border-top:1px solid #bcafa0;padding:24px 2px 0}
.sc-process__steps article span{font-family:Georgia,serif;font-size:1.8rem;color:#957351}
.sc-process__steps h3{font-size:1.35rem;margin:22px 0 12px}
.sc-process__steps p{color:#56605a;font-size:.93rem;margin:0}
.sc-area{background:#f6f4ef}
.sc-area__layout>div:last-child{font-size:1.05rem;color:#58615b}
.sc-area__layout>div:last-child p:first-child{margin-top:0}
.sc-faq{background:#e9e3da}
.sc-faq__list{border-top:1px solid #c9c0b5}
.sc-faq__list details{border-bottom:1px solid #c9c0b5;padding:22px 0}
.sc-faq__list summary{font-weight:750;font-size:1rem;cursor:pointer;list-style:none;padding-right:32px;position:relative}
.sc-faq__list summary::-webkit-details-marker{display:none}
.sc-faq__list summary:after{content:'+';position:absolute;right:2px;top:0;font-size:1.4rem;color:#99724d;font-weight:400}
.sc-faq__list details[open] summary:after{content:'−'}
.sc-faq__list details p{margin:16px 0 0;color:#566058;font-size:.94rem}
.sc-contact{background:radial-gradient(ellipse at 0% 40%,#50483c,#202723 68%);color:#fff;padding:clamp(90px,10vw,148px) 0}
.sc-contact__layout{display:grid;grid-template-columns:1fr .58fr;gap:clamp(40px,8vw,125px);align-items:center}
.sc-contact h2{font-size:clamp(2.5rem,4.7vw,5.1rem)}
.sc-contact h2 em{color:#ecc6a2}
.sc-contact p:not(.sc-eyebrow){color:#c3cfc3;max-width:58ch;font-size:1.05rem;margin:26px 0 0}
.sc-contact__actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.sc-contact__phone{color:#fff;font-size:1.4rem;font-weight:750;text-decoration:none}
.sc-contact__phone:hover{text-decoration:underline}
@media(max-width:1050px){.sc-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-process__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-trust strong{font-size:.94rem}}
@media(max-width:760px){.sc-wrap{width:min(100% - 36px,620px)}.sc-hero{padding-top:115px}.sc-hero__layout,.sc-intro__layout,.sc-opal__layout,.sc-safety__layout,.sc-area__layout,.sc-faq__layout,.sc-contact__layout,.sc-project__heading{grid-template-columns:1fr;gap:38px}.sc-hero__layout{gap:56px;padding-bottom:85px}.sc-breadcrumb{margin-bottom:38px}.sc-hero h1{font-size:clamp(2.9rem,11vw,4.7rem)}.sc-hero__photo img{height:410px}.sc-hero__bottom{padding:17px 18px}.sc-hero__bottom span:last-child{display:none}.sc-trust{grid-template-columns:1fr 1fr}.sc-trust>div{padding:23px 18px;border-bottom:1px solid #c7beaf}.sc-services__grid,.sc-project__gallery,.sc-process__steps{grid-template-columns:1fr 1fr}.sc-project__heading{gap:22px}.sc-project figure img{height:265px}.sc-project figure:last-child{grid-column:1/-1}.sc-project figure:last-child img{height:350px}.sc-safety__details{padding:26px}.sc-contact{padding-bottom:120px}.sc-hero__actions .sc-button{display:none}}
@media(max-width:480px){.sc-services__grid,.sc-project__gallery,.sc-process__steps{grid-template-columns:1fr}.sc-service{min-height:0}.sc-project figure:last-child{grid-column:auto}.sc-project figure img,.sc-project figure:last-child img{height:345px}.sc-hero__photo img{height:400px}.sc-hero h1{font-size:clamp(2.7rem,13vw,4.1rem)}.sc-trust strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.school-main *{scroll-behavior:auto!important;transition:none!important}}
