/* home-nest v11: intact panoramic image, softly blurred continuation, live forecast */
.home-stage.has-cover::before{
  height:790px;
  background-image:linear-gradient(180deg,rgba(10,27,30,.45) 0%,rgba(14,43,45,.44) 55%,rgba(248,247,244,.12) 100%),var(--cover-image);
  background-size:cover,cover;
  background-position:center,center center;
  background-repeat:no-repeat;
  filter:blur(26px);
  transform:scale(1.06);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 43%,#000a 68%,transparent 97%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 43%,#000a 68%,transparent 97%);
}
/* Sharpen only at the photograph's native aspect ratio: no tall, zoomed crop. */
.home-stage.has-cover::after{
  content:'';position:absolute;z-index:-1;left:0;top:0;width:100%;
  height:calc(100vw * .44);max-height:650px;
  background-image:linear-gradient(180deg,rgba(8,29,32,.53),rgba(9,37,40,.23) 58%,rgba(15,40,43,.07)),var(--cover-image);
  background-size:100% 100%,100% auto;
  background-position:top center;
  background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 53%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 53%,transparent 100%);
  pointer-events:none;
}
.home-stage:not(.has-cover)::before{height:790px}
.home-stage .personal-hero{padding-top:112px;padding-bottom:25px;min-height:auto;display:block}
.home-stage .personal-hero .hero-content{width:100%;max-width:900px}
.home-stage .personal-hero h1{margin:18px 0 0;line-height:1.12;font-size:clamp(28px,4.3vw,49px);letter-spacing:-.05em}
.home-stage .weather-panel{color:#fff;max-width:825px}
.weather-panel{position:relative;display:grid;gap:10px}
.weather-now{display:flex;align-items:center;gap:14px;min-height:82px}
.weather-art{display:block;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 9px #001d232b)}
.weather-now-art{width:80px;height:80px}
.weather-now-temp{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(44px,5vw,64px);line-height:1;letter-spacing:-.08em;text-shadow:0 2px 16px #00191d38}
.weather-now-temp span{font-size:.65em;vertical-align:top;letter-spacing:0}
.weather-now-meta{border-left:1px solid #ffffff75;min-width:0;padding-left:18px;display:grid;gap:7px;text-shadow:0 2px 12px #00192276}
.weather-city{display:flex;align-items:center;gap:6px;font-weight:800;font-size:15px}
.weather-city svg{width:17px;height:17px;flex-shrink:0}
.weather-description{font-size:12px;opacity:.92}
.weather-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.weather-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border:1px solid #ffffff4d;background:rgba(14,37,41,.34);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:8px 4px 10px;box-shadow:inset 0 1px #ffffff17}
.weather-day-name{font-size:12px;font-weight:850;line-height:1}
.weather-day-art{width:52px;height:46px}
.weather-day-temps{font-size:12px;white-space:nowrap;font-weight:850}
.weather-day-temps small{font-size:11px;opacity:.72;font-weight:650;margin-left:2px}
.weather-credit{justify-self:end;font-size:9px;text-decoration:none;color:inherit;opacity:.74}
.weather-credit:hover{text-decoration:underline;opacity:1}
.weather-stale{font-size:10px;margin:2px 0 0;opacity:.76}
.weather-pending{display:flex;align-items:center;gap:13px;min-height:190px;font-size:13px;font-weight:750;text-shadow:0 1px 8px #001a1a55}
.weather-pending-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#ffffff22}
.weather-pending-icon svg{width:32px;height:32px}
.home-stage:not(.has-cover) .weather-panel{color:#2a493d}
.home-stage:not(.has-cover) .weather-day{background:rgba(255,255,255,.69);border-color:#c5d7ce;color:#325449}
.home-stage:not(.has-cover) .weather-now-meta{border-color:#7b9b8a}
.home-stage:not(.has-cover) .weather-pending{text-shadow:none}
.home-stage.has-cover .personal-hero h1,.home-stage.has-cover .personal-hero h1 .accent{color:#fff!important;text-shadow:0 2px 15px #071b1d63}
@media(max-width:700px){
 .home-stage.has-cover::before{height:700px;background-position:center,center top;filter:blur(20px);}
 .home-stage.has-cover::after{height:44vw;max-height:none}
 .home-stage .personal-hero{padding:101px 19px 27px;min-height:0}
 .home-stage .personal-hero h1{font-size:clamp(29px,7.8vw,37px);margin:18px 0 0}
 .weather-now{min-height:74px;gap:8px}
 .weather-now-art{width:68px;height:68px}
 .weather-now-temp{font-size:44px}
 .weather-now-meta{padding-left:10px;gap:5px}
 .weather-city{font-size:12px;gap:4px}
 .weather-city svg{width:14px;height:14px}
 .weather-description{font-size:10px}
 .weather-day{padding:8px 2px;border-radius:13px}
 .weather-day-art{width:49px;height:46px}
 .weather-day-name{font-size:11px}
 .weather-day-temps{font-size:11px}
 .weather-day-temps small{font-size:10px}
 .home-stage .stats-grid{margin-top:0}
}
@media(max-width:360px){
 .home-stage .personal-hero{padding:98px 12px 23px}
 .weather-now-art{width:59px;height:59px}
 .weather-now-temp{font-size:40px}
 .weather-now{gap:5px}
 .weather-day-art{width:43px;height:40px}
 .weather-days{gap:5px}
}
@media(min-width:701px){
 .home-stage.has-cover::after{height:calc((100vw - 245px) * .44)}
 .weather-days{max-width:720px;gap:15px}
 .weather-day{flex-direction:row;gap:9px;padding:10px 15px}
 .weather-day-art{width:54px;height:54px}
 .weather-now{margin-bottom:8px}
 .home-stage .personal-hero{padding-bottom:33px}
}
