/* Phase 347 — Editorial / Guide Template Refresh */
:root{--ed-navy:#0b314b;--ed-ink:#102432;--ed-muted:rgba(16,36,50,.72);--ed-cream:#fff8ed;--ed-card:#fffdf8;--ed-line:rgba(11,49,75,.13);--ed-warm:#d97706;--ed-shadow:0 18px 46px rgba(8,40,61,.08)}
.tgzRootMain,.tgzUtilityArticle,.tgzArticleShell{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.tgzRootMain{--root-navy:var(--ed-navy);--root-ink:var(--ed-ink);--root-cream:var(--ed-cream);--root-card:var(--ed-card);--root-line:var(--ed-line);}
.tgzRootMain .heroWrapV18,.tgzRootMain .heroWrap{border-radius:24px;overflow:hidden;box-shadow:var(--ed-shadow);border:1px solid rgba(255,255,255,.18)}
.tgzRootMain .heroContent{max-width:min(760px,92vw)}
.tgzRootMain .heroContent h1{letter-spacing:-.055em;line-height:.96}
.tgzRootMain .heroContent p{max-width:64ch;line-height:1.52}
.tgzRootMain .visualHeroRail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.tgzRootMain .v29Metric{border:1px solid var(--ed-line);border-radius:18px;background:linear-gradient(180deg,#fffdf8,#fff7ea);padding:12px;box-shadow:0 12px 26px rgba(8,40,61,.05)}
.tgzRootMain .v29Metric b{display:block;color:var(--ed-warm);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.tgzRootMain .v29Metric strong{display:block;color:var(--ed-navy);font:850 1rem/1.12 Inter,system-ui,sans-serif}.tgzRootMain .v29Metric small{display:block;margin-top:5px;color:var(--ed-muted);line-height:1.35}
.tgzEditorialLock{margin:14px 0;border:1px solid rgba(217,119,6,.25);border-radius:24px;background:linear-gradient(135deg,#0b314b,#102432);color:#fff;padding:14px;display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.35fr);gap:12px;box-shadow:0 18px 48px rgba(8,40,61,.14)}
.tgzEditorialLock__copy{display:grid;gap:6px;align-content:center}.tgzEditorialLock__copy span{width:max-content;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#ffdca8;font:850 .68rem/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:7px 9px}.tgzEditorialLock__copy h2{margin:0;color:#fff;font:850 clamp(1.15rem,2.5vw,1.75rem)/1.03 "Inter Tight",Inter,system-ui,sans-serif;letter-spacing:-.035em}.tgzEditorialLock__copy p,.tgzEditorialLock__trust{margin:0;color:rgba(255,255,255,.74);font:500 .86rem/1.42 Inter,system-ui,sans-serif}.tgzEditorialLock__nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tgzEditorialLock__link{display:grid;place-items:center;text-align:center;min-height:58px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;padding:9px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.tgzEditorialLock__link:hover,.tgzEditorialLock__link:focus-visible{transform:translateY(-1px);border-color:rgba(255,220,168,.55);background:rgba(255,255,255,.13)}.tgzEditorialLock__link--book{background:#fff8ed;color:#0b314b;border-color:#ffdca8}.tgzEditorialLock__link--book b{color:#0b314b}.tgzEditorialLock__link b{font:850 .84rem/1.1 Inter,system-ui,sans-serif}.tgzEditorialLock__trust{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);padding-top:10px;color:rgba(255,255,255,.72)}
.tgzRootApp[data-phase309="intent-command"],.tgzRootCommand,.tgzRootSources,.tgzEventPlanner,.tgzWorkshopFit,.tgzTopicGrid,.tgzArticleDecision,.tgzArticleRouteMap,.tgzUtilityFacts article,.tgzUtilityBody article,.tgzUtilitySplit article,.tgzUtilityFAQ,.tgzUtilityNext,.tgzUtilitySources{border-radius:22px;box-shadow:var(--ed-shadow)}
.tgzRootApp[data-phase309="intent-command"]{padding:14px;border:1px solid var(--ed-line);background:linear-gradient(180deg,#fffdf8,#fff7ea)}
.tgzRootApp__head h2,.tgzRootCommand__copy h2,.tgzRootSources__head h2{font-family:"Inter Tight",Inter,system-ui,sans-serif;letter-spacing:-.04em}.tgzRootApp__head p{max-width:74ch}.tgzRootApp__chip{border-radius:17px;min-height:108px;background:#fff;border-color:var(--ed-line)}.tgzRootApp__chip small{background:#fff3e4;color:#8b4a05;border:1px solid rgba(217,119,6,.23)}.tgzRootApp__chip b{color:var(--ed-navy)}.tgzRootApp__chip em{color:var(--ed-muted)}
.tgzUtilityArticle{padding-top:14px}.tgzUtilityHero{grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:12px}.tgzUtilityHero>div,.tgzUtilityHero figure{background:linear-gradient(180deg,#fffdf8,#fff4e2);border-color:var(--ed-line);border-radius:24px;box-shadow:var(--ed-shadow)}.tgzUtilityHero>div{padding:clamp(18px,3.2vw,34px)}.tgzUtilityHero h1{color:var(--ed-navy)}.tgzUtilityHero nav a{border-radius:999px;min-height:40px}.tgzUtilityHero nav a:first-child{background:var(--ed-navy);border-color:var(--ed-navy)}.tgzUtilityBody,.tgzUtilityFacts,.tgzUtilitySplit{gap:10px}.tgzUtilityBody article{padding:17px}.tgzUtilityNext div,.tgzUtilitySources div{gap:9px}.tgzUtilityNext a,.tgzUtilitySources a{border-radius:17px}
.tgzArticleHero{grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);border-radius:24px;padding:10px;background:linear-gradient(135deg,#fffdf8,#fff4e2)}.tgzArticleHero__media{min-height:280px;border-radius:18px}.tgzArticleHero__body{padding:22px}.tgzArticleHero h1{font-size:clamp(2rem,5vw,3.75rem)}.tgzArticleLibraryGrid{gap:10px}.tgzArticleLibraryCard{border-radius:20px}.tgzArticleRouteChips a{min-height:96px}.tgzArticleQuickGrid a,.tgzMonthCTA a{min-height:42px;display:grid;place-items:center}
.tgzEventPlanner__grid,.tgzWorkshopFit__grid,.tgzTopicGrid{gap:9px}.tgzEventMini,.tgzWorkshopFit__card,.tgzTopicCard{border-radius:17px;min-height:auto}.tgzEventMini__link,.tgzWorkshopFit__card a,.tgzTopicCard small{display:inline-flex;justify-content:center;align-items:center;min-height:36px}.tgzRootMain .section{margin-top:12px}.tgzRootMain .content{border:1px solid var(--ed-line);border-radius:22px;background:#fffdf8;box-shadow:var(--ed-shadow);padding:clamp(16px,2.4vw,24px)}.tgzRootMain .related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tgzRootMain .related a{border:1px solid var(--ed-line);border-radius:18px;background:#fff;padding:13px;text-decoration:none;color:var(--ed-navy)}.tgzRootMain .related a small{display:block;color:var(--ed-muted);line-height:1.35;margin-top:5px}
html[dir="rtl"] .tgzEditorialLock,html[dir="rtl"] .tgzEditorialLock__copy,html[dir="rtl"] .tgzRootMain{text-align:right}.tgzRootMain :focus-visible,.tgzUtilityArticle :focus-visible,.tgzArticleShell :focus-visible{outline:3px solid rgba(217,119,6,.45);outline-offset:3px}
@media(max-width:940px){.tgzEditorialLock{grid-template-columns:1fr}.tgzEditorialLock__nav{grid-template-columns:repeat(3,minmax(0,1fr))}.tgzRootMain .visualHeroRail{grid-template-columns:1fr}.tgzRootMain .related{grid-template-columns:1fr}.tgzRootApp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tgzUtilityHero,.tgzArticleHero{grid-template-columns:1fr}.tgzArticleHero__media,.tgzUtilityHero figure{min-height:220px;order:-1}}
@media(max-width:640px){.tgzEditorialLock{margin:10px 0;border-radius:20px;padding:11px}.tgzEditorialLock__nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px}.tgzEditorialLock__link{min-width:138px;min-height:52px;scroll-snap-align:start}.tgzEditorialLock__trust{font-size:.78rem}.tgzRootApp[data-phase309="intent-command"],.tgzRootCommand,.tgzRootSources,.tgzEventPlanner,.tgzWorkshopFit,.tgzUtilityHero>div,.tgzUtilityHero figure,.tgzArticleHero{border-radius:20px}.tgzRootApp__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.tgzRootApp__chip{min-width:190px;min-height:100px;scroll-snap-align:start}.tgzRootCommand__action{min-width:168px}.tgzUtilityFacts,.tgzUtilityBody,.tgzUtilitySplit,.tgzUtilityNext div,.tgzUtilitySources div{grid-template-columns:1fr}.tgzArticleHero__body{padding:15px}.tgzArticleHero__media{min-height:190px}.tgzArticleHero h1,.tgzUtilityHero h1{font-size:clamp(2rem,10vw,3rem)}}
/* Phase 382 — native editorial/root route night completion. */
html[data-theme="dark"] body :where(.tgzRootMain,.tgzEditorialLock,.tgzUtilityArticle,.tgzArticleShell){background:#030708!important;color:#f6f3eb!important;}
html[data-theme="dark"] body :where(.tgzRootApp,.tgzRootCommand,.tgzRootCommand__copy,.tgzRootSources,.tgzRootSource,.tgzEventPlanner,.tgzEventMini,.tgzWorkshopFit,.tgzWorkshopFit__card,.tgzTopicGrid,.tgzTopicCard,.tgzEditorialLock__copy,.tgzEditorialLock__trust,.tgzEditorialLock__nav,.tgzArticleHero,.tgzUtilityHero,.tgzUtilityBody,.tgzUtilitySources,.tgzUtilityNext,.related,.v29Metric){background:#071217!important;color:#f6f3eb!important;border-color:rgba(246,243,235,.14)!important;box-shadow:none!important;}
html[data-theme="dark"] body :where(.tgzRootApp__chip,.tgzRootCommand__action,.tgzEditorialLock__link){background:#0b151a!important;color:#f6f3eb!important;border-color:rgba(143,230,210,.22)!important;}
html[data-theme="dark"] body :where(.tgzRootCommand__action--book,.tgzEditorialLock__link--book){background:linear-gradient(135deg,#16aaa3,#8fe6d2)!important;color:#031316!important;border-color:rgba(143,230,210,.7)!important;}
html[data-theme="dark"] body :where(.tgzRootMain h1,.tgzRootMain h2,.tgzRootMain h3,.tgzEditorialLock h1,.tgzEditorialLock h2,.tgzEditorialLock h3,strong,b){color:#f6f3eb!important;}
html[data-theme="dark"] body :where(.tgzRootMain p,.tgzEditorialLock p,small,span,li){color:#b9c4c5!important;}

/* Phase 388 — native route-family night surface/control finish. */
html[data-theme="dark"] body :where(.bfCard,.bfPanel,.bfForm,.thingsDecisionBoard,.thingsPlanCard,.thingsCard,.flightCockpit,.flightDecisionCard,.flightPanel,.oceanLockPanel,.surfSmartHero,.surfSmartPanel,.surfSmartResult,.surfSmartDeck>*,.surfSmartCarousel>*,.localCard,.entityCard,.articleCard,.topicCard,.guideCard,.rootAppCard,.editorialCard,.moneyCard,.offerCard,.hcPanel,.hcHero,.tgz268HeroCard,.tgz268Section){background:linear-gradient(180deg,rgba(15,43,57,.96),rgba(7,23,32,.98))!important;color:#edf7f5!important;border-color:rgba(151,230,214,.22)!important}
html[data-theme="dark"] body :where(.bfBtn,.thingsBtn,.flightBtn,.flightMiniBtn,.flightMiniLink,.flightChip,.flightCityChip,.oceanLockButton,.surfSmartBtn,.surfPhase356Link,.hcBtn,.tgzCommercialIntentBtn,.tgzStayMoneyBtn){background:linear-gradient(135deg,rgba(22,66,86,.95),rgba(15,43,57,.98))!important;color:#ecfaf7!important;border-color:rgba(151,230,214,.26)!important}
html[data-theme="dark"] body :where(.bfBtn.primary,.thingsBtn.primary,.flightBtn.primary,.surfSmartBtn.primary,.surfPhase356Link.primary,.hcBtnPrimary,.tgzCommercialIntentBtn--quote,.tgzStayMoneyBtn.is-primary){background:linear-gradient(135deg,#24c8b8,#b5f4dc)!important;color:#031719!important;border-color:rgba(181,244,220,.72)!important}
html[data-theme="dark"] body :where(.flightChip:nth-child(2n),.flightCityChip:nth-child(2n),.thingsBtn:nth-child(2n),.surfSmartBtn:nth-child(2n)){background:linear-gradient(135deg,rgba(38,82,117,.92),rgba(82,64,132,.70))!important;border-color:rgba(137,171,255,.30)!important}


/* Phase 389 — app spacing + native route finish. Reduces wasted space and adds richer Atlantic button grammar without touching app engines. */
html[data-theme="dark"] body{--tgz389-page:#061014;--tgz389-surface:#0a1820;--tgz389-surface2:#0f2634;--tgz389-line:rgba(160,235,222,.18);--tgz389-text:#f3fff9;--tgz389-muted:#aac3c4;--tgz389-teal:#23c7b7;--tgz389-mint:#aef5de;--tgz389-blue:#69a8ff;--tgz389-violet:#b79cff;--tgz389-copper:#d99a42;--tgz389-sand:#e9d7b4}
html[data-theme="dark"] body :where(.btn,.button,a.btn,button,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.quoteMiniAction,.quoteSectionAction,.weatherHeroActions .btn,.weatherSegment button,.weatherHourlyModes button,.weatherSpotSheetTab,.bfBtn,.thingsBtn,.flightBtn,.flightMiniBtn,.oceanLockButton,.surfSmartBtn,.tioFooterV4__action,.bottomQuickNav a){border-color:rgba(160,235,222,.24);box-shadow:none;text-align:center;align-items:center;justify-content:center;white-space:normal;line-height:1.12;transition:transform .15s ease,filter .15s ease,border-color .15s ease,background .15s ease}
html[data-theme="dark"] body :where(.btn,.button,a.btn,.cleanSoftBtn,.quoteMiniAction,.weatherHeroActions .btn.secondary,.bfBtn.secondary,.flightMiniBtn,.flightMiniLink,.thingsBtn.secondary,.oceanLockButton.secondary){background:linear-gradient(135deg,rgba(16,42,56,.96),rgba(10,29,40,.98));color:#effff9;border-color:rgba(105,168,255,.28)}
html[data-theme="dark"] body :where(.btn.primary,.primary,.is-primary,.cleanPrimary,.cleanDockBtn.cleanPrimary,.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.bfBtn.primary,.thingsBtn.primary,.flightBtn.primary,.oceanLockButton.primary,button[type="submit"]){background:linear-gradient(135deg,#23c7b7,#aef5de);color:#031719;border-color:rgba(174,245,222,.72)}
html[data-theme="dark"] body :where(.btn:nth-of-type(3n),.cleanSoftBtn:nth-of-type(3n),.weatherHeroActions .btn:nth-of-type(3n),.bfBtn:nth-of-type(3n),.thingsBtn:nth-of-type(3n),.flightMiniBtn:nth-of-type(3n)){background:linear-gradient(135deg,rgba(105,168,255,.28),rgba(183,156,255,.18));border-color:rgba(105,168,255,.34);color:#f3f8ff}
html[data-theme="dark"] body :where(.btn:nth-of-type(4n),.cleanSoftBtn:nth-of-type(4n),.weatherHeroActions .btn:nth-of-type(4n),.bfBtn:nth-of-type(4n),.thingsBtn:nth-of-type(4n),.flightMiniBtn:nth-of-type(4n)){background:linear-gradient(135deg,rgba(217,154,66,.30),rgba(233,215,180,.12));border-color:rgba(217,154,66,.40);color:#fff4df}
html[data-theme="dark"] body :where(.btn:hover,.button:hover,a.btn:hover,button:hover,.cleanSoftBtn:hover,.cleanActionBtn:hover,.weatherHeroActions .btn:hover,.bfBtn:hover,.thingsBtn:hover,.flightBtn:hover,.oceanLockButton:hover){filter:brightness(1.06);transform:translateY(-1px)}
@media (max-width:760px){body :where(main,.buildCleanMain,.weatherFinalApp,.surfSmartApp,.bfApp,.thingsApp,.flightCockpit,.oceanLockApp){--tgz-route-gap:12px}body :where(.container,.buildCleanShell,.weatherFinalApp,.surfSmartShell,.bfShell,.thingsShell,.flightShell,.oceanLockShell){padding-left:12px;padding-right:12px}body :where(.buildCleanHero,.cleanStep,.cleanStayPanel,.weatherHero,.weatherNowCard,.weatherBoard,.weatherSpotMatrix,.bfPanel,.bfCard,.thingsDecisionBoard,.thingsPlanCard,.thingsCard,.flightDecisionCard,.flightPanel,.oceanLockPanel,.surfSmartPanel,.surfSmartResult,.localCard,.entityCard,.articleCard,.topicCard,.guideCard,.siteIndexCard){border-radius:20px;padding:14px;gap:10px}body :where(.buildCleanHero h1,.weatherHero h1,.bfHero h1,.thingsHero h1,.flightHero h1,.oceanLockHero h1){font-size:clamp(28px,8.8vw,42px);line-height:.95;margin-bottom:8px}body :where(.cleanModeGrid,.cleanBookingGrid,.guestCounterGrid,.activityCards,.weatherMetricGrid,.weatherSpotSheetGrid,.bfGrid,.thingsGrid,.flightGrid){gap:9px}}


/* Phase 393 — native density + lively Atlantic controls. */
html[data-theme="dark"] body :where(.btn,.button,button.cleanSoftBtn,button.cleanActionBtn,a.cleanSoftBtn,a.cleanActionBtn,.chip,.tab,.pill,.routeChip,.menuTreeChip,.weatherSpotSheetItem,.tgz393Route){
  min-width:0;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
html[data-theme="dark"] body :where(.btn.secondary,.button.secondary,.chip,.tab,.pill,.routeChip,.menuTreeChip):not(.is-active):not([aria-current="page"]){
  background:linear-gradient(135deg,rgba(15,45,58,.94),rgba(8,28,38,.98));
  border-color:rgba(105,168,255,.24);
  color:#edfdf8;
}
html[data-theme="dark"] body :where(.btn.primary,.button.primary,.is-active,[aria-current="page"]):not(.tgz393Brand){
  background:linear-gradient(135deg,var(--tgz393-teal,#23c7b7),var(--tgz393-mint,#aef5de));
  border-color:rgba(174,245,222,.62);
  color:#031719;
}
html[data-theme="dark"] body :where(.btn.secondary:hover,.button.secondary:hover,.chip:hover,.tab:hover,.pill:hover,.routeChip:hover,.menuTreeChip:hover){
  border-color:rgba(174,245,222,.42);
  background:linear-gradient(135deg,rgba(22,63,78,.98),rgba(10,35,47,.98));
}
@media(max-width:780px){
  body :where(main .section,main section,.appSection,.weatherSection,.buildStep,.surfAppSection,.routeSection){
    padding-top:clamp(10px,3.4vw,18px)!important;
    padding-bottom:clamp(10px,3.4vw,18px)!important;
  }
  body :where(main .container,main .wrap,main .shell,.appShell,.weatherShell,.buildShell){
    padding-left:clamp(12px,3.6vw,18px)!important;
    padding-right:clamp(12px,3.6vw,18px)!important;
  }
  body :where(.cards,.grid,.appGrid,.weatherGrid,.buildGrid,.spotGrid,.routeGrid,.proofGrid,.linkGrid,.buttonGrid,.btnRow){
    gap:clamp(7px,2.4vw,12px)!important;
  }
  body :where(.card,.panel,.appCard,.weatherCard,.buildCard,.spotCard,.routeCard,.proofCard,.faq details){
    border-radius:clamp(16px,4.2vw,22px)!important;
  }
  body :where(.btn,.button,button.cleanSoftBtn,button.cleanActionBtn,a.cleanSoftBtn,a.cleanActionBtn,.chip,.tab,.pill,.routeChip,.menuTreeChip){
    min-height:38px!important;
    padding-block:clamp(7px,2vw,10px)!important;
    padding-inline:clamp(9px,2.8vw,13px)!important;
    line-height:1.15!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
/* TGZ_PHASE_393_NATIVE_DENSITY_LOCK */

/* Phase 398F — Editorial route native whitespace/button polish. */
.editorialLock,.editorialRoute{--ed-398f-gap:var(--tgz-ui-density-gap,10px);--ed-398f-pad:var(--tgz-ui-density-card-pad,12px)}.editorialLock :where(.card,.panel,.editorialCard,.routeCard,.proofCard,.faqCard),.editorialRoute :where(.card,.panel,.editorialCard,.routeCard,.proofCard,.faqCard){padding:min(var(--ed-398f-pad),14px)}.editorialLock :where(.grid,.cards,.btnRow,.chipRow,.routeGrid,.proofGrid),.editorialRoute :where(.grid,.cards,.btnRow,.chipRow,.routeGrid,.proofGrid){gap:8px}.editorialLock :where(.btn,.button,.pill,.chip,.routeChip),.editorialRoute :where(.btn,.button,.pill,.chip,.routeChip){min-height:var(--tgz-ui-control-min,38px);padding:8px 11px;border-radius:14px;text-align:center;white-space:normal;line-height:1.12;align-items:center;justify-content:center}@media(max-width:760px){.editorialLock :where(.card,.panel,.editorialCard,.routeCard,.proofCard,.faqCard),.editorialRoute :where(.card,.panel,.editorialCard,.routeCard,.proofCard,.faqCard){padding:10px;border-radius:18px}.editorialLock :where(.btn,.button,.pill,.chip,.routeChip),.editorialRoute :where(.btn,.button,.pill,.chip,.routeChip){min-height:36px;padding:8px 10px;font-size:.8rem}}
