@import url('https://fonts.cdnfonts.com/css/nexa-bold');
@import url('https://fonts.cdnfonts.com/css/nexa');
/* ClearLine — unified ultra-luxury design system */
:root{
  --cl-primary:#667a99;
  --cl-accent:#5f029a;
  --cl-cta-bg:var(--cl-accent);
  --cl-cta-text:#ffffff;
  --cl-cta-hover:var(--cl-orange);
  --cl-cta-border:var(--cl-accent);
  --cl-orange:#ff6002;
  --cl-white:#ffffff;
  --cl-offwhite:#f7f6fc;
  --cl-lightgrey:#f4f6fb;
  --cl-text:#3d4f63;
  --cl-muted:#3a4858;
  --cl-border:#d8dfeb;
  --cl-dark:#45566d;
  --cl-bg:#f3f5fa;
  --cl-link:#5f029a;
  --cl-success:#0f8a5f;
  --cl-error:#c0392b;
  --cl-silver:#667a99;
  --cl-silver-light:#8d9db5;
  --cl-silver-pale:#b8c4d4;
  --cl-silver-deep:#4a5f78;
  --cl-silver-rich:#556a85;
  --cl-silver-shadow:#3d4f63;
  --lux-cream:#fffcf7;
  --lux-champagne:#fffcf7;
  --lux-ivory:#fffcf7;
  --lux-charcoal:var(--cl-silver-deep);
  --lux-silver-surface:linear-gradient(168deg,#6d839a 0%,#5a7088 34%,#4f6379 72%,#485d74 100%);
  --lux-silver-surface-deep:linear-gradient(180deg,#5a7088 0%,#4a5f78 52%,#45566d 100%);
  --lux-overlay:rgba(74,95,120,.72);
  --lux-overlay-soft:rgba(74,95,120,.35);
  --lux-line:rgba(102,122,153,.14);
  --lux-shadow:0 20px 56px rgba(74,95,120,.07);
  --lux-shadow-hover:0 28px 72px rgba(74,95,120,.11);
  --section-y:56px;
  --section-y-tight:40px;
  --section-gap:0;
  --editorial-max:1280px;
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:20px;
  --font-head:'Nexa Bold','Nexa',system-ui,sans-serif;
  --font-body:'Nexa Light','Nexa',system-ui,sans-serif;
  --font-serif:var(--font-head);
  --font-sans:var(--font-body);
  --img-hero:url('https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=2000&q=90&auto=format&fit=crop');
  --img-penthouse:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?w=2000&q=90&auto=format&fit=crop');
  --img-marble:url('https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=1600&q=90&auto=format&fit=crop');
  --img-living:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=1600&q=90&auto=format&fit=crop');
  --img-bathroom:url('https://images.unsplash.com/photo-1615873968403-89e068629265?w=1600&q=90&auto=format&fit=crop');
  --img-linen:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=1600&q=90&auto=format&fit=crop');
  --img-kitchen:url('https://images.unsplash.com/photo-1556911220-bff31c812dba?w=1600&q=90&auto=format&fit=crop');
  --img-editorial:url('https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=1800&q=90&auto=format&fit=crop');
  --img-office:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1800&q=90&auto=format&fit=crop');
  --img-warehouse:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1800&q=90&auto=format&fit=crop');
  --img-showroom:url('https://images.unsplash.com/photo-1753911372180-f4c2713f29ea?w=1800&q=90&auto=format&fit=crop');
  --img-bedroom:url('https://images.unsplash.com/photo-1600607687644-c7171b42498f?w=1600&q=90&auto=format&fit=crop');
  --img-detail:url('https://images.unsplash.com/photo-1484154218962-a197022b5858?w=1600&q=90&auto=format&fit=crop');
  --img-home-hero:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?w=2000&q=90&auto=format&fit=crop');
  --img-residential-hero:url('https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=1600&q=90&auto=format&fit=crop');
  --img-services-hero:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=1800&q=90&auto=format&fit=crop');
  --img-commercial-hero:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1600&q=90&auto=format&fit=crop');
  --img-oven:url('https://images.unsplash.com/photo-1621905252507-b35492cc74b4?w=1600&q=90&auto=format&fit=crop');
  --img-carpet:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=1600&q=90&auto=format&fit=crop');
  --img-upholstery:url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?w=1600&q=90&auto=format&fit=crop');
  --img-mattress:url('https://images.unsplash.com/photo-1585417238790-f6d290d6490c?w=1600&q=90&auto=format&fit=crop');
  --img-svc-residential:url('https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=1200&q=90&auto=format&fit=crop');
  --img-svc-eot:url('https://images.unsplash.com/photo-1615873968403-89e068629265?w=1200&q=90&auto=format&fit=crop');
  --img-svc-eot-alt:url('https://images.unsplash.com/photo-1484154218962-a197022b5858?w=1200&q=90&auto=format&fit=crop');
  --img-svc-airbnb:url('https://images.unsplash.com/photo-1600607687644-c7171b42498f?w=1200&q=90&auto=format&fit=crop');
  --img-svc-airbnb-alt:url('https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=1200&q=90&auto=format&fit=crop');
  --img-svc-commercial:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1200&q=90&auto=format&fit=crop');
  --img-svc-commercial-alt:url('https://images.unsplash.com/photo-1556911220-bff31c812dba?w=1200&q=90&auto=format&fit=crop');
  --img-svc-specialist:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=1200&q=90&auto=format&fit=crop');
  --img-svc-specialist-alt:url('https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?w=1200&q=90&auto=format&fit=crop');
  --img-svc-post-construction:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?w=1200&q=90&auto=format&fit=crop');
  --img-svc-post-construction-alt:url('https://images.unsplash.com/photo-1484154218962-a197022b5858?w=1200&q=90&auto=format&fit=crop');
  --img-contact-hero:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=1600&q=90&auto=format&fit=crop');
  --img-contact-secondary:url('https://images.unsplash.com/photo-1484154218962-a197022b5858?w=1600&q=90&auto=format&fit=crop');
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:300;
  color:var(--cl-text);
  line-height:1.7;
  background:var(--lux-ivory);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(var(--editorial-max),90vw);margin:0 auto}

/* Typography — Nexa Bold headlines, Nexa Light body */
h1,h2,h4,.portal-card__body h2,.exit-modal__title,.social-proof-strip blockquote{
  font-family:var(--font-head);
  font-weight:700;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--lux-charcoal);
  margin:0 0 1rem;
}
h1{font-size:clamp(1.45rem,3.2vw,2.35rem);max-width:28ch}
h2{font-size:clamp(1.2rem,2.4vw,1.75rem);max-width:32ch}
h3{
  font-family:var(--font-head);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cl-text);
  margin:0 0 .65rem;
}
p,label,li{color:var(--cl-muted);margin:0 0 1rem;font-size:.94rem;font-family:var(--font-body);font-weight:400;line-height:1.7}
.lead,.muted{margin:0 0 1rem;font-size:.94rem;font-family:var(--font-body);font-weight:400;line-height:1.7}
.lead{max-width:52ch;color:var(--cl-text)}
.hero-subhead{font-family:var(--font-body);font-weight:300;line-height:1.7;max-width:48ch;color:rgba(255,255,255,.82);font-size:clamp(.95rem,1.6vw,1.05rem)}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.65rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--cl-primary);margin-bottom:1.25rem;
}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--cl-primary);opacity:.5}
.section-label{font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cl-silver-deep);margin-bottom:.75rem}
.muted{color:var(--cl-muted);font-size:.88rem;font-weight:400}

/* Layout — tighter editorial flow */
.section{padding:var(--section-y) 0;margin:0}
.section + .section{margin-top:var(--section-gap)}
.section--cream,.soft{background:var(--lux-cream)}
.section--champagne{background:var(--lux-champagne)}
.section--flush{padding-top:0}
.section--tight{padding:var(--section-y-tight) 0}
.section--charcoal,.trust-badges-section{
  background:var(--lux-silver-surface);color:rgba(255,255,255,.86);
  position:relative;overflow:hidden;
}
.section--charcoal::before,.trust-badges-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 90% 55% at 50% -15%,rgba(255,255,255,.1),transparent 62%);
}
.section--charcoal .container,.trust-badges-section .container{position:relative;z-index:1}
.section--charcoal h2,.trust-badges-section h2{color:#fff}
.section--charcoal p,.trust-badges-section p{color:rgba(255,255,255,.68)}
.section--charcoal .section-label,.trust-badges-section .section-label{color:rgba(255,255,255,.52)}
.grid{display:grid;gap:clamp(1rem,2vw,1.75rem);min-width:0;max-width:100%}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.two{grid-template-columns:repeat(2,1fr)}
.three{grid-template-columns:repeat(3,1fr)}
.four{grid-template-columns:repeat(4,1fr)}

/* Buttons — global CTA colours (--cl-cta-*) */
.btn,.nav-cta,.social-btn,a.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  font-family:var(--font-head);font-size:.68rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.9rem 1.6rem;border-radius:2px;border:1px solid var(--cl-cta-border);
  cursor:pointer;transition:background .45s ease,border-color .45s ease,color .45s ease,transform .35s ease,box-shadow .35s ease,opacity .45s ease;
  background:var(--cl-cta-bg)!important;color:var(--cl-cta-text)!important;
}
.btn:hover,.nav-cta:hover,.social-btn:hover,a.btn:hover{
  background:var(--cl-cta-hover)!important;border-color:var(--cl-cta-hover)!important;color:var(--cl-cta-text)!important;
  transform:translateY(-1px);box-shadow:0 10px 28px rgba(255,96,2,.22);opacity:.98;
}
.btn.secondary,.btn.ghost{background:var(--cl-cta-bg)!important;border-color:var(--cl-cta-border)!important;color:var(--cl-cta-text)!important}
.btn.orange{background:var(--cl-cta-bg)!important;border-color:var(--cl-cta-border)!important}
.btn.orange:hover{background:var(--cl-cta-hover)!important;border-color:var(--cl-cta-hover)!important}
.btn.full{width:100%;margin-top:.65rem}
button.btn{border:1px solid var(--cl-cta-border)}
/* Specialist listing — text links, not boxed buttons */
#pick-services .card > a.card-link{
  display:inline;margin-top:.35rem;padding:0;border:0;background:none!important;
  font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.04em;
  text-transform:none;color:var(--cl-text)!important;box-shadow:none!important;transform:none!important;
}
#pick-services .card > a.card-link:hover{color:var(--cl-accent)!important;background:none!important;border:0!important}

/* Section content alignment (visual editor) */
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-center > .container{text-align:center}
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-right > .container{text-align:right}
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-left > .container{text-align:left}
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-center > .container > :is(h1,h2,h3,h4,p,.lead,.muted,.section-lead,.section-intro):not(.grid):not([class*="grid"]){margin-left:auto;margin-right:auto}
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-right > .container > :is(h1,h2,h3,h4,p,.lead,.muted,.section-lead,.section-intro):not(.grid):not([class*="grid"]){margin-left:auto;margin-right:0}
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-center > .container > .grid,
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-center > .container > .service-includes-grid,
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-right > .container > .grid,
:is(.section,.areas-section,.cta-band,.social-proof-strip).v-content-right > .container > .service-includes-grid{text-align:left;margin-left:0;margin-right:0;width:100%}
.section-lead{margin:0}
.section-intro{margin:0 0 1.25rem}
.grid.three > a.service-offer-card,.grid.three > .service-offer-card{height:100%}
#offer > .container > h2{margin-bottom:1.25rem}
#pick-services .card h3{margin-top:0}
#pick-services .card p{margin:0 0 .5rem}
.service-includes-grid{align-items:start}
.grid.four .card,.grid.three .card{display:flex;flex-direction:column;height:100%}
.grid.four .card > .card-link,.grid.three .card > .card-link{margin-top:auto;padding-top:.5rem}

/* Cards */
.card{
  background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius);
  padding:clamp(1.5rem,2.5vw,2rem);box-shadow:var(--lux-shadow);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
a.card:hover,.card.hoverable:hover,.service-card:hover{
  transform:translateY(-3px);box-shadow:var(--lux-shadow-hover);border-color:rgba(102,122,153,.22);
}
.card-num{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--cl-primary);opacity:.35;line-height:1;margin-bottom:.85rem}

/* Navigation + logo */
.premium-nav{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,252,247,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:transform .35s ease;
}
.nav-inner{
  min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:.35rem 0;
}
.logo{
  display:flex;align-items:center;align-self:center;flex-shrink:0;
  padding:0;background:transparent;border:0;box-shadow:none;
}
.logo img,.logo-img--header{
  height:clamp(72px,8.5vw,96px);width:auto;max-width:min(280px,42vw);
  object-fit:contain;object-position:left center;
  background-color:transparent!important;background:transparent!important;
  border:0;box-shadow:none;filter:none;
  mix-blend-mode:multiply;
}
.nav-links{display:flex;align-items:center;gap:2rem;align-self:center}
.nav-links a,.services-toggle{
  font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cl-text);border:0;background:none;font-family:inherit;cursor:pointer;transition:color .25s;
}
.nav-links a:hover,.nav-links a.active,.services-toggle:hover{color:var(--lux-charcoal)}
.nav-actions{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}
.nav-portal{
  font-family:var(--font-body);font-weight:300;font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cl-muted);
  padding:.65rem 1rem;border:1px solid var(--lux-line);border-radius:2px;
  background:transparent;transition:border-color .3s,color .3s,background .3s;
}
.nav-portal:hover{color:var(--cl-accent);border-color:var(--cl-accent);background:rgba(95,2,154,.03)}
.nav-portal--mobile{display:block;text-align:center;margin:.75rem 0;padding:.85rem}
.nav-cta{padding:.75rem 1.35rem;font-size:.68rem}
.hamburger{display:none;border:0;background:none;font-size:1.25rem;color:var(--lux-charcoal);cursor:pointer}
.mobile-panel{display:none}
.services-menu{position:relative}
.services-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:0}
.services-toggle::after{
  content:'';display:inline-block;width:.35rem;height:.35rem;margin-top:-.15rem;
  border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
  transition:transform .2s;
}
.services-menu.is-open .services-toggle::after,.services-menu:hover .services-toggle::after{transform:rotate(225deg);margin-top:.1rem}
.dropdown{
  display:none;position:absolute;top:calc(100% + .35rem);left:0;min-width:240px;
  background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius-sm);
  box-shadow:var(--lux-shadow);overflow:hidden;z-index:1001;padding:.35rem 0;
}
.services-menu:hover .dropdown,.services-menu:focus-within .dropdown,.services-menu.is-open .dropdown{display:block}
.dropdown a{
  display:flex;min-height:42px;align-items:center;padding:.55rem 1.1rem;
  font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cl-text);
}
.dropdown a[href="services.html"],
.dropdown a[href="services.html#where-we-work"]{font-weight:600;color:var(--cl-silver-deep)}
.dropdown a:hover{background:var(--lux-cream);color:var(--cl-accent)}
.mobile-services-btn{
  display:block;width:100%;text-align:left;border:0;background:none;padding:.65rem 0;
  font-size:.95rem;font-family:inherit;color:var(--lux-charcoal);cursor:pointer;
}
.mobile-sub{display:none;margin:.25rem 0 .65rem 1rem;padding-left:.85rem;border-left:2px solid var(--lux-line)}
.mobile-sub.open{display:block}
.mobile-sub a{display:block;padding:.45rem 0;font-size:.88rem}

/* Hero + fluid editorial images */
.hero{padding:clamp(2rem,4vw,3.25rem) 0;background:var(--lux-ivory);position:relative;overflow:hidden}
.hero--cinematic{min-height:min(88vh,820px);padding:0;display:flex;align-items:flex-end}
.hero--cinematic.hero--v-top{align-items:flex-start}
.hero--cinematic.hero--v-center{align-items:center}
.hero--cinematic.hero--v-bottom{align-items:flex-end}
.hero--cinematic .hero__media{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  transform:scale(1.02);transition:transform 8s cubic-bezier(.25,.1,.25,1);
}
.hero--cinematic:hover .hero__media{transform:scale(1.06)}
.hero--cinematic .hero__media::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(74,95,120,.78) 0%,rgba(74,95,120,.42) 42%,rgba(102,122,153,.12) 100%);
  opacity:var(--v-overlay-opacity,1);
}
.hero--cinematic .hero__content{
  position:relative;z-index:2;width:min(var(--editorial-max),90vw);margin-left:auto;margin-right:auto;
  padding:clamp(3rem,8vw,5.5rem) 0 clamp(2.5rem,6vw,4rem);
}
.hero__content--left{text-align:left}
.hero__content--center{text-align:center}
.hero__content--right{text-align:right}
.hero__content--center h1,.hero__content--center .hero-subhead,.hero__content--center .lead,.hero__content--center .muted{margin-left:auto;margin-right:auto}
.hero__content--right h1,.hero__content--right .hero-subhead,.hero__content--right .lead,.hero__content--right .muted{margin-left:auto;margin-right:0}
.hero__content--center .hero-actions{justify-content:center}
.hero__content--right .hero-actions{justify-content:flex-end}
.hero--cinematic h1,.hero--cinematic .hero-subhead,.hero--cinematic .eyebrow{color:#fff;max-width:36ch}
.hero--cinematic .hero__content--center h1,
.hero--cinematic .hero__content--center .hero-subhead,
.hero--cinematic .hero__content--right h1,
.hero--cinematic .hero__content--right .hero-subhead{max-width:min(46ch,100%)}
.hero--tcc .hero__content{width:min(var(--editorial-max),90vw)}
.hero--tcc h1{max-width:36ch;font-size:clamp(1.35rem,2.8vw,2.1rem)}
.cl-v-custom{margin:1rem 0;padding:.75rem 0}
.cl-v-custom--image img{max-width:100%;height:auto;border-radius:8px}
.cl-v-custom__icon-row{display:flex;align-items:center;gap:.65rem;font-size:1.1rem}
.cl-v-custom__icon-row i{font-size:1.35rem}
.hero--cinematic .eyebrow{color:rgba(255,255,255,.85)}
.hero--cinematic .eyebrow::before{background:rgba(255,255,255,.55)}
.hero--half{
  min-height:min(58vh,560px);padding:0;position:relative;
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
}
.hero--half .hero__media{
  min-height:min(58vh,560px);height:100%;
  background-size:cover;background-position:center center;
}
.hero--half .hero__panel{
  display:flex;flex-direction:column;justify-content:center;align-self:stretch;
  padding:clamp(2.5rem,4vw,3.5rem) clamp(1.75rem,4vw,3rem);
  background:var(--lux-ivory);text-align:left;align-items:flex-start;
}
.hero--half .hero__panel.hero__panel--center,.hero--half .hero__panel.hero__content--center{align-items:center;text-align:center}
.hero--half .hero__panel.hero__panel--right,.hero--half .hero__panel.hero__content--right{align-items:flex-end;text-align:right}
.hero--half .hero__panel.hero__panel--left,.hero--half .hero__panel.hero__content--left{align-items:flex-start;text-align:left}
.hero--half h1{max-width:28ch;margin:0}
.hero--half .hero__panel .lead{margin-bottom:.75rem;max-width:48ch}
.hero--half .hero__panel .muted{margin-bottom:1.25rem;max-width:50ch;font-size:.9rem}
.hero--half .hero__panel.hero__panel--center h1,
.hero--half .hero__panel.hero__panel--center .lead,
.hero--half .hero__panel.hero__panel--center .muted,
.hero--half .hero__panel.hero__content--center h1,
.hero--half .hero__panel.hero__content--center .lead,
.hero--half .hero__panel.hero__content--center .muted{margin-left:auto;margin-right:auto}
.hero--half .hero__panel.hero__panel--right h1,
.hero--half .hero__panel.hero__panel--right .lead,
.hero--half .hero__panel.hero__panel--right .muted,
.hero--half .hero__panel.hero__content--right h1,
.hero--half .hero__panel.hero__content--right .lead,
.hero--half .hero__panel.hero__content--right .muted{margin-left:auto;margin-right:0}
.hero--half .hero__panel .btn+.btn{margin-left:.75rem}
.hero--half .hero__panel.hero__panel--center .btn,
.hero--half .hero__panel.hero__content--center .btn{margin-left:0;margin-right:0}
.hero--half.hero--half-reverse .hero__media{order:2}
.hero--half.hero--half-reverse .hero__panel{order:1}
.hero--overlap{padding-bottom:0}
.hero--overlap .editorial-panel{
  position:relative;z-index:3;margin-top:-4.5rem;margin-bottom:var(--section-y);
  background:rgba(255,252,247,.94);backdrop-filter:blur(12px);
  border:1px solid var(--lux-line);border-radius:var(--radius-lg);
  padding:clamp(2rem,4vw,3rem);box-shadow:var(--lux-shadow);
  max-width:min(720px,88vw);margin-left:clamp(1rem,6vw,8vw);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:1.75rem 0 1.25rem}
.hero-note{font-size:.85rem;color:var(--cl-muted);max-width:40ch}
.hero-visual,.lux-img{
  position:relative;border-radius:0;overflow:hidden;
  min-height:clamp(440px,52vw,620px);width:100%;box-shadow:none;
}
.lux-img__bg,.placeholder.image-bg,.portal-card__img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;background-size:cover;background-position:center;
  transition:transform .85s cubic-bezier(.25,.1,.25,1);
}
.hero__media{
  width:100%;height:100%;
  background-size:cover;background-position:center center;
  transition:transform .85s cubic-bezier(.25,.1,.25,1);
}
.lux-img img{width:100%;height:100%;object-fit:cover}
.lux-img:hover .lux-img__bg,.lux-zoom:hover .lux-img__bg,.lux-img:hover img{transform:scale(1.05)}
.masonry-fluid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.25rem,2.5vw,2rem);
  align-items:stretch;width:100%;max-width:var(--editorial-max);margin:0 auto;
}
.masonry-fluid__col{display:flex;flex-direction:column;gap:clamp(1.25rem,2.5vw,2rem)}
.masonry-fluid__tall{min-height:clamp(520px,58vw,680px);flex:1}
.masonry-fluid__tall .lux-img{min-height:100%;height:100%}
.masonry-fluid__stack{display:grid;grid-template-rows:1fr 1fr;gap:clamp(1.25rem,2.5vw,2rem);min-height:clamp(520px,58vw,680px)}
.masonry-fluid__stack .lux-img{min-height:clamp(240px,28vw,320px);height:100%}
.masonry-fluid--stagger .masonry-fluid__col:first-child{padding-top:2rem}
.masonry-fluid--stagger .masonry-fluid__col:last-child{padding-bottom:2rem}
.editorial-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(2rem,5vw,4rem);padding:80px 0;
}
.editorial-row__media{flex:1 1 52%;min-width:0}
.editorial-row__media .lux-img,.editorial-row__media .hero__media{position:relative;min-height:clamp(460px,50vw,640px)}
.editorial-row__content{flex:1 1 40%;min-width:0}
.lux-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.lux-detail-grid .lux-img--thumb{min-height:240px;border-radius:var(--radius)}
.lux-img--hero .lux-img__bg,.img-hero{background-image:var(--img-hero)}
.lux-img--editorial .lux-img__bg,.img-editorial{background-image:var(--img-editorial)}
.lux-img--marble .lux-img__bg,.img-marble{background-image:var(--img-marble)}
.lux-img--bathroom .lux-img__bg,.img-bathroom{background-image:var(--img-bathroom)}
.lux-img--linen .lux-img__bg,.img-linen{background-image:var(--img-linen)}
.lux-img--kitchen .lux-img__bg,.img-kitchen{background-image:var(--img-kitchen)}
.lux-img--office .lux-img__bg,.img-office{background-image:var(--img-office)}
.lux-img--showroom .lux-img__bg,.img-showroom{background-image:var(--img-showroom)}
.lux-img--living .lux-img__bg,.img-living{background-image:var(--img-living)}
.lux-img--bedroom .lux-img__bg,.img-bedroom{background-image:var(--img-bedroom)}
.lux-img--detail .lux-img__bg,.img-detail{background-image:var(--img-detail)}
.lux-img--penthouse .lux-img__bg,.img-penthouse{background-image:var(--img-penthouse)}
.img-home-hero{background-image:var(--img-home-hero)}
.img-residential-hero{background-image:var(--img-residential-hero)}
.img-services-hero{background-image:var(--img-services-hero)}
.img-commercial-hero{background-image:var(--img-commercial-hero)}
.img-svc-residential{background-image:var(--img-svc-residential)}
.img-svc-eot{background-image:var(--img-svc-eot)}
.img-svc-airbnb{background-image:var(--img-svc-airbnb)}
.img-svc-commercial{background-image:var(--img-svc-commercial)}
.img-svc-post-construction{background-image:var(--img-svc-post-construction)}
.img-svc-specialist{background-image:var(--img-svc-specialist)}
.img-svc-eot-alt{background-image:var(--img-svc-eot-alt)}
.img-svc-airbnb-alt{background-image:var(--img-svc-airbnb-alt)}
.img-svc-commercial-alt{background-image:var(--img-svc-commercial-alt)}
.img-svc-post-construction-alt{background-image:var(--img-svc-post-construction-alt)}
.img-svc-specialist-alt{background-image:var(--img-svc-specialist-alt)}
.img-oven{background-image:var(--img-oven)}
.img-carpet{background-image:var(--img-carpet)}
.img-upholstery{background-image:var(--img-upholstery)}
.img-mattress{background-image:var(--img-mattress)}
.img-contact-hero{background-image:var(--img-contact-hero)}
.img-contact-secondary{background-image:var(--img-contact-secondary)}

/* Areas / coverage map (services page) */
.areas-section{
  background:var(--lux-silver-surface-deep);color:rgba(255,255,255,.86);
  position:relative;overflow:hidden;
  padding:clamp(2.5rem,5vw,3.5rem) 0;
}
.areas-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 18% 50%,rgba(255,255,255,.08),transparent 58%);
}
.areas-deco{
  position:absolute;top:-12%;right:-6%;width:min(52%,480px);height:125%;
  opacity:.07;pointer-events:none;
}
.areas-deco circle{stroke:#fff;stroke-width:1;fill:none}
.areas-wrap{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,4vw,3rem);align-items:stretch;
}
.areas-col{min-width:0;display:flex;flex-direction:column}
.areas-col--main{gap:clamp(1.15rem,2vw,1.5rem)}
.areas-col--list{gap:0}
.areas-copy{max-width:none}
.areas-section .section-label{color:rgba(255,255,255,.5);margin-bottom:.85rem}
.areas-section h2{color:#fff;margin-bottom:0}
.areas-section h2 em{color:var(--cl-silver-pale);font-style:normal;font-weight:600}
.areas-intro{
  margin:1rem 0 1.35rem;max-width:38ch;
  font-size:.94rem;line-height:1.7;color:rgba(255,255,255,.72);
}
.areas-section .areas-cta{margin-bottom:0}
.areas-section .areas-intro a{color:var(--cl-silver-pale);text-decoration:underline;text-underline-offset:2px}
.areas-section .areas-intro a:hover{color:#fff}
.areas-section .areas-cta{
  background:rgba(255,255,255,.94)!important;border-color:transparent!important;
  color:var(--cl-silver-deep)!important;
}
.areas-section .areas-cta:hover{
  background:#fff!important;border-color:transparent!important;color:var(--cl-silver-deep)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.15);
}
.coverage-map{
  width:100%;height:clamp(210px,24vw,290px);min-height:210px;flex-shrink:0;
  border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 16px 40px rgba(0,0,0,.22);
  background:#dce3ec;
}
.coverage-map .leaflet-control-zoom a{
  color:var(--cl-silver-deep)!important;
  border-color:rgba(102,122,153,.25)!important;
}
.coverage-map .leaflet-control-attribution{
  font-size:.58rem;background:rgba(255,255,255,.88)!important;
}
.coverage-leaflet-pin{background:transparent!important;border:0!important}
.coverage-leaflet-pin__wrap{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  text-align:center;pointer-events:none;
}
.coverage-leaflet-pin__dot{
  display:block;width:12px;height:12px;flex-shrink:0;
  background:var(--cl-accent);border:2px solid #fff;border-radius:50%;
  box-shadow:0 2px 8px rgba(95,2,154,.4);
  transition:transform .2s ease,background .2s ease;
}
.coverage-leaflet-pin__label{
  display:block;margin-top:3px;font-size:10px;font-weight:800;line-height:1.15;
  letter-spacing:.01em;color:#1a2332;white-space:nowrap;
  text-shadow:0 0 3px #fff,0 0 3px #fff;
  transition:color .2s ease;
}
.coverage-leaflet-pin.is-active .coverage-leaflet-pin__dot,
.coverage-leaflet-pin:hover .coverage-leaflet-pin__dot{
  transform:scale(1.15);background:var(--cl-orange);
}
.coverage-leaflet-pin.is-active .coverage-leaflet-pin__label,
.coverage-leaflet-pin:hover .coverage-leaflet-pin__label{color:var(--cl-accent)}
.coverage-map__list-wrap{
  display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0;
  align-content:start;overflow-y:auto;
}
.coverage-map__list-btn{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:.2rem;width:100%;border:0;border-radius:0;
  background:transparent;padding:clamp(.8rem,1.4vw,1.05rem) clamp(.55rem,1vw,.75rem);
  text-align:left;cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.14);
  transition:background .2s,color .2s;
}
.coverage-map__list-btn:nth-child(odd){border-right:1px solid rgba(255,255,255,.14)}
.coverage-map__list-btn:hover{background:rgba(255,255,255,.06)}
.coverage-map__list-btn.is-active{background:rgba(255,255,255,.08)}
.coverage-map__list-name{
  font-family:var(--font-head);font-size:clamp(.95rem,1.6vw,1.15rem);font-weight:500;
  letter-spacing:.01em;text-transform:none;color:#fff;line-height:1.2;
}
.coverage-map__list-pc{
  font-size:.68rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.42);line-height:1.35;
}
.coverage-map__list-btn.is-active .coverage-map__list-name{color:#fff}
.coverage-map__list-btn.is-active .coverage-map__list-pc{color:rgba(255,255,255,.72)}

/* Service offer cards (services page) */
.service-offer-card{
  display:flex;flex-direction:column;overflow:hidden;padding:0;
  border:1px solid var(--lux-line);border-radius:var(--radius-lg);
  background:#fff;transition:box-shadow .3s,transform .3s;
}
.service-offer-card:hover{box-shadow:var(--lux-shadow-hover);transform:translateY(-3px)}
.service-offer-card__img{
  min-height:clamp(160px,22vw,220px);
  background-size:cover;background-position:center;
}
.service-offer-card__body{padding:1.35rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.service-offer-card__body h3{margin:0}
.service-offer-card__body h3 a{color:inherit;text-decoration:none}
.service-offer-card__body h3 a:hover{color:var(--cl-accent)}
.service-offer-card__img-link{display:block;text-decoration:none}
.service-offer-card__body p{margin:0;font-size:.88rem;font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--cl-text)}
.service-offer-card__cta{margin-top:.25rem}
.service-offer-card__cta strong{font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:0;color:var(--cl-text)}
.service-offer-card__cta a{color:inherit;text-decoration:none;font-weight:700}
.service-offer-card__cta a:hover{color:var(--cl-accent)}

/* Large service image below hero on service pages */
.service-spotlight{padding:0;margin:0}
.service-spotlight .container{padding-top:0;padding-bottom:0}
.service-spotlight__img{
  width:100%;min-height:clamp(280px,42vw,520px);
  border-radius:var(--radius-lg);background-size:cover;background-position:center;
}

/* Contact quote hub */
.quote-service-tabs{
  display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 1.75rem;
}
.quote-service-tabs .option{
  cursor:pointer;border:1px solid var(--lux-line);background:#fff;
  padding:.65rem 1rem;border-radius:999px;font-size:.72rem;
  font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.quote-service-tabs .option.selected{
  border-color:var(--cl-primary);background:rgba(102,122,153,.08);color:var(--cl-text);
}
.quote-specialist-panel{
  display:none;text-align:center;
}
.quote-specialist-panel.is-visible{display:block}
.quote-calculator-panel.is-hidden{display:none}

/* Contact page */
.hero--contact{
  display:block;min-height:0;padding:0;background:var(--lux-cream);
}
.hero--contact .hero__media{
  min-height:clamp(200px,28vw,300px);max-height:300px;
  background-size:cover;background-position:center;
}
.hero--contact .hero__panel{
  padding:clamp(1.75rem,3.5vw,2.25rem) 0 1.25rem;
  background:transparent;
}
.page-contact #quote{padding-top:0}
.hero--contact .hero__panel .lead{margin-bottom:1.1rem;max-width:52ch}
.hero--contact .hero-actions{margin:0}
.hero--contact .hero-actions .btn+.btn{margin-left:0}
.quote-hub-shell{
  background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius-lg);
  padding:clamp(2rem,3.5vw,2.75rem);box-shadow:var(--lux-shadow);
}
.quote-hub__intro{margin-bottom:1.5rem;max-width:48rem}
.quote-hub__intro .lead{margin-bottom:0}
.page-contact #quote .quote-service-tabs{margin:0 0 1.25rem}
.page-contact .quote-calculator-panel,
.page-contact .quote-specialist-panel{
  background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;
}
.page-contact .quote-specialist-panel{padding-top:1.25rem;border-top:1px solid var(--lux-line);margin-top:1.25rem}
.page-contact #enquiry{padding-top:2rem}
.page-contact .contact-enquiry-header{max-width:48rem;margin-bottom:1.25rem}
.page-contact .contact-enquiry-header .lead{margin-bottom:0}
.page-contact .contact-enquiry-grid{
  display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start;
}
.page-contact .contact-direct-card{padding:clamp(1.35rem,2vw,1.75rem)}
.page-contact .contact-direct-card h3{margin-bottom:.85rem}
.page-contact .contact-link{
  color:var(--cl-text);font-weight:500;text-decoration:none;white-space:nowrap;
  transition:color .25s;
}
.page-contact .contact-link:hover,.page-contact .contact-link:focus-visible{color:var(--cl-accent)}
.page-contact .contact-line{margin-bottom:.65rem}
.page-contact .contact-hours{margin:.75rem 0 1rem;font-size:.88rem;color:var(--cl-muted)}
.page-contact .contact-wa-btn{margin-top:0}
.page-contact .contact-social{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--lux-line)}
.page-contact .contact-social__icons{margin-top:0}
.page-contact .contact-social__icon{
  color:var(--cl-accent)!important;background:transparent!important;font-size:1.1rem;
}
.page-contact .contact-social__icon:hover{
  color:var(--cl-orange)!important;background:transparent!important;transform:translateY(-2px);
}
.page-contact .contact-form-card{padding:clamp(1.75rem,3vw,2.5rem)}
.page-contact .contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.page-contact .contact-form-grid .full-width{grid-column:1/-1}
.page-contact #contactForm h3{margin-bottom:.5rem}
.page-contact #contactForm label{color:var(--cl-text);font-weight:600;margin-top:.15rem}
.page-contact #contactForm .muted{margin-bottom:.75rem;color:var(--cl-muted)}
.page-contact .contact-form-required-note{
  margin:0 0 1.25rem;font-size:.82rem;color:var(--cl-muted);line-height:1.5;
}
.page-contact #contactForm select{cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233d4f63' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1rem center}
.page-contact .hero--contact .hero__panel{padding:clamp(1.25rem,2.5vw,1.75rem) 0 .75rem}
.page-contact .hero--contact .hero__media{min-height:clamp(160px,22vw,240px);max-height:240px}
.page-contact #quote{padding-bottom:2.5rem}
.page-contact #enquiry{padding-top:var(--section-y-tight);padding-bottom:var(--section-y)}
.hero--blog-hero{
  display:block;min-height:0;padding:0;background:var(--lux-cream);position:relative;
}
.hero--blog-hero .hero__media{
  min-height:clamp(200px,32vw,340px);max-height:340px;
  background-size:cover;background-position:center;
}
.hero--blog-hero .hero__panel{
  padding:clamp(1.5rem,3vw,2rem) 0 1.25rem;background:transparent;
}
.hero--blog-hero h1{margin-bottom:.65rem;max-width:42ch}
.hero--blog-hero .lead{margin-bottom:0;max-width:52ch}
.blog-list-section{padding-top:1.25rem!important;padding-bottom:var(--section-y-tight)!important}
#quote-cta{padding-top:var(--section-y-tight);padding-bottom:var(--section-y-tight)}
.quote-cta-card{
  text-align:center;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:.25rem;padding:clamp(1.5rem,3vw,2rem) clamp(1.25rem,2.5vw,1.75rem);
}
.quote-cta-card h2{
  width:100%;max-width:none;text-align:center;margin:0 0 .4rem;
}
.quote-cta-card p{
  width:100%;max-width:40ch;text-align:center;margin:0 auto;
}
.quote-cta-card .btn{
  margin-top:.65rem;align-self:center;width:auto;min-width:min(100%,220px);
}
.purpose-photo{width:100%;height:auto;display:block;border-radius:var(--radius);object-fit:cover}
.hero--text-only{min-height:auto;padding:clamp(3rem,6vw,4.5rem) 0}
.hero--text-only .hero__panel{position:relative;max-width:720px}
.frequency-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0}
.frequency-picker .option{text-align:center;padding:1rem .75rem;margin:0}
.frequency-contact{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--lux-line)}
.frequency-contact .btn{margin:.35rem}
.lux-img::after,.hero-visual::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(74,95,120,.14) 100%);pointer-events:none;
}
.lux-img--thumb{min-height:200px;border-radius:var(--radius)}
.lux-img--thumb .lux-img__bg{min-height:200px}
.placeholder.image-bg span{display:none}
.accent-line{width:40px;height:1px;background:var(--cl-orange);margin:1.5rem 0}

/* Service cards */
.service-card{
  display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 1.5rem;
  background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius);transition:all .35s ease;
}
.service-card i{font-size:.95rem;color:var(--cl-primary);margin-bottom:.15rem}
.service-card h3{margin:0}
.service-card p{font-size:.88rem;line-height:1.65;margin:0}
.service-card .arrow{margin-top:auto;padding-top:1rem;font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cl-primary);opacity:0;transform:translateY(4px);transition:all .3s}
.service-card:hover .arrow{opacity:1;transform:translateY(0)}

/* Trust */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.trust-card{
  padding:1.75rem 1.5rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);
  background:rgba(255,255,255,.07);backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.trust-card i{
  font-size:.9rem;color:#fff;margin-bottom:1rem;display:inline-flex;width:36px;height:36px;
  align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);
  border-radius:50%;background:rgba(255,255,255,.08);
}
.trust-card h3{color:#fff;font-size:.72rem;margin-bottom:.45rem}
.trust-card p{font-size:.85rem;line-height:1.6;margin:0;color:rgba(255,255,255,.72)}
.trust-badge{background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--lux-shadow)}
.trust-badge i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--lux-cream);color:var(--cl-primary);font-size:1rem;margin-bottom:.65rem}
.trust-band{background:var(--lux-ivory);padding:var(--section-y-tight) 0;text-align:center;border-top:1px solid var(--lux-line)}
.trust-band h2{margin:0 auto .75rem}

/* Testimonials */
.testimonial-card{display:flex;flex-direction:column;min-height:180px}
.testimonial-stars{font-size:.8rem;letter-spacing:.12em;color:var(--cl-primary);margin-bottom:1rem}
.testimonial-card blockquote{font-family:var(--font-serif);font-size:1.15rem;font-style:italic;line-height:1.5;color:var(--lux-charcoal);margin:0 0 1rem}
.testimonial-card cite{font-style:normal;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cl-muted)}

/* Calculator / wizard */
#calculator{background:var(--lux-cream)}
.calc-header{text-align:center;margin-bottom:2.5rem}
.calc-header h2{margin:0 auto .5rem}
.calc-shell,.calc,.wizard{
  max-width:780px;margin:0 auto;background:#fff;
  border:1px solid var(--lux-line);border-radius:var(--radius-lg);
  padding:clamp(1.75rem,3.5vw,2.5rem);box-shadow:var(--lux-shadow);
}
.wizard{max-width:920px}
.calc{border:0;box-shadow:none;padding:0;max-width:none}
#calculator .container > .calc{
  max-width:780px;margin:0 auto;background:#fff;
  border:1px solid var(--lux-line);border-radius:var(--radius-lg);
  padding:clamp(1.75rem,3.5vw,2.5rem);box-shadow:var(--lux-shadow);
}
.progress{height:2px;background:var(--lux-champagne);border-radius:0;overflow:hidden;margin-bottom:2rem}
.progress span{display:block;height:100%;background:var(--cl-accent);width:14%;transition:width .4s ease}
.step{display:none}.step.active{display:block}
.step>h3{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;text-transform:none;letter-spacing:0;margin-bottom:1.25rem}
.step .grid,.step .grid.two,.step .grid.three,.step .grid.four{margin-bottom:1.25rem}
.step .grid.four+.grid.two{margin-top:1rem}
.step>p:not(.muted){margin-bottom:1rem}
.step .calc-intro,.step .muted,.step textarea,.step .notice,.step .success{margin-bottom:1rem}
.step label{margin-top:.5rem}
.step .calc-extra-rooms{margin-top:1.25rem;margin-bottom:1.25rem}
.step [data-back],.step [data-next],.step [data-submit-quote]{margin-top:2rem}
.step>.btn[data-next]{margin-top:2rem}
.step [data-back]+[data-next],.step [data-back]+[data-submit-quote]{margin-left:.75rem}
.step>.btn:only-of-type{margin-top:2rem}
.option{border:1px solid var(--lux-line);border-radius:var(--radius-sm);padding:1.15rem 1.25rem;background:#fff;cursor:pointer;transition:all .3s ease}
.option:hover{border-color:rgba(102,122,153,.35);box-shadow:0 6px 20px rgba(74,95,120,.06)}
.option.selected{border-color:var(--cl-accent);box-shadow:0 0 0 1px var(--cl-accent)}
.picker{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--lux-line);border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:.88rem;font-weight:500}
.circle{width:32px;height:32px;border-radius:50%;border:1px solid var(--lux-line);background:transparent;color:var(--lux-charcoal);font-weight:600;cursor:pointer;transition:all .25s}
.circle:hover{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}
.notice{padding:1rem 1.15rem;border-radius:var(--radius-sm);background:rgba(255,96,2,.05);border:1px solid rgba(255,96,2,.15);color:#5d3a11;margin:1rem 0;font-size:.88rem}
.success{padding:1rem 1.15rem;border-radius:var(--radius-sm);background:rgba(15,138,95,.05);border:1px solid rgba(15,138,95,.15);color:var(--cl-success);margin:1rem 0;font-size:.88rem}
.error{color:var(--cl-error);font-weight:600;font-size:.82rem;margin-top:.3rem}
input,select,textarea{
  width:100%;padding:.9rem 1rem;border:1px solid var(--lux-line);border-radius:var(--radius-sm);
  font:inherit;font-size:.9rem;color:var(--cl-text);background:#fff;transition:border-color .25s,box-shadow .25s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(102,122,153,.45);box-shadow:0 0 0 3px rgba(102,122,153,.08)}
label{font-weight:600;font-size:.78rem;letter-spacing:.04em;display:block;margin:.85rem 0 .35rem}
.chip{display:inline-flex;border:1px solid var(--lux-line);border-radius:999px;padding:.4rem .7rem;margin:.2rem;cursor:pointer;font-size:.82rem}
.chip.selected{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}
.frequency-strip{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--lux-line)}
.calc-service-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:0 0 1.5rem}
@media(min-width:720px){.calc-service-tabs{grid-template-columns:repeat(4,1fr)}}
.calc-service-tabs .option{flex:1 1 auto;text-align:center;justify-content:center;cursor:pointer;padding:.85rem .65rem}
.service-spec-row{display:flex;gap:40px;align-items:flex-start;margin:0 0 clamp(2rem,4vw,2.75rem)}
.service-spec-row--reverse{flex-direction:row-reverse}
.service-spec-copy{flex:1 1 48%;min-width:0}
.service-spec-media{flex:1 1 52%;min-width:0}
.service-spec-media .lux-img{min-height:clamp(320px,38vw,480px);border-radius:var(--radius)}
.service-spec-copy h3{font-family:var(--font-head);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.service-spec-copy p{font-family:var(--font-body);font-weight:400;line-height:1.7;margin-bottom:1.25rem;color:var(--cl-text)}
.service-spec-list{margin:0 0 1.5rem;padding:0;list-style:none}
.service-spec-list li{position:relative;padding-left:1.15rem;margin-bottom:.65rem;font-family:var(--font-body);font-weight:300;line-height:1.7;color:var(--cl-muted);font-size:.94rem}
.service-spec-list li::before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--cl-accent)}
.service-spec-list--compact li{margin-bottom:.45rem;font-size:.9rem}
.service-includes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,3vw,2.5rem);margin:1.5rem 0 2rem}
.service-includes-grid h4{font-family:var(--font-head);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;color:var(--cl-text)}
.service-scope-note{margin:1.25rem 0;padding:1rem 1.15rem;background:var(--lux-cream);border-left:3px solid var(--cl-accent);font-size:.9rem}
.service-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.75rem}
.service-jump a{display:block;padding:1rem 1.1rem;border:1px solid var(--lux-line);border-radius:var(--radius);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:border-color .25s,background .25s}
.service-jump a:hover{border-color:var(--cl-accent);background:rgba(95,2,154,.03)}
.blog-card{display:flex;flex-direction:column;gap:.35rem;height:100%}
.blog-card__img{min-height:160px;border-radius:var(--radius);background-size:cover;background-position:center;margin-bottom:.5rem}
.blog-card__date{margin-top:auto;padding-top:.5rem}
.blog-post__hero{min-height:clamp(240px,36vw,420px);border-radius:var(--radius)}
.blog-post__body{max-width:68ch}
.blog-post__body p{margin-bottom:1.25rem}
.blog-admin-row{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.blog-admin-row__main{flex:1 1 320px;min-width:0}
.blog-admin-row__actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.calc-service-tabs .option.selected{border-color:var(--cl-accent);box-shadow:0 0 0 1px var(--cl-accent);background:rgba(95,2,154,.04)}
.calc-intro{display:none;margin:0 0 1rem;color:var(--cl-muted);font-size:.94rem;line-height:1.7}
.extra-rooms-list{display:flex;flex-direction:column;gap:.75rem}
.extra-room-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.extra-room-row select{flex:1 1 200px;min-width:0}
.extra-room-row [data-extra-room-other]{flex:1 1 180px;min-width:140px}
.extra-room-remove{padding:.45rem .85rem;font-size:.82rem}
.extra-room-add{margin-top:.75rem;margin-bottom:.25rem;padding:.55rem 1rem;font-size:.88rem}

/* Calendar / booking */
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}
.cal-day{border:1px solid var(--lux-line);border-radius:var(--radius-sm);padding:.65rem;min-height:64px;background:#fff;cursor:pointer;font-size:.82rem}
.cal-day.blocked{background:#fff5f4;border-color:#f0c4be;color:#9b2d20}
.cal-day.booked{background:#f8f4fc;border-color:#dcc8ef}
.cal-day.selected{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem}
.slot{border:1px solid var(--lux-line);border-radius:999px;padding:.55rem;text-align:center;background:#fff;font-weight:600;font-size:.82rem;cursor:pointer}
.slot.booked,.slot.blocked{background:#f5f5f5;color:#999;text-decoration:line-through;cursor:not-allowed}
.slot.selected{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}
.summary-bar{position:sticky;bottom:0;background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius);padding:1.15rem;margin-top:1rem;box-shadow:var(--lux-shadow);z-index:20}
.service-check{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:center;border:1px solid var(--lux-line);border-radius:var(--radius-sm);padding:.75rem;background:#fff;transition:border-color .25s,box-shadow .25s}
.service-check:has(input[type=checkbox]:checked){border-color:var(--cl-accent);box-shadow:0 0 0 1px rgba(95,2,154,.12)}
.service-check:has(input[type=checkbox]:checked) label{color:var(--cl-accent)}
.qty{display:flex;align-items:center;gap:.35rem}
.qty button{width:28px;height:28px;border-radius:50%;border:0;background:var(--cl-accent);color:#fff;font-weight:700;cursor:pointer;transition:background .35s}
.qty button:hover{background:var(--cl-orange)}
.builder-list{display:grid;gap:.65rem}
.builder-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:.55rem;align-items:center;max-width:100%;overflow:hidden}
.builder-row strong,.builder-row input,.builder-row small{min-width:0}
.builder-workspace{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem;max-width:100%;min-width:0}
.visual-workspace{display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem;max-width:100%;min-width:0}
.visual-workspace__panel{display:flex;flex-direction:column;gap:1rem;min-width:0}
.visual-workspace__preview{position:sticky;top:1rem;min-width:0}
.visual-workspace__preview .builder-preview-frame-wrap{min-height:640px;background:linear-gradient(180deg,#e9edf3,#dfe5ee);border:1px solid var(--lux-line);border-radius:14px;padding:1rem;overflow:auto}
.visual-workspace__preview .builder-preview-frame{width:100%;min-height:600px;border:1px solid #c5ceda;border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(35,48,71,.14)}
.visual-editor-actions{display:flex;gap:.5rem;align-items:stretch}
.visual-editor-actions .btn.secondary{flex:0 0 auto;min-width:5.75rem}
.visual-editor-actions .btn.full{flex:1;margin-top:0}
.visual-editor-actions .btn.secondary:disabled{opacity:.45;cursor:not-allowed}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.visual-block-list{display:flex;flex-direction:column;gap:.35rem;max-height:min(42vh,360px);overflow-y:auto;margin-top:.35rem;padding:.15rem}
.visual-block-list__item{
  display:block;width:100%;text-align:left;padding:.55rem .7rem;border:1px solid var(--lux-line);border-radius:10px;
  background:#fff;font-size:.82rem;line-height:1.35;cursor:pointer;transition:background .15s,border-color .15s;
}
.visual-block-list__item:hover{background:#f6f8fc;border-color:#c5ceda}
.visual-block-list__item.is-active{background:#eef2f8;border-color:var(--cl-primary);font-weight:600}
.visual-collapsible{border:1px solid var(--lux-line);border-radius:10px;margin-bottom:.65rem;background:#fafbfd}
.visual-collapsible summary{
  padding:.65rem .85rem;font-weight:600;font-size:.82rem;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;
}
.visual-collapsible summary::-webkit-details-marker{display:none}
.visual-collapsible summary::after{content:'+';font-weight:400;color:var(--cl-muted)}
.visual-collapsible[open] summary::after{content:'−'}
.visual-collapsible__body{padding:0 .85rem .85rem}
.visual-collapsible__body > label:first-child{margin-top:0}
.builder-preview-card__head .visual-preview-status{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cl-muted);transition:color .2s}
.builder-preview-card__head .visual-preview-status.is-live{color:#3d7a52}
.builder-preview-card__head .visual-preview-status.is-updating{color:var(--cl-accent)}
.visual-preview-flash{animation:visualPreviewFlash .32s ease}
@keyframes visualPreviewFlash{0%{box-shadow:0 0 0 0 rgba(102,122,153,.35)}100%{box-shadow:0 0 0 0 transparent}}
.pages-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);gap:1.25rem;align-items:start;margin-top:1rem;max-width:100%;min-width:0}
.pages-workspace--ionos{grid-template-columns:minmax(200px,220px) minmax(0,1fr) minmax(240px,32%);gap:1rem}
.cl-page-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;background:var(--cl-dark,#0d0d1a);color:#fff;border-radius:12px;margin-bottom:1rem;position:sticky;top:.5rem;z-index:6}
.cl-page-editor-toolbar h2{margin:0;font-size:1.1rem;font-weight:700;color:#fff}
.cl-page-editor-toolbar__actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cl-page-advanced{margin-top:1.25rem;border:1px solid var(--lux-line);border-radius:10px;padding:0 .85rem .85rem;background:#fff}
.cl-page-advanced summary{cursor:pointer;font-weight:700;padding:.85rem 0;color:var(--cl-muted,#64748b)}
.pages-workspace__main .cl-page-blocks-panel{background:transparent;border:none;box-shadow:none;padding:0}
.cl-page-blocks-list{max-height:none;overflow:visible;padding-right:0}
.pages-workspace__main{min-width:0;max-width:100%;max-height:calc(100vh - 5.5rem);overflow-y:auto;-webkit-overflow-scrolling:touch}
.pages-workspace__preview{position:sticky;top:1rem;min-width:0;max-width:100%;max-height:calc(100vh - 5.5rem);overflow-y:auto;-webkit-overflow-scrolling:touch}
.pages-workspace__preview .builder-preview-stage{overflow:visible;min-height:0}
.cl-pages-sidebar{padding:.85rem;display:flex;flex-direction:column;min-height:360px;max-height:calc(100vh - 8rem);position:sticky;top:1rem;background:#f8fafc;border:2px solid var(--lux-line,#d8dfeb)}
.cl-pages-sidebar__title{margin:0 0 .35rem;font-size:1rem;display:flex;align-items:center;gap:.45rem}
.cl-pages-sidebar__hint{margin:0 0 .65rem;font-size:.78rem;line-height:1.35}
.cl-pages-empty{padding:.75rem .25rem;text-align:center}
.cl-pages-empty .btn{margin-top:.65rem}
.cl-pages-loading{display:flex;align-items:center;gap:.5rem}
.cl-pages-sidebar__toolbar{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}
.cl-pages-filter{display:flex;gap:.25rem;margin-bottom:.5rem;flex-wrap:wrap}
.cl-pages-filter button{flex:1;min-width:0;padding:.35rem .4rem;border:1px solid var(--lux-line);border-radius:8px;background:#fff;font-size:.72rem;font-weight:600;cursor:pointer;color:var(--cl-muted)}
.cl-pages-filter button.active{background:var(--cl-accent);border-color:var(--cl-accent);color:#fff}
.cl-pages-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;min-height:120px;-webkit-overflow-scrolling:touch}
.cl-page-item{display:flex;align-items:flex-start;gap:.45rem;padding:.55rem .5rem;border:1px solid var(--lux-line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.cl-page-item:hover{border-color:var(--cl-accent);box-shadow:0 2px 8px rgba(15,23,42,.06)}
.cl-page-item.is-selected{border-color:var(--cl-accent);background:#f0f9ff;box-shadow:0 0 0 2px rgba(14,165,233,.15)}
.cl-page-item.is-dragging{opacity:.45}
.cl-page-item__drag{color:var(--cl-muted);cursor:grab;padding:.15rem .1rem;flex-shrink:0;touch-action:none}
.cl-page-item__drag:active{cursor:grabbing}
.cl-page-item__body{flex:1;min-width:0}
.cl-page-item__title{font-size:.84rem;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-page-item__slug{font-size:.68rem;color:var(--cl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-page-item__badges{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.3rem}
.cl-page-pill{font-size:.62rem;font-weight:700;padding:.12rem .38rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
.cl-page-pill--on{background:#d1fae5;color:#065f46}
.cl-page-pill--off{background:#f1f5f9;color:#64748b}
.cl-page-pill--draft{background:#fef3c7;color:#92400e}
.cl-page-pill--nav{background:#dbeafe;color:#1e40af}
.cl-page-item__toggles{display:flex;gap:.35rem;margin-top:.35rem;align-items:center}
.cl-page-item__toggles label{font-size:.68rem;margin:0}
.cl-publish-bar__actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.builder-workspace__editor{min-width:0;max-width:100%}
.builder-workspace__preview{position:sticky;top:1rem;min-width:0;max-width:100%}
.builder-preview-card{padding:1rem}
.builder-preview-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem}
.builder-preview-card__head h3{margin:0 0 .25rem}
.builder-device-toggle{display:inline-flex;background:#e8edf5;border:1px solid var(--lux-line);border-radius:10px;padding:3px;gap:2px}
.builder-device-btn{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;color:var(--cl-muted);padding:.45rem .7rem;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.builder-device-btn i{font-size:.95rem}
.builder-device-btn span{display:none}
.builder-device-btn.active,.builder-device-btn[aria-pressed="true"]{background:#fff;color:var(--cl-accent);box-shadow:0 1px 4px rgba(35,48,71,.12)}
.builder-preview-toolbar{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}
.builder-preview-toolbar input{flex:1;min-width:180px}
.builder-preview-stage{background:linear-gradient(180deg,#e9edf3,#dfe5ee);border:1px solid var(--lux-line);border-radius:14px;padding:1.25rem 1rem 1rem;min-height:640px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:auto}
.builder-preview-device{width:100%;max-width:100%;background:#fff;border:1px solid #c5ceda;border-radius:10px;box-shadow:0 14px 36px rgba(35,48,71,.14);overflow:hidden;transition:width .35s ease,max-width .35s ease,border-radius .35s ease,box-shadow .35s ease}
.builder-preview-stage[data-device="desktop"] .builder-preview-device{width:100%;max-width:100%;border-radius:10px}
.builder-preview-stage[data-device="tablet"] .builder-preview-device{width:768px;max-width:100%;border-radius:16px}
.builder-preview-stage[data-device="mobile"] .builder-preview-device{width:390px;max-width:100%;border-radius:28px;box-shadow:0 18px 40px rgba(35,48,71,.2),inset 0 0 0 6px #1f2937}
.builder-preview-stage[data-device="mobile"] .builder-preview-device::before{content:"";display:block;height:22px;background:#1f2937}
.builder-preview-device iframe,.pages-workspace__preview iframe{display:block;width:100%;height:min(88vh,920px);min-height:680px;border:0;background:#fff}
.builder-preview-size{margin:.75rem 0 0;font-size:.75rem;color:var(--cl-muted);text-align:center}
.admin-note{font-size:.85rem;color:var(--cl-muted);background:var(--lux-cream);border:1px solid var(--lux-line);padding:.75rem;border-radius:var(--radius-sm)}

/* Accordion */
.accordion-item{border:1px solid var(--lux-line);border-radius:var(--radius-sm);margin-bottom:.65rem;background:#fff;overflow:hidden}
.accordion-q{width:100%;border:0;background:#fff;padding:1.1rem 1.25rem;text-align:left;font-weight:600;font-size:.9rem;color:var(--lux-charcoal);display:flex;justify-content:space-between;cursor:pointer}
.accordion-q:hover{background:var(--lux-cream)}
.accordion-a{display:none;padding:0 1.25rem 1.1rem;font-size:.9rem}
.accordion-item.open .accordion-a{display:block}

/* Footer — silver band (unchanged colour), header-matched link style */
.footer{
  background:var(--lux-silver-surface-deep);color:rgba(255,255,255,.72);
  padding:clamp(3rem,5vw,4rem) 0 0;
  border-top:1px solid rgba(255,255,255,.12);
  position:relative;
}
.footer::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(255,255,255,.08),transparent 58%);
}
.footer>.container{position:relative;z-index:1}
.footer h3{
  font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin:0 0 1rem;
}
.footer p,.footer a{
  color:rgba(255,255,255,.68);font-size:.88rem;font-family:var(--font-body);font-weight:300;
  line-height:1.65;margin:0 0 .5rem;
}
.footer a{transition:color .25s}
.footer a:hover{color:#fff}
.footer-brand{margin-bottom:0;max-width:22rem}
.footer-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(1.5rem,3vw,2.5rem);align-items:start;
}
.footer-brand .logo-mark{
  display:inline-flex;align-items:center;
  background:transparent;border:0;box-shadow:none;
  padding:0;margin:0 0 1rem;
}
.footer-brand .logo-mark img,.logo-img--footer{
  height:clamp(56px,6.5vw,72px);width:auto;max-width:min(220px,55vw);
  object-fit:contain;object-position:left center;
  background:transparent!important;border:0;box-shadow:none;
  mix-blend-mode:normal;filter:none;opacity:1;
}
.brand-mantra{
  margin:.1rem 0 .55rem;font-family:var(--font-head);font-size:.78rem;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.9);
}
.footer-brand>p:last-child{margin-bottom:0}
.footer .social-icon{color:var(--cl-accent)!important}
.footer .social-icon:hover{color:var(--cl-orange)!important}
.footer .contact-line{
  display:grid;grid-template-columns:1.125rem minmax(0,1fr);
  align-items:center;column-gap:.65rem;margin-bottom:.55rem;
}
.footer .contact-line i{
  color:rgba(255,255,255,.55);width:1.125rem;margin:0;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.footer .contact-line a{
  color:rgba(255,255,255,.88);white-space:nowrap;transition:color .25s;margin:0;
}
.footer .contact-line a:hover,.footer .contact-line a:focus-visible{color:var(--cl-accent)}
.footer-contact-col .social-icon-row{margin-top:.85rem;padding-left:1.775rem}
.mantra-callout{
  margin:1.25rem 0 0;padding:1rem 1.15rem;
  border-left:3px solid var(--cl-primary);background:rgba(102,122,153,.06);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.mantra-callout p{margin:0;font-family:var(--font-head);font-size:1rem;color:var(--cl-silver-deep)}
.mantra-callout .muted{margin-top:.35rem;font-size:.88rem}
.social-proof-strip__secondary{
  margin:1.75rem auto 0;max-width:36ch;font-size:.9rem;font-style:italic;color:var(--cl-muted);
}
.footer img:not(.logo-mark img){height:44px;width:auto;margin-bottom:1rem}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.14);margin-top:clamp(2rem,4vw,2.75rem);
  padding:1.15rem 0 1.35rem;display:flex;justify-content:space-between;gap:1rem;
  flex-wrap:wrap;font-size:.75rem;color:rgba(255,255,255,.55);
}
.footer-bottom a{color:rgba(255,255,255,.55)}
.footer-bottom a:hover{color:#fff}
.social-icon-row{display:flex;gap:.85rem;margin-top:.85rem;align-items:center}
.social-icon{
  width:auto;height:auto;border:0;border-radius:0;display:inline-flex;place-items:center;
  background:transparent!important;color:var(--cl-accent)!important;
  font-size:1.05rem;padding:0;transition:color .35s ease,transform .35s ease;
}
.social-icon:hover{
  background:transparent!important;border:0!important;color:var(--cl-orange)!important;
  transform:translateY(-2px);
}
.contact-line{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem}
.contact-line i{font-size:.82rem;color:var(--cl-primary);width:1rem;text-align:center;flex-shrink:0}
.social-buttons{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.social-btn.facebook,.social-btn.tiktok,.social-btn.linkedin{color:#fff!important}

/* WhatsApp, cookies, modal */
.wa-float{
  position:fixed;right:22px;bottom:22px;background:#25D366!important;color:#fff!important;
  padding:.6rem 1rem .6rem .85rem;border-radius:999px;
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;
  z-index:9999;box-shadow:0 10px 28px rgba(37,211,102,.35);
  transition:transform .3s,box-shadow .3s;border:0;white-space:nowrap;
}
.wa-float i{font-size:1.2rem;flex-shrink:0}
.wa-float:hover{transform:scale(1.04);box-shadow:0 14px 32px rgba(37,211,102,.45)}
@media(max-width:767px){
  .wa-float{right:14px;bottom:14px;padding:.5rem .75rem;font-size:.58rem;gap:.35rem}
  .wa-float i{font-size:1.1rem}
}

/* TCC-style portal grid */
.portal-grid{padding:0}
.portal-grid__row{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,2.5vw,2rem)}
.portal-card{position:relative;display:block;overflow:hidden;min-height:clamp(420px,48vw,560px);background:var(--cl-silver-rich);text-decoration:none}
.portal-card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.portal-card:hover .portal-card__img{transform:scale(1.05)}
.portal-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(102,122,153,.1) 0%,rgba(61,79,99,.72) 100%);pointer-events:none}
.portal-card__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(1.5rem,3vw,2.25rem)}
.portal-card__body h2{color:#fff;margin:0;font-size:clamp(.95rem,1.8vw,1.2rem);max-width:22ch}

/* Social proof strip */
.social-proof-strip{background:var(--lux-ivory);padding:clamp(4rem,9vw,6.5rem) 0;text-align:center;border-top:1px solid var(--lux-line);border-bottom:1px solid var(--lux-line)}
.social-proof-strip blockquote{font-family:var(--font-head);font-size:clamp(1.25rem,2.6vw,1.85rem);font-style:normal;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:var(--lux-charcoal);max-width:28ch;margin:0 auto 1.5rem}
.social-proof-strip cite{font-family:var(--font-body);font-style:normal;font-size:.72rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--cl-muted)}

/* Voucher row */
.voucher-row{margin:1.25rem 0 1rem;padding:1.15rem;border:1px solid var(--lux-line);border-radius:var(--radius-sm);background:var(--lux-cream)}
.voucher-label{font-family:var(--font-head);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.65rem;color:var(--lux-charcoal)}
.voucher-input-row{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center}
.voucher-input-row input{margin:0}
.voucher-msg{font-size:.85rem;margin:.65rem 0 0}
.voucher-msg.is-success{color:var(--cl-success)}
.voucher-msg.is-error{color:var(--cl-error)}

/* Exit-intent modal */
.exit-modal{position:fixed;inset:0;z-index:10001;display:none;align-items:center;justify-content:center;padding:1.25rem;background:rgba(74,95,120,.58);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s ease}
.exit-modal.is-visible{opacity:1}
.exit-modal__card{position:relative;width:min(520px,94vw);background:#fff;border:1px solid var(--lux-line);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,2.75rem);box-shadow:var(--lux-shadow-hover);text-align:center;transform:translateY(18px) scale(.98);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.exit-modal.is-visible .exit-modal__card{transform:translateY(0) scale(1)}
.exit-modal__title{font-size:clamp(1rem,2.2vw,1.35rem);margin-bottom:.85rem}
.exit-modal__subtitle{font-family:var(--font-body);font-weight:300;line-height:1.7;color:var(--cl-muted);margin-bottom:1.5rem}
.exit-modal__cta{width:100%;margin-bottom:.85rem}
.exit-modal__dismiss{border:0;background:none;font-family:var(--font-body);font-size:.82rem;color:var(--cl-muted);cursor:pointer;text-decoration:underline;padding:.35rem}
.exit-modal__close{position:absolute;top:.85rem;right:1rem;border:0;background:none;font-size:1.5rem;line-height:1;color:var(--cl-muted);cursor:pointer}
.cl-popup-preview{padding:1.25rem;background:linear-gradient(135deg,#f3f5fa,#eef2ff);border-radius:12px;display:flex;justify-content:center}
.cl-popup-preview__card{position:relative;transform:none!important;box-shadow:var(--lux-shadow-hover)}
.cookie-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(860px,90vw);background:#fff;border:1px solid var(--lux-line);box-shadow:var(--lux-shadow-hover);border-radius:var(--radius);padding:1.25rem;z-index:9998;display:none}
.cookie-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}
.modal{position:fixed;inset:0;background:rgba(74,95,120,.52);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:10000;padding:1rem}
.modal-card{background:#fff;border-radius:var(--radius-lg);padding:1.75rem;width:min(500px,96vw);border:1px solid var(--lux-line);box-shadow:var(--lux-shadow-hover)}

/* Editorial split layouts */
.split-editorial{
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(2rem,5vw,4rem);flex-wrap:wrap;
}
.split-editorial>div{flex:1 1 300px;min-width:min(100%,280px)}
.split-editorial--reverse{direction:rtl}
.split-editorial--reverse>*{direction:ltr}
.cta-band{
  padding:var(--section-y-tight) 0;background:var(--lux-ivory);text-align:center;
  border-top:1px solid var(--lux-line);
}
.cta-band .container{display:flex;flex-direction:column;align-items:center}
.cta-band h2{margin:0 0 .65rem;max-width:42ch}
.cta-band .lead,.cta-band p{max-width:52ch;margin-left:auto;margin-right:auto}

/* Admin (minimal compatibility) */
.admin-layout{min-height:100vh;background:#f3f5fa;overflow-x:hidden;width:100%;position:relative}
.admin-side{
  background:#1f2937;color:#fff;padding:0;
  position:fixed;left:0;top:0;bottom:0;width:280px;max-width:88vw;
  height:100vh;height:100dvh;
  display:flex;flex-direction:column;overflow:hidden;
  z-index:1200;flex-shrink:0;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:4px 0 24px rgba(15,23,42,.12);
}
.admin-side__brand{display:flex;align-items:center;gap:.75rem;margin:0;padding:1rem 1rem .85rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;min-height:88px;box-sizing:border-box}
.admin-side__logo{height:48px;width:48px;max-width:48px;object-fit:contain;flex-shrink:0}
.admin-side__brand strong{display:block;line-height:1.2}
.admin-side__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 .75rem .5rem;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;overscroll-behavior:contain}
.admin-side__nav::-webkit-scrollbar{width:6px}
.admin-side__nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:6px}
.admin-side button{
  width:100%;display:flex;align-items:flex-start;gap:.55rem;text-align:left;
  background:transparent;border:0;color:rgba(255,255,255,.78);
  padding:.6rem .65rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.86rem;
  flex-shrink:0;
}
.admin-side button i{width:1.1rem;opacity:.85;text-align:center;margin-top:.15rem;flex-shrink:0}
.admin-side button.active,.admin-side button:hover{background:rgba(255,255,255,.1);color:#fff}
.admin-side__label-wrap{display:flex;flex-direction:column;gap:.12rem;min-width:0;flex:1}
.admin-side__label{line-height:1.25}
.admin-side__hint{font-size:.68rem;font-weight:500;color:rgba(255,255,255,.42);line-height:1.3}
.admin-side button.active .admin-side__hint{color:rgba(255,255,255,.55)}
.admin-main{margin-left:280px;padding:1.5rem;min-width:0;max-width:100%;overflow-x:hidden;box-sizing:border-box;min-height:100vh}
.admin-side-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--lux-line);border-radius:10px;background:#fff;color:var(--cl-text);cursor:pointer;flex-shrink:0}
.admin-help{
  display:flex;gap:.75rem;align-items:flex-start;
  background:linear-gradient(135deg,#f8fafc,#eef2ff);
  border:1px solid var(--lux-line);border-radius:12px;
  padding:.85rem 1rem;margin-bottom:1.25rem;
}
.admin-help i{color:var(--cl-accent);font-size:1.1rem;margin-top:.15rem;flex-shrink:0}
.admin-help__text{min-width:0}
.admin-help__text strong{display:block;font-size:.92rem;margin-bottom:.2rem;color:var(--cl-text)}
.admin-help__text p{margin:0;font-size:.84rem;line-height:1.5;color:var(--cl-muted)}
.cl-seo-card{background:linear-gradient(135deg,#f8fafc,#f0fdf4);border:1px solid #bbf7d0}
.cl-seo-card h4{margin:0 0 .5rem;font-size:.95rem;display:flex;align-items:center;gap:.45rem}
.cl-char-hint{font-weight:500;color:var(--cl-muted);font-size:.75rem}
.cl-gallery-rows{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}
.cl-gallery-row{border:1px solid var(--lux-line);border-radius:10px;padding:.75rem;background:#fff}
.cl-gallery-row__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.cl-gallery-row__head strong{font-size:.85rem}
.admin-side-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1190}
.admin-section{display:none;max-width:100%;min-width:0;box-sizing:border-box}.admin-section.active{display:block}
.admin-section input:not([type="color"]):not([type="checkbox"]):not([type="file"]),.admin-section textarea,.admin-section select{width:100%;max-width:100%;box-sizing:border-box}
.admin-section .grid,.admin-section .card{min-width:0;max-width:100%}
.cl-inline-edit-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
body.admin-body{margin:0;background:var(--cl-lightgrey)}
body.admin-body .premium-nav,body.admin-body .footer,body.admin-body .wa-float,body.admin-body .cookie-banner,body.admin-body .modal{display:none!important}
.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(145deg,var(--cl-dark),#1a1a2e 55%,var(--cl-accent))}
.admin-login-card{max-width:420px;width:100%;background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-lux)}
.admin-login-card h1{margin-top:0}
.admin-topbar__brand{display:flex;align-items:center;gap:.75rem}
.admin-topbar__logo{height:40px;width:auto;max-width:140px;object-fit:contain}
.admin-side__group{margin:1rem 0 .35rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:0 .7rem}
.admin-side__logout{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:1rem;flex-shrink:0}
.admin-side__logout button{color:#fca5a5}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.admin-topbar__user{font-size:.85rem;color:var(--cl-muted)}
.cl-color-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:.5rem;align-items:center;max-width:100%}
.cl-color-row input[type="color"]{width:58px;height:38px;padding:0;border-radius:8px;cursor:pointer}
.custom-color-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:.45rem;align-items:center;margin-bottom:.5rem;max-width:100%}
.custom-color-row input[type="text"]{min-width:0}
.admin-user-pill{display:inline-block;background:var(--lux-cream);border:1px solid var(--lux-line);border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700;color:var(--cl-accent)}
.admin-api-pill{font-size:.72rem;padding:.35rem .6rem;border-radius:8px;margin:.35rem 0 0;min-height:1.6rem;min-width:6.5rem;display:inline-flex;align-items:center;max-width:100%;line-height:1.2;white-space:nowrap}
.admin-api-pill--on{background:rgba(16,185,129,.2);color:#6ee7b7}
.admin-api-pill--off{background:rgba(251,191,36,.15);color:#fcd34d}
.cl-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}
.cl-badge--on{background:#d1fae5;color:#065f46}
.cl-badge--off{background:#fee2e2;color:#991b1b}
.cl-badge--draft{background:#fef3c7;color:#92400e}
.cl-ai-box{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid var(--lux-line);border-radius:14px;padding:1rem}
.cl-nav-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.cl-nav-row input{flex:1}
.cl-plugin-card{border:1px solid var(--lux-line);border-radius:12px;padding:1rem;margin-bottom:.75rem}
.cl-plugin-card h4{margin:0 0 .35rem}
.cl-toggle{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;max-width:100%}
.cl-toggle--compact{font-size:.78rem;white-space:nowrap}
.cl-favicon-preview-wrap{display:flex;align-items:stretch;gap:.75rem;margin:.75rem 0;flex-wrap:wrap}
.cl-favicon-preview-tile{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.85rem 1rem;border-radius:12px;min-width:7rem}
.cl-favicon-preview-tile span{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cl-muted)}
.cl-favicon-preview-tile--light{background:repeating-conic-gradient(#e8ecf2 0% 25%,#fff 0% 50%) 50%/14px 14px;border:1px solid var(--lux-line)}
.cl-favicon-preview-tile--dark{background:#2a3340;border:1px solid #3d4a5c}
.cl-favicon-preview-tile--dark span{color:rgba(255,255,255,.55)}
.cl-favicon-preview-tile img{display:block}
.table th,.table td{word-break:break-word;vertical-align:top}
.table th{white-space:normal}
.table code{word-break:break-all;font-size:.78rem}
.admin-section h1{font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2;word-wrap:break-word}
.service-check{grid-template-columns:minmax(0,1fr) auto;max-width:100%}
.service-check label{min-width:0;overflow:hidden}
.cl-api-status{font-size:.82rem;padding:.5rem .75rem;border-radius:8px;margin-bottom:1rem}
.cl-api-status--ok{background:#ecfdf5;color:#065f46}
.cl-api-status--off{background:#fff7ed;color:#9a3412}
.cl-tab-guide{background:var(--cl-bg,#f3f5fa);border:1px solid var(--cl-border,#e2e8f0);border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem;font-size:.9rem;line-height:1.5}
.cl-tab-guide p{margin:0}
.cl-tab-guide__link{display:inline;padding:.2rem .5rem;font-size:.82rem;vertical-align:baseline}
.cl-copy-card{margin-bottom:1rem}
.cl-copy-card textarea,.cl-copy-card input{width:100%}
.cl-copy-card label{margin-top:.75rem}
.cl-copy-card h3{margin-top:0}
.cl-copy-actions{display:grid;gap:.6rem;max-width:28rem;margin-top:.5rem}
.admin-nav-advanced{opacity:.72}
.admin-nav-advanced::after{content:'Advanced';font-size:.58rem;margin-left:auto;opacity:.55;text-transform:uppercase;letter-spacing:.06em}
.visual-copy-pointer{background:#fff7ed;border-radius:8px;padding:.65rem .75rem}
.cl-dash-what{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--cl-border,#e2e8f0);font-size:.88rem;line-height:1.55}
.cl-dash-what p{margin:.35rem 0}
.cl-page-content-panel textarea,.cl-page-content-panel input[type="text"],.cl-page-content-panel select{width:100%}
.cl-page-content-panel label{margin-top:.65rem}
.cl-page-content-panel h3{margin-top:0}
.cl-page-blocks-panel h3{margin-top:0}
.cl-page-blocks-list{max-height:none;overflow:visible;padding-right:0}
.cl-page-blocks-list textarea{width:100%;font-size:.9rem;line-height:1.45}
.cl-page-section-group{margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border:1px solid var(--cl-border,#e2e8f0);border-radius:12px}
.cl-page-section-group:last-child{margin-bottom:0}
.cl-page-section-group__title{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--cl-dark,#0d0d1a);padding-bottom:.5rem;border-bottom:1px solid var(--cl-border,#e2e8f0)}
.cl-page-block-item{margin-bottom:1rem}
.cl-page-block-item label{font-size:.8rem;font-weight:600;display:block;margin:.5rem 0 .25rem;color:var(--cl-muted,#64748b)}
.cl-page-card-editor{background:#fff;border:1px solid var(--cl-border,#e2e8f0);border-radius:10px;padding:1rem;margin-bottom:1rem}
.cl-page-card-editor__head{font-weight:700;font-size:.92rem;margin:0 0 .75rem;color:var(--cl-primary,#667a99)}
.cl-page-card-editor input,.cl-page-card-editor textarea{width:100%;margin-bottom:.35rem}
.cl-page-card-editor label:first-of-type{margin-top:0}
.cl-pages-group{margin-bottom:1rem}
.cl-pages-group__label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cl-primary,#667a99);margin:.35rem .25rem .5rem}
.builder-preview-device{position:relative}
.cl-preview-shield{position:absolute;inset:0;z-index:4;pointer-events:none;background:transparent}
.cl-page-blocks-panel{border:2px solid var(--cl-accent,#5f029a)}
.cl-page-blocks-panel h3{color:var(--cl-dark,#0d0d1a)}
.cl-page-block-item:last-child{border-bottom:none!important;padding-bottom:0!important;margin-bottom:0!important}
.admin-api-pill{cursor:pointer}
.admin-api-pill--on{cursor:default}
.payment-panel{border:1px solid var(--lux-line);border-radius:var(--radius)}
.payment-panel .btn{margin-top:.5rem}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:.75rem;border-bottom:1px solid var(--lux-line);text-align:left;font-size:.88rem}
.table-wrap{overflow:auto}
.subtabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.subtab{border:1px solid var(--lux-line);background:#fff;border-radius:999px;padding:.5rem .75rem;font-weight:600;font-size:.82rem;cursor:pointer}
.subtab.active{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}
.palette-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.5rem;max-width:100%}
.cl-voucher-toggle{display:inline-flex;align-items:center;gap:.35rem}
.swatch{height:52px;border-radius:var(--radius-sm);border:1px solid var(--lux-line);cursor:pointer}
.internal-total{font-size:2rem;font-weight:600;color:var(--cl-accent)}
.cl-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1rem}
.cl-quick-action{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;border:1px solid var(--lux-line);background:#fff;border-radius:12px;padding:.85rem 1rem;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .15s}
.cl-quick-action:hover{border-color:var(--cl-accent);box-shadow:0 8px 22px rgba(35,48,71,.08);transform:translateY(-1px)}
.cl-quick-action i{font-size:1.1rem;color:var(--cl-accent)}
.cl-quick-action span{font-weight:800;font-size:.92rem;color:var(--cl-text)}
.cl-quick-action small{font-size:.72rem;color:var(--cl-muted);line-height:1.3}
.cl-dash-steps{margin:.25rem 0 0;padding-left:1.2rem;line-height:1.65;color:var(--cl-text)}
.cl-dash-steps li{margin-bottom:.55rem}
.cl-dash-connections{display:grid;gap:.55rem}
.cl-dash-conn{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:start;padding:.65rem .75rem;border:1px solid var(--lux-line);border-radius:10px;background:#fafbfd}
.cl-dash-conn__icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.cl-dash-conn__icon--ok{background:#d1fae5;color:#065f46}
.cl-dash-conn__icon--off{background:#f3f4f6;color:#6b7280}
.cl-dash-conn__icon--warn{background:#fef3c7;color:#92400e}
.cl-dash-conn h4{margin:0 0 .15rem;font-size:.88rem}
.cl-dash-conn p{margin:0;font-size:.78rem;color:var(--cl-muted);line-height:1.45}
.cl-dash-conn__tag{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:999px;white-space:nowrap}
.cl-dash-conn__tag--req{background:#e0e7ff;color:#3730a3}
.cl-dash-conn__tag--opt{background:#f3f4f6;color:#4b5563}
.cl-promo-bar{background:linear-gradient(90deg,var(--cl-accent),#7c3aed);color:#fff;padding:.65rem 0;font-size:.88rem;font-weight:700;position:relative;z-index:10002}
.cl-promo-bar__inner{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}
.cl-promo-bar a{color:#fff;text-decoration:underline}
.cl-seasonal-layer{pointer-events:none;position:fixed;inset:0;z-index:9997;overflow:hidden}
.cl-seasonal-snow{position:absolute;inset:0}
.cl-seasonal-snow__flake{position:absolute;top:-10px;left:calc(var(--i) * 4.2%);width:6px;height:6px;background:rgba(255,255,255,.85);border-radius:50%;animation:cl-snow-fall calc(8s + (var(--i) * .3s)) linear infinite;opacity:.7}
@keyframes cl-snow-fall{0%{transform:translateY(-10px)}100%{transform:translateY(100vh)}}
.cl-seasonal-footer{position:relative;overflow:hidden}
.cl-seasonal-walker{position:absolute;left:-80px;bottom:12px;z-index:2;animation:cl-walker-move 22s linear infinite}
.cl-seasonal-walker__sprite{font-size:2rem;display:inline-block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.cl-seasonal-walker__sprite--santa{animation:cl-santa-bounce 1.2s ease-in-out infinite}
.cl-seasonal-walker__sprite--snowman{animation:cl-santa-bounce 1.6s ease-in-out infinite}
@keyframes cl-walker-move{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 160px))}}
@keyframes cl-santa-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.cl-gallery{overflow:hidden;margin-top:1rem;border-radius:14px}
.cl-gallery__track{display:flex;gap:1rem}
.cl-gallery--scroll .cl-gallery__track{animation:cl-gallery-scroll 40s linear infinite;width:max-content}
.cl-gallery--scroll:hover .cl-gallery__track{animation-play-state:paused}
@keyframes cl-gallery-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.cl-gallery__item{flex:0 0 min(320px,78vw);margin:0}
.cl-gallery__item img{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--lux-line)}
.cl-gallery__item figcaption{font-size:.82rem;color:var(--cl-muted);margin-top:.4rem}
.cl-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cl-marquee__track{display:flex;gap:1rem;width:max-content;animation:cl-marquee-scroll 35s linear infinite}
@keyframes cl-marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.cl-review-card{flex:0 0 min(300px,80vw);background:#fff;border:1px solid var(--lux-line);border-radius:14px;padding:1.1rem;box-shadow:var(--lux-shadow)}
.cl-review-card__stars{color:#f59e0b;letter-spacing:.08em;margin-bottom:.35rem}
.cl-review-card cite{display:block;margin-top:.5rem;font-size:.82rem;color:var(--cl-muted);font-style:normal}
.cl-client-logos__label{text-align:center;font-size:.82rem;color:var(--cl-muted);margin:.5rem 0 1rem}
.cl-client-logos{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:center}
.cl-client-logo{display:flex;align-items:center;justify-content:center;min-width:120px;min-height:64px;padding:.75rem 1rem;background:#fff;border:1px solid var(--lux-line);border-radius:12px;transition:transform .2s,box-shadow .2s}
.cl-client-logo:hover{transform:translateY(-2px);box-shadow:var(--lux-shadow)}
.cl-client-logo img{max-height:42px;max-width:140px;object-fit:contain}
.cl-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.cl-reveal.is-visible{opacity:1;transform:none}
.cl-text-animate .cl-text-word{display:inline-block;opacity:0;transform:translateY(14px);animation:cl-text-in .7s ease forwards}
.cl-text-slide{opacity:0;transform:translateY(28px);animation:cl-text-slide-in .85s ease forwards}
@keyframes cl-text-in{to{opacity:1;transform:translateY(0)}}
@keyframes cl-text-slide-in{to{opacity:1;transform:translateY(0)}}
.cl-contact-strip{background:var(--cl-accent);color:#fff;padding:.85rem 0}
.cl-contact-strip__inner{max-width:var(--container,1100px);margin:0 auto;padding:0 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}
.cl-contact-strip__label{font-size:.88rem;opacity:.95;flex:1 1 220px}
.cl-contact-strip__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cl-contact-strip__link{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;transition:background .2s}
.cl-contact-strip__link:hover{background:rgba(255,255,255,.24)}
.cl-contact-strip__wa{background:rgba(37,211,102,.25)}
.cl-contact-strip__quote{background:#ff6002}
.cl-live-estimate{margin:0 0 1rem;padding:.65rem .85rem;border-radius:10px;background:var(--lux-cream);font-size:.9rem}
.cl-quote-result-actions{display:grid;gap:.5rem;margin-top:1rem}
.cl-basket-widget{position:fixed;right:22px;bottom:82px;z-index:9996;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
.cl-basket-widget__expand{
  width:28px;height:28px;border-radius:50%;border:1px solid var(--lux-line);
  background:#fff;color:var(--cl-accent);box-shadow:0 6px 16px rgba(35,48,71,.12);
  cursor:pointer;font-size:.65rem;display:grid;place-items:center;
  transition:transform .2s ease,background .2s ease;
}
.cl-basket-widget__expand:hover{background:var(--lux-cream)}
.cl-basket-widget.is-open .cl-basket-widget__expand i{transform:rotate(180deg)}
.cl-basket-widget__toggle{
  position:relative;width:56px;height:56px;border-radius:50%;
  border:1px solid var(--lux-line);background:#fff;color:var(--cl-accent);
  box-shadow:0 10px 26px rgba(74,95,120,.14);cursor:pointer;font-size:1.25rem;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
  text-decoration:none;
}
.cl-basket-widget__toggle i{color:var(--cl-accent)}
.cl-basket-widget.has-items .cl-basket-widget__toggle{border-color:var(--cl-accent);background:var(--lux-ivory);box-shadow:0 12px 28px rgba(95,2,154,.16)}
.cl-basket-widget.is-open .cl-basket-widget__toggle{transform:scale(1.04);box-shadow:0 14px 32px rgba(74,95,120,.18)}
.cl-basket-widget__count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:999px;background:#ff6002;color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px;transition:opacity .2s}
.cl-basket-widget:not(.has-items) .cl-basket-widget__count{opacity:0;transform:scale(.6)}
.cl-basket-widget__panel{
  position:absolute;right:0;bottom:calc(100% + .5rem);width:min(340px,92vw);
  background:#fff;border:1px solid var(--lux-line);border-radius:14px;
  box-shadow:var(--lux-shadow-hover);
  transform-origin:bottom right;
  transform:scale(.92) translateY(12px);
  opacity:0;visibility:hidden;max-height:0;overflow:hidden;
  padding:0 1rem;pointer-events:none;
  transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .24s ease,visibility .24s ease,max-height .32s ease,padding .24s ease;
}
.cl-basket-widget.is-open .cl-basket-widget__panel{
  transform:scale(1) translateY(0);opacity:1;visibility:visible;max-height:520px;
  padding:1rem;pointer-events:auto;overflow:visible;
}
.cl-basket-widget.is-open.is-empty .cl-basket-widget__panel{max-height:200px}
.cl-basket-widget:not(.is-open) .cl-basket-widget__panel{display:block}
.cl-basket-empty-hint{margin:.35rem 0 0;font-size:.82rem;color:var(--cl-muted);text-align:center;line-height:1.45}
@media (prefers-reduced-motion:reduce){
  .cl-basket-widget__panel,.cl-basket-widget__toggle{transition:none}
  .cl-basket-widget.is-open .cl-basket-widget__panel{transform:none}
}
.cl-basket-empty{margin:0;font-size:.9rem;color:var(--cl-muted);text-align:center;padding:.5rem 0}
.cl-basket-page__card{padding:1.25rem;margin-top:1rem}
.cl-basket-page__subtitle{margin:0 0 1rem;font-size:1.1rem}
.cl-basket-page__items{display:grid;gap:.65rem;margin-bottom:1rem}
.cl-basket-page__note{font-size:.88rem;color:var(--cl-muted);margin:0 0 .75rem;padding:.65rem .75rem;border-radius:10px;background:var(--lux-cream)}
.cl-basket-page__note.is-success{color:var(--cl-accent);background:rgba(95,2,154,.06);font-weight:600}
.cl-basket-page__note.is-hint{color:var(--cl-text)}
.cl-basket-page__subtotal,.cl-basket-page__discount{margin:0 0 .35rem;font-size:.95rem;color:var(--cl-muted)}
.cl-basket-page__discount strong{color:#0a7a3e}
.cl-basket-page__total{margin:0 0 1rem;font-size:1.15rem;padding-top:.5rem;border-top:1px solid var(--lux-line)}
.cl-basket-page__actions{display:grid;gap:.5rem}
.cl-basket-bundle-card{padding:1.1rem 1.25rem;background:linear-gradient(135deg,rgba(95,2,154,.04),rgba(255,96,2,.04));border:1px solid rgba(95,2,154,.12)}
.cl-basket-bundle-card__title{margin:0 0 .35rem;font-size:1rem;display:flex;align-items:center;gap:.45rem}
.cl-basket-bundle-card__intro{margin:0 0 .85rem;font-size:.88rem;color:var(--cl-muted);line-height:1.5}
.cl-basket-tier-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.cl-basket-bundle-card__savings{margin:.75rem 0 0;padding:.7rem .85rem;border-radius:10px;background:var(--lux-cream);font-size:.9rem;color:var(--cl-text);display:none}
.cl-basket-bundle-card__savings.is-active{color:var(--cl-accent);background:rgba(95,2,154,.06);font-weight:600}
.cl-basket-tier{display:grid;grid-template-columns:1fr auto auto;gap:.5rem 1rem;align-items:center;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--lux-line);background:#fff;font-size:.88rem;opacity:.72}
.cl-basket-tier.is-unlocked{opacity:1;border-color:rgba(95,2,154,.2)}
.cl-basket-tier.is-current{border-color:var(--cl-accent);box-shadow:0 0 0 1px rgba(95,2,154,.15);font-weight:600}
.cl-basket-tier__pct{color:var(--cl-accent);font-weight:700}
.cl-basket-tier__status{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cl-muted);text-align:right}
.cl-basket-tier.is-current .cl-basket-tier__status{color:var(--cl-accent);font-weight:700}
.cl-basket-item__qty{min-width:1.25rem;text-align:center;font-weight:700}
.cl-basket-add-qty label{display:block;margin-bottom:.35rem;font-weight:600}
.cl-basket-step0-actions{display:grid;gap:.5rem;margin-top:1rem}
.cl-basket-widget__toggle{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--cl-accent)}
a.cl-basket-widget__toggle.is-disabled,.btn.is-disabled{opacity:.55;pointer-events:none}
.cl-basket-widget__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.cl-basket-widget__close{border:0;background:none;font-size:1.4rem;cursor:pointer;color:var(--cl-muted)}
.cl-basket-widget__items{max-height:220px;overflow:auto;display:grid;gap:.55rem;margin-bottom:.75rem}
.cl-basket-item{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;border:1px solid var(--lux-line);border-radius:10px;padding:.55rem .65rem;font-size:.85rem}
.cl-basket-item__actions{display:flex;gap:.25rem;flex-wrap:wrap}
.cl-basket-item__actions button{border:1px solid var(--lux-line);background:#fff;border-radius:8px;padding:.2rem .45rem;font-size:.72rem;cursor:pointer}
.cl-basket-widget__total{margin:.35rem 0 .75rem}

/* Scroll reveal + motion */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
.reveal--delay{transition-delay:.12s}
.reveal--delay-2{transition-delay:.22s}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  .cl-gallery--scroll .cl-gallery__track,.cl-marquee__track,.cl-seasonal-walker,.cl-seasonal-snow__flake{animation:none!important}
  .cl-reveal{opacity:1;transform:none}
  .reveal{opacity:1;transform:none;transition:none}
  .lux-img img,.lux-img__bg,.hero--cinematic .hero__media{transition:none}
}

/* Responsive */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .hero--half{grid-template-columns:1fr}
  .hero--half .hero__media{min-height:42vh}
  .page-contact .contact-enquiry-grid{grid-template-columns:1fr}
  .service-spec-row,.service-spec-row--reverse{flex-direction:column}
  .service-spec-media,.service-spec-copy{flex:1 1 100%;width:100%}
  .masonry-fluid{grid-template-columns:1fr}
  .masonry-fluid__stack{min-height:auto;grid-template-rows:auto}
  .masonry-fluid--stagger .masonry-fluid__col:first-child{padding-top:0}
  .editorial-row{flex-direction:column;padding:60px 0}
  .trust-grid,.four{grid-template-columns:repeat(2,1fr)}
  .three{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .footer-grid{grid-template-columns:1fr}
  .footer-contact-col .social-icon-row{padding-left:1.775rem}
  .page-contact .contact-form-grid{grid-template-columns:1fr;gap:0}
  .lux-detail-grid{grid-template-columns:1fr}
  .portal-grid__row{grid-template-columns:1fr}
  .voucher-input-row{grid-template-columns:1fr}
  .premium-nav .nav-inner{min-height:72px}
  .logo img,.logo-img--header{height:58px;max-width:200px}
  .footer-brand .logo-mark img,.logo-img--footer{height:48px;max-width:180px}
  .hero--overlap .editorial-panel{margin-top:-2rem;margin-left:auto;margin-right:auto}
  .nav-links,.nav-cta{display:none}
  .hamburger{display:block}
  .mobile-panel{position:fixed;top:64px;left:0;right:0;background:var(--lux-ivory);border-bottom:1px solid var(--lux-line);padding:1rem;z-index:999;display:none}
  .mobile-panel.open{display:block}
  .mobile-panel a,.mobile-panel button{display:block;width:100%;padding:.8rem 0;text-align:left;border:0;background:transparent;font:inherit;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
  .service-jump{grid-template-columns:repeat(2,1fr)}
  .hero-grid,.two,.three,.four,.split-editorial,.service-includes-grid,.page-contact .contact-enquiry-grid,.areas-wrap{grid-template-columns:1fr}
  .page-contact .contact-form-grid{grid-template-columns:1fr}
  .areas-wrap{grid-template-columns:1fr;gap:1.5rem}
  .areas-col--list{order:3}
  .coverage-map{height:clamp(200px,42vw,260px);min-height:200px}
  .coverage-map__list-wrap{grid-template-columns:1fr;max-height:none}
  .coverage-map__list-btn:nth-child(odd){border-right:0}
  .hero-actions .btn,.hero-actions a{width:100%}
  .trust-grid{grid-template-columns:1fr}
  .cookie-actions{grid-template-columns:1fr}
  .builder-row{grid-template-columns:1fr}
  .cl-quick-actions{grid-template-columns:repeat(2,1fr)}
  .builder-workspace,.visual-workspace,.pages-workspace,.pages-workspace--ionos{grid-template-columns:1fr}
  .cl-pages-sidebar{position:relative;max-height:none}
  .cl-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .custom-color-row{grid-template-columns:1fr}
  .builder-row{grid-template-columns:1fr}
  .builder-workspace__preview,.visual-workspace__preview,.pages-workspace__preview{position:relative;top:auto}
  .builder-device-btn span{display:inline}
  .admin-side-toggle{display:inline-flex}
  .admin-main{margin-left:0;padding:1rem}
  .admin-side{transform:translateX(-100%);transition:transform .22s ease}
  .admin-side.is-open{transform:translateX(0)}
  .admin-side-backdrop.is-visible{display:block}
}
