.smart-page {
  --svc-primary: #243b73;
  --svc-secondary: #168a94;
  --svc-accent: #e0ad4f;
  --svc-soft: #eef4fb;
  --svc-bg: #eef4f4;
  --svc-ink: #19364b;
  --svc-muted: #587084;
  --svc-border: rgba(36,59,115,.16);
}
.smart-page[data-smart-service="confidence"] { --svc-primary:#35327e; --svc-secondary:#168a94; --svc-accent:#e2b54f; --svc-soft:#f0f0fb; }
.smart-page[data-smart-service="best-time"] { --svc-primary:#0f667b; --svc-secondary:#21999c; --svc-accent:#e0a34a; --svc-soft:#eaf7f5; }
.smart-page[data-smart-service="health"] { --svc-primary:#256d5a; --svc-secondary:#58a57c; --svc-accent:#d29c45; --svc-soft:#edf8f1; }
.smart-page[data-smart-service="climate"] { --svc-primary:#7c4d2d; --svc-secondary:#c07843; --svc-accent:#2c8393; --svc-soft:#fbf2e8; }
.smart-page[data-smart-service="solar"] { --svc-primary:#8a5717; --svc-secondary:#db8c1d; --svc-accent:#215f86; --svc-soft:#fff6dc; }

.smart-tools-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:14px 0 0;
}
.smart-tools-nav a {
  display:flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 12px;
  border:1px solid var(--svc-border);
  border-radius:14px;
  background:rgba(255,255,255,.9);
  color:var(--svc-primary);
  font-size:.82rem;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  box-shadow:0 5px 14px rgba(20,65,80,.05);
}
.smart-tools-nav a:hover,.smart-tools-nav a.is-current {
  border-color:var(--svc-primary);
  background:var(--svc-primary);
  color:#fff;
}

.smart-page .svc-hero { min-height:clamp(265px,31vw,410px); }
.smart-page .svc-hero-copy { width:min(810px,77%); }
.smart-page .svc-hero h1 { font-size:clamp(2.15rem,5.3vw,4.7rem); }
.smart-page .svc-hero-icon { font-size:clamp(6rem,16vw,12rem); }

.smart-landing-hero {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);
  gap:28px;
  align-items:center;
  padding:clamp(28px,5vw,64px);
}
.smart-landing-hero .svc-hero-copy { width:auto; min-height:0; padding:0; }
.smart-landing-visual {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.smart-landing-visual span {
  display:grid;
  min-height:105px;
  place-items:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:22px;
  background:rgba(255,255,255,.12);
  font-size:clamp(2.25rem,5vw,4.2rem);
  backdrop-filter:blur(8px);
}
.smart-landing-visual span:last-child { grid-column:1/-1; min-height:78px; }

.smart-product-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.smart-product-card {
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:190px;
  overflow:hidden;
  padding:clamp(20px,3vw,30px);
  border:1px solid var(--svc-border);
  border-radius:22px;
  background:linear-gradient(140deg,#fff,var(--card-tint,#eef7f6));
  color:var(--svc-ink);
  text-decoration:none;
  box-shadow:var(--svc-shadow);
  isolation:isolate;
}
.smart-product-card::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:190px;
  height:190px;
  right:-62px;
  top:-65px;
  border:26px solid color-mix(in srgb,var(--card-color,var(--svc-secondary)) 13%,transparent);
  border-radius:50%;
}
.smart-product-card:hover { transform:translateY(-2px); border-color:var(--card-color,var(--svc-primary)); }
.smart-product-card:nth-child(1) { --card-color:#4a47a3; --card-tint:#f0f0ff; }
.smart-product-card:nth-child(2) { --card-color:#168a94; --card-tint:#eaf9f8; }
.smart-product-card:nth-child(3) { --card-color:#4a9671; --card-tint:#edf8f2; }
.smart-product-card:nth-child(4) { --card-color:#b36b35; --card-tint:#fff4e8; }
.smart-product-card:nth-child(5) { --card-color:#d18a22; --card-tint:#fff7df; grid-column:1/-1; }
.smart-product-icon {
  display:grid;
  width:72px;
  height:72px;
  place-items:center;
  border-radius:20px;
  background:var(--card-color);
  color:#fff;
  font-size:2rem;
  box-shadow:0 10px 24px color-mix(in srgb,var(--card-color) 28%,transparent);
}
.smart-product-copy small { color:var(--card-color); font-size:.72rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.smart-product-copy strong { display:block; margin-top:7px; color:var(--card-color); font-size:clamp(1.25rem,2.2vw,1.75rem); line-height:1.1; }
.smart-product-copy span { display:block; margin-top:9px; color:var(--svc-muted); line-height:1.55; }
.smart-product-arrow { display:grid; width:44px; height:44px; place-items:center; border-radius:14px; background:var(--card-color); color:#fff; font-size:1.2rem; font-weight:950; }

.smart-place-form {
  display:grid;
  grid-template-columns:minmax(230px,1fr) auto auto;
  gap:10px;
  align-items:end;
}
.smart-place-form .svc-field { position:relative; }
.smart-place-form input { padding-right:42px; }
.smart-results {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-height:0;
  margin-top:10px;
}
.smart-result-button {
  min-height:38px;
  padding:7px 11px;
  border:1px solid var(--svc-border);
  border-radius:999px;
  background:#fff;
  color:var(--svc-primary);
  font-size:.79rem;
  font-weight:850;
  cursor:pointer;
}
.smart-result-button:hover { border-color:var(--svc-primary); background:var(--svc-soft); }
.smart-selected-place { display:flex; align-items:center; gap:8px; margin:11px 2px 0; color:var(--svc-muted); font-size:.86rem; }
.smart-selected-place strong { color:var(--svc-primary); }

.smart-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.smart-summary-grid .svc-summary-card { min-height:142px; }
[data-health-summary] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.smart-summary-icon { display:grid; width:34px; height:34px; place-items:center; margin-bottom:10px; border-radius:11px; background:var(--svc-soft); font-size:1.05rem; }

.confidence-overview {
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:18px;
}
.confidence-gauge {
  display:grid;
  place-items:center;
  min-height:290px;
  padding:22px;
  text-align:center;
}
.confidence-ring {
  --score:50;
  display:grid;
  width:190px;
  height:190px;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--ring-color,var(--svc-secondary)) calc(var(--score)*1%),#e5ebef 0);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.confidence-ring::before { content:""; grid-area:1/1; width:145px; height:145px; border-radius:50%; background:#fff; box-shadow:0 8px 25px rgba(20,54,72,.1); }
.confidence-ring span { position:relative; grid-area:1/1; color:var(--svc-primary); font-size:2.7rem; font-weight:950; }
.confidence-ring small { position:relative; grid-area:1/1; align-self:end; margin-bottom:45px; color:var(--svc-muted); font-size:.73rem; font-weight:800; }
.confidence-gauge h2 { margin:15px 0 0; color:var(--svc-primary); }
.confidence-gauge p { margin:7px 0 0; color:var(--svc-muted); line-height:1.5; }

.confidence-days { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.confidence-day {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  padding:14px;
  border:1px solid var(--svc-border);
  border-radius:15px;
  background:#fff;
}
.confidence-day-icon { font-size:1.8rem; }
.confidence-day-head { display:flex; justify-content:space-between; gap:8px; }
.confidence-day h3 { margin:0; color:var(--svc-primary); font-size:1rem; }
.confidence-score { color:var(--score-color,var(--svc-primary)); font-weight:950; white-space:nowrap; }
.confidence-meter { height:8px; margin:9px 0; overflow:hidden; border-radius:999px; background:#e6ecef; }
.confidence-meter span { display:block; width:calc(var(--score)*1%); height:100%; border-radius:inherit; background:var(--score-color,var(--svc-secondary)); }
.confidence-facts { display:flex; flex-wrap:wrap; gap:5px 10px; color:var(--svc-muted); font-size:.76rem; line-height:1.4; }

.best-controls { display:grid; grid-template-columns:1.3fr .75fr .65fr auto; gap:10px; align-items:end; margin-top:14px; }
.best-window-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; padding:clamp(20px,4vw,34px); }
.best-window-medal { display:grid; width:86px; height:86px; place-items:center; border-radius:25px; background:linear-gradient(145deg,var(--svc-secondary),var(--svc-primary)); color:#fff; font-size:2.5rem; box-shadow:0 13px 28px color-mix(in srgb,var(--svc-primary) 28%,transparent); }
.best-window-copy h2 { margin:3px 0 0; color:var(--svc-primary); font-size:clamp(1.5rem,3vw,2.25rem); }
.best-window-copy p { margin:8px 0 0; color:var(--svc-muted); line-height:1.55; }
.best-window-score { min-width:96px; text-align:center; }
.best-window-score strong { display:block; color:var(--svc-primary); font-size:2.5rem; }
.best-window-score span { color:var(--svc-muted); font-size:.78rem; font-weight:800; }
.window-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.window-card { padding:17px; border:1px solid var(--svc-border); border-radius:16px; background:#fff; }
.window-card:first-child { border-color:var(--svc-secondary); background:linear-gradient(145deg,var(--svc-soft),#fff); }
.window-rank { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.window-rank span { color:var(--svc-muted); font-size:.78rem; font-weight:900; }
.window-rank strong { color:var(--svc-primary); font-size:1.15rem; }
.window-card h3 { margin:10px 0 0; color:var(--svc-primary); font-size:1.15rem; }
.window-card p { margin:7px 0 0; color:var(--svc-muted); line-height:1.45; }
.window-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:12px; }

.health-daily-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.health-day { padding:15px; border:1px solid var(--svc-border); border-radius:16px; background:#fff; }
.health-day h3 { margin:0; color:var(--svc-primary); font-size:1rem; }
.health-aqi { display:flex; align-items:baseline; gap:6px; margin-top:11px; }
.health-aqi strong { color:var(--health-color,var(--svc-primary)); font-size:1.8rem; }
.health-aqi span { color:var(--health-color,var(--svc-primary)); font-size:.76rem; font-weight:900; }
.health-day p { margin:8px 0 0; color:var(--svc-muted); font-size:.79rem; line-height:1.45; }
.health-scale { display:grid; grid-template-columns:repeat(5,1fr); height:10px; margin-top:10px; overflow:hidden; border-radius:999px; }
.health-scale span:nth-child(1){background:#4eaa68}.health-scale span:nth-child(2){background:#d4b42f}.health-scale span:nth-child(3){background:#e68b31}.health-scale span:nth-child(4){background:#d14c4c}.health-scale span:nth-child(5){background:#874d89}
.health-hourly { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(155px,1fr); gap:9px; overflow-x:auto; padding-bottom:6px; }
.health-hour { padding:13px; border:1px solid var(--svc-border); border-radius:14px; background:#fff; }
.health-hour strong,.health-hour span,.health-hour small { display:block; }
.health-hour strong { color:var(--svc-primary); }
.health-hour span { margin-top:7px; color:var(--health-color,var(--svc-secondary)); font-size:1.15rem; font-weight:950; }
.health-hour small { margin-top:5px; color:var(--svc-muted); line-height:1.35; }

.climate-ranking { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.climate-winner { position:relative; min-height:175px; overflow:hidden; padding:20px; border:1px solid var(--svc-border); border-radius:18px; background:linear-gradient(145deg,var(--svc-soft),#fff); }
.climate-winner::after { content:attr(data-rank); position:absolute; right:13px; top:4px; color:color-mix(in srgb,var(--svc-primary) 13%,transparent); font-size:5.5rem; font-weight:950; }
.climate-winner small { color:var(--svc-muted); font-weight:850; }
.climate-winner h3 { margin:9px 0 0; color:var(--svc-primary); font-size:1.5rem; }
.climate-winner p { margin:9px 0 0; color:var(--svc-muted); line-height:1.5; }
.climate-months { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.climate-month { padding:15px; border:1px solid var(--svc-border); border-radius:15px; background:#fff; }
.climate-month h3 { margin:0; color:var(--svc-primary); font-size:1rem; }
.climate-temp { margin-top:9px; color:var(--svc-primary); font-size:1.35rem; font-weight:950; }
.climate-month p { margin:6px 0 0; color:var(--svc-muted); font-size:.78rem; line-height:1.45; }
.climate-bar { display:flex; align-items:flex-end; gap:5px; height:55px; margin-top:10px; }
.climate-bar span { flex:1; min-height:3px; border-radius:5px 5px 2px 2px; }
.climate-bar .rain { height:calc(var(--rain)*1%); background:#3b91b4; }
.climate-bar .sun { height:calc(var(--sun)*1%); background:#e9ad3f; }

.solar-config { display:grid; grid-template-columns:1.2fr .7fr .7fr .8fr auto; gap:10px; align-items:end; }
.solar-total { display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:center; padding:clamp(22px,4vw,36px); }
.solar-orb { display:grid; width:112px; height:112px; place-items:center; border-radius:50%; background:radial-gradient(circle at 32% 28%,#fff9b8,#f6b72e 48%,#d67a12); box-shadow:0 0 0 13px rgba(238,170,44,.12),0 15px 35px rgba(142,87,20,.25); font-size:3.25rem; }
.solar-total h2 { margin:0; color:var(--svc-primary); font-size:clamp(1.55rem,3.1vw,2.4rem); }
.solar-total p { margin:8px 0 0; color:var(--svc-muted); line-height:1.55; }
.solar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; }
.solar-day { padding:14px; border:1px solid var(--svc-border); border-radius:15px; background:#fff; }
.solar-day h3 { margin:0; color:var(--svc-primary); font-size:.92rem; }
.solar-day strong { display:block; margin-top:9px; color:var(--svc-primary); font-size:1.25rem; }
.solar-day span,.solar-day small { display:block; margin-top:5px; color:var(--svc-muted); font-size:.75rem; line-height:1.35; }
.solar-hourly { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(62px,1fr); gap:7px; min-height:245px; overflow-x:auto; align-items:end; padding:15px 4px 5px; }
.solar-column { display:grid; grid-template-rows:1fr auto auto; gap:6px; align-items:end; height:220px; text-align:center; }
.solar-column-bar { width:100%; min-height:2px; height:calc(var(--solar)*1%); border-radius:9px 9px 3px 3px; background:linear-gradient(#f6c44b,#d77c18); box-shadow:0 6px 12px rgba(213,126,23,.16); }
.solar-column strong { color:var(--svc-primary); font-size:.74rem; }
.solar-column small { color:var(--svc-muted); font-size:.68rem; }

.smart-explainer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.smart-explainer article { padding:17px; border:1px solid var(--svc-border); border-radius:15px; background:#fff; }
.smart-explainer h3 { margin:0; color:var(--svc-primary); font-size:1rem; }
.smart-explainer p { margin:8px 0 0; color:var(--svc-muted); line-height:1.55; }

@media (max-width:1180px) {
  .smart-tools-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .health-daily-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .solar-days { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .solar-config { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:930px) {
  .smart-landing-hero,.confidence-overview { grid-template-columns:1fr; }
  .smart-landing-visual { display:none; }
  .smart-product-grid { grid-template-columns:1fr; }
  .smart-product-card:nth-child(5) { grid-column:auto; }
  .smart-summary-grid,.climate-months { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-health-summary] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .window-grid,.climate-ranking,.smart-explainer { grid-template-columns:1fr; }
  .health-daily-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solar-days { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:660px) {
  .smart-page .svc-hero { min-height:365px; }
  .smart-page .svc-hero-copy { width:100%; }
  .smart-tools-nav { display:flex; overflow-x:auto; padding-bottom:5px; scroll-snap-type:x proximity; }
  .smart-tools-nav a { min-width:175px; scroll-snap-align:start; }
  .smart-product-card { grid-template-columns:auto minmax(0,1fr); min-height:0; padding:19px 16px; }
  .smart-product-icon { width:56px; height:56px; border-radius:17px; font-size:1.55rem; }
  .smart-product-arrow { display:none; }
  .smart-place-form,.best-controls,.solar-config { grid-template-columns:1fr; }
  .smart-place-form .svc-submit,.smart-place-form .svc-secondary-button { width:100%; }
  .smart-summary-grid,.confidence-days,.health-daily-grid,.climate-months,.solar-days { grid-template-columns:1fr; }
  .smart-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-health-summary] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .best-window-hero,.solar-total { grid-template-columns:1fr; text-align:center; }
  .best-window-medal,.solar-orb { margin:auto; }
  .best-window-score { display:flex; align-items:baseline; justify-content:center; gap:7px; }
  .window-facts { grid-template-columns:1fr; }
  .health-daily-grid,.solar-days { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(205px,82vw); overflow-x:auto; }
}
@media (prefers-reduced-motion:reduce) { .smart-product-card:hover { transform:none; } }

/* Lighter service navigation and cards — 2026-08-25 */
.smart-tools-nav {
  gap:5px;
  padding:4px;
  border:1px solid var(--svc-border);
  border-radius:13px;
  background:rgba(238,244,251,.72);
}
.smart-tools-nav a {
  min-height:42px;
  padding:7px 10px;
  border-color:transparent;
  border-radius:9px;
  background:transparent;
  font-weight:700;
  box-shadow:none;
}
.smart-tools-nav a:hover,.smart-tools-nav a.is-current {
  border-color:var(--svc-border);
  background:#fff;
  color:var(--svc-primary);
  box-shadow:0 2px 7px rgba(20,65,80,.09);
}
.smart-product-grid { gap:12px; }
.smart-product-card {
  min-height:164px;
  gap:13px;
  padding:clamp(17px,2.5vw,24px);
  border-radius:16px;
  box-shadow:0 7px 18px rgba(22,54,78,.1);
}
.smart-product-card:hover { transform:translateY(-1px); }
.smart-product-icon { width:58px; height:58px; border-radius:14px; font-size:1.65rem; box-shadow:none; }
.smart-product-copy small { font-weight:700; letter-spacing:.025em; text-transform:none; }
.smart-product-copy strong { margin-top:5px; font-size:clamp(1.15rem,1.8vw,1.48rem); }
.smart-product-copy span { margin-top:6px; line-height:1.48; }
.smart-product-arrow { width:38px; height:38px; border-radius:9px; font-weight:750; }
.smart-result-button { border-radius:9px; font-weight:700; }

@media (max-width:760px) {
  .smart-tools-nav { display:flex; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; }
  .smart-tools-nav a { min-width:max-content; min-height:44px; scroll-snap-align:start; }
  .smart-product-card { min-height:0; }
}
