:root{
  --v27-ocean:#0f6aa4;
  --v27-deep:#092847;
  --v27-sand:#ffcb7d;
  --v27-foam:#eef8ff;
  --v27-sunset:#ff9266;
  --v27-surf:#2db0cf;
  --v27-wellness:#f59e7f;
  --v27-trip:#ffb347;
  --v27-guide:#7dd3fc;
  --v27-card-shadow:0 24px 44px rgba(8,24,48,.10);
}
body{background:radial-gradient(900px 320px at 50% -40px, rgba(34,197,94,.04), transparent 60%), radial-gradient(1100px 480px at 10% -30px, rgba(56,189,248,.14), transparent 55%), linear-gradient(180deg,#f7fbff 0,#fcfdff 28%,#fbfdff 100%)}
main.container{padding-bottom:14px}
section.section{position:relative}
section.section::before{content:"";position:absolute;inset:10px 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(15,106,164,.12),transparent)}
.btn.small{padding:9px 12px;border-radius:12px;font-size:.92rem}
.heroWrap{overflow:hidden}
.heroImg{transform:scale(1.01)}
.heroOverlayV18,.heroOverlay{background:linear-gradient(180deg,rgba(6,18,35,.18),rgba(6,18,35,.72)) !important}
.heroContent{max-width:760px}
.heroPill{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;background:rgba(255,255,255,.92);color:#0b1220;border-color:rgba(255,255,255,.65)}
.heroPill::before{content:"";width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,var(--v27-surf),var(--v27-sunset));box-shadow:0 0 0 6px rgba(45,176,207,.12)}
.heroContent h1{max-width:12ch;text-wrap:balance}
.heroContent p{max-width:58ch}
.heroActionBar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.heroActionCard{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(10px);border-radius:18px;color:#0b1220;box-shadow:0 18px 32px rgba(8,24,48,.12)}
.heroActionCard strong{display:block;font-size:.97rem;line-height:1.15}
.heroActionCard small{display:block;color:#475569;margin-top:4px;line-height:1.3}
.v27Icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:currentColor}
.iconBadge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(180deg,rgba(14,165,164,.18),rgba(255,183,3,.18));color:#0b1220;box-shadow:inset 0 0 0 1px rgba(11,43,74,.08)}
.iconBadge svg,.v27Icon svg,.microIcon svg{width:100%;height:100%}
.heroStatsStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0}
.heroStat{padding:14px 16px;background:#fff;border-radius:18px;border:1px solid rgba(11,43,74,.10);box-shadow:var(--v27-card-shadow)}
.heroStat b{display:block;font-size:1.08rem;color:#0b1220}
.heroStat small{display:block;margin-top:6px;color:#475569;line-height:1.3}
.visualSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.visualSectionTitle p{max-width:50ch;margin:0;color:#475569}
.showcaseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.showcaseCard{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(11,43,74,.08);background:#fff;box-shadow:var(--v27-card-shadow);text-decoration:none;color:#0b1220;min-height:340px;display:flex;flex-direction:column}
.showcaseMedia{position:relative;height:190px;overflow:hidden}
.showcaseMedia img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02)}
.showcaseMedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,35,.05),rgba(6,18,35,.4))}
.showcaseBody{padding:18px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.showcaseTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.showcaseTop strong{font-size:1.08rem;line-height:1.15;display:block;text-wrap:balance}
.pricePill{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(11,43,74,.06);font-weight:950;color:#0b1220;font-size:.92rem;white-space:nowrap}
.metaChips{display:flex;flex-wrap:wrap;gap:8px}
.metaChip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#f7fbff;border:1px solid rgba(11,43,74,.08);font-weight:850;font-size:.87rem;color:#0b1220}
.metaChip .microIcon{width:15px;height:15px;color:#0f6aa4}
.showcaseBody p{margin:0;color:#475569;line-height:1.45}
.inlineCtas{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.inlineLink{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#fff6ea;border:1px solid rgba(255,146,102,.25);font-weight:850}
.inlineLink.secondary{background:#eef8ff;border-color:rgba(15,106,164,.16)}
.visualBand{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(140deg,#0b2340,#145f92 60%,#1aa7a6);padding:22px;color:#fff;box-shadow:0 24px 40px rgba(8,24,48,.14)}
.visualBand::before{content:"";position:absolute;inset:auto -10% -60% auto;width:300px;height:300px;border-radius:999px;background:radial-gradient(circle at center, rgba(255,255,255,.18), transparent 65%)}
.visualBand::after{content:"";position:absolute;inset:-70px auto auto -70px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle at center, rgba(255,205,125,.26), transparent 65%)}
.visualBandGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.visualBand h2{margin:0 0 10px;color:#fff}
.visualBand p{margin:0;color:rgba(255,255,255,.88)}
.visualBand .metaChip{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.18)}
.infoTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.infoTile{padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.infoTile h3,.infoTile b{margin:0;display:block;color:#0b1220;font-size:1rem}
.infoTile p,.infoTile small{margin:8px 0 0;display:block;color:#475569;line-height:1.45}
.infoTile .iconBadge{margin-bottom:12px}
.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.triptych .inc,.triptych .content{height:100%;padding:18px;border-radius:20px}
.triptych .inc b{display:flex;align-items:center;gap:10px;font-size:1rem}
.surfaceRibbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.surfaceRibbon .hl{padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.surfaceRibbon .hl b{display:block;font-size:1rem}
.surfaceRibbon .hl span,.surfaceRibbon .hl small{display:block;margin-top:6px;color:#475569;line-height:1.45}
.cards{gap:16px}
.cards .card{border-radius:22px;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow);padding:0;overflow:hidden;background:#fff}
.cards .card:hover{transform:translateY(-4px);box-shadow:0 28px 48px rgba(8,24,48,.13)}
.cards .card.cardVisual{display:flex;flex-direction:column;min-height:100%}
.cardVisual .cardMedia{height:160px;position:relative;overflow:hidden}
.cardVisual .cardMedia img{width:100%;height:100%;object-fit:cover;display:block}
.cardVisual .cardMedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,35,.08),rgba(6,18,35,.35))}
.cardVisual .cardBody{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.cardVisual .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#0f6aa4;font-weight:900;font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}
.cardVisual p{margin:0;color:#475569;line-height:1.45}
.cardVisual .miniList{display:flex;flex-wrap:wrap;gap:8px}
.cardVisual .miniList span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f7fbff;border:1px solid rgba(11,43,74,.08);font-size:.85rem;font-weight:800;color:#0b1220}
.cardVisual .miniList .microIcon{width:14px;height:14px;color:#0f6aa4}
.comparePanel{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}
.compareTable{background:#fff;border:1px solid rgba(11,43,74,.08);border-radius:24px;box-shadow:var(--v27-card-shadow);overflow:hidden}
.compareTable table{min-width:100%}
.compareTable th{background:#eff8ff;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#145f92}
.compareTable td{font-weight:700}
.compareSidebar{display:grid;gap:14px}
.storyPanel{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.storyPanel h3{margin:0 0 10px}
.storyPanel p{margin:0;color:#475569}
.storyPanel ul{margin:10px 0 0 18px;color:#475569}
.content{border-radius:24px;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow);padding:20px;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.content h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.38rem}
.content h2::before{content:"";width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,var(--v27-surf),var(--v27-sunset));box-shadow:0 0 0 6px rgba(45,176,207,.12)}
.content p{color:#44556f}
.kpiRow{gap:14px;margin:16px 0 18px}
.kpi{border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,#f8fcff,#ffffff);border:1px solid rgba(11,43,74,.08)}
.kpi b{font-size:1rem}
.related{gap:14px}
.related a{border-radius:18px;padding:14px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid rgba(11,43,74,.08)}
.related a small{margin-top:8px}
.articleMoodboard{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin:16px 0 20px;padding:14px;border:1px solid rgba(11,43,74,.08);background:#fff;border-radius:22px;box-shadow:var(--v27-card-shadow)}
.articleMoodboard figure{margin:0;border-radius:18px;overflow:hidden;min-height:220px}
.articleMoodboard img{width:100%;height:100%;object-fit:cover;display:block}
.articleMoodMeta{display:flex;flex-direction:column;gap:12px;justify-content:center}
.articleMoodMeta .metaChip{width:max-content}
.articleMoodMeta p{margin:0;color:#475569;line-height:1.5}
.siteLiveWidget{bottom:84px !important;right:14px !important;z-index:8700}
.siteLiveWidgetToggle,.siteLiveWidgetPanel{box-shadow:0 24px 44px rgba(8,24,48,.16) !important}
.siteLiveWidgetToggle{border-radius:18px !important;background:linear-gradient(135deg,#0b2340,#145f92 70%,#1aa7a6) !important;color:#fff !important;border:none !important;padding:14px 16px !important}
.siteLiveWidgetPanel{border-radius:24px !important;border:1px solid rgba(11,43,74,.12) !important;background:linear-gradient(180deg,#ffffff,#f9fcff) !important;overflow:hidden}
.siteLiveWidgetHead{padding-bottom:10px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetTabs button{border-radius:999px !important;padding:8px 12px !important}
.siteLiveSpotChips .chip{background:#fff;border:1px solid rgba(11,43,74,.08)}
.siteLiveSpotChips .chip.is-active{background:#0f6aa4;color:#fff;border-color:#0f6aa4}
.siteLiveCtaBox{padding:14px;border-radius:18px;background:linear-gradient(180deg,#0b2340,#145f92);color:#fff}
.siteLiveWidgetActions{display:grid !important;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.siteLiveWidgetActions .btn{justify-content:center}
.siteLiveWidgetActions .btn:not(.primary){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14);color:#fff}
.visualLegend{display:flex;flex-wrap:wrap;gap:8px}
.visualLegend span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;font-weight:800;font-size:.86rem;background:#fff;border:1px solid rgba(11,43,74,.08)}
.bottomQuickNav{position:fixed;left:12px;right:12px;bottom:12px;z-index:8600;display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid rgba(11,43,74,.10);box-shadow:0 24px 40px rgba(8,24,48,.14)}
.bottomQuickNav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 6px;border-radius:16px;color:#44556f;font-size:.72rem;font-weight:800;min-height:56px}
.bottomQuickNav a .microIcon{width:17px;height:17px;color:#0f6aa4}
.bottomQuickNav a.is-active{background:#eff8ff;color:#0b1220}
.bottomQuickNav a.is-active .microIcon{color:#0b1220}
.footer{position:relative;background:linear-gradient(180deg,#fbfdff,#f7fbff);overflow:hidden}
.footer::before{content:"";position:absolute;inset:0 auto auto 0;width:260px;height:260px;background:radial-gradient(circle at 30% 30%, rgba(45,176,207,.18), transparent 65%);pointer-events:none}
.footer::after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;background:radial-gradient(circle at center, rgba(255,183,3,.14), transparent 68%);pointer-events:none}
.footerGrid{position:relative;z-index:1;align-items:start}
.footerBrand strong{font-size:1.16rem;display:block;margin-bottom:6px}
.footerBrand p,.footerBrand .notice{max-width:30ch}
.footerVisual{display:flex;gap:14px;align-items:center;padding:16px;border-radius:22px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.footerVisual img{width:88px;height:88px;border-radius:18px;object-fit:cover;display:block}
.footerVisual b{display:block;font-size:1rem}
.footerVisual small{display:block;margin-top:6px;color:#475569;line-height:1.45}
.footerMeta .pill,.footerLinks .pill{background:#fff}
.footerCtaInner{padding:18px;border-radius:22px;background:linear-gradient(135deg,#0b2340,#145f92 65%,#1aa7a6);color:#fff;box-shadow:0 24px 40px rgba(8,24,48,.16)}
.footerCtaInner span{color:rgba(255,255,255,.86) !important}
.footerCtaInner .btn:not(.primary){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14);color:#fff}
.buildUtilityBar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(11,43,74,.08);border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:var(--v27-card-shadow)}
.builderIntro{gap:14px}
.builderIntro .inc{padding:18px;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.builderIntro .inc b{display:flex;align-items:center;gap:10px;font-size:1rem}
.builderCard{border-radius:26px;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow);background:linear-gradient(180deg,#fff,#fbfdff)}
.buildInlineEstimate{background:linear-gradient(180deg,#0b2340,#145f92 68%,#1aa7a6) !important;border:none !important;color:#fff !important;box-shadow:0 22px 38px rgba(8,24,48,.18) !important}
.buildInlineEstimateMeta,.buildInlineEstimateLines{color:rgba(255,255,255,.86) !important}
.buildInlineEstimateTop span{font-size:1.1rem;font-weight:950}
details.fold{border-radius:20px !important;border:1px solid rgba(11,43,74,.08) !important;background:#fff !important;box-shadow:0 14px 30px rgba(8,24,48,.06);margin:12px 0 !important;overflow:hidden}
details.fold summary{padding:16px 18px !important;font-size:1rem;display:flex;align-items:center;gap:12px;list-style:none;background:linear-gradient(180deg,#ffffff,#f9fbff)}
details.fold summary::before{content:"";width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,var(--v27-surf),var(--v27-sunset));box-shadow:0 0 0 6px rgba(45,176,207,.12)}
.stepBody{padding:8px 18px 18px !important}
.modeCardText{border-radius:20px !important;padding:18px !important;min-height:130px;background:linear-gradient(180deg,#fff,#f8fbff)}
.modeCardText b{font-size:1.02rem}
.opt,.buildInfoStrip>div{border-radius:18px !important}
.buildInfoStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.buildInfoStrip>div{padding:14px 16px;background:#f7fbff;border:1px solid rgba(11,43,74,.08)}
.buildInfoStrip b{display:block;color:#0b1220;margin-bottom:4px}
.sumLine{font-size:.94rem}
.sumTotal{font-size:1.12rem}
.contactShell{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.contactIntro{display:grid;gap:14px}
.contactHighlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contactHighlights .inc{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)}
.contactHighlights .inc b{display:flex;align-items:center;gap:10px;font-size:1rem}
.contactFormPanel{padding:18px;border-radius:24px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.contactSplitHero{display:flex;gap:14px;align-items:center;padding:14px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid rgba(11,43,74,.08)}
.contactSplitHero img{width:124px;height:124px;border-radius:18px;object-fit:cover}
@media (max-width:1100px){
  .showcaseGrid,.infoTiles,.heroStatsStrip,.surfaceRibbon,.triptych,.contactHighlights{grid-template-columns:repeat(2,minmax(0,1fr))}
  .comparePanel,.visualBandGrid,.contactShell,.articleMoodboard{grid-template-columns:1fr}
}
@media (max-width:900px){
  .heroActionBar,.heroStatsStrip,.showcaseGrid,.infoTiles,.surfaceRibbon,.triptych,.contactHighlights{grid-template-columns:1fr}
  .bottomQuickNav{display:grid}
  body{padding-bottom:92px}
  .footer{padding-bottom:104px}
  .siteLiveWidget{bottom:104px !important}
  .visualSectionTitle{display:block}
  .visualSectionTitle p{margin-top:8px}
  .heroActionCard{padding:12px 14px}
  .heroContent h1{max-width:15ch}
  .buildUtilityBar{display:block}
  .buildUtilityBar .btn{margin-top:10px;width:100%;justify-content:center}
  .buildInlineEstimate{top:68px !important}
  .modeCardText{min-height:auto}
  .siteLiveWidgetPanel{max-width:min(92vw, 360px)}
}
@media (max-width:640px){
  .heroWrap{border-radius:24px}
  .heroContent{left:18px !important;top:20px !important;right:18px !important}
  .heroImg{height:480px !important}
  .heroContent h1{font-size:clamp(2rem,8vw,2.8rem)}
  .content,.builderCard{padding:16px}
  .cardVisual .cardMedia{height:190px}
  .compareTable{overflow:auto}
  .contactSplitHero{display:block}
  .contactSplitHero img{width:100%;height:180px;margin-bottom:12px}
}
.liveNavChip{display:inline-flex !important;align-items:center;gap:7px;padding:8px 12px !important;border-radius:999px;background:#eef8ff !important;color:#0b2340 !important;border:1px solid rgba(15,106,164,.14)}
.liveNavChip .microIcon{width:15px;height:15px;color:#0f6aa4}
@media (max-width:900px){body:not(.is-build-page) .stickyCta{display:none !important}}

/* V27.4 — build-page corrective cleanup from V27 baseline only */
body.buildPage .hero{padding-bottom:10px}
body.buildPage .heroWrap{min-height:460px}
body.buildPage .heroContent{max-width:640px}
body.buildPage .buildHeroNote{margin:10px 0 0;color:rgba(255,255,255,.88);font-size:.95rem}
body.buildPage .buildHeroNote a{color:#fff;text-decoration:underline;text-underline-offset:2px}
body.buildPage .buildQuickFacts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
body.buildPage .buildQuickFacts .chip{padding:8px 10px;background:#fff;border:1px solid rgba(11,43,74,.10)}
body.buildPage .buildUtilityBar.compactOnly{padding:0;border:0;background:none;box-shadow:none;margin:0 0 12px}
body.buildPage .buildUtilityBar.compactOnly .notice{padding:10px 12px;border-radius:14px;font-size:13px;background:#f7fbff}
body.buildPage .builderCard.builderSteps{overflow:visible}
body.buildPage .buildInlineEstimate{display:block;position:sticky;top:74px;z-index:120;background:#fff !important;color:#0b1220 !important;border:1px solid rgba(11,43,74,.12) !important;box-shadow:0 12px 26px rgba(8,24,48,.10) !important;margin:0 0 12px;padding:12px 14px;border-radius:16px}
body.buildPage .buildInlineEstimateMeta,body.buildPage .buildInlineEstimateLines{color:#475569 !important}
body.buildPage .compactBadges{gap:8px;margin-bottom:12px}
body.buildPage .compactBadges .badge{padding:7px 10px;font-size:12px;box-shadow:none}
body.buildPage .buildProgress{margin-bottom:12px}
body.buildPage .buildMobileBar{bottom:92px;left:12px;right:12px;z-index:8450}
body.buildPage .buildSummaryPanel{bottom:92px}
body.buildPage .footer{padding-bottom:88px}
body.buildPage .footerCta{display:none !important}
body.buildPage .navCta{display:none !important}
body.buildPage .siteLiveWidget{display:none !important}

.siteLiveWidget{right:12px !important;bottom:88px !important;width:min(320px,calc(100vw - 24px)) !important;z-index:7800}
.siteLiveWidgetBar{display:flex;align-items:center;gap:8px}
.siteLiveWidgetToggle{flex:1;padding:10px 12px !important;border-radius:16px !important;background:#fff !important;color:#0b1220 !important;border:1px solid rgba(11,43,74,.12) !important;box-shadow:0 14px 28px rgba(8,24,48,.12) !important;text-align:left}
.siteLiveWidgetToggleText{display:flex;flex-direction:column;gap:2px}
.siteLiveWidgetToggleText strong{font-size:.92rem;line-height:1.1}
.siteLiveWidgetToggleText small{font-size:.72rem;line-height:1.2;color:#64748b !important;font-weight:700}
.siteLiveWidgetToggleBadge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:#eff8ff;color:#0b5aa6;font-size:.72rem;font-weight:900;white-space:nowrap}
.siteLiveWidgetClose{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(11,43,74,.12);border-radius:14px;background:#fff;color:#334155;font-size:18px;box-shadow:0 14px 28px rgba(8,24,48,.10)}
.siteLiveWidgetPanel{margin-top:8px !important;border-radius:18px !important;max-height:min(68vh,520px);overflow:auto}
.siteLiveWidgetHead{padding:12px 12px 8px !important}
.siteLiveWidgetHead strong{font-size:.95rem}
.siteLiveWidgetHead small{font-size:.76rem}
.siteLiveWidgetTabs{gap:6px}
.siteLiveWidgetTabs button,.siteLiveSpotChips .chip{padding:7px 9px !important;font-size:12px}
.siteLiveSpotChips{padding:0 12px 10px !important;gap:6px}
.siteLiveWidgetBody{padding:12px !important}
.siteLiveWidgetActions{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important}
.siteLiveWidgetActions .btn{padding:9px 10px;font-size:12px}
.siteLiveWidgetMeta{font-size:12px}

@media (max-width:900px){
  body.buildPage .heroWrap{min-height:380px}
  body.buildPage .heroContent{padding:28px 24px 30px !important}
  body.buildPage .buildQuickFacts{overflow:auto;flex-wrap:nowrap;padding-bottom:2px}
  body.buildPage .buildQuickFacts .chip{white-space:nowrap}
  body.buildPage .builderGridV24{gap:14px}
  body.buildPage .buildInlineEstimate{top:66px;margin-bottom:10px}
  body.buildPage .buildProgressTop .badge{padding:6px 10px}
  body.buildPage .buildUtilityBar.compactOnly .notice{font-size:12px;line-height:1.45}
  .siteLiveWidget{left:auto !important;right:10px !important;width:min(290px,calc(100vw - 20px)) !important;bottom:86px !important}
  .siteLiveWidgetToggle{padding:10px 12px !important}
  .siteLiveWidgetToggleText strong{font-size:.88rem}
  .siteLiveWidgetToggleText small{font-size:.7rem}
  .siteLiveWidgetActions{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  body.buildPage .heroWrap{min-height:330px;border-radius:24px}
  body.buildPage .heroContent h1{font-size:2.35rem !important;line-height:1.02}
  body.buildPage .heroContent p{font-size:1rem;margin:12px 0 0}
  body.buildPage .heroContent .btnRow{margin-top:14px}
  body.buildPage .buildQuickFacts{margin-bottom:8px}
  body.buildPage .buildUtilityBar.compactOnly{margin-bottom:10px}
  body.buildPage .compactBadges{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.buildPage .compactBadges .badge:last-child{grid-column:1 / -1}
  body.buildPage details.fold summary{padding:14px 16px !important}
  body.buildPage .stepBody{padding:6px 14px 14px !important}
  body.buildPage .buildMobileBar .row{display:grid;grid-template-columns:auto 1fr auto;gap:8px}
  body.buildPage .buildMobileBar .btn{min-width:0}
  body.buildPage .buildEstimateBtn{font-weight:950}
}

/* V27.6 — page-by-page corrective refresh */
.microIcon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;line-height:0}
.microIcon svg{width:16px !important;height:16px !important}
.v27Icon{width:18px;height:18px;flex:0 0 18px;line-height:0}
.v27Icon svg{width:18px !important;height:18px !important}
.iconBadge{width:34px !important;height:34px !important;border-radius:12px !important;background:linear-gradient(180deg,rgba(14,165,164,.12),rgba(255,183,3,.12)) !important;box-shadow:inset 0 0 0 1px rgba(11,43,74,.06) !important}
.iconBadge.slim{width:30px !important;height:30px !important;border-radius:10px !important}
.metaChip .microIcon,.cardVisual .miniList .microIcon,.bottomQuickNav a .microIcon,.liveNavChip .microIcon{width:15px !important;height:15px !important}
.triptych .inc b .microIcon,.contactHighlights .inc b .microIcon,.surfaceRibbon .hl b .microIcon,.infoTile b .microIcon,.navItem b .microIcon{width:16px;height:16px;color:#0f6aa4}
.infoTile.compact{padding:14px 15px;border-radius:18px}
.infoTile.compact small{margin-top:6px}

/* drawer cleanup */
.drawerPanel{width:min(440px,92vw) !important;border-radius:20px !important;box-shadow:0 20px 40px rgba(8,24,48,.16) !important}
.drawerTop{padding:12px 12px 6px !important}
.drawerBrand img{height:26px !important}
.drawerLang .chip,.drawerClose{padding:7px 10px !important;border-radius:12px !important;font-size:.88rem}
.drawerCtas{padding:4px 12px 10px !important}
.drawerBody{padding:0 12px 14px !important}
.drawerTabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}
.drawerTabs .tab{border:1px solid rgba(11,43,74,.10);background:#fff;border-radius:16px;padding:10px 12px;font-weight:900}
.drawerTabs .tab.isActive{background:#eaf7fb}
.drawerGroup{border:1px solid rgba(11,43,74,.08) !important;border-radius:16px !important;margin:9px 0 !important;overflow:hidden}
.drawerGroup summary{display:flex;align-items:center;gap:10px;padding:12px 14px !important;background:#fff;font-size:.94rem}
.drawerGroup summary span{font-weight:900;color:#0b1220}
.drawerGroup summary::after{right:14px !important;font-size:18px !important;color:#334155 !important}
.drawerLinks.compactLinks{gap:8px !important;padding:8px 12px 12px !important}
.drawerLinks .navItem{padding:10px 12px !important;border-radius:14px !important;min-height:auto !important}
.drawerLinks .navItem b{font-size:.94rem;line-height:1.1}
.drawerLinks .navItem small{font-size:.78rem;line-height:1.25;margin-top:4px}
.drawerSectionTitle{margin-top:10px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.chipRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chipRow .chip{padding:7px 10px;border-radius:999px;border:1px solid rgba(11,43,74,.1);background:#fff;font-size:.78rem;font-weight:800;color:#334155}

/* live widget smarter + smaller */
.siteLiveWidget{width:min(286px,calc(100vw - 24px)) !important;bottom:86px !important;right:10px !important;z-index:7750 !important}
.siteLiveWidgetBar{display:flex;align-items:center;gap:6px}
.siteLiveWidgetToggle{padding:9px 11px !important;border-radius:15px !important;min-height:44px}
.siteLiveWidgetToggleText strong{font-size:.86rem !important}
.siteLiveWidgetToggleText small{font-size:.68rem !important;color:#6b7280 !important}
.siteLiveWidgetToggleBadge{padding:5px 8px !important;font-size:.68rem !important}
.siteLiveWidgetClose{width:36px !important;height:36px !important;border-radius:12px !important;font-size:16px !important;box-shadow:0 10px 18px rgba(8,24,48,.08) !important}
.siteLiveWidgetPanel{margin-top:6px !important;border-radius:16px !important;max-height:min(62vh,420px) !important}
.siteLiveWidgetHead{padding:10px 10px 8px !important}
.siteLiveWidgetHead strong{font-size:.9rem !important}
.siteLiveWidgetHead small{font-size:.72rem !important}
.siteLiveWidgetTabs button,.siteLiveSpotChips .chip{padding:6px 8px !important;font-size:11px !important}
.siteLiveWidgetBody{padding:10px !important}
.siteLiveWidgetActions{grid-template-columns:1fr 1fr !important;gap:8px !important}
.siteLiveWidgetActions .btn{padding:8px 10px !important;font-size:11px !important;min-height:38px}
.siteLiveDraftBox{margin:10px 0;padding:10px 12px;border-radius:14px;background:#f7fbff;border:1px solid rgba(11,43,74,.08)}
.siteLiveDraftBox strong{display:block;font-size:.86rem;color:#0b1220}
.siteLiveDraftBox small{display:block;margin-top:4px;color:#475569;line-height:1.3}
.siteLiveWidgetMeta{font-size:11px !important;line-height:1.35}
.siteLiveWidgetMeta a{font-weight:800}

/* package/home/contact/build cards tighten */
.inc,.surfaceRibbon .hl,.storyPanel,.infoTile,.content,.builderCard,.showcaseCard,.contactFormPanel{border-color:rgba(11,43,74,.07) !important}
.triptych .inc{padding:16px !important}
.triptych .inc b{font-size:.96rem !important}
.triptych .inc span{display:block;margin-top:8px;line-height:1.4;color:#475569}
.contactShellPro{grid-template-columns:1fr .95fr;gap:16px}
.contactFormPanelPro{padding:16px !important}
.contactFormHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.contactMiniMeta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.contactMiniMeta .chip{padding:7px 10px;background:#f7fbff;border:1px solid rgba(11,43,74,.08)}
.fieldCard{padding:12px;border-radius:16px;background:#f9fbff;border:1px solid rgba(11,43,74,.08)}
.fieldCard label{display:block;margin:0 0 6px;font-size:.84rem;font-weight:900;color:#0b1220}
.fieldCard input,.fieldCard textarea{background:#fff;border-radius:12px;border:1px solid rgba(11,43,74,.10)}
.contactFormGrid textarea{min-height:150px}
.contactActionRow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:12px}
.contactActionNote{font-size:.84rem;color:#475569;line-height:1.4}
.contactQuickGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compactHighlights{grid-template-columns:1fr !important;gap:10px !important}
.compactHighlights .inc{padding:14px !important}

/* build cleanup */
body.buildPage .heroWrap{min-height:400px !important}
body.buildPage .heroContent{max-width:560px !important}
body.buildPage .heroContent .btnRow{display:none !important}
body.buildPage .buildHeroNote{margin-top:8px !important;font-size:.9rem !important}
body.buildPage .buildQuickFacts{margin-bottom:10px !important}
body.buildPage .chip{padding:8px 10px !important;font-size:.8rem}
body.buildPage .buildUtilityBar.compactOnly .notice{font-size:12px !important;padding:9px 11px !important}
body.buildPage .buildInlineEstimate{top:70px !important;padding:10px 12px !important;border-radius:14px !important}
body.buildPage .buildInlineEstimateTop strong{font-size:.9rem}
body.buildPage .buildInlineEstimateTop span{font-size:1rem !important}
body.buildPage .buildInlineEstimateLines{font-size:.78rem;line-height:1.35}
body.buildPage .badgeRow.compactBadges{display:none !important}
body.buildPage details.fold{margin:10px 0 !important;border-radius:16px !important}
body.buildPage details.fold summary{padding:13px 14px !important;position:relative;justify-content:space-between;gap:10px;font-size:.95rem}
body.buildPage details.fold summary::before{width:8px;height:8px;box-shadow:0 0 0 4px rgba(45,176,207,.12)}
body.buildPage details.fold summary::after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:800;color:#334155}
body.buildPage details.fold[open] summary::after{content:'−';color:#0b1220}
body.buildPage .foldTitle{padding-right:28px;display:block;font-weight:900;color:#0b1220}
body.buildPage .foldMeta{display:block;margin-top:4px;font-size:.76rem;color:#64748b;font-weight:700;padding-right:24px}
body.buildPage .stepBody{padding:8px 14px 14px !important}
body.buildPage .stepNextWrap{display:flex;justify-content:flex-end;margin-top:12px}
body.buildPage .stepNextBtn{padding:9px 12px;border-radius:12px}
body.buildPage .modeCards{display:grid;gap:10px}
body.buildPage .modeCardText{padding:14px !important;border-radius:16px !important}
body.buildPage .modeCardText b{font-size:.98rem !important}
body.buildPage .buildInfoStrip{gap:10px !important}
body.buildPage .buildInfoStrip>div{padding:12px 14px !important;border-radius:14px !important}
body.buildPage .buildMobileBar{bottom:84px !important;left:10px !important;right:10px !important}
body.buildPage .buildMobileBar .row{grid-template-columns:auto 1fr auto !important;gap:6px !important}
body.buildPage .buildMobileBar .btn{padding:10px 12px !important;font-size:.9rem}
body.buildPage .buildEstimateBtn{font-weight:900}
body.buildPage .buildSummaryPanel{bottom:86px !important}

@media (max-width:900px){
  .contactShellPro,.contactQuickGrid{grid-template-columns:1fr}
  .contactFormHead,.contactActionRow{grid-template-columns:1fr;display:block}
  .contactMiniMeta{justify-content:flex-start;margin-top:8px}
  .siteLiveWidget{width:min(250px,calc(100vw - 20px)) !important;right:10px !important;bottom:82px !important}
  .siteLiveWidgetActions{grid-template-columns:1fr !important}
}


/* V27.7 technical + mobile overflow cleanup */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-wrap:break-word}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
.container,.content,main,section,.heroWrap,.heroWrapV18,.visualBand,.showcaseCard,.card,.contactShell,.footerGrid,.builderGrid,.builderCard,.siteLiveWidget,.siteLiveWidgetPanel,.drawerPanel,.bottomQuickNav,.buildMobileBar{max-width:100%}
.cards,.grid2,.optGrid,.contactQuickGrid,.footerGrid,.triptych,.builderGrid,.twoColBlocks{min-width:0}
.heroContent h1,.heroContent p,.foldTitle,.foldMeta,.notice,.navItem small,.navItem b{overflow-wrap:anywhere}
.tableWrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}
body:not(.buildPage) .buildMobileBar{display:none!important}

.topbar{box-shadow:0 6px 18px rgba(8,24,48,.06)!important}
.topbar .container{max-width:1180px!important}
.nav{padding:8px 0!important;gap:10px!important}
.brand img{height:30px!important;width:auto!important;display:block}
.modePill{transform:scale(.94);transform-origin:left center}
.menu a{padding:7px 9px!important;font-size:.88rem!important;border-radius:10px!important}
.menu .langPill{padding:7px 10px!important}
.navToggle{padding:9px 10px!important;border-radius:12px!important;min-width:auto!important}
.navToggle span{width:20px!important;height:2px!important;margin:4px 0!important}
@media (max-width:900px){
  .nav{padding:6px 0!important}
  .brand img{height:27px!important}
  .navToggle{padding:8px 9px!important}
}

.drawerPanel{width:min(400px,92vw)!important;border-radius:18px!important}
.drawerBrand img{height:24px!important}
.drawerTop{padding:10px 10px 6px!important}
.drawerLang .chip,.drawerClose{padding:6px 9px!important;font-size:.83rem!important;border-radius:10px!important}
.drawerCtas{padding:2px 10px 8px!important}
.drawerCtas .btn{padding:11px 12px!important}
.drawerBody{padding:0 10px 12px!important}
.drawerTabs{padding:0 10px 10px!important;gap:8px!important}
.drawerTabs .tab{padding:9px 10px!important;font-size:.9rem!important}
.drawerGroup{border-radius:14px!important;margin:8px 0!important}
.drawerGroup summary{padding:10px 12px!important;font-size:.9rem!important}
.drawerGroup summary::after{font-size:16px!important;right:12px!important}
.drawerLinks.compactLinks{padding:6px 10px 10px!important;gap:7px!important}
.drawerLinks .navItem{padding:9px 10px!important;border-radius:12px!important;margin:0!important}
.drawerLinks .navItem b{font-size:.9rem!important}
.drawerLinks .navItem small{font-size:.75rem!important;margin-top:3px!important}
.drawerSectionTitle{font-size:.74rem!important;margin:8px 0 6px!important}
.chipRow .chip{padding:6px 10px!important;font-size:.78rem!important}

.microIcon{width:14px;height:14px;flex:0 0 14px}
.microIcon svg{width:14px!important;height:14px!important}
.iconBadge{width:38px!important;height:38px!important;border-radius:12px!important}
.iconBadge.slim{width:34px!important;height:34px!important}
.v27Icon{width:16px;height:16px}
.v27Icon svg{width:16px!important;height:16px!important}
.metaChip .microIcon,.cardVisual .miniList .microIcon,.bottomQuickNav a .microIcon,.liveNavChip .microIcon,.navItem b .microIcon{width:14px!important;height:14px!important}

.siteLiveWidget{right:10px!important;bottom:84px!important;width:min(240px,calc(100vw - 20px))!important}
.siteLiveWidgetBar{padding:4px!important;border-radius:16px!important}
.siteLiveWidgetToggle{padding:10px 12px!important;min-width:0}
.siteLiveWidgetToggle strong{font-size:.92rem!important}
.siteLiveWidgetToggle small{font-size:.72rem!important;line-height:1.2!important}
.siteLiveWidgetToggleBadge{padding:6px 9px!important;font-size:.75rem!important}
.siteLiveWidgetClose{width:34px!important;height:34px!important;border-radius:10px!important;font-size:15px!important}
.siteLiveWidgetPanel{max-height:min(62vh,460px)!important;border-radius:16px!important}
.siteLiveWidgetHead{padding:12px 12px 8px!important}
.siteLiveWidgetHead strong{font-size:.95rem!important}
.siteLiveWidgetHead small{font-size:.74rem!important}
.siteLiveWidgetTabs button{padding:7px 10px!important;font-size:.78rem!important}
.siteLiveSpotChips{padding:0 12px 10px!important;gap:6px!important}
.siteLiveSpotChips .chip{padding:6px 9px!important;font-size:.76rem!important}
.siteLiveWidgetBody{padding:0 12px 12px!important}
.miniGridWide{grid-template-columns:1fr 1fr!important;gap:8px!important}
.miniStat{padding:9px 10px!important;border-radius:12px!important}
.miniStat b{font-size:.72rem!important}
.miniStat span{font-size:.88rem!important}
@media (max-width:640px){.siteLiveWidget{width:min(220px,calc(100vw - 20px))!important;bottom:82px!important}}

body.buildPage .heroWrap{border-radius:22px!important}
body.buildPage .heroContent{max-width:540px!important;left:20px!important;top:18px!important;right:20px!important}
body.buildPage .heroContent h1{font-size:clamp(2rem,7vw,2.8rem)!important;max-width:10ch!important}
body.buildPage .heroContent p{font-size:1rem!important;max-width:42ch!important}
body.buildPage .heroPill{padding:8px 12px!important;font-size:.84rem!important}
body.buildPage .buildQuickFacts{gap:8px!important;flex-wrap:wrap!important}
body.buildPage .buildQuickFacts .chip{padding:7px 10px!important;font-size:.78rem!important}
body.buildPage .buildInlineEstimate{top:64px!important;padding:10px 12px!important;border-radius:14px!important}
body.buildPage .buildInlineEstimateTop strong{font-size:.88rem!important}
body.buildPage .buildInlineEstimateTop span{font-size:1rem!important}
body.buildPage .buildInlineEstimateMeta,body.buildPage .buildInlineEstimateLines{font-size:.76rem!important}
body.buildPage details.fold{margin:10px 0!important;border-radius:15px!important}
body.buildPage details.fold summary{padding:12px 14px!important;font-size:.93rem!important}
body.buildPage details.fold summary::after{font-size:16px!important;right:12px!important}
body.buildPage .stepBody{padding:0 12px 12px!important}
body.buildPage .buildMobileBar{bottom:82px!important;left:10px!important;right:10px!important;padding:8px!important}
body.buildPage .buildMobileBar .btn{padding:10px 11px!important;font-size:.88rem!important}
body.buildPage .buildSummaryPanel{left:10px!important;right:10px!important;bottom:82px!important}

.contactShellPro{gap:16px!important}
.contactSplitHero{grid-template-columns:92px 1fr!important;gap:12px!important;align-items:center!important}
.contactSplitHero img{border-radius:14px!important}
.contactHighlights .inc,.contactQuickGrid .infoTile,.contactFormPanelPro .fieldCard{border-radius:14px!important}
.contactFormHead{gap:10px!important}
.contactFormGrid .grid2{gap:10px!important}
.contactActionRow{gap:10px!important}
@media (max-width:900px){
  .contactSplitHero{grid-template-columns:1fr!important}
  .contactMiniMeta{gap:6px!important}
}

.siteLiveWidgetReopen{position:fixed;right:10px;bottom:84px;z-index:7740;border:1px solid rgba(11,43,74,.12);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;box-shadow:0 10px 24px rgba(8,24,48,.14)}
@media (max-width:640px){.siteLiveWidgetReopen{bottom:82px;padding:7px 11px;font-size:.85rem}}


/* V28 — Smart Dock + Booking Receipt + Book your week */
.smartDock{right:10px!important;bottom:84px!important;width:min(250px,calc(100vw - 20px))!important;z-index:7750!important}
.smartDockBar{display:flex;align-items:center;gap:6px;background:transparent}
.smartDockToggle{padding:10px 12px!important;border-radius:16px!important;min-height:46px;background:rgba(255,255,255,.98)!important;color:#0b1220!important;border:1px solid rgba(11,43,74,.12)!important;box-shadow:0 12px 30px rgba(8,24,48,.12)!important}
.smartDockText strong{display:block;font-size:.92rem!important;line-height:1.05}
.smartDockText small{display:block;font-size:.72rem!important;line-height:1.2;color:#64748b!important}
.smartDockBadge{padding:6px 9px!important;font-size:.72rem!important;background:#eef8ff!important;color:#0f6aa4!important}
.smartDockClose{width:34px!important;height:34px!important;border-radius:10px!important}
.smartDockPanel{margin-top:7px!important;border-radius:18px!important;padding:0!important;background:#fff!important;box-shadow:0 20px 42px rgba(8,24,48,.14)!important;border:1px solid rgba(11,43,74,.10)!important;max-height:min(72vh,560px)!important;overflow:auto!important}
.smartDockHead{padding:12px 12px 8px!important;border-bottom:1px solid rgba(11,43,74,.08)}
.smartDockHead strong{font-size:.96rem!important}
.smartDockHead small{display:block;margin-top:4px;font-size:.75rem!important;color:#64748b!important}
.smartDockSpotChips{padding:10px 12px 0!important;display:flex;gap:6px;flex-wrap:wrap}
.smartDockSpotChips .chip{padding:6px 9px!important;font-size:11px!important}
.smartDockBody{padding:12px!important;display:grid;gap:12px}
.smartDockSection{border:1px solid rgba(11,43,74,.08);border-radius:16px;padding:12px;background:#fbfdff}
.smartDockSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.smartDockSectionHead h3{margin:0;font-size:.92rem;line-height:1.1}
.smartDockKicker{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.smartDockGrid{display:grid;gap:10px}
.smartDockResumeCard{display:grid;gap:8px}
.smartDockResumeCard small{color:#64748b}
.smartDockCtaBox .notice{margin:0 0 8px}
.smartDockActions{grid-template-columns:1fr!important;gap:8px!important}
.smartDockActions .btn{justify-content:center}
.smartDockMeta{font-size:11px!important;line-height:1.4;color:#64748b}
@media (min-width:901px){.smartDock{width:min(320px,26vw)!important;bottom:20px!important;right:20px!important}.smartDockActions{grid-template-columns:1fr 1fr 1fr!important}.smartDockGrid{grid-template-columns:1fr 1fr}}
body.buildPage .buildInlineEstimate{padding:12px 14px!important;border-radius:16px!important;background:#fff!important;color:#0b1220!important;border:1px solid rgba(11,43,74,.12)!important;box-shadow:0 16px 34px rgba(8,24,48,.12)!important}
body.buildPage .buildInlineEstimateTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.buildPage .buildInlineEstimateTop strong{font-size:.92rem!important;letter-spacing:.01em}
body.buildPage .buildInlineEstimateTop span{font-size:1.12rem!important;font-weight:950;color:#0b2340!important}
body.buildPage .buildInlineEstimateMeta{font-size:.76rem!important;color:#64748b!important;margin-top:4px}
body.buildPage .buildInlineEstimateLines{font-size:.8rem!important;line-height:1.4;color:#334155!important;margin-top:6px}
body.buildPage .buildInlineEstimateActions{margin-top:10px;display:flex;justify-content:flex-start}
body.buildPage .buildInlineEstimateActions .btn{padding:8px 12px;border-radius:999px}
body.buildPage .stickySummary h2{margin-bottom:10px}
body.buildPage #priceSummary{display:grid;gap:10px}
body.buildPage .sumSection{border:1px solid rgba(11,43,74,.08);border-radius:16px;padding:10px 12px;background:#fbfdff}
body.buildPage .sumSection h3{margin:0 0 8px;font-size:.84rem;text-transform:uppercase;letter-spacing:.05em;color:#475569}
body.buildPage .sumLine{padding:9px 0;gap:12px}
body.buildPage .sumLine span:last-child{min-width:74px;font-weight:900}
body.buildPage .sumLine.isIncluded span:last-child{color:#0f6aa4}
body.buildPage .sumLine.isNote span:last-child{color:#64748b}
body.buildPage .sumFooterNote{font-size:.8rem;line-height:1.45}
body.buildPage .buildMobileBar .buildEstimateBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
body.buildPage .buildMobileBar .buildEstimateBtn::before{content:'Receipt';font-size:.68rem;line-height:1;color:#dbeafe}
body.buildPage .buildSummaryPanel{border-radius:20px 20px 0 0!important}
body.buildPage .buildSummaryHead strong{font-size:1rem}
body.buildPage .buildSummaryMeta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
body.buildPage .buildSummaryMeta .chip{padding:6px 9px;font-size:11px}
body.buildPage .buildSummaryBody{display:grid;gap:10px}
@media (max-width:900px){body.buildPage .stickySummary{display:none!important}body.buildPage .buildInlineEstimate{top:64px!important;margin-bottom:12px!important}body.buildPage .buildInlineEstimateLines{max-width:100%;white-space:normal}}



/* V28.2 — media-led refresh from uploaded library */
.mediaRibbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}
.mediaTile{position:relative;display:block;min-height:170px;border-radius:22px;overflow:hidden;background:#eaf3f8;box-shadow:0 14px 28px rgba(8,24,48,.10)}
.mediaTile img{width:100%;height:100%;object-fit:cover;display:block}
.mediaTile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,48,.06),rgba(8,24,48,.58))}
.mediaTileBody{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:grid;gap:4px;color:#fff}
.mediaTileBody b{font-size:1rem;line-height:1.08}
.mediaTileBody small{font-size:.83rem;line-height:1.35;color:rgba(255,255,255,.94)}
.mediaTileTag{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:.72rem;font-weight:900;letter-spacing:.01em}
.mediaMosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:18px}
.mediaMosaic .mediaTile:nth-child(1){grid-column:span 5;min-height:300px}
.mediaMosaic .mediaTile:nth-child(2){grid-column:span 4;min-height:300px}
.mediaMosaic .mediaTile:nth-child(3){grid-column:span 3;min-height:300px}
.mediaStorySplit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}
.mediaStoryStack{display:grid;gap:14px}
.mediaStoryStack .mediaTile{min-height:184px}
.mediaFigure{margin:0}
.mediaFigure figcaption{margin-top:8px;color:#64748b;font-size:.86rem;line-height:1.45}
.heroPhotoNote{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);font-size:.83rem;color:#fff}
.bookMoodStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 16px}
.bookMoodTile{position:relative;overflow:hidden;border-radius:18px;min-height:110px;background:#eaf3f8}
.bookMoodTile img{width:100%;height:100%;object-fit:cover;display:block}
.bookMoodTile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,48,.06),rgba(8,24,48,.62))}
.bookMoodTile span{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-weight:900;font-size:.86rem;line-height:1.15;z-index:2}
.cardVisual .cardMedia img,.showcaseMedia img{width:100%;height:100%;object-fit:cover;display:block}
.hotelGalleryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.hotelGalleryGrid .mediaTile{min-height:180px}
@media (max-width:900px){
  .mediaStorySplit{grid-template-columns:1fr}
  .mediaMosaic{grid-template-columns:1fr 1fr}
  .mediaMosaic .mediaTile{grid-column:span 1!important;min-height:180px!important}
  .bookMoodStrip{grid-template-columns:1fr 1fr}
  .bookMoodTile:last-child{grid-column:1 / -1}
  .hotelGalleryGrid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .mediaRibbon{grid-template-columns:1fr 1fr}
  .mediaTile{min-height:150px;border-radius:18px}
  .mediaTileBody{left:12px;right:12px;bottom:12px}
  .mediaTileBody b{font-size:.92rem}
  .mediaTileBody small{font-size:.76rem}
  .bookMoodStrip{grid-template-columns:1fr}
  .hotelGalleryGrid{grid-template-columns:1fr}
}
