/* GlobeTime Calculator — one stylesheet, no framework. */
:root{
  --bg:#f6f8fb; --surface:#ffffff; --surface-2:#eef2f7; --text:#0f1b2d; --muted:#53627a;
  --line:#dbe2ec; --brand:#0b3b66; --brand-2:#0e5a8a; --accent:#0f9d8a; --accent-text:#0b7a6b;
  --amber:#f2a516; --night:#1d2a3f; --good:#d6f5ec; --warn:#fff1cc; --bad:#e8ecf2;
  --radius:14px; --shadow:0 1px 2px rgba(15,27,45,.06),0 6px 20px rgba(15,27,45,.06);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0b1220; --surface:#121b2d; --surface-2:#18233a; --text:#e8eef7; --muted:#9fb0c8;
  --line:#26334d; --brand:#7cc3ff; --brand-2:#9dd3ff; --accent:#2cc9b2; --accent-text:#4fe0c9;
  --night:#0a1020; --good:#123d36; --warn:#3f3415; --bad:#1a2438;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--brand-2)}
a:hover{color:var(--accent-text)}
img,svg{max-width:100%}
h1,h2,h3{line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(1.6rem,3.6vw,2.4rem);letter-spacing:-.02em}
h2{font-size:1.35rem;margin-top:1.6em}
h3{font-size:1.08rem;margin-top:1.2em}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.site-header .wrap{display:flex;align-items:center;gap:16px;height:62px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.logo svg{width:30px;height:30px;flex:none}
.logo span b{color:var(--accent-text)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--text);font-size:.94rem;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{background:var(--surface-2);color:var(--brand-2)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--text)}
.menu-btn svg{width:22px;height:22px}
@media (max-width:920px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:62px;background:var(--surface);flex-direction:column;align-items:stretch;padding:8px 16px 16px;border-bottom:1px solid var(--line);margin:0}
  .nav.open{display:flex}
  .nav a{padding:12px}
}

/* Layout */
.crumbs{font-size:.86rem;color:var(--muted);margin:18px 0 6px}
.crumbs a{color:var(--muted)}
.page{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;margin:8px 0 48px}
@media (max-width:980px){.page{grid-template-columns:minmax(0,1fr)}}
.lead{font-size:1.08rem;color:var(--muted);max-width:760px}
.answer{background:var(--surface);border-left:4px solid var(--accent);padding:12px 16px;border-radius:10px;margin:0 0 18px;box-shadow:var(--shadow)}
.answer strong{color:var(--text)}
aside .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:18px}
aside h2{font-size:1rem;margin:0 0 .6em}
aside ul{list-style:none;margin:0;padding:0}
aside li a{display:flex;gap:8px;align-items:center;padding:7px 4px;text-decoration:none;color:var(--text);border-radius:8px}
aside li a:hover{background:var(--surface-2)}
aside li svg{width:16px;height:16px;color:var(--accent-text);flex:none}
.sticky{position:sticky;top:80px}

/* Cards / tools */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:22px}
.tool label{display:block;font-size:.84rem;font-weight:600;color:var(--muted);margin-bottom:4px}
.row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:14px}
input,select,button,textarea{font:inherit;color:inherit}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:44px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 16px;min-height:44px;font-weight:600;cursor:pointer;text-decoration:none}
@media (prefers-color-scheme:dark){.btn{color:#06101f}}
.btn:hover{filter:brightness(1.08);color:#fff}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn svg{width:18px;height:18px}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.result{margin-top:16px;background:var(--surface-2);border-radius:12px;padding:16px}
.result .big{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.result .sub{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.stat b{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums}
.stat span{font-size:.8rem;color:var(--muted)}
.check{display:flex;gap:8px;align-items:center;font-size:.92rem}
.check input{width:auto;min-height:0}

/* Tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:0 0 18px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{background:var(--surface-2);font-size:.85rem;color:var(--muted)}
tr:last-child td{border-bottom:0}
.tc td{padding:6px 6px}
.tc input{min-height:40px;padding:6px 8px}
.tc td.day{font-weight:600;padding-left:12px}
.tc td.total{font-weight:700}
.hl{background:var(--good)}

/* Clocks */
.clocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}
.clock{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--text)}
.clock .t{font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.clock .c{font-weight:600}
.clock .d{font-size:.8rem;color:var(--muted)}
.clock.night{background:var(--night);color:#dfe8f5;border-color:transparent}
.clock.night .d{color:#9fb0c8}

/* Hero */
.hero{background:linear-gradient(135deg,#0b3b66 0%,#0e5a8a 55%,#0f9d8a 100%);color:#fff;border-radius:0 0 28px 28px;padding:38px 0 46px;margin-bottom:28px}
.hero h1{color:#fff;max-width:760px}
.hero p{color:#d9ecff;max-width:680px;font-size:1.1rem}
.hero .now{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;margin-top:18px}
.hero .now .t{font-size:clamp(2.4rem,7vw,4rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em}
.hero .now .z{color:#cfe6ff}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0 0 28px}
.tool-link{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}
.tool-link:hover{border-color:var(--accent);color:var(--text)}
.tool-link svg{width:26px;height:26px;color:var(--accent-text);flex:none;margin-top:2px}
.tool-link b{display:block}
.tool-link span{font-size:.9rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.chips a{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text);background:var(--surface);font-size:.9rem}
.chips a:hover{border-color:var(--accent);color:var(--accent-text)}

/* Meeting planner grid */
.mp{overflow-x:auto}
.mp table td,.mp table th{text-align:center;padding:6px 4px;min-width:44px;font-size:.82rem}
.mp table td.city{text-align:left;min-width:150px;font-weight:600;position:sticky;left:0;background:var(--surface);z-index:1}
.mp .w{background:var(--good)} .mp .e{background:var(--warn)} .mp .n{background:var(--bad);color:var(--muted)}
.mp .best{outline:2px solid var(--accent);outline-offset:-2px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}

/* Prose */
.prose{max-width:780px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.35em}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:10px}
.faq summary{font-weight:600;cursor:pointer}
.faq details p{margin:.6em 0 0}
.note{font-size:.88rem;color:var(--muted)}
kbd,code{font-family:var(--mono);font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:5px}

/* Ads: fixed reserved height = no layout shift */
.ad-slot{display:block;margin:0 0 22px;min-height:120px;text-align:center}
.ad-slot.side{min-height:600px}
.ad-preview{border:2px dashed var(--line);border-radius:12px;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}

/* Footer */
.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:32px 0;margin-top:30px;font-size:.92rem}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}
.site-footer h2{font-size:.95rem;margin:0 0 .5em}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:6px}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--accent-text)}
.copy{color:var(--muted);margin-top:22px;font-size:.84rem}

@media print{
  .site-header,.site-footer,aside,.ad-slot,.btns,.no-print,.crumbs{display:none!important}
  .page{display:block}
  body{background:#fff;color:#000}
  .card{box-shadow:none;border:0}
}
[data-list] li{display:flex;align-items:center;gap:6px}
[data-list] .btn{min-height:28px;padding:2px 10px;font-size:.78rem;font-weight:500}
/* Vertical house banners, 300x600 (half-page format) */
.vad{width:100%;max-width:300px;margin:0 auto 18px}
.vad-link{position:relative;display:flex;flex-direction:column;height:600px;border-radius:16px;text-decoration:none;overflow:hidden;
  box-shadow:0 10px 30px rgba(5,10,20,.25);isolation:isolate;transition:transform .2s ease,box-shadow .2s ease}
.vad-link:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(5,10,20,.35)}
.vad-tag{position:absolute;top:9px;right:12px;z-index:3;font:600 .6rem/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 6px;border-radius:5px;background:rgba(0,0,0,.45);color:#e6e6e6}
.vad-head{display:block;font-weight:800;letter-spacing:-.02em;line-height:1.08}
.vad-sub{display:block;font-size:.92rem;line-height:1.4}
.vad-cta{position:relative;overflow:hidden;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:12px;
  font:800 1rem/1 system-ui,sans-serif}
.vad-cta svg{width:18px;height:18px;transition:transform .2s}
.vad-link:hover .vad-cta svg{transform:translateX(4px)}
.vad-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  transform:translateX(-120%);animation:vadShine 4.5s ease-in-out infinite 1.5s}
@keyframes vadShine{0%,60%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
.vad-own{display:block;text-align:center;font-size:.74rem;color:var(--muted);margin-top:6px}

/* Novarte: SLC skyline photo, scanning checklist */
.vad-novarte .vad-link{background:#050505;color:#f5f5f5}
.vad-novarte .vad-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.vad-novarte .vad-link::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(5,5,5,0) 0%,rgba(5,5,5,.1) 28%,rgba(5,5,5,.74) 44%,rgba(5,5,5,.93) 60%,#050505 80%)}
.vad-body{display:flex;flex-direction:column;gap:10px;height:100%;padding:228px 20px 20px}
.vad-novarte .vad-head{font-size:1.72rem;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.vad-novarte .vad-sub{color:#FF8A33;font-weight:700;letter-spacing:.01em}
.nv-scan{display:block;height:3px;border-radius:3px;background:#222;overflow:hidden;margin-top:4px}
.nv-scan span{display:block;height:100%;width:40%;background:linear-gradient(90deg,#FF6B00,#2952FF);border-radius:3px;animation:nvScan 2.6s ease-in-out infinite}
@keyframes nvScan{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
.nv-checks{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.nv-checks li{display:flex;align-items:center;gap:9px;font-size:.9rem;color:#e9e9e9;animation:nvCheck 10s ease-in-out infinite;animation-delay:calc(var(--i) * .6s)}
.nv-checks li svg{width:18px;height:18px;flex:none;color:#555;animation:nvTick 10s ease-in-out infinite;animation-delay:calc(var(--i) * .6s)}
.nv-checks li:last-child{color:#fff;font-weight:700}
@keyframes nvCheck{0%{opacity:.35}6%,88%{opacity:1}100%{opacity:.35}}
@keyframes nvTick{0%{color:#555}6%,88%{color:#FF6B00}100%{color:#555}}
.vad-fine{display:block;font-size:.78rem;color:#a9a9a9}
.vad-novarte .vad-cta{background:#FF6B00;color:#050505}

/* Microsite Strategy: real Playbook cover, grid backdrop */
.vad-microsite .vad-link{padding:20px 20px 20px;gap:12px;color:#eafff6;border:1px solid #143024;
  background:radial-gradient(90% 40% at 85% 8%,rgba(52,211,153,.28),transparent 70%),radial-gradient(70% 35% at 0% 100%,rgba(70,80,200,.25),transparent 70%),
  linear-gradient(rgba(52,211,153,.07) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(52,211,153,.07) 1px,transparent 1px) 0 0/24px 24px,#040605}
.ms-lock{display:flex;align-items:center;gap:9px;font:700 .72rem/1 "Space Grotesk",system-ui,sans-serif;letter-spacing:.14em;color:#eafff6;margin-top:2px}
.ms-ico{display:inline-flex;width:26px;height:26px;border-radius:7px;background:#34D399;color:#040605;align-items:center;justify-content:center}
.ms-ico svg{width:16px;height:16px}
.ms-book{display:block;perspective:900px;margin:6px auto 4px;width:178px}
.ms-book img{display:block;width:178px;height:auto;will-change:transform;backface-visibility:hidden;border-radius:6px;transform:rotateY(-14deg) rotateX(4deg);
  box-shadow:16px 18px 30px rgba(0,0,0,.6),0 0 0 1px rgba(52,211,153,.25);animation:msFloat 6s ease-in-out infinite}
@keyframes msFloat{0%,100%{transform:rotateY(-14deg) rotateX(4deg) translateY(0)}50%{transform:rotateY(-9deg) rotateX(2deg) translateY(-6px)}}
.vad-microsite .vad-head{font-family:"Space Grotesk",system-ui,sans-serif;font-size:1.72rem;color:#fff;margin-top:4px}
.vad-microsite .vad-sub{color:#b9e8d3}
.ms-chips{display:flex;flex-wrap:wrap;gap:6px}
.ms-chips span{font-size:.74rem;padding:4px 9px;border-radius:999px;border:1px solid rgba(234,255,246,.25);color:#eafff6}
.vad-microsite .vad-cta{background:#34D399;color:#040605}

@media (prefers-reduced-motion:reduce){
  .vad-cta::after,.nv-scan span,.nv-checks li,.nv-checks li svg,.ms-book img{animation:none!important}
  .nv-checks li svg{color:#FF6B00}
}

/* Ad placement (CalculatorSoup-style column) */
.adbox{max-width:300px;margin:0 auto 18px}
.ad-label{display:block;text-align:center;font:600 .62rem/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.adbox .vad{margin-bottom:0}
.ad-slot.rect{min-height:250px}
.ad-slot.half{min-height:600px}

/* 300x250 rectangles */
.vr{height:250px!important;padding:16px;gap:8px}
.vr b{font-weight:800;letter-spacing:-.01em;line-height:1.12}
.vr .vad-cta{padding:10px 14px;font-size:.9rem;margin-top:0}
.vr-sub{font-size:.85rem;line-height:1.35}
.vr-novarte{background:#050505;color:#f5f5f5}
.vr-novarte::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,5,5,0) 20%,rgba(5,5,5,.7) 52%,rgba(5,5,5,.95) 72%)}
.vr-novarte .vad-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.vr-body{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.vr-novarte b{font-size:1.32rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.vr-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vr-novarte .vr-sub{color:#FF8A33;font-weight:700}
.vr-novarte .vr-sub small{color:#a9a9a9;font-weight:500}
.vr-novarte .vad-cta{background:#FF6B00;color:#050505}
.vr-microsite{flex-direction:row!important;align-items:stretch;color:#eafff6;border:1px solid #143024;
  background:radial-gradient(80% 60% at 100% 0%,rgba(52,211,153,.25),transparent 70%),
  linear-gradient(rgba(52,211,153,.07) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,rgba(52,211,153,.07) 1px,transparent 1px) 0 0/22px 22px,#040605}
.vr-col{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-width:0}
.vr-microsite .ms-lock{font-size:.6rem;letter-spacing:.12em}
.vr-microsite .ms-ico{width:22px;height:22px}
.vr-microsite b{font-family:"Space Grotesk",system-ui,sans-serif;font-size:1.32rem;color:#fff;margin-top:4px}
.vr-microsite .vr-sub{color:#b9e8d3}
.vr-microsite .vad-cta{background:#34D399;color:#040605;margin-top:auto;white-space:nowrap;font-size:.84rem;padding:10px 8px}
.vr-book{flex:none;width:92px;display:flex;align-items:center;perspective:700px}
.vr-book img{width:92px;height:auto;border-radius:4px;transform:rotateY(-16deg);box-shadow:10px 12px 20px rgba(0,0,0,.6),0 0 0 1px rgba(52,211,153,.25);
  animation:msFloat 6s ease-in-out infinite;will-change:transform;backface-visibility:hidden}
.vr-house{color:#fff;background:linear-gradient(135deg,#0b3b66 0%,#0e5a8a 55%,#0f9d8a 100%);justify-content:center}
.vr-house b{font-size:1.5rem}
.vr-house .vr-sub{color:#d9ecff}
.vr-mega{display:inline-flex;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.16);align-items:center;justify-content:center}
.vr-mega svg{width:22px;height:22px}
.vr-house .vad-cta{background:#fff;color:#0b3b66;margin-top:8px}

/* Phone: sticky bottom anchor */
.anchor{display:none}
@media (max-width:980px){
  .anchor:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;height:64px;align-items:center;gap:8px;padding:0 8px 0 12px;
    box-shadow:0 -6px 20px rgba(0,0,0,.25)}
  body.has-anchor{padding-bottom:64px}
}
.anchor-novarte{background:#050505;color:#f5f5f5;border-top:2px solid #FF6B00}
.anchor-microsite{background:#040605;color:#eafff6;border-top:2px solid #34D399}
.anc-tag{position:absolute;top:3px;left:6px;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.anc-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit;height:100%}
.anc-link:hover{color:inherit}
.anc-link img{width:36px;height:36px;flex:none}
.anc-link .ms-ico{width:32px;height:32px;flex:none}
.anc-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.anc-copy b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anc-copy small{font-size:.72rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anc-cta{flex:none;padding:8px 12px;border-radius:8px;font-weight:800;font-size:.85rem}
.anchor-novarte .anc-cta{background:#FF6B00;color:#050505}
.anchor-microsite .anc-cta{background:#34D399;color:#040605}
.anc-x{flex:none;background:none;border:0;color:inherit;opacity:.7;padding:8px;cursor:pointer;min-height:0}
.anc-x svg{width:18px;height:18px}
@media (prefers-reduced-motion:reduce){.vr-book img{animation:none!important}}
