:root{--red: #e82419;--red-dark: #c91b12;--ink: #121212;--muted: #5f5f5f;--paper: #ffffff;--wash: #f3f2ef;--line-colour: #d8d6d0;--success: #24734f;--ink-12: rgba(18, 18, 18, .12);--ink-78: rgba(18, 18, 18, .78);--white-15: rgba(255, 255, 255, .15);--white-30: rgba(255, 255, 255, .3);--white-52: rgba(255, 255, 255, .52);--white-58: rgba(255, 255, 255, .58);--white-62: rgba(255, 255, 255, .62);--white-72: rgba(255, 255, 255, .72);--overlay: rgba(18, 18, 18, .72);--overlay-soft: rgba(18, 18, 18, .34);--shadow: 0 1.2rem 3rem var(--ink-12);--space-1: .35rem;--space-2: .65rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4.5rem;--space-8: 7rem;--shell: 78rem;--header: 5rem;--tap-target: 2.75rem;--media-process: 42rem;--media-standards: 38rem;--media-mobile: 22rem;--media-compact: 18rem;--radius-small: .45rem;--radius: .8rem;--radius-large: 1.25rem;--pill: 99rem;--line: 1px;--transition: .22s ease}*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth}body{min-width:0;margin:0;overflow-x:clip;color:var(--ink);background:var(--paper);font-family:Plus Jakarta Sans,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.shell{width:min(calc(100% - var(--space-6)),var(--shell));margin-inline:auto}.section{padding-block:var(--space-8)}.skip-link{position:fixed;z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--paper);background:var(--ink);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.eyebrow{margin:0 0 var(--space-3);color:var(--red);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow.light{color:var(--paper)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--space-4);font-size:clamp(3.7rem,8vw,7.5rem);line-height:.88;letter-spacing:-.065em}h2{margin-bottom:var(--space-4);font-size:clamp(2.35rem,5vw,4.6rem);line-height:.98;letter-spacing:-.055em}h3{margin-bottom:var(--space-2);font-size:clamp(1.3rem,2vw,1.75rem);letter-spacing:-.035em}p{color:var(--muted);line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:3.5rem;padding:var(--space-3) var(--space-5);border:var(--line) solid var(--red);border-radius:var(--pill);color:var(--paper);background:var(--red);font-weight:800;cursor:pointer;transition:background var(--transition),transform var(--transition)}.button:hover{background:var(--red-dark);transform:translateY(-.12rem)}.button-small{min-height:2.8rem;padding:var(--space-2) var(--space-4);font-size:.83rem}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:800}.text-link:hover svg,.package-row>a:hover svg{transform:translate(var(--space-1))}.text-link svg,.package-row>a svg{transition:transform var(--transition)}.utility{color:var(--paper);background:var(--ink);font-size:.75rem}.utility .shell{display:flex;align-items:center;justify-content:space-between;min-height:2.25rem}.utility a{display:flex;align-items:center;gap:var(--space-2);font-weight:700}.header{position:sticky;z-index:50;top:0;height:var(--header);border-bottom:var(--line) solid transparent;background:var(--paper);transition:box-shadow var(--transition),border-color var(--transition)}.header.is-scrolled{border-color:var(--line-colour);box-shadow:var(--shadow)}.nav-wrap{display:flex;height:100%;align-items:center;justify-content:space-between;gap:var(--space-5)}.brand{width:11.5rem}.brand img{width:100%}.desktop-nav{display:flex;align-items:center;gap:var(--space-5);font-size:.88rem;font-weight:700}.desktop-nav a{position:relative;padding-block:var(--space-2)}.desktop-nav a:after{position:absolute;right:0;bottom:0;left:0;height:.13rem;background:var(--red);content:"";transform:scaleX(0);transform-origin:right;transition:transform var(--transition)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.menu-button{display:none;width:var(--tap-target);height:var(--tap-target);padding:var(--space-2);border:0;background:transparent;cursor:pointer}.mobile-nav{display:none}.reveal{opacity:0;transform:translateY(var(--space-5));transition:opacity .62s ease,transform .62s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.hero{position:relative;min-height:calc(100svh - var(--header) - 2.25rem);display:grid;align-items:end;overflow:hidden;color:var(--paper);background:var(--ink)}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url(/assets/loft-hero-domestic.jpg) 72% 42% / cover no-repeat;transform:scale(1.02);animation:settle 1.2s ease-out both}.hero-shade{background:linear-gradient(90deg,var(--overlay) 0%,var(--overlay-soft) 54%,transparent 80%)}.hero-inner{position:relative;z-index:2;padding-block:var(--space-7) calc(var(--space-8) + var(--space-4))}.hero-copy{max-width:36rem;margin-bottom:var(--space-5);color:var(--paper);font-size:clamp(1rem,1.5vw,1.22rem)}.postcode-form{max-width:37rem}.postcode-form label{display:block;margin-bottom:var(--space-2);font-size:.8rem;font-weight:800}.postcode-form>div{display:grid;grid-template-columns:1fr auto;padding:var(--space-1);border-radius:var(--pill);background:var(--paper)}.postcode-form input{min-width:0;padding-inline:var(--space-4);border:0;outline:0;color:var(--ink);background:transparent}.postcode-form button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:0;border-radius:var(--pill);color:var(--paper);background:var(--red);font-weight:800;cursor:pointer}.postcode-form>p{min-height:1.5rem;margin:var(--space-2) 0 0;color:var(--paper);font-size:.82rem}.hero-proof{position:absolute;z-index:2;right:0;bottom:0;left:0;border-top:var(--line) solid var(--white-30);background:var(--ink-78);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.hero-proof .shell{display:flex;align-items:center;gap:var(--space-6);min-height:4.5rem;font-size:.8rem;font-weight:700}.hero-proof span{display:flex;align-items:center;gap:var(--space-2)}.hero-proof svg{color:var(--red)}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-6);align-items:end;margin-bottom:var(--space-7)}.section-head .eyebrow{grid-column:1 / -1;margin-bottom:calc(var(--space-6) * -1)}.section-head h2,.section-head p{margin-bottom:0}.section-head p{max-width:31rem}.package-list{border-top:var(--line) solid var(--ink)}.package-row{display:grid;grid-template-columns:4rem 1.1fr 1.5fr .7fr auto;gap:var(--space-5);align-items:center;padding-block:var(--space-5);border-bottom:var(--line) solid var(--line-colour)}.package-index{color:var(--red);font-weight:800}.package-row p{margin:0}.package-row>p{max-width:28rem}.package-row>a{display:flex;align-items:center;gap:var(--space-2);font-size:.86rem;font-weight:800}.package-price{display:flex;flex-direction:column}.package-price span,.package-price small{color:var(--muted);font-size:.72rem}.package-price strong{font-size:1.45rem}.fine-print{margin-top:var(--space-3);font-size:.75rem}.process{background:var(--wash)}.process-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:var(--space-7);align-items:start}.process-media{position:sticky;top:calc(var(--header) + var(--space-5))}.process-media img{width:100%;height:var(--media-process);object-fit:cover;border-radius:var(--radius-large);filter:saturate(.84) contrast(1.04)}.process-media span{position:absolute;right:var(--space-4);bottom:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--pill);color:var(--paper);background:var(--ink);font-size:.76rem;font-weight:700}.process-copy ol{margin:var(--space-6) 0 0;padding:0;list-style:none;border-top:var(--line) solid var(--ink)}.process-copy li{display:grid;grid-template-columns:4rem 1fr;gap:var(--space-4);padding-block:var(--space-5);border-bottom:var(--line) solid var(--line-colour)}.process-copy li>span{color:var(--red);font-size:.82rem;font-weight:800}.process-copy li p{margin:0}.standards{color:var(--paper);background:var(--ink)}.standards-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-7);align-items:center}.standards p{max-width:34rem;color:var(--white-72)}.standards ul{margin:var(--space-5) 0;padding:0;list-style:none}.standards li{display:flex;gap:var(--space-3);padding-block:var(--space-2);border-bottom:var(--line) solid var(--white-15)}.standards li svg{flex:0 0 auto;color:var(--red)}.standards figure{margin:0}.standards figure img{width:100%;height:var(--media-standards);object-fit:cover;border-radius:var(--radius-large)}.standards figcaption{margin-top:var(--space-2);color:var(--white-58);font-size:.75rem}@keyframes settle{0%{transform:scale(1.08);opacity:.4}to{transform:scale(1.02);opacity:1}}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-7);align-items:start}.faqs details{border-top:var(--line) solid var(--line-colour)}.faqs details:last-child{border-bottom:var(--line) solid var(--line-colour)}.faqs summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);font-size:1.05rem;font-weight:700;cursor:pointer;list-style:none}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{color:var(--red);font-size:1.5rem;transition:transform var(--transition)}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{max-width:43rem;margin-bottom:var(--space-4)}.quote{color:var(--paper);background:var(--red)}.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-7);align-items:start}.quote .eyebrow,.quote p{color:var(--paper)}.quote-contact{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-5)}.quote-contact>svg{width:2rem;height:2rem}.quote-contact div{display:flex;flex-direction:column}.quote-contact span{font-size:.75rem;opacity:.76}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-large);color:var(--ink);background:var(--paper);box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-wide{grid-column:1 / -1}.field label{font-size:.76rem;font-weight:800}.field input,.field select{min-height:3.3rem;padding-inline:var(--space-3);border:var(--line) solid var(--line-colour);border-radius:var(--radius-small);outline:none;background:var(--paper)}.field input:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 .18rem var(--ink-12)}.quote-form .button{width:100%}.form-status{min-height:1.4rem;margin:0;color:var(--success);font-size:.78rem}footer{padding-top:var(--space-7);color:var(--paper);background:var(--ink)}.footer-main{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:var(--space-7);align-items:start;padding-bottom:var(--space-6)}.footer-main img{width:12rem}.footer-main p{max-width:28rem;color:var(--white-62)}.footer-main>div{display:grid;gap:var(--space-2);font-size:.85rem;font-weight:700}.footer-base{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);border-top:var(--line) solid var(--white-15);color:var(--white-52);font-size:.7rem}@media(max-width:980px){:root{--media-process: 36rem}.desktop-nav,.nav-wrap>.button{display:none}.menu-button{display:grid;place-items:center}.mobile-nav{position:fixed;z-index:80;inset:0;display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-7) var(--space-5);color:var(--paper);background:var(--ink);font-size:1.6rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(100%);transition:opacity var(--transition),transform .32s ease}.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.mobile-nav button{align-self:end;width:var(--tap-target);height:var(--tap-target);padding:var(--space-2);border:0;color:var(--paper);background:transparent}.mobile-nav .button{margin-top:auto;font-size:1rem}.package-row{grid-template-columns:3rem 1fr .7fr}.package-row>p{grid-column:2 / -1}.package-row>a{grid-column:2 / -1}.process-grid,.standards-grid,.quote-grid{gap:var(--space-6)}}@media(max-width:760px){:root{--header: 4.3rem;--space-8: 4.5rem}.shell{width:min(calc(100% - var(--space-5)),var(--shell))}.utility span{display:none}.utility .shell{justify-content:center}.brand{width:9.5rem}.hero{min-height:calc(100svh - var(--header) - 2.25rem);align-items:center}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,var(--overlay) 0%,var(--overlay-soft) 100%)}.hero-inner{padding-block:var(--space-5) calc(var(--space-7) + var(--space-4))}.postcode-form>div{grid-template-columns:1fr;border-radius:var(--radius)}.postcode-form input{min-height:3.3rem}.postcode-form button{justify-content:center;border-radius:var(--radius-small)}.hero-proof .shell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);min-height:var(--space-7);font-size:.65rem}.hero-proof span{align-items:flex-start;line-height:1.3}.section-head,.process-grid,.standards-grid,.faq-grid,.quote-grid,.footer-main{grid-template-columns:1fr}.section-head{gap:var(--space-4);margin-bottom:var(--space-6)}.section-head .eyebrow{margin-bottom:0}.package-row{grid-template-columns:2.2rem 1fr;gap:var(--space-3)}.package-row>p,.package-price,.package-row>a{grid-column:2}.package-row>a{min-height:var(--tap-target)}.process-media{position:relative;top:auto}.process-media img,.standards figure img{height:var(--media-mobile)}.process-copy li{grid-template-columns:2.5rem 1fr}.quote-form{grid-template-columns:1fr;padding:var(--space-4)}.field-wide{grid-column:auto}.footer-main{gap:var(--space-5)}.footer-base{flex-direction:column}}@media(min-width:380px)and (max-width:760px){.postcode-form>div{grid-template-columns:minmax(0,1fr) auto;border-radius:var(--pill)}.postcode-form button{border-radius:var(--pill)}}@media(max-width:420px){h1{font-size:3.1rem}.process-media img,.standards figure img{height:var(--media-compact)}.quote-form{border-radius:var(--radius)}}@media(max-width:350px){:root{--space-8: 4rem}h1{font-size:2.8rem}h2{font-size:2.1rem}.hero-copy{font-size:.92rem}.hero-proof .shell{font-size:.58rem}}
