.meteo-skip{position:fixed;left:1rem;top:.5rem;z-index:10000;transform:translateY(-160%);background:var(--mc-text);color:var(--mc-bg);padding:.65rem .85rem;border-radius:.55rem;box-shadow:var(--mc-shadow-1)}
.meteo-skip:focus{transform:none}

.meteo-header{position:sticky;top:0;z-index:500;background:color-mix(in srgb,var(--mc-bg) 88%,transparent);border-bottom:1px solid var(--mc-line);backdrop-filter:blur(18px) saturate(135%);box-shadow:0 8px 28px rgba(0,0,0,.08)}
html[data-theme="light"] .meteo-header{background:color-mix(in srgb,var(--mc-surface) 88%,transparent)}
.meteo-header-inner{width:var(--mc-shell);height:var(--mc-header-h);margin:auto;display:flex;align-items:center;gap:1.15rem}
.meteo-brand{display:flex;align-items:center;gap:.78rem;color:var(--mc-text);text-decoration:none;min-width:max-content}
.meteo-brand strong{display:block;font-size:1rem;letter-spacing:.01em}.meteo-brand small{display:block;color:var(--mc-subtle);font-size:.72rem;margin-top:.05rem}
.meteo-brand-mark{width:2.2rem;height:2.2rem;display:grid;place-content:center;gap:3px;position:relative;border:1px solid var(--mc-line);border-radius:.7rem;background:linear-gradient(145deg,color-mix(in srgb,var(--mc-accent) 9%,var(--mc-surface)),var(--mc-surface));box-shadow:var(--mc-inner-highlight)}
.meteo-brand-mark::after{content:"";position:absolute;inset:.38rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--mc-solar) 42%,transparent),transparent 70%);opacity:.52}
.meteo-brand-mark i{display:block;height:3px;border-radius:99px;background:var(--mc-accent);position:relative;z-index:1}.meteo-brand-mark i:nth-child(1){width:1.3rem}.meteo-brand-mark i:nth-child(2){width:1.8rem;background:linear-gradient(90deg,var(--mc-accent),var(--mc-accent-2))}.meteo-brand-mark i:nth-child(3){width:1rem}

.meteo-nav{margin-left:auto;display:flex;align-items:center;gap:.12rem}
.meteo-nav>a,.meteo-nav summary{display:flex;align-items:center;min-height:2.6rem;padding:.45rem .72rem;border-radius:.6rem;color:var(--mc-muted);font-size:.87rem;font-weight:680;text-decoration:none;cursor:pointer;list-style:none;transition:color var(--mc-fast) ease,background-color var(--mc-fast) ease,box-shadow var(--mc-fast) ease}
.meteo-nav summary::-webkit-details-marker{display:none}
.meteo-nav>a:hover,.meteo-nav summary:hover,.meteo-nav-group[open] summary{color:var(--mc-text);background:color-mix(in srgb,var(--mc-surface-2) 82%,transparent)}
.meteo-nav a[aria-current="page"],.meteo-nav-group-current>summary{color:var(--mc-text);background:linear-gradient(180deg,color-mix(in srgb,var(--mc-accent) 8%,var(--mc-surface-2)),var(--mc-surface-2));box-shadow:inset 0 -2px 0 var(--mc-accent),var(--mc-inner-highlight)}
.meteo-nav-group{position:relative}
.meteo-nav-panel{position:absolute;top:calc(100% + .55rem);left:0;min-width:15rem;padding:.48rem;border:1px solid var(--mc-line-strong);background:linear-gradient(155deg,var(--mc-surface-raised),var(--mc-surface));border-radius:var(--mc-radius-sm);box-shadow:var(--mc-shadow-2);display:grid;gap:.16rem;transform-origin:top left}
.meteo-nav-panel::before{content:"";position:absolute;left:.85rem;right:.85rem;top:0;height:1px;background:linear-gradient(90deg,var(--mc-accent),var(--mc-violet),transparent);opacity:.75}
.meteo-nav-panel a{padding:.66rem .72rem;border-radius:.48rem;color:var(--mc-muted);text-decoration:none;font-size:.88rem}
.meteo-nav-panel a:hover,.meteo-nav-panel a:focus-visible{background:var(--mc-surface-2);color:var(--mc-text)}
.meteo-nav-panel a[aria-current="page"]{background:var(--mc-surface-3);color:var(--mc-text);box-shadow:inset 3px 0 0 var(--mc-accent)}

.meteo-header-tools{display:flex;gap:.45rem}
.meteo-icon-button,.meteo-menu-button{border:1px solid var(--mc-line-strong);background:linear-gradient(145deg,var(--mc-surface-raised),var(--mc-surface));color:var(--mc-text);min-height:2.55rem;border-radius:.65rem;padding:.45rem .72rem;cursor:pointer;box-shadow:var(--mc-inner-highlight);transition:transform var(--mc-fast) var(--mc-ease),border-color var(--mc-fast) ease,background-color var(--mc-fast) ease}
.meteo-icon-button:hover,.meteo-menu-button:hover{background:var(--mc-surface-2);border-color:var(--mc-accent);transform:translateY(-1px)}
.meteo-icon-button:active,.meteo-menu-button:active{background:var(--mc-surface-3);transform:translateY(0)}
.meteo-icon-button:disabled,.meteo-menu-button:disabled{background:var(--mc-disabled-bg);color:var(--mc-disabled-text);border-color:var(--mc-line);transform:none}
.meteo-menu-button{display:none}
.meteo-mobile-nav{width:var(--mc-shell);margin:auto;padding:.8rem 0 1.2rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:1px solid var(--mc-line)}
.meteo-mobile-nav>a,.meteo-mobile-nav section a{display:block;padding:.48rem .35rem;color:var(--mc-muted);text-decoration:none;border-radius:.4rem}
.meteo-mobile-nav>a:hover,.meteo-mobile-nav section a:hover{color:var(--mc-text);background:var(--mc-surface)}
.meteo-mobile-nav a[aria-current="page"]{color:var(--mc-text);font-weight:750;text-decoration:underline;text-decoration-color:var(--mc-accent);text-decoration-thickness:.15em}
.meteo-mobile-nav h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--mc-subtle);margin:.4rem 0}

.meteo-section-heading{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;padding:clamp(1rem,1.5vw,1.4rem) clamp(1rem,2vw,1.6rem);border-left:3px solid var(--mc-section-line);background:linear-gradient(90deg,color-mix(in srgb,var(--mc-section-a) 48%,transparent),transparent 58%);border-radius:0 var(--mc-radius-md) var(--mc-radius-md) 0;overflow:hidden}
.meteo-section-heading::after{content:"";position:absolute;width:13rem;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--mc-section-line) 28%,transparent);border-radius:50%;right:-7rem;top:-7rem;box-shadow:0 0 0 2.5rem color-mix(in srgb,var(--mc-section-b) 20%,transparent)}
.meteo-section-heading h1{margin:0;max-width:18ch;position:relative;z-index:1}.meteo-section-heading p{position:relative;z-index:1}
.meteo-eyebrow,.meteo-kicker{text-transform:uppercase;letter-spacing:.115em;font-size:.72rem;font-weight:800;color:var(--mc-accent);margin:0}
.meteo-lead{font-size:clamp(1rem,.93rem + .2vw,1.15rem);max-width:63rem;margin:0;color:var(--mc-muted)}

.meteo-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.62rem 1rem;border:1px solid transparent;border-radius:.68rem;background:linear-gradient(135deg,var(--mc-accent),color-mix(in srgb,var(--mc-accent) 72%,var(--mc-accent-2)));color:var(--mc-on-accent);font-weight:780;text-decoration:none;cursor:pointer;box-shadow:0 7px 20px color-mix(in srgb,var(--mc-accent) 18%,transparent),var(--mc-inner-highlight);transition:transform var(--mc-fast) var(--mc-ease),box-shadow var(--mc-fast) ease,background-color var(--mc-fast) ease,border-color var(--mc-fast) ease}
.meteo-button:hover{background:linear-gradient(135deg,var(--mc-accent-hover),color-mix(in srgb,var(--mc-accent-hover) 70%,var(--mc-accent-2)));color:var(--mc-on-accent);transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--mc-accent) 22%,transparent),var(--mc-inner-highlight)}
.meteo-button:active{background:var(--mc-accent-active);color:var(--mc-on-accent);transform:translateY(1px);box-shadow:var(--mc-inner-highlight)}
.meteo-button:disabled,.meteo-button[aria-disabled="true"]{background:var(--mc-disabled-bg);color:var(--mc-disabled-text);border-color:var(--mc-line-strong);transform:none;box-shadow:none}
.meteo-button-secondary{background:linear-gradient(145deg,var(--mc-surface-raised),var(--mc-surface-2));color:var(--mc-text);border-color:var(--mc-line-strong);box-shadow:var(--mc-inner-highlight)}
.meteo-button-secondary:hover{background:var(--mc-surface-3);color:var(--mc-text);border-color:var(--mc-accent);box-shadow:0 8px 20px rgba(0,0,0,.1),var(--mc-inner-highlight)}
.meteo-button-secondary:active{background:var(--mc-bg-2);color:var(--mc-text)}
.meteo-button-secondary:disabled,.meteo-button-secondary[aria-disabled="true"]{background:var(--mc-disabled-bg);color:var(--mc-disabled-text);border-color:var(--mc-line);box-shadow:none}

.meteo-location{display:grid;grid-template-columns:minmax(12rem,.7fr) minmax(0,1.8fr);gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--mc-line);background:linear-gradient(135deg,color-mix(in srgb,var(--mc-section-a) 24%,var(--mc-surface)),var(--mc-surface));border-radius:var(--mc-radius-md);box-shadow:var(--mc-inner-highlight)}
.meteo-location>div:first-child{display:grid;gap:.15rem}.meteo-location strong{font-size:1.2rem}.meteo-location-detail,.meteo-location span{color:var(--mc-subtle)}
.meteo-location-actions{display:flex;justify-content:flex-end;gap:.6rem;align-items:center}
.meteo-search{display:grid;grid-template-columns:minmax(12rem,1fr) auto;gap:.45rem;position:relative;flex:1;max-width:42rem}
.meteo-search input,.meteo-contact-form input,.meteo-contact-form textarea,.meteo-model-workstation select{width:100%;border:1px solid var(--mc-line-strong);background:var(--mc-surface);color:var(--mc-text);border-radius:.68rem;padding:.7rem .8rem;min-height:2.75rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color var(--mc-fast) ease,box-shadow var(--mc-fast) ease,background-color var(--mc-fast) ease}
html[data-theme="light"] .meteo-search input,html[data-theme="light"] .meteo-contact-form input,html[data-theme="light"] .meteo-contact-form textarea,html[data-theme="light"] .meteo-model-workstation select{box-shadow:inset 0 1px 2px rgba(13,60,72,.04)}
.meteo-search input:hover,.meteo-contact-form input:hover,.meteo-contact-form textarea:hover,.meteo-model-workstation select:hover{border-color:color-mix(in srgb,var(--mc-accent) 58%,var(--mc-line-strong))}
.meteo-search input:focus-visible,.meteo-contact-form input:focus-visible,.meteo-contact-form textarea:focus-visible,.meteo-model-workstation select:focus-visible{border-color:var(--mc-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--mc-focus) 14%,transparent)}
.meteo-contact-form input:disabled,.meteo-contact-form textarea:disabled,.meteo-model-workstation select:disabled{background:var(--mc-disabled-bg);color:var(--mc-disabled-text)}
.meteo-search-results{position:absolute;left:0;right:5rem;top:calc(100% + .45rem);z-index:100;padding:.38rem;background:var(--mc-surface-raised);border:1px solid var(--mc-line-strong);border-radius:.72rem;box-shadow:var(--mc-shadow-2);max-height:20rem;overflow:auto}
.meteo-search-results button{display:grid;width:100%;text-align:left;border:0;background:transparent;color:var(--mc-text);padding:.68rem;border-radius:.48rem;cursor:pointer}
.meteo-search-results button:hover,.meteo-search-results button:focus-visible{background:var(--mc-surface-2)}.meteo-search-results button:active{background:var(--mc-surface-3)}.meteo-search-results small{color:var(--mc-subtle)}

.meteo-instrument{position:relative;border-top:1px solid var(--mc-line);padding-top:var(--mc-step-3);min-width:0}
.meteo-instrument::before{content:"";position:absolute;top:-1px;left:0;width:clamp(2.5rem,8vw,7rem);height:1px;background:linear-gradient(90deg,var(--mc-section-line),transparent)}
.meteo-instrument-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.meteo-instrument-head h2{margin:.15rem 0 .3rem}.meteo-instrument-head p{margin-bottom:0;max-width:55rem}.meteo-actions{display:flex;gap:.45rem;flex-wrap:wrap}
.meteo-sourcebar{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--mc-line);background:color-mix(in srgb,var(--mc-surface) 72%,transparent);border-radius:.68rem;color:var(--mc-subtle);font-size:.78rem}.meteo-source-link{font-size:.78rem;white-space:nowrap}
.meteo-loading{min-height:8rem;display:flex;align-items:center;justify-content:center;gap:.65rem;color:var(--mc-subtle)}
.meteo-spinner{width:1rem;height:1rem;border:2px solid var(--mc-line-strong);border-top-color:var(--mc-accent);border-radius:50%;animation:meteo-spin .8s linear infinite}@keyframes meteo-spin{to{transform:rotate(360deg)}}
.meteo-note{padding:1.2rem 1.35rem;background:linear-gradient(135deg,color-mix(in srgb,var(--mc-section-a) 16%,var(--mc-surface)),var(--mc-surface));border-left:3px solid var(--mc-accent);border-radius:0 var(--mc-radius-sm) var(--mc-radius-sm) 0;box-shadow:var(--mc-inner-highlight)}.meteo-note h2{font-size:1.05rem;margin-bottom:.35rem}.meteo-note p{margin:0}.meteo-warning-note{border-left-color:var(--mc-warning)}

.meteo-external{overflow:hidden}.meteo-embed-shell{min-height:min(var(--embed-height),72svh);border-radius:var(--mc-radius-md);border:1px solid var(--mc-line-strong);background:linear-gradient(145deg,var(--mc-surface-2),var(--mc-surface));overflow:hidden;box-shadow:var(--mc-shadow-1)}.meteo-embed-shell iframe{width:100%;height:min(var(--embed-height),72svh);border:0;display:block}.meteo-embed-gate{min-height:min(var(--embed-height),48svh);display:grid;place-content:center;text-align:center;padding:2rem;background:radial-gradient(circle at 50% 20%,var(--mc-section-a),transparent 22rem)}.meteo-embed-gate p{max-width:34rem}

.meteo-footer{border-top:1px solid rgba(158,207,218,.14);background:linear-gradient(180deg,#07121c,#050c13);color:#eef8fa;position:relative;overflow:hidden}.meteo-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(81,213,217,.08),transparent 24rem),radial-gradient(circle at 85% 25%,rgba(128,105,255,.06),transparent 28rem);pointer-events:none}.meteo-footer-grid{width:var(--mc-shell);margin:auto;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(2.5rem,5vw,5rem) 0;position:relative}.meteo-footer h2{font-size:.95rem}.meteo-footer p{color:#a9c2cc}.meteo-footer a{display:block;color:#c1d8df;text-decoration:none;padding:.2rem 0}.meteo-footer a:hover{color:#fff}.meteo-footer-bottom{width:var(--mc-shell);margin:auto;padding:1rem 0 1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:1rem;color:#8da7b1;font-size:.75rem;position:relative}

.meteo-faq{display:grid;gap:.6rem}.meteo-faq details{border-bottom:1px solid var(--mc-line);padding:.7rem 0}.meteo-faq summary{font-weight:750;cursor:pointer;padding:.58rem 2rem .58rem 0;position:relative}.meteo-faq summary::after{content:"+";position:absolute;right:.25rem;top:.45rem;color:var(--mc-accent);font-size:1.25rem;transition:transform var(--mc-fast) var(--mc-ease)}.meteo-faq details[open] summary::after{transform:rotate(45deg)}.meteo-faq details div{padding:.25rem 0 .7rem;max-width:46rem}

.meteo-principles,.meteo-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.meteo-principles article,.meteo-reference-grid article{position:relative;padding:1.15rem 1.05rem;border:1px solid var(--mc-line);border-radius:var(--mc-radius-sm);background:linear-gradient(145deg,color-mix(in srgb,var(--mc-section-a) 11%,var(--mc-surface)),var(--mc-surface));box-shadow:var(--mc-inner-highlight)}.meteo-principles article::before,.meteo-reference-grid article::before{content:"";position:absolute;inset:0 auto auto 0;width:3rem;height:2px;background:linear-gradient(90deg,var(--mc-section-line),transparent)}.meteo-reference-grid article span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mc-accent)}.meteo-reference-grid article h2{margin:.35rem 0 .45rem}
.meteo-source-list{padding-left:1.2rem}.meteo-source-list li{margin:.55rem 0;color:var(--mc-muted)}

.meteo-contact-form{display:grid;gap:1rem;max-width:52rem}.meteo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.meteo-contact-form label{display:grid;gap:.35rem;font-weight:650}.meteo-contact-form input[type="checkbox"]{accent-color:var(--mc-accent);width:1.1rem;height:1.1rem}.meteo-contact-form textarea{resize:vertical}.meteo-consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400}.meteo-consent input{width:auto;min-height:auto;margin-top:.25rem}.meteo-honeypot{position:absolute;left:-9999px}.meteo-form-message{padding:.9rem 1rem;border-radius:.65rem;margin-bottom:1rem}.meteo-form-message.success{background:color-mix(in srgb,var(--mc-good) 15%,var(--mc-surface));border:1px solid color-mix(in srgb,var(--mc-good) 55%,var(--mc-line));color:var(--mc-text)}.meteo-form-message.error{background:color-mix(in srgb,var(--mc-danger) 14%,var(--mc-surface));border:1px solid color-mix(in srgb,var(--mc-danger) 55%,var(--mc-line));color:var(--mc-text)}
.meteo-footer h2{color:#eef8fa}
