.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:54px;background:var(--ink);color:var(--surface);padding:14px 22px;font-size:15px;text-decoration:none;border:1px solid var(--ink)}.button span{font-size:22px;line-height:1}.button:hover{background:var(--surface);color:var(--ink)}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:4px}.nav-contact span{margin-left:10px}.menu-toggle{display:none;background:var(--surface);border:0;padding:10px 0;min-height:44px;font-size:15px}.menu-toggle span{margin-left:12px;font-size:22px}.skip-link{position:fixed;left:20px;top:-100px;z-index:20;background:var(--ink);color:var(--surface);padding:12px 20px}.skip-link:focus{top:20px}.bulb-halo{opacity:.2}.filament{stroke-dasharray:600;stroke-dashoffset:600;animation:draw-filament 1.8s ease-out .2s forwards}@keyframes draw-filament{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.filament{stroke-dashoffset:0}}.contact-email{display:block;font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;margin-block:30px 15px;text-decoration:none;overflow-wrap:anywhere}.phone{display:block;width:fit-content;text-decoration:none;font-size:23px}.contact-details .contact-note{font-size:13px;margin-top:20px}.legal-details{margin-block:36px 28px;font-size:12px;color:var(--muted)}.legal-details summary{cursor:pointer;min-height:44px;width:fit-content;padding-block:12px}.legal-details dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-block:22px}.legal-details dt{margin-bottom:4px}.legal-details dd{margin:0;overflow-wrap:anywhere;color:var(--ink);font-family:Increeks Mono,monospace;font-size:11px}.legal-details p{font-size:11px}.prose a{text-decoration-thickness:1px}[hidden]{display:none!important}@media(max-width:700px){.menu-toggle{display:block}.legal-details dl{grid-template-columns:1fr 1fr}.button{min-height:52px}.theme-control select{font-size:12px;max-width:78px;padding:8px 5px}}

.weather-presentation {
    width: 100%;
    max-width: 450px;
    align-self: center;
    justify-self: end;
    padding-bottom: 28px;
}
.weather-art { position: relative; }
.weather-art .bulb-art { margin-top: -36px; }
.weather-art .weather-scenes {
    position: absolute;
    inset: 0;
    width: 100%;
    pointer-events: none;
}
.scene-mark { display: none; }
[data-scene="clear_day"] .scene-clear_day,
[data-scene="clear_night"] .scene-clear_night,
[data-scene="cloudy"] .scene-cloudy,
[data-scene="rain"] .scene-rain,
[data-scene="storm"] .scene-storm,
[data-scene="snow"] .scene-snow,
[data-scene="fog"] .scene-fog,
[data-scene="hot"] .scene-hot { display: block; }
.scene-drift { animation: scene-drift 4s ease-in-out infinite; }
.scene-heat { animation: scene-heat 5s ease-in-out infinite; }
[data-scene-paused="true"] .scene-mark,
[data-scene-paused="true"] .filament { animation-play-state: paused; }
[data-weather-enabled="false"] .filament { animation: none; stroke-dashoffset: 0; }
@keyframes scene-drift { 50% { transform: translateY(8px); } }
@keyframes scene-heat { 50% { transform: translateY(-5px); } }
.weather-controls {
    margin-top: 22px;
    border-top: 1px solid var(--rule);
    padding-top: 12px;
    font-size: 12px;
    color: var(--muted);
}
.weather-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.weather-actions label { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.weather-actions input { accent-color: var(--ink); width: 16px; height: 16px; }
.weather-actions button {
    background: var(--surface);
    border: 1px solid var(--rule);
    padding: 10px 12px;
    min-height: 44px;
    cursor: pointer;
    font-size: 12px;
}
.weather-actions button:disabled { opacity: .5; cursor: default; }
.weather-status { margin-block: 8px; overflow-wrap: anywhere; }
.weather-attribution { display: inline-block; margin-bottom: 8px; }
.weather-note { font-size: 10px; line-height: 1.6; }
@media (max-width: 1000px) { .weather-presentation { max-width: 340px; } }
@media (max-width: 700px) {
    .weather-presentation { max-width: 340px; justify-self: center; padding-bottom: 30px; }
    .weather-art { max-width: 250px; margin-inline: auto; }
    .weather-art .bulb-art { margin-top: 22px; margin-bottom: 0; }
}

.enquiry-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); padding-block:70px 110px; border-top:1px solid var(--rule); }
.enquiry-intro h2 { font-size:clamp(40px,4.3vw,64px); }
.enquiry-intro > p:last-child { margin-top:28px; color:var(--muted); max-width:32ch; }
.enquiry-form { display:grid; gap:24px; }
.form-field { display:grid; gap:8px; min-width:0; }
.form-field > label { font-size:15px; }
.form-field input:not([type=checkbox]), .form-field select, .form-field textarea { width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid var(--rule); border-radius:0; background:var(--surface); color:var(--ink); }
.form-field textarea { resize:vertical; }
.form-field input:focus-visible, .form-field textarea:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.form-field [aria-invalid=true] { border:2px solid var(--ink); }
.field-hint, .field-error { font-size:13px; }
.field-hint { color:var(--muted); }
.field-error { font-weight:600; }
.privacy-check { display:flex; align-items:flex-start; gap:12px; font-size:14px; }
.privacy-check input { flex:none; width:18px; height:18px; margin:4px 0; accent-color:var(--ink); }
.enquiry-form .button { justify-self:start; cursor:pointer; }
.form-notice { border:1px solid var(--ink); padding:24px; margin-bottom:28px; overflow-wrap:anywhere; }
.form-notice h3 { font-size:24px; }
.form-notice p { margin-top:12px; font-size:15px; }
.form-notice ul { padding-left:20px; margin-bottom:0; font-size:15px; }
@media(max-width:700px) { .enquiry-section { grid-template-columns:1fr; padding-block:45px 70px; } }
