:root{
  --ml-bg:#111311;
  --ml-surface:#1A1F1A;
  --ml-surface-2:#222822;
  --ml-text:#F1F0E8;
  --ml-muted:#A9ADA4;
  --ml-moss:#A8D46F;
  --ml-water:#63A9B5;
  --ml-amber:#E5A44A;
  --ml-steel:#6E7770;
  --ml-danger:#D56858;
  --ml-border:rgba(241,240,232,.14);
  --ml-border-strong:rgba(241,240,232,.28);
  --ml-day-bg:#ECEADF;
  --ml-day-surface:#F7F5EC;
  --ml-day-text:#171A17;
  --ml-day-muted:#5F665F;
  --ml-radius-sm:10px;
  --ml-radius-md:18px;
  --ml-radius-lg:28px;
  --ml-max:1180px;
}
*{box-sizing:border-box}
html{background:var(--ml-bg);scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--ml-bg);color:var(--ml-text);font:17px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit}
.ml-main{min-height:70vh}
.ml-wrap{width:min(calc(100% - 34px),var(--ml-max));margin-inline:auto}
.ml-eyebrow{margin:0 0 14px;color:var(--ml-moss);font-size:.72rem;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;font-weight:850}
.ml-lead{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.55;max-width:760px;color:var(--ml-muted)}
.ml-hero{min-height:calc(92vh - 70px);padding:8vh 0 6vh;display:grid;align-items:center;gap:50px}
.ml-hero-home{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}
.ml-hero h1,.ml-page-hero h1{margin:0;max-width:940px;font-size:clamp(3.25rem,8vw,7.5rem);line-height:.91;letter-spacing:-.07em;font-weight:780}
.ml-hero h1 em{font-style:normal;color:var(--ml-amber)}
.ml-hero .ml-lead{max-width:690px;margin:26px 0 0}
.ml-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.ml-button{appearance:none;text-decoration:none;border:1px solid var(--ml-border);background:transparent;color:inherit;border-radius:999px;min-height:50px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-weight:800;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.ml-button:hover{transform:translateY(-1px);border-color:var(--ml-border-strong)}
.ml-button:focus-visible,.ml-text-link:focus-visible,a:focus-visible{outline:2px solid var(--ml-moss);outline-offset:3px}
.ml-button.amber{background:var(--ml-amber);color:#17140e;border-color:transparent}
.ml-button.moss{background:var(--ml-moss);color:#10150e;border-color:transparent}
.ml-button.water{background:var(--ml-water);color:#0b1517;border-color:transparent}
.ml-button.ghost{background:rgba(255,255,255,.025)}
.ml-button.danger-outline{border-color:rgba(213,104,88,.58);color:#F2B4AA;background:rgba(213,104,88,.035)}
.ml-button[disabled]{opacity:.48;cursor:not-allowed;transform:none}
.ml-text-link{display:inline-flex;margin-top:18px;color:var(--ml-moss);font-weight:800;text-underline-offset:4px}
.ml-landscape{position:relative;min-height:560px;border:1px solid var(--ml-border);border-radius:36px;overflow:hidden;background:linear-gradient(180deg,#17211d 0%,#101512 50%,#0e1110 100%);box-shadow:0 35px 90px rgba(0,0,0,.28)}
.ml-landscape::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 12%,rgba(216,221,199,.11),transparent 17%),linear-gradient(180deg,rgba(99,169,181,.055),transparent 36%),linear-gradient(165deg,transparent 0 53%,rgba(168,212,111,.045) 53.2% 54%,transparent 54.2% 100%)}
.ml-landscape::after{content:"";position:absolute;left:-14%;right:-14%;bottom:-17%;height:68%;border-radius:50% 50% 0 0;background:#0d120f;box-shadow:0 -38px 80px rgba(20,43,33,.46);z-index:1}
.ml-moon{position:absolute;left:10%;top:8%;width:58px;height:58px;border-radius:50%;background:#d8ddc7;box-shadow:0 0 60px rgba(216,221,199,.16);z-index:2}
.ml-pond{position:absolute;left:12%;right:12%;top:13%;height:28%;border-radius:47% 53% 43% 49%;background:linear-gradient(180deg,rgba(112,181,192,.34),rgba(24,53,58,.72));transform:perspective(560px) rotateX(62deg);transform-origin:top;z-index:2;border:1px solid rgba(137,214,227,.18);box-shadow:0 13px 34px rgba(0,0,0,.18)}
.ml-pond-label{position:absolute;left:50%;top:35%;transform:translateX(-50%);z-index:6;color:rgba(155,199,207,.8);font-size:.58rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.ml-north-east{position:absolute;right:18px;top:17px;z-index:8;display:grid;grid-template-columns:auto auto;grid-template-areas:"small arrow" "name arrow";column-gap:8px;align-items:center;text-align:right;color:rgba(241,240,232,.7)}
.ml-north-east span{grid-area:small;color:var(--ml-water);font-size:.55rem;font-weight:900;letter-spacing:.16em}.ml-north-east strong{grid-area:name;font-size:.7rem;letter-spacing:.04em}.ml-north-east i{grid-area:arrow;font-style:normal;color:var(--ml-amber);font-size:1.45rem;line-height:1}
.ml-container{position:absolute;width:29%;height:10%;background:#39413b;border:1px solid #667067;z-index:4;box-shadow:0 12px 20px rgba(0,0,0,.34);transform-origin:center}
.ml-container::after{content:"";position:absolute;inset:14% 8%;border:1px solid rgba(255,255,255,.11)}
.ml-container.ml-sauna{left:7%;bottom:29%;transform:rotate(-7deg)}
.ml-container.ml-kitchen{left:35%;bottom:25%;transform:rotate(2deg)}
.ml-container.ml-living{right:6%;bottom:31%;transform:rotate(8deg)}
.ml-landscape-note{position:absolute;right:18px;bottom:16px;z-index:8;padding:7px 10px;border-radius:999px;background:rgba(12,15,13,.75);border:1px solid var(--ml-border);font-size:.58rem;letter-spacing:.06em;color:var(--ml-muted);backdrop-filter:blur(8px)}
.ml-lamps{position:absolute;inset:0;z-index:5}
.ml-lamps i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#f3c56a;box-shadow:0 0 10px 3px rgba(229,164,74,.35);animation:ml-pulse 4s ease-in-out var(--d) infinite}
@keyframes ml-pulse{50%{opacity:.55;transform:scale(.82)}}
.ml-section{padding:76px 0;border-top:1px solid var(--ml-border)}
.ml-section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:22px 58px;align-items:start;margin-bottom:30px}
.ml-section-head .ml-eyebrow{grid-column:1;grid-row:1}.ml-section-head h2{grid-column:1;grid-row:2;margin:0;font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.045em}.ml-section-head>p:last-child{grid-column:2;grid-row:2;margin:0;color:var(--ml-muted);font-size:1.08rem;max-width:620px}
.ml-card-grid{display:grid;gap:14px}.ml-card-grid.four{grid-template-columns:repeat(4,1fr)}.ml-card-grid.three{grid-template-columns:repeat(3,1fr)}
.ml-card{min-height:290px;padding:24px;border:1px solid var(--ml-border);border-radius:24px;background:var(--ml-surface);display:flex;flex-direction:column;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
a.ml-card:hover{transform:translateY(-3px);border-color:rgba(168,212,111,.32);background:#1d231d}
.ml-card.water{background:linear-gradient(155deg,rgba(99,169,181,.12),var(--ml-surface) 52%)}
.ml-card.warm{background:linear-gradient(155deg,rgba(229,164,74,.10),var(--ml-surface) 52%)}
.ml-card-tag{display:inline-flex;align-self:flex-start;font-size:.68rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;font-weight:900;margin-bottom:auto}
.ml-card-tag.moss{color:var(--ml-moss)}.ml-card-tag.water{color:var(--ml-water)}.ml-card-tag.amber{color:var(--ml-amber)}.ml-card-tag.danger{color:#ee8f81}
.ml-card h3{font-size:1.5rem;line-height:1.07;letter-spacing:-.035em;margin:42px 0 10px}.ml-card p{margin:0;color:var(--ml-muted)}.ml-card b{margin-top:22px;color:var(--ml-text);font-size:.88rem}
.ml-quote{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px;align-items:start}.ml-quote>span{color:var(--ml-moss);font-weight:800}.ml-quote blockquote{margin:0;font-size:clamp(2.1rem,5vw,5rem);line-height:1;letter-spacing:-.055em;font-weight:720}
.ml-page-hero{padding:13vh 0 8vh}.ml-page-hero h1{font-size:clamp(3.4rem,7vw,6.8rem)}.ml-page-hero .ml-lead{margin-top:25px}
.ml-split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.ml-split h2{font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:-.05em;margin:0}.ml-split>div:last-child>p{margin-top:0;color:var(--ml-muted);font-size:1.1rem}
.ml-compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ml-border);border-radius:28px;overflow:hidden}.ml-compare-col{padding:34px;background:var(--ml-surface)}.ml-compare-col+.ml-compare-col{border-left:1px solid var(--ml-border)}.ml-compare-col.no{background:linear-gradient(160deg,rgba(213,104,88,.08),var(--ml-surface) 54%)}.ml-compare-col h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.045em;margin:18px 0 26px}.ml-compare-col ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}.ml-compare-col li{padding-left:24px;position:relative;color:var(--ml-muted)}.ml-compare-col.yes li::before{content:"+";position:absolute;left:0;color:var(--ml-moss);font-weight:900}.ml-compare-col.no li::before{content:"×";position:absolute;left:0;color:#ee8f81;font-weight:900}
.ml-callout{border:1px solid var(--ml-border);border-radius:28px;padding:30px;display:flex;gap:40px;justify-content:space-between;align-items:end}.ml-callout.water{background:linear-gradient(145deg,rgba(99,169,181,.1),var(--ml-surface) 60%)}.ml-callout h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.05em;margin:0 0 12px}.ml-callout p:last-child{margin:0;color:var(--ml-muted);max-width:690px}
.ml-booking-shell{display:grid;grid-template-columns:1.35fr .65fr;border-radius:30px;overflow:hidden;border:1px solid rgba(0,0,0,.10);background:var(--ml-day-surface);color:var(--ml-day-text)}.ml-booking-shell>div,.ml-booking-shell>aside{padding:34px}.ml-booking-shell>aside{border-left:1px solid rgba(0,0,0,.1);background:#e5e2d5}.ml-booking-shell h2{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1;letter-spacing:-.05em;margin:20px 0 12px}.ml-booking-shell p{color:var(--ml-day-muted)}.ml-booking-shell .ml-text-link{color:#466d25}
.ml-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0 16px}.ml-form-grid label,.ml-ticket>label{display:grid;gap:7px;font-size:.82rem;font-weight:800}.ml-form-grid input,.ml-form-grid select,.ml-ticket select,.ml-ticket textarea,.ml-ticket input[type=file]{width:100%;padding:13px 14px;border:1px solid rgba(0,0,0,.14);border-radius:12px;background:white;color:#1a1d1a}
.ml-checklist{display:grid;border:1px solid var(--ml-border);border-radius:28px;overflow:hidden}.ml-checklist>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:26px 30px;background:var(--ml-surface)}.ml-checklist>div+div{border-top:1px solid var(--ml-border)}.ml-checklist>div>span{color:var(--ml-moss);font-weight:900}.ml-checklist h3{margin:0 0 6px;font-size:1.35rem}.ml-checklist p{margin:0;color:var(--ml-muted)}
.ml-system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ml-system{min-height:350px;padding:28px;border:1px solid var(--ml-border);border-radius:28px;text-decoration:none;background:var(--ml-surface);display:flex;flex-direction:column;transition:transform .18s ease}.ml-system:hover{transform:translateY(-3px)}.ml-system>span{font-size:.68rem;letter-spacing:.14em;font-weight:900;color:var(--ml-moss)}.ml-system.water>span{color:var(--ml-water)}.ml-system.warm>span{color:var(--ml-amber)}.ml-system h2{margin:auto 0 10px;font-size:2rem;letter-spacing:-.045em}.ml-system p{color:var(--ml-muted);margin:0 0 22px}.ml-system b{font-size:.9rem}.ml-system.water{background:linear-gradient(150deg,rgba(99,169,181,.13),var(--ml-surface) 50%)}.ml-system.warm{background:linear-gradient(150deg,rgba(229,164,74,.12),var(--ml-surface) 50%)}
.ml-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-bottom:28px}.ml-flow>div{min-height:210px;border:1px solid var(--ml-border);border-radius:22px;padding:22px;background:var(--ml-surface)}.ml-flow>div>span{color:var(--ml-water);font-size:.75rem;font-weight:900}.ml-flow h3{font-size:1.5rem;margin:58px 0 6px;letter-spacing:-.035em}.ml-flow p{margin:0;color:var(--ml-muted);font-size:.94rem}.ml-flow>i{font-style:normal;color:var(--ml-steel)}
.ml-boundary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ml-border);border-radius:28px;overflow:hidden;margin-bottom:26px}.ml-boundary>div{padding:32px;background:var(--ml-surface)}.ml-boundary>div+div{border-left:1px solid var(--ml-border);background:linear-gradient(150deg,rgba(213,104,88,.07),var(--ml-surface))}.ml-boundary h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.045em;margin:22px 0 12px}.ml-boundary p{color:var(--ml-muted)}
.ml-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ml-help-card{min-height:390px;padding:30px;border:1px solid var(--ml-border);border-radius:28px;background:var(--ml-surface);display:flex;flex-direction:column}.ml-help-card.water{background:linear-gradient(145deg,rgba(99,169,181,.12),var(--ml-surface) 48%)}.ml-help-card.issue{background:linear-gradient(145deg,rgba(213,104,88,.09),var(--ml-surface) 48%)}.ml-help-card h2{font-size:clamp(2.1rem,4vw,3.5rem);line-height:1;letter-spacing:-.05em;margin:65px 0 12px}.ml-help-card p{color:var(--ml-muted);max-width:520px}.ml-help-card .ml-button{margin-top:auto;align-self:flex-start}.ml-help-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.ml-help-links a{padding:9px 12px;border:1px solid var(--ml-border);border-radius:999px;text-decoration:none;color:var(--ml-water);font-weight:800;font-size:.88rem}.ml-emergency{margin-top:14px;padding:18px 22px;border:1px solid rgba(213,104,88,.38);border-radius:18px;display:flex;gap:24px;background:rgba(213,104,88,.045)}.ml-emergency strong{color:#f0a092;white-space:nowrap}.ml-emergency span{color:var(--ml-muted)}
.ml-ticket{max-width:820px;margin:0 auto;border:1px solid var(--ml-border);border-radius:30px;padding:32px;background:var(--ml-surface);display:grid;gap:22px}.ml-ticket-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--ml-border)}.ml-ticket-head p{margin:0;color:var(--ml-muted);font-size:.86rem}.ml-ticket select,.ml-ticket textarea,.ml-ticket input[type=file]{border-color:var(--ml-border);background:#111511;color:var(--ml-text)}.ml-ticket fieldset{border:0;padding:0;margin:0;display:grid;gap:9px}.ml-ticket legend{font-size:.82rem;font-weight:800;margin-bottom:8px}.ml-radio{display:flex!important;grid-template-columns:none!important;gap:12px!important;align-items:flex-start;padding:14px;border:1px solid var(--ml-border);border-radius:14px;cursor:pointer}.ml-radio input{margin-top:4px}.ml-radio span{display:grid}.ml-radio small{color:var(--ml-muted);font-weight:500}.ml-radio.danger{border-color:rgba(213,104,88,.38)}.ml-ticket label>small{color:var(--ml-muted);font-weight:500}.ml-ticket-result{padding:16px;border:1px solid rgba(99,169,181,.4);border-radius:14px;background:rgba(99,169,181,.08);display:grid;gap:4px}.ml-ticket-result[hidden]{display:none}.ml-ticket-result span{color:var(--ml-muted)}
.ml-footer{border-top:1px solid var(--ml-border);padding:48px 0 65px;background:#0d0f0d}.ml-footer>.ml-wrap{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}.ml-footer-brand{font-size:1.15rem;font-weight:850;letter-spacing:-.04em}.ml-footer-brand span{color:var(--ml-moss)}.ml-footer p{margin:0;color:var(--ml-muted)}.ml-footer-links{display:flex;gap:16px}.ml-footer-links a{color:var(--ml-muted);font-size:.9rem}
.ml-theme-day{background:var(--ml-day-bg);color:var(--ml-day-text)}.ml-theme-day .ml-main{background:linear-gradient(180deg,#e9e6da,var(--ml-day-bg))}.ml-theme-day .ml-page-hero .ml-eyebrow{color:#557831}.ml-theme-day .ml-page-hero .ml-lead{color:var(--ml-day-muted)}.ml-theme-day .ml-section{border-color:rgba(0,0,0,.10)}.ml-theme-day .ml-footer{background:#161916;color:var(--ml-text);border-color:rgba(255,255,255,.1)}
@media(max-width:1000px){.ml-hero-home{grid-template-columns:1fr}.ml-landscape{min-height:460px}.ml-card-grid.four{grid-template-columns:repeat(2,1fr)}.ml-card-grid.three,.ml-system-grid{grid-template-columns:1fr 1fr}.ml-flow{grid-template-columns:1fr 1fr}.ml-flow>i{display:none}.ml-flow>div{min-height:190px}}
@media(max-width:760px){.ml-wrap{width:min(calc(100% - 22px),var(--ml-max))}.ml-hero{min-height:auto;padding:58px 0 52px}.ml-hero-home{gap:30px}.ml-hero h1,.ml-page-hero h1{font-size:clamp(3.2rem,15vw,5.7rem)}.ml-landscape{min-height:390px;border-radius:26px}.ml-section{padding:54px 0}.ml-section-head,.ml-quote,.ml-split{grid-template-columns:1fr;gap:18px}.ml-section-head .ml-eyebrow,.ml-section-head h2,.ml-section-head>p:last-child{grid-column:1;grid-row:auto}.ml-card-grid.three,.ml-system-grid,.ml-help-grid,.ml-compare,.ml-boundary,.ml-booking-shell{grid-template-columns:1fr}.ml-compare-col+.ml-compare-col,.ml-boundary>div+div,.ml-booking-shell>aside{border-left:0;border-top:1px solid var(--ml-border)}.ml-booking-shell>aside{border-color:rgba(0,0,0,.1)}.ml-form-grid{grid-template-columns:1fr}.ml-callout{align-items:start;flex-direction:column}.ml-flow{grid-template-columns:1fr}.ml-footer>.ml-wrap{grid-template-columns:1fr;align-items:start}.ml-emergency{flex-direction:column;gap:5px}.ml-emergency strong{white-space:normal}.ml-page-hero{padding:78px 0 42px}.ml-ticket{padding:22px}.ml-ticket-head{align-items:flex-start;flex-direction:column}.ml-checklist>div{grid-template-columns:52px 1fr;padding:22px}.ml-container{height:8%}}
@media(max-width:520px){.ml-card-grid.four{grid-template-columns:1fr}.ml-card{min-height:240px}.ml-landscape{min-height:335px}.ml-container{width:36%}.ml-container.ml-sauna{left:4%}.ml-container.ml-kitchen{left:34%}.ml-container.ml-living{right:3%}.ml-actions{display:grid}.ml-button{width:100%}.ml-help-card{min-height:340px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ml-lamps i{animation:none}.ml-button,.ml-card,.ml-system{transition:none}}


/* BEFORE OPENING v0.1 ---------------------------------------------------- */
.ml-status-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 20px;color:var(--ml-muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.ml-status-line strong{color:var(--ml-amber)}.ml-live-dot{width:8px;height:8px;border-radius:50%;background:var(--ml-amber);box-shadow:0 0 0 5px rgba(229,164,74,.08)}
.ml-countdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:28px;max-width:660px}.ml-countdown>div{padding:15px 16px;border:1px solid var(--ml-border);border-radius:16px;background:rgba(255,255,255,.025);display:grid;gap:3px}.ml-countdown strong{font-size:1.4rem;letter-spacing:-.04em}.ml-countdown span{color:var(--ml-muted);font-size:.78rem}.ml-countdown-note{color:var(--ml-muted);font-size:.9rem;margin:12px 0 0}.ml-countdown-note strong{color:var(--ml-text)}
.ml-landscape-progress .ml-container span,.ml-landscape-complete .ml-container span{position:absolute;left:8%;bottom:110%;font-size:.57rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ml-muted);font-weight:850;white-space:nowrap}.ml-container.is-planned{background:rgba(168,212,111,.025);border:1px dashed rgba(168,212,111,.7);box-shadow:none}.ml-container.is-planned::after{border-style:dashed;border-color:rgba(168,212,111,.25)}.ml-container.is-planned span{color:var(--ml-moss)}
.ml-terrace-outline{position:absolute;left:10%;right:8%;bottom:18%;height:20%;z-index:3;border:1px dashed rgba(229,164,74,.5);background:rgba(229,164,74,.025);transform:rotate(-1deg);border-radius:6px}.ml-terrace-outline span{position:absolute;right:2%;bottom:-22px;color:rgba(229,164,74,.8);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.ml-terrace-outline.is-complete{border-style:solid;background:linear-gradient(120deg,rgba(229,164,74,.13),rgba(229,164,74,.035));border-color:rgba(229,164,74,.45)}
.ml-landscape-legend{position:absolute;left:18px;bottom:16px;z-index:8;display:flex;gap:13px;padding:8px 10px;border:1px solid var(--ml-border);border-radius:999px;background:rgba(12,15,13,.75);backdrop-filter:blur(8px);font-size:.66rem;color:var(--ml-muted)}.ml-landscape-legend span{display:flex;gap:6px;align-items:center}.ml-landscape-legend i{width:12px;height:8px;border:1px solid #667067}.ml-landscape-legend i.outline{border-style:dashed;border-color:var(--ml-moss);background:transparent}.ml-landscape-legend i.solid{background:#39413b}
.ml-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ml-progress-grid.five{grid-template-columns:repeat(5,1fr)}.ml-progress-card{padding:22px;border:1px solid var(--ml-border);border-radius:22px;background:var(--ml-surface);text-decoration:none;min-height:220px;display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease}.ml-progress-card:hover{transform:translateY(-2px);border-color:var(--ml-border-strong)}.ml-progress-card-head{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.ml-progress-card-head span{font-weight:850}.ml-progress-card-head strong{color:var(--ml-moss);font-variant-numeric:tabular-nums}.ml-progress-track{height:5px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:18px 0}.ml-progress-track i{display:block;height:100%;background:var(--ml-moss);border-radius:inherit}.ml-progress-card p{color:var(--ml-muted);margin:0 0 22px;font-size:.93rem}.ml-progress-card b{margin-top:auto;font-size:.85rem}
.ml-now-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ml-border);border-radius:28px;overflow:hidden}.ml-now-grid article{padding:34px;background:linear-gradient(155deg,rgba(168,212,111,.055),var(--ml-surface) 48%)}.ml-now-grid article.future{border-left:1px solid var(--ml-border);background:linear-gradient(155deg,rgba(229,164,74,.055),var(--ml-surface) 48%)}.ml-now-grid h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:.95;letter-spacing:-.055em;margin:54px 0 25px}.ml-now-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:12px;color:var(--ml-muted)}.ml-now-grid li{position:relative;padding-left:22px}.ml-now-grid article:first-child li::before{content:"+";position:absolute;left:0;color:var(--ml-moss);font-weight:900}.ml-now-grid article.future li::before{content:"o";position:absolute;left:0;color:var(--ml-amber);font-weight:900;font-size:.72em;top:.35em}
.ml-plan-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ml-plan-number{border:1px solid var(--ml-border);border-radius:20px;padding:20px;background:var(--ml-surface);display:grid;gap:3px}.ml-plan-number strong{font-size:clamp(2rem,5vw,4.2rem);line-height:1;letter-spacing:-.055em}.ml-plan-number span{color:var(--ml-muted);font-size:.82rem}.ml-plan-number.active strong{color:var(--ml-amber)}.ml-status-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.ml-status-legend span{padding:7px 10px;border-radius:999px;border:1px solid var(--ml-border);font-size:.72rem;font-weight:850}.ml-status-legend .done{color:var(--ml-moss)}.ml-status-legend .progress{color:var(--ml-amber)}.ml-status-legend .next{color:var(--ml-water)}.ml-status-legend .waiting{color:#d8b98b}.ml-status-legend .planned{color:var(--ml-muted)}
.ml-gates{display:grid;border:1px solid var(--ml-border);border-radius:24px;overflow:hidden}.ml-gates>div{display:grid;grid-template-columns:62px 1fr;gap:15px;padding:20px 22px;background:var(--ml-surface);align-items:start}.ml-gates>div+div{border-top:1px solid var(--ml-border)}.ml-gates span{color:var(--ml-moss);font-weight:900}.ml-gates p{margin:0;color:var(--ml-muted)}
.ml-milestone-list{display:grid;border-top:1px solid var(--ml-border)}.ml-milestone{display:grid;grid-template-columns:170px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--ml-border)}.ml-milestone-state{display:flex;align-items:center;gap:9px;align-self:start;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850}.ml-milestone-state i{width:10px;height:10px;border-radius:50%;border:1px solid currentColor}.ml-milestone-state.done{color:var(--ml-moss)}.ml-milestone-state.done i{background:var(--ml-moss)}.ml-milestone-state.progress{color:var(--ml-amber)}.ml-milestone-state.progress i{background:var(--ml-amber)}.ml-milestone-state.next{color:var(--ml-water)}.ml-milestone-state.next i{box-shadow:0 0 0 4px rgba(99,169,181,.08)}.ml-milestone-state.waiting{color:#d8b98b}.ml-milestone-state.planned{color:var(--ml-muted)}.ml-milestone-id{font-size:.66rem;color:var(--ml-steel);letter-spacing:.12em;font-weight:850}.ml-milestone h3{font-size:1.5rem;letter-spacing:-.035em;margin:4px 0 7px}.ml-milestone p{margin:0;max-width:800px;color:var(--ml-muted)}.ml-milestone small{display:block;margin-top:8px;color:var(--ml-water)}
.ml-energy-architecture{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr auto 1fr;gap:10px;align-items:center}.ml-energy-architecture>div{min-height:190px;padding:22px;border:1px solid var(--ml-border);border-radius:22px;background:var(--ml-surface);display:flex;flex-direction:column}.ml-energy-architecture>div.reserve{background:linear-gradient(145deg,rgba(99,169,181,.1),var(--ml-surface))}.ml-energy-architecture>div span{font-size:.66rem;letter-spacing:.14em;color:var(--ml-moss);font-weight:900}.ml-energy-architecture>div.reserve span{color:var(--ml-water)}.ml-energy-architecture strong{margin:auto 0 5px;font-size:1.7rem;letter-spacing:-.04em}.ml-energy-architecture small{color:var(--ml-muted)}.ml-energy-architecture>i{font-style:normal;color:var(--ml-steel)}
.ml-state-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ml-energy-state{min-height:300px;border:1px solid var(--ml-border);border-radius:24px;padding:24px;background:var(--ml-surface);display:flex;flex-direction:column}.ml-energy-state>span{font-size:.68rem;letter-spacing:.12em;font-weight:900}.ml-energy-state.moss>span{color:var(--ml-moss)}.ml-energy-state.amber>span{color:var(--ml-amber)}.ml-energy-state.water>span{color:var(--ml-water)}.ml-energy-state h3{font-size:1.7rem;line-height:1.05;letter-spacing:-.04em;margin:auto 0 12px}.ml-energy-state p{color:var(--ml-muted);margin:0 0 16px}.ml-energy-state small{color:var(--ml-steel)}
.ml-operating-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ml-operating-chain>div{min-height:250px;padding:22px;border:1px solid var(--ml-border);border-radius:22px;background:var(--ml-surface);display:flex;flex-direction:column}.ml-operating-chain span{font-size:.66rem;color:var(--ml-water);letter-spacing:.14em;font-weight:900}.ml-operating-chain h3{margin:auto 0 8px;font-size:1.5rem;letter-spacing:-.035em}.ml-operating-chain p{margin:0;color:var(--ml-muted)}
.ml-log{display:grid}.ml-log article{display:grid;grid-template-columns:180px 1fr;gap:34px;padding:28px 0;border-top:1px solid var(--ml-border)}.ml-log article:last-child{border-bottom:1px solid var(--ml-border)}.ml-log time{color:var(--ml-moss);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:850}.ml-log h2{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1;letter-spacing:-.045em;margin:0 0 10px}.ml-log p{margin:0;color:var(--ml-muted);max-width:760px}
.ml-transform-list{display:grid;border-top:1px solid var(--ml-border)}.ml-transform-list article{display:grid;grid-template-columns:180px 1fr;gap:36px;padding:34px 0;border-bottom:1px solid var(--ml-border)}.ml-transform-list article>span{color:var(--ml-moss);font-size:.72rem;letter-spacing:.14em;font-weight:900}.ml-transform-list small{display:block;color:var(--ml-muted);margin-bottom:7px}.ml-transform-list h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.05em;margin:0 0 12px}.ml-transform-list p{margin:0;color:var(--ml-muted);max-width:760px}
.ml-lock-mark{display:inline-flex;padding:8px 11px;border:1px solid rgba(229,164,74,.4);border-radius:999px;color:var(--ml-amber);font-size:.7rem;letter-spacing:.12em;font-weight:900;margin-bottom:24px}.ml-book-lock{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid var(--ml-border);border-radius:28px;overflow:hidden}.ml-book-lock>div,.ml-book-lock>aside{padding:34px;background:var(--ml-surface)}.ml-book-lock>aside{border-left:1px solid var(--ml-border);background:linear-gradient(145deg,rgba(229,164,74,.06),var(--ml-surface))}.ml-book-lock h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.05em;margin:54px 0 12px}.ml-book-lock p,.ml-book-lock li{color:var(--ml-muted)}.ml-book-lock ul{padding-left:18px}.ml-book-lock .ml-button{margin-top:18px}

.ml-actions-spaced{margin-top:18px}
.ml-location-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ml-border);border-radius:24px;overflow:hidden;background:var(--ml-surface)}.ml-location-strip>div{padding:22px;display:grid;gap:3px}.ml-location-strip>div+div{border-left:1px solid var(--ml-border)}.ml-location-strip span{color:var(--ml-moss);font-size:.72rem;letter-spacing:.13em;font-weight:900}.ml-location-strip strong{font-size:1.5rem;letter-spacing:-.03em}.ml-location-strip small{color:var(--ml-muted)}.ml-location-strip.large>div{min-height:170px;align-content:end}.ml-location-strip.large strong{font-size:clamp(1.7rem,3vw,2.8rem)}
.ml-sound-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ml-sound-grid article{min-height:290px;padding:24px;border:1px solid var(--ml-border);border-radius:24px;background:var(--ml-surface);display:flex;flex-direction:column}.ml-sound-grid span{color:var(--ml-water);font-size:.67rem;letter-spacing:.14em;font-weight:900}.ml-sound-grid h3{margin:auto 0 10px;font-size:1.7rem;line-height:1.02;letter-spacing:-.04em}.ml-sound-grid p{margin:0;color:var(--ml-muted);font-size:.94rem}
.ml-night-sky{display:grid;grid-template-columns:1fr 1fr;min-height:390px;border:1px solid var(--ml-border);border-radius:30px;overflow:hidden;background:linear-gradient(145deg,#121b1d,#0c1115)}.ml-night-sky>div:first-child{padding:34px;display:flex;flex-direction:column;justify-content:flex-end}.ml-night-sky h2{font-size:clamp(2.1rem,4vw,4rem);line-height:.98;letter-spacing:-.05em;margin:0 0 15px}.ml-night-sky p:last-child{margin:0;color:var(--ml-muted)}.ml-stars{position:relative;background:radial-gradient(circle at 70% 35%,rgba(99,169,181,.16),transparent 32%),linear-gradient(180deg,#0b1219,#0d1515)}.ml-stars i{position:absolute;left:var(--sx);top:var(--sy);width:var(--ss);height:var(--ss);border-radius:50%;background:#eef3e9;box-shadow:0 0 7px rgba(238,243,233,.52)}
.ml-season-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ml-season-grid article{min-height:270px;padding:24px;border:1px solid var(--ml-border);border-radius:24px;background:linear-gradient(150deg,rgba(168,212,111,.045),var(--ml-surface) 48%);display:flex;flex-direction:column}.ml-season-grid span{color:var(--ml-amber);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900}.ml-season-grid h2{margin:auto 0 10px;font-size:1.8rem;line-height:1.02;letter-spacing:-.04em}.ml-season-grid p{margin:0;color:var(--ml-muted)}

@media(max-width:1100px){.ml-progress-grid,.ml-progress-grid.five{grid-template-columns:repeat(2,1fr)}.ml-energy-architecture{grid-template-columns:1fr 1fr}.ml-energy-architecture>i{display:none}.ml-operating-chain{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ml-countdown{grid-template-columns:1fr 1fr}.ml-now-grid,.ml-state-grid,.ml-book-lock{grid-template-columns:1fr}.ml-now-grid article.future,.ml-book-lock>aside{border-left:0;border-top:1px solid var(--ml-border)}.ml-plan-overview{grid-template-columns:1fr 1fr}.ml-milestone{grid-template-columns:1fr;gap:10px}.ml-log article,.ml-transform-list article{grid-template-columns:1fr;gap:12px}.ml-energy-architecture,.ml-operating-chain{grid-template-columns:1fr}.ml-progress-grid,.ml-progress-grid.five{grid-template-columns:1fr}.ml-terrace-outline{left:24%;right:12%}}
@media(max-width:460px){.ml-countdown,.ml-plan-overview{grid-template-columns:1fr}.ml-landscape-legend{font-size:.58rem}.ml-gates>div{grid-template-columns:42px 1fr}}

@media(max-width:900px){.ml-sound-grid{grid-template-columns:1fr 1fr}.ml-season-grid{grid-template-columns:1fr 1fr}.ml-night-sky{grid-template-columns:1fr}.ml-stars{min-height:300px}}
@media(max-width:760px){.ml-location-strip{grid-template-columns:1fr}.ml-location-strip>div+div{border-left:0;border-top:1px solid var(--ml-border)}.ml-sound-grid,.ml-season-grid{grid-template-columns:1fr}.ml-landscape-note{display:none}.ml-north-east{right:12px;top:12px}.ml-container{width:31%;height:8%}.ml-container.ml-sauna{left:4%}.ml-container.ml-kitchen{left:34%}.ml-container.ml-living{right:3%}.ml-pond{left:9%;right:9%;top:15%;height:25%}.ml-pond-label{top:34%}.ml-terrace-outline{left:6%;right:5%;bottom:18%}}


/* Project-map layer: the illustrated site becomes a clickable work interface. */
.ml-project-map a{color:inherit;text-decoration:none}
.ml-map-hit{cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease;background-clip:padding-box}
.ml-map-hit:hover{filter:brightness(1.12);box-shadow:0 0 0 1px rgba(255,255,255,.18),0 18px 38px rgba(0,0,0,.36)}
.ml-map-hit:focus-visible{outline:3px solid var(--ml-water);outline-offset:5px}
.ml-map-hit small{position:absolute;right:7px;top:7px;z-index:8;padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(7,10,9,.75);font-size:.53rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(246,242,226,.86);white-space:nowrap}
.ml-map-hit.state-done small{color:var(--ml-moss)}
.ml-map-hit.state-next small,.ml-map-hit.state-progress small{color:var(--ml-amber)}
.ml-map-hit.state-waiting small{color:var(--ml-danger)}
.ml-map-pond .ml-map-title{position:absolute;left:50%;top:76%;transform:translateX(-50%);z-index:7;color:rgba(155,199,207,.86);font-size:.58rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.ml-map-pond small{top:57%;right:12%}
.ml-terrace-outline small{right:auto;left:10px;top:8px}
.ml-container small{transform:rotate(0deg);top:auto;bottom:-33px;right:0}
.ml-map-energy{position:absolute;right:13%;top:46%;z-index:7;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(112,181,192,.42);background:radial-gradient(circle,rgba(112,181,192,.22),rgba(112,181,192,.04) 62%,transparent 63%);box-shadow:0 0 34px rgba(112,181,192,.1)}
.ml-map-energy span{font-size:.58rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:rgba(155,199,207,.88)}
.ml-map-energy small{top:62px;right:-12px}
.ml-map-access{position:absolute;left:7%;bottom:9%;z-index:7;width:28%;height:36px;border-top:2px dashed rgba(216,221,199,.42);transform:rotate(-6deg)}
.ml-map-access span{position:absolute;left:0;top:7px;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:rgba(216,221,199,.8)}
.ml-map-access small{right:10px;top:-28px}
.ml-map-booking{position:absolute;right:17px;top:80px;z-index:9;min-width:140px;padding:11px 12px 12px;border-radius:18px;border:1px solid rgba(207,92,80,.4);background:rgba(17,12,11,.7);backdrop-filter:blur(8px)}
.ml-map-booking span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:rgba(246,242,226,.9)}
.ml-map-booking small{position:static;display:inline-flex;margin-top:7px;color:var(--ml-danger)}
.ml-map-lights span{position:absolute;left:11%;top:7%;z-index:7;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:rgba(168,212,111,.82)}
.ml-map-lights small{left:10%;right:auto;top:14%}
.ml-landscape-legend i.dot{border-radius:50%;width:9px;height:9px;border:0;background:var(--ml-amber);box-shadow:0 0 10px rgba(229,164,74,.45)}
.ml-map-component-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ml-map-component-card{display:flex;min-height:285px;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--ml-border);border-radius:26px;background:rgba(255,255,255,.025);text-decoration:none;color:inherit;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.ml-map-component-card:hover{transform:translateY(-3px);border-color:rgba(168,212,111,.45);background:rgba(255,255,255,.04)}
.ml-map-component-card>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.ml-map-component-card span{font-size:.64rem;letter-spacing:.13em;font-weight:900;color:var(--ml-muted)}
.ml-map-component-card strong{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--ml-border)}
.ml-map-component-card h2{font-size:1.35rem;line-height:1.05;margin:0;color:var(--ml-ink)}
.ml-map-component-card p{margin:0;color:var(--ml-muted);line-height:1.55}
.ml-map-component-card ul{margin:auto 0 0 0;padding:0;list-style:none;display:grid;gap:7px;color:rgba(246,242,226,.78);font-size:.82rem;line-height:1.35}
.ml-map-component-card li{padding-top:7px;border-top:1px solid rgba(255,255,255,.07)}
.ml-map-component-card b{color:var(--ml-amber);margin-right:4px}
.ml-map-component-card.state-done strong{color:var(--ml-moss)}
.ml-map-component-card.state-next strong,.ml-map-component-card.state-progress strong{color:var(--ml-amber)}
.ml-map-component-card.state-waiting strong{color:var(--ml-danger)}
@media(max-width:1000px){.ml-map-component-grid{grid-template-columns:repeat(2,1fr)}.ml-map-booking{top:62px}.ml-map-energy{right:9%;top:45%}}
@media(max-width:760px){.ml-map-component-grid{grid-template-columns:1fr}.ml-map-booking{right:12px;top:58px;min-width:120px}.ml-map-energy{width:64px;height:64px;right:10%;top:46%}.ml-map-energy small{top:48px}.ml-map-access{bottom:8%;width:38%}.ml-map-hit small{font-size:.48rem}.ml-map-pond small{top:58%;right:8%}}
@media(max-width:520px){.ml-map-booking{display:none}.ml-map-lights span,.ml-map-lights small{display:none}.ml-container small{display:none}.ml-map-energy small,.ml-map-access small{display:none}}
