/* Partnership, calculator and colour-library pages extend the locked PHONITURA system. */
.service-hero{min-height:82svh;padding:154px 4vw 5vw;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:5vw;align-items:end;background:var(--ink);color:#fff}
.service-hero__copy{min-width:0;padding:3vw 0;position:relative;z-index:2}
.service-hero h1{max-width:10ch;margin:0 0 32px;font-size:clamp(52px,6.4vw,96px);line-height:.92;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}
.service-hero p{max-width:620px;color:#b8c2c6;font-size:17px;line-height:1.72}
.service-hero .button{margin-top:22px}
.service-hero__media{min-width:0;min-height:560px;margin:0;display:grid;position:relative;z-index:1;border-radius:var(--radius);overflow:hidden;background:#253139}
.service-hero__media img{width:100%;height:100%;object-fit:cover}
.service-routes{padding:24px 4vw 70px;display:flex;gap:10px;flex-wrap:wrap;background:var(--ink)}
.service-routes a{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:999px;background:#fff;color:var(--ink);font-size:11px}
.service-routes a:hover,.service-routes a:focus-visible{background:var(--acid);outline:none}

.service-statement{padding:9vw 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;background:#fff}
.service-statement h2,.partner-segment h2,.partner-process h2,.partner-model h2,.colour-intro h2,.calculator-method h2{margin:0;font-size:clamp(38px,5vw,72px);line-height:1}
.service-statement>div>p{max-width:70ch;margin:0 0 22px;color:#4f5b62;font-size:16px;line-height:1.75}
.service-statement ul,.partner-segment ul{margin:34px 0 0;padding:0;list-style:none;border-top:1px solid #c7cdca}
.service-statement li,.partner-segment li{padding:15px 0;border-bottom:1px solid #c7cdca;color:#48555b;line-height:1.55}

.partner-segment{padding:8vw 6vw;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;background:var(--paper)}
.partner-segment:nth-of-type(even){background:#fff}
.partner-segment>div>p{max-width:70ch;color:#4f5b62;font-size:16px;line-height:1.75}
.partner-segment__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}
.partner-segment__facts div{min-height:150px;padding:24px;border-radius:16px;background:#fff}
.partner-segment:nth-of-type(even) .partner-segment__facts div{background:var(--paper)}
.partner-segment__facts strong{display:block;margin-bottom:14px;font:500 15px/1.35 Unbounded}
.partner-segment__facts p{margin:0;color:#5f6b71;font-size:12px;line-height:1.6}

.partner-model{padding:8vw 6vw;background:var(--ink);color:#fff}
.partner-model>header,.partner-process>header,.colour-library>header,.calculator-method>header{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:48px}
.partner-model header p{max-width:600px;justify-self:end;color:#b5c0c4;line-height:1.7}
.partner-model__rows{border-top:1px solid rgba(255,255,255,.18)}
.partner-model__rows div{padding:20px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;border-bottom:1px solid rgba(255,255,255,.18)}
.partner-model__rows strong{font:500 15px/1.4 Unbounded;color:var(--acid)}
.partner-model__rows span{color:#c6cfd2;line-height:1.55}

.partner-process{padding:8vw 6vw;background:#fff}
.partner-process header p,.calculator-method header p{max-width:600px;justify-self:end;color:#59666d;line-height:1.7}
.partner-process ol{margin:0;padding:0;list-style:none;counter-reset:partner-step;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.partner-process li{counter-increment:partner-step;min-height:240px;padding:24px;border-radius:16px;background:var(--paper)}
.partner-process li:before{content:counter(partner-step,decimal-leading-zero);display:block;margin-bottom:50px;color:var(--blue);font:500 13px Unbounded}
.partner-process strong{display:block;margin-bottom:14px;font:500 14px/1.35 Unbounded}
.partner-process p{margin:0;color:#5d696f;font-size:12px;line-height:1.6}

.partner-enquiry{padding:8vw 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--blue);color:#fff}
.partner-enquiry h2{margin:0;font-size:clamp(42px,5.5vw,78px);line-height:1}
.partner-enquiry>div>p{max-width:480px;color:#d8e0ff;line-height:1.7}
.partner-enquiry form{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.partner-enquiry label{color:#dce4ff;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.partner-enquiry label:last-of-type{grid-column:1/-1}
.partner-enquiry input,.partner-enquiry select,.partner-enquiry textarea{display:block;width:100%;margin-top:8px;padding:12px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);border-radius:0;background:transparent;color:#fff;font:16px Manrope;outline:none}
.partner-enquiry select option{color:var(--ink)}
.partner-enquiry textarea{resize:vertical}
.partner-enquiry input:focus,.partner-enquiry select:focus,.partner-enquiry textarea:focus{border-color:var(--acid)}
.partner-enquiry ::placeholder,.template-enquiry ::placeholder{color:#f2f5ff;opacity:.9}
.partner-enquiry .button{grid-column:1/-1;justify-self:start;border:0}
.partner-enquiry .form-status{grid-column:1/-1;margin:0;color:var(--acid)}

.colour-hero .service-hero__media{display:grid;grid-template-columns:1fr 1fr}
.colour-hero .service-hero__media img{min-width:0}
.colour-intro{padding:8vw 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;background:var(--paper)}
.colour-intro>div>p{max-width:70ch;color:#4f5b62;font-size:16px;line-height:1.75}
.material-composition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}
.material-composition div{padding:24px;border-radius:16px;background:#fff}
.material-composition strong{display:block;margin-bottom:10px;font:500 clamp(24px,3vw,42px) Unbounded;color:var(--blue)}
.material-composition span{color:#58656b;font-size:12px;line-height:1.5}
.colour-library{padding:8vw 0;background:#fff}
.colour-library>header{padding:0 6vw}
.colour-library header p{max-width:600px;justify-self:end;color:#59666d;line-height:1.7}
.colour-library .colour-grid li:nth-child(n){display:list-item}
.colour-guidance{padding:8vw 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--ink);color:#fff}
.colour-guidance h2{margin:0;font-size:clamp(38px,5vw,72px);line-height:1}
.colour-guidance p{max-width:680px;color:#b9c3c7;line-height:1.75}
.colour-guidance .button{margin-top:18px}

.calculator-shell{padding:7vw 6vw;background:var(--paper)}
.calculator-shell .calculator{padding:0}
.calculator-result[aria-live]{--calc-good:#84d36f;--calc-bad:#ff7667;position:relative}
.calculator-result #rt60-value{transition:color .25s ease}
.calculator-result[data-status="good"] #rt60-value{color:var(--calc-good)}
.calculator-result[data-status="poor"] #rt60-value{color:var(--calc-bad)}
.calculator-meter{position:relative;height:12px;margin:42px 0 0;border-radius:999px;background:rgba(255,255,255,.22)}
.calculator-meter i{position:absolute;top:-5px;bottom:-5px;left:0;width:0;border:1px solid var(--calc-good);border-radius:999px;background:rgba(132,211,111,.16);transition:left .35s cubic-bezier(.16,1,.3,1),width .35s cubic-bezier(.16,1,.3,1)}
.calculator-meter i:after{content:attr(data-label);position:absolute;left:50%;bottom:20px;width:max-content;transform:translateX(-50%);color:var(--calc-good);font:600 8px Manrope;letter-spacing:.08em}
.calculator-meter>span{position:absolute;top:50%;left:0;width:20px;height:20px;z-index:2;border:4px solid #fff;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px rgba(18,27,32,.28);transform:translate(-50%,-50%);transition:left .35s cubic-bezier(.16,1,.3,1),background-color .25s ease}
.calculator-result[data-status="good"] .calculator-meter>span{background:var(--calc-good)}
.calculator-result[data-status="poor"] .calculator-meter>span{background:var(--calc-bad)}
.calculator-meter__scale{display:flex;justify-content:space-between;margin:9px 0 16px;color:#aeb9bd;font:500 9px Manrope;letter-spacing:.06em}
.calculator-interpretation{min-height:70px;color:#c6cfd2;line-height:1.55}
.calculator-interpretation strong{display:block;margin-bottom:7px;color:#fff;font:600 10px Manrope;letter-spacing:.09em}
.calculator-result[data-status="good"] .calculator-interpretation strong{color:var(--calc-good)}
.calculator-result[data-status="poor"] .calculator-interpretation strong{color:var(--calc-bad)}
.calculator-method{padding:8vw 6vw;background:#fff}
.calculator-method__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.calculator-method article{padding:28px;border-radius:16px;background:var(--paper)}
.calculator-method h3{margin:0 0 16px;font:500 17px/1.35 Unbounded}
.calculator-method article p{margin:0;color:#58656b;line-height:1.65}

@media(max-width:1120px){
  .service-hero{grid-template-columns:1fr;padding-top:146px}
  .service-hero__media{min-height:52svh}
  .service-statement,.partner-segment,.partner-enquiry,.colour-intro,.colour-guidance{grid-template-columns:1fr}
  .partner-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calculator-method__grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  .service-hero{padding:126px 20px 20px;gap:30px}
  .service-hero h1{font-size:clamp(44px,14vw,62px)}
  .service-hero__media{min-height:420px}
  .service-routes{padding:16px 20px 56px;display:grid}
  .service-routes a{width:100%}
  .service-statement,.partner-segment,.partner-model,.partner-process,.partner-enquiry,.colour-intro,.colour-guidance,.calculator-method{padding:64px 20px}
  .partner-segment__facts,.material-composition,.partner-enquiry form{grid-template-columns:1fr}
  .partner-model>header,.partner-process>header,.colour-library>header,.calculator-method>header{grid-template-columns:1fr}
  .partner-model header p,.partner-process header p,.colour-library header p,.calculator-method header p{justify-self:start}
  .partner-model__rows div{grid-template-columns:1fr}
  .partner-process ol{grid-template-columns:1fr}
  .partner-process li{min-height:0}
  .partner-process li:before{margin-bottom:30px}
  .partner-enquiry label:last-of-type,.partner-enquiry .button,.partner-enquiry .form-status{grid-column:1}
  .colour-library>header{padding-inline:20px}
  .colour-library .colour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .colour-hero .service-hero__media{min-height:360px}
  .calculator-shell{padding:20px}
}
