:root{
  --ink:#28120d;
  --muted:#765f55;
  --paper:#fff7eb;
  --white:#fff;
  --leaf:#a30f12;
  --leaf-dark:#5b0708;
  --cyan:#fff4df;
  --gold:#d8a23a;
  --clay:#c63b2f;
  --line:rgba(84,31,18,.16);
  --soft:#fff1d7;
  --shadow:0 22px 60px rgba(55,8,6,.18);
  --royal:#8f0f12;
  --royal-dark:#2a0505;
  --ivory:#fff8ec;
  --pearl:#fff4df;
  --hero-image:url("transparent-marquee-garden-night.jpg");
  --visual-image:url("transparent-marquee-garden-night.jpg");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-bottom:88px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 4%,rgba(255,217,131,.38),transparent 24rem),
    radial-gradient(circle at 88% 10%,rgba(143,17,16,.26),transparent 28rem),
    radial-gradient(circle at 50% 100%,rgba(217,160,43,.28),transparent 30rem),
    linear-gradient(180deg,#fff7e6 0%,#fff3dc 38%,#f4dfb8 72%,#ead1a6 100%);
  line-height:1.56;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.gallery-modal-open,
body.size-helper-open{overflow:hidden}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(105,8,7,.06) 1px,transparent 1px),
    linear-gradient(180deg,rgba(105,8,7,.05) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 72%);
}
a{color:inherit}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  color:var(--white);
  background:radial-gradient(circle at 18% 0%,rgba(255,217,131,.12),transparent 18rem),linear-gradient(90deg,rgba(23,4,3,.96),rgba(95,10,9,.93) 58%,rgba(23,4,3,.96));
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(243,190,80,.26);
}
.header-inner{min-height:146px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
.brand>span{min-width:0}
.brand-logo{
  display:block;
  width:124px;
  height:124px;
  flex:0 0 auto;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(244,199,98,.58);
  border-radius:8px;
  background:#1b0504;
  box-shadow:0 12px 34px rgba(217,160,43,.25);
}
.brand strong{display:block;max-width:340px;line-height:1.05;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff6de}
.brand small{display:block;margin-top:4px;color:rgba(255,239,201,.72);font-size:.82rem}
.nav{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.78);font-size:.84rem;font-weight:850}
.nav a{position:relative;text-decoration:none;white-space:nowrap}
.nav a:last-child{display:none}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.nav a:hover{color:#fff}
.nav a:hover::after{transform:scaleX(1)}
.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.header-actions .btn{
  min-height:44px;
  padding-inline:13px;
  border:1px solid rgba(244,199,98,.7);
  border-radius:8px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a 0%,#d9a02b 50%,#a96b12 100%);
  box-shadow:0 16px 42px rgba(23,4,3,.24);
  font-size:.82rem;
  font-weight:940;
  line-height:1;
  white-space:nowrap;
}
.header-portfolio-btn{
  color:#2a0a05;
}
.quote-label-short{display:none}
.nav-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 13px;
  border:1px solid rgba(244,199,98,.7);
  border-radius:8px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a 0%,#d9a02b 50%,#a96b12 100%);
  box-shadow:0 16px 42px rgba(23,4,3,.24);
  font:inherit;
  font-size:.82rem;
  font-weight:930;
  cursor:pointer;
}
.nav-toggle-icon{
  position:relative;
  width:18px;
  height:12px;
  border-top:2px solid currentColor;
  border-bottom:2px solid currentColor;
  color:#6f120f;
}
.nav-toggle-icon::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  background:currentColor;
  box-shadow:0 0 0 1px rgba(143,17,16,.22);
  transform:translateY(-50%);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  max-width:100%;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:8px;
  color:var(--white);
  background:rgba(255,255,255,.11);
  text-decoration:none;
  font-weight:920;
  text-align:center;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.btn:hover{transform:translateY(-2px);background:rgba(255,244,223,.18);border-color:rgba(243,190,80,.54)}
.btn.primary{border-color:var(--gold);color:#2a0a05;background:linear-gradient(135deg,#ffe19a 0%,#d9a02b 48%,#a96b12 100%);box-shadow:0 14px 34px rgba(217,154,43,.25)}
.btn.primary:hover{box-shadow:0 18px 42px rgba(217,154,43,.34)}
.btn:is(button){font:inherit;cursor:pointer}
.hero-classic,.visual-classic{--hero-image:url("transparent-marquee-garden-night.jpg");--visual-image:url("transparent-marquee-garden-night.jpg")}
.hero-clearspan,.visual-clearspan{--hero-image:url("transparent-marquee-convention-centre-evening.jpg");--visual-image:url("transparent-marquee-convention-centre-evening.jpg")}
.hero-transparent,.visual-transparent{--hero-image:url("transparent-marquee-waterfront-night.jpg");--visual-image:url("transparent-marquee-waterfront-night.jpg")}
.hero-aircond,.visual-aircond{--hero-image:url("black-gold-gala-marquee-lounge.jpg");--visual-image:url("black-gold-gala-marquee-lounge.jpg")}
.hero-warehouse,.visual-warehouse{--hero-image:url("loading-bay-industrial-marquee.jpg");--visual-image:url("loading-bay-industrial-marquee.jpg")}
.hero-canopy,.visual-canopy{--hero-image:url("red-pearl-canopy-evening-banquet.jpg");--visual-image:url("red-pearl-canopy-evening-banquet.jpg")}
.hero-modular,.visual-modular{--hero-image:url("resort-transparent-marquee-lunch.jpg");--visual-image:url("resort-transparent-marquee-lunch.jpg")}
.hero-price,.visual-price{--hero-image:url("resort-clear-roof-marquee-lawn.jpg");--visual-image:url("resort-clear-roof-marquee-lawn.jpg")}
.hero-size,.visual-size{--hero-image:url("empty-clear-roof-marquee-evening.jpg");--visual-image:url("empty-clear-roof-marquee-evening.jpg")}
.hero-quote,.visual-quote{--hero-image:url("pearl-clear-roof-marquee-dining-interior.jpg");--visual-image:url("pearl-clear-roof-marquee-dining-interior.jpg")}
.hero-convention,.visual-convention{--hero-image:url("transparent-marquee-convention-centre-evening.jpg");--visual-image:url("transparent-marquee-convention-centre-evening.jpg")}
.hero-productLaunch,.visual-productLaunch{--hero-image:url("runway-marquee-production-stage.jpg");--visual-image:url("runway-marquee-production-stage.jpg")}
.hero-banquetInterior,.visual-banquetInterior{--hero-image:url("black-gold-gala-marquee-lounge.jpg");--visual-image:url("black-gold-gala-marquee-lounge.jpg")}
.hero-fairyLight,.visual-fairyLight{--hero-image:url("clear-roof-fairy-light-wedding-marquee.jpg");--visual-image:url("clear-roof-fairy-light-wedding-marquee.jpg")}
.hero-redCanopy,.visual-redCanopy{--hero-image:url("red-pearl-canopy-buffet-dining.jpg");--visual-image:url("red-pearl-canopy-buffet-dining.jpg")}
.hero-chineseBanquet,.visual-chineseBanquet{--hero-image:url("red-pearl-canopy-banquet-interior.jpg");--visual-image:url("red-pearl-canopy-banquet-interior.jpg")}
.hero-templeCanopy,.visual-templeCanopy{--hero-image:url("temple-red-canopy-banquet.jpg");--visual-image:url("temple-red-canopy-banquet.jpg")}
.hero-emptyClear,.visual-emptyClear{--hero-image:url("frozen-food-storage-tent.jpg");--visual-image:url("frozen-food-storage-tent.jpg")}
.hero-resortDay,.visual-resortDay{--hero-image:url("transparent-marquee-garden-daytime.jpg");--visual-image:url("transparent-marquee-garden-daytime.jpg")}
.hero-waterfrontBlue,.visual-waterfrontBlue{--hero-image:url("waterfront-blue-transparent-marquee-night.jpg");--visual-image:url("waterfront-blue-transparent-marquee-night.jpg")}
.hero-bukitJalilPortfolio,.visual-bukitJalilPortfolio{--hero-image:url("bukit-jalil-stadium-fan-zone-event-portfolio-marquee-tent-rental-kuala-lumpur.png");--visual-image:url("bukit-jalil-stadium-fan-zone-event-portfolio-marquee-tent-rental-kuala-lumpur.png")}
.hero-axiataArenaPortfolio,.visual-axiataArenaPortfolio{--hero-image:url("axiata-arena-registration-event-portfolio-marquee-tent-rental-kuala-lumpur.png");--visual-image:url("axiata-arena-registration-event-portfolio-marquee-tent-rental-kuala-lumpur.png")}
.hero-titiwangsaFamilyDayPortfolio,.visual-titiwangsaFamilyDayPortfolio{--hero-image:url("titiwangsa-lake-gardens-family-day-night-biscuit-brand-marquee-tent-event-kuala-lumpur.png");--visual-image:url("titiwangsa-lake-gardens-family-day-night-biscuit-brand-marquee-tent-event-kuala-lumpur.png")}
.hero-kualaLumpurCivicBazaarPortfolio,.visual-kualaLumpurCivicBazaarPortfolio{--hero-image:url("kuala-lumpur-civic-field-public-celebration-bazaar-marquee-portfolio-concept-overview.png");--visual-image:url("kuala-lumpur-civic-field-public-celebration-bazaar-marquee-portfolio-concept-overview.png")}
.hero-universitiMalayaCampusCarnivalPortfolio,.visual-universitiMalayaCampusCarnivalPortfolio{--hero-image:url("universiti-malaya-campus-carnival-marquee-tent-student-showcase-portfolio-concept-kuala-lumpur.png");--visual-image:url("universiti-malaya-campus-carnival-marquee-tent-student-showcase-portfolio-concept-kuala-lumpur.png")}
.hero-klEcoCityRumaVistaPortfolio,.visual-klEcoCityRumaVistaPortfolio{--hero-image:url("kl-eco-city-rumavista-living-roadshow-clear-marquee-tenant-activation-portfolio-kuala-lumpur.png");--visual-image:url("kl-eco-city-rumavista-living-roadshow-clear-marquee-tenant-activation-portfolio-kuala-lumpur.png")}
.hero-sentulDepotArtMarketPortfolio,.visual-sentulDepotArtMarketPortfolio{--hero-image:url("malaysian-art-market-marquee-industrial-yard-angle-01.webp");--visual-image:url("malaysian-art-market-marquee-industrial-yard-angle-01.webp")}
.hero-kepongMetropolitanParkPortfolio,.visual-kepongMetropolitanParkPortfolio{--hero-image:url("kepong-metropolitan-park-community-run-marquee-angle-01.webp");--visual-image:url("kepong-metropolitan-park-community-run-marquee-angle-01.webp")}
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:76svh;
  display:grid;
  align-items:end;
  padding:112px 0 74px;
  color:var(--white);
  background-image:radial-gradient(circle at 76% 16%,rgba(255,217,131,.28),transparent 34%),radial-gradient(circle at 18% 84%,rgba(143,17,16,.5),transparent 36%),linear-gradient(90deg,rgba(23,4,3,.96) 0%,rgba(91,10,9,.84) 45%,rgba(23,4,3,.34) 100%),linear-gradient(180deg,rgba(98,9,8,.32) 0%,rgba(23,4,3,.7) 100%),var(--hero-image);
  background-position:center;
  background-size:cover;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:32%;
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,248,235,0),#fff3dc);
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.58fr);gap:44px;align-items:center}
.hero-grid>*{min-width:0}
.eyebrow{margin:0 0 15px;color:#ffd983;font-size:.78rem;font-weight:920;letter-spacing:.08em;text-transform:uppercase}
.hero h1{max-width:860px;margin:0;font-size:4.75rem;line-height:1;letter-spacing:0}
.hero p{max-width:760px;margin:20px 0 0;color:rgba(255,255,255,.82);font-size:1.13rem}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.hero-tags span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(243,190,80,.34);
  border-radius:999px;
  background:rgba(255,244,223,.1);
  color:rgba(255,244,223,.88);
  font-size:.85rem;
  font-weight:850;
}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.visual{
  min-height:320px;
  margin:0;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border:1px solid rgba(243,190,80,.42);
  border-radius:8px;
  background-image:linear-gradient(180deg,rgba(23,4,3,.06),rgba(23,4,3,.82)),var(--visual-image);
  background-position:center;
  background-size:cover;
  box-shadow:var(--shadow);
}
.visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,244,223,.18),rgba(143,17,16,.12) 42%,rgba(217,160,43,.18));
}
.visual-bukitJalilPortfolio,.visual-axiataArenaPortfolio,.visual-titiwangsaFamilyDayPortfolio,.visual-kualaLumpurCivicBazaarPortfolio,.visual-universitiMalayaCampusCarnivalPortfolio,.visual-klEcoCityRumaVistaPortfolio{
  background-size:contain;
  background-repeat:no-repeat;
  background-color:#170403;
}
.visual figcaption{
  position:relative;
  width:100%;
  padding:22px;
  color:#fff;
  background:linear-gradient(180deg,rgba(23,4,3,0),rgba(23,4,3,.86));
}
.visual-label{display:block;font-size:1.35rem;font-weight:940;line-height:1.12;overflow-wrap:anywhere}
.visual-label{white-space:normal}
.visual small{display:block;margin-top:8px;color:rgba(255,255,255,.75);font-weight:850}
.trust-strip{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:-34px;
  overflow:hidden;
  border:1px solid rgba(243,190,80,.42);
  border-radius:8px;
  background:rgba(255,244,223,.62);
  box-shadow:var(--shadow);
}
.trust-strip div{min-height:126px;padding:24px;background:rgba(255,253,247,.96)}
.trust-strip strong{display:block;color:var(--leaf);font-size:1.85rem;line-height:1;font-weight:950}
.trust-strip span{display:block;margin-top:10px;color:var(--muted)}
.section{position:relative;padding:76px 0;border-bottom:1px solid rgba(84,31,18,.13)}
.section::before{
  content:"";
  position:absolute;
  inset:0 calc(50% - 50vw);
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,253,247,.28),rgba(255,244,223,.1));
  opacity:.64;
}
.section:last-child{border-bottom:0}
.section.split{display:grid;grid-template-columns:minmax(0,.88fr) minmax(300px,.62fr);gap:34px;align-items:start}
.section.split>*{min-width:0}
.kicker{margin:0 0 11px;color:var(--leaf);font-size:.78rem;font-weight:940;letter-spacing:.08em;text-transform:uppercase}
h2{margin:0 0 17px;font-size:3rem;line-height:1.06;letter-spacing:0}
h3{margin:0 0 9px;font-size:1.12rem;line-height:1.2}
h1,h2,h3,p,a,dt,dd,td,th,span{overflow-wrap:break-word}
.section p,.note,td{color:var(--muted)}
.section p{max-width:860px}
.section-lead{margin:0 0 22px;font-size:1.02rem}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.section-head h2{margin-bottom:0}
.section-head .section-lead{margin:12px 0 0}
.section-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(163,15,18,.22);
  border-radius:8px;
  color:var(--leaf-dark);
  background:linear-gradient(180deg,#fffdf7,#fff1d7);
  font-weight:920;
  text-decoration:none;
  white-space:nowrap;
}
.section-link:hover{border-color:rgba(216,162,58,.56);box-shadow:0 12px 30px rgba(55,8,6,.08)}
.ck-proof{
  margin-inline:calc(50% - 50vw);
  padding:78px max(20px,calc((100vw - 1180px)/2));
  color:#fff;
  background:radial-gradient(circle at 82% 12%,rgba(255,217,131,.2),transparent 28%),linear-gradient(135deg,#170403 0%,#6f0a09 58%,#2a0706 100%);
  box-shadow:inset 0 1px 0 rgba(255,217,131,.2),inset 0 -1px 0 rgba(255,217,131,.16);
}
.ck-proof::before{display:none}
.ck-proof .kicker{color:#ffd983}
.ck-proof p{color:rgba(255,244,223,.78)}
.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.link-grid.wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.link-grid a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:60px;
  padding:15px 42px 15px 16px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--ink);
  background:linear-gradient(180deg,rgba(255,253,247,.98),rgba(255,247,232,.94));
  text-decoration:none;
  font-weight:870;
  line-height:1.25;
  box-shadow:0 10px 26px rgba(55,8,6,.06);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.link-grid a::after{
  content:"";
  position:absolute;
  right:17px;
  width:8px;
  height:8px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:rotate(45deg);
  opacity:.42;
}
.link-grid a:hover{transform:translateY(-2px);border-color:rgba(217,160,43,.46);color:var(--leaf);box-shadow:0 18px 36px rgba(55,8,6,.09)}
.tent-type-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.tent-type-card{
  min-width:0;
  min-height:100%;
}
.tent-type-card a{
  position:relative;
  display:block;
  min-height:100%;
  overflow:hidden;
  border:1px solid rgba(243,190,80,.28);
  border-radius:8px;
  color:#fff;
  background:#170403;
  text-decoration:none;
  box-shadow:0 16px 38px rgba(55,8,6,.14);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tent-type-card a::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(23,4,3,.02) 0%,rgba(23,4,3,.1) 36%,rgba(23,4,3,.9) 100%),
    linear-gradient(90deg,rgba(23,4,3,.44),rgba(23,4,3,0) 56%);
}
.tent-type-card-media{
  display:block;
  aspect-ratio:4/5;
  min-height:330px;
  overflow:hidden;
  background:#2a0706;
}
.tent-type-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .28s ease,filter .28s ease;
}
.tent-type-card-body{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  display:grid;
  gap:8px;
  padding:18px;
  align-content:end;
}
.tent-type-card-kicker{
  color:#ffd983;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
.tent-type-card strong{
  display:block;
  color:#fff7e6;
  font-size:1.08rem;
  line-height:1.13;
}
.tent-type-card-copy{
  display:block;
  color:rgba(255,244,223,.8);
  font-size:.83rem;
  line-height:1.35;
}
.tent-type-card-cta{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:30px;
  align-items:center;
  margin-top:4px;
  padding:0 10px;
  border:1px solid rgba(255,217,131,.46);
  border-radius:999px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,var(--gold));
  font-size:.76rem;
  font-weight:930;
}
.tent-type-card a:hover{
  transform:translateY(-4px);
  border-color:rgba(255,217,131,.7);
  box-shadow:0 24px 54px rgba(55,8,6,.2);
}
.tent-type-card a:hover img{transform:scale(1.06);filter:saturate(1.08) contrast(1.04)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffdf7,#fff8eb);box-shadow:0 12px 32px rgba(55,8,6,.06)}
table{width:100%;min-width:760px;border-collapse:collapse}
th,td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--leaf-dark);background:#fff0cf;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
tbody tr:hover td{background:#fffaf0}
tr:last-child td{border-bottom:0}
.cards{display:grid;gap:16px}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards article,.steps article{
  position:relative;
  overflow:hidden;
  min-height:100%;
  padding:24px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff8eb);
  box-shadow:0 12px 32px rgba(55,8,6,.06);
}
.cards article::before,.steps article::before{
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin-bottom:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--cyan));
}
.local-place-tags,
.location-chip-list,
.location-category-chips,
.location-zone-places{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.local-place-tags span,
.location-chip-list span,
.location-category-chips span,
.location-zone-places span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(143,17,16,.15);
  border-radius:999px;
  color:var(--leaf-dark);
  background:#fff1d7;
  font-size:.88rem;
  font-weight:830;
}
.location-hero-places{
  padding:28px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff7e8);
  box-shadow:0 12px 32px rgba(55,8,6,.06);
}
.location-selector-shell{
  margin-top:22px;
  padding:18px;
  border:1px solid rgba(143,17,16,.16);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff4df);
  box-shadow:0 18px 50px rgba(55,8,6,.09);
}
.location-selector-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
  gap:14px;
  align-items:end;
  margin-bottom:16px;
}
.location-search{
  display:grid;
  gap:8px;
}
.location-search span{
  color:var(--leaf);
  font-size:.76rem;
  font-weight:940;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.location-search input{
  width:100%;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(143,17,16,.22);
  border-radius:8px;
  color:var(--ink);
  background:#fffaf0;
  font:inherit;
  font-weight:800;
  outline:none;
}
.location-search input:focus{
  border-color:rgba(217,160,43,.72);
  box-shadow:0 0 0 4px rgba(217,160,43,.16);
}
.location-filter-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.location-filter{
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(143,17,16,.16);
  border-radius:999px;
  color:var(--leaf-dark);
  background:#fffdf7;
  font:inherit;
  font-size:.84rem;
  font-weight:880;
  cursor:pointer;
}
.location-filter:hover,
.location-filter.active{
  border-color:rgba(217,160,43,.58);
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,var(--gold));
}
.location-area-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:18px;
  align-items:start;
}
.location-map-board{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  min-height:520px;
  padding:18px;
  overflow:hidden;
  border:1px solid rgba(143,17,16,.14);
  border-radius:8px;
  background:
    linear-gradient(90deg,rgba(143,17,16,.04) 1px,transparent 1px),
    linear-gradient(180deg,rgba(143,17,16,.04) 1px,transparent 1px),
    radial-gradient(circle at 18% 18%,rgba(217,160,43,.18),transparent 24%),
    radial-gradient(circle at 86% 72%,rgba(20,119,105,.14),transparent 28%),
    #fffaf0;
  background-size:42px 42px,42px 42px,auto,auto,auto;
}
.location-map-pin{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:6px 12px;
  min-width:0;
  min-height:118px;
  padding:14px;
  border:1px solid rgba(143,17,16,.15);
  border-radius:8px;
  color:var(--ink);
  background:rgba(255,253,247,.92);
  box-shadow:0 10px 26px rgba(55,8,6,.06);
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.location-map-pin[hidden]{display:none}
.location-map-pin span{
  display:grid;
  grid-row:1 / span 3;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,var(--gold));
  font-weight:950;
}
.location-map-pin strong{
  min-width:0;
  font-size:1.02rem;
  line-height:1.18;
  overflow-wrap:anywhere;
}
.location-map-pin small{
  display:block;
  color:var(--muted);
  line-height:1.35;
}
.location-map-pin em{
  display:block;
  color:var(--leaf);
  font-size:.72rem;
  font-style:normal;
  font-weight:930;
  letter-spacing:.04em;
  line-height:1.22;
  text-transform:uppercase;
}
.location-map-pin:hover,
.location-map-pin.active{
  transform:translateY(-2px);
  border-color:rgba(217,160,43,.64);
  background:#fff7dc;
  box-shadow:0 18px 42px rgba(55,8,6,.12);
}
.location-no-match{
  position:relative;
  z-index:1;
  grid-column:1 / -1;
  margin:0;
  padding:18px;
  border:1px dashed rgba(143,17,16,.26);
  border-radius:8px;
  color:var(--muted);
  background:#fffdf7;
  font-weight:780;
}
.location-zone-panel{
  position:sticky;
  top:110px;
  display:grid;
  gap:16px;
  min-width:0;
  padding:24px;
  border:1px solid rgba(143,17,16,.16);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff7e8);
  box-shadow:0 18px 46px rgba(55,8,6,.1);
}
.location-zone-panel h3{
  margin:0;
  color:var(--ink);
  font-size:1.55rem;
  line-height:1.18;
}
.location-zone-panel p{margin:0}
.location-zone-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.location-zone-meta div{
  min-width:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff3dd;
}
.location-zone-meta span{
  display:block;
  margin-bottom:6px;
  color:var(--leaf);
  font-size:.7rem;
  font-weight:940;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.location-zone-meta strong{
  display:block;
  color:var(--ink);
  line-height:1.32;
  overflow-wrap:anywhere;
}
.location-zone-notes{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.location-zone-notes li{
  display:grid;
  grid-template-columns:10px 1fr;
  gap:10px;
  color:var(--muted);
  font-weight:760;
  line-height:1.5;
}
.location-zone-notes li::before{
  content:"";
  width:8px;
  height:8px;
  margin-top:9px;
  border-radius:999px;
  background:var(--gold);
}
.location-zone-quote{justify-self:start}
.location-type-grid,
.location-bucket-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.location-bucket-grid{margin-top:16px}
.location-type-card,
.location-bucket{
  min-width:0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff8eb);
  box-shadow:0 12px 32px rgba(55,8,6,.06);
}
.location-type-card h3,
.location-bucket h3{
  margin:0 0 14px;
  color:var(--leaf-dark);
  font-size:1.08rem;
  line-height:1.22;
}
.portfolio-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin:26px 0 18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff8eb);
  box-shadow:0 12px 32px rgba(55,8,6,.06);
}
.portfolio-filter{display:grid;gap:8px;min-width:min(100%,320px)}
.portfolio-filter span{color:var(--leaf);font-size:.78rem;font-weight:930;text-transform:uppercase;letter-spacing:.06em}
.portfolio-filter select{
  width:100%;
  min-height:46px;
  padding:0 40px 0 13px;
  border:1px solid rgba(143,17,16,.24);
  border-radius:8px;
  color:var(--ink);
  background:#fff3dd;
  font:inherit;
  font-weight:820;
}
.portfolio-count{color:var(--leaf-dark);font-weight:920;text-align:right}
.portfolio-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portfolio-card[hidden]{display:none}
.portfolio-card{
  display:grid;
  gap:16px;
  min-width:0;
  padding:24px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff7e8);
  box-shadow:0 14px 36px rgba(55,8,6,.07);
}
.portfolio-preview{
  display:block;
  overflow:hidden;
  aspect-ratio:3/2;
  border:1px solid var(--line);
  border-radius:8px;
  background:#170403;
}
.portfolio-preview img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.portfolio-topline{display:flex;align-items:center;gap:10px;color:var(--leaf);font-size:.82rem;font-weight:930;letter-spacing:.05em;text-transform:uppercase}
.portfolio-topline span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;color:#2a0a05;background:linear-gradient(135deg,#ffe19a,var(--gold));font-weight:950}
.portfolio-card h3{font-size:1.35rem}
.portfolio-address{margin:0;color:var(--muted);font-weight:760;overflow-wrap:anywhere}
.portfolio-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.portfolio-meta div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff3dd}
.portfolio-meta dt{margin:0 0 5px;color:var(--leaf);font-size:.74rem;font-weight:930;text-transform:uppercase;letter-spacing:.06em}
.portfolio-meta dd{margin:0;color:var(--ink);font-weight:820;line-height:1.3;overflow-wrap:anywhere}
.portfolio-services{display:flex;flex-wrap:wrap;gap:8px}
.portfolio-services span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid rgba(143,17,16,.16);border-radius:999px;color:var(--leaf-dark);background:#fff1d7;font-size:.86rem;font-weight:830}
.portfolio-solution{padding:16px;border-left:4px solid var(--gold);background:#fff9ef}
.portfolio-solution strong{display:block;margin-bottom:6px;color:var(--leaf-dark)}
.portfolio-solution p{margin:0}
.portfolio-photo{justify-self:start;color:#2a0a05}
.location-project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.location-project-card{
  display:grid;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff7e8);
  box-shadow:0 14px 36px rgba(55,8,6,.07);
}
.location-project-photo{
  display:block;
  overflow:hidden;
  aspect-ratio:3/2;
  background:#170403;
}
.location-project-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.location-project-body{
  display:grid;
  gap:8px;
  padding:16px;
}
.location-project-body p{
  margin:0;
  color:var(--leaf);
  font-size:.74rem;
  font-weight:940;
  letter-spacing:.06em;
  line-height:1.2;
  text-transform:uppercase;
}
.location-project-body h3{margin:0;font-size:1.08rem;line-height:1.22}
.location-project-body span{color:var(--muted);font-weight:760}
.location-records{margin-top:30px}
.location-subhead{margin:0 0 14px;color:var(--leaf-dark);font-size:1.42rem}
.portfolio-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:22px;
}
.portfolio-pagination button{
  display:grid;
  place-items:center;
  min-width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--leaf-dark);
  background:#fffdf7;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.portfolio-pagination button:hover,.portfolio-pagination button.active{
  border-color:rgba(217,160,43,.5);
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,var(--gold));
}
.pill-list{display:flex;flex-wrap:wrap;gap:10px}
.pill-list span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.1);
  font-weight:850;
}
.section:not(.ck-proof) .pill-list span{border-color:rgba(143,17,16,.16);color:var(--leaf-dark);background:#fff1d7}
.gallery-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin:26px 0 18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff8eb);
  box-shadow:0 12px 32px rgba(55,8,6,.06);
}
.gallery-filter{display:grid;gap:8px;min-width:min(100%,320px)}
.gallery-filter span{color:var(--leaf);font-size:.78rem;font-weight:930;text-transform:uppercase;letter-spacing:.06em}
.gallery-filter select{
  width:100%;
  min-height:46px;
  padding:0 40px 0 13px;
  border:1px solid rgba(163,15,18,.24);
  border-radius:8px;
  color:var(--ink);
  background:#fff3dd;
  font:inherit;
  font-weight:820;
}
.gallery-count{color:var(--leaf-dark);font-weight:920;text-align:right}
.image-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.image-gallery.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-first-quote{
  display:grid;
  grid-template-columns:minmax(260px,.58fr) minmax(320px,1fr);
  gap:24px;
  align-items:center;
}
.photo-first-copy{min-width:0}
.photo-first-copy h2{margin-bottom:12px}
.photo-first-copy p{color:var(--muted);line-height:1.55}
.photo-first-grid{margin:0}
.photo-first-grid.image-gallery.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-item[hidden]{display:none}
.gallery-item{
  display:grid;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff7e8);
  box-shadow:0 14px 36px rgba(55,8,6,.07);
}
.gallery-photo-link{
  display:block;
  position:relative;
  aspect-ratio:1448/772;
  overflow:hidden;
  background:#fff1d7;
}
.gallery-photo-link::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,rgba(42,5,5,0),rgba(42,5,5,.42));
  opacity:.72;
  pointer-events:none;
}
.gallery-photo-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease;
}
.gallery-photo-link.contain img{
  object-fit:contain;
  background:#170403;
}
.gallery-item:hover img{transform:scale(1.035)}
.gallery-item-body{
  display:grid;
  gap:8px;
  padding:16px;
}
.gallery-item-kicker{
  margin:0;
  color:var(--leaf);
  font-size:.74rem;
  font-weight:940;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.gallery-item h3{margin:0;font-size:1.08rem}
.gallery-related{
  color:var(--leaf-dark);
  font-weight:920;
  text-decoration:none;
}
.gallery-related:hover{color:var(--leaf)}
.gallery-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:22px;
}
.gallery-pagination button{
  display:grid;
  place-items:center;
  min-width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--leaf-dark);
  background:#fffdf7;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.gallery-pagination button:hover,.gallery-pagination button.active{
  border-color:rgba(216,162,58,.5);
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,var(--gold));
}
.check-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.check-list li{display:grid;grid-template-columns:18px 1fr;gap:12px;font-weight:780}
.check-list li::before{content:"";width:10px;height:10px;margin-top:8px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 5px rgba(217,154,43,.16)}
.steps{counter-reset:quoteStep;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.steps article::before{
  counter-increment:quoteStep;
  content:counter(quoteStep);
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:18px;
  border-radius:999px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,var(--gold));
  font-weight:950;
}
.quote-box{
  margin-inline:calc(50% - 50vw);
  padding:68px max(20px,calc((100vw - 1180px)/2));
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:center;
  color:#fff;
  background:radial-gradient(circle at 78% 16%,rgba(255,217,131,.18),transparent 30%),linear-gradient(135deg,#170403 0%,#7e0d0c 62%,#2a0706 100%);
}
.quote-box .kicker{color:#ffd983}
.quote-box p{color:rgba(255,244,223,.78)}
.calculator-embed-section{padding-top:44px;scroll-margin-top:150px}
.calculator-embed-section .section-head p{max-width:760px}
.calculator-return-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-bottom:18px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffaf0;
}
.calculator-frame-shell{
  overflow:hidden;
  border:1px solid rgba(143,17,16,.16);
  border-radius:8px;
  background:#fff;
  box-shadow:0 20px 54px rgba(55,8,6,.12);
}
.calculator-frame{
  display:block;
  width:100%;
  height:1180px;
  border:0;
  background:#fff;
}
.size-helper-panel{
  margin-inline:calc(50% - 50vw);
  padding:64px max(20px,calc((100vw - 1180px)/2));
  color:#fff;
  background:linear-gradient(135deg,#082f2a 0%,#0f6a5d 46%,#6f120f 100%);
}
.size-helper-panel h2{max-width:760px;color:#fff}
.size-helper-panel p{max-width:780px;color:rgba(255,255,255,.82)}
.size-helper-panel .kicker{color:#ffe19a}
.size-helper-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.size-helper-modal[hidden]{display:none}
.size-helper-modal{
  position:fixed;
  inset:0;
  z-index:130;
  display:grid;
  place-items:center;
  padding:20px;
}
.size-helper-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(23,4,3,.72);
  cursor:pointer;
}
.size-helper-dialog{
  position:relative;
  z-index:1;
  width:min(980px,100%);
  max-height:min(88svh,900px);
  overflow:auto;
  padding:30px;
  border:1px solid rgba(244,199,98,.46);
  border-radius:8px;
  color:var(--ink);
  background:linear-gradient(180deg,#fffdf7,#fff4df);
  box-shadow:0 28px 90px rgba(23,4,3,.38);
}
.size-helper-dialog h2{max-width:780px;margin-right:46px;font-size:2.5rem}
.size-helper-dialog h3{margin:30px 0 14px;color:var(--leaf-dark);font-size:1.24rem}
.size-helper-lead{max-width:820px}
.size-helper-close{
  position:absolute;
  top:14px;
  right:14px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--leaf-dark);
  background:#fffdf7;
  font:inherit;
  font-size:1.35rem;
  font-weight:900;
  cursor:pointer;
}
.size-helper-close:hover{border-color:rgba(216,162,58,.56);background:#fff4df}
.size-helper-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:20px 0 8px;
}
.size-price-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.size-helper-summary article,
.size-price-cards article,
.size-helper-grid article{
  min-width:0;
  padding:17px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffaf0;
  box-shadow:0 10px 26px rgba(55,8,6,.06);
}
.size-helper-summary strong{display:block;color:var(--leaf-dark);font-size:1.05rem}
.size-helper-summary span{display:block;margin-top:7px;color:var(--muted);line-height:1.55}
.size-price-cards p{margin:0;color:var(--leaf);font-size:.75rem;font-weight:940;letter-spacing:.06em;text-transform:uppercase}
.size-price-cards h3{margin:8px 0 7px;font-size:1.12rem}
.size-price-cards span{display:block;color:var(--muted);line-height:1.55}
.size-price-cards strong{display:block;margin-top:10px;color:#730d0b;font-size:1.02rem}
.size-helper-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.size-helper-grid h3{margin:0 0 8px;font-size:1.03rem}
.size-helper-grid p{margin:0;color:var(--muted)}
.project-showcase-figure{
  margin:22px 0 0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#170403;
  box-shadow:0 18px 48px rgba(55,8,6,.14);
}
.project-showcase-figure img{
  display:block;
  width:100%;
  height:auto;
}
.project-showcase-note{margin:14px 0 0}
.project-showcase-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.project-showcase-card{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff7e8);
  box-shadow:0 14px 36px rgba(55,8,6,.07);
}
.project-showcase-card img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  background:#170403;
}
.project-showcase-card figcaption{
  padding:13px 15px;
  color:var(--ink);
  font-weight:920;
}
details{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffdf7,#fff8eb);box-shadow:0 10px 26px rgba(55,8,6,.05)}
details+details{margin-top:12px}
summary{cursor:pointer;padding:18px 20px;color:var(--leaf-dark);font-weight:900}
details p{margin:0;padding:0 20px 20px;color:var(--muted)}
.floating-help{
  position:fixed;
  right:18px;
  bottom:92px;
  z-index:60;
  width:min(292px,calc(100vw - 28px));
  padding:14px;
  border:1px solid rgba(244,199,98,.5);
  border-radius:8px;
  color:#fff7e8;
  background:radial-gradient(circle at 88% 8%,rgba(255,217,131,.22),transparent 28%),linear-gradient(145deg,#170403 0%,#690807 62%,#2a0706 100%);
  box-shadow:0 18px 54px rgba(23,4,3,.34);
}
.floating-help[hidden]{display:none}
.floating-help-close{
  position:absolute;
  top:8px;
  right:8px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(244,199,98,.38);
  border-radius:999px;
  color:#fff7e8;
  background:rgba(255,244,223,.1);
  font-size:1.08rem;
  line-height:1;
  cursor:pointer;
}
.floating-help-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 34px 7px 0;
  color:#ffd983;
  font-size:.68rem;
  font-weight:940;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.floating-help-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ffd983;
  box-shadow:0 0 0 0 rgba(255,217,131,.55);
  animation:helpPulse 1.8s ease-out infinite;
}
.floating-help strong{display:block;margin:0 30px 7px 0;color:#fff;font-size:1rem;line-height:1.15}
.floating-help p{margin:0 0 10px;color:rgba(255,244,223,.82);font-size:.78rem;line-height:1.42}
.floating-help-cta{width:100%;min-height:40px;margin-top:2px;font-size:.9rem}
.floating-whatsapp-widget{position:relative;z-index:96}
.floating-whatsapp-link{
  position:fixed;
  right:max(18px,calc(50% - 310px));
  bottom:18px;
  z-index:96;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:142px;
  min-height:58px;
  padding:0 18px;
  border:1px solid rgba(244,199,98,.7);
  border-radius:8px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a 0%,#d9a02b 50%,#a96b12 100%);
  box-shadow:0 18px 50px rgba(23,4,3,.32);
  text-decoration:none;
  font-weight:940;
  line-height:1;
  white-space:nowrap;
}
.floating-whatsapp-link:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(23,4,3,.38)}
.floating-whatsapp-icon{
  display:block;
  width:34px;
  height:34px;
  flex:0 0 auto;
  border-radius:999px;
  object-fit:cover;
  padding:4px;
  background:linear-gradient(135deg,#fff8c8 0%,#ffd763 58%,#d9a02b 100%);
  box-shadow:0 0 0 2px rgba(255,248,200,.5),0 8px 18px rgba(23,4,3,.22);
}
.floating-whatsapp-text{font-size:.96rem;color:#2a0a05}
.floating-calculator-widget{position:relative;z-index:85}
.floating-calculator-link{
  position:fixed;
  left:50%;
  bottom:18px;
  z-index:85;
  display:flex;
  align-items:center;
  gap:11px;
  width:min(276px,calc(100vw - 36px));
  min-height:58px;
  padding:9px 14px 9px 12px;
  border:1px solid rgba(244,199,98,.82);
  border-radius:8px;
  color:#2a0a05;
  background:linear-gradient(135deg,#fff8c8 0%,#ffd763 38%,#c88318 100%);
  box-shadow:0 18px 50px rgba(23,4,3,.32);
  text-decoration:none;
  transform:translateX(-50%);
}
.floating-calculator-link::before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(255,217,131,.58);
  border-radius:8px;
  pointer-events:none;
  animation:calculatorAttention 2.25s ease-out infinite;
}
.floating-calculator-link::after{
  content:"Estimate";
  position:absolute;
  top:-12px;
  right:10px;
  padding:3px 7px;
  border-radius:6px;
  color:#fff7e8;
  background:#6f120f;
  box-shadow:0 8px 18px rgba(23,4,3,.22);
  font-size:.62rem;
  font-weight:940;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
}
.floating-calculator-link:hover{transform:translateX(-50%) translateY(-2px);box-shadow:0 22px 60px rgba(23,4,3,.38)}
.floating-calculator-icon{
  position:relative;
  width:36px;
  height:36px;
  flex:0 0 auto;
  border:2px solid currentColor;
  border-radius:7px;
  background:rgba(255,255,255,.26);
}
.floating-calculator-icon::before{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  top:6px;
  height:6px;
  border-radius:2px;
  background:currentColor;
}
.floating-calculator-icon::after{
  content:"";
  position:absolute;
  left:8px;
  top:17px;
  width:4px;
  height:4px;
  border-radius:1px;
  background:currentColor;
  box-shadow:8px 0 0 currentColor,16px 0 0 currentColor,0 8px 0 currentColor,8px 8px 0 currentColor,16px 8px 0 currentColor;
}
.floating-calculator-copy{display:grid;gap:2px;min-width:0}
.floating-calculator-kicker{
  color:#6f120f;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase;
}
.floating-calculator-link strong{color:#2a0a05;font-size:1.02rem;line-height:1.05}
.floating-calculator-link small{color:#5f3504;font-size:.75rem;font-weight:860;line-height:1.1}
.floating-calculator-short{display:none}
.floating-gallery-widget{position:relative;z-index:80}
.floating-gallery-button{
  position:fixed;
  left:max(18px,calc(50% - 310px));
  bottom:18px;
  z-index:80;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:58px;
  min-width:148px;
  max-width:calc(100vw - 36px);
  padding:0 16px;
  border:1px solid rgba(244,199,98,.7);
  border-radius:8px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a 0%,#d9a02b 50%,#a96b12 100%);
  box-shadow:0 16px 42px rgba(23,4,3,.3);
  font:inherit;
  font-weight:940;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
.floating-gallery-button:hover{transform:translateY(-2px);box-shadow:0 20px 52px rgba(23,4,3,.36)}
.floating-gallery-icon{
  position:relative;
  width:20px;
  height:15px;
  flex:0 0 auto;
  border:2px solid currentColor;
  border-radius:4px;
}
.floating-gallery-icon::before{
  content:"";
  position:absolute;
  left:4px;
  top:-5px;
  width:8px;
  height:4px;
  border:2px solid currentColor;
  border-bottom:0;
  border-radius:3px 3px 0 0;
}
.floating-gallery-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:6px;
  height:6px;
  border:2px solid currentColor;
  border-radius:999px;
  transform:translate(-50%,-50%);
}
.floating-gallery-modal[hidden]{display:none}
.floating-gallery-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:22px;
}
.floating-gallery-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(23,4,3,.72);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.floating-gallery-panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:min(1120px,100%);
  max-height:min(86svh,860px);
  overflow:hidden;
  border:1px solid rgba(244,199,98,.48);
  border-radius:8px;
  background:linear-gradient(180deg,#fffdf7,#fff1d7);
  box-shadow:0 28px 90px rgba(23,4,3,.44);
}
.floating-gallery-head{
  display:flex;
  flex-wrap:wrap;
  align-items:start;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff8ec,#fff1d7);
}
.floating-gallery-head h2{margin:0;font-size:2.35rem}
.floating-gallery-head .kicker{margin-bottom:7px}
.floating-gallery-all{
  align-self:center;
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid rgba(216,162,58,.5);
  border-radius:8px;
  color:#2a0a05;
  background:linear-gradient(135deg,#ffe19a,#d9a02b);
  font-size:.82rem;
  font-weight:930;
  text-decoration:none;
  white-space:nowrap;
}
.floating-gallery-all:hover{background:linear-gradient(135deg,#fff0bd,#e2aa38)}
.floating-gallery-close{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 auto;
  border:1px solid rgba(143,17,16,.22);
  border-radius:999px;
  color:var(--leaf-dark);
  background:#fffdf7;
  font:inherit;
  font-size:1.42rem;
  line-height:1;
  cursor:pointer;
}
.floating-gallery-close:hover{border-color:rgba(216,162,58,.56);background:#fff4df}
.floating-gallery-scroll{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:20px;
  scroll-behavior:auto;
}
.floating-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.floating-gallery-card{
  display:grid;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffaf0;
  box-shadow:0 12px 32px rgba(55,8,6,.08);
}
.floating-gallery-card a{
  display:block;
  aspect-ratio:1448/772;
  overflow:hidden;
  background:#fff1d7;
}
.floating-gallery-card img{display:block;width:100%;height:100%;object-fit:cover}
.floating-gallery-card.contain img{object-fit:contain;background:#170403}
.floating-gallery-card div{display:grid;gap:5px;padding:12px 13px 14px}
.floating-gallery-card p{
  margin:0;
  color:var(--leaf);
  font-size:.68rem;
  font-weight:940;
  letter-spacing:.06em;
  line-height:1.2;
  text-transform:uppercase;
}
.floating-gallery-card strong{color:var(--ink);font-size:.92rem;line-height:1.22}
@keyframes helpPulse{
  0%{box-shadow:0 0 0 0 rgba(255,217,131,.55)}
  70%{box-shadow:0 0 0 9px rgba(255,217,131,0)}
  100%{box-shadow:0 0 0 0 rgba(255,217,131,0)}
}
@keyframes calculatorAttention{
  0%{opacity:.72;transform:scale(.96)}
  72%,100%{opacity:0;transform:scale(1.12)}
}
.site-footer{background:linear-gradient(135deg,#170403 0%,#4b0706 62%,#170403 100%);color:rgba(255,244,223,.72);padding:42px 0}
.footer-award{
  display:grid;
  grid-template-columns:minmax(280px,.92fr) minmax(280px,.78fr);
  gap:28px;
  align-items:center;
  margin-bottom:36px;
  padding-bottom:34px;
  border-bottom:1px solid rgba(244,199,98,.22);
}
.footer-award-image{
  width:100%;
  max-height:390px;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(244,199,98,.5);
  border-radius:8px;
  box-shadow:0 22px 52px rgba(0,0,0,.32);
  background:#fff4df;
}
.footer-award-copy{max-width:560px}
.footer-award-copy .kicker{color:#ffd983}
.footer-award-copy h2{
  margin:8px 0 12px;
  color:#fff7df;
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:.98;
}
.footer-award-copy p{margin:0 0 18px;color:rgba(255,244,223,.78);line-height:1.55}
.footer-coverage-panel{
  margin-bottom:34px;
  padding:24px;
  border:1px solid rgba(244,199,98,.24);
  border-radius:8px;
  background:rgba(255,244,223,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.footer-coverage-head{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(280px,1fr);
  gap:16px 24px;
  align-items:end;
  margin-bottom:18px;
}
.footer-coverage-head .kicker{color:#ffd983}
.footer-coverage-head h2{
  margin:0;
  color:#fff7df;
  font-size:clamp(1.55rem,2.4vw,2.4rem);
  line-height:1.04;
}
.footer-coverage-head p{
  margin:0;
  color:rgba(255,244,223,.76);
  line-height:1.5;
}
.footer-coverage-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.footer-coverage-grid article{
  min-height:118px;
  padding:14px;
  border:1px solid rgba(244,199,98,.2);
  border-radius:8px;
  background:rgba(23,4,3,.34);
}
.footer-coverage-grid span{
  display:block;
  margin-bottom:7px;
  color:#ffd983;
  font-size:.72rem;
  font-weight:940;
  letter-spacing:.06em;
  line-height:1.2;
  text-transform:uppercase;
}
.footer-coverage-grid p{
  margin:0;
  color:rgba(255,244,223,.8);
  line-height:1.42;
}
.footer-coverage-grid a{color:#fff6de;font-weight:900;text-decoration:none}
.footer-coverage-grid a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,.8fr) minmax(280px,.95fr);gap:28px}
.footer-brand-block{display:flex;align-items:center;gap:14px;min-width:0}
.footer-logo{
  width:148px;
  height:148px;
  flex:0 0 auto;
  object-fit:cover;
  border:1px solid rgba(244,199,98,.52);
  border-radius:8px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.footer-grid strong{color:#fff}
.footer-grid a{display:inline-flex;margin:0 14px 10px 0;text-decoration:none;font-weight:820}
.footer-grid a:hover{color:#fff}
.footer-contact{display:grid;gap:8px;min-width:0}
.footer-contact strong{font-size:1rem}
.footer-contact p{margin:0;color:rgba(255,244,223,.72);line-height:1.38}
.footer-contact span{
  display:block;
  color:#ffd983;
  font-size:.74rem;
  font-weight:930;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.footer-contact a{margin:0;color:#fff6de}
.footer-contact em{display:block;color:rgba(255,244,223,.82);font-style:normal}
.footer-delivery{margin-top:6px!important;padding-top:10px;border-top:1px solid rgba(244,199,98,.22)}
@media (max-width:1080px){
  .site-header{position:sticky}
  .header-inner{position:relative}
  .nav{
    display:none;
    position:absolute;
    left:20px;
    right:20px;
    top:calc(100% + 10px);
    z-index:60;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:12px;
    border:1px solid rgba(244,199,98,.45);
    border-radius:8px;
    color:#fff8e8;
    background:linear-gradient(135deg,#170403 0%,#6f120f 58%,#2a0505 100%);
    box-shadow:0 22px 62px rgba(23,4,3,.42);
  }
  .site-header.is-menu-open .nav{display:grid}
  .nav a,
  .nav a:last-child{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:0 12px;
    border:1px solid rgba(244,199,98,.24);
    border-radius:8px;
    background:rgba(255,244,223,.08);
  }
  .nav a::after{display:none}
  .hero-grid,.section.split,.footer-grid,.footer-award,.footer-coverage-head,.photo-first-quote{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero h1{font-size:4rem}
  h2{font-size:2.55rem}
  .hero-grid>.visual{max-width:620px}
  .location-selector-toolbar,.location-area-layout{grid-template-columns:1fr}
  .location-filter-row{justify-content:flex-start}
  .location-map-board{min-height:auto}
  .location-zone-panel{position:static}
  .trust-strip,.link-grid,.link-grid.wide,.tent-type-card-grid,.steps,.cards.three,.portfolio-list,.location-project-grid,.location-type-grid,.location-bucket-grid,.image-gallery,.image-gallery.compact,.project-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floating-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .size-helper-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .wrap{width:min(100% - 28px,720px)}
  .header-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    min-height:auto;
    gap:10px;
    padding:10px 0;
  }
  .brand-logo{width:96px;height:96px}
  .brand small{display:none}
  .brand{gap:10px}
  .brand strong{max-width:calc(100vw - 150px);font-size:.92rem}
  .header-actions{
    display:flex;
    width:min(100%,362px);
    gap:7px;
    min-width:0;
    justify-self:start;
  }
  .header-actions > *{flex:1 1 0;width:auto;max-width:100%;overflow:hidden}
  .header-actions .btn,
  .nav-toggle{
    min-width:0;
    min-height:42px;
    padding:0 8px;
    font-size:.76rem;
  }
  .quote-label-long{display:none}
  .quote-label-short{display:inline}
  .nav{
    left:14px;
    right:14px;
    top:calc(100% + 6px);
    grid-template-columns:1fr;
  }
  body{
    --mobile-action-row-width:min(362px,calc(100dvw - 20px));
    --mobile-action-cell:calc((var(--mobile-action-row-width) - 14px)/3);
    --mobile-action-left:10px;
  }
  .hero{padding:74px 0 58px}
  .eyebrow,.hero h1,.hero p{max-width:340px}
  .hero h1{font-size:2.05rem;line-height:1.1;overflow-wrap:break-word}
  h2{font-size:2.1rem}
  .hero p{font-size:.96rem}
  .actions,.actions .btn{width:100%}
  .hero-tags span{font-size:.82rem}
  .visual{min-height:260px}
  .visual-label{font-size:.8rem;line-height:1.18;max-width:100%}
  .visual figcaption{padding:18px}
  .location-selector-shell{padding:12px}
  .location-map-board{grid-template-columns:1fr;padding:12px;background-size:34px 34px,34px 34px,auto,auto,auto}
  .location-map-pin{grid-template-columns:36px 1fr;min-height:auto;padding:12px}
  .location-map-pin span{width:36px;height:36px}
  .location-zone-panel{padding:18px}
  .trust-strip,.link-grid,.link-grid.wide,.tent-type-card-grid,.steps,.cards.three,.portfolio-list,.location-project-grid,.location-type-grid,.location-bucket-grid,.location-zone-meta,.portfolio-meta,.image-gallery,.image-gallery.compact,.project-showcase-grid,.footer-coverage-grid,.photo-first-grid.image-gallery.compact{grid-template-columns:1fr}
  .tent-type-card-media{min-height:380px}
  .tent-type-card-body{padding:17px}
  .section-head,.portfolio-toolbar,.gallery-toolbar,.calculator-return-bar{display:grid;align-items:stretch}
  .portfolio-count,.gallery-count{text-align:left}
  .portfolio-photo{justify-self:stretch}
  .footer-brand-block{align-items:flex-start}
  .footer-logo{width:128px;height:128px}
  .floating-help{
    display:none;
  }
  .floating-whatsapp-link{
    right:auto;
    left:calc(var(--mobile-action-left) + var(--mobile-action-cell) + 7px + var(--mobile-action-cell) + 7px);
    bottom:10px;
    min-width:0;
    width:var(--mobile-action-cell);
    min-height:52px;
    height:52px;
    padding:0 6px;
    border-radius:8px;
    box-shadow:0 14px 34px rgba(23,4,3,.3);
  }
  .floating-whatsapp-text{display:none}
  .floating-whatsapp-icon{width:44px;height:44px;box-shadow:none}
  .floating-gallery-button{
    left:var(--mobile-action-left);
    bottom:10px;
    min-width:0;
    width:var(--mobile-action-cell);
    min-height:52px;
    padding:0 6px;
    gap:5px;
    font-size:.78rem;
  }
  .floating-calculator-link{
    left:calc(var(--mobile-action-left) + var(--mobile-action-cell) + 7px);
    right:auto;
    bottom:10px;
    width:var(--mobile-action-cell);
    min-height:52px;
    padding:7px 6px;
    gap:6px;
    transform:none;
  }
  .floating-calculator-link:hover{transform:translateY(-2px)}
  .floating-calculator-link::before{inset:-5px}
  .floating-calculator-link::after{
    content:"Calc";
    top:-9px;
    right:8px;
    padding:3px 6px;
    font-size:.56rem;
  }
  .floating-calculator-icon{
    width:28px;
    height:28px;
    border-width:2px;
  }
  .floating-calculator-icon::before{
    left:6px;
    right:6px;
    top:5px;
    height:5px;
  }
  .floating-calculator-icon::after{
    left:6px;
    top:15px;
    width:3px;
    height:3px;
    box-shadow:7px 0 0 currentColor,14px 0 0 currentColor,0 6px 0 currentColor,7px 6px 0 currentColor,14px 6px 0 currentColor;
  }
  .floating-calculator-kicker,
  .floating-calculator-link small,
  .floating-calculator-full{display:none}
  .floating-calculator-short{display:inline}
  .floating-calculator-link strong{font-size:.88rem;line-height:1}
  .floating-gallery-modal{padding:10px}
  .floating-gallery-panel{max-height:calc(100svh - 20px)}
  .floating-gallery-head{padding:16px;gap:12px}
  .floating-gallery-head h2{font-size:1.45rem}
  .floating-gallery-scroll{padding:14px}
  .floating-gallery-grid{grid-template-columns:1fr;gap:12px}
  .calculator-frame{height:1500px}
  .size-helper-panel{padding:54px max(14px,calc((100vw - 720px)/2))}
  .size-helper-actions,.size-helper-actions .btn{width:100%}
  .size-helper-modal{padding:10px}
  .size-helper-dialog{max-height:calc(100svh - 20px);padding:20px 16px}
  .size-helper-dialog h2{margin-right:42px;font-size:1.65rem}
  .size-helper-summary,.size-price-cards,.size-helper-grid{grid-template-columns:1fr}
  .size-helper-close{top:10px;right:10px}
  .floating-help strong{font-size:.96rem}
  .floating-help p{font-size:.76rem}
  .floating-help-cta{min-height:38px}
  .section{padding:54px 0}
  .section.split{gap:24px}
  .quote-box{display:grid}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
  .floating-calculator-link::before{animation:none}
}
