:root{
  --ink:#07090a;
  --ink-soft:#0d1113;
  --ink-elev:#121719;
  --paper:#f1ede4;
  --paper-soft:#e9e2d6;
  --paper-bright:#f8f5ef;
  --text:#f7f4ed;
  --muted:#a7adae;
  --muted-dark:#6d706f;
  --line-dark:rgba(255,255,255,.12);
  --line-light:#cfc6b7;
  --accent:var(--pse-accent,#c9974a);
  --accent-deep:#a66f2c;
  --accent-kicker-light:#8c5a1d;
  --signal:#b74533;
  --shell:min(1420px,calc(100vw - 64px));
  --header:82px;
  --shadow:0 30px 90px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.pse-site{margin:0;background:var(--ink);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.pse-site a{color:inherit}
body.pse-site main{overflow:hidden}
body.pse-site::selection{background:var(--accent);color:#111}
.pse-shell{width:var(--shell);margin:0 auto}
.pse-kicker{font-size:10px;letter-spacing:.22em;font-weight:850;color:var(--accent);text-transform:uppercase;margin:0 0 22px}
.pse-text-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.01em;padding-bottom:5px;border-bottom:1px solid currentColor;width:max-content}
.pse-text-link span{transition:transform .25s ease}.pse-text-link:hover span{transform:translateX(4px)}.pse-text-link--light{color:#fff!important}

/* Header */
.pse-header{height:var(--header);position:fixed;z-index:80;top:0;left:0;right:0;color:#fff;background:rgba(7,9,10,0);border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 rgba(0,0,0,0);transition:background-color .46s cubic-bezier(.22,.61,.36,1),border-color .46s cubic-bezier(.22,.61,.36,1),backdrop-filter .46s cubic-bezier(.22,.61,.36,1),box-shadow .46s cubic-bezier(.22,.61,.36,1)}
body.admin-bar .pse-header{top:32px}
.pse-header.is-scrolled{background:rgba(5,7,8,.96);border-color:rgba(255,255,255,.075);backdrop-filter:blur(22px) saturate(125%);box-shadow:0 14px 42px rgba(0,0,0,.20)}
.pse-header__inner{height:100%;display:flex;align-items:center;gap:34px}
.pse-brand{text-decoration:none;display:flex;align-items:center;justify-content:flex-start;min-width:176px;height:100%}.pse-logo-img{display:block;max-height:68px;max-width:128px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.18));transition:max-height .46s cubic-bezier(.22,.61,.36,1),filter .46s ease}.pse-header.is-scrolled .pse-logo-img{max-height:60px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.pse-wordmark{display:grid;line-height:.88}.pse-wordmark strong{font-size:21px;letter-spacing:.065em}.pse-wordmark span{font-size:8px;letter-spacing:.36em;color:#b9bec0;margin-top:8px}
.pse-nav{margin-left:auto}.pse-menu{display:flex;align-items:center;gap:27px}.pse-menu a{text-decoration:none;font-size:12px;font-weight:670;color:#e9e7e2;position:relative}.pse-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--accent);transition:right .25s ease}.pse-menu a:hover:after,.pse-menu a:focus-visible:after{right:0}
.pse-header__actions{display:flex;gap:17px;align-items:center}.pse-link{text-decoration:none;font-weight:800;font-size:12px}.pse-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 24px;background:var(--accent);color:#101010!important;text-decoration:none;font-weight:850;border:0;cursor:pointer;letter-spacing:.005em;transition:transform .22s ease,filter .22s ease,background .22s ease,box-shadow .22s ease}.pse-btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 14px 34px rgba(0,0,0,.14)}.pse-btn--small{min-height:42px;padding:0 18px}.pse-btn--light{background:#fff;color:#0b0d0e!important}.pse-btn--dark{background:#0b0d0e;color:#fff!important}.pse-btn--submit{margin:26px 30px 12px;width:calc(100% - 60px);justify-content:space-between;color:#111!important;background:var(--accent)}
.pse-menu-toggle{display:none}.pse-mobile-menu{display:none}

/* Hero */
.pse-hero{min-height:900px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(201,151,74,.13),transparent 27%),linear-gradient(135deg,#090b0c 0%,#15191b 62%,#080909 100%)}
.pse-hero.has-image{background-image:linear-gradient(90deg,rgba(5,6,7,.98) 0%,rgba(5,6,7,.83) 36%,rgba(5,6,7,.30) 68%,rgba(5,6,7,.18) 100%),var(--pse-image);background-position:center;background-size:cover}
.pse-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.02) 40%,rgba(0,0,0,.58) 100%);pointer-events:none}
.pse-hero:before{content:"SKYLIGHT";position:absolute;left:-.025em;bottom:66px;font-size:clamp(140px,17vw,320px);font-weight:900;letter-spacing:-.085em;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);white-space:nowrap;pointer-events:none}
.pse-hero__geometry{position:absolute;inset:0;pointer-events:none}.pse-hero__geometry span:first-child{position:absolute;width:48vw;height:48vw;border:1px solid rgba(255,255,255,.065);right:-16vw;top:5%;transform:rotate(45deg)}.pse-hero__geometry span:last-child{position:absolute;width:21vw;height:21vw;border:1px solid rgba(201,151,74,.16);right:5vw;bottom:4%;transform:rotate(45deg)}
.pse-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.52fr) minmax(330px,.48fr);gap:84px;align-items:end;padding:190px 0 132px}
.pse-hero__copy{max-width:1040px}.pse-hero h1{margin:0;font-size:clamp(78px,8.5vw,142px);line-height:.78;letter-spacing:-.07em;font-weight:900}.pse-hero h1 span,.pse-hero h1 strong{display:block}.pse-hero h1 span{color:#fff}.pse-hero h1 strong{font-weight:900;color:var(--accent);margin-left:7.5vw}
.pse-hero__lower{display:grid;grid-template-columns:minmax(0,700px) auto;gap:44px;align-items:end;margin-top:42px}.pse-lead{font-size:clamp(17px,1.25vw,21px);line-height:1.64;color:#d5d6d4;margin:0}.pse-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.pse-actions .pse-btn{white-space:nowrap}
.pse-proof-card{background:rgba(9,12,13,.74);border:1px solid rgba(255,255,255,.15);padding:30px 30px 24px;backdrop-filter:blur(22px) saturate(130%);box-shadow:var(--shadow);transform:translateY(18px)}
.pse-proof-card__head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:21px;border-bottom:1px solid rgba(255,255,255,.13)}.pse-proof-card__head span{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#b8bdbd}.pse-proof-card__head small{font-size:9px;color:#777f80}
.pse-proof-stat{display:grid;grid-template-columns:108px 1fr;gap:16px;align-items:end;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}.pse-proof-stat strong{font-size:36px;letter-spacing:-.045em;color:#fff}.pse-proof-stat span{font-size:12px;line-height:1.35;color:#c5c9c9;padding-bottom:5px}.pse-proof-card__link{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:12px;font-weight:800;text-decoration:none;color:var(--accent)!important}.pse-proof-card>p{font-size:9px;line-height:1.5;color:#777f80;margin:14px 0 0}
.pse-hero__rail{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid rgba(255,255,255,.11);background:rgba(7,9,10,.55);backdrop-filter:blur(12px)}.pse-hero__rail .pse-shell{display:grid;grid-template-columns:repeat(4,1fr)}.pse-hero__rail span{padding:22px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.1);font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#b9bdbc}.pse-hero__rail span:last-child{border-right:0}

/* General */
.pse-section{padding:132px 0}.pse-section-head h2,.pse-emergency h2,.pse-trust h2,.pse-area h2,.pse-quote h2,.pse-reviews h2,.pse-process h2{font-size:clamp(48px,5.3vw,82px);line-height:.94;letter-spacing:-.06em;margin:0}.pse-section-head--architectural{display:grid;grid-template-columns:1.25fr .75fr;gap:110px;align-items:end;margin-bottom:78px}.pse-section-head--architectural>p{margin:0 0 8px;font-size:17px;line-height:1.75;color:#656866;max-width:600px}

/* Services */
.pse-intro{background:var(--paper);color:#111314;position:relative}.pse-intro:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#d7d0c5}.pse-service-stage{display:grid;grid-template-columns:1.06fr .94fr;gap:30px;align-items:start}.pse-service-panel{min-height:710px;position:relative;overflow:hidden;background:#111;color:#fff;box-shadow:0 28px 70px rgba(40,34,24,.12);isolation:isolate}.pse-service-panel--build{margin-top:104px;min-height:640px}.pse-service-panel__media{position:absolute;inset:0}.pse-service-panel__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.pse-service-panel:hover .pse-service-panel__media img{transform:scale(1.035)}.pse-service-panel__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,7,8,.10) 0%,rgba(6,7,8,.25) 30%,rgba(6,7,8,.96) 78%,rgba(6,7,8,.99) 100%)}.pse-service-panel--build .pse-service-panel__overlay{background:linear-gradient(180deg,rgba(22,17,10,.05) 0%,rgba(22,17,10,.20) 34%,rgba(29,22,12,.90) 78%,rgba(29,22,12,.98) 100%)}
.pse-service-panel__index{position:absolute;right:-.02em;top:-.12em;z-index:1;font-size:clamp(130px,13vw,220px);line-height:1;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.07)}.pse-service-panel--build .pse-service-panel__index{color:rgba(201,151,74,.16)}
.pse-service-panel__content,.pse-service-panel__footer{position:absolute;left:44px;right:44px;z-index:2}.pse-service-panel__content{bottom:210px}.pse-service-panel__content>span{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-weight:800}.pse-service-panel h3{font-size:clamp(42px,4.1vw,66px);line-height:.93;letter-spacing:-.055em;margin:18px 0 16px;color:#fff;max-width:600px}.pse-service-panel p{font-size:15px;line-height:1.65;color:#d1d4d3;max-width:610px;margin:0}.pse-service-panel__footer{bottom:34px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end;border-top:1px solid rgba(255,255,255,.18);padding-top:22px}.pse-service-panel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.pse-service-panel li{font-size:12px;color:#d4d7d5}.pse-service-panel li:before{content:"—";color:var(--accent);margin-right:8px}.pse-service-panel__footer>a{font-size:12px;font-weight:850;text-decoration:none;white-space:nowrap;color:#fff}.pse-service-panel__footer>a b{margin-left:5px;color:var(--accent)}

/* Emergency */
.pse-emergency{padding:96px 0;background:#090b0c;color:#fff;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.pse-emergency__glow{position:absolute;width:680px;height:680px;border-radius:50%;right:-160px;top:-300px;background:radial-gradient(circle,rgba(183,69,51,.32),rgba(183,69,51,.09) 44%,transparent 72%);filter:blur(4px)}.pse-emergency__grid{display:grid;grid-template-columns:260px 1fr .45fr;gap:62px;align-items:center;position:relative}.pse-emergency__number{display:flex;align-items:flex-end;line-height:.72}.pse-emergency__number strong{font-size:200px;letter-spacing:-.09em;color:rgba(255,255,255,.055)}.pse-emergency__number span{font-size:44px;color:var(--signal);font-weight:900;padding-bottom:14px}.pse-emergency .pse-kicker{color:#d98b77}.pse-emergency h2{max-width:780px}.pse-emergency h2 em{font-style:normal;color:#d98b77}.pse-emergency__copy>p:last-child{max-width:700px;font-size:16px;line-height:1.7;color:#b8bdbc;margin:24px 0 0}.pse-emergency__actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px}

/* Work / editorial project gallery */
.pse-work{background:#111416;color:#fff}.pse-section-head--work{display:grid;grid-template-columns:1.1fr .55fr;gap:120px;align-items:end;margin-bottom:64px}.pse-section-head--work h2{color:#fff}.pse-section-head--work>div:last-child{padding-bottom:8px}.pse-section-head--work>div:last-child>p{margin:0 0 24px;color:#9ea4a4;line-height:1.7;font-size:16px}.pse-project-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:290px;gap:18px}.pse-project{position:relative;overflow:hidden;min-width:0;background:#1a1e20;border:1px solid rgba(255,255,255,.08)}.pse-project--1{grid-column:span 7;grid-row:span 2}.pse-project--2{grid-column:span 5;grid-row:span 1}.pse-project--3{grid-column:span 5;grid-row:span 1}.pse-project__media{position:absolute;inset:0;background:linear-gradient(135deg,#1a1f21,#0d1011);display:grid;place-items:center;overflow:hidden}.pse-project__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.pse-project:hover .pse-project__media img{transform:scale(1.04)}.pse-project__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 15%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.88) 100%)}.pse-project__body{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}.pse-project__body>p{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 10px;font-weight:800}.pse-project__body h3{font-size:clamp(24px,2.35vw,38px);line-height:1;letter-spacing:-.035em;margin:0 0 9px;color:#fff}.pse-project__body>span{display:block;max-width:520px;color:#c2c7c6;line-height:1.5;font-size:13px}.pse-project__missing{font-size:11px;color:#7f8686;text-transform:uppercase;letter-spacing:.16em}.pse-project-empty{grid-column:1/-1;grid-row:span 1;min-height:330px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 85% 20%,rgba(201,151,74,.12),transparent 30%),#0a0d0e;display:flex;align-items:end;justify-content:space-between;gap:40px;padding:42px}.pse-project-empty>div{max-width:760px}.pse-project-empty>div>span{font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:800}.pse-project-empty strong{display:block;font-size:86px;line-height:.9;letter-spacing:-.07em;margin:18px 0 8px}.pse-project-empty p{color:#a5abaa;line-height:1.65;margin:0}.pse-admin-hint{display:block;margin-top:12px;color:#7f8787;font-size:11px;line-height:1.5}

/* Reviews */
.pse-reviews{padding:118px 0;background:var(--paper);color:#111314;border-bottom:1px solid #d6cec1}.pse-reviews__grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:100px;align-items:center}.pse-reviews__score{border-right:1px solid #cbc3b5;padding-right:70px}.pse-rating{display:flex;align-items:flex-end;gap:10px}.pse-rating strong{font-size:clamp(96px,9vw,150px);line-height:.76;letter-spacing:-.085em;color:#111314}.pse-rating span{font-size:26px;font-weight:850;padding-bottom:9px;color:var(--accent-deep)}.pse-reviews__score>p:last-child{font-size:12px;color:#737673;margin:16px 0 0}.pse-reviews__copy{position:relative;padding-left:34px}.pse-quote-mark{position:absolute;left:-28px;top:-55px;font-size:140px;line-height:1;color:#d8cfbf;font-family:Georgia,serif}.pse-reviews h2{position:relative;color:#111314;max-width:840px}.pse-reviews__copy>p{font-size:17px;line-height:1.72;color:#626664;max-width:790px}.pse-review-metrics{display:flex;margin:34px 0 30px;border-top:1px solid #cec6b8;border-bottom:1px solid #cec6b8}.pse-review-metrics span{padding:20px 34px 20px 0;margin-right:34px;border-right:1px solid #cec6b8}.pse-review-metrics span:last-child{border-right:0}.pse-review-metrics strong{display:block;color:#111314;font-size:24px;margin-bottom:3px}.pse-review-metrics small{color:#6f7370;font-size:11px}

/* Trust */
.pse-trust{background:#0a0d0e;color:#fff;position:relative}.pse-trust:after{content:"";position:absolute;left:0;top:0;bottom:0;width:34%;background:linear-gradient(90deg,rgba(201,151,74,.055),transparent);pointer-events:none}.pse-trust__grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:start}.pse-trust__statement{position:sticky;top:130px}.pse-trust h2{color:#fff;max-width:700px}.pse-trust__signature{display:flex;align-items:center;gap:14px;margin-top:36px}.pse-trust__signature span{display:block;width:58px;height:1px;background:var(--accent)}.pse-trust__signature small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8e9695}.pse-trust__items{border-top:1px solid rgba(255,255,255,.12)}.pse-trust__items article{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.12);transition:padding-left .25s ease}.pse-trust__items article:hover{padding-left:10px}.pse-trust__items>article>span{font-size:10px;color:var(--accent);font-weight:850;padding-top:4px}.pse-trust__items h3{font-size:24px;letter-spacing:-.025em;margin:0 0 10px;color:#fff}.pse-trust__items p{color:#a6adac;line-height:1.65;margin:0;max-width:620px}

/* Process */
.pse-process{background:var(--paper);color:#111314}.pse-process__head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:78px}.pse-process__head .pse-kicker{margin-bottom:0}.pse-process h2{text-align:right;color:#111314}.pse-process h2 span{color:#9d968a;font-weight:520}.pse-process__grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.pse-process__grid:before{content:"";position:absolute;left:0;right:0;top:36px;height:1px;background:#c7beaf}.pse-process__grid article{position:relative;padding:0 40px 0 0;min-height:245px}.pse-process__grid b{display:block;color:#8b8478;font-size:10px;letter-spacing:.16em;margin-bottom:21px}.pse-process__dot{position:relative;z-index:2;display:block;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--accent);margin-bottom:52px}.pse-process__grid h3{font-size:21px;letter-spacing:-.025em;margin:0 0 13px;color:#111314}.pse-process__grid p{color:#6b6e6b;line-height:1.6;margin:0;font-size:14px;max-width:260px}

/* Quote */
.pse-quote{background:#0b0e0f;color:#fff;position:relative}.pse-quote:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.08)}.pse-quote__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:92px;align-items:start}.pse-quote__intro{position:sticky;top:130px}.pse-quote h2{color:#fff}.pse-quote__intro>p:not(.pse-kicker){color:#a9afae;line-height:1.7;font-size:16px;max-width:510px}.pse-contact-block{margin-top:40px;border-top:1px solid rgba(255,255,255,.14)}.pse-contact-block a{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;text-decoration:none;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}.pse-contact-block span{color:#7f8786;font-size:12px}.pse-contact-block strong{color:#fff;font-size:14px}.pse-contact-block b{color:var(--accent)}.pse-form-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.pse-form-trust span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;padding:8px 10px;border:1px solid rgba(255,255,255,.14);color:#8f9796}
.pse-form-card{background:var(--paper-bright);color:#111314;border:1px solid rgba(255,255,255,.1);box-shadow:0 36px 90px rgba(0,0,0,.25)}.pse-quote-form{display:block}.pse-form-section{padding:32px 34px;border-bottom:1px solid #ddd5c8}.pse-form-step{display:block;font-size:9px;letter-spacing:.18em;font-weight:850;color:#8d8578;margin-bottom:24px}.pse-quote-form label{display:grid;gap:9px;font-size:11px;font-weight:800;color:#151718;margin-bottom:18px}.pse-quote-form label:last-child{margin-bottom:0}.pse-quote-form label>span{font-weight:450;color:#747775}.pse-quote-form input,.pse-quote-form select,.pse-quote-form textarea{font:inherit;color:#111314;border:0;border-bottom:1px solid #cfc7ba;background:transparent;padding:14px 2px;width:100%;border-radius:0}.pse-quote-form textarea{border:1px solid #d4ccbf;padding:14px;background:#fff}.pse-quote-form input::placeholder,.pse-quote-form textarea::placeholder{color:#9b9d99}.pse-quote-form input:focus,.pse-quote-form select:focus,.pse-quote-form textarea:focus{outline:none;border-color:var(--accent-deep);box-shadow:0 1px 0 var(--accent-deep)}.pse-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pse-upload{border:1px dashed #bcb2a2!important;background:#f1ece4;padding:20px!important;cursor:pointer}.pse-upload input{margin-top:6px;background:#fff;border:1px solid #d8d0c4;padding:10px}.pse-form-note{font-size:9px;color:#7d807d;line-height:1.55;margin:0;padding:0 30px 28px}.pse-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.pse-form-success{padding:60px 44px}.pse-form-success>span{display:block;font-size:9px;letter-spacing:.17em;font-weight:850;color:var(--accent-deep);margin-bottom:14px}.pse-form-success strong{display:block;font-size:54px;color:#111314;letter-spacing:-.055em}.pse-form-success p{color:#656966;line-height:1.65}.pse-form-error{margin:24px 30px 0;padding:16px 18px;border-left:3px solid var(--signal);background:#fff0ed;color:#5d211c}.pse-form-error strong{display:block;margin-bottom:4px}.pse-form-error p{margin:0;font-size:13px;line-height:1.5}

/* Area */
.pse-area{position:relative;padding:122px 0 112px;background:#07090a;color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}.pse-area__word{position:absolute;left:-.02em;bottom:-.16em;font-size:clamp(130px,19vw,330px);font-weight:900;line-height:.74;letter-spacing:-.085em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);white-space:nowrap}.pse-area__grid{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:98px}.pse-area h2{color:#fff}.pse-area h2 span{color:#8f9695;font-weight:520}.pse-area__grid>div:last-child>p{font-size:16px;line-height:1.72;color:#a9afae;max-width:720px;margin-top:48px}.pse-area__places{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.pse-area__places span{border:1px solid rgba(255,255,255,.14);padding:11px 14px;font-size:10px;letter-spacing:.03em;background:rgba(255,255,255,.02)}

/* Footer */
.pse-footer{padding:72px 0 30px;background:#050607;border-top:1px solid rgba(255,255,255,.08)}.pse-footer__grid{display:grid;grid-template-columns:1.7fr .65fr .65fr;gap:70px}.pse-footer__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.pse-footer strong{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.08em}.pse-footer p{color:#7f8786;max-width:500px;line-height:1.65}.pse-footer a{text-decoration:none;color:#b3b9b8;font-size:12px}.pse-footer a:hover{color:#fff}.pse-footer__bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:9px}.pse-footer__bottom .pse-credit{color:#fff;text-decoration:none!important}.pse-mobile-convert{display:none}

/* Motion */
.pse-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.pse-reveal.is-visible{opacity:1;transform:none}.pse-service-panel.pse-reveal:nth-child(2),.pse-project.pse-reveal:nth-child(2),.pse-trust__items article.pse-reveal:nth-child(2),.pse-process__grid article.pse-reveal:nth-child(2){transition-delay:.08s}.pse-project.pse-reveal:nth-child(3),.pse-trust__items article.pse-reveal:nth-child(3),.pse-process__grid article.pse-reveal:nth-child(3){transition-delay:.14s}.pse-trust__items article.pse-reveal:nth-child(4),.pse-process__grid article.pse-reveal:nth-child(4){transition-delay:.20s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pse-reveal{opacity:1;transform:none;transition:none}.pse-project__media img,.pse-service-panel__media img,.pse-btn,.pse-text-link span{transition:none}}

@media(max-width:1180px){
  .pse-menu{gap:18px}.pse-header__actions{gap:10px}.pse-hero__inner{grid-template-columns:1.4fr .6fr;gap:48px}.pse-hero h1 strong{margin-left:3vw}.pse-hero__lower{grid-template-columns:1fr}.pse-actions{flex-direction:row;align-items:center}.pse-service-panel__content,.pse-service-panel__footer{left:34px;right:34px}.pse-section-head--architectural,.pse-section-head--work,.pse-trust__grid,.pse-quote__grid,.pse-area__grid{gap:60px}.pse-reviews__grid{gap:60px}.pse-emergency__grid{grid-template-columns:190px 1fr .45fr}.pse-emergency__number strong{font-size:160px}
}

@media(max-width:980px){
  :root{--shell:min(100% - 38px,900px);--header:72px}
  body.admin-bar .pse-header{top:32px}
  .pse-nav,.pse-header__actions{display:none}.pse-menu-toggle{display:grid;margin-left:auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.26);background:transparent;place-content:center;gap:7px}.pse-menu-toggle span{display:block;width:18px;height:1px;background:#fff}.pse-mobile-menu{position:absolute;top:100%;left:0;right:0;background:#080a0b;border-top:1px solid rgba(255,255,255,.08);padding:18px;grid-template-columns:1fr;box-shadow:0 26px 50px rgba(0,0,0,.28)}.pse-mobile-menu:not([hidden]){display:grid}.pse-mobile-menu a{text-decoration:none;padding:13px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:700}
  .pse-hero{min-height:auto}.pse-hero__inner{grid-template-columns:1fr;padding:160px 0 150px;gap:42px}.pse-hero h1{font-size:clamp(70px,11vw,106px)}.pse-hero h1 strong{margin-left:0}.pse-hero__lower{max-width:700px}.pse-proof-card{max-width:620px;transform:none}.pse-hero__rail .pse-shell{grid-template-columns:1fr 1fr}.pse-hero__rail span:nth-child(2){border-right:0}.pse-hero__rail span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .pse-section{padding:100px 0}.pse-section-head--architectural,.pse-section-head--work,.pse-reviews__grid,.pse-trust__grid,.pse-quote__grid,.pse-area__grid{grid-template-columns:1fr;gap:44px}.pse-service-stage{grid-template-columns:1fr}.pse-service-panel--build{margin-top:0}.pse-service-panel{min-height:640px}.pse-emergency__grid{grid-template-columns:1fr 1fr}.pse-emergency__number{display:none}.pse-project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:360px}.pse-project--1,.pse-project--2,.pse-project--3{grid-column:span 1;grid-row:span 1}.pse-project--1{grid-column:1/-1}.pse-project-empty{grid-column:1/-1}.pse-reviews__score{border-right:0;border-bottom:1px solid #cbc3b5;padding:0 0 42px}.pse-reviews__copy{padding-left:0}.pse-quote-mark{left:auto;right:0;top:-84px}.pse-trust__statement,.pse-quote__intro{position:static}.pse-process__head{display:grid;gap:28px}.pse-process h2{text-align:left}.pse-process__grid{grid-template-columns:1fr 1fr;gap:58px 26px}.pse-process__grid:before{display:none}.pse-process__grid article{padding:0;min-height:auto}.pse-process__dot{margin-bottom:28px}.pse-footer__grid{grid-template-columns:1.3fr 1fr 1fr;gap:36px}
}
@media(max-width:782px){body.admin-bar .pse-header{top:46px}}

@media(max-width:680px){
  :root{--shell:calc(100vw - 30px)}
  body.pse-site{padding-bottom:58px}.pse-header{background:rgba(7,9,10,.10);backdrop-filter:none}.pse-brand{min-width:0}.pse-wordmark strong{font-size:18px}.pse-wordmark span{font-size:7px}
  .pse-hero.has-image{background-image:linear-gradient(180deg,rgba(4,5,6,.58) 0%,rgba(4,5,6,.86) 46%,rgba(4,5,6,.98) 100%),var(--pse-image);background-position:62% center}.pse-hero:before{font-size:115px;bottom:96px}.pse-hero__inner{padding:132px 0 178px}.pse-hero h1{font-size:clamp(58px,18vw,84px);line-height:.81}.pse-hero__lower{margin-top:32px}.pse-lead{font-size:16px}.pse-actions{display:grid;width:100%;gap:16px}.pse-actions .pse-btn{width:100%}.pse-proof-card{padding:22px}.pse-proof-stat{grid-template-columns:90px 1fr}.pse-proof-stat strong{font-size:30px}.pse-hero__rail span{font-size:8px;padding:13px 4px}
  .pse-section{padding:78px 0}.pse-section-head h2,.pse-emergency h2,.pse-trust h2,.pse-area h2,.pse-quote h2,.pse-reviews h2,.pse-process h2{font-size:clamp(42px,12.5vw,60px)}.pse-section-head--architectural{margin-bottom:46px}.pse-section-head--architectural>p{font-size:15px}.pse-service-panel{min-height:580px}.pse-service-panel__content,.pse-service-panel__footer{left:24px;right:24px}.pse-service-panel__content{bottom:220px}.pse-service-panel__footer{grid-template-columns:1fr;gap:18px;bottom:24px}.pse-service-panel ul{grid-template-columns:1fr}.pse-service-panel h3{font-size:44px}.pse-service-panel p{font-size:14px}.pse-service-panel__index{font-size:120px}
  .pse-emergency{padding:72px 0}.pse-emergency__grid{grid-template-columns:1fr;gap:30px}.pse-emergency__actions{width:100%}.pse-emergency__actions .pse-btn{width:100%}.pse-emergency__copy>p:last-child{font-size:15px}
  .pse-section-head--work{margin-bottom:40px}.pse-project-grid{grid-template-columns:1fr;grid-auto-rows:380px}.pse-project--1,.pse-project--2,.pse-project--3{grid-column:auto}.pse-project__body{left:22px;right:22px;bottom:22px}.pse-project-empty{display:grid;padding:28px;grid-row:auto}.pse-project-empty strong{font-size:68px}.pse-project-empty .pse-btn{width:max-content}
  .pse-reviews{padding:82px 0}.pse-rating strong{font-size:90px}.pse-review-metrics{display:grid;grid-template-columns:1fr 1fr}.pse-review-metrics span{margin:0;padding:16px 12px 16px 0}.pse-review-metrics span:nth-child(2){border-right:0}.pse-review-metrics span:nth-child(3){grid-column:1/-1;border-top:1px solid #cec6b8;border-right:0}.pse-quote-mark{display:none}
  .pse-trust__items article{grid-template-columns:48px 1fr;padding:24px 0}.pse-trust__items h3{font-size:21px}.pse-trust__items article:hover{padding-left:0}
  .pse-process__grid{grid-template-columns:1fr;gap:42px}.pse-process__dot{margin-bottom:22px}.pse-process__grid p{max-width:none}
  .pse-form-row{grid-template-columns:1fr}.pse-form-section{padding:26px 20px}.pse-btn--submit{margin:22px 20px 10px;width:calc(100% - 40px)}.pse-form-note{padding:0 20px 22px}.pse-form-success{padding:38px 24px}.pse-form-error{margin:20px 20px 0}.pse-contact-block a{grid-template-columns:72px 1fr auto}
  .pse-area{padding:82px 0 86px}.pse-area__word{font-size:110px}.pse-area__grid>div:last-child>p{margin-top:0;font-size:15px}
  .pse-footer{padding-bottom:28px}.pse-footer__grid{grid-template-columns:1fr;gap:30px}.pse-footer__bottom{display:grid}.pse-mobile-convert{display:grid;position:fixed;z-index:90;bottom:0;left:0;right:0;height:58px;grid-template-columns:repeat(3,1fr);background:#07090a;border-top:1px solid rgba(255,255,255,.1)}.pse-mobile-convert a{display:grid;place-items:center;text-decoration:none;font-size:11px;font-weight:850;border-right:1px solid rgba(255,255,255,.08)}.pse-mobile-convert a:nth-child(2){background:var(--accent);color:#111}.pse-mobile-convert a:last-child{border-right:0}
}

/* v1.2.1 refinement — services, emergency and stepped enquiry */
.pse-service-panel{min-height:750px}.pse-service-panel--build{min-height:690px}
.pse-service-panel__content{bottom:255px}
.pse-service-panel__footer{bottom:32px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;border-top:1px solid rgba(255,255,255,.20);padding-top:18px}
.pse-service-scope__label{display:block;font-size:8px;letter-spacing:.20em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:12px;font-weight:800}
.pse-service-scope__items{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:0}
.pse-service-scope__items>span{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.10);font-size:11px;color:#eef0ee;line-height:1.25}
.pse-service-scope__items>span:nth-child(-n+2){border-top:0}
.pse-service-scope__items b{font-size:8px;letter-spacing:.10em;color:var(--accent);font-weight:850}
.pse-service-panel__cta{display:inline-flex!important;align-items:center;gap:10px;padding:14px 0 3px;border-bottom:1px solid rgba(255,255,255,.48);font-size:11px!important;letter-spacing:.02em;text-transform:none;transition:border-color .2s ease,color .2s ease}
.pse-service-panel__cta:hover{border-color:var(--accent);color:var(--accent)!important}
.pse-service-panel__cta b{font-size:13px!important;margin-left:0!important}

.pse-emergency{padding:106px 0;background:linear-gradient(115deg,#9f3026 0%,#c6472d 42%,#d36b37 100%);border:0;color:#fff;isolation:isolate}
.pse-emergency:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08) 0 1px,transparent 1px 100%);background-size:64px 64px;opacity:.22;mask-image:linear-gradient(90deg,transparent,black 28%,black 78%,transparent);z-index:-1}
.pse-emergency__glow{width:800px;height:800px;right:-170px;top:-380px;background:radial-gradient(circle,rgba(255,220,159,.42),rgba(255,191,108,.14) 40%,transparent 72%);filter:blur(2px);z-index:-1}
.pse-emergency__line{position:absolute;width:48vw;height:48vw;border:1px solid rgba(255,255,255,.16);right:-18vw;top:-29vw;transform:rotate(45deg);z-index:-1}
.pse-emergency__grid{grid-template-columns:240px minmax(0,1fr) .47fr;gap:62px}
.pse-emergency__number{display:grid;grid-template-columns:auto auto;align-items:end;justify-content:start;position:relative}
.pse-emergency__number strong{font-size:190px;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.24);letter-spacing:-.095em}
.pse-emergency__number span{font-size:46px;color:#fff;font-weight:900;padding:0 0 17px 3px}
.pse-emergency__number small{grid-column:1/-1;margin-top:-2px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.67);font-weight:800}
.pse-emergency .pse-kicker{color:#ffe1ba}
.pse-emergency h2{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.05)}
.pse-emergency h2 em{color:#ffe1ba}
.pse-emergency__copy>p:last-child{color:rgba(255,255,255,.82)}
.pse-btn--emergency{background:#0a0c0d;color:#fff!important;box-shadow:0 16px 45px rgba(57,12,7,.24)}
.pse-btn--emergency:hover{background:#15191a}
.pse-emergency .pse-text-link--light{color:#fff!important}

.pse-section-head--work>div:last-child>p{font-size:17px;color:#b1b6b5;max-width:560px;margin-bottom:0}

.pse-form-card{border:1px solid #d9d1c5;background:#f7f3ec;box-shadow:0 42px 110px rgba(0,0,0,.30);overflow:hidden}
.pse-quote-form{position:relative}
.pse-form-progress{display:none;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d9d1c5;background:#eee8de}
.pse-quote-form.is-stepped .pse-form-progress{display:grid}
.pse-form-progress>span{position:relative;display:flex;align-items:center;gap:10px;padding:19px 22px;color:#8a8275;border-right:1px solid #d9d1c5}
.pse-form-progress>span:last-child{border-right:0}
.pse-form-progress>span:after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--accent);transition:right .25s ease}
.pse-form-progress>span.is-active,.pse-form-progress>span.is-complete{color:#111314}
.pse-form-progress>span.is-active:after,.pse-form-progress>span.is-complete:after{right:0}
.pse-form-progress b{font-size:9px;letter-spacing:.14em;color:var(--accent-deep)}
.pse-form-progress small{font-size:10px;text-transform:uppercase;letter-spacing:.10em;font-weight:800}
.pse-form-stage{padding:36px 38px 30px}
.pse-quote-form.is-stepped .pse-form-stage{display:none}
.pse-quote-form.is-stepped .pse-form-stage.is-active{display:block;animation:pseStepIn .34s ease both}
@keyframes pseStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pse-form-stage__head{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid #d9d1c5}
.pse-form-stage__head>span{display:block;font-size:9px;letter-spacing:.18em;font-weight:850;color:#8c8376;margin-bottom:12px}
.pse-form-stage__head h3{margin:0;font-size:clamp(28px,2.5vw,38px);line-height:1;letter-spacing:-.04em;color:#101314}
.pse-form-stage__head p{margin:12px 0 0;max-width:620px;font-size:13px;line-height:1.6;color:#6f726f}
.pse-form-fields{display:grid;gap:19px}
.pse-quote-form label{display:grid;gap:9px;font-size:11px;font-weight:800;color:#151718;margin:0}
.pse-quote-form input,.pse-quote-form select,.pse-quote-form textarea{appearance:none;font:inherit;color:#111314;border:1px solid #c9c0b2;background:#fff;padding:15px 16px;width:100%;border-radius:0;min-height:54px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.pse-quote-form select{background:#fff;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,#5f625f 50%),linear-gradient(135deg,#5f625f 50%,transparent 50%);background-position:calc(100% - 19px) 23px,calc(100% - 14px) 23px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.pse-quote-form textarea{min-height:146px;resize:vertical}
.pse-quote-form input::placeholder,.pse-quote-form textarea::placeholder{color:#9b9c98}
.pse-quote-form input:hover,.pse-quote-form select:hover,.pse-quote-form textarea:hover{border-color:#a99e8d}
.pse-quote-form input:focus,.pse-quote-form select:focus,.pse-quote-form textarea:focus{outline:none;border-color:var(--accent-deep);box-shadow:0 0 0 3px rgba(201,151,74,.14)}
.pse-form-row{gap:18px}
.pse-upload{display:grid!important;grid-template-columns:54px 1fr!important;grid-template-areas:"mark title" "mark note" "mark status";gap:4px 18px!important;align-items:center;border:1px dashed #b9ae9d!important;background:#eee8df;padding:24px!important;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.pse-upload:hover{border-color:var(--accent-deep)!important;background:#f1ece4}
.pse-upload input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important;min-height:0!important}
.pse-upload__mark{grid-area:mark;display:grid!important;place-items:center;width:54px;height:54px;border:1px solid #b6ab9b;color:var(--accent-deep)!important;font-size:28px!important;font-weight:350!important;background:#f8f4ed}
.pse-upload strong{grid-area:title;font-size:14px;color:#111314}
.pse-upload small{grid-area:note;font-size:11px;color:#767873;font-weight:500;line-height:1.45}
.pse-upload em{grid-area:status;font-style:normal;font-size:10px;color:#8c8376;font-weight:700;margin-top:3px}
.pse-form-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:22px;border-top:1px solid #d9d1c5}
.pse-form-nav>span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8c8376;font-weight:800}
.pse-form-next,.pse-form-back{display:none;border:0;background:transparent;cursor:pointer;font:inherit;font-weight:850;color:#111314;padding:13px 0}
.pse-quote-form.is-stepped .pse-form-next,.pse-quote-form.is-stepped .pse-form-back{display:inline-flex;align-items:center;gap:12px}
.pse-form-next{margin-left:auto;border-bottom:1px solid #111314}.pse-form-next b{color:var(--accent-deep)}
.pse-form-back{color:#77736d}
.pse-form-nav--final .pse-btn--submit{margin:0 0 0 auto;width:auto;min-width:230px;justify-content:space-between;background:#111314;color:#fff!important}
.pse-form-nav--final .pse-btn--submit:hover{background:#1a1e1f}

/* v2.0.9 form action stability — keep theme hover rules from changing button geometry */
body.pse-site .pse-quote-form button.pse-form-next,
body.pse-site .pse-quote-form button.pse-form-back{
  appearance:none;-webkit-appearance:none;box-sizing:border-box;min-height:44px;padding:13px 0!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;
  line-height:1.2;transition:color .18s ease,border-color .18s ease,opacity .18s ease
}
body.pse-site .pse-quote-form button.pse-form-next:is(:hover,:focus-visible,:active),
body.pse-site .pse-quote-form button.pse-form-back:is(:hover,:focus-visible,:active){
  padding:13px 0!important;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;
  color:var(--accent-deep)!important;outline:none
}
body.pse-site .pse-quote-form button.pse-form-next{border:0!important;border-bottom:1px solid #111314!important}
body.pse-site .pse-quote-form button.pse-form-next:is(:hover,:focus-visible,:active){border-bottom-color:var(--accent-deep)!important}
body.pse-site .pse-quote-form button.pse-form-back{border:0!important;color:#77736d!important}
body.pse-site .pse-quote-form button.pse-form-back:is(:hover,:focus-visible,:active){color:var(--accent-deep)!important}
body.pse-site .pse-quote-form button.pse-btn--submit{
  appearance:none;-webkit-appearance:none;box-sizing:border-box;min-height:54px;padding:0 24px!important;border:0!important;border-radius:0!important;
  background:#111314!important;color:#fff!important;box-shadow:none!important;filter:none!important;transform:none!important
}
body.pse-site .pse-quote-form button.pse-btn--submit:is(:hover,:focus-visible,:active){
  min-height:54px;padding:0 24px!important;border:0!important;border-radius:0!important;background:#1a1e1f!important;color:#fff!important;
  box-shadow:none!important;filter:none!important;transform:none!important
}
.pse-form-note{padding:16px 0 0;margin:0;color:#827f78}

@media(max-width:1180px){
  .pse-emergency__grid{grid-template-columns:180px 1fr .5fr}.pse-emergency__number strong{font-size:150px}
}
@media(max-width:980px){
  .pse-service-panel{min-height:690px}.pse-service-panel--build{min-height:660px}.pse-service-panel__content{bottom:255px}
  .pse-emergency{padding:88px 0}.pse-emergency__grid{grid-template-columns:1fr .48fr}.pse-emergency__number{display:none}
}
@media(max-width:680px){
  .pse-service-panel{min-height:690px}.pse-service-panel__content{bottom:300px}.pse-service-panel__footer{grid-template-columns:1fr;gap:14px}.pse-service-scope__items{grid-template-columns:1fr}.pse-service-scope__items>span:nth-child(2){border-top:1px solid rgba(255,255,255,.10)}.pse-service-panel__cta{width:max-content}
  .pse-emergency{padding:74px 0}.pse-emergency__grid{grid-template-columns:1fr}.pse-emergency__actions{width:100%}.pse-btn--emergency{width:100%}
  .pse-form-progress>span{padding:16px 10px;justify-content:center}.pse-form-progress small{font-size:9px}.pse-form-stage{padding:28px 20px 24px}.pse-form-stage__head{padding-bottom:22px;margin-bottom:22px}.pse-form-stage__head h3{font-size:31px}.pse-form-row{grid-template-columns:1fr}.pse-upload{grid-template-columns:46px 1fr!important;padding:19px!important}.pse-upload__mark{width:46px;height:46px}.pse-form-nav--final{align-items:stretch;flex-direction:column-reverse}.pse-form-nav--final .pse-btn--submit{margin:0;width:100%}.pse-form-back{width:max-content}.pse-form-note{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.pse-quote-form.is-stepped .pse-form-stage.is-active{animation:none}}
.pse-upload em.has-error{color:#9f3026}

/* v1.2.2 brand/header refinement */
.pse-footer__brand .pse-logo-img{max-height:82px;max-width:124px;filter:none}
@media(max-width:960px){.pse-brand{min-width:118px}.pse-logo-img{max-height:60px;max-width:110px}.pse-header.is-scrolled .pse-logo-img{max-height:54px}}
@media(max-width:680px){.pse-logo-img{max-height:54px;max-width:96px}.pse-header.is-scrolled .pse-logo-img{max-height:50px}}

/* v1.2.3 — header navigation interaction refinement */
.pse-header .pse-menu a:hover,
.pse-header .pse-menu a:focus-visible,
.pse-header .pse-menu a.is-active,
.pse-header .pse-menu .current-menu-item > a,
.pse-header .pse-menu .current_page_item > a{
  color:var(--accent)!important;
}
.pse-mobile-menu a:hover,
.pse-mobile-menu a:focus-visible,
.pse-mobile-menu a.is-active,
.pse-mobile-menu .current-menu-item > a,
.pse-mobile-menu .current_page_item > a{
  color:var(--accent)!important;
}

/* v1.2.5 — full-screen mobile navigation anchored above persistent conversion bar */
@media(max-width:980px){
  body.pse-menu-open{overflow:hidden;overscroll-behavior:none}
  body.pse-menu-open .pse-header{background:rgba(5,7,8,.99);border-color:rgba(255,255,255,.08);backdrop-filter:blur(22px) saturate(120%);box-shadow:none}

  .pse-menu-toggle{position:relative;z-index:3;border-color:rgba(255,255,255,.18);transition:border-color .25s ease,background-color .25s ease}
  .pse-menu-toggle:hover,.pse-menu-toggle:focus-visible{border-color:var(--accent);background:rgba(255,255,255,.035)}
  .pse-menu-toggle span{transform-origin:center;transition:transform .34s cubic-bezier(.22,.61,.36,1),width .28s ease,background-color .2s ease}
  .pse-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
  .pse-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .pse-menu-toggle[aria-expanded="true"] span{background:var(--accent)}

  .pse-mobile-menu{position:absolute;top:100%;right:0;left:0;width:100vw;height:calc(100vh - var(--header));height:calc(100dvh - var(--header));background:
    radial-gradient(circle at 88% 8%,rgba(201,151,74,.10),transparent 30%),
    linear-gradient(180deg,#07090a 0%,#0b0e0f 100%);
    border-top:1px solid rgba(255,255,255,.07);padding:0;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;color:#fff;z-index:2}
  body.admin-bar .pse-mobile-menu{height:calc(100vh - var(--header) - 32px);height:calc(100dvh - var(--header) - 32px)}
  .pse-mobile-menu:not([hidden]){display:block;animation:pseMobilePanelIn .38s cubic-bezier(.22,.61,.36,1) both}
  .pse-mobile-menu:before{content:"SKYLIGHT";position:absolute;left:-.04em;bottom:-.09em;font-size:clamp(104px,25vw,230px);font-weight:900;line-height:.78;letter-spacing:-.085em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);pointer-events:none}
  .pse-mobile-menu__inner{position:relative;min-height:100%;padding-top:34px;padding-bottom:34px;display:grid;grid-template-rows:auto 1fr;gap:30px}
  .pse-mobile-menu__topline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.10);font-size:8px;letter-spacing:.19em;text-transform:uppercase;color:#9da2a2;font-weight:800}
  .pse-mobile-menu__topline small{font:inherit;color:#646b6c}
  .pse-mobile-menu__nav{display:grid;align-content:center}
  .pse-mobile-menu__nav>a{display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.09);text-decoration:none;color:#f2f1ed!important;opacity:0;transform:translateY(16px);animation:pseMenuItemIn .48s cubic-bezier(.22,.61,.36,1) forwards}
  .pse-mobile-menu__nav>a:first-child{border-top:1px solid rgba(255,255,255,.09)}
  .pse-mobile-menu__nav>a:nth-child(1){animation-delay:.04s}.pse-mobile-menu__nav>a:nth-child(2){animation-delay:.09s}.pse-mobile-menu__nav>a:nth-child(3){animation-delay:.14s}.pse-mobile-menu__nav>a:nth-child(4){animation-delay:.19s}
  .pse-mobile-menu__nav>a>span{font-size:9px;letter-spacing:.12em;color:var(--accent);font-weight:850}
  .pse-mobile-menu__nav>a>strong{font-size:clamp(32px,7.5vw,48px);line-height:1;letter-spacing:-.045em;font-weight:760}
  .pse-mobile-menu__nav>a>b{font-size:16px;color:#6f7777;font-weight:400;transition:transform .2s ease,color .2s ease}
  .pse-mobile-menu__nav>a:hover,.pse-mobile-menu__nav>a:focus-visible{color:var(--accent)!important}
  .pse-mobile-menu__nav>a:hover>b,.pse-mobile-menu__nav>a:focus-visible>b{transform:translate(3px,-3px);color:var(--accent)}

}
@media(max-width:782px){body.admin-bar .pse-mobile-menu{height:calc(100vh - var(--header) - 46px);height:calc(100dvh - var(--header) - 46px)}}
@media(max-width:680px){
  .pse-mobile-menu{height:calc(100vh - var(--header) - 58px);height:calc(100dvh - var(--header) - 58px)}
  body.admin-bar .pse-mobile-menu{height:calc(100vh - var(--header) - 46px - 58px);height:calc(100dvh - var(--header) - 46px - 58px)}
  .pse-mobile-menu__inner{padding-top:24px;padding-bottom:24px;gap:22px}
  .pse-mobile-menu__nav>a{padding:14px 0;grid-template-columns:34px 1fr auto}

  .pse-mobile-convert{transition:opacity .25s ease,transform .34s cubic-bezier(.22,.61,.36,1)}
  .pse-mobile-convert a.pse-mobile-convert__item{display:flex;align-items:center;justify-content:center;gap:7px;color:#fff!important;transition:color .2s ease,background-color .2s ease,transform .2s ease}
  .pse-mobile-convert__item svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
  .pse-mobile-convert a.pse-mobile-convert__item--call:hover,
  .pse-mobile-convert a.pse-mobile-convert__item--call:focus-visible,
  .pse-mobile-convert a.pse-mobile-convert__item--quote:hover,
  .pse-mobile-convert a.pse-mobile-convert__item--quote:focus-visible{color:var(--accent)!important;background:#0b0e0f}
  .pse-mobile-convert a.pse-mobile-convert__item--whatsapp{background:var(--accent);color:#111!important}
  .pse-mobile-convert a.pse-mobile-convert__item--whatsapp:hover,
  .pse-mobile-convert a.pse-mobile-convert__item--whatsapp:focus-visible{color:#fff!important;background:var(--accent-deep)}
}
@keyframes pseMobilePanelIn{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pseMenuItemIn{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .pse-mobile-menu:not([hidden]){animation:none}.pse-mobile-menu__nav>a{animation:none;opacity:1;transform:none}
  .pse-menu-toggle span,.pse-mobile-convert{transition:none!important}
}


/* v1.2.6 — mobile menu viewport containment and conditional vertical overflow */
@media(max-width:980px){
  html{overflow-x:hidden}
  body.pse-site{overflow-x:hidden;overflow-x:clip}
  body.pse-menu-open{overflow:hidden;overflow-x:hidden;overflow-x:clip;width:100%}
  .pse-header,.pse-header__inner{max-width:100%}
  .pse-mobile-menu{
    right:0;
    left:0;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
    overflow-y:hidden;
    overscroll-behavior-x:none;
    overscroll-behavior-y:contain;
    scrollbar-gutter:auto;
  }
  .pse-mobile-menu.is-overflowing{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .pse-mobile-menu:before{max-width:none;overflow:visible}
  .pse-mobile-menu__inner{
    width:var(--shell);
    max-width:calc(100% - 38px);
    min-width:0;
    min-height:100%;
    margin-inline:auto;
    overflow:visible;
  }
  .pse-mobile-menu__topline,.pse-mobile-menu__nav,.pse-mobile-menu__nav>a{min-width:0;max-width:100%}
  .pse-mobile-menu__nav>a{width:100%;outline-offset:-2px}
  .pse-mobile-menu__nav>a>strong{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:680px){
  .pse-mobile-menu__inner{width:calc(100% - 30px);max-width:calc(100% - 30px)}
}


/* v1.2.7 — mobile breathing room and hero typography */
@media(max-width:680px){
  :root{--shell:calc(100vw - 60px)}
  .pse-hero h1{font-size:clamp(44px,13.5vw,58px);line-height:.89;letter-spacing:-.055em}
  .pse-hero h1 strong{margin-top:10px}
  .pse-mobile-menu__inner{width:calc(100% - 60px);max-width:calc(100% - 60px)}
}

/* v1.3.0 — core supporting pages */
.pse-inner-page main{overflow:hidden}
.pse-page-section{padding:132px 0}
.pse-inner-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}
.pse-page-heading{max-width:920px;margin-bottom:70px}
.pse-page-heading h2{font-size:clamp(52px,5.5vw,88px);line-height:.93;letter-spacing:-.065em;margin:0}
.pse-page-heading>p:last-child{max-width:650px;font-size:17px;line-height:1.72;color:#747674;margin:26px 0 0}
.pse-page-heading--split{display:grid;grid-template-columns:1.25fr .75fr;max-width:none;gap:100px;align-items:end}
.pse-page-heading--split>p:last-child{margin:0 0 8px}

/* Inner hero / Why Skylight */
.pse-inner-hero{min-height:820px;position:relative;display:flex;align-items:flex-end;background:#090b0c;color:#fff;isolation:isolate}
.pse-inner-hero.has-image{background-image:linear-gradient(90deg,rgba(5,6,7,.97) 0%,rgba(5,6,7,.82) 45%,rgba(5,6,7,.42) 100%),var(--inner-hero);background-size:cover;background-position:center}
.pse-inner-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.45))}
.pse-inner-hero:after{content:"ACCOUNTABILITY";position:absolute;right:-.05em;bottom:18px;font-size:clamp(90px,12vw,210px);font-weight:900;line-height:.72;letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);pointer-events:none;white-space:nowrap}
.pse-inner-hero__grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(320px,.54fr);gap:100px;align-items:end;padding:190px 0 112px;position:relative;z-index:2}
.pse-inner-hero__copy h1{font-size:clamp(70px,7.3vw,118px);line-height:.84;letter-spacing:-.07em;margin:0;max-width:980px}
.pse-inner-hero__copy h1 em{font-style:normal;color:var(--accent)}
.pse-inner-hero__copy>p:not(.pse-kicker){max-width:790px;font-size:19px;line-height:1.72;color:#c9cdcc;margin:38px 0 0}
.pse-why-ledger{border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:0 0 22px;background:rgba(8,10,11,.3);backdrop-filter:blur(10px)}
.pse-why-ledger>div{display:grid;grid-template-columns:36px 104px 1fr;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.pse-why-ledger>div>span{font-size:9px;color:var(--accent);font-weight:800;letter-spacing:.12em}.pse-why-ledger strong{font-size:31px;letter-spacing:-.045em}.pse-why-ledger p{font-size:12px;color:#c1c5c4;margin:0;line-height:1.45}.pse-why-ledger>small{display:block;color:#6f7777;font-size:9px;line-height:1.5;padding-top:17px}
.pse-why-standard{background:var(--paper);color:#101314}
.pse-why-standard__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:120px;align-items:start}
.pse-why-standard h2{font-size:clamp(50px,5.15vw,82px);line-height:.94;letter-spacing:-.06em;margin:0;max-width:720px}
.pse-why-principles{border-top:1px solid var(--line-light)}
.pse-why-principles article{display:grid;grid-template-columns:54px .7fr 1fr;gap:24px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line-light)}
.pse-why-principles span{font-size:9px;font-weight:800;color:#9a7b4f;letter-spacing:.13em;padding-top:5px}.pse-why-principles h3{font-size:22px;letter-spacing:-.035em;margin:0}.pse-why-principles p{font-size:14px;line-height:1.65;color:#6d706e;margin:0}
.pse-why-disciplines{background:#0c1012;color:#fff}
.pse-why-disciplines .pse-page-heading>p:last-child{color:#aeb4b4}
.pse-discipline-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.pse-discipline-card{min-height:480px;padding:54px;display:flex;flex-direction:column;text-decoration:none;background:#101517;position:relative;overflow:hidden;transition:background .3s ease,transform .3s ease}
.pse-discipline-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 56%,rgba(201,151,74,.08));opacity:0;transition:opacity .3s ease}.pse-discipline-card:hover:before{opacity:1}
.pse-discipline-card>span{font-size:10px;letter-spacing:.19em;color:var(--accent);font-weight:850;position:relative}.pse-discipline-card h3{font-size:clamp(40px,4vw,62px);line-height:.96;letter-spacing:-.055em;margin:80px 0 24px;max-width:650px;position:relative}.pse-discipline-card p{font-size:15px;line-height:1.72;color:#adb3b3;max-width:600px;margin:0;position:relative}.pse-discipline-card b{margin-top:auto;padding-top:36px;font-size:13px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);position:relative}.pse-discipline-card i{font-style:normal;color:var(--accent);font-size:18px}.pse-discipline-card--build{background:#17130d}.pse-discipline-card--build:before{background:linear-gradient(135deg,transparent 52%,rgba(201,151,74,.14))}
.pse-independent-proof{background:var(--paper);color:#101314}
.pse-independent-proof__grid{display:grid;grid-template-columns:.44fr 1fr;gap:130px;align-items:center}.pse-independent-proof__score{border-right:1px solid var(--line-light);padding-right:70px}.pse-independent-proof__score>strong{display:block;font-size:clamp(90px,10vw,150px);letter-spacing:-.075em;line-height:.8}.pse-independent-proof__score strong small{font-size:.25em;color:#a66f2c;letter-spacing:-.02em}.pse-independent-proof__score>span{display:block;font-size:12px;color:#777b79;margin-top:18px}.pse-independent-proof__copy h2{font-size:clamp(50px,5vw,78px);line-height:.94;letter-spacing:-.06em;margin:0}.pse-independent-proof__copy>p{font-size:17px;line-height:1.7;color:#6c706f;max-width:760px}.pse-independent-proof__stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);margin:32px 0 36px}.pse-independent-proof__stats span{padding:22px 20px;border-right:1px solid var(--line-light);font-size:11px;color:#747775}.pse-independent-proof__stats span:first-child{padding-left:0}.pse-independent-proof__stats span:last-child{border-right:0}.pse-independent-proof__stats b{display:block;font-size:24px;color:#111;margin-bottom:7px}

/* Shared page CTA */
.pse-page-cta{padding:104px 0;background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.pse-page-cta__grid{display:grid;grid-template-columns:1fr .8fr;gap:120px;align-items:end}.pse-page-cta h2{font-size:clamp(52px,5.4vw,84px);line-height:.93;letter-spacing:-.06em;margin:0}.pse-page-cta__grid>div:last-child>p{font-size:16px;line-height:1.72;color:#aeb4b4;margin:0;max-width:650px}

/* Roofing services */
.pse-roof-hero{min-height:820px;padding:190px 0 110px;position:relative;display:flex;align-items:flex-end;background:linear-gradient(135deg,#080a0b,#1a1f21);isolation:isolate;color:#fff}
.pse-roof-hero.has-image{background-image:var(--roof-hero);background-size:cover;background-position:center}
.pse-roof-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,5,6,.96) 0%,rgba(4,5,6,.82) 45%,rgba(4,5,6,.28) 100%),linear-gradient(0deg,rgba(4,5,6,.72),transparent 52%)}
.pse-roof-hero__content{position:relative;z-index:2}.pse-roof-hero h1{font-size:clamp(76px,8vw,132px);line-height:.81;letter-spacing:-.075em;margin:0;max-width:1050px}.pse-roof-hero h1 em{font-style:normal;color:var(--accent)}.pse-roof-hero__lower{display:grid;grid-template-columns:minmax(0,760px) auto;gap:70px;align-items:end;margin-top:44px}.pse-roof-hero__lower>p{font-size:18px;line-height:1.72;color:#d0d3d2;margin:0}.pse-roof-hero__mark{position:absolute;right:-.03em;bottom:-.08em;font-size:clamp(120px,17vw,280px);font-weight:900;letter-spacing:-.085em;line-height:.72;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);pointer-events:none}
.pse-roof-emergency{background:var(--accent);color:#111;padding:42px 0}.pse-roof-emergency__grid{display:grid;grid-template-columns:180px 1fr auto;gap:54px;align-items:center}.pse-roof-emergency__grid>span{font-size:74px;font-weight:900;letter-spacing:-.07em;line-height:.8}.pse-roof-emergency .pse-kicker{color:#5f431f;margin-bottom:10px}.pse-roof-emergency h2{font-size:clamp(30px,3vw,48px);line-height:1;letter-spacing:-.045em;margin:0;max-width:830px}
.pse-service-index{background:var(--paper);color:#101314}.pse-service-index__list{border-top:1px solid var(--line-light)}.pse-service-index__list article{display:grid;grid-template-columns:70px minmax(250px,.7fr) 1fr 38px;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line-light);transition:padding .25s ease,background .25s ease}.pse-service-index__list article:hover{padding-left:18px;padding-right:18px;background:rgba(201,151,74,.065)}.pse-service-index__list article>span{font-size:10px;font-weight:850;color:#a77a3b;letter-spacing:.13em}.pse-service-index__list h3{font-size:26px;letter-spacing:-.04em;margin:0}.pse-service-index__list p{font-size:14px;line-height:1.65;color:#707472;margin:0;max-width:650px}.pse-service-index__list b{font-size:18px;color:#9f7b45;font-weight:500}
.pse-roof-decisions{background:#0d1113;color:#fff}.pse-roof-decisions .pse-page-heading>p:last-child{color:#a8aead}.pse-roof-decisions__grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.12)}.pse-roof-decisions__grid article{min-height:330px;padding:38px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.12)}.pse-roof-decisions__grid article:last-child{border-right:0}.pse-roof-decisions__grid span{font-size:10px;color:var(--accent);font-weight:800;letter-spacing:.14em}.pse-roof-decisions__grid h3{font-size:32px;letter-spacing:-.045em;margin:auto 0 18px}.pse-roof-decisions__grid p{font-size:14px;line-height:1.68;color:#aeb4b3;margin:0}
.pse-roof-proof{background:var(--paper-bright);color:#111}.pse-roof-proof__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px;align-items:start}.pse-roof-proof h2{font-size:clamp(54px,5vw,82px);line-height:.93;letter-spacing:-.06em;margin:0}.pse-roof-proof__items{border-top:1px solid var(--line-light)}.pse-roof-proof__items span{display:grid;grid-template-columns:160px 1fr;gap:26px;padding:25px 0;border-bottom:1px solid var(--line-light);font-size:16px;color:#5e6260}.pse-roof-proof__items b{font-size:24px;color:#111;letter-spacing:-.035em}.pse-page-cta--roof{background:#101516}

/* Building services */
.pse-building-hero{padding:180px 0 112px;background:var(--paper);color:#111;min-height:800px;display:flex;align-items:center}
.pse-building-hero__grid{display:grid;grid-template-columns:1fr .88fr;gap:100px;align-items:center}.pse-building-hero__copy h1{font-size:clamp(66px,6.9vw,108px);line-height:.84;letter-spacing:-.07em;margin:0;max-width:940px}.pse-building-hero__copy h1 em{font-style:normal;color:#a59e92}.pse-building-hero__copy>p:not(.pse-kicker){font-size:17px;line-height:1.74;color:#676b69;max-width:690px;margin:34px 0 0}.pse-building-hero__visual{min-height:570px;position:relative;background:linear-gradient(135deg,#c79852,#7b5a31);overflow:hidden;box-shadow:0 38px 90px rgba(55,43,25,.18)}.pse-building-hero__visual.has-image{background-image:linear-gradient(180deg,rgba(45,30,12,.06),rgba(22,15,7,.55)),var(--building-hero);background-size:cover;background-position:center}.pse-building-hero__visual>span{position:absolute;left:34px;bottom:30px;font-size:11px;letter-spacing:.22em;font-weight:850;color:#fff}.pse-building-hero__visual>b{position:absolute;right:-.04em;top:-.14em;font-size:230px;letter-spacing:-.08em;color:rgba(255,255,255,.13);line-height:1}
.pse-building-manifesto{padding:105px 0;background:var(--accent);color:#101010}.pse-building-manifesto h2{font-size:clamp(54px,5.5vw,88px);line-height:.92;letter-spacing:-.065em;margin:0;max-width:1040px}.pse-building-manifesto .pse-kicker{color:#5e411c}.pse-building-manifesto__copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:48px 0 0 30%}.pse-building-manifesto__copy p,.pse-building-manifesto__copy span{font-size:16px;line-height:1.7;margin:0;color:#3b3226}.pse-building-manifesto__copy span{font-weight:750;color:#111}
.pse-building-services{background:var(--paper);color:#101314}.pse-building-services__grid{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-rows:minmax(300px,auto);gap:18px}.pse-building-service{padding:40px;background:#141819;color:#fff;position:relative;overflow:hidden;min-height:330px;display:flex;flex-direction:column}.pse-building-service:nth-child(even){background:#e4dbcc;color:#111}.pse-building-service--3{grid-column:1 / -1;min-height:280px;background:#9a7440}.pse-building-service>span{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:850}.pse-building-service:nth-child(even)>span,.pse-building-service--3>span{color:#815c2d}.pse-building-service h3{font-size:clamp(34px,3vw,50px);line-height:.98;letter-spacing:-.05em;margin:auto 0 20px;max-width:650px}.pse-building-service p{font-size:14px;line-height:1.7;color:#adb2b1;max-width:680px;margin:0}.pse-building-service:nth-child(even) p,.pse-building-service--3 p{color:#554f47}.pse-building-service i{position:absolute;right:35px;top:34px;font-style:normal;font-size:22px;color:var(--accent)}.pse-building-service:nth-child(even) i,.pse-building-service--3 i{color:#6e4a1f}
.pse-building-process{background:#0c1012;color:#fff}.pse-building-process__line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14)}.pse-building-process__line article{padding:26px 26px 0 0;min-height:250px;position:relative}.pse-building-process__line article:before{content:"";position:absolute;width:8px;height:8px;border:2px solid var(--accent);background:#0c1012;border-radius:50%;top:-5px;left:0}.pse-building-process__line span{font-size:9px;color:var(--accent);letter-spacing:.13em;font-weight:850}.pse-building-process__line h3{font-size:25px;letter-spacing:-.04em;margin:74px 0 16px}.pse-building-process__line p{font-size:14px;line-height:1.66;color:#aeb3b2;margin:0;max-width:270px}
.pse-building-cross{background:#17130d;color:#fff}.pse-building-cross__grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}.pse-building-cross h2{font-size:clamp(54px,5vw,82px);line-height:.94;letter-spacing:-.06em;margin:0}.pse-building-cross p{font-size:16px;line-height:1.75;color:#bcb5ab;max-width:690px}.pse-building-cross .pse-discipline-card{min-height:390px;border:1px solid rgba(255,255,255,.12)}.pse-building-cross .pse-discipline-card h3{margin-top:58px;font-size:42px}.pse-page-cta--building{background:var(--paper-bright);color:#111;border-top:1px solid var(--line-light)}.pse-page-cta--building .pse-page-cta__grid>div:last-child>p{color:#696d6b}.pse-page-cta--building .pse-kicker{color:#9b6e31}

@media(max-width:1180px){
  .pse-inner-hero__grid,.pse-why-standard__grid,.pse-independent-proof__grid,.pse-roof-proof__grid{gap:70px}
  .pse-building-hero__grid{gap:60px}.pse-page-heading--split{gap:60px}
}
@media(max-width:980px){
  .pse-page-section{padding:104px 0}.pse-inner-hero{min-height:auto}.pse-inner-hero__grid{grid-template-columns:1fr;padding:170px 0 90px}.pse-why-ledger{max-width:650px}.pse-why-standard__grid,.pse-independent-proof__grid,.pse-roof-proof__grid,.pse-page-cta__grid,.pse-building-cross__grid{grid-template-columns:1fr}.pse-why-standard__grid{gap:70px}.pse-discipline-pair{grid-template-columns:1fr}.pse-discipline-card{min-height:410px}.pse-independent-proof__score{border-right:0;border-bottom:1px solid var(--line-light);padding:0 0 50px}.pse-roof-hero{min-height:auto;padding:180px 0 100px}.pse-roof-hero__lower{grid-template-columns:1fr;gap:34px}.pse-roof-emergency__grid{grid-template-columns:120px 1fr}.pse-roof-emergency__grid>a{grid-column:2}.pse-service-index__list article{grid-template-columns:55px .8fr 1fr 30px}.pse-roof-decisions__grid{grid-template-columns:1fr}.pse-roof-decisions__grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);min-height:260px}.pse-roof-decisions__grid article:last-child{border-bottom:0}.pse-building-hero{padding:160px 0 100px}.pse-building-hero__grid{grid-template-columns:1fr}.pse-building-hero__visual{min-height:480px}.pse-building-manifesto__copy{margin-left:0}.pse-building-process__line{grid-template-columns:1fr 1fr;row-gap:44px}.pse-building-process__line article:nth-child(3),.pse-building-process__line article:nth-child(4){border-top:1px solid rgba(255,255,255,.12);padding-top:26px}.pse-building-process__line article:nth-child(3):before,.pse-building-process__line article:nth-child(4):before{top:21px}.pse-page-heading--split{grid-template-columns:1fr;gap:30px}.pse-page-heading--split>p:last-child{margin:0}
}
@media(max-width:680px){
  .pse-page-section{padding:82px 0}.pse-inner-actions{gap:18px;align-items:flex-start}.pse-inner-actions .pse-btn{width:100%}.pse-page-heading{margin-bottom:48px}.pse-page-heading h2{font-size:clamp(42px,12vw,58px)}
  .pse-inner-hero__grid{padding:142px 0 78px;gap:56px}.pse-inner-hero__copy h1{font-size:clamp(48px,13vw,65px);line-height:.9}.pse-inner-hero__copy>p:not(.pse-kicker){font-size:16px;margin-top:28px}.pse-why-ledger>div{grid-template-columns:30px 88px 1fr}.pse-why-ledger strong{font-size:26px}.pse-why-standard h2{font-size:clamp(42px,12vw,58px)}.pse-why-principles article{grid-template-columns:34px 1fr;gap:14px}.pse-why-principles p{grid-column:2}.pse-discipline-card{padding:30px;min-height:390px}.pse-discipline-card h3{font-size:38px;margin-top:58px}.pse-independent-proof__stats{grid-template-columns:1fr}.pse-independent-proof__stats span{border-right:0;border-bottom:1px solid var(--line-light);padding:18px 0}.pse-independent-proof__stats span:last-child{border-bottom:0}.pse-page-cta{padding:82px 0}.pse-page-cta__grid{gap:44px}.pse-page-cta h2{font-size:clamp(42px,12vw,58px)}
  .pse-roof-hero{padding:145px 0 82px}.pse-roof-hero h1{font-size:clamp(50px,13vw,68px);line-height:.88}.pse-roof-hero__lower>p{font-size:16px}.pse-roof-emergency{padding:44px 0}.pse-roof-emergency__grid{grid-template-columns:1fr;gap:24px}.pse-roof-emergency__grid>span{font-size:66px}.pse-roof-emergency__grid>a{grid-column:auto;width:100%}.pse-service-index__list article{grid-template-columns:34px 1fr;gap:12px;padding:24px 0}.pse-service-index__list article:hover{padding-left:0;padding-right:0;background:transparent}.pse-service-index__list h3{font-size:23px}.pse-service-index__list p{grid-column:2}.pse-service-index__list b{grid-column:2}.pse-roof-decisions__grid article{padding:30px;min-height:240px}.pse-roof-proof__items span{grid-template-columns:1fr;gap:8px}.pse-roof-proof__grid{gap:50px}
  .pse-building-hero{padding:140px 0 82px}.pse-building-hero__copy h1{font-size:clamp(47px,12.5vw,64px);line-height:.9}.pse-building-hero__visual{min-height:380px}.pse-building-hero__visual>b{font-size:160px}.pse-building-manifesto{padding:80px 0}.pse-building-manifesto h2{font-size:clamp(42px,12vw,58px)}.pse-building-manifesto__copy{grid-template-columns:1fr;gap:22px;margin-top:36px}.pse-building-services__grid{grid-template-columns:1fr;grid-auto-rows:auto}.pse-building-service--3{grid-column:auto}.pse-building-service{min-height:300px;padding:30px}.pse-building-service h3{font-size:36px}.pse-building-process__line{grid-template-columns:1fr;border-top:0}.pse-building-process__line article,.pse-building-process__line article:nth-child(3),.pse-building-process__line article:nth-child(4){border-top:1px solid rgba(255,255,255,.12);padding:28px 0;min-height:0}.pse-building-process__line article:before,.pse-building-process__line article:nth-child(3):before,.pse-building-process__line article:nth-child(4):before{top:23px;left:auto;right:0}.pse-building-process__line h3{margin:28px 0 12px}.pse-building-cross .pse-discipline-card{min-height:340px}
}

/* Building overview begins on a light surface, so keep the fixed navigation legible from frame one. */
.pse-building-page .pse-header{background:rgba(5,7,8,.97);border-color:rgba(255,255,255,.075);backdrop-filter:blur(20px) saturate(120%)}


/* v1.3.1 — navigation completeness + Skylight colour discipline */
:root{--brand-blue:#07145f}

/* Neutralise active-theme heading colours first. Dark surfaces inherit white; light surfaces are opt-in blue. */
body.pse-site h1,
body.pse-site h2,
body.pse-site h3,
body.pse-site h4,
body.pse-site h5,
body.pse-site h6{color:inherit}

/* Blue is reserved for light / warm-white surfaces only. */
.pse-intro .pse-section-head h2,
.pse-reviews h2,
.pse-process h2,
.pse-why-standard h2,
.pse-independent-proof__copy h2,
.pse-roof-proof h2,
.pse-building-hero__copy h1,
.pse-building-services .pse-page-heading h2,
.pse-page-cta--building h2{color:var(--brand-blue)}

/* Dark/image surfaces are always white + orange; never inherited theme blue. */
.pse-hero h1,
.pse-emergency h2,
.pse-inner-hero h1,
.pse-roof-hero h1,
.pse-work h2,
.pse-work h3,
.pse-trust h2,
.pse-trust h3,
.pse-quote h2,
.pse-area h2,
.pse-roof-decisions h2,
.pse-roof-decisions h3,
.pse-page-cta:not(.pse-page-cta--building) h2,
.pse-building-process h2,
.pse-building-process h3,
.pse-building-cross h2,
.pse-building-cross h3,
.pse-discipline-card h3,
.pse-service-panel h3,
.pse-project h3{color:#fff!important}
.pse-hero h1 strong,
.pse-inner-hero__copy h1 em,
.pse-roof-hero h1 em,
.pse-emergency h2 em{color:var(--accent)!important}

/* Desktop structured navigation */
.pse-nav-item{position:relative;display:flex;align-items:center;height:100%}
.pse-nav-parent{appearance:none;border:0;background:transparent;padding:0;color:#e9e7e2;font:inherit;font-size:12px;font-weight:670;cursor:pointer;display:inline-flex;align-items:center;gap:7px;position:relative}
.pse-nav-parent:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--accent);transition:right .25s ease}
.pse-nav-parent:hover,.pse-nav-parent:focus-visible,.pse-nav-item.is-open>.pse-nav-parent{color:var(--accent)}
.pse-nav-parent:hover:after,.pse-nav-parent:focus-visible:after,.pse-nav-item.is-open>.pse-nav-parent:after{right:0}
.pse-nav-parent span{font-size:12px;transition:transform .25s ease}
.pse-nav-item.is-open>.pse-nav-parent span{transform:rotate(180deg)}
.pse-nav-dropdown{position:absolute;top:calc(100% + 24px);left:-24px;width:260px;padding:10px;background:#090c0d;border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 70px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
.pse-nav-item:hover>.pse-nav-dropdown,.pse-nav-item:focus-within>.pse-nav-dropdown,.pse-nav-item.is-open>.pse-nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.pse-nav-dropdown a{display:grid!important;grid-template-columns:30px 1fr;gap:11px;align-items:center;padding:14px 12px;color:#f2efe8!important;border-bottom:1px solid rgba(255,255,255,.08)}
.pse-nav-dropdown a:last-child{border-bottom:0}
.pse-nav-dropdown a:after{display:none!important}
.pse-nav-dropdown a small{font-size:8px;letter-spacing:.13em;color:var(--accent)}
.pse-nav-dropdown a span{font-size:13px;font-weight:760}
.pse-nav-dropdown a:hover,.pse-nav-dropdown a:focus-visible{background:rgba(201,151,74,.08);color:var(--accent)!important}

@media(max-width:980px){
  .pse-mobile-menu__nav{align-content:start}
  .pse-mobile-menu__nav>a,
  .pse-mobile-nav-parent{display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center;width:100%;padding:17px 0;border:0;border-bottom:1px solid rgba(255,255,255,.09);background:transparent;text-align:left;text-decoration:none;color:#f2f1ed!important;font:inherit;cursor:pointer;min-width:0}
  .pse-mobile-menu__nav>a:first-child{border-top:1px solid rgba(255,255,255,.09)}
  .pse-mobile-menu__nav>a>span,.pse-mobile-nav-parent>span,.pse-mobile-submenu a>span{font-size:9px;letter-spacing:.12em;color:var(--accent);font-weight:850}
  .pse-mobile-menu__nav>a>strong,.pse-mobile-nav-parent>strong{font-size:clamp(32px,7.5vw,48px);line-height:1;letter-spacing:-.045em;font-weight:760;min-width:0;overflow-wrap:anywhere}
  .pse-mobile-menu__nav>a>b,.pse-mobile-nav-parent>b{font-size:16px;color:#6f7777;font-weight:400;transition:transform .25s ease,color .2s ease}
  .pse-mobile-nav-parent:hover,.pse-mobile-nav-parent:focus-visible,.pse-mobile-nav-parent[aria-expanded="true"]{color:var(--accent)!important}
  .pse-mobile-nav-parent[aria-expanded="true"]>b{transform:rotate(45deg);color:var(--accent)}
  .pse-mobile-nav-group{min-width:0;max-width:100%}
  .pse-mobile-submenu{padding:4px 0 8px 42px;border-bottom:1px solid rgba(255,255,255,.09)}
  .pse-mobile-submenu[hidden]{display:none}
  .pse-mobile-submenu a{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 0;text-decoration:none;color:#cfd3d2!important;border-bottom:1px solid rgba(255,255,255,.055);min-width:0}
  .pse-mobile-submenu a:last-child{border-bottom:0}
  .pse-mobile-submenu a>strong{font-size:20px;line-height:1.05;letter-spacing:-.025em;min-width:0;overflow-wrap:anywhere}
  .pse-mobile-submenu a>b{color:#687071;font-size:13px;font-weight:400}
  .pse-mobile-submenu a:hover,.pse-mobile-submenu a:focus-visible{color:var(--accent)!important}
}
@media(max-width:680px){
  .pse-mobile-menu__nav>a,.pse-mobile-nav-parent{padding:14px 0;grid-template-columns:34px 1fr auto}
  .pse-mobile-submenu{padding-left:34px}
  .pse-mobile-submenu a{grid-template-columns:36px 1fr auto}
}


@media(max-width:1180px) and (min-width:981px){
  .pse-header__inner{gap:20px}
  .pse-menu{gap:14px}
  .pse-menu>a,.pse-nav-parent{font-size:11px}
  .pse-header__actions .pse-link{display:none}
}
@media(max-width:980px){
  .pse-mobile-nav-group{opacity:0;transform:translateY(16px);animation:pseMenuItemIn .48s cubic-bezier(.22,.61,.36,1) .08s forwards}
  .pse-mobile-menu__nav>a:nth-of-type(1){animation-delay:.03s}
  .pse-mobile-menu__nav>a:nth-of-type(2){animation-delay:.12s}
  .pse-mobile-menu__nav>a:nth-of-type(3){animation-delay:.16s}
  .pse-mobile-menu__nav>a:nth-of-type(4){animation-delay:.20s}
  .pse-mobile-menu__nav>a:nth-of-type(5){animation-delay:.24s}
}
@media(max-width:680px){
  .pse-mobile-menu__inner{padding-top:18px;padding-bottom:18px;gap:16px}
  .pse-mobile-menu__topline{padding-bottom:12px}
  .pse-mobile-menu__nav>a,.pse-mobile-nav-parent{padding:clamp(9px,1.4vh,13px) 0}
  .pse-mobile-menu__nav>a>strong,.pse-mobile-nav-parent>strong{font-size:clamp(27px,5.2vh,40px)}
  .pse-mobile-submenu a{padding:11px 0}
}
@media(prefers-reduced-motion:reduce){.pse-mobile-nav-group{animation:none;opacity:1;transform:none}}

/* ==========================================================
   v1.4.0 — Mega navigation + core trust/conversion pages
   ========================================================== */

/* Desktop mega navigation */
@media(min-width:981px){
  .pse-menu{gap:24px}
  .pse-nav-item--mega{position:static}
  .pse-nav-parent{color:#e9e7e2!important;font-size:12px;font-weight:670;line-height:1;text-decoration:none}
  .pse-nav-parent>span{font-size:14px;line-height:1;color:var(--accent);font-weight:500;transform-origin:center;transition:transform .24s ease}
  .pse-nav-item--mega.is-open>.pse-nav-parent>span,.pse-nav-item--mega:focus-within>.pse-nav-parent>span{transform:rotate(45deg)}
  .pse-nav-mega{position:absolute;left:0;right:0;top:100%;background:rgba(6,8,9,.985);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 34px 80px rgba(0,0,0,.34);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .24s ease,transform .24s ease,visibility .24s ease;backdrop-filter:blur(22px) saturate(125%)}
  .pse-nav-mega:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px;background:transparent;pointer-events:auto}
  .pse-nav-item--mega:hover>.pse-nav-mega,.pse-nav-item--mega:focus-within>.pse-nav-mega,.pse-nav-item--mega.is-open>.pse-nav-mega{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .pse-nav-mega__inner{display:grid;grid-template-columns:minmax(260px,.54fr) minmax(0,1.46fr);gap:70px;padding-top:42px;padding-bottom:46px}
  .pse-nav-mega__intro{padding-right:44px;border-right:1px solid rgba(255,255,255,.1)}
  .pse-nav-mega__intro>small{display:block;color:var(--accent);font-size:9px;letter-spacing:.2em;font-weight:850;margin-bottom:16px}
  .pse-nav-mega__intro>strong{display:block;color:#fff;font-size:28px;line-height:1.02;letter-spacing:-.045em;max-width:390px}
  .pse-nav-mega__intro>p{margin:18px 0 0;color:#8f9695;font-size:13px;line-height:1.65;max-width:390px}
  .pse-nav-mega__links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .pse-nav-mega__links>a{display:flex!important;min-height:164px;flex-direction:column;justify-content:flex-end;padding:22px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.018);text-decoration:none!important;transition:background .22s ease,border-color .22s ease,transform .22s ease}
  .pse-nav-mega__links>a:after,.pse-nav-mega__service-list>a:after{display:none!important}
  .pse-nav-mega__links>a>span{font-size:9px;letter-spacing:.16em;color:var(--accent);font-weight:850;margin-bottom:auto}
  .pse-nav-mega__links>a>strong{font-size:20px;color:#fff;letter-spacing:-.025em;margin-bottom:8px}
  .pse-nav-mega__links>a>small{font-size:11px;line-height:1.5;color:#848b8b}
  .pse-nav-mega__links>a:hover,.pse-nav-mega__links>a:focus-visible{background:rgba(201,151,74,.07);border-color:rgba(201,151,74,.36);transform:translateY(-2px)}
  .pse-nav-mega__service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.09);border-left:1px solid rgba(255,255,255,.09)}
  .pse-nav-mega__service-list>a{display:grid!important;grid-template-columns:42px minmax(0,1fr) 24px;gap:14px;align-items:center;min-height:70px;padding:16px 18px;color:#e9eceb!important;text-decoration:none!important;border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);transition:background .2s ease,color .2s ease}
  .pse-nav-mega__service-list>a>span{font-size:8px;letter-spacing:.14em;color:#6f7777;font-weight:850}
  .pse-nav-mega__service-list>a>strong{font-size:13px;line-height:1.3;font-weight:720}
  .pse-nav-mega__service-list>a>b{font-size:12px;color:#5d6565;font-weight:400;transition:transform .2s ease,color .2s ease}
  .pse-nav-mega__service-list>a:hover,.pse-nav-mega__service-list>a:focus-visible{background:rgba(201,151,74,.075);color:var(--accent)!important}
  .pse-nav-mega__service-list>a:hover>b,.pse-nav-mega__service-list>a:focus-visible>b{transform:translate(2px,-2px);color:var(--accent)}
  .pse-nav-mega__service-list>a.is-overview{background:rgba(201,151,74,.10)}
  .pse-nav-mega__service-list>a.is-overview>strong{color:var(--accent)}
}

/* Core page heroes */
.pse-core-hero{min-height:720px;padding:190px 0 100px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(201,151,74,.13),transparent 26%),linear-gradient(135deg,#07090a 0%,#111618 65%,#070809 100%);color:#fff}
.pse-core-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.45fr);gap:90px;align-items:end;position:relative;z-index:2}
.pse-core-hero h1{font-size:clamp(70px,7.6vw,118px);line-height:.84;letter-spacing:-.07em;margin:0;color:#fff!important}
.pse-core-hero h1 em{font-style:normal;color:var(--accent)!important}
.pse-core-hero__aside{border-left:1px solid rgba(255,255,255,.13);padding-left:34px}
.pse-core-hero__aside>span{display:block;font-size:86px;line-height:.8;letter-spacing:-.07em;color:var(--accent);font-weight:850}
.pse-core-hero__aside>p{color:#a8aeae;line-height:1.68;font-size:14px;margin:22px 0 0}
.pse-core-hero__word{position:absolute;right:-.02em;bottom:-.1em;font-size:clamp(150px,20vw,340px);font-weight:900;line-height:.72;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);pointer-events:none}

/* Our Work */
.pse-work-intro{background:var(--paper);color:#111314;padding-bottom:54px}
.pse-work-gallery{background:#111416;color:#fff;padding-top:48px}
.pse-project-grid--page{grid-auto-rows:330px}
.pse-work-proof{background:var(--paper-bright);color:#111314}
.pse-work-proof__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:start}
.pse-work-proof__grid h2{font-size:clamp(50px,5vw,78px);line-height:.94;letter-spacing:-.06em;margin:0;color:#111314!important}
.pse-work-proof__points{border-top:1px solid #cdc4b6}
.pse-work-proof__points article{display:grid;grid-template-columns:50px .46fr 1fr;gap:22px;padding:28px 0;border-bottom:1px solid #cdc4b6;align-items:start}
.pse-work-proof__points span{font-size:9px;letter-spacing:.14em;color:var(--accent-deep);font-weight:850;padding-top:5px}
.pse-work-proof__points h3{font-size:24px;letter-spacing:-.035em;margin:0;color:#111314!important}
.pse-work-proof__points p{margin:0;color:#707371;line-height:1.62;font-size:14px}

/* Reviews */
.pse-review-hero{padding:190px 0 112px;background:#090b0c;color:#fff;min-height:780px;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.pse-review-hero:after{content:"PROOF";position:absolute;right:-.03em;bottom:-.1em;font-size:clamp(150px,20vw,340px);font-weight:900;line-height:.72;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);pointer-events:none}
.pse-review-hero__grid{display:grid;grid-template-columns:1.25fr .55fr;gap:100px;align-items:end;position:relative;z-index:2}
.pse-review-hero h1{font-size:clamp(68px,7vw,112px);line-height:.86;letter-spacing:-.067em;margin:0;color:#fff!important}
.pse-review-hero h1 em{font-style:normal;color:var(--accent)!important}
.pse-review-hero>div>div:first-child>p:not(.pse-kicker){max-width:760px;color:#b8bdbc;font-size:17px;line-height:1.72;margin:30px 0}
.pse-review-hero__score{border:1px solid rgba(255,255,255,.12);padding:34px;background:rgba(255,255,255,.025)}
.pse-review-hero__score>span{display:block;color:var(--accent);font-size:9px;letter-spacing:.17em;font-weight:850}
.pse-review-hero__score>strong{display:inline-block;font-size:clamp(96px,9vw,146px);line-height:.78;letter-spacing:-.085em;color:#fff;margin-top:44px}
.pse-review-hero__score>b{font-size:24px;color:var(--accent);margin-left:8px}
.pse-review-hero__score>small{display:block;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:30px;color:#747c7c;line-height:1.5}
.pse-review-proof{background:var(--paper);color:#111314}
.pse-review-proof__metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfc6b7;border-left:1px solid #cfc6b7}
.pse-review-proof__metrics article{min-height:250px;padding:28px;display:flex;flex-direction:column;border-right:1px solid #cfc6b7;border-bottom:1px solid #cfc6b7}
.pse-review-proof__metrics span{font-size:9px;letter-spacing:.15em;color:var(--accent-deep);font-weight:850}
.pse-review-proof__metrics strong{font-size:58px;letter-spacing:-.06em;margin:auto 0 12px;color:#111314}
.pse-review-proof__metrics p{font-size:13px;line-height:1.55;color:#747775;margin:0}
.pse-review-standard{background:#101416;color:#fff}
.pse-review-standard__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.pse-review-standard h2{font-size:clamp(50px,5vw,78px);line-height:.94;letter-spacing:-.06em;margin:0;color:#fff!important}
.pse-review-standard__grid>div:last-child{border-top:1px solid rgba(255,255,255,.12)}
.pse-review-standard article{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.pse-review-standard article>span{font-size:9px;color:var(--accent);font-weight:850;letter-spacing:.14em;padding-top:5px}
.pse-review-standard h3{font-size:24px;margin:0 0 8px;color:#fff!important}
.pse-review-standard p{grid-column:2;margin:0;color:#9da4a3;font-size:14px;line-height:1.62}
.pse-page-cta--light{background:var(--paper-bright);color:#111314}
.pse-page-cta--light h2{color:#111314!important}
.pse-page-cta--light p{color:#656966!important}

/* Contact */
.pse-contact-hero{padding:190px 0 112px;background:#090b0c;color:#fff;min-height:780px;display:flex;align-items:flex-end}
.pse-contact-hero__grid{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:end}
.pse-contact-hero h1{font-size:clamp(72px,7.5vw,120px);line-height:.84;letter-spacing:-.07em;margin:0;color:#fff!important}
.pse-contact-hero h1 em{font-style:normal;color:var(--accent)!important}
.pse-contact-hero__grid>div:first-child>p:not(.pse-kicker){max-width:730px;color:#b5bbba;font-size:17px;line-height:1.72;margin:30px 0 0}
.pse-contact-hero__routes{border-top:1px solid rgba(255,255,255,.12)}
.pse-contact-hero__routes>a{display:grid;grid-template-columns:100px 1fr 24px;gap:16px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;color:#fff!important}
.pse-contact-hero__routes>a>span{font-size:9px;letter-spacing:.14em;color:var(--accent);font-weight:850}
.pse-contact-hero__routes>a>strong{font-size:22px;letter-spacing:-.025em}
.pse-contact-hero__routes>a>b{font-weight:400;color:#6f7777;transition:transform .2s ease,color .2s ease}
.pse-contact-hero__routes>a:hover>b{transform:translate(2px,-2px);color:var(--accent)}
.pse-contact-emergency{padding:58px 0;background:linear-gradient(105deg,#bf5a37 0%,#d16f43 54%,#b94f31 100%);color:#fff;position:relative;overflow:hidden}
.pse-contact-emergency__grid{display:grid;grid-template-columns:180px 1fr auto;gap:52px;align-items:center}
.pse-contact-emergency__grid>div:first-child>span{font-size:94px;font-weight:900;line-height:.8;letter-spacing:-.08em;color:#fff}
.pse-contact-emergency h2{font-size:42px;line-height:.98;letter-spacing:-.045em;margin:0;color:#fff!important}
.pse-contact-emergency p:not(.pse-kicker){margin:10px 0 0;max-width:760px;line-height:1.6;color:rgba(255,255,255,.82)}
.pse-contact-details{background:var(--paper);color:#111314}
.pse-contact-details__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px}
.pse-contact-details h2{font-size:clamp(50px,5vw,78px);line-height:.94;letter-spacing:-.06em;margin:0;color:#111314!important}
.pse-contact-details__list{border-top:1px solid #cbc3b5}
.pse-contact-details__list article{padding:28px 0;border-bottom:1px solid #cbc3b5}
.pse-contact-details__list article>span{font-size:9px;letter-spacing:.16em;color:var(--accent-deep);font-weight:850}
.pse-contact-details__list article>a{display:flex;justify-content:space-between;gap:20px;text-decoration:none;color:#111314!important;font-size:28px;font-weight:800;letter-spacing:-.035em;margin:12px 0}
.pse-contact-details__list article>a>b{color:var(--accent-deep);font-weight:400}
.pse-contact-details__list article>p{margin:0;color:#747775;font-size:14px;line-height:1.6}
.pse-contact-area{background:var(--paper-bright);color:#111314}
.pse-contact-area__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.pse-contact-area h2{font-size:clamp(50px,5vw,78px);line-height:.94;letter-spacing:-.06em;margin:0;color:#111314!important}
.pse-contact-area p:not(.pse-kicker){font-size:16px;line-height:1.72;color:#717572;max-width:680px}
.pse-contact-area__places{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.pse-contact-area__places span{border:1px solid #d1c8ba;padding:12px 15px;font-size:10px;color:#4e5250;background:#fff}

/* Dedicated quote page */
.pse-quote-page__hero{padding:190px 0 108px;background:#090b0c;color:#fff}
.pse-quote-page__hero-grid{display:grid;grid-template-columns:1.1fr .65fr;gap:100px;align-items:end}
.pse-quote-page__hero h1{font-size:clamp(72px,7.5vw,118px);line-height:.84;letter-spacing:-.07em;margin:0;color:#fff!important}
.pse-quote-page__hero h1 em{font-style:normal;color:var(--accent)!important}
.pse-quote-page__hero-grid>div:first-child>p:not(.pse-kicker){font-size:17px;line-height:1.72;color:#b7bcbb;max-width:720px;margin:28px 0 0}
.pse-quote-page__assurance{border:1px solid rgba(255,255,255,.12);padding:30px}
.pse-quote-page__assurance>span{display:block;font-size:9px;letter-spacing:.17em;color:var(--accent);font-weight:850;margin-bottom:18px}
.pse-quote-page__assurance>strong{font-size:24px;line-height:1.18;letter-spacing:-.035em;color:#fff;display:block}
.pse-quote-page__assurance>div{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1)}
.pse-quote-page__assurance small{padding:13px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);color:#929999;font-size:9px;line-height:1.4}
.pse-quote-page__body{padding:110px 0;background:#111416;color:#fff}
.pse-quote-page__grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:86px;align-items:start}
.pse-quote-page__grid>aside{position:sticky;top:130px}
.pse-quote-page__grid>aside h2{font-size:52px;line-height:.96;letter-spacing:-.055em;margin:0 0 22px;color:#fff!important}
.pse-quote-page__grid>aside>p:not(.pse-kicker){color:#9ea5a4;line-height:1.7;font-size:15px}
.pse-quote-page__direct{border-top:1px solid rgba(255,255,255,.12);margin-top:34px}
.pse-quote-page__direct>a{display:grid;grid-template-columns:100px 1fr 18px;gap:12px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;color:#fff!important;align-items:center}
.pse-quote-page__direct span{font-size:9px;color:var(--accent);letter-spacing:.12em;font-weight:850}
.pse-quote-page__direct strong{font-size:15px}
.pse-quote-page__direct b{font-weight:400;color:#6f7777}
.pse-quote-page__grid>aside ul{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:9px;color:#7f8786;font-size:11px}
.pse-quote-page__grid>aside li:before{content:"+";color:var(--accent);margin-right:8px}
.pse-form-card--dedicated{box-shadow:0 40px 100px rgba(0,0,0,.34)}
.pse-quote-page__after{padding:100px 0;background:var(--paper);color:#111314}
.pse-quote-page__steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbc3b5;border-left:1px solid #cbc3b5}
.pse-quote-page__steps article{min-height:270px;padding:28px;border-right:1px solid #cbc3b5;border-bottom:1px solid #cbc3b5;display:flex;flex-direction:column}
.pse-quote-page__steps span{font-size:9px;letter-spacing:.14em;color:var(--accent-deep);font-weight:850}
.pse-quote-page__steps h3{font-size:28px;letter-spacing:-.04em;margin:auto 0 12px;color:#111314!important}
.pse-quote-page__steps p{margin:0;color:#747775;line-height:1.6;font-size:13px}

/* Mobile nav submenu hierarchy — top levels large, submenu compact */
@media(max-width:980px){
  .pse-mobile-submenu a>strong{font-size:17px!important;line-height:1.2;letter-spacing:-.012em;font-weight:680}
  .pse-mobile-submenu a.is-overview>strong{color:var(--accent)}
  .pse-mobile-submenu a{padding:12px 0}
  .pse-mobile-submenu{padding-top:4px;padding-bottom:7px}
  .pse-core-hero__grid,.pse-review-hero__grid,.pse-contact-hero__grid,.pse-contact-details__grid,.pse-contact-area__grid,.pse-quote-page__hero-grid,.pse-quote-page__grid,.pse-work-proof__grid,.pse-review-standard__grid{grid-template-columns:1fr;gap:54px}
  .pse-core-hero,.pse-review-hero,.pse-contact-hero{min-height:auto;padding:170px 0 90px}
  .pse-core-hero__aside{border-left:0;border-top:1px solid rgba(255,255,255,.13);padding:30px 0 0;max-width:650px}
  .pse-review-proof__metrics{grid-template-columns:1fr 1fr}
  .pse-contact-emergency__grid{grid-template-columns:120px 1fr}.pse-contact-emergency__grid>a{grid-column:2}
  .pse-contact-area__places{justify-content:flex-start}
  .pse-quote-page__hero{padding:170px 0 90px}
  .pse-quote-page__grid>aside{position:static}
  .pse-quote-page__steps{grid-template-columns:1fr 1fr}.pse-quote-page__steps article:last-child{grid-column:1/-1}
}
@media(max-width:680px){
  .pse-mobile-submenu{padding-left:34px}
  .pse-mobile-submenu a{grid-template-columns:30px minmax(0,1fr) 16px;gap:10px;padding:10px 0}
  .pse-mobile-submenu a>span{font-size:8px!important}
  .pse-mobile-submenu a>strong{font-size:15px!important}
  .pse-mobile-submenu a>b{font-size:11px}
  .pse-core-hero,.pse-review-hero,.pse-contact-hero{padding:140px 0 74px}
  .pse-core-hero h1,.pse-review-hero h1,.pse-contact-hero h1,.pse-quote-page__hero h1{font-size:clamp(48px,13vw,64px);line-height:.9}
  .pse-core-hero__aside>span{font-size:68px}
  .pse-work-proof__points article{grid-template-columns:34px 1fr;gap:12px}.pse-work-proof__points p{grid-column:2}
  .pse-review-proof__metrics{grid-template-columns:1fr}.pse-review-proof__metrics article{min-height:210px}
  .pse-review-hero__score>strong{font-size:88px}
  .pse-contact-hero__routes>a{grid-template-columns:76px 1fr 18px;gap:10px}.pse-contact-hero__routes>a>strong{font-size:17px}
  .pse-contact-emergency{padding:48px 0}.pse-contact-emergency__grid{grid-template-columns:1fr;gap:24px}.pse-contact-emergency__grid>div:first-child{display:none}.pse-contact-emergency__grid>a{grid-column:auto;width:100%}
  .pse-contact-details__list article>a{font-size:20px}
  .pse-quote-page__hero{padding:140px 0 74px}
  .pse-quote-page__assurance>div{grid-template-columns:1fr}
  .pse-quote-page__body{padding:76px 0}.pse-quote-page__grid{gap:42px}
  .pse-quote-page__steps{grid-template-columns:1fr}.pse-quote-page__steps article:last-child{grid-column:auto}.pse-quote-page__steps article{min-height:230px}
}

/* ==========================================================
   v1.4.1 — top-level navigation visual parity + mobile alignment
   ========================================================== */
@media(min-width:981px){
  /* Dropdown triggers must look exactly like ordinary top-level links. */
  body .pse-header .pse-nav .pse-nav-parent{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    background-image:none!important;
    color:#e9e7e2!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:670!important;
    line-height:normal!important;
    letter-spacing:normal!important;
    text-transform:none!important;
    gap:7px!important;
  }
  body .pse-header .pse-nav .pse-nav-parent:hover,
  body .pse-header .pse-nav .pse-nav-parent:focus-visible,
  body .pse-header .pse-nav .pse-nav-item.is-open>.pse-nav-parent{
    background:transparent!important;
    background-image:none!important;
    color:var(--accent)!important;
    box-shadow:none!important;
  }
  /* The + is the only permanent visual distinction and remains white. */
  body .pse-header .pse-nav .pse-nav-parent>span,
  body .pse-header .pse-nav .pse-nav-parent:hover>span,
  body .pse-header .pse-nav .pse-nav-parent:focus-visible>span,
  body .pse-header .pse-nav .pse-nav-item.is-open>.pse-nav-parent>span{
    color:#fff!important;
    font-size:12px!important;
    font-weight:650!important;
  }
}

@media(max-width:980px){
  /* Every top-level row uses one identical grid so links and dropdown buttons align. */
  .pse-mobile-menu__nav{
    --pse-mobile-index-col:34px;
    --pse-mobile-action-col:24px;
    --pse-mobile-row-gap:16px;
    width:100%;
    min-width:0;
  }
  .pse-mobile-nav-group{
    width:100%;
    min-width:0;
    max-width:none;
    margin:0;
    padding:0;
  }
  .pse-mobile-menu__nav>a,
  .pse-mobile-nav-group>.pse-mobile-nav-parent{
    -webkit-appearance:none!important;
    appearance:none!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:var(--pse-mobile-index-col) minmax(0,1fr) var(--pse-mobile-action-col)!important;
    column-gap:var(--pse-mobile-row-gap)!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:14px 0!important;
    border-left:0!important;
    border-right:0!important;
    border-top:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    background-image:none!important;
    text-align:left!important;
    line-height:1!important;
  }
  .pse-mobile-menu__nav>a>span,
  .pse-mobile-nav-group>.pse-mobile-nav-parent>span{
    grid-column:1;
    justify-self:start;
    margin:0!important;
    padding:0!important;
  }
  .pse-mobile-menu__nav>a>strong,
  .pse-mobile-nav-group>.pse-mobile-nav-parent>strong{
    grid-column:2;
    justify-self:start;
    width:100%;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .pse-mobile-menu__nav>a>b,
  .pse-mobile-nav-group>.pse-mobile-nav-parent>b{
    grid-column:3;
    justify-self:end;
    width:var(--pse-mobile-action-col);
    margin:0!important;
    padding:0!important;
    text-align:right;
  }
  /* Expandable top-level + signs stay white; expanded state only rotates them. */
  .pse-mobile-nav-group>.pse-mobile-nav-parent>b,
  .pse-mobile-nav-group>.pse-mobile-nav-parent:hover>b,
  .pse-mobile-nav-group>.pse-mobile-nav-parent:focus-visible>b,
  .pse-mobile-nav-group>.pse-mobile-nav-parent[aria-expanded="true"]>b{
    color:#fff!important;
  }
}

@media(max-width:680px){
  .pse-mobile-menu__nav{
    --pse-mobile-index-col:34px;
    --pse-mobile-action-col:20px;
    --pse-mobile-row-gap:16px;
  }
  .pse-mobile-menu__nav>a,
  .pse-mobile-nav-group>.pse-mobile-nav-parent{
    padding:clamp(9px,1.4vh,13px) 0!important;
  }
}


/* v1.4.3 — light CTA contrast + continuous featured-project surface */
body.pse-site .pse-page-cta.pse-page-cta--light h2{color:#111314!important}
body.pse-site .pse-page-cta.pse-page-cta--light .pse-kicker{color:var(--accent-deep)!important}
body.pse-site .pse-page-cta.pse-page-cta--light .pse-page-cta__grid>div:last-child>p{color:#656966!important}

body.pse-work-page .pse-work-intro,
body.pse-work-page .pse-work-gallery{background:#111416;color:#fff}
body.pse-work-page .pse-work-intro{padding-bottom:52px}
body.pse-work-page .pse-work-gallery{padding-top:0}
body.pse-work-page .pse-work-intro .pse-page-heading h2{color:#fff!important}
body.pse-work-page .pse-work-intro .pse-page-heading>p:last-child{color:#a9afae}
body.pse-work-page .pse-work-intro .pse-kicker{color:var(--accent)!important}

/* =========================================================
   v1.5.0 — Individual Roofing Service Pages
   Dark surfaces: white/orange only. Navy is reserved for light surfaces.
   ========================================================= */
.pse-service-page{--svc-ink:#090d0f;--svc-dark:#0b0f11;--svc-dark-2:#111719;--svc-stone:#f0ece4;--svc-line:rgba(10,15,17,.16);--svc-muted:#707574}
.pse-service-page main{overflow:hidden}
.pse-service-page .pse-kicker{font-weight:850;letter-spacing:.19em}
.pse-service-page h1,.pse-service-page h2,.pse-service-page h3{letter-spacing:-.05em}

/* Shared dark image hero */
.pse-svc-hero{position:relative;min-height:760px;display:flex;align-items:flex-end;background:#090d0f;color:#fff;isolation:isolate;padding:170px 0 92px}
.pse-svc-hero.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-svc-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,9,.96) 0%,rgba(5,8,9,.79) 47%,rgba(5,8,9,.2) 100%),linear-gradient(0deg,rgba(5,8,9,.84),transparent 60%)}
.pse-svc-hero__content{position:relative;z-index:1}
.pse-svc-hero h1{margin:20px 0 38px;max-width:940px;font-size:clamp(72px,8vw,138px);line-height:.82;color:#fff}
.pse-svc-hero h1 em{color:var(--accent);font-style:normal}
.pse-svc-hero__split{display:grid;grid-template-columns:minmax(0,650px) auto;gap:70px;align-items:end}
.pse-svc-hero__split>p{margin:0;color:#c7ccca;font-size:18px;line-height:1.65}
.pse-svc-hero__ghost{position:absolute;right:-.02em;bottom:-.18em;z-index:0;font-size:clamp(140px,23vw,410px);line-height:.8;font-weight:900;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.065);pointer-events:none}

/* Roof repairs */
.pse-fault-board{background:var(--svc-stone)}
.pse-fault-board .pse-page-heading h2,.pse-repair-proof h2{color:#101b55}
.pse-fault-board__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--svc-line);border-left:1px solid var(--svc-line);margin-top:70px}
.pse-fault-board__grid article{min-height:285px;padding:30px;border-right:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line);display:flex;flex-direction:column}
.pse-fault-board__grid article>span{font-size:10px;color:#8a8173;letter-spacing:.18em;font-weight:800}
.pse-fault-board__grid h3{margin:auto 0 14px;color:#101b55;font-size:28px}
.pse-fault-board__grid p{margin:0;color:#666c6b;line-height:1.65}
.pse-repair-route{background:#0a0e10;color:#fff;padding:120px 0}
.pse-repair-route__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}
.pse-repair-route h2{font-size:clamp(48px,5.5vw,84px);line-height:.95;color:#fff;margin:18px 0 0}
.pse-repair-route ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.pse-repair-route li{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.pse-repair-route li>span{color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.13em}
.pse-repair-route h3{color:#fff;font-size:25px;margin:0 0 10px}
.pse-repair-route p{margin:0;color:#9da4a3;line-height:1.65;max-width:690px}
.pse-repair-proof{background:var(--svc-stone)}
.pse-repair-proof__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.pse-repair-proof h2{font-size:clamp(48px,5.6vw,84px);line-height:.95;margin:18px 0 0}
.pse-repair-proof__facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--svc-line);border-left:1px solid var(--svc-line)}
.pse-repair-proof__facts span{min-height:150px;padding:26px;border-right:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line);color:#59605f;display:flex;flex-direction:column;justify-content:flex-end}
.pse-repair-proof__facts b{display:block;color:#101b55;font-size:25px;margin-bottom:6px}

/* Emergency service */
.pse-emergency-hero{position:relative;min-height:780px;padding:180px 0 100px;background:#14100e;color:#fff;display:flex;align-items:flex-end;isolation:isolate}
.pse-emergency-hero.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-emergency-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,9,7,.98) 0%,rgba(12,9,7,.88) 55%,rgba(12,9,7,.4)),linear-gradient(0deg,rgba(34,11,5,.72),transparent 62%)}
.pse-emergency-hero__grid{display:grid;grid-template-columns:1fr 250px;gap:80px;align-items:end}
.pse-emergency-hero h1{font-size:clamp(70px,8vw,130px);line-height:.84;color:#fff;margin:18px 0 30px;max-width:1100px}
.pse-emergency-hero h1 em{font-style:normal;color:#e78a73}
.pse-emergency-hero__copy{max-width:720px;color:#d3d0cd;font-size:18px;line-height:1.7}
.pse-emergency-hero aside{border-left:1px solid rgba(255,255,255,.18);padding-left:32px;display:grid;grid-template-columns:auto auto;align-items:end}
.pse-emergency-hero aside>span{font-size:120px;line-height:.75;font-weight:900;color:#fff;letter-spacing:-.08em}
.pse-emergency-hero aside>b{color:#e55e43;font-size:42px;padding-bottom:5px}
.pse-emergency-hero aside>small{grid-column:1/-1;margin-top:25px;color:#a9aaa8;letter-spacing:.16em}
.pse-btn--emergency{background:#e55e43!important;border-color:#e55e43!important;color:#fff!important}
.pse-emergency-situations{background:#d94f38;color:#fff;padding:125px 0}
.pse-emergency-situations .pse-kicker{color:#24100d}
.pse-emergency-situations .pse-page-heading h2{color:#fff}
.pse-emergency-situations .pse-page-heading>p{color:#fae1dc}
.pse-emergency-situations__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28)}
.pse-emergency-situations__grid article{min-height:250px;padding:30px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}
.pse-emergency-situations__grid span{font-size:10px;letter-spacing:.18em;color:#2e1511;font-weight:850}
.pse-emergency-situations__grid h3{margin:75px 0 12px;color:#fff;font-size:30px}
.pse-emergency-situations__grid p{color:#fae2dd;line-height:1.6;margin:0}
.pse-emergency-actions{padding:125px 0;background:#f0ece4}
.pse-emergency-actions__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}
.pse-emergency-actions h2{color:#101b55;font-size:clamp(48px,5.4vw,84px);line-height:.95;margin:18px 0 0}
.pse-emergency-actions__list{border-top:1px solid var(--svc-line)}
.pse-emergency-actions__list article{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:32px 0;border-bottom:1px solid var(--svc-line)}
.pse-emergency-actions__list article>span{font-size:10px;color:#c94c36;font-weight:850}
.pse-emergency-actions h3{color:#101b55;font-size:24px;margin:0 0 8px}
.pse-emergency-actions p{color:#656b69;margin:0;line-height:1.65}
.pse-emergency-proof{background:#0b0f11;padding:95px 0;color:#fff}
.pse-emergency-proof__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.pse-emergency-proof h2{color:#fff;font-size:clamp(42px,4.4vw,70px);line-height:.98;margin:16px 0 0}
.pse-emergency-proof__grid>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}
.pse-emergency-proof__grid>div:last-child span{padding:22px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);color:#a7adac;min-height:110px}
.pse-emergency-proof b{display:block;color:#fff;font-size:21px;margin-bottom:5px}
.pse-emergency-final{position:relative;background:#d94f38;color:#fff;padding:110px 0;overflow:hidden}
.pse-emergency-final h2{font-size:clamp(60px,8vw,120px);line-height:.86;color:#fff;margin:20px 0 45px;max-width:1000px}
.pse-emergency-final h2 em{font-style:normal;color:#2b1511}
.pse-emergency-final__ghost{position:absolute;right:-.02em;bottom:-.2em;font-weight:900;font-size:330px;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13)}

/* New roofs / re-roofing */
.pse-install-page main,.pse-tiles-page main,.pse-chimney-page main{background:#f0ece4}
.pse-install-hero{background:#f0ece4;padding:175px 0 110px}
.pse-install-hero__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:end}
.pse-install-hero h1{font-size:clamp(70px,7.7vw,126px);line-height:.84;color:#101b55;margin:18px 0 32px}
.pse-install-hero h1 em{font-style:normal;color:#a66d1e}
.pse-install-hero p{font-size:17px;color:#646a69;line-height:1.7;max-width:620px}
.pse-install-hero__media{min-height:620px;background:#d5cec1;position:relative;box-shadow:0 35px 80px rgba(25,22,18,.14)}
.pse-install-hero__media.has-image{background-image:linear-gradient(0deg,rgba(4,8,9,.2),transparent),var(--svc-image);background-size:cover;background-position:center}
.pse-install-hero__media>span{position:absolute;left:24px;bottom:24px;color:#fff;font-size:10px;letter-spacing:.18em;font-weight:850}
.pse-install-question{padding:105px 0;background:#fff}
.pse-install-question__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.pse-install-question h2{color:#101b55;font-size:clamp(48px,5.7vw,88px);line-height:.95;margin:18px 0 0}
.pse-install-question__grid>div:last-child{padding-top:42px}
.pse-install-question p{font-size:18px;line-height:1.7;color:#6a706f}
.pse-install-layers{padding:125px 0;background:#101619;color:#fff}
.pse-install-layers .pse-page-heading h2{color:#fff}
.pse-install-layers__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.pse-install-layers__grid article{min-height:300px;padding:28px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}
.pse-install-layers__grid span{color:var(--accent);font-size:10px;font-weight:850}
.pse-install-layers__grid h3{margin:auto 0 12px;color:#fff;font-size:26px}
.pse-install-layers__grid p{margin:0;color:#969d9c;line-height:1.65}
.pse-install-proof{position:relative;isolation:isolate;background:#0b0f11;color:#fff;padding:130px 0}
.pse-install-proof.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-install-proof__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,9,.95),rgba(5,8,9,.68))}
.pse-install-proof h2{color:#fff;font-size:clamp(55px,6.2vw,96px);line-height:.92;max-width:950px;margin:18px 0 50px}
.pse-install-proof__facts{display:flex;gap:12px;flex-wrap:wrap}
.pse-install-proof__facts span{padding:18px 22px;border:1px solid rgba(255,255,255,.18);color:#b7bcbb;background:rgba(5,8,9,.46)}
.pse-install-proof__facts b{color:#fff}
.pse-page-cta--light{background:#f0ece4;color:#101b55}
.pse-page-cta--light h2{color:#101b55}
.pse-page-cta--light p{color:#646a69}

/* Flat roofing */
.pse-flat-page main{background:#0c1113}
.pse-flat-hero{position:relative;padding:185px 0 120px;background:#091013;color:#fff;overflow:hidden;min-height:720px;display:flex;align-items:flex-end;isolation:isolate}
.pse-flat-hero.has-image{background-image:linear-gradient(90deg,rgba(6,12,14,.94),rgba(6,12,14,.57)),var(--svc-image);background-size:cover;background-position:center}
.pse-flat-hero__gridlines{position:absolute;inset:0;z-index:-1;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,#000,transparent 85%)}
.pse-flat-hero__grid{display:grid;grid-template-columns:1fr 300px;gap:90px;align-items:end}
.pse-flat-hero h1{font-size:clamp(78px,9vw,142px);line-height:.82;color:#fff;margin:20px 0 28px}
.pse-flat-hero h1 em{font-style:normal;color:var(--accent)}
.pse-flat-hero p{max-width:720px;color:#aab2b1;line-height:1.7;font-size:18px}
.pse-flat-hero__spec{display:grid;border-top:1px solid rgba(255,255,255,.15)}
.pse-flat-hero__spec span{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:10px;letter-spacing:.17em;color:#a7b0af}
.pse-flat-systems{padding:125px 0;background:#edf0ed}
.pse-flat-systems .pse-page-heading h2{color:#101b55}
.pse-flat-systems__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--svc-line);border-left:1px solid var(--svc-line)}
.pse-flat-systems__grid article{padding:34px;min-height:330px;border-right:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line);display:flex;flex-direction:column}
.pse-flat-systems__grid article>span{font-size:58px;letter-spacing:-.06em;font-weight:900;color:#d0c7b9}
.pse-flat-systems__grid h3{color:#101b55;font-size:29px;margin:auto 0 14px}
.pse-flat-systems__grid p{color:#656d6b;line-height:1.65;margin:0}
.pse-flat-diagnostics{background:#101619;padding:125px 0;color:#fff}
.pse-flat-diagnostics__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.pse-flat-diagnostics h2{font-size:clamp(50px,5.7vw,86px);line-height:.94;color:#fff;margin:18px 0 0}
.pse-flat-diagnostics__list{border-top:1px solid rgba(255,255,255,.13)}
.pse-flat-diagnostics__list span{display:grid;grid-template-columns:70px 1fr;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#aab0af}
.pse-flat-diagnostics__list b{color:var(--accent);font-size:10px;letter-spacing:.14em}
.pse-flat-cta{background:#0b0f11;padding:110px 0;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.pse-flat-cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.pse-flat-cta h2{color:#fff;font-size:clamp(48px,5.3vw,82px);line-height:.95;margin:18px 0 0}
.pse-flat-cta p{color:#9da4a3;line-height:1.7}

/* Tiles & slate */
.pse-tiles-hero{padding:175px 0 115px;background:#f0ece4}
.pse-tiles-hero__heading{max-width:1120px}
.pse-tiles-hero h1{color:#101b55;font-size:clamp(70px,8vw,128px);line-height:.84;margin:18px 0 65px}
.pse-tiles-hero h1 em{font-style:normal;color:#a66d1e}
.pse-tiles-hero__grid{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:end}
.pse-tiles-hero__media{min-height:560px;background:#cdc5b8}
.pse-tiles-hero__media.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-tiles-hero__grid>div:last-child{padding-bottom:30px}
.pse-tiles-hero__grid p{font-size:18px;line-height:1.7;color:#666d6b}
.pse-tiles-choice{background:#fff;padding:0 0 120px}
.pse-tiles-choice__grid{display:grid;grid-template-columns:1fr 1fr}
.pse-tiles-choice article{padding:70px;border-top:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line)}
.pse-tiles-choice article:first-child{border-right:1px solid var(--svc-line)}
.pse-tiles-choice span{font-size:10px;letter-spacing:.18em;font-weight:850;color:#a66d1e}
.pse-tiles-choice h2{font-size:clamp(42px,4.5vw,70px);line-height:.98;color:#101b55;margin:45px 0 20px}
.pse-tiles-choice p{color:#646b69;line-height:1.7;max-width:640px}
.pse-tiles-detail{background:#f0ece4}
.pse-tiles-detail .pse-page-heading h2{color:#101b55}
.pse-tiles-detail__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--svc-line);border-left:1px solid var(--svc-line)}
.pse-tiles-detail__grid span{min-height:115px;padding:26px;border-right:1px solid var(--svc-line);border-bottom:1px solid var(--svc-line);display:flex;gap:18px;align-items:center;color:#3d4442;font-weight:700}
.pse-tiles-detail__grid b{font-size:9px;color:#a66d1e;letter-spacing:.14em}
.pse-tiles-proof{background:#101619;color:#fff;padding:110px 0}
.pse-tiles-proof__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.pse-tiles-proof h2{color:#fff;font-size:clamp(48px,5.3vw,82px);line-height:.95;margin:18px 0 0}
.pse-tiles-proof__grid>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.pse-tiles-proof__grid span{padding:24px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:#a5acab;min-height:140px}
.pse-tiles-proof strong{display:block;color:#fff;font-size:24px;margin-bottom:8px}

/* Roofline */
.pse-roofline-hero{position:relative;min-height:720px;padding:180px 0 100px;background:#0b0f11;color:#fff;display:flex;align-items:flex-end;isolation:isolate}
.pse-roofline-hero.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-roofline-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,9,10,.96),rgba(6,9,10,.58)),linear-gradient(0deg,rgba(6,9,10,.82),transparent)}
.pse-roofline-hero h1{font-size:clamp(72px,8vw,130px);line-height:.84;color:#fff;margin:18px 0 28px}
.pse-roofline-hero h1 em{font-style:normal;color:var(--accent)}
.pse-roofline-hero p{max-width:700px;color:#bdc3c2;font-size:18px;line-height:1.7}
.pse-roofline-flow{background:#f0ece4;padding:120px 0}
.pse-roofline-flow__line{display:grid;grid-template-columns:1fr 60px 1fr 60px 1fr;align-items:center;margin-top:55px}
.pse-roofline-flow article{min-height:260px;padding:30px;border:1px solid var(--svc-line);display:flex;flex-direction:column}
.pse-roofline-flow article>span{font-size:10px;color:#a66d1e;font-weight:850}
.pse-roofline-flow h2{color:#101b55;margin:auto 0 12px;font-size:35px}
.pse-roofline-flow p{color:#666c6b;line-height:1.6;margin:0}
.pse-roofline-flow__line>b{text-align:center;font-size:28px;color:#a66d1e;font-weight:400}
.pse-roofline-signs{background:#101619;color:#fff;padding:120px 0}
.pse-roofline-signs__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.pse-roofline-signs h2{color:#fff;font-size:clamp(48px,5.5vw,84px);line-height:.95;margin:18px 0 0}
.pse-roofline-signs__grid>div:last-child{border-top:1px solid rgba(255,255,255,.13)}
.pse-roofline-signs__grid>div:last-child span{display:block;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#b2b8b7}
.pse-roofline-cta{background:#f0ece4;padding:115px 0}
.pse-roofline-cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.pse-roofline-cta h2{color:#101b55;font-size:clamp(48px,5.5vw,84px);line-height:.95;margin:18px 0 0}
.pse-roofline-cta p{color:#666c6b;line-height:1.7}

/* Chimney */
.pse-chimney-hero{background:#f0ece4;padding:175px 0 115px}
.pse-chimney-hero__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:end}
.pse-chimney-hero h1{font-size:clamp(70px,8vw,126px);line-height:.84;color:#101b55;margin:18px 0 30px}
.pse-chimney-hero h1 em{font-style:normal;color:#a66d1e}
.pse-chimney-hero p{color:#676d6c;line-height:1.7;font-size:18px}
.pse-chimney-hero__media{min-height:610px;background:#cfc6b9;position:relative}
.pse-chimney-hero__media.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-chimney-hero__media span{position:absolute;bottom:24px;left:24px;color:#fff;background:rgba(8,12,13,.72);padding:12px 14px;font-size:9px;letter-spacing:.16em;font-weight:850}
.pse-chimney-junction{background:#101619;color:#fff;padding:125px 0}
.pse-chimney-junction .pse-page-heading h2{color:#fff}
.pse-chimney-junction__diagram{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}
.pse-chimney-junction__diagram article{padding:32px;min-height:300px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column}
.pse-chimney-junction__diagram span{color:var(--accent);font-size:10px;font-weight:850}
.pse-chimney-junction__diagram h3{margin:auto 0 12px;color:#fff;font-size:27px}
.pse-chimney-junction__diagram p{margin:0;color:#9ba2a1;line-height:1.65}
.pse-chimney-symptoms{background:#f0ece4;padding:120px 0}
.pse-chimney-symptoms__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.pse-chimney-symptoms h2{color:#101b55;font-size:clamp(48px,5.5vw,84px);line-height:.95;margin:18px 0 0}
.pse-chimney-symptoms__grid>div:last-child{border-top:1px solid var(--svc-line)}
.pse-chimney-symptoms__grid>div:last-child span{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--svc-line);color:#555d5b}
.pse-chimney-symptoms b{color:#a66d1e;font-size:10px}
.pse-chimney-proof{position:relative;isolation:isolate;background:#0b0f11;color:#fff;padding:125px 0}
.pse-chimney-proof.has-image{background-image:var(--svc-image);background-size:cover;background-position:center}
.pse-chimney-proof__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,9,.95),rgba(5,8,9,.72))}
.pse-chimney-proof__grid{display:grid;grid-template-columns:1fr .72fr;gap:100px;align-items:end}
.pse-chimney-proof h2{color:#fff;font-size:clamp(52px,6vw,90px);line-height:.94;margin:18px 0 0}
.pse-chimney-proof p{color:#b1b7b6;line-height:1.7;font-size:17px}

/* Related roofing services */
.pse-service-related{background:#090d0f;color:#fff;padding:90px 0 100px;border-top:1px solid rgba(255,255,255,.08)}
.pse-service-related__head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:40px}
.pse-service-related__head h2{color:#fff;font-size:clamp(38px,4vw,62px);line-height:.95;margin:0}
.pse-service-related__links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);margin-bottom:32px}
.pse-service-related__links a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);color:#d7dbda!important;text-decoration:none!important;min-height:74px;transition:background .2s ease,color .2s ease}
.pse-service-related__links a:hover,.pse-service-related__links a:focus-visible{background:rgba(201,151,74,.07);color:var(--accent)!important}
.pse-service-related__links b{font-weight:400;color:var(--accent)}

@media (max-width:1100px){
  .pse-svc-hero__split,.pse-install-hero__grid,.pse-install-question__grid,.pse-repair-proof__grid,.pse-emergency-actions__grid,.pse-emergency-proof__grid,.pse-flat-diagnostics__grid,.pse-flat-cta__grid,.pse-tiles-hero__grid,.pse-tiles-proof__grid,.pse-roofline-signs__grid,.pse-roofline-cta__grid,.pse-chimney-hero__grid,.pse-chimney-symptoms__grid,.pse-chimney-proof__grid{grid-template-columns:1fr;gap:55px}
  .pse-fault-board__grid,.pse-install-layers__grid{grid-template-columns:1fr 1fr}
  .pse-emergency-hero__grid,.pse-flat-hero__grid{grid-template-columns:1fr;gap:50px}
  .pse-emergency-hero aside{max-width:260px}
  .pse-flat-hero__spec{grid-template-columns:repeat(3,1fr)}
  .pse-flat-hero__spec span{border-right:1px solid rgba(255,255,255,.15);padding:16px}
  .pse-roofline-flow__line{grid-template-columns:1fr;gap:18px}
  .pse-roofline-flow__line>b{transform:rotate(90deg)}
  .pse-service-related__links{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  .pse-svc-hero,.pse-emergency-hero,.pse-flat-hero,.pse-roofline-hero{min-height:auto;padding:145px 0 72px}
  .pse-svc-hero h1,.pse-emergency-hero h1,.pse-flat-hero h1,.pse-roofline-hero h1,.pse-install-hero h1,.pse-tiles-hero h1,.pse-chimney-hero h1{font-size:clamp(52px,15vw,72px);line-height:.88}
  .pse-svc-hero__split,.pse-install-hero__grid,.pse-install-question__grid,.pse-repair-route__grid,.pse-repair-proof__grid,.pse-emergency-hero__grid,.pse-emergency-actions__grid,.pse-emergency-proof__grid,.pse-flat-hero__grid,.pse-flat-diagnostics__grid,.pse-flat-cta__grid,.pse-tiles-hero__grid,.pse-tiles-proof__grid,.pse-roofline-signs__grid,.pse-roofline-cta__grid,.pse-chimney-hero__grid,.pse-chimney-symptoms__grid,.pse-chimney-proof__grid{grid-template-columns:1fr;gap:38px}
  .pse-fault-board__grid,.pse-install-layers__grid,.pse-emergency-situations__grid,.pse-flat-systems__grid,.pse-tiles-detail__grid,.pse-chimney-junction__diagram,.pse-repair-proof__facts,.pse-emergency-proof__grid>div:last-child,.pse-tiles-proof__grid>div:last-child{grid-template-columns:1fr}
  .pse-install-hero,.pse-tiles-hero,.pse-chimney-hero{padding:145px 0 80px}
  .pse-install-hero__media,.pse-tiles-hero__media,.pse-chimney-hero__media{min-height:380px}
  .pse-install-question,.pse-install-layers,.pse-emergency-situations,.pse-emergency-actions,.pse-emergency-proof,.pse-flat-systems,.pse-flat-diagnostics,.pse-flat-cta,.pse-tiles-choice,.pse-tiles-detail,.pse-tiles-proof,.pse-roofline-flow,.pse-roofline-signs,.pse-roofline-cta,.pse-chimney-junction,.pse-chimney-symptoms,.pse-chimney-proof{padding-top:82px;padding-bottom:82px}
  .pse-tiles-choice{padding-top:0}
  .pse-tiles-choice__grid{grid-template-columns:1fr}
  .pse-tiles-choice article{padding:46px 0;border-left:0;border-right:0!important}
  .pse-service-related{padding:72px 0 88px}
  .pse-service-related__head{display:block}
  .pse-service-related__head h2{margin-top:14px}
  .pse-service-related__links{grid-template-columns:1fr;margin-top:32px}
  .pse-fault-board__grid article,.pse-install-layers__grid article,.pse-emergency-situations__grid article,.pse-flat-systems__grid article,.pse-chimney-junction__diagram article{min-height:220px}
  .pse-emergency-hero aside>span{font-size:90px}
  .pse-emergency-final h2{font-size:clamp(54px,16vw,78px)}
  .pse-emergency-final__ghost{font-size:180px}
  .pse-flat-hero__spec{grid-template-columns:1fr}
  .pse-flat-hero__spec span{border-right:0}
  .pse-roofline-flow article{min-height:210px}
}
.pse-service-index__list article h3>a{color:inherit!important;text-decoration:none!important}
.pse-service-index__list article h3>a:hover,.pse-service-index__list article h3>a:focus-visible{color:var(--accent)!important}
.pse-service-index__go{color:inherit!important;text-decoration:none!important}

/* =========================================================
   v1.5.1 — Site-wide contrast contract + local SEO content
   Light surfaces: dark body/headings + orange highlights.
   Dark/image surfaces: white body/headings + orange highlights.
   ========================================================= */

/* New editorial SEO sections */
.pse-seo-section{padding:118px 0}
.pse-seo-section--light{background:var(--paper-bright);color:#111314;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.pse-seo-section__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:110px;align-items:start}
.pse-seo-section h2{font-size:clamp(48px,5.2vw,82px);line-height:.95;letter-spacing:-.06em;margin:0;color:#111314!important}
.pse-seo-copy{max-width:820px}
.pse-seo-copy p{font-size:17px;line-height:1.78;color:#626765;margin:0 0 22px}
.pse-seo-copy p:last-of-type{margin-bottom:0}
.pse-seo-points{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid #d5cdc0;border-left:1px solid #d5cdc0}
.pse-seo-points span{min-height:68px;padding:18px 20px;border-right:1px solid #d5cdc0;border-bottom:1px solid #d5cdc0;color:#252927;font-size:13px;font-weight:700;display:flex;align-items:center}
.pse-seo-points span:before{content:"—";color:var(--accent-deep);margin-right:10px}
.pse-seo-links{display:grid;margin-top:34px;border-top:1px solid #d5cdc0}
.pse-seo-links a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #d5cdc0;text-decoration:none!important;color:#111314!important;font-weight:800}
.pse-seo-links a span{color:var(--accent-deep)}
.pse-seo-links a:hover,.pse-seo-links a:focus-visible{color:var(--accent-deep)!important}

/* FAQ content is deliberately editorial, not a generic card grid. */
.pse-faq{padding:112px 0}
.pse-faq--light{background:var(--paper);color:#111314}
.pse-faq__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:110px;align-items:start}
.pse-faq h2{font-size:clamp(46px,4.9vw,76px);line-height:.96;letter-spacing:-.055em;margin:0;color:#111314!important}
.pse-faq__items{border-top:1px solid #cfc6b7}
.pse-faq__items details{border-bottom:1px solid #cfc6b7}
.pse-faq__items summary{list-style:none;cursor:pointer;position:relative;padding:24px 46px 24px 0;color:#111314;font-size:18px;font-weight:800;line-height:1.35}
.pse-faq__items summary::-webkit-details-marker{display:none}
.pse-faq__items summary:after{content:"+";position:absolute;right:4px;top:21px;color:var(--accent-deep);font-size:24px;font-weight:400;transition:transform .2s ease}
.pse-faq__items details[open] summary:after{transform:rotate(45deg)}
.pse-faq__items details p{max-width:780px;margin:0;padding:0 52px 25px 0;color:#626765;font-size:15px;line-height:1.75}

/* Hard contrast contract: light surfaces always use dark text. */
body.pse-site :is(
  .pse-intro,
  .pse-reviews,
  .pse-process,
  .pse-why-standard,
  .pse-independent-proof,
  .pse-roof-proof,
  .pse-building-hero,
  .pse-building-services,
  .pse-page-cta--building,
  .pse-page-cta--light,
  .pse-contact-details,
  .pse-contact-area,
  .pse-work-proof,
  .pse-review-proof,
  .pse-quote-page__after,
  .pse-repair-proof,
  .pse-emergency-actions,
  .pse-install-hero,
  .pse-install-question,
  .pse-flat-systems,
  .pse-tiles-hero,
  .pse-tiles-choice,
  .pse-tiles-detail,
  .pse-roofline-flow,
  .pse-roofline-cta,
  .pse-chimney-hero,
  .pse-chimney-symptoms,
  .pse-fault-board,
  .pse-service-index,
  .pse-seo-section--light,
  .pse-faq--light
) :is(h1,h2,h3,h4,h5,h6){color:#111314!important}

body.pse-site :is(
  .pse-intro,
  .pse-reviews,
  .pse-process,
  .pse-why-standard,
  .pse-independent-proof,
  .pse-roof-proof,
  .pse-building-hero,
  .pse-building-services,
  .pse-page-cta--building,
  .pse-page-cta--light,
  .pse-contact-details,
  .pse-contact-area,
  .pse-work-proof,
  .pse-review-proof,
  .pse-quote-page__after,
  .pse-repair-proof,
  .pse-emergency-actions,
  .pse-install-hero,
  .pse-install-question,
  .pse-flat-systems,
  .pse-tiles-hero,
  .pse-tiles-choice,
  .pse-tiles-detail,
  .pse-roofline-flow,
  .pse-roofline-cta,
  .pse-chimney-hero,
  .pse-chimney-symptoms,
  .pse-fault-board,
  .pse-service-index,
  .pse-seo-section--light,
  .pse-faq--light
) .pse-kicker{color:var(--accent-kicker-light)!important}

/* Remove legacy navy heading treatment from all light surfaces. */
body.pse-site :is(.pse-building-hero,.pse-install-hero,.pse-tiles-hero,.pse-chimney-hero) h1 em{color:var(--accent-deep)!important}
body.pse-site :is(.pse-roofline-flow,.pse-roofline-cta,.pse-emergency-actions,.pse-flat-systems,.pse-tiles-choice,.pse-tiles-detail,.pse-chimney-symptoms,.pse-fault-board,.pse-repair-proof) :is(h2,h3){color:#111314!important}
body.pse-site .pse-repair-proof__facts b{color:#111314!important}

/* Hard contrast contract: dark/image surfaces always use white + orange. */
body.pse-site :is(
  .pse-hero,
  .pse-emergency,
  .pse-work,
  .pse-trust,
  .pse-quote,
  .pse-area,
  .pse-inner-hero,
  .pse-why-disciplines,
  .pse-roof-hero,
  .pse-roof-decisions,
  .pse-page-cta:not(.pse-page-cta--light):not(.pse-page-cta--building),
  .pse-building-process,
  .pse-building-cross,
  .pse-contact-hero,
  .pse-review-hero,
  .pse-review-standard,
  .pse-quote-page__hero,
  .pse-quote-page__body,
  .pse-svc-hero,
  .pse-repair-route,
  .pse-emergency-hero,
  .pse-emergency-proof,
  .pse-install-layers,
  .pse-install-proof,
  .pse-flat-hero,
  .pse-flat-diagnostics,
  .pse-flat-cta,
  .pse-tiles-proof,
  .pse-roofline-hero,
  .pse-roofline-signs,
  .pse-chimney-junction,
  .pse-chimney-proof,
  .pse-service-related,
  .pse-work-intro,
  .pse-work-gallery
) :is(h1,h2,h3,h4,h5,h6){color:#fff!important}

body.pse-site :is(
  .pse-hero,
  .pse-emergency,
  .pse-work,
  .pse-trust,
  .pse-quote,
  .pse-area,
  .pse-inner-hero,
  .pse-why-disciplines,
  .pse-roof-hero,
  .pse-roof-decisions,
  .pse-page-cta:not(.pse-page-cta--light):not(.pse-page-cta--building),
  .pse-building-process,
  .pse-building-cross,
  .pse-contact-hero,
  .pse-review-hero,
  .pse-review-standard,
  .pse-quote-page__hero,
  .pse-quote-page__body,
  .pse-svc-hero,
  .pse-repair-route,
  .pse-emergency-hero,
  .pse-emergency-proof,
  .pse-install-layers,
  .pse-install-proof,
  .pse-flat-hero,
  .pse-flat-diagnostics,
  .pse-flat-cta,
  .pse-tiles-proof,
  .pse-roofline-hero,
  .pse-roofline-signs,
  .pse-chimney-junction,
  .pse-chimney-proof,
  .pse-service-related,
  .pse-work-intro,
  .pse-work-gallery
) .pse-kicker{color:var(--accent)!important}

/* Coloured emergency panels still follow the dark-surface legibility rule. */
body.pse-site .pse-emergency-situations .pse-kicker,
body.pse-site .pse-emergency-situations__grid span,
body.pse-site .pse-emergency-final .pse-kicker{color:#fff!important}
body.pse-site .pse-emergency-final h2 em{color:#fff!important}

/* The dark service-area second line is an accent, never low-contrast grey/blue. */
body.pse-site .pse-area h2 span{color:var(--accent)!important}

@media(max-width:980px){
  .pse-seo-section__grid,.pse-faq__grid{grid-template-columns:1fr;gap:46px}
}
@media(max-width:680px){
  .pse-seo-section,.pse-faq{padding:82px 0}
  .pse-seo-section h2,.pse-faq h2{font-size:clamp(38px,11vw,52px)}
  .pse-seo-copy p{font-size:15px;line-height:1.72}
  .pse-seo-points{grid-template-columns:1fr}
  .pse-faq__items summary{font-size:16px;padding-right:38px}
  .pse-faq__items details p{padding-right:28px}
}

/* Nested surface exceptions: component background always wins over parent section. */
body.pse-site .pse-intro .pse-service-panel :is(h2,h3,h4),
body.pse-site .pse-service-panel :is(h2,h3,h4){color:#fff!important}
body.pse-site .pse-form-card :is(h1,h2,h3,h4,h5,h6){color:#111314!important}
body.pse-site .pse-form-card .pse-kicker{color:var(--accent-kicker-light)!important}
body.pse-site .pse-building-services .pse-building-service:nth-child(odd):not(.pse-building-service--3) h3,
body.pse-site .pse-building-services .pse-building-service--3 h3{color:#fff!important}
body.pse-site .pse-building-services .pse-building-service:nth-child(odd):not(.pse-building-service--3) p,
body.pse-site .pse-building-services .pse-building-service--3 p{color:#e5e1d8!important}
body.pse-site .pse-building-services .pse-building-service--3>span,
body.pse-site .pse-building-services .pse-building-service--3 i{color:#fff!important}

/* =============================================================
   v1.6.0 — Building service pages
   ============================================================= */
.pse-building-service-page{background:var(--paper);color:#111314}
.pse-building-service-page main{overflow:hidden}
.pse-building-service-page .pse-header{background:rgba(5,7,8,.97);border-color:rgba(255,255,255,.075);backdrop-filter:blur(20px) saturate(120%)}
.pse-building-service-page h1,.pse-building-service-page h2,.pse-building-service-page h3{letter-spacing:-.05em}
.pse-building-service-page .pse-service-related{background:#090d0f;color:#fff}
.pse-building-related .pse-service-related__links{grid-template-columns:repeat(2,1fr)}
.pse-building-services a.pse-building-service{text-decoration:none!important;color:inherit!important;transition:transform .25s ease,box-shadow .25s ease}
.pse-building-services a.pse-building-service:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.12)}

/* Extensions */
.pse-ext-hero{background:var(--paper-bright);color:#111314;padding:158px 0 100px;min-height:780px;display:flex;align-items:center;position:relative;border-bottom:1px solid var(--line-light)}
.pse-ext-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.pse-ext-hero__copy h1{font-size:clamp(58px,6vw,92px);line-height:.9;margin:0;color:#111314;max-width:900px}
.pse-ext-hero__copy h1 em{font-style:normal;color:var(--accent-deep)}
.pse-ext-hero__copy>p:not(.pse-kicker){font-size:17px;line-height:1.75;color:#646865;max-width:720px;margin:28px 0 0}
.pse-ext-hero__image{min-height:560px;background:linear-gradient(135deg,#d8d0c3,#bda98a);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.pse-ext-hero.has-image .pse-ext-hero__image{background-image:linear-gradient(180deg,rgba(8,10,11,.04),rgba(8,10,11,.52)),var(--svc-image);background-size:cover;background-position:center}
.pse-ext-hero__image:after{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.33)}
.pse-ext-hero__image span{position:absolute;left:34px;bottom:34px;color:#fff;font-weight:850;font-size:10px;letter-spacing:.2em;z-index:2}
.pse-ext-hero__image b{position:absolute;right:-.05em;top:-.15em;font-size:230px;line-height:1;color:rgba(255,255,255,.15);letter-spacing:-.08em}
.pse-ext-scope{background:#0b0f11;color:#fff}
.pse-ext-scope .pse-page-heading h2,.pse-ext-scope .pse-page-heading>p{color:#fff}
.pse-ext-scope .pse-page-heading>p:last-child{color:#aeb4b2}
.pse-ext-scope__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);margin-top:56px}
.pse-ext-scope__grid article{padding:30px 28px 36px 0;border-right:1px solid rgba(255,255,255,.12);min-height:300px}
.pse-ext-scope__grid article+article{padding-left:28px}
.pse-ext-scope__grid article:last-child{border-right:0}
.pse-ext-scope__grid span{font-size:10px;color:var(--accent);font-weight:850;letter-spacing:.15em}
.pse-ext-scope__grid h3{color:#fff;font-size:28px;line-height:1.05;margin:90px 0 15px}
.pse-ext-scope__grid p{color:#abb1af;line-height:1.7;margin:0;font-size:14px}
.pse-ext-plan{background:#17130d;color:#fff;padding:110px 0}
.pse-ext-plan__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.pse-ext-plan h2{font-size:clamp(50px,5vw,76px);line-height:.94;margin:0;color:#fff}
.pse-ext-plan p{color:#b9b2a9;line-height:1.75;max-width:600px}
.pse-ext-plan__steps{border-top:1px solid rgba(255,255,255,.14)}
.pse-ext-plan__steps span{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.pse-ext-plan__steps b{color:var(--accent);font-size:11px;letter-spacing:.14em}
.pse-ext-plan__steps em{font-style:normal;color:#e6e2db;line-height:1.55}
.pse-ext-combined{background:#0d1011;color:#fff;padding:105px 0}
.pse-ext-combined__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.pse-ext-combined h2{font-size:clamp(48px,5vw,76px);line-height:.94;color:#fff;margin:0 0 24px}
.pse-ext-combined p{color:#aeb4b2;line-height:1.75;max-width:700px}

/* Brickwork */
.pse-brick-hero{min-height:780px;padding:185px 0 110px;position:relative;background:#0a0d0f;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.pse-brick-hero.has-image{background-image:linear-gradient(90deg,rgba(6,8,9,.96) 0%,rgba(6,8,9,.75) 52%,rgba(6,8,9,.32) 100%),var(--svc-image);background-size:cover;background-position:center}
.pse-brick-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.32));pointer-events:none}
.pse-brick-hero__content{position:relative;z-index:2}
.pse-brick-hero h1{font-size:clamp(62px,6.4vw,102px);line-height:.86;color:#fff;max-width:1150px;margin:0}
.pse-brick-hero h1 em{font-style:normal;color:var(--accent)}
.pse-brick-hero p:not(.pse-kicker){color:#d2d6d4;font-size:17px;line-height:1.72;max-width:700px;margin:30px 0 0}
.pse-brick-types{background:var(--paper);color:#111314}
.pse-brick-types__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:60px}
.pse-brick-types__grid article{background:var(--paper-bright);border:1px solid var(--line-light);padding:32px;min-height:290px;display:flex;flex-direction:column}
.pse-brick-types__grid article:nth-child(1),.pse-brick-types__grid article:nth-child(2){grid-column:span 6}.pse-brick-types__grid article:nth-child(n+3){grid-column:span 4}
.pse-brick-types__grid span{color:var(--accent-deep);font-size:10px;font-weight:850;letter-spacing:.15em}
.pse-brick-types__grid h3{font-size:32px;line-height:1;margin:auto 0 15px;color:#111314}
.pse-brick-types__grid p{color:#666a67;line-height:1.68;margin:0}
.pse-brick-signs{background:#17130d;color:#fff;padding:110px 0}
.pse-brick-signs__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.pse-brick-signs h2{font-size:clamp(52px,5vw,78px);line-height:.94;color:#fff;margin:0}
.pse-brick-signs__list{border-top:1px solid rgba(255,255,255,.14)}
.pse-brick-signs__list span{display:grid;grid-template-columns:.45fr 1fr;gap:34px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.pse-brick-signs__list b{font-size:18px;color:#fff}.pse-brick-signs__list em{font-style:normal;color:#aaaead;line-height:1.65}
.pse-brick-proof{background:#0b0f11;color:#fff;padding:100px 0}
.pse-brick-proof__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.pse-brick-proof h2{font-size:clamp(48px,5vw,76px);line-height:.95;color:#fff;margin:0}
.pse-brick-proof__facts{border-top:1px solid rgba(255,255,255,.14)}
.pse-brick-proof__facts span{display:flex;gap:18px;align-items:baseline;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#b3b8b6}
.pse-brick-proof__facts b{color:#fff;font-size:25px;min-width:130px}

/* Renovations */
.pse-reno-hero{background:var(--paper-bright);color:#111314;padding:160px 0 100px;border-bottom:1px solid var(--line-light)}
.pse-reno-hero__grid{display:grid;grid-template-columns:1fr .9fr;gap:90px;align-items:center}
.pse-reno-hero h1{font-size:clamp(60px,6vw,94px);line-height:.9;margin:0;color:#111314}
.pse-reno-hero h1 em{font-style:normal;color:var(--accent-deep)}
.pse-reno-hero__copy>p:not(.pse-kicker){font-size:17px;line-height:1.75;color:#676b68;max-width:720px;margin-top:28px}
.pse-reno-hero__visual{min-height:540px;background:linear-gradient(135deg,#d3c8b8,#a6875d);position:relative;overflow:hidden}
.pse-reno-hero__visual.has-image{background-image:linear-gradient(180deg,rgba(7,9,10,.04),rgba(7,9,10,.5)),var(--svc-image);background-size:cover;background-position:center}
.pse-reno-hero__visual:after{content:"";position:absolute;inset:26px;border:1px solid rgba(255,255,255,.28)}
.pse-reno-hero__visual span{position:absolute;left:38px;bottom:36px;color:#fff;letter-spacing:.18em;font-size:10px;font-weight:850;z-index:2}
.pse-reno-hero__visual b{position:absolute;right:-.03em;top:-.16em;color:rgba(255,255,255,.16);font-size:220px;line-height:1;letter-spacing:-.08em}
.pse-reno-story{background:#0c1012;color:#fff;padding:110px 0}
.pse-reno-story__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.pse-reno-story h2{font-size:clamp(52px,5.2vw,82px);line-height:.92;margin:0;color:#fff}
.pse-reno-story__grid>div:last-child{font-size:17px;line-height:1.8;color:#abb1af}
.pse-reno-zones{background:var(--paper);color:#111314}
.pse-reno-zones__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:54px}
.pse-reno-zones__grid article{padding:38px;background:var(--paper-bright);border:1px solid var(--line-light);min-height:300px;display:flex;flex-direction:column}
.pse-reno-zones__grid span{font-size:10px;color:var(--accent-deep);font-weight:850}.pse-reno-zones__grid h3{font-size:36px;line-height:1;margin:auto 0 15px;color:#111314}.pse-reno-zones__grid p{color:#686c69;line-height:1.7;margin:0}
.pse-reno-process{background:#17130d;color:#fff;padding:110px 0}
.pse-reno-process .pse-page-heading h2,.pse-reno-process .pse-page-heading>p{color:#fff}.pse-reno-process .pse-page-heading>p:last-child{color:#b4aea5}
.pse-reno-process__line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid rgba(255,255,255,.14)}
.pse-reno-process__line article{padding:30px 30px 0 0;min-height:260px;border-right:1px solid rgba(255,255,255,.1)}.pse-reno-process__line article+article{padding-left:30px}.pse-reno-process__line article:last-child{border-right:0}
.pse-reno-process__line span{color:var(--accent);font-size:10px;font-weight:850}.pse-reno-process__line h3{color:#fff;font-size:25px;margin:90px 0 14px}.pse-reno-process__line p{color:#aeb3b1;line-height:1.65;margin:0}

/* Building repairs */
.pse-brepair-hero{background:#090d0f;color:#fff;padding:185px 0 110px;min-height:760px;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.pse-brepair-hero.has-image{background-image:linear-gradient(90deg,rgba(6,8,9,.97) 0%,rgba(6,8,9,.76) 55%,rgba(6,8,9,.28) 100%),var(--svc-image);background-size:cover;background-position:center}
.pse-brepair-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4))}
.pse-brepair-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .4fr;gap:70px;align-items:end}
.pse-brepair-hero h1{font-size:clamp(66px,6.5vw,104px);line-height:.86;color:#fff;margin:0}.pse-brepair-hero h1 em{font-style:normal;color:var(--accent)}
.pse-brepair-hero p:not(.pse-kicker){font-size:17px;line-height:1.72;color:#d0d5d3;max-width:730px;margin:28px 0 0}
.pse-brepair-hero__actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:8px}
.pse-brepair-map{background:var(--paper);color:#111314}
.pse-brepair-map__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:55px}
.pse-brepair-map__grid article{background:var(--paper-bright);border:1px solid var(--line-light);padding:32px;min-height:310px;display:flex;flex-direction:column}
.pse-brepair-map__grid span{color:var(--accent-deep);font-size:10px;font-weight:850}.pse-brepair-map__grid h3{color:#111314;font-size:29px;margin:auto 0 14px}.pse-brepair-map__grid p{color:#676b68;line-height:1.7;margin:0}
.pse-brepair-route{background:#17130d;color:#fff;padding:110px 0}
.pse-brepair-route__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.pse-brepair-route h2{font-size:clamp(52px,5vw,80px);line-height:.93;color:#fff;margin:0}
.pse-brepair-route ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.pse-brepair-route li{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.pse-brepair-route li>span{color:var(--accent);font-size:10px;font-weight:850}.pse-brepair-route h3{color:#fff;font-size:23px;margin:0 0 8px}.pse-brepair-route li p{color:#aeb3b1;line-height:1.65;margin:0}
.pse-brepair-proof{background:#0a0e10;color:#fff;padding:105px 0}
.pse-brepair-proof__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.pse-brepair-proof h2{font-size:clamp(52px,5vw,80px);line-height:.93;color:#fff;margin:0 0 24px}.pse-brepair-proof p{color:#abb1af;line-height:1.75}
.pse-brepair-proof__grid>div:last-child{border-top:1px solid rgba(255,255,255,.14)}.pse-brepair-proof__grid>div:last-child span{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#aeb4b2}.pse-brepair-proof__grid>div:last-child b{color:#fff;min-width:115px}

/* Groundworks */
.pse-ground-hero{background:#0a0e0f;color:#fff;padding:180px 0 105px;min-height:750px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.pse-ground-hero.has-image{background-image:linear-gradient(90deg,rgba(6,8,9,.96),rgba(6,8,9,.74) 50%,rgba(6,8,9,.32)),var(--svc-image);background-size:cover;background-position:center}
.pse-ground-hero__gridlines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,transparent,black 25%,black)}
.pse-ground-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .45fr;gap:80px;align-items:end}
.pse-ground-hero h1{font-size:clamp(64px,6.4vw,102px);line-height:.86;color:#fff;margin:0}.pse-ground-hero h1 em{font-style:normal;color:var(--accent)}
.pse-ground-hero p:not(.pse-kicker){font-size:17px;line-height:1.72;color:#d0d4d3;max-width:760px;margin:28px 0 0}
.pse-ground-hero__index{display:grid;border-top:1px solid rgba(255,255,255,.14)}.pse-ground-hero__index span{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:10px;color:#c4c9c7;letter-spacing:.16em}
.pse-ground-scope{background:var(--paper);color:#111314}.pse-ground-scope__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}.pse-ground-scope__grid article{background:var(--paper-bright);border:1px solid var(--line-light);padding:30px;min-height:280px;display:flex;flex-direction:column}.pse-ground-scope__grid span{color:var(--accent-deep);font-size:10px;font-weight:850}.pse-ground-scope__grid h3{font-size:30px;line-height:1;margin:auto 0 14px;color:#111314}.pse-ground-scope__grid p{color:#696d6a;line-height:1.68;margin:0}
.pse-ground-drain{background:#17130d;color:#fff;padding:110px 0}.pse-ground-drain__grid{display:grid;grid-template-columns:1fr .82fr;gap:80px;align-items:center}.pse-ground-drain h2{font-size:clamp(52px,5vw,80px);line-height:.94;color:#fff;margin:0 0 24px}.pse-ground-drain p{color:#b2aca3;line-height:1.75}
.pse-ground-process{background:#0c1012;color:#fff;padding:110px 0}.pse-ground-process .pse-page-heading h2{color:#fff}.pse-ground-process__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid rgba(255,255,255,.14)}.pse-ground-process__grid article{padding:28px 28px 0 0;min-height:250px;border-right:1px solid rgba(255,255,255,.1)}.pse-ground-process__grid article+article{padding-left:28px}.pse-ground-process__grid article:last-child{border-right:0}.pse-ground-process__grid span{color:var(--accent);font-size:10px;font-weight:850}.pse-ground-process__grid h3{color:#fff;font-size:25px;margin:82px 0 14px}.pse-ground-process__grid p{color:#aeb4b2;line-height:1.65;margin:0}

/* Explicit v1.6 colour contract. */
body.pse-site :is(.pse-ext-hero,.pse-brick-types,.pse-reno-hero,.pse-reno-zones,.pse-brepair-map,.pse-ground-scope) :is(h1,h2,h3,h4,h5,h6){color:#111314!important}
body.pse-site :is(.pse-ext-hero,.pse-brick-types,.pse-reno-hero,.pse-reno-zones,.pse-brepair-map,.pse-ground-scope) .pse-kicker{color:var(--accent-kicker-light)!important}
body.pse-site :is(.pse-ext-scope,.pse-ext-plan,.pse-ext-combined,.pse-brick-hero,.pse-brick-signs,.pse-brick-proof,.pse-reno-story,.pse-reno-process,.pse-brepair-hero,.pse-brepair-route,.pse-brepair-proof,.pse-ground-hero,.pse-ground-drain,.pse-ground-process) :is(h1,h2,h3,h4,h5,h6){color:#fff!important}
body.pse-site :is(.pse-ext-scope,.pse-ext-plan,.pse-ext-combined,.pse-brick-hero,.pse-brick-signs,.pse-brick-proof,.pse-reno-story,.pse-reno-process,.pse-brepair-hero,.pse-brepair-route,.pse-brepair-proof,.pse-ground-hero,.pse-ground-drain,.pse-ground-process) .pse-kicker{color:var(--accent)!important}
body.pse-site :is(.pse-brick-hero,.pse-ground-hero,.pse-brepair-hero) h1 em{color:var(--accent)!important}
body.pse-site :is(.pse-ext-hero,.pse-reno-hero) h1 em{color:var(--accent-deep)!important}

@media(max-width:1180px){
  .pse-ext-hero__grid,.pse-reno-hero__grid{grid-template-columns:1fr 1fr;gap:48px}
  .pse-ext-scope__grid,.pse-brepair-map__grid,.pse-ground-process__grid{grid-template-columns:1fr 1fr}
  .pse-ext-scope__grid article:nth-child(2),.pse-brepair-map__grid article:nth-child(2),.pse-ground-process__grid article:nth-child(2){border-right:0}
  .pse-ground-scope__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .pse-ext-hero__grid,.pse-reno-hero__grid,.pse-ext-plan__grid,.pse-ext-combined__grid,.pse-brick-signs__grid,.pse-brick-proof__grid,.pse-reno-story__grid,.pse-brepair-hero__grid,.pse-brepair-route__grid,.pse-brepair-proof__grid,.pse-ground-hero__grid,.pse-ground-drain__grid{grid-template-columns:1fr}
  .pse-ext-hero__image,.pse-reno-hero__visual{min-height:450px}
  .pse-ext-scope__grid,.pse-brepair-map__grid,.pse-ground-process__grid{grid-template-columns:1fr 1fr}
  .pse-brick-types__grid article:nth-child(n){grid-column:span 6}
  .pse-reno-process__line{grid-template-columns:1fr 1fr}
  .pse-building-related .pse-service-related__links{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .pse-ext-hero,.pse-reno-hero{padding:132px 0 78px;min-height:0}
  .pse-brick-hero,.pse-brepair-hero,.pse-ground-hero{padding:140px 0 82px;min-height:auto}
  .pse-ext-hero__copy h1,.pse-reno-hero h1,.pse-brick-hero h1,.pse-brepair-hero h1,.pse-ground-hero h1{font-size:clamp(46px,12.5vw,62px);line-height:.9}
  .pse-ext-hero__image,.pse-reno-hero__visual{min-height:360px}
  .pse-ext-scope__grid,.pse-brepair-map__grid,.pse-ground-scope__grid,.pse-ground-process__grid,.pse-reno-zones__grid,.pse-reno-process__line{grid-template-columns:1fr}
  .pse-ext-scope__grid article,.pse-ext-scope__grid article+article,.pse-brepair-map__grid article,.pse-ground-process__grid article,.pse-ground-process__grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);min-height:0}
  .pse-ext-scope__grid h3,.pse-ground-process__grid h3{margin:34px 0 12px}
  .pse-brick-types__grid article:nth-child(n){grid-column:1/-1}
  .pse-brick-types__grid article,.pse-reno-zones__grid article,.pse-brepair-map__grid article,.pse-ground-scope__grid article{min-height:250px;padding:28px}
  .pse-brick-signs,.pse-brick-proof,.pse-ext-plan,.pse-ext-combined,.pse-reno-story,.pse-reno-process,.pse-brepair-route,.pse-brepair-proof,.pse-ground-drain,.pse-ground-process{padding:82px 0}
  .pse-brick-signs__list span{grid-template-columns:1fr;gap:10px}
  .pse-reno-process__line article{padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);min-height:0}
  .pse-reno-process__line article+article{padding-left:0}.pse-reno-process__line h3{margin:34px 0 12px}
  .pse-brepair-hero__actions{padding-top:20px}
  .pse-building-related .pse-service-related__links{grid-template-columns:1fr}
}


/* ==========================================================
   v1.6.1 — desktop mega-menu interaction performance
   ========================================================== */
@media(min-width:981px){
  /* JavaScript owns the open state. Keeping CSS :hover out of the visibility
     rule prevents competing state changes and makes panel switching cleaner. */
  .pse-nav-mega{
    background:rgba(6,8,9,.995);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,-6px,0);
    transition:opacity .13s cubic-bezier(.2,.72,.25,1),transform .16s cubic-bezier(.2,.72,.25,1),visibility 0s linear .16s;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    will-change:opacity,transform;
    contain:paint;
  }
  .pse-nav-item--mega.is-open>.pse-nav-mega,
  .pse-nav-item--mega:focus-within>.pse-nav-mega{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition-delay:0s;
  }
  .pse-nav-mega__links>a{transition:background .15s ease,border-color .15s ease,transform .15s ease}
  .pse-nav-mega__service-list>a{transition:background .14s ease,color .14s ease}
}


/* ==========================================================
   v1.7.0 — Locations + legal pages
   ========================================================== */
.pse-home-locations{background:#0a0d0f;color:#fff;padding:110px 0;position:relative;overflow:hidden}
.pse-home-locations:before{content:"WEST YORKSHIRE";position:absolute;right:-2vw;top:18px;font-size:clamp(82px,12vw,190px);font-weight:900;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);white-space:nowrap;pointer-events:none}
.pse-home-locations__head{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .72fr;gap:90px;align-items:end;margin-bottom:58px}
.pse-home-locations__head h2{color:#fff;font-size:clamp(54px,5.7vw,88px);line-height:.91;margin:0}.pse-home-locations__head h2 span{color:var(--accent)}
.pse-home-locations__head>div:last-child p{color:#aeb4b2;line-height:1.78;margin:0 0 22px}
.pse-home-locations__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}
.pse-home-locations__grid a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;min-height:82px;padding:18px 22px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);text-decoration:none;transition:background .18s ease}
.pse-home-locations__grid a:hover,.pse-home-locations__grid a:focus-visible{background:rgba(201,151,74,.1)}
.pse-home-locations__grid span{font-size:9px;letter-spacing:.14em;color:var(--accent)}.pse-home-locations__grid strong{color:#fff;font-size:19px}.pse-home-locations__grid b{color:#fff;font-weight:400}
.pse-locations-hero{background:#090c0e;color:#fff;padding:190px 0 110px;position:relative;overflow:hidden}.pse-locations-hero:after{content:"14";position:absolute;right:-1vw;bottom:-7vw;font-size:40vw;font-weight:900;line-height:.7;color:rgba(255,255,255,.018);pointer-events:none}
.pse-locations-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .7fr;gap:90px;align-items:end}.pse-locations-hero h1{color:#fff;font-size:clamp(66px,7vw,112px);line-height:.86;margin:0}.pse-locations-hero h1 em{font-style:normal;color:var(--accent)}.pse-locations-hero__grid>div:last-child>p{color:#c4c9c7;line-height:1.8;font-size:17px}
.pse-location-directory{background:var(--paper);color:#111314;padding:110px 0}.pse-location-directory .pse-page-heading h2{color:#111314}.pse-location-directory__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:54px}.pse-location-directory__grid a{min-height:245px;padding:27px;background:var(--paper-bright);border:1px solid var(--line-light);text-decoration:none;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}.pse-location-directory__grid a:hover{transform:translateY(-4px);border-color:rgba(201,151,74,.55)}.pse-location-directory__grid span{color:var(--accent-deep);font-size:10px;font-weight:850}.pse-location-directory__grid strong{margin:auto 0 8px;color:#111314;font-size:30px}.pse-location-directory__grid p{color:#747875;margin:0 0 22px}.pse-location-directory__grid b{color:#111314;font-size:12px}
.pse-location-method{background:#17130d;color:#fff;padding:110px 0}.pse-location-method__grid{display:grid;grid-template-columns:1fr .8fr;gap:90px}.pse-location-method h2{color:#fff;font-size:clamp(52px,5vw,80px);line-height:.93;margin:0}.pse-location-method h2 span{color:var(--accent)}.pse-location-method__grid>div:last-child p{color:#b9b4ab;line-height:1.8;margin-top:0}
.pse-location-hero{background:#080b0d;color:#fff;padding:190px 0 110px;position:relative;overflow:hidden}.pse-location-hero__gridline{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent,black 18%,black)}
.pse-location-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .34fr;gap:90px;align-items:end}.pse-location-hero h1{color:#fff;font-size:clamp(64px,6.5vw,104px);line-height:.87;margin:0}.pse-location-hero h1 em{font-style:normal;color:var(--accent)}.pse-location-hero__grid>div>p:not(.pse-kicker){color:#c4c9c7;max-width:790px;line-height:1.78;font-size:17px}.pse-location-hero aside{border-top:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:44px 1fr;gap:0}.pse-location-hero aside span{color:var(--accent);font-size:9px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}.pse-location-hero aside strong{color:#fff;font-size:25px;padding:12px 0 0;border-bottom:0}.pse-location-hero aside small{grid-column:2;padding:0 0 18px;color:#9da4a1;border-bottom:1px solid rgba(255,255,255,.15)}
.pse-location-intro{background:var(--paper);color:#111314;padding:105px 0}.pse-location-intro__grid{display:grid;grid-template-columns:1fr .84fr;gap:90px}.pse-location-intro h2{color:#111314;font-size:clamp(48px,4.6vw,76px);line-height:.95;margin:0}.pse-location-intro__grid>div:last-child p{color:#656a67;line-height:1.82;margin-top:0}
.pse-location-services{padding:110px 0}.pse-location-services--dark{background:#0c1012;color:#fff}.pse-location-services--dark .pse-page-heading h2{color:#fff}.pse-location-services--dark .pse-page-heading h2 span{color:var(--accent)}.pse-location-services--light{background:var(--paper-bright);color:#111314}.pse-location-services--light .pse-page-heading h2{color:#111314}
.pse-location-services__grid{display:grid;grid-template-columns:1fr .72fr;gap:90px;margin-top:50px}.pse-location-services__grid>div:first-child>p{line-height:1.8}.pse-location-services--dark .pse-location-services__grid>div:first-child>p{color:#aeb4b2}.pse-location-services--light .pse-location-services__grid>div:first-child>p{color:#676b68}
.pse-location-keywords{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}.pse-location-keywords span{padding:19px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px}.pse-location-keywords--light{border-color:var(--line-light)}.pse-location-keywords--light span{border-color:var(--line-light);color:#111314}
.pse-location-nearby{background:#17130d;color:#fff;padding:100px 0}.pse-location-nearby__grid{display:grid;grid-template-columns:.8fr 1fr;gap:90px}.pse-location-nearby h2{color:#fff;font-size:clamp(48px,4.7vw,74px);margin:0}.pse-location-nearby p{color:#aaa69f;line-height:1.7}.pse-location-nearby__links{border-top:1px solid rgba(255,255,255,.14)}.pse-location-nearby__links a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}.pse-location-nearby__links a:hover{color:var(--accent)}.pse-location-nearby__links .is-all{color:var(--accent)}
.pse-location-faq{background:var(--paper);color:#111314;padding:110px 0}.pse-location-faq .pse-page-heading h2{color:#111314}.pse-location-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:54px}.pse-location-faq article{background:var(--paper-bright);border:1px solid var(--line-light);padding:32px;min-height:280px;display:flex;flex-direction:column}.pse-location-faq article>span{color:var(--accent-deep);font-size:10px;font-weight:850}.pse-location-faq h3{color:#111314;font-size:25px;line-height:1.08;margin:auto 0 15px}.pse-location-faq article p{color:#696e6b;line-height:1.7;margin:0}
.pse-legal-hero{background:#090c0e;color:#fff;padding:185px 0 88px}.pse-legal-hero h1{color:#fff;font-size:clamp(64px,7vw,110px);line-height:.88;margin:0 0 24px}.pse-legal-hero>div>p:not(.pse-kicker){color:#c2c7c5;max-width:760px;font-size:17px;line-height:1.7}.pse-legal-hero small{color:var(--accent)}
.pse-legal-body{background:var(--paper);color:#111314;padding:95px 0 120px}.pse-legal-body__grid{display:grid;grid-template-columns:250px minmax(0,800px);gap:90px;align-items:start}.pse-legal-body aside{position:sticky;top:110px;border-top:1px solid var(--line-light)}.pse-legal-body aside strong{display:block;padding:18px 0;color:#111314}.pse-legal-body aside a{display:block;padding:11px 0;border-top:1px solid var(--line-light);color:#676b68;text-decoration:none;font-size:13px}.pse-legal-body aside a:hover{color:var(--accent-deep)}.pse-legal-body article h2{font-size:36px;color:#111314;margin:54px 0 16px;scroll-margin-top:120px}.pse-legal-body article h2:first-child{margin-top:0}.pse-legal-body article h3{font-size:21px;color:#111314;margin:28px 0 10px}.pse-legal-body article p{color:#5f6461;line-height:1.82}.pse-legal-body article a{color:var(--accent-deep)}
.pse-footer__legal{display:flex;gap:24px;padding-top:18px;padding-bottom:18px;border-top:1px solid rgba(255,255,255,.1)}.pse-footer__legal a{font-size:12px;color:#969d9a;text-decoration:none}.pse-footer__legal a:hover{color:var(--accent)}
@media(max-width:980px){.pse-home-locations__head,.pse-locations-hero__grid,.pse-location-method__grid,.pse-location-hero__grid,.pse-location-intro__grid,.pse-location-services__grid,.pse-location-nearby__grid,.pse-legal-body__grid{grid-template-columns:1fr;gap:48px}.pse-home-locations__grid,.pse-location-directory__grid{grid-template-columns:1fr 1fr}.pse-legal-body aside{position:static;display:none}}
@media(max-width:680px){.pse-home-locations,.pse-location-directory,.pse-location-method,.pse-location-intro,.pse-location-services,.pse-location-nearby,.pse-location-faq,.pse-legal-body{padding:78px 0}.pse-locations-hero,.pse-location-hero,.pse-legal-hero{padding:140px 0 78px}.pse-locations-hero h1,.pse-location-hero h1,.pse-legal-hero h1{font-size:clamp(46px,12vw,62px)}.pse-home-locations__grid,.pse-location-directory__grid,.pse-location-faq__grid{grid-template-columns:1fr}.pse-home-locations__grid a{min-height:70px}.pse-location-directory__grid a{min-height:200px}.pse-location-keywords{grid-template-columns:1fr}.pse-footer__legal{flex-wrap:wrap;gap:12px 22px}}
@media(min-width:981px){.pse-nav-mega__links--about{grid-template-columns:repeat(4,1fr)}}


/* v1.7.1 — bespoke location SEO landing pages */
.pse-loc{--loc-paper:#f2eee5;--loc-paper2:#faf8f3;--loc-ink:#101214;--loc-dark:#090c0e;--loc-muted:#6c706d}.pse-loc .pse-loc-light{background:var(--loc-paper);color:var(--loc-ink)}.pse-loc .pse-loc-light h2,.pse-loc .pse-loc-light h3{color:var(--loc-ink)}.pse-loc .pse-loc-dark{background:var(--loc-dark);color:#fff}.pse-loc .pse-loc-dark h2,.pse-loc .pse-loc-dark h3{color:#fff}.pse-loc-section{padding:110px 0;position:relative;overflow:hidden}
.pse-loc-hero{position:relative;overflow:hidden;background:#080b0d;color:#fff;padding:190px 0 115px;min-height:720px;display:flex;align-items:flex-end}.pse-loc-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 22%,rgba(201,151,74,.16),transparent 26%),linear-gradient(120deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,72px 72px;pointer-events:none}.pse-loc-hero__mark{position:absolute;right:-2vw;bottom:-.12em;font-size:clamp(110px,18vw,310px);line-height:.75;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.022);white-space:nowrap;text-transform:uppercase;pointer-events:none}.pse-loc-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:90px;align-items:end}.pse-loc-hero h1{color:#fff;font-size:clamp(64px,6.5vw,108px);line-height:.87;letter-spacing:-.055em;margin:0 0 28px}.pse-loc-hero h1 em{font-style:normal;color:var(--pse-accent)}.pse-loc-hero__grid>div>p:not(.pse-kicker){max-width:790px;color:#c4c9c7;font-size:17px;line-height:1.8}.pse-loc-hero aside{border-top:1px solid rgba(255,255,255,.14)}.pse-loc-hero aside>div{display:grid;grid-template-columns:38px 82px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);min-height:92px}.pse-loc-hero aside span{color:var(--pse-accent);font-size:9px;font-weight:800}.pse-loc-hero aside strong{color:#fff;font-size:27px}.pse-loc-hero aside small{color:#9fa5a2;line-height:1.35}
.pse-loc-story__grid{display:grid;grid-template-columns:1fr .86fr;gap:100px;align-items:start}.pse-loc-story h2,.pse-loc-service h2,.pse-loc-focus h2,.pse-loc-nearby h2,.pse-loc-faq h2{font-size:clamp(48px,4.8vw,78px);line-height:.94;letter-spacing:-.045em;margin:0}.pse-loc-copy p{font-size:16px;line-height:1.84;margin:0 0 18px}.pse-loc-light .pse-loc-copy p{color:#646966}.pse-loc-dark .pse-loc-copy p{color:#adb3b0}
.pse-loc-service__head{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:58px}.pse-loc-service__head h2{max-width:980px}.pse-loc-service__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.pse-loc-tags{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.pse-loc-tags span{min-height:92px;padding:20px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);display:flex;gap:14px;align-items:flex-end;color:#fff;font-size:13px}.pse-loc-tags span b{color:var(--pse-accent);font-size:9px;align-self:flex-start}.pse-loc-tags--light{border-color:rgba(16,18,20,.14)}.pse-loc-tags--light span{border-color:rgba(16,18,20,.14);color:var(--loc-ink)}
.pse-loc-focus{background:#1b140b;color:#fff}.pse-loc-focus__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end}.pse-loc-focus h2{color:#fff}.pse-loc-focus__grid>div:first-child>p:not(.pse-kicker){max-width:760px;color:#c5bbae;line-height:1.8}.pse-loc-focus__items{border-top:1px solid rgba(255,255,255,.16)}.pse-loc-focus__items>div{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}.pse-loc-focus__items span{color:var(--pse-accent);font-size:10px}.pse-loc-focus__items strong{color:#fff;font-size:18px}
.pse-loc-nearby__grid{display:grid;grid-template-columns:.8fr 1fr;gap:100px}.pse-loc-nearby p{color:#a9afac;line-height:1.75}.pse-loc-nearby__links{border-top:1px solid rgba(255,255,255,.15)}.pse-loc-nearby__links a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none}.pse-loc-nearby__links a:hover,.pse-loc-nearby__links .is-all{color:var(--pse-accent)}
.pse-loc-faq__head{display:grid;grid-template-columns:.7fr 1fr;gap:90px;align-items:end}.pse-loc-faq__head h2{grid-column:2}.pse-loc-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:58px}.pse-loc-faq article{min-height:285px;background:var(--loc-paper2);border:1px solid rgba(16,18,20,.14);padding:32px;display:flex;flex-direction:column}.pse-loc-faq article>span{color:#9c681c;font-size:10px;font-weight:850}.pse-loc-faq h3{font-size:25px;line-height:1.08;margin:auto 0 15px}.pse-loc-faq article p{color:#656a67;line-height:1.72;margin:0}
/* Fourteen location signatures: same brand, deliberately different composition. */
.pse-loc--leeds .pse-loc-hero{background:linear-gradient(110deg,#080b0d 0 68%,#11171a 68%)}.pse-loc--leeds .pse-loc-hero__mark{right:-4vw}
.pse-loc--bradford .pse-loc-hero{background:linear-gradient(90deg,#0a0d0f 0 72%,#21170c 72%)}.pse-loc--bradford .pse-loc-hero__grid{grid-template-columns:.72fr 1.05fr}.pse-loc--bradford .pse-loc-hero aside{grid-column:1;grid-row:1;align-self:end}.pse-loc--bradford .pse-loc-hero__grid>div:first-child{grid-column:2}.pse-loc--bradford .pse-loc-service--build .pse-loc-service__grid{grid-template-columns:1.1fr .9fr}
.pse-loc--wakefield .pse-loc-hero{background:#170f0b}.pse-loc--wakefield .pse-loc-hero:after{content:"24/7";position:absolute;left:-.04em;bottom:-.08em;color:rgba(201,151,74,.08);font-size:32vw;font-weight:900;line-height:.7}.pse-loc--wakefield .pse-loc-focus{background:#b34d36}.pse-loc--wakefield .pse-loc-focus .pse-kicker,.pse-loc--wakefield .pse-loc-focus__items span{color:#ffe2c7}
.pse-loc--huddersfield .pse-loc-hero{background:linear-gradient(145deg,#090c0e 0 55%,#111b1f 55%)}.pse-loc--huddersfield .pse-loc-story__grid{grid-template-columns:.68fr 1.15fr}.pse-loc--huddersfield .pse-loc-service--roof .pse-loc-service__grid{grid-template-columns:1.15fr .85fr}
.pse-loc--keighley .pse-loc-hero{background:radial-gradient(circle at 78% 28%,#273034 0,#0a0d0f 38%,#080b0d 70%)}.pse-loc--keighley .pse-loc-service--roof{padding-top:145px}.pse-loc--keighley .pse-loc-service--roof .pse-loc-service__head{grid-template-columns:.78fr 1fr}.pse-loc--keighley .pse-loc-service--roof .pse-loc-service__head>a{justify-self:end}
.pse-loc--morley .pse-loc-hero{background:linear-gradient(125deg,#0b0e10 0 61%,#1f170e 61%)}.pse-loc--morley .pse-loc-focus__grid{grid-template-columns:.78fr 1.15fr}.pse-loc--morley .pse-loc-focus__items{order:-1}
.pse-loc--normanton .pse-loc-hero{background:#090b0d}.pse-loc--normanton .pse-loc-hero__mark{writing-mode:vertical-rl;right:1vw;bottom:0;font-size:14vw}.pse-loc--normanton .pse-loc-focus{background:#9f3f31}.pse-loc--normanton .pse-loc-service--roof .pse-loc-tags{grid-template-columns:1fr}
.pse-loc--halifax .pse-loc-hero{background:linear-gradient(135deg,#17120c 0 48%,#090c0e 48%)}.pse-loc--halifax .pse-loc-service--build{background:#e8e0d2}.pse-loc--halifax .pse-loc-story__grid{grid-template-columns:1.15fr .7fr}
.pse-loc--pontefract .pse-loc-hero{background:linear-gradient(90deg,#080b0d 0 58%,#15191a 58%)}.pse-loc--pontefract .pse-loc-hero__grid{grid-template-columns:1fr 260px}.pse-loc--pontefract .pse-loc-nearby__grid{grid-template-columns:1fr .72fr}
.pse-loc--shipley .pse-loc-hero{background:linear-gradient(160deg,#080b0d 0 72%,#1c140c 72%)}.pse-loc--shipley .pse-loc-story__grid{grid-template-columns:.75fr 1fr}.pse-loc--shipley .pse-loc-service--build .pse-loc-tags{grid-template-columns:1fr}
.pse-loc--brighouse .pse-loc-hero{background:#0b0f11}.pse-loc--brighouse .pse-loc-hero:after{content:"01";position:absolute;right:4vw;top:120px;font-size:18vw;font-weight:900;color:rgba(255,255,255,.035)}.pse-loc--brighouse .pse-loc-service--roof{background:#111619}.pse-loc--brighouse .pse-loc-focus__grid{grid-template-columns:1fr 1fr}
.pse-loc--guiseley .pse-loc-hero{background:linear-gradient(118deg,#080b0d 0 52%,#1a140c 52%)}.pse-loc--guiseley .pse-loc-hero__grid{grid-template-columns:1.15fr 280px}.pse-loc--guiseley .pse-loc-service--build .pse-loc-service__grid{grid-template-columns:1.18fr .82fr}
.pse-loc--mirfield .pse-loc-hero{background:linear-gradient(90deg,#17130e 0 34%,#090c0e 34%)}.pse-loc--mirfield .pse-loc-hero__grid{grid-template-columns:1fr 300px}.pse-loc--mirfield .pse-loc-focus{background:#101719}.pse-loc--mirfield .pse-loc-story__grid{grid-template-columns:1fr .72fr}
.pse-loc--wetherby .pse-loc-hero{background:radial-gradient(circle at 75% 32%,#2a2116 0,#0a0d0f 42%,#080b0d 72%)}.pse-loc--wetherby .pse-loc-story{background:#f7f3eb}.pse-loc--wetherby .pse-loc-faq article{background:#fff}.pse-loc--wetherby .pse-loc-service--roof .pse-loc-service__grid{grid-template-columns:.78fr 1.22fr}
@media(max-width:980px){.pse-loc-hero__grid,.pse-loc-story__grid,.pse-loc-service__grid,.pse-loc-focus__grid,.pse-loc-nearby__grid,.pse-loc-faq__head{grid-template-columns:1fr!important;gap:48px}.pse-loc-hero aside,.pse-loc--bradford .pse-loc-hero aside,.pse-loc--bradford .pse-loc-hero__grid>div:first-child{grid-column:auto;grid-row:auto}.pse-loc-faq__head h2{grid-column:auto}.pse-loc-service__head{grid-template-columns:1fr;gap:24px}.pse-loc--morley .pse-loc-focus__items{order:initial}}
@media(max-width:680px){.pse-loc-section{padding:78px 0}.pse-loc-hero{min-height:auto;padding:145px 0 82px}.pse-loc-hero h1{font-size:clamp(44px,11vw,60px);line-height:.94}.pse-loc-hero__mark{font-size:28vw;opacity:.7}.pse-loc-tags{grid-template-columns:1fr}.pse-loc-faq__grid{grid-template-columns:1fr}.pse-loc-faq article{min-height:240px}.pse-loc-story h2,.pse-loc-service h2,.pse-loc-focus h2,.pse-loc-nearby h2,.pse-loc-faq h2{font-size:clamp(40px,10vw,56px)}}

/* =========================================================
   v1.8.1 — header contrast on light hero pages
   Light hero layouts start with the approved dark header so
   primary navigation, white plus markers and brand controls
   remain readable before the normal scrolled state engages.
   ========================================================= */
body:is(
  .pse-building-page,
  .pse-install-page,
  .pse-tiles-page,
  .pse-chimney-page,
  .pse-extensions-page,
  .pse-renovations-page
) .pse-header:not(.is-scrolled){
  background:rgba(5,7,8,.97);
  border-color:rgba(255,255,255,.075);
  backdrop-filter:blur(20px) saturate(120%);
  box-shadow:0 10px 32px rgba(0,0,0,.12);
}

/* =============================================================
   v1.8.3 — global interaction contrast, review proof, form state
   ============================================================= */

/* Absolute interaction-colour contract: Phoenix Site Engine never inherits theme blue/purple links. */
body.pse-site a:not(.pse-btn):visited{color:inherit}
body.pse-site a:not(.pse-btn):is(:hover,:focus-visible){color:var(--accent)!important}
body.pse-site .pse-header a:not(.pse-btn):is(:hover,:focus-visible),
body.pse-site .pse-header .pse-link:is(:hover,:focus-visible),
body.pse-site .pse-nav-mega a:is(:hover,:focus-visible),
body.pse-site .pse-mobile-menu a:is(:hover,:focus-visible),
body.pse-site .pse-footer a:is(:hover,:focus-visible){color:var(--accent)!important}

/* Light surfaces use dark text at rest and the deeper orange for interactive states. */
body.pse-site :is(
  .pse-intro,.pse-reviews,.pse-process,.pse-why-standard,.pse-independent-proof,
  .pse-roof-proof,.pse-building-hero,.pse-building-services,.pse-page-cta--building,
  .pse-page-cta--light,.pse-contact-details,.pse-contact-area,.pse-work-proof,
  .pse-review-proof,.pse-review-highlights,.pse-quote-page__after,.pse-repair-proof,
  .pse-emergency-actions,.pse-install-hero,.pse-install-question,.pse-flat-systems,
  .pse-tiles-hero,.pse-tiles-choice,.pse-tiles-detail,.pse-roofline-flow,
  .pse-roofline-cta,.pse-chimney-hero,.pse-chimney-symptoms,.pse-fault-board,
  .pse-service-index,.pse-seo-section--light,.pse-faq--light,.pse-location-directory,
  .pse-legal-body,.pse-loc-light
) a:not(.pse-btn):is(:hover,:focus-visible){color:var(--accent-deep)!important}

/* Form card is a light nested surface even when it sits inside the dark quote section. */
body.pse-site .pse-form-card:not(.pse-form-card--success){background:var(--paper-bright)!important;color:#111314!important}
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-stage__head h3,
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-fields label,
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-upload strong,
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-progress small{color:#111314!important}
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-stage__head>span,
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-progress b{color:var(--accent-deep)!important}
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-stage__head p,
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-fields label>span,
body.pse-site .pse-form-card:not(.pse-form-card--success) .pse-form-note{color:#686c69!important}

/* Successful submission becomes part of the dark composition instead of a leftover light card. */
body.pse-site .pse-form-card--success{background:transparent!important;border:0!important;box-shadow:none!important;min-height:560px;display:grid;place-items:center}
body.pse-site .pse-form-card--success .pse-form-success{width:min(100%,620px);min-height:420px;padding:52px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.10);background:radial-gradient(circle at 50% 0,rgba(201,151,74,.10),transparent 38%)}
body.pse-site .pse-form-card--success .pse-form-success>span{color:var(--accent)!important;margin-bottom:18px}
body.pse-site .pse-form-card--success .pse-form-success strong{color:#fff!important;font-size:clamp(54px,6vw,84px);line-height:.92}
body.pse-site .pse-form-card--success .pse-form-success p{max-width:520px;color:#b8bfbc!important;font-size:16px;line-height:1.72;margin:22px auto 0}
body.pse-site .pse-form-card--success .pse-form-success .pse-text-link{margin-top:26px;color:#fff!important}
body.pse-site .pse-form-card--success .pse-form-success .pse-text-link:is(:hover,:focus-visible){color:var(--accent)!important}
body.pse-site .pse-form-card--success .pse-form-success__call{margin-top:26px}
body.pse-site .pse-form-card--success .pse-form-success__links{width:min(100%,520px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10)}
body.pse-site .pse-form-card--success .pse-form-success__links a{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.16);color:#fff!important;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.015em;text-align:left;transition:border-color .18s ease,color .18s ease,background .18s ease}
body.pse-site .pse-form-card--success .pse-form-success__links a span{color:var(--accent);font-size:14px;transition:transform .18s ease}
body.pse-site .pse-form-card--success .pse-form-success__links a:is(:hover,:focus-visible){border-color:rgba(201,151,74,.70);background:rgba(201,151,74,.08);color:#fff!important;outline:none}
body.pse-site .pse-form-card--success .pse-form-success__links a:is(:hover,:focus-visible) span{transform:translateX(3px)}

/* Contact location links — all approved SEO areas, all clickable. */
.pse-contact-area__places a{display:inline-flex;align-items:center;min-height:42px;border:1px solid #d1c8ba;padding:10px 14px;font-size:10px;font-weight:750;letter-spacing:.02em;color:#353936!important;background:#fff;text-decoration:none;transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease}
.pse-contact-area__places a:is(:hover,:focus-visible){transform:translateY(-2px);border-color:rgba(201,151,74,.62);background:#fffaf1;color:var(--accent-deep)!important}

/* Independent review-source proof and selected review previews. */
.pse-review-sources{display:grid;gap:14px}
.pse-review-sources article{border:1px solid rgba(255,255,255,.12);padding:25px 26px;background:rgba(255,255,255,.025)}
.pse-review-sources article>span{display:block;color:var(--accent);font-size:9px;letter-spacing:.17em;font-weight:850;margin-bottom:22px}
.pse-review-sources article>div:not(.pse-review-stars){display:flex;align-items:flex-end;gap:7px}
.pse-review-sources article strong{font-size:66px;line-height:.8;letter-spacing:-.065em;color:#fff}
.pse-review-sources article b{font-size:17px;color:var(--accent)}
.pse-review-sources article p{color:#8d9593;font-size:12px;line-height:1.55;margin:18px 0 0}
.pse-review-sources article>a{display:flex;justify-content:space-between;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);font-size:11px;font-weight:800;color:#fff!important;text-decoration:none}
.pse-review-stars{color:var(--accent)!important;letter-spacing:.08em;font-size:14px;margin-top:15px}
.pse-review-highlights{background:var(--paper-bright);color:#111314}
.pse-review-highlights h2{color:#111314!important}
.pse-review-highlights__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px}
.pse-review-highlights__grid>article{min-height:330px;padding:28px;background:#fff;border:1px solid #d7cfc2;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(42,35,25,.05)}
.pse-review-highlight__top{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid #e3ddd2}
.pse-review-highlight__top span{font-size:9px;color:#8b8b85;letter-spacing:.13em}
.pse-review-highlight__top b{font-size:9px;color:var(--accent-deep);letter-spacing:.14em;text-transform:uppercase}
.pse-review-highlights blockquote{margin:28px 0;font-size:20px;line-height:1.5;letter-spacing:-.02em;color:#1d211f;font-weight:650}
.pse-review-highlights article>footer{margin-top:auto;padding-top:18px;border-top:1px solid #e3ddd2;display:flex;justify-content:space-between;gap:20px;align-items:end}
.pse-review-highlights article>footer div{display:grid;gap:5px}
.pse-review-highlights article>footer strong{font-size:12px;color:#252926}
.pse-review-highlights article>footer small{font-size:10px;color:#858983}
.pse-review-highlights article>footer>a{font-size:19px;text-decoration:none;color:#111314!important}
.pse-review-highlights article>footer>a:is(:hover,:focus-visible){color:var(--accent-deep)!important}

@media(max-width:980px){
  .pse-review-highlights__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  body.pse-site .pse-form-card--success{min-height:430px}
  body.pse-site .pse-form-card--success .pse-form-success{min-height:360px;padding:42px 24px}
  body.pse-site .pse-form-card--success .pse-form-success__links{grid-template-columns:1fr;width:100%;gap:8px;margin-top:24px;padding-top:20px}
  body.pse-site .pse-form-card--success .pse-form-success__links a{min-height:48px}
  .pse-review-highlights__grid{grid-template-columns:1fr}
  .pse-review-highlights__grid>article{min-height:290px}
}

/* =========================================================
   v1.8.4 — mobile navigation type-scale fit refinement
   Keep the approved hierarchy while ensuring long top-level
   labels fit comfortably within the available mobile width.
   ========================================================== */
@media(max-width:680px){
  body.pse-site .pse-mobile-menu__nav>a>strong,
  body.pse-site .pse-mobile-nav-group>.pse-mobile-nav-parent>strong{
    font-size:clamp(25px,7vw,31px)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.pse-site .pse-mobile-menu__nav{
    --pse-mobile-index-col:30px;
    --pse-mobile-action-col:18px;
    --pse-mobile-row-gap:12px;
  }
}

@media(max-width:390px){
  body.pse-site .pse-mobile-menu__nav>a>strong,
  body.pse-site .pse-mobile-nav-group>.pse-mobile-nav-parent>strong{
    font-size:clamp(23px,6.8vw,28px)!important;
  }
}


/* =========================================================
   v1.8.6 — success-state gutter refinement
   Keeps the confirmation card inside the normal site shell.
   ========================================================== */

/* =========================================================
   v1.8.5 — quote post-submit landing reliability
   Success is the focal point after the POST/redirect/GET flow.
   ========================================================== */
body.pse-site #quote-form,
body.pse-site #quote-success{scroll-margin-top:120px}
body.pse-site .pse-quote-page__body--success{min-height:calc(100svh - 86px);display:flex;align-items:center}
body.pse-site .pse-quote-page__body--success>.pse-shell{width:var(--shell)}
body.pse-site .pse-quote-page__body--success .pse-quote-page__grid{grid-template-columns:1fr;gap:0}
body.pse-site .pse-quote-page__body--success .pse-quote-page__grid>aside{display:none}
body.pse-site .pse-quote-page__body--success .pse-form-card--dedicated{width:100%;box-shadow:none}
body.pse-site .pse-quote-page__body--success .pse-form-card--success{min-height:min(680px,72svh)}
@media(max-width:680px){
  body.pse-site #quote-form,
  body.pse-site #quote-success{scroll-margin-top:96px}
  body.pse-site .pse-quote-page__body--success{min-height:calc(100svh - 70px);padding:42px 0}
  body.pse-site .pse-quote-page__body--success .pse-form-card--success{min-height:calc(100svh - 190px)}
}

/* =========================================================
   v2.0.1 — Our Work completed-work gallery
   ========================================================= */
.pse-completed-gallery{background:#0a0d0e;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.pse-completed-gallery__head{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.64fr);gap:100px;align-items:end;margin-bottom:64px}
.pse-completed-gallery__head h2{max-width:880px;margin:0;color:#fff!important;font-size:clamp(52px,5.5vw,88px);line-height:.93;letter-spacing:-.065em}
.pse-completed-gallery__head>p{max-width:560px;margin:0 0 8px;color:#aeb4b4;font-size:17px;line-height:1.72}
.pse-completed-gallery .pse-kicker{color:var(--accent)!important}
.pse-completed-gallery__grid{column-count:3;column-gap:18px}
.pse-completed-gallery__grid--count-1{column-count:1;max-width:1040px}
.pse-completed-gallery__grid--count-2{column-count:2}
.pse-gallery-card{position:relative;display:block;width:100%;margin:0 0 18px;padding:0;overflow:hidden;break-inside:avoid;background:#141819;border:1px solid rgba(255,255,255,.1);color:#fff;text-align:left;cursor:zoom-in;appearance:none;-webkit-appearance:none}
.pse-gallery-card__media{display:block;position:relative;overflow:hidden;background:#15191a}
.pse-gallery-card__media img{display:block;width:100%;height:auto;max-width:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.pse-gallery-card__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:20px;background:linear-gradient(180deg,transparent 56%,rgba(5,7,8,.72) 100%);opacity:0;transition:opacity .28s ease;pointer-events:none}
.pse-gallery-card__overlay span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:850;color:var(--accent)}
.pse-gallery-card__overlay b{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:16px;font-weight:500;color:#fff}
.pse-gallery-card__caption{display:block;padding:16px 18px 17px;border-top:1px solid rgba(255,255,255,.08);color:#c4c9c8;font-size:12px;line-height:1.55}
.pse-gallery-card:hover .pse-gallery-card__media img{transform:scale(1.018)}
.pse-gallery-card:hover .pse-gallery-card__overlay,.pse-gallery-card:focus-visible .pse-gallery-card__overlay{opacity:1}
.pse-gallery-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.pse-gallery-lightbox-open{overflow:hidden}
.pse-gallery-lightbox[hidden]{display:none!important}
.pse-gallery-lightbox{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:28px;background:rgba(4,6,7,.96);color:#fff}
.pse-gallery-lightbox__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:zoom-out}
.pse-gallery-lightbox__panel{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1480px,100%);height:min(94vh,980px);min-height:0}
.pse-gallery-lightbox__top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 14px}
.pse-gallery-lightbox__counter{font-size:9px;font-weight:850;letter-spacing:.18em;color:var(--accent)}
.pse-gallery-lightbox__close{display:flex;align-items:center;gap:10px;padding:8px 0;border:0;background:none;color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.pse-gallery-lightbox__close span{font-size:26px;line-height:1;font-weight:300;color:var(--accent)}
.pse-gallery-lightbox__stage{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:18px;align-items:center;min-height:0}
.pse-gallery-lightbox__figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;min-height:0;height:100%;margin:0;touch-action:pan-y}
.pse-gallery-lightbox__image{display:block;max-width:100%;max-height:calc(94vh - 105px);width:auto;height:auto;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.pse-gallery-lightbox__caption{max-width:900px;margin:0;color:#c5cac9;font-size:12px;line-height:1.55;text-align:center}
.pse-gallery-lightbox__nav{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.03);color:#fff;font-size:20px;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.pse-gallery-lightbox__nav:hover,.pse-gallery-lightbox__nav:focus-visible{border-color:var(--accent);background:rgba(201,151,74,.08);color:var(--accent)}
.pse-gallery-lightbox__nav:focus-visible,.pse-gallery-lightbox__close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:980px){
  .pse-completed-gallery__head{grid-template-columns:1fr;gap:30px;margin-bottom:48px}.pse-completed-gallery__head>p{max-width:720px;margin:0}
  .pse-completed-gallery__grid{column-count:2}.pse-completed-gallery__grid--count-1{column-count:1}.pse-completed-gallery__grid--count-2{column-count:2}
  .pse-gallery-lightbox{padding:22px}.pse-gallery-lightbox__stage{grid-template-columns:48px minmax(0,1fr) 48px;gap:12px}.pse-gallery-lightbox__nav{width:44px;height:44px}
}
@media(max-width:680px){
  .pse-completed-gallery{padding:82px 0}.pse-completed-gallery__head{margin-bottom:36px}.pse-completed-gallery__head h2{font-size:clamp(44px,12.5vw,60px)}.pse-completed-gallery__head>p{font-size:15px}
  .pse-completed-gallery__grid,.pse-completed-gallery__grid--count-2{column-count:1}.pse-gallery-card{margin-bottom:14px}.pse-gallery-card__overlay{opacity:1;padding:16px;background:linear-gradient(180deg,transparent 64%,rgba(5,7,8,.62) 100%)}.pse-gallery-card__overlay span{display:none}.pse-gallery-card__overlay b{width:34px;height:34px;margin-left:auto}
  .pse-gallery-lightbox{padding:14px}.pse-gallery-lightbox__panel{height:calc(100vh - 28px)}.pse-gallery-lightbox__top{padding-bottom:10px}.pse-gallery-lightbox__stage{grid-template-columns:1fr;gap:0}.pse-gallery-lightbox__figure{grid-column:1}.pse-gallery-lightbox__image{max-height:calc(100vh - 118px)}.pse-gallery-lightbox__nav{position:absolute;z-index:2;top:50%;width:42px;height:42px;background:rgba(7,9,10,.68)}.pse-gallery-lightbox__nav--prev{left:6px}.pse-gallery-lightbox__nav--next{right:6px}.pse-gallery-lightbox__caption{padding:0 28px}
}
@media(prefers-reduced-motion:reduce){.pse-gallery-card__media img,.pse-gallery-card__overlay,.pse-gallery-lightbox__nav{transition:none}}


/* v2.0.2 responsive PSE background-image source selection */
.pse-responsive-bg{--pse-image:var(--pse-image-lg)}
@media(max-width:980px){.pse-responsive-bg{--pse-image:var(--pse-image-md,var(--pse-image-lg))}}
@media(max-width:680px){.pse-responsive-bg{--pse-image:var(--pse-image-sm,var(--pse-image-md,var(--pse-image-lg)))}}

/* v2.0.4 — consent-gated analytics and cookie controls */
.pse-footer__cookie-settings{appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;font-size:12px;color:#969d9a;cursor:pointer;text-decoration:none}.pse-footer__cookie-settings:hover,.pse-footer__cookie-settings:focus-visible{color:var(--accent);outline:none}.pse-cookie-consent[hidden]{display:none!important}.pse-cookie-consent{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center;padding:24px}.pse-cookie-consent__backdrop{position:absolute;inset:0;background:rgba(4,6,7,.62);backdrop-filter:blur(5px)}.pse-cookie-consent__panel{position:relative;width:min(760px,100%);background:#101314;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.42);padding:34px 36px 30px;overflow:hidden}.pse-cookie-consent__panel:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--accent)}.pse-cookie-consent__kicker{margin:0 0 13px;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.18em}.pse-cookie-consent h2{margin:0;color:#fff;font-size:clamp(31px,4vw,46px);line-height:.96;letter-spacing:-.045em;max-width:590px}.pse-cookie-consent__panel>p:not(.pse-cookie-consent__kicker){margin:18px 0 0;color:#b5bcba;font-size:14px;line-height:1.7;max-width:650px}.pse-cookie-consent__close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;background:transparent;color:#b8bfbd;font-size:28px;line-height:1;cursor:pointer}.pse-cookie-consent[data-has-choice="0"] .pse-cookie-consent__close{display:none}.pse-cookie-consent__close:hover,.pse-cookie-consent__close:focus-visible{color:#fff;outline:1px solid var(--accent);outline-offset:2px}.pse-cookie-consent__choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.pse-cookie-consent__choices>div{border:1px solid rgba(255,255,255,.11);background:#0a0d0e;padding:17px 18px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pse-cookie-consent__choices span{display:grid;gap:4px}.pse-cookie-consent__choices strong{font-size:13px;color:#fff}.pse-cookie-consent__choices small{font-size:11px;line-height:1.45;color:#808987}.pse-cookie-consent__choices b{flex:0 0 auto;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding-top:2px}.pse-cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pse-cookie-consent__button{min-height:48px;padding:0 21px;border:1px solid rgba(255,255,255,.18);font:inherit;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.pse-cookie-consent__button:hover{transform:translateY(-1px)}.pse-cookie-consent__button--allow{background:var(--accent);border-color:var(--accent);color:#111}.pse-cookie-consent__button--allow:hover,.pse-cookie-consent__button--allow:focus-visible{background:#fff;border-color:#fff;color:#111;outline:none}.pse-cookie-consent__button--necessary{background:transparent;color:#fff}.pse-cookie-consent__button--necessary:hover,.pse-cookie-consent__button--necessary:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.pse-cookie-consent__policy{display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:#aeb5b3;text-decoration:none;font-size:11px}.pse-cookie-consent__policy:hover,.pse-cookie-consent__policy:focus-visible{color:var(--accent);outline:none}.pse-cookie-consent-open{overflow:hidden}
@media(max-width:680px){.pse-cookie-consent{padding:0;align-items:flex-end}.pse-cookie-consent__panel{width:100%;padding:29px 20px 22px;border-left:0;border-right:0;border-bottom:0;max-height:min(88vh,720px);overflow:auto}.pse-cookie-consent h2{padding-right:25px}.pse-cookie-consent__choices{grid-template-columns:1fr}.pse-cookie-consent__actions{display:grid;grid-template-columns:1fr}.pse-cookie-consent__button{width:100%}.pse-cookie-consent__policy{margin-bottom:62px}}
@media(prefers-reduced-motion:reduce){.pse-cookie-consent__button{transition:none}}

/* v2.0.7 — configured location photography is the actual responsive hero background. */
.pse-loc .pse-loc-hero.has-site-image{background-color:#080b0d!important;background-image:linear-gradient(90deg,rgba(5,7,8,.78) 0%,rgba(5,7,8,.58) 52%,rgba(5,7,8,.70) 100%),var(--pse-loc-image-lg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.pse-loc .pse-loc-hero.has-site-image:before{z-index:1;background:radial-gradient(circle at 75% 22%,rgba(201,151,74,.13),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:auto,72px 72px}
.pse-loc .pse-loc-hero.has-site-image:after{z-index:1;pointer-events:none}
.pse-loc .pse-loc-hero.has-site-image .pse-loc-hero__mark{z-index:1;color:rgba(255,255,255,.035)}
.pse-loc .pse-loc-hero.has-site-image .pse-loc-hero__grid{z-index:2}
@media(max-width:980px){.pse-loc .pse-loc-hero.has-site-image{background-image:linear-gradient(90deg,rgba(5,7,8,.80) 0%,rgba(5,7,8,.62) 54%,rgba(5,7,8,.74) 100%),var(--pse-loc-image-md,var(--pse-loc-image-lg))!important}}
@media(max-width:680px){.pse-loc .pse-loc-hero.has-site-image{background-image:linear-gradient(180deg,rgba(5,7,8,.78) 0%,rgba(5,7,8,.60) 48%,rgba(5,7,8,.84) 100%),var(--pse-loc-image-sm,var(--pse-loc-image-md,var(--pse-loc-image-lg)))!important;background-position:center!important}}

/* v2.0.11 roof-repair area routes */
.pse-fault-board__grid--areas{grid-template-columns:repeat(5,minmax(0,1fr))}.pse-fault-board__grid--areas h3 a{text-decoration:none}.pse-fault-board__grid--areas h3 a:hover,.pse-fault-board__grid--areas h3 a:focus-visible{color:var(--accent-deep);outline:none}
@media(max-width:980px){.pse-fault-board__grid--areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pse-fault-board__grid--areas{grid-template-columns:1fr}}

/* v2.0.12 expanded regional location directory */
.pse-location-regions{background:#111314;color:#fff;padding:100px 0}.pse-location-regions .pse-page-heading h2{color:#fff}.pse-location-regions .pse-page-heading p{color:rgba(255,255,255,.72)}.pse-location-regions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:46px}.pse-location-regions__grid a{min-height:250px;padding:30px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));text-decoration:none;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease,background .2s ease}.pse-location-regions__grid a:hover{transform:translateY(-4px);border-color:rgba(201,151,74,.62);background:linear-gradient(145deg,rgba(201,151,74,.08),rgba(255,255,255,.02))}.pse-location-regions__grid span{color:var(--pse-accent,var(--accent));font-size:10px;font-weight:850;letter-spacing:.13em}.pse-location-regions__grid strong{margin:auto 0 10px;color:#fff;font-size:clamp(25px,3vw,36px);line-height:1.05}.pse-location-regions__grid p{margin:0 0 24px;color:rgba(255,255,255,.7)}.pse-location-regions__grid b{color:#fff;font-size:12px}.pse-location-directory__group+.pse-location-directory__group{margin-top:78px}.pse-location-directory__group-head{margin-top:50px;border-top:1px solid var(--line-light);padding-top:28px}.pse-location-directory__group-head h3{margin:7px 0 0;color:#111314;font-size:clamp(29px,4vw,43px)}.pse-location-directory__group .pse-location-directory__grid{margin-top:30px}
@media(max-width:980px){.pse-location-regions__grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pse-location-regions{padding:78px 0}.pse-location-regions__grid{grid-template-columns:1fr}.pse-location-regions__grid a{min-height:210px}.pse-location-directory__group+.pse-location-directory__group{margin-top:58px}}

/* v2.0.12 roof-repair coverage directory */
.pse-repair-directory{background:var(--paper);color:#111314}.pse-repair-directory .pse-page-heading h2,.pse-repair-directory h3{color:#111314}.pse-repair-directory__regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:44px}.pse-repair-directory__regions a{min-height:165px;padding:24px;border:1px solid var(--line-light);background:var(--paper-bright);text-decoration:none;display:flex;flex-direction:column}.pse-repair-directory__regions span{color:var(--accent-deep);font-size:10px;font-weight:850;letter-spacing:.12em}.pse-repair-directory__regions strong{margin:auto 0 8px;color:#111314;font-size:26px;line-height:1.1}.pse-repair-directory__regions b{font-size:12px;color:#111314}.pse-repair-directory__group{margin-top:62px}.pse-repair-directory__group>h3{margin:6px 0 0;font-size:clamp(30px,4vw,44px)}.pse-repair-directory__group .pse-fault-board__grid{margin-top:26px}.pse-fault-board__grid--areas article h3 a{color:inherit;text-decoration:none}.pse-fault-board__grid--areas article h3 a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:680px){.pse-repair-directory__regions{grid-template-columns:1fr}.pse-repair-directory__group{margin-top:48px}}


/* v2.0.13 Roof Repairs hub: Leeds-first, compact local coverage */
.pse-repair-directory__leeds{margin-top:44px;display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:32px;align-items:center;padding:30px 32px;border:1px solid rgba(17,19,20,.14);background:#111314;color:#fff;text-decoration:none;position:relative;overflow:hidden}
.pse-repair-directory__leeds::after{content:"LEEDS";position:absolute;right:-8px;bottom:-26px;font-size:clamp(72px,11vw,154px);font-weight:900;line-height:.8;letter-spacing:-.07em;color:rgba(255,255,255,.035);pointer-events:none}
.pse-repair-directory__leeds>.pse-kicker{position:relative;z-index:1;margin:0;color:var(--accent);align-self:start}
.pse-repair-directory__leeds>div{position:relative;z-index:1;max-width:760px}
.pse-repair-directory__leeds strong{display:block;color:#fff;font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-.035em}
.pse-repair-directory__leeds p{max-width:680px;margin:14px 0 18px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.75}
.pse-repair-directory__leeds b{display:inline-flex;gap:10px;align-items:center;color:var(--accent);font-size:12px;letter-spacing:.02em}
.pse-repair-directory__leeds:hover b,.pse-repair-directory__leeds:focus-visible b{text-decoration:underline;text-underline-offset:4px}
.pse-repair-directory__regions{margin-top:16px;gap:12px}
.pse-repair-directory__regions a{min-height:112px;padding:19px 20px}
.pse-repair-directory__regions strong{margin:auto 0 6px;font-size:20px}
.pse-repair-directory__group{margin-top:46px;padding-top:30px;border-top:1px solid rgba(17,19,20,.12)}
.pse-repair-directory__group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.pse-repair-directory__group-head .pse-kicker{margin:0}
.pse-repair-directory__group-head h3{margin:0;color:#111314;font-size:clamp(24px,3vw,34px);line-height:1.05;letter-spacing:-.025em}
.pse-repair-directory__towns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pse-repair-directory__towns a{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow arrow" "town arrow";column-gap:12px;align-items:center;padding:14px 15px;border:1px solid rgba(17,19,20,.12);background:rgba(255,255,255,.32);color:#111314;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.pse-repair-directory__towns a>span{grid-area:eyebrow;color:#8c5a1d;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.pse-repair-directory__towns a>strong{grid-area:town;overflow:hidden;text-overflow:ellipsis;color:#111314;font-size:15px;line-height:1.25;white-space:nowrap}
.pse-repair-directory__towns a>b{grid-area:arrow;color:#8c5a1d;font-size:15px}
.pse-repair-directory__towns a:hover,.pse-repair-directory__towns a:focus-visible{transform:translateY(-1px);border-color:rgba(140,90,29,.45);background:#fff}
@media(max-width:980px){.pse-repair-directory__towns{grid-template-columns:repeat(3,minmax(0,1fr))}.pse-repair-directory__leeds{grid-template-columns:1fr;gap:14px}}
@media(max-width:700px){.pse-repair-directory__leeds{padding:24px 20px}.pse-repair-directory__regions{grid-template-columns:1fr}.pse-repair-directory__group-head{display:block}.pse-repair-directory__group-head h3{margin-top:6px}.pse-repair-directory__towns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.pse-repair-directory__towns{grid-template-columns:1fr}.pse-repair-directory__towns a>strong{white-space:normal}}

/* v2.0.14 lead-quality security */
.pse-turnstile-wrap{margin:4px 0 18px;min-height:65px;display:flex;align-items:center}
.pse-turnstile-status{font-size:12px;line-height:1.5;color:#6c6861}
.pse-turnstile-wrap iframe{max-width:100%}
@media(max-width:520px){.pse-turnstile-wrap{overflow:hidden}}
