:root{
  --ink:#07090e;--ink-2:#0c1018;--ink-3:#121722;--purple:#14091f;--purple-2:#21102d;
  --gold:#e1b83b;--gold-2:#f4d36c;--gold-deep:#9f7616;--cream:#f3efe7;--paper:#fffdf8;
  --text:#f7f4ed;--muted:#b8bec8;--line:rgba(255,255,255,.12);--darkline:rgba(25,24,30,.14);
  --shadow:0 28px 70px rgba(0,0,0,.32);--radius:18px;--door-width-scale:1;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}.serif{font-family:Georgia,'Times New Roman',serif}.eyebrow{margin:0 0 10px;color:var(--gold-2);font-size:11px;letter-spacing:.24em;font-weight:800}.page{min-height:100vh}.container{width:min(1440px,92vw);margin:0 auto}.section{padding:88px 0}.section--dark{background:linear-gradient(135deg,var(--ink),#090b12 65%,#11131d)}.section--purple{background:radial-gradient(circle at 20% 10%,rgba(101,46,118,.26),transparent 35%),linear-gradient(135deg,#100718,#090a10 70%)}.section--light{background:linear-gradient(180deg,#fffefa,#f3efe7);color:#171820}.section--paper{background:#f5f2eb;color:#161820}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2,.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4vw,62px);line-height:.98;margin:0}.section-head p:not(.eyebrow){max-width:650px;color:var(--muted);line-height:1.7}.section--light .section-head p:not(.eyebrow),.section--paper .section-head p:not(.eyebrow){color:#686a70}.gold{color:var(--gold-2)}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 20px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.05em;font-weight:900;cursor:pointer;transition:.25s ease}.button span{font-size:18px}.button--gold{background:linear-gradient(180deg,#f5d769,#d7a62d);color:#100f11;border-color:#f4dc80;box-shadow:0 10px 28px rgba(211,164,40,.18)}.button--gold:hover{transform:translateY(-2px);filter:brightness(1.05)}.button--outline{border-color:rgba(255,255,255,.34);background:rgba(0,0,0,.15);color:#fff}.button--outline:hover{border-color:var(--gold);color:var(--gold-2)}.button--dark{background:#10131b;color:#fff;border-color:#303746}.text-link{text-decoration:none;font-weight:800;font-size:12px;letter-spacing:.03em}.text-link:hover{color:var(--gold-2)}

/* Global FIRAS ribbon + header */
.cert-ribbon{position:relative;z-index:100;background:linear-gradient(90deg,#d5a735,#f3d871 48%,#c99824);color:#17120b;border-bottom:1px solid rgba(0,0,0,.25)}.cert-ribbon__inner{min-height:34px;width:min(1480px,94vw);margin:auto;display:flex;align-items:center;justify-content:center;gap:11px;font-size:11px;letter-spacing:.015em}.cert-ribbon__icon{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#151515;color:#f6d66a;font-weight:900}.cert-ribbon__divider{width:1px;height:15px;background:rgba(0,0,0,.25)}.cert-ribbon__certificate{font-weight:800}.cert-ribbon a{margin-left:12px;font-weight:900;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.4)}
.main-header{height:92px;padding:0 3vw;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:28px;background:rgba(7,8,13,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:90}.brand{width:238px;height:75px;display:flex;align-items:center;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}.main-nav{justify-self:center;display:flex;align-items:center;gap:22px}.main-nav a{position:relative;text-decoration:none;font-size:12px;color:#d9dbe2;padding:35px 0}.main-nav a:after{content:'';position:absolute;height:2px;left:50%;right:50%;bottom:21px;background:var(--gold);transition:.2s}.main-nav a:hover,.main-nav a.active{color:#fff}.main-nav a:hover:after,.main-nav a.active:after{left:0;right:0}.header-quote{justify-self:end}.menu-button{display:none;width:44px;height:44px;background:none;border:1px solid var(--line);padding:11px}.menu-button span{display:block;height:2px;background:#fff;margin:5px 0}

/* Homepage hero */
.hero{min-height:650px;display:grid;grid-template-columns:50% 50%;background:radial-gradient(circle at 18% 20%,rgba(100,38,112,.32),transparent 42%),linear-gradient(135deg,#140920,#090a0e 72%);overflow:hidden;border-bottom:1px solid rgba(225,184,59,.4)}.hero__copy{padding:82px 6vw 72px 5vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}.hero__copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(64px,6.1vw,108px);line-height:.84;letter-spacing:-.055em;margin:0 0 22px;max-width:730px}.hero__copy h2{font-size:19px;margin:0 0 18px;letter-spacing:.01em}.hero__copy>p:not(.eyebrow){font-size:16px;color:#c8cad2;max-width:680px;line-height:1.65}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero__visual{position:relative;min-height:650px;background:linear-gradient(90deg,rgba(7,9,14,.2),transparent 20%),linear-gradient(135deg,#9b9da0 0 5%,#d8d8d5 5% 8%,#383b3c 8% 11%,#1d2024 11% 13%,#bdc0c0 13% 16%,#262c2d 16% 20%,#c8c5bf 20% 24%,#5e6262 24% 25%,#1d2325 25% 30%,#b6b4ae 30% 31%,#252728 31% 100%)}.hero__visual:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.09),transparent 35%),radial-gradient(circle at 70% 20%,rgba(255,255,255,.18),transparent 24%);mix-blend-mode:screen}.hero__visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,9,.12),rgba(6,9,13,.03) 55%,rgba(4,6,9,.58))}.door-scene{position:absolute;left:25%;bottom:0;width:48%;height:91%;z-index:2;filter:drop-shadow(0 30px 22px rgba(0,0,0,.35))}.door-scene__frame{position:absolute;inset:0;background:#d5d2ca;border:13px solid #484c4f;box-shadow:inset 0 0 0 5px #c4c2bc}.door-scene__leaf{position:absolute;left:8%;right:8%;top:4%;bottom:0;background:repeating-linear-gradient(91deg,#8a6748 0 4px,#987253 4px 10px,#7d5b40 10px 14px,#a47b59 14px 20px);border:2px solid #5a412d;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14)}.door-scene__glass{position:absolute;top:17%;left:23%;width:17%;height:48%;background:linear-gradient(120deg,#8e989e,#d8e0e1 40%,#6f777d 41%,#b8c4c8);border:9px solid #4c3e30;box-shadow:0 0 0 2px #c8aa6a}.door-scene__glass.two{left:auto;right:23%}.door-scene__handle{position:absolute;width:44px;height:8px;background:#d3d5d2;right:16%;top:58%;box-shadow:-8px 8px 0 -2px #727678}.door-scene__sign{position:absolute;right:18%;top:39%;width:52px;height:52px;border-radius:50%;background:#154b8d;color:#fff;border:2px solid #fff;display:grid;place-items:center;text-align:center;font-size:7px;line-height:1.1}.hero__side-note{position:absolute;right:3vw;top:12%;z-index:4;width:155px;color:#e3e5e8}.hero__side-note p{font-family:Georgia,serif;font-size:24px;line-height:1.35;letter-spacing:.08em}.hero__side-note:after{content:'';display:block;width:62px;height:2px;background:var(--gold);margin-top:18px}.hero__rail{position:absolute;right:3vw;bottom:10%;z-index:4;font-size:10px;letter-spacing:.27em;line-height:2;color:#f0f1f3}.hero__rail span{display:block}.hero-watermark{position:absolute;left:2%;bottom:-7%;width:260px;opacity:.035;z-index:1}

/* Trust logos */
.trust-strip{background:#070a0f;border-bottom:1px solid rgba(225,184,59,.3);padding:18px 3vw;display:grid;grid-template-columns:160px 1fr 170px;align-items:center;gap:26px}.trust-strip__label{font-size:10px;letter-spacing:.26em;line-height:1.65;color:#d7d9df}.trust-strip__logos{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));align-items:center;gap:14px}.trust-logo{height:60px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:7px 10px;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.trust-logo img{max-width:100%;max-height:47px;object-fit:contain}.trust-logo--firas{height:68px;border:1px solid #159dc2;box-shadow:0 0 0 1px rgba(21,157,194,.18),0 8px 24px rgba(21,157,194,.08)}.trust-strip__tag{font-size:10px;letter-spacing:.22em;line-height:1.7;color:#d6d8de;text-align:right}.trust-strip__tag b{color:var(--gold-2)}

/* Compartmentation visual */
.compartment{display:grid;grid-template-columns:28% 50% 22%;min-height:540px;background:#0b0e14;border-bottom:1px solid rgba(225,184,59,.2)}.compartment__copy{padding:70px 4vw;align-self:center}.compartment__copy h2{font-family:Georgia,serif;font-size:clamp(45px,4.5vw,76px);line-height:.93;margin:0 0 24px}.compartment__copy p:not(.eyebrow){color:#c3c6ce;line-height:1.68}.compartment__visual{position:relative;overflow:hidden;background:linear-gradient(180deg,#25282d,#0d0f13)}.cutaway-shell{position:absolute;inset:10% 4% 8%;display:grid;grid-template-columns:1fr 22px 1fr;grid-template-rows:1fr 22px 1fr;transform:perspective(1000px) rotateX(5deg) rotateY(-6deg);box-shadow:0 30px 55px rgba(0,0,0,.45)}.cut-room{position:relative;background:linear-gradient(#41444a 0 12%,#c1beb5 12% 86%,#68625d 86%);border:6px solid #26282c;overflow:hidden}.cut-room.fire{grid-column:1;grid-row:1}.cut-room.safe{grid-column:3;grid-row:1}.cut-room.lower-a{grid-column:1;grid-row:3;background:linear-gradient(#454951 0 12%,#b8b6ad 12% 86%,#6d6761 86%)}.cut-room.lower-b{grid-column:3;grid-row:3;background:linear-gradient(#40454d 0 12%,#c8c5bc 12% 86%,#706b64 86%)}.cut-wall-v{grid-column:2;grid-row:1/4;background:#a6a39c;box-shadow:inset 0 0 0 5px #5a5d60;z-index:4}.cut-wall-h{grid-column:1/4;grid-row:2;background:#aaa79e;box-shadow:inset 0 0 0 5px #5a5d60;z-index:4}.mini-door{position:absolute;width:22%;height:66%;bottom:7%;right:5%;background:#8b694c;border:4px solid #4d3b2d}.mini-door:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#ded7c8;right:12%;top:53%}.flame-art{position:absolute;left:17%;bottom:8%;font-size:88px;filter:drop-shadow(0 0 14px #f45b22)}.smoke-art{position:absolute;left:2%;right:0;top:-10%;height:75%;background:radial-gradient(ellipse at 40% 65%,rgba(78,78,78,.75),transparent 50%),radial-gradient(ellipse at 60% 40%,rgba(60,60,60,.55),transparent 45%);filter:blur(6px)}.penetrations{position:absolute;z-index:6;top:24%;left:calc(50% - 24px);width:70px;height:55px}.penetrations i{position:absolute;width:78px;height:6px;border-radius:8px;background:#777e83;box-shadow:0 0 0 3px #161719}.penetrations i:nth-child(2){top:16px;width:62px}.penetrations i:nth-child(3){top:32px;width:74px}.firestop-ring{position:absolute;z-index:7;top:20%;left:calc(50% - 8px);width:17px;height:66px;border:5px solid #d4442d;border-radius:7px}.contain-arrow{position:absolute;z-index:8;left:43%;top:49%;font-size:48px;color:#fff;text-shadow:0 0 10px #000}.compartment__list{padding:70px 3vw;align-self:center}.compartment__list ul{list-style:none;padding:0;margin:0 0 24px}.compartment__list li{position:relative;padding:10px 0 10px 35px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.compartment__list li:before{content:'✓';position:absolute;left:0;top:7px;width:19px;height:19px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:10px}.compartment__list p{font-size:11px;letter-spacing:.18em;line-height:1.7;border-top:1px solid var(--gold-deep);padding-top:18px;color:#d5d7dc}

/* Cards */
.service-grid{display:grid;grid-template-columns:repeat(9,minmax(150px,1fr));gap:9px;overflow-x:auto;padding-bottom:8px}.service-card{min-height:180px;padding:24px 18px;background:linear-gradient(180deg,#111622,#0a0d13);border:1px solid #343947;text-decoration:none;transition:.25s;position:relative;overflow:hidden}.service-card:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.25s}.service-card:hover{transform:translateY(-5px);border-color:#6b5927;box-shadow:var(--shadow)}.service-card:hover:before{transform:scaleX(1)}.service-card__icon{font-size:29px;color:var(--gold);display:block;margin-bottom:30px}.service-card h3{font-size:14px;margin:0 0 8px}.service-card p{font-size:11px;line-height:1.55;color:#aeb3bd;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{position:relative;min-height:400px;border:1px solid var(--darkline);overflow:hidden;background:#fff}.feature-card__visual{height:230px;background:#ddd}.feature-card__body{padding:24px}.feature-card h3{font-family:Georgia,serif;font-size:30px;margin:0 0 12px}.feature-card p{color:#61656d;line-height:1.6}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:#fff;color:#17181b;border:1px solid #ddd7cb;overflow:hidden;transition:.25s}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(25,20,10,.12)}.project-card__visual{height:245px;position:relative;overflow:hidden;background:#c7c9c8}.project-card__visual img{width:100%;height:100%;object-fit:cover}.project-card__visual--hospital{background:linear-gradient(135deg,#66747d,#c1cacb 55%,#747e82)}.project-card__visual--ward{background:linear-gradient(135deg,#e8e5dc,#b6c1c1 48%,#7d8585)}.project-card__visual--school{background:linear-gradient(135deg,#6f7b68,#d5d3bd 50%,#756e61)}.project-card__visual--residential{background:linear-gradient(135deg,#a0a8ad,#e0ded5 54%,#72787a)}.project-card__visual--mental{background:linear-gradient(135deg,#868a87,#c4c4ba 47%,#575d62)}.project-card__visual--commercial{background:linear-gradient(135deg,#545d65,#d2d4d2 47%,#858b8e)}.project-card__overlay{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75));padding:60px 20px 18px;color:#fff}.project-card__body{padding:20px}.project-card__body span{font-size:10px;letter-spacing:.14em;color:#8e6e16;text-transform:uppercase}.project-card h3{font-family:Georgia,serif;font-size:27px;margin:8px 0}.project-card p{font-size:13px;line-height:1.6;color:#666971}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.filters button{border:1px solid #bdb7aa;background:transparent;color:#27282b;border-radius:999px;padding:9px 14px;cursor:pointer;font-size:12px}.filters button.active{background:#15171c;color:#fff;border-color:#15171c}

/* Homepage split features */
.home-split{display:grid;grid-template-columns:1fr 1fr;min-height:500px}.config-teaser{padding:58px 4vw;display:grid;grid-template-columns:42% 58%;align-items:center;background:linear-gradient(135deg,#0b0e14,#171b23);border-right:1px solid #323742}.config-teaser h2,.products-teaser h2{font-family:Georgia,serif;font-size:clamp(42px,4vw,68px);line-height:.95;margin:0 0 18px}.config-teaser p,.products-teaser p{color:#c0c4cc;line-height:1.6}.mini-config{height:390px;display:grid;place-items:end center;position:relative;background:linear-gradient(180deg,#f7f6f2,#ddd8cc);border:8px solid #fff;box-shadow:var(--shadow)}.mini-config:before{content:'Door Type  •  Dimensions  •  Finish  •  Glazing  •  Hardware  •  Protection';position:absolute;left:0;top:0;bottom:0;width:95px;background:#f4f3ee;color:#5d6064;padding:20px 14px;font-size:9px;line-height:3;border-right:1px solid #ccc;z-index:2}.mini-door-preview{width:42%;height:84%;background:repeating-linear-gradient(92deg,#977151 0 5px,#a17b5c 5px 10px,#8b684b 10px 15px);border:7px solid #514537;position:relative}.mini-door-preview:before{content:'';position:absolute;width:22%;height:54%;left:39%;top:14%;background:linear-gradient(120deg,#a9b5b8,#e2e8e7);border:6px solid #4f4137}.mini-door-preview:after{content:'';position:absolute;width:34px;height:7px;right:10%;top:59%;background:#d8d8d6}.products-teaser{padding:58px 4vw;background:linear-gradient(135deg,#11141a,#080a0e);display:grid;grid-template-columns:45% 55%;align-items:center}.material-stack{height:390px;position:relative}.material-stack span{position:absolute;top:14%;bottom:8%;width:24%;border-radius:3px;box-shadow:0 22px 34px rgba(0,0,0,.28)}.material-stack span:nth-child(1){left:6%;background:repeating-linear-gradient(91deg,#a67f5d 0 6px,#8f6a4c 6px 12px)}.material-stack span:nth-child(2){left:27%;background:#85888a}.material-stack span:nth-child(3){left:48%;background:linear-gradient(90deg,#26292c,#c2c2bf)}.material-stack span:nth-child(4){left:69%;background:repeating-linear-gradient(91deg,#73513d 0 5px,#8a6348 5px 11px)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:24px 22px;border-top:1px solid #55451f;background:rgba(255,255,255,.02);display:flex;align-items:center;gap:16px}.metric__icon{font-size:28px;color:var(--gold)}.metric strong{font-size:26px;color:#fff}.metric span{display:block;font-size:11px;color:#bfc3cb;margin-top:4px}.heritage{display:grid;grid-template-columns:34% 42% 24%;background:#f5f2eb;color:#16171b}.heritage__copy{padding:65px 4vw}.heritage__copy h2{font-family:Georgia,serif;font-size:clamp(38px,3.7vw,60px);line-height:.98;margin:0 0 18px}.heritage__copy p{color:#5f626a;line-height:1.65}.timeline{align-self:center;padding:50px 24px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.timeline:before{content:'';position:absolute;left:8%;right:8%;top:50%;height:2px;background:#c3aa66}.timeline__item{position:relative;padding-top:40px}.timeline__item:before{content:'';position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #efe6cb}.timeline__item b{display:block;font-size:19px;color:#8d6a12}.timeline__item span{display:block;font-size:11px;line-height:1.45;max-width:105px;margin-top:7px}.heritage__image{min-height:390px;position:relative;overflow:hidden}.heritage__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.heritage__image:after{content:'Crafted for\A a safer future';white-space:pre;position:absolute;right:22px;bottom:24px;font-family:Georgia,serif;font-style:italic;font-size:26px;color:var(--gold-2);text-align:right;text-shadow:0 2px 7px #000}

/* Interior page hero */
.page-hero{padding:75px 0 68px;background:radial-gradient(circle at 20% 10%,rgba(112,47,127,.28),transparent 40%),linear-gradient(135deg,#100817,#080a0f 75%);border-bottom:1px solid rgba(225,184,59,.24)}.page-hero__grid{display:grid;grid-template-columns:1fr .6fr;align-items:center;gap:60px}.page-hero h1{font-family:Georgia,serif;font-size:clamp(58px,6vw,96px);line-height:.9;margin:0 0 22px;letter-spacing:-.04em}.page-hero p:not(.eyebrow){max-width:760px;color:#c5c8d0;line-height:1.7;font-size:16px}.page-hero__badge{justify-self:end;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;max-width:420px;padding:20px;background:rgba(255,255,255,.035);border:1px solid var(--line)}.page-hero__badge img{background:#fff;border-radius:50%;padding:5px}.page-hero__badge strong{display:block;color:var(--gold-2);margin-bottom:6px}.page-hero__badge span{font-size:12px;color:#c1c5cd;line-height:1.5}

/* Services */
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-detail{padding:28px;border:1px solid #313743;background:linear-gradient(180deg,#111621,#0b0e14);min-height:260px;position:relative}.service-detail__number{font-family:Georgia,serif;color:var(--gold);font-size:32px}.service-detail h3{font-family:Georgia,serif;font-size:30px;margin:20px 0 12px}.service-detail p{color:#b7bbc4;line-height:1.65;font-size:13px}.service-detail a{text-decoration:none;color:var(--gold-2);font-size:12px;font-weight:800}.process{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:35px}.process__step{position:relative;padding:24px 14px;border-top:1px solid var(--gold-deep)}.process__step:before{content:'';position:absolute;left:0;top:-6px;width:11px;height:11px;border-radius:50%;background:var(--gold)}.process__step b{display:block;font-size:12px}.process__step span{display:block;font-size:10px;color:#aeb2bb;margin-top:7px;line-height:1.5}

/* Products */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product{background:#fff;color:#17191c;border:1px solid #d9d3c7;overflow:hidden}.product__visual{height:350px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#e6e1d7,#f7f3eb)}.product__body{padding:28px}.product h2{font-family:Georgia,serif;font-size:34px;margin:0 0 10px}.product p{color:#63666c;line-height:1.65}.product-door{width:47%;height:88%;background:repeating-linear-gradient(92deg,#9c7555 0 5px,#a98060 5px 10px,#896548 10px 15px);border:11px solid #514437;box-shadow:0 24px 34px rgba(0,0,0,.2);position:relative}.product-door:after{content:'';position:absolute;right:10%;top:57%;width:40px;height:7px;background:#d4d6d5}.product-edge{width:58%;height:72%;background:#956e51;box-shadow:inset 18px 0 0 #20252a,inset 33px 0 0 #c8c8c5;transform:rotate(-4deg);filter:drop-shadow(0 20px 20px rgba(0,0,0,.22))}.product-leaf{width:62%;height:72%;background:linear-gradient(90deg,#9a7456 0 52%,#a5a7a6 52% 100%);box-shadow:0 20px 32px rgba(0,0,0,.2)}

/* Configurator */
.configurator-shell{display:grid;grid-template-columns:340px 1fr 330px;gap:0;min-height:760px;background:#eff0f0;color:#15171b;border:1px solid #bbb;box-shadow:0 24px 65px rgba(0,0,0,.22)}.config-panel{background:#fff;padding:24px;border-right:1px solid #d3d5d5;overflow:auto}.config-panel h2{font-family:Georgia,serif;font-size:30px;margin:0 0 22px}.config-field{padding:14px 0;border-bottom:1px solid #e6e6e6}.config-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:8px;color:#555a60}.config-field select,.config-field input[type=number]{width:100%;padding:10px;border:1px solid #cdd0d2;background:#f8f8f7}.config-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.config-checks label{display:flex;gap:7px;align-items:center;font-size:11px;background:#f5f5f3;padding:10px;border:1px solid #ddd}.config-stage{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#fff,#e5e6e4 58%,#d1d2d0);overflow:hidden}.config-stage:before{content:'';position:absolute;left:0;right:0;bottom:0;height:23%;background:linear-gradient(#c8c9c6,#aaaca9);clip-path:polygon(0 18%,100% 0,100% 100%,0 100%)}.door-assembly{position:relative;width:330px;height:570px;transform:scaleX(var(--door-width-scale));transform-origin:center bottom;z-index:2;transition:.25s}.door-frame{position:absolute;inset:0;border:18px solid #5b5148;border-bottom:0;background:#ddd}.door-leaf{position:absolute;left:18px;right:18px;top:18px;bottom:0;background:repeating-linear-gradient(92deg,#a57e5f 0 5px,#8d694e 5px 10px,#9c7659 10px 16px);border:1px solid #71543e;transition:.25s}.finish-walnut .door-leaf{background:repeating-linear-gradient(92deg,#5d3d2e 0 6px,#6e4937 6px 11px,#4f3428 11px 16px)}.finish-painted .door-leaf{background:linear-gradient(#e7e7e3,#d8d8d4)}.finish-laminate .door-leaf{background:linear-gradient(135deg,#c6c2b8,#aaa69c)}.door-glass{position:absolute;top:15%;left:39%;width:22%;height:48%;background:linear-gradient(135deg,#7f9299,#edf3f2 42%,#a7b4b8 43% 57%,#d6dfdf);border:7px solid rgba(72,58,48,.9);box-shadow:0 0 0 2px #aa9068}.glass-none .door-glass{display:none}.glass-twin .door-glass{left:22%;width:16%;height:39%}.glass-twin .door-glass.two{display:block;left:auto;right:22%}.door-glass.two{display:none}.glass-wide .door-glass{left:24%;width:52%;height:43%}.door-handle{position:absolute;width:54px;height:8px;background:#c9ccca;right:9%;top:57%;box-shadow:-10px 8px 0 -2px #757977}.door-closer{position:absolute;top:5%;right:14%;width:78px;height:14px;background:#b9bcbb;box-shadow:-54px 16px 0 -6px #868b8a}.no-closer .door-closer{display:none}.kick-plate{display:none;position:absolute;left:4%;right:4%;bottom:0;height:16%;background:linear-gradient(#b8bcbb,#898e8d);border-top:1px solid #777}.has-kick .kick-plate{display:block}.leaf-protection{display:none;position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(90deg,rgba(170,173,172,.85),rgba(220,220,218,.9));border-top:1px solid #8b8e8e}.has-leaf-protection .leaf-protection{display:block}.edge-guard{display:none;position:absolute;top:0;bottom:0;width:12px;background:#24282b}.edge-guard.left{left:0}.edge-guard.right{right:0}.has-edge .edge-guard{display:block}.side-panel{display:none;position:absolute;left:100%;top:0;width:140px;height:100%;margin-left:2px;border:18px solid #5b5148;border-bottom:0;background:linear-gradient(120deg,#8ba0a6,#e6eded 45%,#82979e)}.has-side .side-panel{display:block}.fanlight{display:none;position:absolute;left:0;right:0;bottom:100%;height:130px;margin-bottom:2px;border:18px solid #5b5148;background:linear-gradient(120deg,#8ba0a6,#e6eded 45%,#82979e)}.has-fanlight .fanlight{display:block}.is-pair{width:520px}.is-pair .door-leaf:after{content:'';position:absolute;top:0;bottom:0;left:50%;width:3px;background:#544130}.config-stage__caption{position:absolute;left:24px;bottom:22px;z-index:4;background:rgba(10,12,15,.88);color:#fff;padding:13px 16px;display:flex;gap:13px;align-items:center}.config-stage__caption b{color:var(--gold-2)}.config-summary{background:#12151b;color:#fff;padding:24px;border-left:1px solid #282c34}.config-summary h3{font-family:Georgia,serif;font-size:27px;margin:0 0 18px}.config-summary [data-config-summary]>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #2d323a;font-size:11px}.config-summary [data-config-summary] span{color:#9fa5ae}.config-summary [data-config-summary] strong{text-align:right}.config-summary__notice{margin:18px 0;color:#adb2bb;font-size:10px;line-height:1.55;padding:12px;border-left:2px solid var(--gold)}.config-actions{display:grid;gap:9px}

/* Knowledge / accreditation */
.knowledge-layout{display:grid;grid-template-columns:280px 1fr;gap:38px}.knowledge-nav{position:sticky;top:128px;align-self:start;border:1px solid #353a44;background:#0d1118;padding:16px}.knowledge-nav a{display:block;padding:12px 10px;text-decoration:none;border-bottom:1px solid #252a32;font-size:12px}.knowledge-nav a:hover{color:var(--gold-2)}.knowledge-group{margin-bottom:60px}.knowledge-group h2{font-family:Georgia,serif;font-size:44px;margin:0 0 20px}.law-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.law-card{padding:24px;border:1px solid #303641;background:#10141c}.law-card__type{color:var(--gold-2);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.law-card h3{font-size:17px;margin:10px 0}.law-card p{font-size:12px;color:#b7bbc3;line-height:1.65}.law-card a{font-size:11px;color:var(--gold-2);font-weight:800;text-decoration:none}.firas-spotlight{display:grid;grid-template-columns:230px 1fr;gap:34px;padding:34px;border:1px solid rgba(21,157,194,.45);background:linear-gradient(135deg,rgba(21,157,194,.08),#0e1219)}.firas-spotlight__logo{background:#fff;border-radius:18px;padding:20px}.firas-spotlight h2{font-family:Georgia,serif;font-size:44px;margin:0 0 12px}.firas-spotlight p{color:#b8bdc6;line-height:1.65}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.scope-grid div{padding:16px;background:#0d1117;border:1px solid #29303a;font-size:12px}.accreditation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.accreditation-card{background:#fff;color:#15171a;border:1px solid #ded8cd;padding:20px;min-height:240px;display:flex;flex-direction:column}.accreditation-card__logo{height:110px;display:grid;place-items:center;margin-bottom:20px}.accreditation-card__logo img{max-height:100px;max-width:85%;object-fit:contain}.accreditation-card h3{margin:0 0 8px}.accreditation-card p{font-size:12px;line-height:1.6;color:#676a70}.accreditation-card a{margin-top:auto;color:#775b12;font-size:11px;font-weight:800;text-decoration:none}

/* About */
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-story__image{position:relative;height:600px;background:#20242a;overflow:hidden}.about-story__image img{width:100%;height:100%;object-fit:cover}.about-story__image:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72));z-index:1}.about-story__caption{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#fff}.about-story__copy h2{font-family:Georgia,serif;font-size:50px;line-height:1;margin:0 0 20px}.about-story__copy p{color:#565a61;line-height:1.75}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value-card{padding:24px;background:#10141b;border:1px solid #2c323b}.value-card b{font-family:Georgia,serif;font-size:27px}.value-card p{color:#aeb3bc;font-size:12px;line-height:1.6}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px}.contact-card{padding:32px;background:#10141c;border:1px solid #303641}.contact-card h2{font-family:Georgia,serif;font-size:42px;margin:0 0 18px}.contact-lines{display:grid;gap:12px;margin-top:28px}.contact-lines a,.contact-lines span{display:block;padding:15px 0;border-bottom:1px solid #292f39;text-decoration:none;color:#c9cdd4}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field--full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#b8bdc5}.field input,.field select,.field textarea{background:#0f131a;border:1px solid #333a46;color:#fff;padding:14px}.field textarea{min-height:160px;resize:vertical}.contact-note{font-size:11px;color:#9399a4;line-height:1.55}

/* Admin */
.admin-grid{display:grid;grid-template-columns:320px 1fr;gap:26px}.admin-side{padding:22px;background:#11151d;border:1px solid #303641;align-self:start;position:sticky;top:128px}.admin-main{padding:28px;background:#f4f1ea;color:#17191d}.admin-main h2{font-family:Georgia,serif;font-size:40px}.admin-fields{display:grid;gap:15px}.admin-field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.admin-field input,.admin-field textarea{width:100%;padding:13px;border:1px solid #bbb;background:#fff}.admin-field textarea{min-height:110px}.admin-note{padding:14px;border-left:3px solid var(--gold);background:#fff8dc;color:#574713;font-size:12px;line-height:1.6}

/* Footer */
.firas-footer-band{display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:center;padding:28px 4vw;background:#0d1118;border-top:1px solid #29313b;border-bottom:1px solid #29313b}.firas-footer-band__badge{background:#fff;border-radius:16px;padding:10px;height:116px;display:grid;place-items:center}.firas-footer-band__badge img{max-height:96px}.firas-footer-band h2{font-family:Georgia,serif;margin:0 0 6px;font-size:28px}.firas-footer-band p:not(.eyebrow){font-size:12px;color:#aeb4bd;line-height:1.55;margin:0}.footer{background:#06080c;padding:44px 4vw 22px}.footer__brand{max-width:350px}.footer__brand img{width:270px;height:100px;object-fit:contain}.footer__brand p{color:#979da7;font-size:12px}.footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:20px 0 34px}.footer__links h4{color:var(--gold-2);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer__links a,.footer__links span{display:block;text-decoration:none;color:#aeb3bd;font-size:12px;padding:5px 0}.footer__links a:hover{color:#fff}.footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #22262d;padding-top:18px;color:#7e838c;font-size:10px}.mobile-dock{display:none}

/* animation */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1280px){.main-header{grid-template-columns:220px 1fr auto}.brand{width:205px}.main-nav{gap:14px}.main-nav a{font-size:11px}.service-grid{grid-template-columns:repeat(5,minmax(160px,1fr))}.trust-strip{grid-template-columns:120px 1fr}.trust-strip__tag{display:none}.configurator-shell{grid-template-columns:300px 1fr 300px}.hero__copy{padding-left:4vw}.hero__side-note{display:none}}
@media(max-width:1020px){.cert-ribbon__certificate{display:none}.main-header{height:78px;grid-template-columns:210px 1fr auto}.brand{width:200px;height:64px}.header-quote{display:none}.menu-button{display:block;justify-self:end}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#090c12;padding:15px 4vw 22px;border-bottom:1px solid #343944;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 0}.main-nav a:after{bottom:5px}.hero{grid-template-columns:1fr}.hero__visual{min-height:560px}.hero__copy{padding:70px 5vw 55px}.trust-strip{grid-template-columns:1fr}.trust-strip__label{display:none}.trust-strip__logos{grid-template-columns:repeat(4,1fr)}.compartment{grid-template-columns:1fr}.compartment__visual{min-height:500px}.compartment__copy,.compartment__list{padding:55px 5vw}.home-split{grid-template-columns:1fr}.config-teaser,.products-teaser{border:0}.heritage{grid-template-columns:1fr 1fr}.heritage__image{grid-column:1/-1;min-height:320px}.page-hero__grid{grid-template-columns:1fr}.page-hero__badge{justify-self:start}.service-list,.product-grid,.project-grid,.accreditation-grid{grid-template-columns:1fr 1fr}.process{grid-template-columns:repeat(4,1fr)}.configurator-shell{grid-template-columns:280px 1fr}.config-summary{grid-column:1/-1}.knowledge-layout{grid-template-columns:1fr}.knowledge-nav{position:static;display:flex;flex-wrap:wrap;gap:8px}.knowledge-nav a{border:1px solid #2e343e}.about-story{grid-template-columns:1fr}.values{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.firas-footer-band{grid-template-columns:120px 1fr}.firas-footer-band .button{grid-column:1/-1;justify-self:start}.footer__links{grid-template-columns:1fr 1fr}}
@media(max-width:680px){body{padding-bottom:57px}.cert-ribbon__inner{min-height:38px;font-size:9px;gap:6px;text-align:center}.cert-ribbon__inner a{display:none}.cert-ribbon__divider{display:none}.main-header{height:70px;grid-template-columns:180px 1fr auto;padding:0 16px}.brand{width:172px;height:59px}.main-nav{top:70px}.hero{min-height:0}.hero__copy{padding:56px 20px 46px}.hero__copy h1{font-size:59px}.hero__copy h2{font-size:16px}.hero__visual{min-height:430px}.door-scene{left:24%;width:53%;height:92%}.hero__rail{right:16px;bottom:8%}.trust-strip{padding:14px 16px}.trust-strip__logos{display:flex;overflow:auto}.trust-logo{min-width:110px}.compartment__visual{min-height:390px}.section{padding:58px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}.service-grid{grid-template-columns:repeat(9,165px)}.home-split{display:block}.config-teaser,.products-teaser{display:block;padding:46px 20px}.mini-config,.material-stack{height:330px;margin-top:28px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:18px 14px}.heritage{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(4,130px);overflow:auto;padding:35px 20px}.heritage__copy{padding:48px 20px}.page-hero{padding:55px 0}.page-hero h1{font-size:58px}.page-hero__badge{grid-template-columns:78px 1fr}.service-list,.product-grid,.project-grid,.accreditation-grid,.feature-grid,.law-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr 1fr}.configurator-shell{display:block}.config-stage{height:660px}.config-panel,.config-summary{border:0}.door-assembly{transform:scale(.78,var(--door-width-scale));transform-origin:center bottom}.has-side.door-assembly{margin-left:-70px}.scope-grid{grid-template-columns:1fr 1fr}.firas-spotlight{grid-template-columns:1fr}.firas-spotlight__logo{max-width:210px}.about-story__image{height:460px}.values{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.field--full{grid-column:auto}.admin-grid{grid-template-columns:1fr}.admin-side{position:static}.firas-footer-band{grid-template-columns:80px 1fr;padding:22px 20px}.firas-footer-band__badge{height:82px;padding:6px}.firas-footer-band h2{font-size:20px}.firas-footer-band p:not(.eyebrow){display:none}.footer{padding:36px 20px 20px}.footer__links{grid-template-columns:1fr}.footer__bottom{display:block}.footer__bottom span{display:block;margin-top:6px}.mobile-dock{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:110;background:#090c12;border-top:1px solid #393328}.mobile-dock a{text-align:center;padding:18px 8px;text-decoration:none;font-size:11px}.mobile-dock a:last-child{background:var(--gold);color:#101010;font-weight:900}}

/* ===== Homepage v3 - matches approved concept ===== */
.home-v3 .main-header{background:rgba(7,8,13,.96)}
.home-v3 .hero--photo{min-height:530px;grid-template-columns:50% 50%}
.home-v3 .hero__copy{padding:56px 4vw 52px 4vw}
.home-v3 .hero__copy h1{font-family:Inter,Arial,sans-serif;font-weight:800;font-size:clamp(58px,5.5vw,88px);line-height:.88;letter-spacing:-.045em}
.home-v3 .hero__copy h2{font-size:19px;font-weight:600}
.home-v3 .hero__visual--photo{min-height:530px;background:#13171d;overflow:hidden}
.home-v3 .hero__visual--photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:1;transform:scale(1.05)}
.home-v3 .hero__shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(7,9,14,.34),rgba(7,9,14,.02) 32%,rgba(7,9,14,.06) 65%,rgba(7,9,14,.7));pointer-events:none}
.home-v3 .hero__side-note,.home-v3 .hero__rail{z-index:3}
.home-v3 .trust-strip{padding-top:14px;padding-bottom:14px}
.home-v3 .trust-logo{height:56px;border-radius:0;background:transparent;border:0;padding:4px 9px}
.home-v3 .trust-logo img{max-height:50px;filter:none}
.home-v3 .trust-logo--firas{height:60px;border:0;box-shadow:none}
.home-v3 .trust-logo--firas img{background:#fff;border-radius:50%;padding:2px}

.home-about{display:grid;grid-template-columns:34% 41% 25%;background:linear-gradient(180deg,#fffefa,#f1eee7);color:#17181b;border-bottom:1px solid #ddd6c9;min-height:310px}
.home-about__copy{padding:42px 3.5vw 38px}
.home-about__copy .eyebrow{color:#6f5a22}
.home-about__copy h2{font-family:Inter,Arial,sans-serif;font-size:clamp(32px,3.1vw,48px);line-height:1.02;letter-spacing:-.035em;margin:0 0 14px}
.home-about__copy p{font-size:13px;line-height:1.55;color:#565a62;margin:0 0 10px}
.home-about__copy .home-about__small{font-size:11px;color:#777b82}
.home-about__timeline{position:relative;align-self:stretch;display:grid;grid-template-columns:repeat(4,1fr);align-content:center;padding:40px 26px;gap:16px}
.home-about__timeline:before{content:'';position:absolute;left:8%;right:8%;top:46%;height:2px;background:#c8af6d}
.home-about__timeline>div{position:relative;padding-top:30px;z-index:1}
.home-about__timeline>div:before{content:'';position:absolute;top:0;left:0;width:13px;height:13px;border-radius:50%;background:#e1b83b;box-shadow:0 0 0 4px #f4ecd3}
.home-about__timeline b{display:block;font-size:18px;margin-bottom:4px}
.home-about__timeline span{font-size:10px;line-height:1.35;color:#666a72;display:block;max-width:100px}
.home-about__image{position:relative;overflow:hidden;min-height:310px;background:#202126}
.home-about__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06)}
.home-about__image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 28%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55));z-index:1}
.home-about__image span{position:absolute;right:20px;bottom:18px;z-index:2;font-family:Georgia,serif;font-style:italic;font-size:22px;line-height:1.1;color:#f2cf62;text-align:right;text-shadow:0 2px 6px #000}

.home-v3 .compartment--photo{min-height:380px;grid-template-columns:29% 50% 21%}
.home-v3 .compartment__copy{padding:42px 3.5vw}
.home-v3 .compartment__copy h2{font-family:Inter,Arial,sans-serif;font-size:clamp(38px,3.7vw,58px);line-height:.98;letter-spacing:-.035em}
.home-v3 .compartment__visual--photo{min-height:380px;background:#15181d;display:flex;align-items:stretch}
.home-v3 .compartment__visual--photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-v3 .compartment__list{padding:38px 2.5vw}

.home-v3 .services-home{padding:34px 0 28px}
.home-v3 .services-home .section-head{margin-bottom:12px}
.home-v3 .services-home .section-head h2{font-family:Inter,Arial,sans-serif;font-size:26px;line-height:1.1}
.home-v3 .service-card{min-height:110px;padding:16px 12px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.home-v3 .service-card__icon{margin-bottom:11px;font-size:25px}
.home-v3 .service-card h3{font-size:12px;line-height:1.2}
.home-v3 .service-card p{display:none}

.home-v3 .home-split--photo{min-height:360px}
.home-v3 .config-teaser,.home-v3 .products-teaser{padding:26px 3vw;grid-template-columns:45% 55%;min-height:360px}
.home-v3 .config-teaser h2,.home-v3 .products-teaser h2{font-family:Inter,Arial,sans-serif;font-size:clamp(36px,3.8vw,54px);line-height:.96;letter-spacing:-.04em}
.home-v3 .config-teaser p,.home-v3 .products-teaser p{font-size:13px}
.home-v3 .mini-config--photo,.home-v3 .material-stack--photo{height:310px;border:0;background:#111;box-shadow:none;overflow:hidden}
.home-v3 .mini-config--photo:before{display:none}
.home-v3 .mini-config--photo img,.home-v3 .material-stack--photo img{width:100%;height:100%;object-fit:cover}

.home-v3 .numbers-band{padding:24px 0}
.home-v3 .numbers-band .container{display:grid;grid-template-columns:28% 72%;align-items:center;gap:20px}
.home-v3 .numbers-band__intro h2{font-family:Inter,Arial,sans-serif;font-size:22px;margin:0}
.home-v3 .numbers-band__intro .eyebrow{margin-bottom:4px}
.home-v3 .metrics{gap:0}
.home-v3 .metric{border-top:0;border-left:1px solid rgba(225,184,59,.25);background:transparent;padding:10px 18px}
.home-v3 .metric strong{font-size:24px}

.home-v3 .featured-home{padding:32px 0 38px}
.home-v3 .featured-home .section-head{margin-bottom:18px}
.home-v3 .featured-home .section-head h2{font-family:Inter,Arial,sans-serif;font-size:30px;letter-spacing:-.03em}
.featured-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#ece9e2;min-height:145px}
.featured-strip a{display:block;min-height:145px;overflow:hidden;border-right:1px solid #fff}
.featured-strip img{width:100%;height:145px;object-fit:cover;transform:scale(1.03);transition:.25s ease}
.featured-strip a:hover img{transform:scale(1.08)}

@media(max-width:1020px){
  .home-v3 .hero--photo{grid-template-columns:1fr}
  .home-v3 .hero__visual--photo{min-height:500px}
  .home-about{grid-template-columns:1fr 1fr}
  .home-about__image{grid-column:1/-1;min-height:280px}
  .home-v3 .compartment--photo{grid-template-columns:1fr}
  .home-v3 .compartment__visual--photo{min-height:420px}
  .home-v3 .numbers-band .container{grid-template-columns:1fr}
  .featured-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .home-v3 .hero__copy{padding:50px 20px 40px}
  .home-v3 .hero__copy h1{font-size:56px}
  .home-v3 .hero__visual--photo{min-height:420px}
  .home-about{grid-template-columns:1fr}
  .home-about__copy{padding:38px 20px}
  .home-about__timeline{overflow:auto;grid-template-columns:repeat(4,130px);padding:34px 20px}
  .home-about__timeline:before{left:20px;right:auto;width:500px}
  .home-about__image{min-height:250px}
  .home-v3 .compartment__copy,.home-v3 .compartment__list{padding:38px 20px}
  .home-v3 .compartment__visual--photo{min-height:320px}
  .home-v3 .service-grid{grid-template-columns:repeat(9,150px)}
  .home-v3 .config-teaser,.home-v3 .products-teaser{display:block;padding:36px 20px}
  .home-v3 .mini-config--photo,.home-v3 .material-stack--photo{height:280px;margin-top:24px}
  .home-v3 .metrics{grid-template-columns:1fr 1fr}
  .featured-strip{grid-template-columns:1fr 1fr}
  .featured-strip a,.featured-strip img{height:120px;min-height:120px}
}

/* CMS Pro editable responsive helpers */
:root{--container-max:1440px}
.container{width:min(var(--container-max),92vw)}
@media(min-width:1025px){[data-hide-desktop="1"]{display:none!important}}
@media(min-width:681px) and (max-width:1024px){[data-hide-tablet="1"]{display:none!important}}
@media(max-width:680px){[data-hide-mobile="1"]{display:none!important}}
/* Liberty Studio Pro entrance animations */
[data-lfv-animation]{opacity:0;will-change:opacity,transform;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--lfv-delay,0ms)}
[data-lfv-animation="fade-up"]{transform:translateY(28px)}
[data-lfv-animation="fade-in"]{transform:none}
[data-lfv-animation="slide-left"]{transform:translateX(-34px)}
[data-lfv-animation="slide-right"]{transform:translateX(34px)}
[data-lfv-animation="zoom-in"]{transform:scale(.94)}
[data-lfv-animation].lfv-anim-in{opacity:1;transform:none}
main[data-cms-page]{position:relative}

/* ===== Approved homepage lock — 2026-09-23 ===== */
.home-approved{background:#080a0f;color:#fff}
.home-approved .container--wide{width:min(1540px,96vw)}
.home-approved .container--project{width:min(1640px,96vw)}

.home-approved .hero--approved{display:grid;grid-template-columns:51.5% 48.5%;min-height:560px;background:linear-gradient(135deg,#160a22 0%,#0c0e15 100%);border-bottom:1px solid rgba(225,184,59,.35)}
.home-approved .hero--approved .hero__copy{padding:58px 4vw 52px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;background:radial-gradient(circle at 45% 20%,rgba(70,39,84,.26),transparent 38%),linear-gradient(110deg,#160a22 0%,#100b1a 72%,rgba(16,11,26,.72) 100%)}
.home-approved .hero--approved .hero__copy h1{font-family:Inter,Arial,sans-serif;font-size:clamp(60px,5.8vw,94px);line-height:.87;letter-spacing:-.055em;margin:8px 0 20px;font-weight:800}
.home-approved .hero--approved .hero__copy h2{font-size:clamp(18px,1.45vw,25px);font-weight:650;margin:0 0 14px;letter-spacing:-.015em}
.home-approved .hero--approved .hero__copy>p:not(.eyebrow){max-width:690px;font-size:15px;line-height:1.5;color:#e8e4ea}
.home-approved .hero--approved .hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.home-approved .hero__visual--approved{position:relative;min-height:560px;overflow:hidden;background:#11151b}
.home-approved .hero__visual--approved>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.01)}
.home-approved .hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,14,.08),rgba(9,9,14,0) 52%,rgba(5,8,13,.80));pointer-events:none}
.home-approved .hero__side-note{position:absolute;right:4.5%;top:74px;width:170px;z-index:2;text-transform:uppercase;letter-spacing:.27em;font-size:12px;line-height:1.7;color:#fff}
.home-approved .hero__side-note i{display:block;width:58px;height:2px;background:var(--gold);margin:22px 0}
.home-approved .hero__rail{position:absolute;right:4.5%;bottom:34px;z-index:2;display:flex;flex-direction:column;gap:2px;font-size:10px;letter-spacing:.2em}

.home-approved .trust-strip--approved{display:grid;grid-template-columns:170px 1fr 150px;gap:20px;align-items:center;background:#fff;color:#1b1530;border-top:0;border-bottom:1px solid #ddd5c3;padding:12px max(24px,3vw)}
.home-approved .trust-strip--approved .trust-strip__label{font-weight:800;letter-spacing:.18em;line-height:1.25;color:#3b1a50;border-right:2px solid var(--gold);padding-right:24px}
.home-approved .trust-strip--approved .trust-strip__logos{display:grid;grid-template-columns:repeat(7,minmax(75px,1fr));gap:14px;align-items:center}
.home-approved .trust-strip--approved .trust-logo{height:62px;display:flex;align-items:center;justify-content:center;background:#fff;border:0;padding:4px 6px;border-radius:0;overflow:visible}
.home-approved .trust-strip--approved .trust-logo img{max-width:100%;max-height:58px;width:auto;height:auto;object-fit:contain;filter:none;background:transparent}
.home-approved .trust-strip--approved .trust-logo--firas img{background:#fff;border-radius:50%;padding:1px}
.home-approved .trust-strip--approved .trust-strip__tag{font-size:11px;line-height:1.45;letter-spacing:.12em;color:#22152f;border-left:2px solid var(--gold);padding-left:20px}
.home-approved .trust-strip--approved .trust-strip__tag b{color:#3b1a50}

.home-approved .home-about--approved{display:grid;grid-template-columns:35% 40% 25%;min-height:305px;background:linear-gradient(180deg,#fff 0%,#f0eee9 100%);color:#14151a;border-bottom:1px solid #ddd7ca}
.home-approved .home-about--approved .home-about__copy{padding:38px 3.6vw 34px}
.home-approved .home-about--approved .home-about__copy .eyebrow{color:#6f346f;margin-bottom:7px}
.home-approved .home-about--approved .home-about__copy h2{font-size:clamp(30px,2.7vw,45px);line-height:.98;letter-spacing:-.04em;margin:0 0 14px}
.home-approved .home-about--approved .home-about__copy p{font-size:13px;line-height:1.48;color:#5a5d66;margin-bottom:20px}
.home-approved .home-about--approved .home-about__timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-content:center;padding:48px 28px 38px;gap:15px}
.home-approved .home-about--approved .home-about__timeline:before{content:'';position:absolute;left:8%;right:8%;top:43%;height:2px;background:#cbae56}
.home-approved .home-about--approved .home-about__timeline>div{position:relative;padding-top:30px;z-index:1}
.home-approved .home-about--approved .home-about__timeline>div:before{content:'';position:absolute;top:0;left:0;width:12px;height:12px;border:3px solid #f5e4a8;background:#d7a814;border-radius:50%;box-shadow:0 0 0 2px #fff}
.home-approved .home-about--approved .home-about__timeline b{display:block;font-size:17px;margin-bottom:5px}
.home-approved .home-about--approved .home-about__timeline span{font-size:10px;line-height:1.35;color:#646871;display:block;max-width:105px}
.home-approved .home-about--approved .home-about__image{position:relative;min-height:305px;overflow:hidden;background:#2a2a2a}
.home-approved .home-about--approved .home-about__image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(.85) contrast(1.05)}
.home-approved .home-about--approved .home-about__image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.20),transparent 33%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55))}
.home-approved .home-about--approved .home-about__image span{position:absolute;right:22px;bottom:18px;z-index:2;color:#f3cf62;font-family:Georgia,serif;font-size:23px;font-style:italic;text-align:right;line-height:1.08;text-shadow:0 2px 5px #000}

.home-approved .compartment--approved{display:grid;grid-template-columns:30% 53% 17%;min-height:390px;background:linear-gradient(180deg,#0a0d12,#080b10);border-bottom:1px solid rgba(225,184,59,.36);overflow:hidden}
.home-approved .compartment--approved .compartment__copy{padding:38px 3.6vw;display:flex;flex-direction:column;justify-content:center}
.home-approved .compartment--approved .compartment__copy h2{font-family:Inter,Arial,sans-serif;font-size:clamp(34px,3.15vw,50px);line-height:.97;letter-spacing:-.04em;margin:4px 0 16px;max-width:100%}
.home-approved .compartment--approved .compartment__copy p:not(.eyebrow){font-size:13px;line-height:1.55;color:#e7e7e7;max-width:390px}
.home-approved .compartment__visual--approved{min-height:390px;display:flex;align-items:stretch;background:#11161b;overflow:hidden}
.home-approved .compartment__visual--approved img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-approved .compartment--approved .compartment__list{padding:35px 2.2vw 26px;display:flex;flex-direction:column;justify-content:center}
.home-approved .compartment--approved .compartment__list ul{list-style:none;padding:0;margin:0 0 16px}
.home-approved .compartment--approved .compartment__list li{font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:7px 0;padding-left:23px;position:relative}
.home-approved .compartment--approved .compartment__list li:before{content:'✓';position:absolute;left:0;top:-1px;width:15px;height:15px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:9px}
.home-approved .compartment--approved .compartment__list p{border-top:2px solid var(--gold);padding-top:15px;font-size:10px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:#d8d8d8}

.home-approved .services-home--approved{padding:22px 0 18px;background:#080b10}
.home-approved .services-home--approved .section-head{margin-bottom:10px}
.home-approved .services-home--approved .section-head h2{font-size:24px;margin:0}
.home-approved .service-grid--illustrated{display:grid;grid-template-columns:repeat(9,minmax(110px,1fr));gap:8px;overflow:visible}
.home-approved .service-card--illustrated{position:relative;padding:0 0 12px;min-height:132px;border:1px solid #38404b;background:#0d1118;display:grid;grid-template-rows:75px 1fr;text-align:left;text-decoration:none;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.home-approved .service-card--illustrated:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 22px rgba(0,0,0,.25)}
.home-approved .service-card--illustrated img{width:100%;height:75px;object-fit:cover;object-position:center;background:#161b21;border-bottom:1px solid #2b3139}
.home-approved .service-card--illustrated h3{font-size:11px;line-height:1.2;font-weight:600;margin:9px 22px 0 9px;color:#fff}
.home-approved .service-card--illustrated>span{position:absolute;right:8px;bottom:8px;color:var(--gold);font-weight:800}

.home-approved .home-split--approved{display:grid;grid-template-columns:1fr 1fr;min-height:365px;background:#07090d;border-top:1px solid rgba(225,184,59,.23);border-bottom:1px solid rgba(225,184,59,.23)}
.home-approved .home-split--approved .config-teaser,.home-approved .home-split--approved .products-teaser{display:grid;grid-template-columns:48% 52%;min-height:365px;padding:0;border-right:1px solid #252932;overflow:hidden;background:linear-gradient(110deg,#080c12,#10151d)}
.home-approved .home-split--approved .config-teaser>div:first-child,.home-approved .home-split--approved .products-teaser__copy{padding:34px 2.9vw;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:2}
.home-approved .home-split--approved h2{font-family:Inter,Arial,sans-serif;font-size:clamp(34px,3.2vw,49px);line-height:.96;letter-spacing:-.04em;margin:5px 0 14px;max-width:100%}
.home-approved .home-split--approved p:not(.eyebrow){font-size:13px;line-height:1.45;color:#eee;max-width:360px}
.home-approved .mini-config--approved,.home-approved .material-stack--approved{height:100%;min-height:365px;overflow:hidden;background:#111820;display:block}
.home-approved .mini-config--approved img,.home-approved .material-stack--approved img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-approved .products-teaser__copy{max-width:100%;padding-right:1.8vw!important}
.home-approved .products-teaser__copy h2{font-size:clamp(31px,2.7vw,44px);max-width:310px}

.home-approved .numbers-band--approved{padding:20px 0;background:#090c12}
.home-approved .numbers-band--approved .container{display:grid;grid-template-columns:28% 72%;align-items:center;gap:18px}
.home-approved .numbers-band--approved .numbers-band__intro h2{font-size:23px;margin:0}
.home-approved .numbers-band--approved .numbers-band__intro .eyebrow{margin-bottom:4px}
.home-approved .numbers-band--approved .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.home-approved .numbers-band--approved .metric{display:flex;align-items:center;gap:12px;padding:8px 18px;border-left:1px solid rgba(225,184,59,.32);background:transparent}
.home-approved .numbers-band--approved .metric__icon{font-size:27px;color:var(--gold);line-height:1}
.home-approved .numbers-band--approved .metric strong{font-size:22px;display:block}
.home-approved .numbers-band--approved .metric span:last-child{font-size:10px;color:#c7cbd1}

.home-approved .featured-home--approved{padding:28px 0 34px;background:#f7f7f5;color:#10131a}
.home-approved .featured-home--approved .section-head{margin-bottom:16px}
.home-approved .featured-home--approved .section-head h2{font-size:30px;letter-spacing:-.03em;margin:0}
.home-approved .featured-home--approved .eyebrow,.home-approved .featured-home--approved .text-link{color:#342049}
.home-approved .project-four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}
.home-approved .project-four-card{position:relative;display:block;aspect-ratio:2.15/1;background:#0b0e13;color:#fff;overflow:hidden;text-decoration:none;border:1px solid #d4d4d1}
.home-approved .project-four-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
.home-approved .project-four-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(4,7,11,.94))}
.home-approved .project-four-card>div{position:absolute;left:12px;right:36px;bottom:9px;z-index:2;display:flex;flex-direction:column;line-height:1.12}
.home-approved .project-four-card strong{font-size:13px}
.home-approved .project-four-card span{font-size:11px;color:#f5f5f5}
.home-approved .project-four-card>b{position:absolute;right:11px;bottom:13px;z-index:2;color:var(--gold);font-size:20px}
.home-approved .project-four-card:hover img{transform:scale(1.035)}

@media(max-width:1180px){
  .home-approved .trust-strip--approved{grid-template-columns:140px 1fr}.home-approved .trust-strip--approved .trust-strip__tag{display:none}
  .home-approved .trust-strip--approved .trust-strip__logos{grid-template-columns:repeat(7,minmax(60px,1fr));gap:8px}
  .home-approved .home-about--approved{grid-template-columns:38% 62%}.home-approved .home-about--approved .home-about__image{grid-column:1/-1;min-height:260px}
  .home-approved .service-grid--illustrated{overflow-x:auto;grid-template-columns:repeat(9,142px);padding-bottom:8px}
  .home-approved .home-split--approved{grid-template-columns:1fr}.home-approved .home-split--approved .config-teaser,.home-approved .home-split--approved .products-teaser{border-right:0;border-bottom:1px solid #252932}
  .home-approved .project-four-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:840px){
  .home-approved .hero--approved{grid-template-columns:1fr}.home-approved .hero__visual--approved{min-height:480px}.home-approved .hero__side-note{right:20px}
  .home-approved .trust-strip--approved{grid-template-columns:1fr;padding:16px 20px}.home-approved .trust-strip--approved .trust-strip__label{border-right:0;border-bottom:2px solid var(--gold);padding:0 0 10px}.home-approved .trust-strip--approved .trust-strip__logos{grid-template-columns:repeat(4,1fr)}
  .home-approved .home-about--approved{grid-template-columns:1fr}.home-approved .home-about--approved .home-about__copy{padding:36px 20px}.home-approved .home-about--approved .home-about__timeline{overflow-x:auto;grid-template-columns:repeat(4,145px);padding:38px 20px}.home-approved .home-about--approved .home-about__timeline:before{left:24px;width:520px;right:auto}.home-approved .home-about--approved .home-about__image{min-height:260px}
  .home-approved .compartment--approved{grid-template-columns:1fr}.home-approved .compartment--approved .compartment__copy{padding:38px 20px}.home-approved .compartment__visual--approved{min-height:330px}.home-approved .compartment--approved .compartment__list{padding:30px 20px}.home-approved .compartment--approved .compartment__list ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .home-approved .numbers-band--approved .container{grid-template-columns:1fr}.home-approved .numbers-band--approved .metrics{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
  .home-approved .hero--approved .hero__copy{padding:42px 20px 36px}.home-approved .hero--approved .hero__copy h1{font-size:56px}.home-approved .hero__actions{display:grid!important;grid-template-columns:1fr}.home-approved .hero__actions .button{justify-content:space-between}.home-approved .hero__visual--approved{min-height:410px}.home-approved .hero__side-note{font-size:10px;width:140px;top:45px}
  .home-approved .trust-strip--approved .trust-strip__logos{grid-template-columns:repeat(2,1fr)}
  .home-approved .home-split--approved .config-teaser,.home-approved .home-split--approved .products-teaser{grid-template-columns:1fr}.home-approved .home-split--approved .config-teaser>div:first-child,.home-approved .home-split--approved .products-teaser__copy{padding:32px 20px}.home-approved .mini-config--approved,.home-approved .material-stack--approved{min-height:300px}
  .home-approved .numbers-band--approved .metrics{grid-template-columns:1fr}.home-approved .numbers-band--approved .metric{border-left:0;border-top:1px solid rgba(225,184,59,.25)}
  .home-approved .project-four-grid{grid-template-columns:1fr}.home-approved .project-four-card{aspect-ratio:1.95/1}
}


/* APPROVED HOME FIX 2026-09-24: keep the long Compartmentation heading inside its text column. */
.home-approved .compartment--approved .compartment__copy h2{font-size:clamp(30px,2.45vw,39px);line-height:1;letter-spacing:-.035em;max-width:100%;overflow:visible}

@media (min-width:841px) and (max-width:1180px){
  .home-approved .compartment--approved .compartment__copy{padding-left:2vw;padding-right:2vw}
  .home-approved .compartment--approved .compartment__copy h2{font-size:clamp(26px,2.5vw,30px);letter-spacing:-.035em}
}


/* APPROVED HOME FIX 2026-09-24 V4: keep main navigation off the door image by using a solid header on the homepage. */
.home-approved .main-header{background:#090c12;backdrop-filter:none;-webkit-backdrop-filter:none}
.home-approved .hero--approved{border-top:1px solid rgba(255,255,255,.04)}

/* APPROVED HOME FIX 2026-09-24 V4: give the Compartmentation heading more breathing room so it never sits behind the image. */
.home-approved .compartment--approved{grid-template-columns:32% 51% 17%}
.home-approved .compartment--approved .compartment__copy h2{font-size:clamp(28px,2.1vw,36px);max-width:300px;line-height:1.02}
@media (min-width:841px) and (max-width:1280px){.home-approved .compartment--approved{grid-template-columns:34% 48% 18%}.home-approved .compartment--approved .compartment__copy h2{font-size:clamp(24px,2vw,30px);max-width:255px}}

/* APPROVED HOME FIX 2026-09-24 V6: use Liberty premises image in About section. */
.home-approved .home-about--approved .home-about__image img{object-position:center center}


/* ===== Products page development pass — 2026-09-25 ===== */
.products-pro{background:#080a10}
.products-hero{display:grid;grid-template-columns:52% 48%;min-height:540px;background:linear-gradient(135deg,#140920 0%,#0b0e15 100%);border-bottom:1px solid rgba(225,184,59,.35)}
.products-hero__copy{padding:58px 4vw 52px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 40% 15%,rgba(88,44,110,.25),transparent 38%),linear-gradient(110deg,#160a22 0%,#100b1a 72%,rgba(16,11,26,.72) 100%)}
.products-hero__copy h1{font-size:clamp(54px,5.5vw,88px);line-height:.9;letter-spacing:-.055em;margin:6px 0 18px;font-weight:800}
.products-hero__copy>p:not(.eyebrow){max-width:650px;font-size:18px;line-height:1.52;color:#ece8ef;margin-bottom:24px}
.products-hero__visual{position:relative;min-height:540px;overflow:hidden;background:#11151b}
.products-hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.products-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,14,.08),rgba(9,9,14,0) 48%,rgba(5,8,13,.82));pointer-events:none}
.products-hero__rail{position:absolute;right:4.4%;top:72px;z-index:2;display:flex;flex-direction:column;gap:2px;font-size:12px;letter-spacing:.24em;line-height:1.45;text-transform:uppercase;color:#fff;max-width:180px}
.products-hero__rail i{display:block;width:62px;height:2px;background:var(--gold);margin:16px 0 12px}

.products-categories{padding:18px 0 22px}
.products-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prod-card{position:relative;display:grid;grid-template-columns:52% 48%;min-height:254px;background:#0d1017;color:#fff;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.prod-card__copy{padding:28px 22px 22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:2;background:linear-gradient(90deg,rgba(7,9,14,.90),rgba(7,9,14,.72),rgba(7,9,14,.18))}
.prod-card__copy h2{font-size:clamp(28px,2.2vw,40px);line-height:.96;letter-spacing:-.04em;margin:0 0 12px;font-weight:800}
.prod-card__copy p{margin:0 0 14px;color:#e7e8eb;line-height:1.45;font-size:14px}
.prod-card__copy .text-link{color:#fff;text-transform:uppercase;letter-spacing:.08em}
.prod-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.prod-card--door img{object-position:68% center}
.prod-card--edge img{object-position:left center}
.prod-card--leaf img{object-position:right center}

.prod-configure{padding:40px 0 34px}
.prod-configure__grid{display:grid;grid-template-columns:31% 39% 30%;gap:28px;align-items:center}
.prod-configure__copy h2{font-size:clamp(42px,3.7vw,64px);line-height:.95;letter-spacing:-.05em;margin:4px 0 18px;font-weight:800}
.prod-configure__copy p:not(.eyebrow){font-size:16px;line-height:1.6;color:#e8e4ea;margin:0 0 24px}
.prod-configure__visual{background:linear-gradient(180deg,#1b1423,#0f1017);padding:18px;border:1px solid rgba(225,184,59,.35);box-shadow:var(--shadow)}
.prod-configure__visual img{width:100%;height:auto;display:block}
.prod-configure__list ul{list-style:none;padding:0;margin:8px 0 0}
.prod-configure__list li{position:relative;padding-left:26px;margin:11px 0;color:#f0efef;font-size:15px;line-height:1.45}
.prod-configure__list li:before{content:'•';position:absolute;left:0;top:-1px;width:16px;height:16px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:14px;line-height:1}

.prod-protection{padding:0 0 24px}
.prod-protection__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.protect-card{display:grid;grid-template-columns:57% 43%;min-height:310px;background:#0e1016;color:#fff;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.protect-card__copy{padding:28px 22px 24px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(10,12,18,.95),rgba(10,12,18,.86),rgba(10,12,18,.2))}
.protect-card__copy h2{font-size:clamp(32px,2.6vw,48px);line-height:.98;letter-spacing:-.04em;margin:0 0 12px;font-weight:800}
.protect-card__copy p:not(.eyebrow){font-size:14px;line-height:1.58;color:#ececf1;margin:0 0 20px}
.protect-card img{width:100%;height:100%;object-fit:cover}
.protect-card:first-child img{object-position:left center}
.protect-card:last-child img{object-position:85% center}

.prod-made{padding-bottom:36px}
.prod-made__grid{display:grid;grid-template-columns:42% 58%;gap:26px;align-items:center;margin-bottom:26px}
.prod-made__copy h2{font-size:clamp(36px,3vw,52px);line-height:1;letter-spacing:-.045em;margin:0 0 14px;font-weight:800;color:#151722}
.prod-made__copy p:not(.eyebrow){font-size:15px;line-height:1.65;color:#565b67;max-width:620px}
.prod-made__gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}
.prod-made__gallery img{width:100%;height:194px;object-fit:cover;border:1px solid rgba(0,0,0,.08)}
.prod-made__gallery img:first-child{height:194px}
.prod-compliance{display:grid;grid-template-columns:31% 44% 25%;gap:24px;align-items:center;padding-top:24px;border-top:1px solid #ddd7ca}
.prod-compliance__intro p:last-child{margin:0;color:#515661;line-height:1.58}
.prod-compliance__logos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:center}
.prod-compliance__ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.prod-compliance__ticks li{position:relative;padding-left:24px;color:#232834;font-size:14px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.prod-compliance__ticks li:before{content:'✓';position:absolute;left:0;top:0;color:#c7951e;font-weight:900}

.prod-finishes{padding-top:40px;padding-bottom:40px}
.prod-finishes__grid{display:grid;grid-template-columns:26% 31% 43%;gap:26px;align-items:start}
.prod-finishes__left h2,.prod-applications h2{font-size:clamp(34px,2.7vw,48px);line-height:1;letter-spacing:-.04em;margin:0 0 14px;font-weight:800;color:#171820}
.prod-finishes__left p:not(.eyebrow),.prod-applications p:not(.eyebrow){color:#5a5d66;line-height:1.6;font-size:14px}
.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-content:start}
.swatch{text-align:center}
.swatch__sample{display:block;height:130px;border:1px solid #d4ccbe;margin-bottom:10px;border-radius:4px;background:#ddd}
.swatch b{font-size:12px;color:#2a2c32}
.swatch__sample--oak{background:linear-gradient(90deg,#c79a63,#d8b07d 28%,#bc8d56 50%,#d3ab79 75%,#b8854a)}
.swatch__sample--walnut{background:linear-gradient(90deg,#5b3927,#7a4b33 30%,#523123 55%,#85583f 82%,#62402c)}
.swatch__sample--painted{background:linear-gradient(180deg,#f5f5f5,#dcdcdc)}
.swatch__sample--laminate{background:linear-gradient(90deg,#ddd8d0,#c4beb6 35%,#e4dfd9 60%,#b8b3ab)}
.swatch__sample--protective{background:linear-gradient(90deg,#c7c7c7,#9f9f9f 45%,#d3d3d3 60%,#b5b5b5)}
.prod-applications__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.prod-applications__grid article{position:relative;overflow:hidden;background:#111}
.prod-applications__grid img{width:100%;height:112px;object-fit:cover;filter:saturate(.95)}
.prod-applications__grid span{position:absolute;left:10px;bottom:10px;padding:4px 8px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:700}

.prod-downloads{padding-top:32px;padding-bottom:42px}
.download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.download-card{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:0 24px;background:#eeedf0;border:1px solid #d8dbe2;color:#161922;text-decoration:none;font-weight:800}
.download-card span{font-size:24px;color:#6e7380}
.download-card:hover{border-color:#b99631;transform:translateY(-2px)}

.products-cta{display:grid;grid-template-columns:24% 46% 30%;align-items:stretch;background:linear-gradient(135deg,#180b25 0%,#0a0d13 100%);border-top:1px solid rgba(225,184,59,.35)}
.products-cta__visual img{width:100%;height:100%;object-fit:cover}
.products-cta__copy{padding:34px 3vw;display:flex;flex-direction:column;justify-content:center}
.products-cta__copy h2{font-size:clamp(38px,3vw,54px);line-height:1;letter-spacing:-.045em;margin:0 0 12px;font-weight:800}
.products-cta__copy p{margin:0;color:#ece8ef;font-size:16px;line-height:1.55}
.products-cta__actions{padding:34px 3vw;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}

@media (max-width:1100px){
  .products-hero,.prod-configure__grid,.prod-finishes__grid,.prod-made__grid,.prod-compliance,.products-cta{grid-template-columns:1fr}
  .products-cards,.prod-protection__grid,.download-grid{grid-template-columns:1fr 1fr}
  .prod-applications__grid{grid-template-columns:repeat(3,1fr)}
  .products-hero__rail{position:static;max-width:none;padding:20px 24px 24px}
  .products-hero__visual{display:grid;grid-template-rows:1fr auto}
  .prod-configure__visual{max-width:700px}
}
@media (max-width:820px){
  .products-hero,.products-cards,.prod-protection__grid,.download-grid{grid-template-columns:1fr}
  .prod-card,.protect-card{grid-template-columns:1fr}
  .prod-finishes__grid{grid-template-columns:1fr}
  .swatches{grid-template-columns:repeat(2,1fr)}
  .prod-applications__grid{grid-template-columns:1fr 1fr}
  .prod-made__gallery{grid-template-columns:1fr}
  .prod-made__gallery img{height:190px}
  .products-cta__actions{justify-content:flex-start}
}
@media (max-width:560px){
  .products-hero__copy,.products-cta__copy,.products-cta__actions{padding-left:20px;padding-right:20px}
  .products-hero__copy h1{font-size:46px}
  .prod-card__copy h2,.protect-card__copy h2,.prod-made__copy h2,.prod-finishes__left h2,.prod-applications h2,.products-cta__copy h2{font-size:34px}
  .swatches{grid-template-columns:1fr 1fr}
  .prod-applications__grid{grid-template-columns:1fr}
}


/* ===== Products page amendment pass — 2026-09-25 ===== */
.prod-card--door{grid-template-columns:56% 44%}
.prod-card--door .prod-card__copy{padding-right:12px}
.prod-card--door .prod-card__copy h2{font-size:clamp(24px,2vw,36px);line-height:.94;max-width:270px}
.prod-card--door .prod-card__copy h2 span{display:inline-block;white-space:nowrap}
.prod-card--door img{object-position:72% center}
.prod-card--edge img{object-position:center center}
.prod-card--leaf img{object-position:center center}
.protect-card--edge-main img{object-position:left center}
.protect-card--leaf-main{background:#ffffff;color:#161922;border:1px solid #d7d7d7}
.protect-card--leaf-main .protect-card__copy{background:linear-gradient(90deg,rgba(10,12,18,.96),rgba(10,12,18,.90),rgba(10,12,18,.28));color:#fff}
.protect-card--leaf-main img{object-fit:contain;object-position:center center;background:#fff;padding:0}
.prod-made__gallery img:nth-child(2){object-position:center center}


/* ===== V12 Services / Fire Doors / Projects / Joinery additions — 2026-09-26 ===== */
.main-nav{gap:16px}.main-nav a{font-size:11px}
.service-list--visual{grid-template-columns:repeat(2,1fr);gap:20px}
.service-detail--visual{padding:0;min-height:430px;overflow:hidden;display:grid;grid-template-rows:210px 1fr}
.service-detail--visual>img{width:100%;height:210px;object-fit:cover;object-position:center}
.service-detail__content{padding:22px 24px 26px;position:relative}.service-detail__content .service-detail__number{position:absolute;right:22px;top:18px;opacity:.8}.service-detail__content h3{margin-top:4px;padding-right:55px}.service-detail__content p{min-height:84px}
.joinery-heritage .section-head{align-items:flex-start}.joinery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.joinery-grid article{background:#fff;border:1px solid #ddd7cb;overflow:hidden}.joinery-grid img{width:100%;height:230px;object-fit:cover}.joinery-grid article>div{padding:22px}.joinery-grid h3{font-family:Georgia,serif;font-size:28px;margin:0 0 10px}.joinery-grid p{color:#60646c;line-height:1.6;font-size:13px;margin:0}
.firedoors-hero{display:grid;grid-template-columns:52% 48%;min-height:600px;background:linear-gradient(135deg,#150a21,#0b0e14);border-bottom:1px solid rgba(225,184,59,.3)}.firedoors-hero__copy{padding:78px 5vw;display:flex;flex-direction:column;justify-content:center}.firedoors-hero__copy h1{font-size:clamp(56px,5.7vw,92px);line-height:.9;letter-spacing:-.055em;margin:8px 0 20px}.firedoors-hero__copy>p:not(.eyebrow){font-size:18px;line-height:1.62;color:#d8dae0;max-width:720px}.firedoors-hero__image{position:relative;overflow:hidden;min-height:600px}.firedoors-hero__image>img{width:100%;height:100%;object-fit:cover;object-position:center}.firedoors-hero__image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,13,.05),rgba(8,8,13,0) 45%,rgba(7,9,14,.35))}.firedoors-hero__label{position:absolute;left:28px;bottom:28px;z-index:2;background:rgba(7,9,14,.88);border-left:3px solid var(--gold);padding:16px 18px}.firedoors-hero__label strong,.firedoors-hero__label span{display:block}.firedoors-hero__label strong{font-size:18px}.firedoors-hero__label span{font-size:9px;letter-spacing:.16em;margin-top:4px;color:#d5d8de}
.firedoors-importance{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:start}.firedoors-importance h2,.door-core-copy h2,.enquiry-layout h2{font-family:Georgia,serif;font-size:clamp(40px,4vw,64px);line-height:.98;margin:0 0 20px}.firedoors-importance>div:first-child>p:not(.eyebrow),.door-core-copy p,.enquiry-layout>div>p:not(.eyebrow){color:#5e626a;line-height:1.72}.firedoors-importance__points{display:grid;grid-template-columns:1fr 1fr;gap:14px}.firedoors-importance__points article{background:#12161d;color:#fff;padding:24px;border-top:3px solid var(--gold)}.firedoors-importance__points b{font-family:Georgia,serif;font-size:23px}.firedoors-importance__points p{font-size:12px;line-height:1.6;color:#b9bec7}
.component-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.component-grid article{background:#0d1118;border:1px solid #303744;padding:22px;min-height:220px}.component-grid article>span{font-family:Georgia,serif;color:var(--gold);font-size:26px}.component-grid h3{font-family:Georgia,serif;font-size:25px;margin:18px 0 10px}.component-grid p{font-size:12px;line-height:1.62;color:#afb5bf;margin:0}
.door-core-grid{display:grid;grid-template-columns:42% 58%;gap:42px;align-items:center}.door-core-visual{background:#fff;border:1px solid #ddd7ca;padding:10px}.door-core-visual img{width:100%;height:auto}.door-core-copy p{font-size:15px}.system-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(225,184,59,.6)}.system-steps article{padding:24px 18px;border-right:1px solid rgba(255,255,255,.1)}.system-steps b{font-family:Georgia,serif;font-size:26px;color:#fff}.system-steps span{display:block;color:#b9bdc5;font-size:12px;line-height:1.6;margin-top:8px}.firedoor-guidance .law-grid{grid-template-columns:repeat(4,1fr)}.technical-note{margin-top:20px;padding:16px 18px;background:#eee8dc;color:#555861;font-size:12px;line-height:1.6;border-left:3px solid var(--gold)}.enquiry-layout{display:grid;grid-template-columns:36% 64%;gap:45px}.enquiry-layout>div>p:not(.eyebrow){color:#b9bdc5}.firedoor-form{background:#0e1219;padding:24px;border:1px solid #303744}
.project-grid--portfolio{grid-template-columns:repeat(3,1fr)}.project-card--photo .project-card__visual{height:260px;background:#20242a}.project-card--photo .project-card__visual img{transition:transform .25s ease}.project-card--photo:hover .project-card__visual img{transform:scale(1.035)}.project-card--photo .project-card__overlay{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.project-credit-note{padding-top:36px;padding-bottom:36px}.project-credit-note>div>p:not(.eyebrow){color:#63666c;font-size:12px;line-height:1.6}.credit-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}.credit-links a{font-size:10px;color:#534060}
@media(max-width:1180px){.component-grid{grid-template-columns:repeat(3,1fr)}.project-grid--portfolio{grid-template-columns:1fr 1fr}.enquiry-layout{grid-template-columns:1fr}.door-core-grid{grid-template-columns:1fr}.system-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.firedoors-hero{grid-template-columns:1fr}.firedoors-hero__image{min-height:460px}.firedoors-importance{grid-template-columns:1fr}.component-grid{grid-template-columns:1fr 1fr}.service-list--visual,.joinery-grid{grid-template-columns:1fr}.firedoor-guidance .law-grid{grid-template-columns:1fr 1fr}.system-steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.firedoors-hero__copy{padding:52px 20px}.firedoors-hero__copy h1{font-size:48px}.component-grid,.firedoors-importance__points,.project-grid--portfolio,.firedoor-guidance .law-grid,.system-steps{grid-template-columns:1fr}.service-detail--visual{grid-template-rows:190px 1fr}.service-detail--visual>img{height:190px}.joinery-grid img{height:200px}}

/* ===== V13 Services image-quality pass — 2026-09-26 ===== */
.service-detail--visual{
  min-height:385px;
  grid-template-rows:168px 1fr;
}
.service-detail--visual>img{
  width:100%;
  height:168px;
  object-fit:cover;
  object-position:center;
  image-rendering:auto;
}
.service-detail__content{padding:20px 24px 24px}
.service-detail__content p{min-height:78px}
@media(max-width:900px){
  .service-detail--visual{grid-template-rows:165px 1fr}
  .service-detail--visual>img{height:165px}
}
@media(max-width:620px){
  .service-detail--visual{grid-template-rows:150px 1fr}
  .service-detail--visual>img{height:150px}
}

/* ===== V14 Services layout refinement — 2026-09-26 ===== */
.services-page .service-list--visual{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.services-page .service-detail--visual{
  padding:0;
  min-height:285px;
  display:grid;
  grid-template-columns:minmax(180px,36%) 1fr;
  grid-template-rows:1fr;
  overflow:hidden;
}
.services-page .service-detail--visual>img{
  width:100%;
  height:100%;
  min-height:285px;
  object-fit:cover;
  object-position:center;
}
.services-page .service-detail--visual:nth-child(even){
  grid-template-columns:1fr minmax(180px,36%);
}
.services-page .service-detail--visual:nth-child(even)>img{order:2}
.services-page .service-detail--visual:nth-child(even) .service-detail__content{order:1}
.services-page .service-detail__content{
  padding:24px 24px 22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.services-page .service-detail__number{
  position:absolute;
  right:20px;
  top:17px;
  font-size:27px;
  opacity:.95;
}
.services-page .service-detail__content h3{
  margin:8px 44px 10px 0;
  font-size:clamp(25px,1.8vw,31px);
  line-height:1.02;
}
.services-page .service-detail__content p{
  min-height:0;
  margin:0 0 18px;
  font-size:12.5px;
  line-height:1.58;
}
.services-page .service-detail__content a{margin-top:auto}
.services-page .service-detail--visual:nth-child(1)>img{object-position:58% center}
.services-page .service-detail--visual:nth-child(2)>img{object-position:58% center}
.services-page .service-detail--visual:nth-child(3)>img{object-position:54% center}
.services-page .service-detail--visual:nth-child(4)>img{object-position:56% center}
.services-page .service-detail--visual:nth-child(5)>img{object-position:center 42%}
.services-page .service-detail--visual:nth-child(6)>img{object-position:center}
.services-page .service-detail--visual:nth-child(7)>img{object-position:center}
.services-page .service-detail--visual:nth-child(8)>img{object-position:center}
.services-page .service-detail--visual:nth-child(9)>img{object-position:center}
.services-page .service-detail--visual:nth-child(10)>img{object-position:center}
@media(max-width:1050px){
  .services-page .service-list--visual{grid-template-columns:1fr}
  .services-page .service-detail--visual,
  .services-page .service-detail--visual:nth-child(even){
    grid-template-columns:minmax(210px,34%) 1fr;
  }
  .services-page .service-detail--visual:nth-child(even)>img{order:0}
  .services-page .service-detail--visual:nth-child(even) .service-detail__content{order:0}
}
@media(max-width:650px){
  .services-page .service-detail--visual,
  .services-page .service-detail--visual:nth-child(even){
    grid-template-columns:1fr;
    grid-template-rows:155px auto;
    min-height:0;
  }
  .services-page .service-detail--visual>img{
    height:155px;
    min-height:155px;
  }
  .services-page .service-detail__content{padding:21px 20px 22px}
}

/* ===== V14 Fire Door manufacturing & workshop section ===== */
.firedoor-manufacture__intro{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:60px;
  align-items:start;
  margin-bottom:34px;
}
.firedoor-manufacture__intro h2{
  font-family:Georgia,serif;
  font-size:clamp(42px,4vw,66px);
  line-height:.98;
  margin:0;
  color:#171820;
}
.firedoor-manufacture__intro>div:last-child p{
  color:#5a5e67;
  line-height:1.7;
  margin:0 0 15px;
}
.firedoor-workshop{
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:13px;
}
.firedoor-workshop figure{
  margin:0;
  position:relative;
  min-height:290px;
  overflow:hidden;
  background:#14161a;
}
.firedoor-workshop img{
  width:100%;
  height:100%;
  min-height:290px;
  object-fit:cover;
  transition:transform .35s ease;
}
.firedoor-workshop figure:hover img{transform:scale(1.025)}
.firedoor-workshop figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:44px 17px 16px;
  color:#fff;
  background:linear-gradient(180deg,transparent,rgba(6,8,12,.88));
}
.firedoor-workshop figcaption strong,
.firedoor-workshop figcaption span{display:block}
.firedoor-workshop figcaption strong{font-size:15px;margin-bottom:4px}
.firedoor-workshop figcaption span{font-size:10px;line-height:1.45;color:#dfe1e5}
@media(max-width:980px){
  .firedoor-manufacture__intro{grid-template-columns:1fr;gap:24px}
  .firedoor-workshop{grid-template-columns:1fr 1fr}
  .firedoor-workshop__hero{grid-column:1/-1}
}
@media(max-width:620px){
  .firedoor-workshop{grid-template-columns:1fr}
  .firedoor-workshop__hero{grid-column:auto}
  .firedoor-workshop figure,.firedoor-workshop img{min-height:235px}
}

/* ===== V14 About: FIRAS / Warringtonfire relationship ===== */
.liberty-firas{border-top:1px solid #ddd6c8;border-bottom:1px solid #ddd6c8}
.liberty-firas__head{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:55px;
  align-items:center;
}
.liberty-firas__head h2{
  font-family:Georgia,serif;
  font-size:clamp(40px,3.8vw,62px);
  line-height:.98;
  margin:0 0 18px;
  color:#171820;
}
.liberty-firas__head p:not(.eyebrow){
  color:#5b5f67;
  line-height:1.68;
  margin:0 0 13px;
}
.liberty-firas__lockup{
  min-height:260px;
  background:#fff;
  border:1px solid #ddd6ca;
  display:grid;
  grid-template-columns:1fr 2px 1fr;
  align-items:center;
  gap:26px;
  padding:34px;
  box-shadow:0 18px 45px rgba(32,24,38,.08);
}
.liberty-firas__divider{height:125px;background:linear-gradient(#d7ad32,#f0d36b,#b98b1c)}
.liberty-firas__brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.liberty-firas__brand img{max-width:220px;max-height:125px;object-fit:contain}
.liberty-firas__brand--firas img{max-width:190px}
.liberty-firas__brand small{
  margin-top:11px;
  color:#292a31;
  line-height:1.4;
  text-align:center;
  font-size:10px;
  font-weight:700;
}
.firas-achievements{
  margin:28px 0 38px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #ded7ca;
  background:#fff;
}
.firas-achievements>div{
  padding:24px 22px;
  border-right:1px solid #e5dfd4;
}
.firas-achievements>div:last-child{border-right:0}
.firas-achievements b{
  display:block;
  font-family:Georgia,serif;
  color:#24112e;
  font-size:29px;
}
.firas-achievements span{
  display:block;
  margin-top:5px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#696b72;
}
.warrington-test{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:34px;
  align-items:center;
  padding-top:8px;
}
.warrington-test__copy h3{
  font-family:Georgia,serif;
  font-size:clamp(30px,2.6vw,44px);
  line-height:1.03;
  margin:0 0 15px;
  color:#171820;
}
.warrington-test__copy p:not(.eyebrow){
  color:#5c6068;
  line-height:1.68;
  font-size:13px;
}
.warrington-test__gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.warrington-test__gallery img{
  width:100%;
  height:300px;
  object-fit:cover;
  border:1px solid #d9d2c6;
  background:#ddd;
}
@media(max-width:950px){
  .liberty-firas__head,.warrington-test{grid-template-columns:1fr}
  .firas-achievements{grid-template-columns:1fr 1fr}
  .firas-achievements>div:nth-child(2){border-right:0}
}
@media(max-width:620px){
  .liberty-firas__lockup{grid-template-columns:1fr;gap:18px}
  .liberty-firas__divider{width:100%;height:2px}
  .firas-achievements{grid-template-columns:1fr}
  .firas-achievements>div{border-right:0;border-bottom:1px solid #e5dfd4}
  .warrington-test__gallery{grid-template-columns:1fr}
  .warrington-test__gallery img{height:245px}
}

/* ===== V15 High-resolution Liberty workshop image pass — 2026-09-26 ===== */
.firedoor-workshop figure{
  min-height:320px;
  background:#111;
}
.firedoor-workshop img{
  min-height:320px;
  object-fit:cover;
  image-rendering:auto;
}
.firedoor-workshop__hero img{object-position:center 42%}
.firedoor-workshop figure:nth-child(2) img{object-position:center 45%}
.firedoor-workshop figure:nth-child(3) img{object-position:center 48%}
.firedoor-workshop figure:nth-child(4) img{object-position:center center}

.joinery-heritage .joinery-grid article img{
  width:100%;
  height:230px;
  object-fit:cover;
  image-rendering:auto;
}
.joinery-heritage .joinery-grid article:nth-child(1) img{object-position:center 48%}
.joinery-heritage .joinery-grid article:nth-child(2) img{object-position:center 45%}
.joinery-heritage .joinery-grid article:nth-child(3) img{object-position:center center}

@media(max-width:980px){
  .firedoor-workshop figure,
  .firedoor-workshop img{min-height:280px}
}
@media(max-width:620px){
  .firedoor-workshop figure,
  .firedoor-workshop img{min-height:245px}
  .joinery-heritage .joinery-grid article img{height:215px}
}

/* ===== V16 Homepage service visual upgrade — realistic photographic icons ===== */
.home-approved .service-card--illustrated{
  grid-template-rows:82px 1fr;
}
.home-approved .service-card--illustrated img{
  width:100%;
  height:82px;
  object-fit:cover;
  object-position:center;
  background:#10141a;
  border-bottom:1px solid #303842;
  image-rendering:auto;
  filter:saturate(.92) contrast(1.03);
}
.home-approved .service-card--illustrated:nth-child(1) img{object-position:center 47%}
.home-approved .service-card--illustrated:nth-child(2) img{object-position:center 43%}
.home-approved .service-card--illustrated:nth-child(3) img{object-position:center 48%}
.home-approved .service-card--illustrated:nth-child(4) img{object-position:center 54%}
.home-approved .service-card--illustrated:nth-child(5) img{object-position:center 48%}
.home-approved .service-card--illustrated:nth-child(6) img{object-position:center 50%}
.home-approved .service-card--illustrated:nth-child(7) img{object-position:center 52%}
.home-approved .service-card--illustrated:nth-child(8) img{object-position:center 50%}
.home-approved .service-card--illustrated:nth-child(9) img{object-position:center 49%}
/* ===== V17 Liberty Fire Door Configurator ===== */
.configurator-pro-page{background:#080a0f}
.configurator-pro-hero{padding-top:54px;padding-bottom:54px}
.configurator-pro-wrap{background:#eae8e2;padding:0}
.configurator-pro{min-height:820px;display:grid;grid-template-columns:370px minmax(560px,1fr) 350px;max-width:1780px;margin:0 auto;background:#f4f2ec;color:#17191e;border-left:1px solid #c9c6bf;border-right:1px solid #c9c6bf}
.configurator-pro__controls{background:#fff;border-right:1px solid #d3d0ca;max-height:calc(100vh - 92px);overflow:auto;position:sticky;top:92px;align-self:start}
.config-topline{padding:25px 24px 19px;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #dedbd5}
.config-topline h2{margin:0;font-family:Georgia,serif;font-size:32px}.config-topline .eyebrow{color:#653470;margin-bottom:4px}
.config-reset{border:0;background:none;text-decoration:underline;color:#6c6670;font-size:11px;cursor:pointer}
.config-step{border-bottom:1px solid #dedbd5;background:#fff}
.config-step>summary{list-style:none;display:flex;gap:11px;align-items:center;padding:16px 22px;cursor:pointer;font-size:12px;font-weight:850;letter-spacing:.035em;color:#23242a}
.config-step>summary::-webkit-details-marker{display:none}.config-step>summary:after{content:'+';margin-left:auto;font-size:20px;color:#856e28}.config-step[open]>summary:after{content:'−'}
.config-step>summary span{width:26px;height:26px;border-radius:50%;background:#201027;color:#efd064;display:grid;place-items:center;font-size:9px}
.config-step__body{padding:2px 22px 22px;background:#fbfaf7}
.cfg-grid{display:grid;gap:10px}.cfg-grid--2{grid-template-columns:1fr 1fr}
.cfg-field{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#5e6066;margin-top:14px}
.cfg-field input,.cfg-field select,.cfg-field textarea{display:block;width:100%;margin-top:7px;padding:10px 11px;border:1px solid #cfd0d2;background:#fff;color:#17191d;min-height:41px;border-radius:2px;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}
.cfg-field input[type=color]{height:48px;padding:4px}.cfg-field small{display:block;margin-top:5px;font-size:9px;font-weight:600;color:#85878c;text-transform:none;letter-spacing:0}
.cfg-help{font-size:10px;line-height:1.5;color:#787a7e;margin:10px 0 0}.cfg-empty{font-size:11px;color:#85868b;padding:12px 0 0}.cfg-auto{margin-top:13px;padding:10px 12px;background:#f0ece2;border-left:3px solid #c79b27;font-size:10px;color:#55565b}.cfg-auto strong{color:#22152b}
.cfg-warning{margin-top:10px;padding:10px 12px;background:#fff2e8;border:1px solid #e1a671;color:#8b3c18;font-size:10px;line-height:1.45}
.cfg-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.cfg-check-grid--wide{grid-template-columns:1fr 1fr}
.cfg-check-grid label{display:flex;gap:7px;align-items:flex-start;background:#fff;border:1px solid #dad8d2;padding:9px;font-size:10px;line-height:1.3;color:#494b50}.cfg-check-grid input{accent-color:#7b3a83}
.cfg-subtitle{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#5c5e63;margin:18px 0 0}

.configurator-pro__visual{min-width:0;background:linear-gradient(180deg,#eff1ef,#dedfdb);position:relative;display:flex;flex-direction:column;min-height:820px}
.config-visual-toolbar{min-height:72px;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c9cbc8;background:rgba(255,255,255,.72)}
.config-visual-toolbar>div{display:flex;flex-direction:column}.config-reference{font-size:9px;letter-spacing:.12em;color:#7a7c80;margin-bottom:4px}.config-visual-toolbar strong{font-size:15px;color:#24262b}
.dimension-toggle{font-size:10px;font-weight:800;color:#56595e;display:flex;align-items:center;gap:8px}.dimension-toggle input{accent-color:#7b3a83}
.config-canvas{position:relative;flex:1;min-height:620px;display:grid;place-items:center;padding:62px 56px 60px;overflow:hidden;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.96),rgba(223,225,222,.91) 57%,rgba(197,199,196,.95))}
.config-canvas:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.2),transparent 35%,rgba(255,255,255,.1)),repeating-linear-gradient(90deg,transparent 0 99px,rgba(0,0,0,.025) 100px);pointer-events:none}
.config-floor{position:absolute;left:-6%;right:-6%;bottom:-7%;height:28%;background:linear-gradient(#c7c8c4,#aaaca9);transform:perspective(650px) rotateX(65deg);transform-origin:bottom;box-shadow:inset 0 10px 24px rgba(0,0,0,.12)}
.door-system{position:relative;z-index:3;display:flex;flex-direction:column;filter:drop-shadow(0 22px 16px rgba(0,0,0,.22));transition:width .2s ease,height .2s ease}
.door-system__lower{display:flex;align-items:flex-end;height:100%;min-height:0}
.door-frame-visual,.side-visual,.fanlight-visual{border-style:solid;border-color:#6f5b49;background:#6f5b49;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.door-frame-visual{height:100%;position:relative;display:flex;min-width:0}
.leaf-set{display:flex;width:100%;height:100%;gap:2px;background:#44382e}
.door-leaf-v{position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.24);transition:background .2s}
.door-leaf-v.finish-oak-veneer{background:repeating-linear-gradient(91deg,#a87950 0 4px,#b78a5e 4px 9px,#956841 9px 14px,#c09165 14px 19px)}
.door-leaf-v.finish-walnut-veneer{background:repeating-linear-gradient(91deg,#5c3928 0 5px,#744b35 5px 10px,#4c2e21 10px 15px,#83573d 15px 21px)}
.door-leaf-v.finish-oak-laminate{background:repeating-linear-gradient(91deg,#b78c61 0 8px,#c69b70 8px 14px,#a87b54 14px 20px)}
.door-leaf-v.finish-neutral{background:linear-gradient(#d9d8d3,#c9c8c2)}
.door-leaf-v:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.09),transparent 22%,transparent 75%,rgba(0,0,0,.07));pointer-events:none}
.side-visual{height:100%;position:relative;background:#605448;overflow:hidden;flex:0 0 auto}.fanlight-visual{width:100%;position:relative;flex:0 0 auto;background:#605448}
.side-visual .glass-surface,.fanlight-visual .glass-surface{position:absolute;inset:9px;background:linear-gradient(135deg,#76909a,#e9f0ef 42%,#a3b5bb 44% 58%,#d2dddd);box-shadow:inset 0 0 12px rgba(255,255,255,.48)}
.vision-panel{position:absolute;background:linear-gradient(135deg,#6c8792,#eef5f4 39%,#a0b4bb 42% 57%,#d8e2e2);border:5px solid rgba(68,53,43,.92);box-shadow:0 0 0 1px #b59a72,inset 0 0 14px rgba(255,255,255,.38)}
.vision-panel--double:after{content:'';position:absolute;top:0;bottom:0;left:50%;width:8%;transform:translateX(-50%);background:rgba(68,53,43,.95);box-shadow:0 0 0 1px #b59a72}
.vision-panel--top-bottom:after{content:'';position:absolute;left:0;right:0;top:50%;height:7%;transform:translateY(-50%);background:rgba(68,53,43,.95);box-shadow:0 0 0 1px #b59a72}
.hardware-handle{position:absolute;top:55%;width:12%;height:2%;min-height:4px;background:linear-gradient(#e0e1df,#9fa3a2);box-shadow:0 4px 0 -1px #747877;z-index:8}.hand-right .hardware-handle{right:6%}.hand-left .hardware-handle{left:6%}
.hardware-closer{position:absolute;top:4%;width:28%;height:3.2%;min-height:6px;background:linear-gradient(#d7d9d7,#a0a5a3);z-index:7}.hand-right .hardware-closer{right:9%}.hand-left .hardware-closer{left:9%}
.hardware-pull{position:absolute;top:38%;height:27%;width:3%;border:3px solid #c4c7c5;border-radius:8px;z-index:9}.hand-right .hardware-pull{right:8%}.hand-left .hardware-pull{left:8%}
.hardware-kick{position:absolute;left:3%;right:3%;bottom:1.4%;height:14%;background:linear-gradient(#c7ccca,#969b99);opacity:.92;z-index:5}
.hardware-push{position:absolute;top:44%;width:22%;height:10%;background:linear-gradient(#c7ccca,#969b99);opacity:.92;z-index:5}.hand-right .hardware-push{right:4%}.hand-left .hardware-push{left:4%}
.hardware-pullplate{position:absolute;top:35%;width:14%;height:33%;background:linear-gradient(#c7ccca,#969b99);opacity:.92;z-index:4}.hand-right .hardware-pullplate{right:3%}.hand-left .hardware-pullplate{left:3%}
.leaf-protection-v{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(161,163,161,.86),rgba(221,222,219,.91));z-index:3;border-top:1px solid #888}.leaf-protection-v.half{height:50%}.leaf-protection-v.full-height{height:100%;left:4%;right:4%;opacity:.8}.leaf-protection-v.full-face{height:100%;opacity:.72}
.edge-protection-v{position:absolute;top:0;bottom:0;width:10px;background:linear-gradient(90deg,#292d30,#777b7d,#292d30);z-index:12}.edge-protection-v.left{left:0}.edge-protection-v.right{right:0}
.smoke-seal-v{position:absolute;inset:0;border:3px solid rgba(35,35,35,.76);z-index:13;pointer-events:none}
.leaf-id{position:absolute;left:7%;top:4%;font-size:8px;font-weight:900;letter-spacing:.06em;color:rgba(255,255,255,.78);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.dimension-line{position:absolute;z-index:8;color:#443f46;font-size:9px;font-weight:850;letter-spacing:.04em;pointer-events:none}
.dimension-line span{background:rgba(240,240,237,.94);padding:3px 7px;white-space:nowrap;border:1px solid #c9c8c4}
.dimension-line--width{height:1px;bottom:26px;border-top:1px solid #6e6870;text-align:center}.dimension-line--width span{position:absolute;left:50%;transform:translate(-50%,-50%)}
.dimension-line--height{width:1px;right:22px;border-left:1px solid #6e6870}.dimension-line--height span{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-90deg)}
.config-visual-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c7c9c6;background:rgba(250,250,248,.9)}
.config-visual-meta>div{padding:13px 16px;border-right:1px solid #d4d5d2}.config-visual-meta>div:last-child{border-right:0}.config-visual-meta span,.config-visual-meta strong{display:block}.config-visual-meta span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#7b7d80}.config-visual-meta strong{font-size:11px;margin-top:3px;color:#26282d}
.config-visual-warning{padding:11px 18px;background:#fff1e7;color:#813b1b;border-top:1px solid #dfb28d;font-size:10px;line-height:1.45}

.configurator-pro__summary{background:#11151c;color:#fff;border-left:1px solid #2e333b;padding:26px 24px;max-height:calc(100vh - 92px);overflow:auto;position:sticky;top:92px;align-self:start}
.configurator-pro__summary h2{font-family:Georgia,serif;font-size:32px;margin:0 0 18px}.config-summary-list>div{padding:10px 0;border-bottom:1px solid #30353e;display:flex;gap:15px;justify-content:space-between;font-size:10px}.config-summary-list span{color:#9ca3ad;max-width:42%}.config-summary-list strong{text-align:right;max-width:58%;font-weight:700}
.config-note{margin-top:18px;border-left:2px solid #d7ad32;padding:10px 12px;background:#191d25}.config-note strong{font-size:10px;color:#f0d06b;text-transform:uppercase;letter-spacing:.06em}.config-note p{font-size:9px;line-height:1.55;color:#adb3bc;margin:7px 0 0}
.config-summary-actions{display:grid;gap:8px;margin-top:18px}.config-outline-dark{border-color:#444a54;color:#fff}
.configurator-info{background:#0c0f15;color:#fff;padding:55px 0;border-top:1px solid rgba(225,184,59,.25)}.configurator-info__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.configurator-info h2{font-family:Georgia,serif;font-size:clamp(34px,3vw,48px);line-height:1;margin:0}.configurator-info__grid>p{color:#bcc0c8;line-height:1.7;margin:0}

.quote-dialog{width:min(880px,94vw);max-height:92vh;border:0;padding:0;background:#fff;color:#17191e;box-shadow:0 35px 100px rgba(0,0,0,.48)}.quote-dialog::backdrop{background:rgba(5,6,9,.78);backdrop-filter:blur(6px)}
.quote-form{position:relative;padding:34px}.quote-form h2{font-family:Georgia,serif;font-size:39px;margin:0 0 6px}.quote-intro{margin:0 0 22px;color:#686b72}.quote-dialog__close{position:absolute;right:16px;top:14px;border:0;background:none;font-size:30px;cursor:pointer;color:#666}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.quote-grid label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#5d6067}.quote-grid input,.quote-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid #cfd0d2;padding:11px;background:#fafaf8;color:#17191e;font-size:12px;text-transform:none;letter-spacing:0}.quote-full{grid-column:1/-1}.quote-ack{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-size:10px;line-height:1.4;color:#55585f}.quote-ack input{accent-color:#74347c}.quote-actions{display:flex;gap:10px;flex-wrap:wrap}.quote-status{margin-top:14px;font-size:11px;line-height:1.5}.quote-status.success{color:#287744}.quote-status.error{color:#9c3426}

@media(max-width:1320px){
  .configurator-pro{grid-template-columns:330px minmax(480px,1fr)}
  .configurator-pro__summary{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .configurator-pro__summary>.eyebrow,.configurator-pro__summary>h2{grid-column:1/-1}
}
@media(max-width:960px){
  .configurator-pro{grid-template-columns:1fr}
  .configurator-pro__controls,.configurator-pro__summary{position:static;max-height:none}
  .configurator-pro__controls{order:2}.configurator-pro__visual{order:1;min-height:720px}.configurator-pro__summary{order:3}
  .config-canvas{min-height:590px}
}
@media(max-width:680px){
  .configurator-pro__visual{min-height:620px}.config-canvas{min-height:490px;padding:48px 30px 50px}
  .cfg-grid--2,.quote-grid,.configurator-info__grid{grid-template-columns:1fr}
  .quote-full{grid-column:auto}.quote-form{padding:28px 18px}.quote-form h2{font-size:31px}
  .config-visual-meta{grid-template-columns:1fr 1fr}.configurator-pro__summary{display:block}
  .configurator-pro__summary>*{margin-bottom:12px}.configurator-pro__controls{max-height:none}
}

/* ===== V18 Configurator visual realism pass ===== */
.config-canvas{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.99),rgba(233,234,231,.96) 49%,rgba(205,207,204,.98) 100%)}
.door-system{filter:drop-shadow(0 26px 18px rgba(28,24,20,.24))}
.door-frame-visual,.side-visual,.fanlight-visual{border-radius:1px;background:#5f5044;box-shadow:inset 0 0 0 1px rgba(255,255,255,.26),inset 0 0 0 3px rgba(0,0,0,.08)}
.door-frame-visual{background:#3c3028}
.leaf-set{position:relative;gap:4px;background:#31271f;overflow:visible;box-shadow:inset 0 0 0 1px rgba(0,0,0,.46),inset 0 8px 16px rgba(0,0,0,.08)}
.door-leaf-v{position:relative;overflow:hidden;border:1px solid rgba(45,33,24,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 5px 0 10px rgba(255,255,255,.035),inset -6px 0 12px rgba(0,0,0,.075);background-repeat:no-repeat;background-position:center;background-size:cover}
.door-leaf-v.finish-oak-veneer{background-color:#ad8054;background-image:linear-gradient(90deg,rgba(255,255,255,.05),transparent 22%,transparent 76%,rgba(35,22,12,.09)),url("../img/configurator/oak-veneer-natural.webp");background-size:100% 100%,cover;background-blend-mode:soft-light,normal}
.door-leaf-v.finish-walnut-veneer{background-color:#68442f;background-image:linear-gradient(90deg,rgba(255,255,255,.055),transparent 22%,transparent 76%,rgba(20,10,6,.14)),url("../img/configurator/walnut-veneer-natural.webp");background-size:100% 100%,cover;background-blend-mode:soft-light,normal}
.door-leaf-v.finish-oak-laminate{background-color:#b4885f;background-image:linear-gradient(rgba(207,174,133,.22),rgba(207,174,133,.22)),url("../img/configurator/oak-veneer-natural.webp");background-size:100% 100%,cover;filter:saturate(.88) contrast(.94)}
.door-leaf-v.finish-neutral{background-image:linear-gradient(100deg,rgba(255,255,255,.16),transparent 30%,rgba(0,0,0,.035) 80%,transparent)}
.door-leaf-v:before{background:linear-gradient(95deg,rgba(255,255,255,.08),transparent 18%,transparent 77%,rgba(0,0,0,.065));z-index:1}
.leaf-surface-sheen{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(104deg,transparent 0 29%,rgba(255,255,255,.055) 40%,transparent 54%),linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%,transparent 78%,rgba(0,0,0,.055))}
.leaf-id{z-index:20;background:rgba(19,16,14,.48);color:#f2eee8;padding:3px 6px;border-radius:2px;backdrop-filter:blur(2px);font-size:7px}
.pair-meeting-v{position:absolute;top:0;bottom:0;width:8px;transform:translateX(-50%);z-index:24;pointer-events:none;background:linear-gradient(90deg,#201913 0,#735b47 18%,#a88b6a 45%,#4f3d30 72%,#1f1813 100%);box-shadow:-2px 0 5px rgba(0,0,0,.3),2px 0 3px rgba(255,255,255,.13)}
.hinge-v{position:absolute;width:7px;height:30px;transform:translateY(-50%);z-index:22;border-radius:1px;background:linear-gradient(90deg,#777b7a,#d4d6d3 45%,#969b99 63%,#575b5a);box-shadow:0 1px 2px rgba(0,0,0,.33)}
.hinge-v:before,.hinge-v:after{content:'';position:absolute;left:50%;transform:translateX(-50%);width:2px;height:2px;border-radius:50%;background:#5c605f}
.hinge-v:before{top:4px}.hinge-v:after{bottom:4px}.hinge-v--left{left:1px}.hinge-v--right{right:1px}
.hardware-handle{z-index:26;height:6px;min-height:5px;border-radius:4px;background:linear-gradient(180deg,#f0f2f1,#b0b5b3 45%,#777c7a 60%,#c6cac8);box-shadow:0 2px 3px rgba(0,0,0,.28)}
.hardware-handle:before{content:'';position:absolute;width:8px;height:14px;top:50%;transform:translateY(-50%);border-radius:2px;background:linear-gradient(90deg,#8f9392,#d5d7d6,#767b79)}
.hand-right .hardware-handle:before{right:-3px}.hand-left .hardware-handle:before{left:-3px}
.hardware-pull{z-index:26;border-color:#c7cbc9;box-shadow:inset 1px 0 1px #f6f7f7,0 2px 3px rgba(0,0,0,.28)}
.hardware-closer{z-index:25;height:12px;border-radius:2px;background:linear-gradient(#e2e4e2,#aaafad 58%,#747977);box-shadow:0 2px 3px rgba(0,0,0,.22)}
.hardware-closer-arm{position:absolute;top:6.5%;width:30%;height:3px;z-index:24;background:linear-gradient(90deg,#8e9391,#d6d9d7,#7d8280);transform-origin:0 50%;transform:rotate(11deg)}
.hand-right .hardware-closer-arm{right:22%}.hand-left .hardware-closer-arm{left:22%;transform-origin:100% 50%;transform:rotate(-11deg)}
.secondary-bolt-v{position:absolute;z-index:26;width:6px;height:22px;background:linear-gradient(90deg,#777c7a,#d3d6d4,#686d6b);box-shadow:0 1px 2px rgba(0,0,0,.28)}
.secondary-bolt-v--top{top:4%}.secondary-bolt-v--bottom{bottom:4%}.secondary-bolt-v.at-right{right:3px}.secondary-bolt-v.at-left{left:3px}
.vision-panel{z-index:14;border:6px solid #66513e;outline:1px solid rgba(226,206,176,.75);background:linear-gradient(125deg,rgba(255,255,255,.62) 0 7%,transparent 8% 40%,rgba(255,255,255,.28) 41% 46%,transparent 47%),linear-gradient(150deg,#637b84,#bdd0d3 38%,#e6efee 48%,#849ba2 72%,#5a7079);box-shadow:0 1px 1px rgba(255,255,255,.3),0 3px 7px rgba(0,0,0,.22),inset 0 0 14px rgba(255,255,255,.38)}
.vision-panel:before{content:'';position:absolute;inset:3px;border:1px solid rgba(255,255,255,.42);pointer-events:none}
.vision-panel--double:after{width:10px;background:linear-gradient(90deg,#4c3a2e,#80664f,#4c3a2e)}
.vision-panel--top-bottom:after{height:10px;background:linear-gradient(#4c3a2e,#80664f,#4c3a2e)}
.side-visual .glass-surface,.fanlight-visual .glass-surface{background:linear-gradient(125deg,rgba(255,255,255,.62) 0 6%,transparent 7% 42%,rgba(255,255,255,.28) 43% 48%,transparent 49%),linear-gradient(145deg,#657d86,#bed0d2 38%,#e6efee 52%,#7d969e);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 18px rgba(255,255,255,.34),0 0 0 1px rgba(45,49,50,.42)}
.smoke-seal-v{border-width:2px;border-color:rgba(24,24,22,.72);box-shadow:inset 0 0 0 1px rgba(164,93,48,.42)}
.config-floor{background:linear-gradient(rgba(255,255,255,.12),rgba(0,0,0,.04)),repeating-linear-gradient(90deg,#bbbdbb 0 90px,#b4b6b4 91px 92px)}
@media(max-width:680px){.hinge-v{width:5px;height:22px}.pair-meeting-v{width:6px}.vision-panel{border-width:4px}}

/* V19 configurator refinements */
.cfg-caveat{margin-top:18px;padding:14px 16px;border:1px solid rgba(239,205,92,.32);background:rgba(239,205,92,.08);border-radius:14px;display:grid;gap:6px;color:#f4f0e6}
.cfg-caveat strong{color:#efcd5c;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.cfg-caveat span{font-size:14px;line-height:1.55}
.cfg-caveat--hero{max-width:760px}
.config-step__body .cfg-caveat{color:#32343a;background:#f7f2df;border-color:#e6d39c}
.config-step__body .cfg-caveat strong{color:#7e5f11}
.config-note--inline{margin-bottom:18px}
.signage-v{position:absolute;right:12%;min-width:52px;height:22px;padding:0 8px;border-radius:999px;background:#2d6bb2;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:.04em;z-index:18;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.hardware-lock{position:absolute;top:48%;width:12px;height:18px;background:linear-gradient(#716657,#4a4238);border-radius:2px;z-index:15}
.hardware-lock--right{right:9%}.hardware-lock--left{left:9%}
.hardware-pull--small{height:74px;top:42%}
.hardware-pull--medium{height:108px;top:38%}
.hardware-pull--long{height:148px;top:34%}
.seal-line-v{position:absolute;inset:8px;border:2px solid var(--seal-colour,#ebe6dc);pointer-events:none;z-index:12;opacity:.9}
.seal-line-v--brush{border-style:dashed}
.seal-line-v--neoprene{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);border-width:3px}
.config-summary-list>div strong{white-space:pre-wrap}
.configurator-pro__controls .cfg-check-grid label{font-size:14px}
@media(max-width:900px){.cfg-caveat{font-size:13px}.signage-v{min-width:44px;font-size:9px;height:20px}}


/* ===== Liberty Fire & Vision V23 ===== */
:root{--v23-gold:#dfb83f;--v23-gold-dark:#b9861f;--v23-purple:#24102f;--v23-ink:#090d14;--v23-navy:#0e1a2c;--v23-line:#e3e6ea;--v23-muted:#657083}
body{background:#fff}
[data-site-header]{position:sticky;top:0;z-index:9999;display:block}
.v23-certbar{background:linear-gradient(90deg,#e8c548,#d9ad30);color:#111;font-size:12px;font-weight:600}
.v23-certbar__inner{min-height:34px;display:flex;gap:12px;align-items:center;justify-content:center;padding:6px 18px;flex-wrap:wrap}
.v23-certbar__check{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#111;color:#f3ca4e;font-weight:900}.v23-certbar__divider{height:18px;width:1px;background:#8d741f}.v23-certbar a{color:#111;text-decoration:none;border-bottom:1px solid #111;font-weight:800}
.v23-nav{min-height:104px;background:#090d13;color:#fff;display:flex;align-items:center;gap:24px;padding:12px 5%;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.v23-brand{display:flex;align-items:center;margin-right:auto;min-width:245px}.v23-brand img{width:210px;max-height:82px;object-fit:contain;object-position:left center}
.v23-navlinks{display:flex;gap:6px;align-items:center;min-width:0}.v23-navlinks a{color:#dfe3e9;text-decoration:none;font-size:13px;font-weight:600;padding:12px 8px;white-space:nowrap;border-bottom:2px solid transparent}.v23-navlinks a:hover,.v23-navlinks a.active{color:#fff;border-bottom-color:var(--v23-gold)}
.v23-contact{margin-left:10px;color:#f3f4f6!important;text-decoration:none;font-size:12px;font-weight:700;padding:12px 4px;white-space:nowrap;flex:0 0 auto}.v23-contact:hover{color:var(--v23-gold)!important}
.v23-menu{display:none;background:none;border:0;padding:8px}.v23-menu span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}

/* Homepage matching the approved concept */
.v23-home-hero{min-height:315px;display:grid;grid-template-columns:1fr 1fr;background:#111821;color:#fff;overflow:hidden}
.v23-home-hero__copy{padding:36px 3.4vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(10,13,18,.94),rgba(10,13,18,.72)),url('../img/liberty-office.png') center/cover}
.v23-home-hero__strap{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}.v23-home-hero h1{font-size:50px;line-height:.98;letter-spacing:-.035em;margin:0 0 18px;font-weight:900}.v23-home-hero h1 span{color:#d7a738}.v23-home-hero p{font-size:16px;line-height:1.55;max-width:620px;color:#f0f2f5}.v23-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.v23-home-actions a{display:inline-flex;align-items:center;gap:18px;padding:15px 27px;color:#fff;text-decoration:none;border:1px solid #c2c6cc;font-size:11px;font-weight:900;text-transform:uppercase}.v23-home-actions .gold{border:0;background:linear-gradient(135deg,#d8aa40,#b87e20)}
.v23-home-hero__image{position:relative;min-height:315px;background:#d8dad8}.v23-home-hero__image img{width:100%;height:100%;object-fit:cover;display:block}
.v23-home-services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:8px 2.7%;background:#fff}.v23-home-service{min-height:170px;border:1px solid #e2e5e9;background:#fff;display:grid;grid-template-columns:1fr 45%;overflow:hidden}.v23-home-service__copy{padding:17px 10px 14px 18px}.v23-home-service__icon{font-size:29px;color:#13223a}.v23-home-service h3{font-size:16px;line-height:1.1;margin:5px 0 8px;color:#13223a}.v23-home-service p{font-size:11px;line-height:1.5;color:#536074;margin:0 0 8px}.v23-home-service a{font-size:10px;color:#a77719;text-decoration:none;font-weight:900}.v23-home-service img{width:100%;height:100%;object-fit:cover;min-height:170px}
.v23-proof{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;padding:4px 3%;border-top:1px solid #edf0f2;border-bottom:1px solid #e5e8ec}.v23-proof div{padding:18px 12px;border-right:1px solid #dfe3e7;color:#1b2a42;font-size:13px}.v23-proof div:last-child{border-right:0}.v23-proof strong{display:block;font-size:14px}
.v23-home-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:305px;background:#f5f6f8}
.v23-builder{background:radial-gradient(circle at 63% 48%,rgba(122,72,139,.28),transparent 34%),linear-gradient(115deg,#21102f,#351443 70%,#271032);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden}.v23-builder__copy{padding:30px 24px 28px 4vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.v23-builder__copy small{color:#d8aa40;letter-spacing:.13em;font-weight:900;font-size:10px}.v23-builder h2{font-size:30px;line-height:1.08;margin:8px 0 12px;max-width:360px}.v23-builder p{font-size:12px;color:#e0d9e5;line-height:1.55;max-width:380px}.v23-builder a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;margin-top:12px;padding:14px 20px;background:linear-gradient(135deg,#d5a33a,#b77f21);color:#fff;text-decoration:none;font-size:11px;font-weight:900;width:min(238px,100%)}
.v23-builder__visual{position:relative;min-height:305px;padding:8px 14px 0;display:flex;align-items:flex-end;justify-content:center}.v23-builder__diagram{position:relative;width:min(100%,410px);height:297px}.v23-builder__diagram>img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:285px;width:auto;max-width:58%;object-fit:contain;filter:drop-shadow(0 16px 15px rgba(0,0,0,.28));z-index:2}.v23-builder__callout{position:absolute;z-index:3;font-size:10px;line-height:1.24;color:#fff;min-width:84px}.v23-builder__callout strong,.v23-builder__callout span{display:block}.v23-builder__callout strong{font-weight:700}.v23-builder__callout span{font-weight:400;color:#f4eff7}.v23-builder__callout:after{content:"";position:absolute;top:10px;width:54px;height:1px;background:#d0a43d;box-shadow:0 0 0 1px rgba(208,164,61,.04)}.v23-builder__callout--left{text-align:right;left:0}.v23-builder__callout--left:after{left:calc(100% + 8px)}.v23-builder__callout--right{text-align:left;right:0}.v23-builder__callout--right:after{right:calc(100% + 8px)}.v23-builder__callout--glazing{top:83px}.v23-builder__callout--ironmongery{top:184px}.v23-builder__callout--ratings{top:24px}.v23-builder__callout--finishes{top:89px}.v23-builder__callout--protection{top:204px}
.v23-featured-project{background:#f7f8fa;display:grid;grid-template-columns:.9fr 1.1fr;min-width:0;overflow:hidden}.v23-featured-project__copy{padding:30px 25px 25px 30px;display:flex;flex-direction:column;justify-content:center;min-width:0}.v23-featured-project__copy small{color:#b27d1d}.v23-featured-project h2{font-size:27px;line-height:1.04;margin:8px 0}.v23-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.v23-tags span{background:#eef2f5;padding:5px 8px;border-radius:4px;font-size:9px;color:#21324b}.v23-featured-project p{font-size:12px;line-height:1.55;color:#536074;margin:7px 0 2px}.v23-featured-project a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;margin-top:10px;padding:13px 19px;background:#bd8924;color:#fff;text-decoration:none;font-size:10px;font-weight:900;width:min(192px,100%)}.v23-featured-project__visual{position:relative;min-width:0;min-height:305px;overflow:hidden;padding:14px 16px 30px 0}.v23-featured-project__visual>img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:2px}.v23-featured-project__pager{position:absolute;right:14px;bottom:0;height:38px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #e4e7eb;border-radius:6px 6px 0 0}.v23-featured-project__pager button{border:0;background:none;color:#25334a;font-size:20px;line-height:1;padding:3px}.v23-featured-project__pager i{width:8px;height:8px;border-radius:50%;background:#b9c1cc;display:block}.v23-featured-project__pager i.active{background:#15243d}
.v23-home-extra{padding:52px 4vw;background:#fff}.v23-home-extra__head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.v23-home-extra__head h2{font-size:35px;margin:5px 0 0}.v23-home-extra__head p{max-width:650px;color:#667085;font-size:13px}.v23-project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v23-project-card{border:1px solid #e1e5e9;background:#fff;text-decoration:none;color:#16243a;overflow:hidden}.v23-project-card img{width:100%;height:155px;object-fit:cover}.v23-project-card div{padding:14px}.v23-project-card strong{display:block;font-size:14px}.v23-project-card span{font-size:11px;color:#687386}

/* Accreditation ticker / footer */
.v23-accred-ticker{background:#121825;border-top:4px solid #d5a32b;color:#fff;padding:11px 0 12px;overflow:hidden}.v23-accred-ticker__label{display:flex;gap:24px;justify-content:center;font-size:8px;letter-spacing:.18em;color:#e3bf5c;font-weight:900;margin-bottom:9px}.v23-accred-ticker__viewport{overflow:hidden}.v23-accred-ticker__track{display:flex;width:max-content;animation:v23Ticker var(--ticker-duration,24s) linear infinite;will-change:transform}.v23-accred-ticker:hover .v23-accred-ticker__track{animation-play-state:paused}.v23-accred-set{display:flex;gap:14px;padding-right:14px}.v23-accred-logo{width:155px;height:66px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:8px;flex:0 0 auto}.v23-accred-logo img{max-width:100%;max-height:48px;object-fit:contain}.v23-accred-text{color:#18335b;flex-direction:column}.v23-accred-text strong{font-size:18px}.v23-accred-text small{font-size:9px}.v23-accred-logo[data-accred-index]{position:relative}
@keyframes v23Ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.v23-footer{background:#080d15;color:#bfc7d2;padding:34px 5%;display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:28px}.v23-footer__brand img{width:225px;max-height:82px;object-fit:contain;object-position:left}.v23-footer__brand p{font-size:12px}.v23-footer__links h4{color:#fff;font-size:12px;margin:0 0 10px}.v23-footer__links a,.v23-footer__links span{display:block;color:#bfc7d2;text-decoration:none;font-size:11px;padding:4px 0}.v23-footer__bottom{grid-column:1/-1;border-top:1px solid #222b39;padding-top:15px;display:flex;justify-content:space-between;gap:20px;font-size:9px}

/* Simple new standalone pages */
.v23-page-hero{padding:55px 5%;background:linear-gradient(120deg,#0d1625,#2b1238);color:#fff}.v23-page-hero .eyebrow{color:#d6aa3f}.v23-page-hero h1{font-size:48px;line-height:1.02;margin:8px 0 13px}.v23-page-hero p{max-width:820px;color:#d8dde5;font-size:15px;line-height:1.6}.v23-section{padding:48px 5%}.v23-section--soft{background:#f5f6f8}.v23-section--dark{background:#111a2a;color:#fff}.v23-section__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.v23-section__head h2{font-size:34px;margin:4px 0}.v23-section__head p{max-width:680px;color:#687386}.v23-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.v23-card{background:#fff;border:1px solid #e0e4e9;padding:18px}.v23-card img{width:100%;height:170px;object-fit:cover;margin-bottom:14px}.v23-card h3{font-size:18px;margin:0 0 7px}.v23-card p{font-size:12px;line-height:1.6;color:#667085}.v23-card a{color:#9d6f13;font-size:11px;font-weight:900;text-decoration:none}.v23-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.v23-note{padding:18px;background:#fff7df;border-left:4px solid #d8a52f;color:#5b4b28;font-size:12px;line-height:1.55}

@media(max-width:1320px){.v23-nav{padding-inline:2.2%;gap:10px}.v23-brand{min-width:170px}.v23-brand img{width:165px}.v23-navlinks{gap:0}.v23-navlinks a{font-size:10.5px;padding:10px 4px}.v23-contact{font-size:10.5px;padding:10px 2px}.v23-home-service{grid-template-columns:1.15fr .85fr}.v23-home-service h3{font-size:14px}}
@media(max-width:1100px){.v23-nav{min-height:auto}.v23-menu{display:block}.v23-navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#090d13;padding:14px 20px;flex-direction:column;align-items:stretch}.v23-navlinks.open{display:flex}.v23-navlinks a{padding:11px 6px}.v23-contact{margin-left:0}.v23-home-services{grid-template-columns:repeat(2,1fr)}.v23-proof{grid-template-columns:repeat(3,1fr)}.v23-home-feature{grid-template-columns:1fr}.v23-builder,.v23-featured-project{min-height:300px}.v23-project-grid{grid-template-columns:repeat(2,1fr)}.v23-footer{grid-template-columns:1fr 1fr}.v23-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.v23-certbar__inner{justify-content:flex-start}.v23-certbar__divider{display:none}.v23-nav{padding:10px 14px}.v23-brand{min-width:0}.v23-brand img{width:145px}.v23-contact{font-size:10px;padding:10px 2px}.v23-home-hero{grid-template-columns:1fr}.v23-home-hero__copy{padding:35px 22px}.v23-home-hero h1{font-size:40px}.v23-home-hero__image{min-height:280px}.v23-home-services{grid-template-columns:1fr;padding:8px}.v23-home-service{min-height:155px}.v23-proof{grid-template-columns:repeat(2,1fr)}.v23-builder,.v23-featured-project{grid-template-columns:1fr}.v23-builder__visual{min-height:240px}.v23-featured-project img{min-height:230px}.v23-project-grid,.v23-card-grid,.v23-two{grid-template-columns:1fr}.v23-footer{grid-template-columns:1fr}.v23-footer__bottom{flex-direction:column}.v23-page-hero h1{font-size:38px}}

@media(max-width:1220px){.v23-builder{grid-template-columns:1fr 1.15fr}.v23-builder__diagram{width:360px}.v23-builder__callout:after{width:38px}.v23-builder h2{font-size:27px}.v23-featured-project h2{font-size:24px}}
@media(max-width:1100px){.v23-home-feature{grid-template-columns:1fr}.v23-builder,.v23-featured-project{min-height:315px}.v23-builder__diagram{width:min(100%,450px)}}
@media(max-width:700px){.v23-builder{grid-template-columns:1fr}.v23-builder__copy{padding:28px 20px 12px}.v23-builder__visual{min-height:300px;padding:0 8px}.v23-builder__diagram{width:100%;max-width:390px;height:295px}.v23-builder__diagram>img{max-width:55%;height:270px}.v23-builder__callout{font-size:9px;min-width:72px}.v23-builder__callout:after{width:24px}.v23-builder__callout--left:after{left:calc(100% + 5px)}.v23-builder__callout--right:after{right:calc(100% + 5px)}.v23-featured-project{grid-template-columns:1fr}.v23-featured-project__copy{padding:28px 20px 12px}.v23-featured-project__visual{padding:8px 14px 30px}.v23-featured-project__visual>img{min-height:230px}}
@media(prefers-reduced-motion:reduce){.v23-accred-ticker__track{animation:none}}
