
:root{
 --primary:#8f1118;
 --primary-dark:#5d0b0f;
 --primary-deep:#260506;
 --accent:#f25723;
 --accent-soft:#ffb29a;
 --text:#191515;
 --muted:#6f6665;
 --bg:#f8f6f3;
 --surface:#fff;
 --surface-2:#f0ece7;
 --border:#e4ddd6;
 --radius:18px;
 --radius-sm:12px;
 --shadow:0 22px 60px rgba(44,12,12,.13);
 --shadow-soft:0 12px 35px rgba(44,12,12,.08);
 --container:1180px;
 --section:clamp(72px,8vw,118px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.skip-link{position:fixed;left:14px;top:-80px;z-index:9999;background:#fff;color:#111;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
.topbar{position:sticky;top:0;z-index:1001;background:var(--primary-deep);color:#f9d9d1;font-size:12px;letter-spacing:.04em}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-links{display:flex;gap:22px;color:#fff}
.site-header{position:sticky;top:38px;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(125,17,23,.08);box-shadow:0 3px 18px rgba(20,6,7,.04)}
.header-inner{height:80px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;justify-content:flex-start;min-width:88px}
.brand img{width:72px;height:auto;max-height:68px;object-fit:contain;border-radius:9px;background:#310204}
.brand-copy{display:flex;flex-direction:column;line-height:1.03}
.brand-copy strong{font-size:14px;letter-spacing:.09em}
.brand-copy small{font-size:9px;letter-spacing:.22em;color:var(--primary)}
.desktop-nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.desktop-nav a{position:relative;font-size:14px;font-weight:650;color:#413939;padding:28px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--primary);transition:.28s}
.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}
.desktop-nav a.active{color:var(--primary)}
.header-cta{margin-left:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:#fff;font-weight:750;font-size:14px;box-shadow:0 8px 20px rgba(143,17,24,.18);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-2px);background:#a9161f;box-shadow:0 12px 28px rgba(143,17,24,.24)}
.btn-sm{min-height:42px;padding:10px 16px}
.btn-ghost{background:transparent;color:var(--primary);box-shadow:none}
.btn-ghost:hover{color:#fff}
.btn-ghost.dark{color:var(--text);border-color:#cfc4bc}
.btn-ghost.dark:hover{background:#251515;color:#fff;border-color:#251515}
.btn-light{background:#fff;border-color:#fff;color:var(--primary-deep)}
.btn-light:hover{background:#fff;color:var(--primary);box-shadow:0 12px 30px rgba(0,0,0,.14)}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;box-shadow:none}
.btn-outline-light:hover{background:#fff;color:var(--primary-deep)}
.btn-block{width:100%}
.menu-toggle,.menu-close{display:none}
.scroll-progress{position:fixed;z-index:1100;top:118px;left:0;right:0;height:2px;pointer-events:none}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--primary))}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:850;color:var(--primary);margin-bottom:14px}
.eyebrow.light{color:#ffb9a4}
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(242,87,35,.12)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f9f2ed 48%,#f0ded5 100%);padding:clamp(60px,8vw,105px) 0}
.hero::after{content:"";position:absolute;inset:auto -90px -170px auto;width:420px;height:420px;border:1px solid rgba(143,17,24,.12);border-radius:50%}
.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.18}
.hero-glow-one{width:300px;height:300px;left:-150px;top:-90px;background:radial-gradient(circle,#f25723,transparent 65%)}
.hero-glow-two{width:350px;height:350px;right:12%;bottom:-220px;background:radial-gradient(circle,#8f1118,transparent 65%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;position:relative;z-index:2}
.hero h1,.page-hero h1{font-size:clamp(42px,5.9vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px;max-width:820px}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero-copy>p{font-size:17px;color:#5e5351;max-width:650px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}
.hero-trust span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid #eaded6;font-size:12px;font-weight:750;color:#5b4542}
.hero-visual{position:relative}
.hero-image-shell{background:#310204;padding:12px;border-radius:24px;box-shadow:var(--shadow);transform:rotate(1deg)}
.hero-image-shell img{width:100%;height:auto;object-fit:contain;border-radius:15px;background:#ede7e1}
.hero-image-label{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 7px 0;color:#fff}
.hero-image-label strong{font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.hero-image-label span{font-size:12px;color:#e8b7ad}
.hero-mini-card{position:absolute;left:-32px;bottom:46px;display:flex;align-items:center;gap:12px;width:245px;padding:15px;background:rgba(255,255,255,.96);border:1px solid #eee5de;border-radius:14px;box-shadow:var(--shadow-soft)}
.hero-mini-card img{width:30px;height:30px;color:var(--primary)}
.hero-mini-card strong,.hero-mini-card small{display:block}
.hero-mini-card strong{font-size:12px}
.hero-mini-card small{font-size:11px;color:var(--muted)}
.service-ribbon{background:#1f0a0b;color:#fff;border-top:1px solid rgba(255,255,255,.05)}
.service-ribbon-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.service-ribbon a{min-height:126px;padding:25px 24px;border-right:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-content:center;transition:background .25s}
.service-ribbon a:last-child{border-right:0}
.service-ribbon a:hover{background:#330c0e}
.service-ribbon span{grid-row:1/3;color:#ff8b67;font-size:11px;font-weight:800}
.service-ribbon strong{font-size:14px;line-height:1.2}
.service-ribbon small{color:#cbb5b1;font-size:11px}
.section{padding:var(--section) 0}
.muted-section{background:var(--surface-2)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,7vw,95px);align-items:center}
.split-grid.reverse .content-block{order:1}.split-grid.reverse .image-card{order:2}
.visual-stack{position:relative}
.image-card{margin:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-soft)}
.image-card img{width:100%;height:auto;border-radius:12px;object-fit:contain}
.image-card-wide{transform:rotate(-1deg)}
.floating-note{position:absolute;right:-18px;bottom:25px;max-width:250px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-soft)}
.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:13px}.floating-note small{font-size:11px;color:var(--muted)}
.note-icon{float:right;color:var(--primary);font-weight:900}
.content-block h2,.section-head h2,.editorial-copy h2,.project-copy h2,.contact-panel h2,.contact-details h2,.faq-intro h2,.contact-help h2,.service-detail-copy h2{font-size:clamp(34px,4.2vw,58px);line-height:1.03;letter-spacing:-.045em;margin:0 0 22px}
.content-block p,.project-copy p,.service-detail-copy p{color:var(--muted);margin:0 0 16px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.check-grid span{position:relative;padding:12px 12px 12px 37px;background:#fff;border:1px solid var(--border);border-radius:10px;font-size:13px;font-weight:700}
.check-grid span::before{content:"✓";position:absolute;left:13px;color:var(--primary);font-weight:900}
.text-link{display:inline-flex;gap:10px;color:var(--primary);font-weight:800;margin-top:10px}
.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:44px}
.section-head>div{max-width:720px}.section-head>p{max-width:390px;color:var(--muted);margin:0}
.section-head.narrow{justify-content:flex-start}
.services-showcase{background:#fff}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{position:relative;min-height:310px;padding:28px 24px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.service-card.featured{background:linear-gradient(145deg,#7d1117,#390709);color:#fff;border-color:transparent}
.service-num{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--accent);margin-bottom:50px}
.service-card h3{font-size:23px;line-height:1.08;letter-spacing:-.03em;margin:0 0 14px}
.service-card p{font-size:13px;color:#756b69;margin:0 0 20px}
.service-card.featured p{color:#dec3be}
.service-card a{position:absolute;left:24px;bottom:24px;font-size:12px;font-weight:800;color:var(--primary)}
.service-card.featured a{color:#fff}
.dark-section{background:#1d0708;color:#fff}
.editorial-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.editorial-copy p{color:#d1b6b1;max-width:560px}
.component-visuals{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.component-visuals figure{margin:0;background:#2b0c0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px}
.component-visuals img{width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:10px;background:#f6f2ef}
.component-visuals figcaption{padding:10px 4px 2px;font-size:12px;color:#e7cbc5}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border)}
.process-step{position:relative;padding:32px 26px 0 0}
.process-step::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px var(--bg)}
.process-step span{font-size:11px;font-weight:900;color:var(--primary);letter-spacing:.12em}
.process-step h3{font-size:18px;margin:10px 0 9px}.process-step p{font-size:13px;color:var(--muted);margin:0;max-width:230px}
.project-feature{background:#fff}
.project-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.project-image{border-radius:var(--radius);background:#f2ede9;padding:12px;box-shadow:var(--shadow-soft)}
.project-image img{width:100%;max-height:650px;object-fit:contain;border-radius:12px}
.mini-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}
.mini-specs div{padding:14px;border-left:2px solid var(--primary);background:#f8f3f0}.mini-specs strong,.mini-specs span{display:block}.mini-specs strong{font-size:14px}.mini-specs span{font-size:11px;color:var(--muted)}
.contact-preview{background:linear-gradient(135deg,#f0e7e0,#fff)}
.contact-preview-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.contact-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:15px}
.contact-list li{display:flex;align-items:flex-start;gap:13px}
.contact-list img{width:22px;height:22px;color:var(--primary)}
.contact-list strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--primary)}
.contact-list a{font-weight:750}
.enquiry-form{background:#fff;border:1px solid var(--border);border-radius:22px;padding:32px;box-shadow:var(--shadow-soft)}
.form-head span{display:block;color:var(--primary);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:850}.form-head h3{font-size:29px;margin:6px 0 18px;letter-spacing:-.03em}.form-head p{color:var(--muted);font-size:13px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.enquiry-form label{display:grid;gap:7px;font-size:12px;font-weight:780;color:#514746;margin-bottom:13px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #ddd4cd;background:#fbfaf9;color:#171313;border-radius:10px;padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(143,17,24,.08)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{font-size:12px;margin:12px 0 0;min-height:20px;color:var(--muted)}
.cta-band{padding:0;background:#1d0708;color:#fff}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:58px 0}
.cta-band h2{font-size:clamp(34px,4vw,54px);line-height:1;margin:0 0 12px;letter-spacing:-.04em}.cta-band p{color:#d8beba;margin:0}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.site-footer{background:#120405;color:#efe1de;padding:70px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr 1.25fr;gap:45px}
.brand-footer{min-width:0;color:#fff}.brand-footer img{background:#350203}.footer-brand p{color:#bca9a6;max-width:420px;font-size:13px}.footer-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#ff8f6c;margin:10px 0 18px}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:9px}.footer-links a{font-size:13px;color:#cdbab6}.footer-links a:hover{color:#fff}
.contact-list.compact{margin:0}.contact-list.compact li{font-size:12px;color:#cab7b4}.contact-list.compact a{font-weight:600;overflow-wrap:anywhere}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#9d8986}
.floating-actions{position:fixed;right:18px;bottom:max(20px,env(safe-area-inset-bottom));z-index:950;display:grid;gap:10px}
.float-btn{position:relative;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.2);transition:transform .2s}
.float-btn:hover{transform:translateY(-3px)}
.float-btn img{width:25px;height:25px;filter:brightness(0) invert(1)}
.float-btn.whatsapp{background:#1f9d55}.float-btn.call{background:var(--primary)}
.float-btn::before{content:"";position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:.35;animation:ripple 2.8s ease-out infinite}
.float-btn span{position:absolute;right:62px;white-space:nowrap;background:#1b1515;color:#fff;padding:7px 10px;border-radius:7px;font-size:11px;opacity:0;transform:translateX(6px);pointer-events:none;transition:.2s}
.float-btn:hover span{opacity:1;transform:none}
.back-top{position:fixed;right:25px;bottom:145px;width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--primary);box-shadow:var(--shadow-soft);z-index:900;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}
.back-top.show{opacity:1;pointer-events:auto;transform:none}
@keyframes ripple{0%{transform:scale(.92);opacity:.4}70%,100%{transform:scale(1.28);opacity:0}}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#250506,#661014 58%,#8b1b1c);color:#fff;padding:clamp(58px,7vw,92px) 0}
.page-hero::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-140px;top:-220px}
.page-hero.compact{padding:58px 0}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2}
.page-hero h1{font-size:clamp(40px,5.1vw,70px);margin-bottom:19px}.page-hero p{color:#e7ceca;max-width:690px;font-size:16px}
.page-hero-media{background:#2a0809;border:1px solid rgba(255,255,255,.12);padding:10px;border-radius:18px}
.page-hero-media img{width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:11px;background:#eee9e5}
.page-hero-media.card-media img{background:#fff}
.page-hero.text-only{padding:74px 0}.page-hero.text-only .container{position:relative;z-index:2}
.story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.story-card{background:#fff;border:1px solid var(--border);padding:28px;border-radius:16px}.story-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f5e4de;color:var(--primary);font-weight:900}.story-card h3{margin:26px 0 8px}.story-card p{color:var(--muted);font-size:13px;margin:0}
.service-detail-section{scroll-margin-top:120px}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.service-detail-grid.reverse .service-detail-copy{order:2}.service-detail-grid.reverse .detail-figure{order:1}
.service-index{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.15em;color:#9b817c;margin-right:12px}.service-index.light{color:#d7aaa1}
.detail-figure{margin:0;background:#fff;border:1px solid var(--border);padding:12px;border-radius:18px;box-shadow:var(--shadow-soft)}
.detail-figure img{width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:11px}.detail-figure figcaption{font-size:11px;color:var(--muted);padding:9px 4px 2px}
.dark-section .service-detail-copy p{color:#d7bebb}.dark-section .check-grid span{background:#2b0c0d;border-color:rgba(255,255,255,.12);color:#fff}.dark-section .check-grid span::before{color:#ff8b67}
.system-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:var(--shadow-soft)}
.diagram-node{min-height:145px;padding:20px 15px;background:#f8f4f1;border-radius:12px}.diagram-node span,.diagram-node strong,.diagram-node small{display:block}.diagram-node span{color:var(--primary);font-weight:900;font-size:11px}.diagram-node strong{margin-top:28px}.diagram-node small{color:var(--muted);font-size:11px}.diagram-arrow{color:var(--primary);font-weight:900}
.mosaic-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:auto auto;gap:14px}
.mosaic-grid figure{margin:0;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px}.mosaic-grid .mosaic-large{grid-row:1/3}.mosaic-grid img{width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:10px;background:#f3efec}.mosaic-grid figcaption{font-size:11px;color:var(--muted);padding:8px 4px 1px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 7px 22px rgba(44,12,12,.05)}.product-media{height:310px;padding:12px;background:#f3efeb;display:grid;place-items:center}.product-media img{width:100%;height:100%;object-fit:contain;border-radius:10px}.product-card>div:last-child{padding:21px}.product-card span{font-size:10px;color:var(--primary);text-transform:uppercase;letter-spacing:.14em;font-weight:850}.product-card h3{font-size:20px;margin:7px 0 10px}.product-card p{color:var(--muted);font-size:13px;min-height:63px}.product-card a{font-size:12px;color:var(--primary);font-weight:850}
.availability-note{margin-top:28px;padding:24px 26px;border-radius:16px;background:#241112;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}.availability-note p{margin:0;color:#d3bfbb;font-size:13px}.availability-note .btn{white-space:nowrap}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.gallery-toolbar h2{font-size:clamp(32px,4vw,52px);margin:0;letter-spacing:-.04em}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}.gallery-filters button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800;color:#5c5150}.gallery-filters button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px}.gallery-item{margin:0;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-item[hidden]{display:none}.gallery-open{display:block;width:100%;padding:0;border:0;background:#f1ece8;overflow:hidden}.gallery-open img{width:100%;height:260px;object-fit:contain;transition:transform .35s}.gallery-item.tall .gallery-open img{height:530px}.gallery-item.wide .gallery-open img{height:320px}.gallery-open:hover img{transform:scale(1.025)}.gallery-item figcaption{padding:11px 13px;font-size:11px;color:var(--muted)}
.lightbox{position:fixed;inset:0;background:rgba(16,3,4,.94);z-index:1500;display:none;place-items:center;padding:28px}.lightbox.open{display:grid}.lightbox img{max-width:min(100%,1100px);max-height:82vh;object-fit:contain;border-radius:12px}.lightbox p{color:#fff;margin:10px 0 0}.lightbox-close{position:absolute;right:18px;top:18px;width:45px;height:45px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#fff;color:#111;font-size:28px}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}.faq-intro{position:sticky;top:130px}.faq-intro p{color:var(--muted);margin-bottom:22px}.faq-list{display:grid;gap:10px}.faq-item{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 21px;border:0;background:#fff;color:#2e2726;text-align:left;font-weight:800}.faq-item b{font-size:20px;color:var(--primary);transition:transform .2s}.faq-item button[aria-expanded="true"] b{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.faq-answer>p{overflow:hidden;margin:0;padding:0 21px;color:var(--muted);font-size:13px}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding-bottom:20px}
.contact-page-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:55px;align-items:start}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.contact-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:12px}.contact-card img{width:24px;height:24px}.contact-card small,.contact-card strong{display:block}.contact-card small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.contact-card strong{font-size:13px;overflow-wrap:anywhere}.address-box{margin-top:14px;display:flex;gap:14px;padding:20px;background:#261011;color:#fff;border-radius:15px}.address-box small,.address-box strong,.address-box a{display:block}.address-box small{color:#dda49a;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.address-box strong{font-size:14px;margin:5px 0 8px}.address-box a{font-size:11px;color:#ffb197}.contact-help{text-align:center}.help-grid{margin-top:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.help-grid div{padding:28px 18px;background:#fff;border:1px solid var(--border);border-radius:14px}.help-grid strong,.help-grid span{display:block}.help-grid strong{color:var(--primary);font-size:12px}.help-grid span{font-weight:800;margin-top:17px}
.legal .prose{max-width:850px}.prose h2{font-size:27px;margin:34px 0 8px}.prose p{color:var(--muted)}.prose a{color:var(--primary);font-weight:750}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
:focus-visible{outline:3px solid rgba(242,87,35,.55);outline-offset:3px;border-radius:6px}

@media (max-width:1100px){
 .desktop-nav{gap:14px}.desktop-nav a{font-size:12px}.header-cta{display:none}.brand{min-width:80px}
 .hero-grid,.page-hero-grid{gap:38px}.service-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.25fr .7fr .9fr}.footer-grid>div:last-child{grid-column:1/-1}
 .product-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:880px){
 .topbar-inner{justify-content:center}.topbar-links{display:none}
 .desktop-nav,.header-cta{display:none}
 .header-inner{height:72px}.brand{min-width:0;margin-right:auto}.brand img{width:64px;height:auto;max-height:60px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:8px}
 .menu-toggle{display:grid;width:46px;height:46px;border:1px solid #e3d8d2;background:#fff;border-radius:11px;place-content:center;gap:5px;padding:0;z-index:1002}
 .menu-toggle span{width:20px;height:2px;background:#2f2222;transition:.25s}.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .menu-close{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid #eadfda;background:#fff;font-size:25px}
 .mobile-menu{position:fixed;inset:110px 0 0;background:rgba(20,5,6,.72);z-index:1001;opacity:0;pointer-events:none;transition:opacity .22s}
 .mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu-panel{position:absolute;right:0;top:0;width:min(92vw,420px);height:100%;height:calc(100dvh - 110px);background:#fff;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;padding:18px 20px 26px}
 .mobile-menu.open .mobile-menu-panel{transform:none}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--primary)}
 .mobile-menu nav{display:grid;padding:10px 0}.mobile-menu nav a{min-height:48px;display:flex;align-items:center;padding:0 8px;border-bottom:1px solid #eee7e2;font-weight:780}.mobile-menu nav a.active{color:var(--primary)}
 .mobile-contact{display:grid;gap:8px;margin-top:15px}.mobile-contact a{padding:12px 13px;border-radius:10px;background:#f5eeea;font-size:12px;font-weight:800}
 .scroll-progress{top:110px}
 .hero-grid,.page-hero-grid,.split-grid,.editorial-grid,.project-grid,.contact-preview-grid,.service-detail-grid,.contact-page-grid,.faq-layout{grid-template-columns:1fr}
 .hero{padding-top:55px}.hero h1{font-size:clamp(42px,9vw,70px)}.hero-mini-card{left:12px;bottom:22px}
 .service-ribbon-grid{grid-template-columns:1fr 1fr}.service-ribbon a:nth-child(2){border-right:0}.service-ribbon a:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
 .split-grid.reverse .content-block,.split-grid.reverse .image-card,.service-detail-grid.reverse .service-detail-copy,.service-detail-grid.reverse .detail-figure{order:initial}
 .section-head{align-items:start;flex-direction:column;margin-bottom:32px}.section-head>p{max-width:650px}
 .process-line{grid-template-columns:1fr 1fr;gap:28px 12px}.project-grid{gap:36px}
 .cta-band-inner{align-items:flex-start;flex-direction:column}
 .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}
 .page-hero-media{max-width:650px}.faq-intro{position:static}
 .gallery-grid{grid-template-columns:1fr 1fr}.gallery-item.wide{grid-column:span 2}
 .contact-cards{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
 .site-header{top:34px}
 .container{width:min(calc(100% - 28px),var(--container))}
 .topbar{font-size:10px;text-align:center}.topbar-inner{min-height:34px}
 .header-inner{height:68px}.brand img{width:60px;height:auto;max-height:56px}.brand-copy strong{font-size:11px}.brand-copy small{font-size:7px;letter-spacing:.17em}.menu-toggle{width:44px;height:44px}
 .mobile-menu{inset:102px 0 0}.mobile-menu-panel{height:calc(100dvh - 102px)}.scroll-progress{top:102px}
 .hero{padding:45px 0 60px}.hero-grid{gap:35px}.hero h1,.page-hero h1{font-size:clamp(38px,12vw,54px);letter-spacing:-.045em}.hero-copy>p,.page-hero p{font-size:14px}
 .hero-actions,.cta-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn,.cta-actions .btn{width:100%}
 .hero-image-shell{padding:8px;border-radius:16px}.hero-image-shell img{border-radius:10px}.hero-image-label{display:block}.hero-image-label span{display:block;margin-top:3px}.hero-mini-card{position:relative;left:auto;bottom:auto;width:100%;margin-top:10px}
 .hero-trust{margin-top:24px}.hero-trust span{font-size:10px}
 .service-ribbon-grid{grid-template-columns:1fr}.service-ribbon a{min-height:94px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
 .section{padding:64px 0}
 .content-block h2,.section-head h2,.editorial-copy h2,.project-copy h2,.contact-panel h2,.contact-details h2,.faq-intro h2,.contact-help h2,.service-detail-copy h2{font-size:clamp(31px,10vw,44px)}
 .check-grid,.service-grid,.component-visuals,.process-line,.mini-specs,.field-row,.product-grid,.contact-cards,.help-grid{grid-template-columns:1fr}
 .floating-note{position:relative;right:auto;bottom:auto;max-width:none;margin-top:10px}
 .process-line{gap:24px}.process-step{padding-top:23px}
 .mini-specs{margin:22px 0}
 .enquiry-form{padding:22px 16px;border-radius:16px}
 .cta-band-inner{padding:44px 0}.cta-band h2{font-size:36px}
 .footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}
 .floating-actions{right:12px}.float-btn{width:50px;height:50px}.float-btn span{display:none}.back-top{right:18px}
 .page-hero,.page-hero.compact,.page-hero.text-only{padding:50px 0}.page-hero-grid{gap:26px}.page-hero-media img{max-height:420px}
 .story-cards{grid-template-columns:1fr}.system-diagram{grid-template-columns:1fr;gap:8px}.diagram-arrow{transform:rotate(90deg);justify-self:center}.diagram-node{min-height:auto}
 .mosaic-grid{grid-template-columns:1fr;grid-template-rows:auto}.mosaic-grid .mosaic-large{grid-row:auto}
 .availability-note{grid-template-columns:1fr;align-items:start}
 .gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-grid{grid-template-columns:1fr}.gallery-item.wide{grid-column:auto}.gallery-item.tall{grid-row:auto}.gallery-item .gallery-open img,.gallery-item.tall .gallery-open img,.gallery-item.wide .gallery-open img{height:auto;max-height:560px}
 .contact-card strong{font-size:12px}
}
@media (max-width:360px){
 .brand-copy strong{font-size:10px}.brand-copy small{font-size:6.5px}.brand img{width:56px;height:auto;max-height:52px}.menu-toggle{width:42px;height:42px}
 .hero h1,.page-hero h1{font-size:36px}.btn{min-height:46px;padding:11px 15px}.service-card{min-height:285px}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .reveal{opacity:1!important;transform:none!important}
}
