:root { --paper:#f5f2ec; --white:#fffdf9; --ink:#20302a; --muted:#6d756d; --line:rgba(32,48,42,.15); --green:#a9cf63; --green-dark:#59764d; --peach:#e9a67e; --shadow:0 24px 60px rgba(32,48,42,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans','Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
p,h1,h2,h3 { margin-top:0; }
.site-shell { overflow:hidden; }
.section-wrap { max-width:1320px; margin:0 auto; padding-left:34px; padding-right:34px; }

.site-header { height:78px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:5; }
.brand { display:inline-flex; align-items:center; gap:10px; }
.brand-mark { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; gap:1px; border:1px solid var(--ink); border-radius:50%; font:600 12px 'DM Sans',sans-serif; letter-spacing:-2px; padding-right:2px; }
.brand-mark i { color:var(--green-dark); font-style:normal; font-weight:400; }
.brand-name { font-size:14px; letter-spacing:-.35px; }.brand-name strong { font-weight:700; }
.main-nav { display:flex; align-items:center; gap:27px; color:var(--muted); font-size:12px; }.main-nav a { transition:color .2s ease; }.main-nav a:hover { color:var(--ink); }
.nav-button { display:inline-flex; align-items:center; gap:13px; padding:11px 15px; border:1px solid var(--line); border-radius:99px; background:rgba(255,253,249,.65); color:var(--ink)!important; }.nav-button span { color:var(--green-dark); font-size:15px; }
.language-switch { display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-size:10px; letter-spacing:.08em; }.language-switch .active { color:var(--ink); font-weight:700; }.language-switch > span { color:var(--line); }
.menu-toggle { display:none; padding:8px; border:0; background:transparent; }.menu-toggle span { display:block; width:22px; height:1px; margin:5px; background:var(--ink); }

.hero { padding-top:10px; padding-bottom:14px; }
.hero-image-frame { height:min(540px,calc(100vh - 125px)); min-height:470px; overflow:hidden; position:relative; border-radius:18px 18px 18px 70px; background:#31443a; box-shadow:var(--shadow); }
.hero-image-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,34,28,.83) 0%,rgba(20,34,28,.52) 34%,rgba(20,34,28,.12) 72%),linear-gradient(0deg,rgba(20,34,28,.57),transparent 42%); }
.hero-topline { position:absolute; top:24px; left:29px; right:29px; display:flex; align-items:center; justify-content:space-between; gap:22px; color:#f7f6f0; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.hero-kicker { opacity:.86; }
.availability { display:flex; align-items:center; gap:9px; padding:10px 13px; border:1px solid rgba(255,255,255,.36); border-radius:99px; background:rgba(20,34,28,.37); backdrop-filter:blur(8px); font-size:9px; letter-spacing:.03em; white-space:nowrap; text-transform:none; }.availability strong { color:var(--green); font-size:10px; }.availability > span:last-child { opacity:.75; }.availability-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(169,207,99,.16); }
.hero-content { position:absolute; left:29px; bottom:45px; max-width:640px; color:#fff; }
.eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:20px; color:var(--green); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.eyebrow-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--green); }
.hero h1 { max-width:650px; margin-bottom:18px; font-family:'Playfair Display',Georgia,serif; font-size:clamp(4rem,6.4vw,6.8rem); font-weight:500; letter-spacing:-.075em; line-height:.91; }.hero h1 em { color:var(--green); font-style:italic; }
.hero-lead { max-width:480px; margin-bottom:25px; color:rgba(255,255,255,.78); font-size:14px; line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:24px; }.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 18px 14px 20px; border-radius:100px; font-size:12px; font-weight:700; transition:transform .2s ease,box-shadow .2s ease; }.button:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.18); }.button span { font-size:16px; line-height:1; }.button-light { background:var(--green); color:var(--ink); }.hero-link { color:#fff; font-size:12px; }.hero-link span { margin-left:8px; color:var(--green); font-size:15px; }
.hero-foot { position:absolute; right:29px; bottom:23px; display:flex; gap:18px; color:rgba(255,255,255,.65); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.hero-foot span:first-child { color:#fff; font-weight:700; }

.quick-bar { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }.quick-bar > div { display:grid; grid-template-columns:30px 1fr; column-gap:10px; padding:18px 25px 18px 0; border-right:1px solid var(--line); }.quick-bar > div + div { padding-left:25px; }.quick-bar > div:last-child { border-right:0; }.quick-number { grid-row:span 2; color:var(--green-dark); font-size:10px; font-weight:700; }.quick-bar strong { font-size:12px; }.quick-bar small { color:var(--muted); font-size:10px; }

.services { padding-top:68px; padding-bottom:58px; }.section-line { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--green-dark); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.section-line > span:last-child { color:var(--muted); font-weight:500; letter-spacing:.04em; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:20px 0 31px; }.section-heading h2,.details-copy h2,.contact-card h2 { margin:0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(3rem,5vw,5.3rem); font-weight:500; letter-spacing:-.07em; line-height:.92; }.section-heading h2 em,.details-copy h2 em,.contact-card h2 em { color:var(--green-dark); font-style:italic; }.text-link { color:var(--muted); font-size:11px; }.text-link span { margin-left:8px; color:var(--green-dark); font-size:15px; }
.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.offer-card { min-height:360px; display:flex; flex-direction:column; padding:21px 22px 18px; background:var(--white); border:1px solid rgba(32,48,42,.1); border-radius:4px 20px 20px 20px; box-shadow:0 7px 18px rgba(56,60,47,.03); transition:transform .2s ease,box-shadow .2s ease; }.offer-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }.offer-card-main { background:var(--green); border-color:var(--green); }.offer-top { display:flex; align-items:center; justify-content:space-between; min-height:20px; color:var(--muted); font-size:10px; font-weight:700; }.offer-card-main .offer-top { color:#59723f; }.offer-tag { padding:5px 8px; border:1px solid var(--line); border-radius:99px; font-size:9px; font-weight:400; }.offer-card-main .offer-tag { border-color:rgba(32,48,42,.2); }.offer-card h3 { margin:37px 0 9px; font-size:21px; letter-spacing:-.05em; }.offer-card > p { min-height:43px; margin-bottom:16px; color:var(--muted); font-size:11px; line-height:1.6; }.offer-card-main > p { color:#59723f; }.offer-price { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.offer-card-main .offer-price { border-color:rgba(32,48,42,.2); }.offer-price strong { font-size:18px; letter-spacing:-.05em; }.offer-price span { color:var(--muted); font-size:9px; text-align:right; text-transform:uppercase; }.offer-card-main .offer-price span { color:#59723f; }.offer-card ul { display:grid; gap:7px; margin:14px 0 17px; padding:0; list-style:none; color:var(--muted); font-size:10px; }.offer-card li::before { content:'✓'; margin-right:7px; color:var(--green-dark); font-weight:700; }.offer-card-main li { color:#59723f; }.offer-link { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-size:10px; font-weight:700; }.offer-card-main .offer-link { border-color:rgba(32,48,42,.2); }.offer-link span { color:var(--green-dark); font-size:15px; }

.maintenance { padding-top:8px; padding-bottom:58px; }.maintenance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:1000px; }.maintenance-card { min-height:0; }.maintenance-card h3 { margin-top:32px; font-size:24px; letter-spacing:-.06em; }.maintenance-card > p { min-height:0; }.maintenance-card ul { gap:8px; margin-bottom:14px; }.maintenance-note { min-height:0!important; margin:0 0 8px!important; color:#747b72!important; font-size:10px!important; line-height:1.5!important; }.maintenance-card-main .maintenance-note { color:#59723f!important; }.maintenance-link { margin-top:auto; }.maintenance-disclaimer { max-width:1000px; margin:16px 0 0; padding:13px 16px; border-left:3px solid var(--peach); color:var(--muted); font-size:11px; line-height:1.6; }.maintenance-disclaimer-secondary { margin-top:10px; border-left-color:var(--green-dark); }.maintenance-response { min-height:0!important; margin:0 0 9px!important; padding:9px 0 0; border-top:1px dashed rgba(32,48,42,.18); color:var(--ink)!important; font-size:10px!important; line-height:1.5!important; }.maintenance-card-main .maintenance-response { border-color:rgba(32,48,42,.2); }.maintenance-capacity { max-width:1000px; display:grid; grid-template-columns:minmax(190px,.38fr) 1fr; gap:22px; align-items:start; margin-top:16px; padding:17px 19px; border:1px solid rgba(32,48,42,.12); border-left:3px solid var(--peach); border-radius:4px 17px 17px 17px; background:rgba(255,253,249,.74); }.maintenance-capacity .section-line-label { margin-bottom:7px; }.maintenance-capacity strong { display:block; font-size:13px; letter-spacing:-.02em; }.maintenance-capacity p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }.maintenance-capacity p + p { margin-top:8px; }.maintenance-disclaimer-quota { border-left-color:var(--green); }.care-availability { margin:11px 0 10px; padding:10px 0 0; border-top:1px solid rgba(32,48,42,.13); }.care-availability-status { color:var(--muted); font-size:10px; line-height:1.5; }.care-availability-status.is-full { color:#986d55; }.care-availability-status strong { color:var(--ink); }.care-book-button { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; padding:9px 12px; border:1px solid var(--green-dark); border-radius:99px; background:var(--green); color:var(--ink); font-size:10px; font-weight:700; }.care-book-button span { color:var(--green-dark); font-size:14px; }.care-waitlist-form { display:grid; gap:7px; margin-top:9px; }.care-waitlist-form label,.care-form label { display:grid; gap:5px; }.care-waitlist-form label span,.care-form label span { color:var(--muted); font-size:10px; }.care-waitlist-form input,.care-form input,.care-form textarea { width:100%; border:1px solid rgba(32,48,42,.2); border-radius:7px; background:rgba(255,253,249,.78); color:var(--ink); font:inherit; font-size:12px; padding:10px 11px; }.care-waitlist-form button,.care-form button { justify-self:start; border:1px solid var(--ink); border-radius:99px; padding:9px 12px; background:var(--ink); color:#fff; font:inherit; font-size:10px; font-weight:700; cursor:pointer; }.care-waitlist-form button:hover,.care-form button:hover { background:var(--green-dark); }.care-waitlist-message { min-height:0; margin:0; color:var(--muted); font-size:10px; line-height:1.45; }.care-waitlist-message.is-error { color:#9b5f4b; }.care-public-header { border-bottom:1px solid var(--line); }.care-public-page { padding-top:46px; padding-bottom:80px; }.care-public-card { display:grid; grid-template-columns:1fr .76fr; gap:48px; align-items:start; margin-top:26px; padding:37px 42px; border-radius:4px 28px 28px 28px; background:var(--white); box-shadow:var(--shadow); }.care-public-card h1 { margin:0 0 18px; font-family:'Playfair Display',Georgia,serif; font-size:clamp(3.4rem,6vw,6rem); font-weight:500; letter-spacing:-.08em; line-height:.9; }.care-public-card h1 em { color:var(--green-dark); font-style:italic; }.care-public-lead { max-width:500px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }.care-public-price { display:flex; align-items:baseline; gap:12px; margin-top:25px; padding-top:15px; border-top:1px solid var(--line); }.care-public-price strong { font-size:25px; letter-spacing:-.05em; }.care-public-price span { color:var(--muted); font-size:10px; text-transform:uppercase; }.care-reservation-note,.care-full-note,.care-available-note { margin:16px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }.care-reservation-note strong,.care-available-note strong { color:var(--ink); }.care-message { margin-bottom:14px; padding:13px 14px; border-left:3px solid var(--green); background:#edf3e4; color:var(--ink); font-size:12px; line-height:1.6; }.care-message-error { border-color:var(--peach); background:#fff0e8; }.care-form { display:grid; gap:14px; }.care-form-note { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }.button-dark { border:0; background:var(--ink); color:#fff; cursor:pointer; }.button-dark:hover { background:var(--green-dark); }.care-manage-card { min-height:340px; }

.hosting { padding-bottom:55px; }.hosting-card { grid-template-columns:1fr .62fr; }.hosting-side { gap:8px; }.hosting-side small + small { margin-top:4px; }

.details { padding-bottom:55px; }.details-card { display:grid; grid-template-columns:1fr .47fr; gap:45px; align-items:center; padding:31px 38px; border-radius:4px 26px 26px 26px; background:#dce8c6; }.section-line-label { display:block; margin-bottom:16px; color:var(--green-dark); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.details-copy h2 { font-size:clamp(2.7rem,4.5vw,4.5rem); }.details-copy p { max-width:590px; margin:18px 0 0; color:#5e715a; font-size:12px; line-height:1.65; }.details-side { display:flex; flex-direction:column; gap:5px; padding-left:31px; border-left:1px solid rgba(32,48,42,.18); }.details-icon { width:36px; height:36px; display:grid; place-items:center; margin-bottom:8px; border-radius:50%; background:var(--peach); font-family:'Playfair Display',Georgia,serif; font-size:20px; }.details-side strong { font-size:12px; }.details-side b { color:var(--green-dark); font-size:21px; }.details-side small { color:#6d756d; font-size:10px; line-height:1.4; }

.process { padding-top:0; padding-bottom:55px; }.steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:22px; border-top:1px solid var(--line); }.step { display:grid; grid-template-columns:34px 1fr; gap:12px; min-height:120px; padding:20px 22px 18px 0; border-bottom:1px solid var(--line); border-right:1px solid var(--line); }.step + .step { padding-left:22px; }.step:last-child { padding-right:0; border-right:0; }.step > span { padding-top:2px; color:var(--green-dark); font-size:10px; font-weight:700; }.step h3 { margin-bottom:6px; font-size:16px; }.step p { max-width:300px; margin:0; color:var(--muted); font-size:11px; line-height:1.6; }

.contact { padding-bottom:32px; }.contact-card { min-height:235px; display:flex; align-items:center; justify-content:space-between; gap:30px; overflow:hidden; position:relative; padding:32px 45px; border-radius:4px 31px 31px 31px; background:var(--ink); color:#fff; }.contact-card::before { content:''; position:absolute; width:390px; height:390px; right:45px; top:-205px; border:1px solid rgba(169,207,99,.32); border-radius:50%; }.contact-card > div:first-child { position:relative; z-index:1; }.contact-card h2 { font-size:clamp(2.8rem,5vw,5rem); }.contact-card h2 em { color:var(--green); }.contact-card p { max-width:390px; margin:16px 0 0; color:#b8c0b4; font-size:12px; line-height:1.6; }.contact-stamp { position:relative; z-index:1; width:125px; height:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid rgba(169,207,99,.55); border-radius:50%; transform:rotate(9deg); color:var(--green); }.contact-stamp span { font:600 25px 'DM Sans',sans-serif; letter-spacing:-.12em; }.contact-stamp small { margin-top:8px; color:#b8c0b4; font-size:8px; line-height:1.3; text-align:center; text-transform:uppercase; letter-spacing:.12em; }
.site-footer { min-height:74px; display:flex; align-items:center; gap:32px; color:var(--muted); font-size:10px; }.site-footer p { margin:0; }.legal-footer-links { display:flex; gap:15px; }.legal-footer-links a { color:var(--muted); text-decoration:underline; text-decoration-color:rgba(89,118,77,.45); text-underline-offset:3px; }.legal-footer-links a:hover { color:var(--ink); }.footer-meta { margin-left:auto; color:#929b91; font-size:9px; }
.legal-page { max-width:900px; padding-top:26px; padding-bottom:75px; }.legal-page h1 { margin:26px 0 14px; font-family:'Playfair Display',Georgia,serif; font-size:clamp(3rem,6vw,5.6rem); font-weight:500; letter-spacing:-.07em; line-height:.94; }.legal-intro { max-width:670px; margin-bottom:39px; color:var(--muted); font-size:13px; line-height:1.7; }.legal-content { max-width:720px; }.legal-content section { padding:25px 0; border-top:1px solid var(--line); }.legal-content h2 { margin-bottom:11px; font-size:16px; letter-spacing:-.03em; }.legal-content p,.legal-content address,.legal-content li { color:var(--muted); font-size:12px; line-height:1.75; }.legal-content address { font-style:normal; }.legal-content a { color:var(--green-dark); text-decoration:underline; text-decoration-color:rgba(89,118,77,.45); text-underline-offset:3px; }.legal-content ul { margin:0; padding-left:20px; }.legal-back { color:var(--muted); font-size:11px; text-decoration:underline; text-decoration-color:rgba(89,118,77,.45); text-underline-offset:3px; }.legal-back:hover { color:var(--ink); }.legal-header .language-switch { margin-left:auto; margin-right:25px; }

@media (max-width:900px) { .section-wrap { padding-left:25px; padding-right:25px; }.hero-image-frame { height:530px; }.hero h1 { font-size:clamp(3.6rem,7vw,5.4rem); }.details-card { gap:28px; }.contact-card { padding-left:32px; padding-right:32px; } }
@media (max-width:720px) {
  .section-wrap { padding-left:18px; padding-right:18px; }.site-header { height:70px; }.main-nav { display:none; position:absolute; top:70px; left:0; right:0; flex-direction:column; align-items:flex-start; gap:17px; padding:18px; background:var(--paper); border-bottom:1px solid var(--line); }.main-nav.open { display:flex; }.menu-toggle { display:block; }
  .hero { padding-top:0; padding-bottom:10px; }.hero-image-frame { height:500px; min-height:0; border-radius:12px 12px 12px 43px; }.hero-image-frame img { object-position:58% center; }.hero-shade { background:linear-gradient(180deg,rgba(20,34,28,.63),rgba(20,34,28,.18) 38%,rgba(20,34,28,.78)); }.hero-topline { top:18px; left:20px; right:20px; align-items:flex-start; flex-direction:column; gap:14px; }.availability { align-self:flex-start; }.hero-content { left:20px; right:20px; bottom:52px; }.hero h1 { font-size:clamp(3.5rem,15vw,5.2rem); }.hero-lead { font-size:13px; }.hero-actions { flex-wrap:wrap; gap:17px; }.hero-foot { left:20px; right:20px; bottom:18px; justify-content:space-between; gap:10px; font-size:8px; }.hero-foot span:last-child { text-align:right; }
  .quick-bar { grid-template-columns:1fr; }.quick-bar > div,.quick-bar > div + div { grid-template-columns:28px 1fr; padding:13px 0; border-right:0; border-bottom:1px solid var(--line); }.quick-bar > div:last-child { border-bottom:0; }.quick-number { grid-row:span 2; }.services { padding-top:50px; padding-bottom:44px; }.section-line { font-size:9px; }.section-heading { display:block; margin-top:18px; margin-bottom:24px; }.section-heading h2 { font-size:clamp(2.9rem,14vw,4.3rem); }.section-heading .text-link { display:inline-block; margin-top:16px; }.offer-grid { grid-template-columns:1fr; gap:10px; }.offer-card { min-height:330px; }.offer-card h3 { margin-top:29px; }.maintenance { padding-top:0; padding-bottom:44px; }.maintenance-grid { grid-template-columns:1fr; gap:10px; }.maintenance-card h3 { margin-top:29px; }.maintenance-disclaimer { margin-top:13px; padding:12px 13px; }.maintenance-capacity { grid-template-columns:1fr; gap:11px; margin-top:13px; padding:14px 13px; }.care-public-page { padding-top:28px; padding-bottom:54px; }.care-public-card { grid-template-columns:1fr; gap:28px; margin-top:18px; padding:27px 22px; border-radius:4px 22px 22px 22px; }.care-public-card h1 { font-size:clamp(3rem,14vw,4.8rem); }.care-public-header { height:auto; min-height:78px; flex-wrap:wrap; gap:14px; padding-top:16px; padding-bottom:16px; }.care-public-header .legal-back { margin-left:auto; }.hosting { padding-bottom:45px; }.hosting-card { grid-template-columns:1fr; }.hosting-side { gap:8px; }.details { padding-bottom:45px; }.details-card { grid-template-columns:1fr; gap:25px; padding:27px 23px; border-radius:4px 22px 22px 22px; }.details-copy h2 { font-size:clamp(2.7rem,13vw,4rem); }.details-side { padding:23px 0 0; border-top:1px solid rgba(32,48,42,.18); border-left:0; }.process { padding-bottom:45px; }.steps { display:block; margin-top:17px; }.step,.step + .step,.step:last-child { min-height:0; padding:17px 0; border-right:0; }.contact { padding-bottom:18px; }.contact-card { min-height:300px; display:block; padding:27px 22px; border-radius:3px 25px 25px 25px; }.contact-card h2 { font-size:clamp(2.9rem,14vw,4.6rem); }.contact-stamp { position:absolute; right:18px; bottom:20px; width:105px; height:105px; }.legal-header { height:auto; min-height:78px; flex-wrap:wrap; gap:14px; padding-top:16px; padding-bottom:16px; }.legal-header .legal-back { margin-left:auto; }.legal-header .language-switch { margin-left:0; margin-right:0; }.site-footer { flex-wrap:wrap; gap:15px; padding-top:20px; padding-bottom:22px; }.legal-footer-links { order:3; width:100%; }.footer-meta { width:100%; margin-left:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.offer-card,.button { transition:none; } }

/* Compact project and care overview */
.hero-image-frame { height:min(490px,calc(100vh - 135px)); min-height:430px; }
.services { padding-top:54px; padding-bottom:46px; }
.offer-card { min-height:335px; }
.maintenance { padding-bottom:46px; }
.compact-capacity { grid-template-columns:max-content 1fr; align-items:center; gap:16px; margin-top:12px; padding:12px 15px; }
.compact-capacity span { color:var(--muted); font-size:10px; line-height:1.5; }
.contact-card .button { margin-top:20px; }
.care-waitlist-form[hidden], .care-book-button[hidden] { display:none !important; }

@media (max-width:720px) {
  .hero-image-frame { height:470px; min-height:0; }
  .compact-capacity { grid-template-columns:1fr; gap:5px; }
}
