:root{--mint:#b4dfcc;--mint-deep:#8fcbb2;--mint-tint:#eef7f3;--paper:#fafcfb;--ink:#111;--ink-soft:#3f4a45;--ink-mute:#5d6b65;--line:#11111124;--serif:"Playfair Display", "Times New Roman", serif;--sans:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter:clamp(20px, 5vw, 48px);--section-y:clamp(72px, 12vw, 128px);--radius:2px;--ease:cubic-bezier(.22, .61, .36, 1);--topbar-h:60px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--topbar-h)}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;font-weight:400;line-height:1.65;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{margin:0;font-weight:400}h2{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(2rem,7vw,3.25rem);line-height:1.1}p{margin:0 0 1em}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.skip{z-index:100;background:var(--ink);color:#fff;padding:10px 16px;text-decoration:none;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.container{width:100%;max-width:1180px;padding:0 var(--gutter);margin:0 auto}.container--narrow{max-width:760px}.section{padding:var(--section-y) 0}.section--light{background:var(--paper)}.section--tint{background:var(--mint-tint)}.section--mint{background:var(--mint)}.section__head{text-align:center;margin-bottom:clamp(40px,7vw,64px)}.center{text-align:center}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px;font-size:.72rem;font-weight:500}.eyebrow:after{content:"";opacity:.6;background:currentColor;width:28px;height:1px;margin:14px auto 0;display:block}.about__text .eyebrow:after{margin-left:0}.note{color:var(--ink-mute);margin-top:32px;font-size:.9rem}.btn{min-height:48px;font:500 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--ink);border-radius:var(--radius);transition:background-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:10px;padding:0 26px;text-decoration:none;display:inline-flex}.btn--lg{min-height:56px;padding:0 32px}.btn--small{min-height:38px;padding:0 16px;font-size:.68rem}.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{box-shadow:0 0 0 4px var(--mint-deep)}.btn--outline{color:var(--ink);background:0 0}.btn--outline:hover{background:var(--ink);color:#fff}.btn--mint{background:var(--mint);color:var(--ink);border-color:var(--mint)}.btn--mint:hover{background:#fff;border-color:#fff}.btn:active{transform:translateY(1px)}.link-under{letter-spacing:.18em;text-transform:uppercase;transition:background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:4px;font-size:.78rem;font-weight:500;text-decoration:none}.link-under:hover{background-size:30% 1px}.topbar{z-index:50;height:var(--topbar-h);transition:background-color .35s var(--ease), box-shadow .35s var(--ease);position:fixed;inset:0 0 auto}.topbar.is-solid{backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);background:#fafcfbe0}.topbar__inner{max-width:1180px;height:100%;padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.topbar__logo{opacity:0;transition:opacity .35s var(--ease);display:block}.topbar.is-solid .topbar__logo{opacity:1}.topbar__mono{width:auto;height:26px}.topbar__nav{gap:32px;display:none}.topbar__nav a,.lang{letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;font-weight:500;text-decoration:none}.topbar__nav a:hover{text-underline-offset:6px;text-decoration:underline}.topbar__actions{align-items:center;gap:18px;display:flex}.lang{border:1px solid var(--line);border-radius:var(--radius);letter-spacing:.12em;place-items:center;min-width:44px;min-height:38px;display:inline-grid}.lang:hover{border-color:var(--ink)}.topbar__cta{display:none}@media (width>=900px){.topbar__nav{display:flex}.topbar__cta{display:inline-flex}}.hero{background:var(--mint);min-height:100svh;padding:calc(var(--topbar-h) + 24px) var(--gutter) 56px;text-align:center;place-items:center;display:grid;position:relative}.hero__inner{width:100%;min-width:0;max-width:640px}.hero__logo{justify-items:center;gap:clamp(18px,3.5vw,28px);margin-bottom:clamp(36px,7vw,56px);display:grid}.hero__mono{width:min(62vw,300px);height:auto}.hero__word{width:min(66vw,320px);height:auto}.hero__slogan{font-family:var(--serif);text-wrap:balance;max-width:18ch;margin:0 auto 18px;font-size:clamp(1.6rem,6.4vw,2.6rem);font-style:italic;line-height:1.2}.hero__h1{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;margin-bottom:6px;font-size:.74rem;font-weight:500;line-height:1.7}.hero__tags{color:var(--ink-soft);letter-spacing:.04em;margin-bottom:36px;font-size:.82rem}.dot{margin-right:.5em}.nowrap{white-space:nowrap}.hero__actions{justify-items:center;gap:22px;display:grid}.js .hero__mono,.js .hero__word,.js .hero__slogan,.js .hero__h1,.js .hero__tags,.js .hero__actions{animation:rise .9s var(--ease) both}.js .hero__word{animation-delay:.12s}.js .hero__slogan{animation-delay:.24s}.js .hero__h1{animation-delay:.34s}.js .hero__tags{animation-delay:.4s}.js .hero__actions{animation-delay:.5s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.price-group+.price-group{margin-top:56px}.price-group__title{font-family:var(--serif);text-align:center;margin-bottom:18px;font-size:1.4rem;font-style:italic}.price-row{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:16px 0;display:flex}.price-row__name{flex:0 auto;font-size:.98rem}.price-row__name small{color:var(--ink-mute);white-space:nowrap;font-size:.8rem}.price-row__line{border-bottom:1px dotted #11111159;flex:24px;min-width:16px;transform:translateY(-5px)}.price-row__price{font-family:var(--serif);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;font-size:1.15rem}.price-row__price small{font-family:var(--sans);letter-spacing:.08em;color:var(--ink-soft);font-size:.72rem}#services .note{text-align:center}.gallery{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:48px;display:grid}@media (width>=640px){.gallery{grid-template-columns:repeat(3,1fr);gap:12px}}@media (width>=960px){.gallery{grid-template-columns:repeat(4,1fr);gap:16px}}.gallery__btn{background:var(--mint);aspect-ratio:4/5;cursor:zoom-in;border-radius:var(--radius);border:0;width:100%;padding:0;display:block;overflow:hidden}.gallery__btn img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease), filter .8s var(--ease)}.gallery__btn:hover img{transform:scale(1.04)}.lightbox{color:#fff;background:#0c0e0df0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.lightbox[open]{place-items:center;display:grid}.lightbox::backdrop{background:#0c0e0d99}.lightbox__img{object-fit:contain;width:auto;max-width:min(92vw,720px);max-height:82dvh}.lightbox__close,.lightbox__nav{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:48px;height:48px;display:grid;position:absolute}.lightbox__close{top:12px;right:12px}.lightbox__nav{top:50%;transform:translateY(-50%)}.lightbox__nav--prev{left:6px}.lightbox__nav--prev svg{transform:rotate(180deg)}.lightbox__nav--next{right:6px}.about{gap:48px;display:grid}.about__text h2{margin-bottom:28px}.about__text p:not(.eyebrow){color:var(--ink-soft);max-width:52ch}.facts{border-top:1px solid var(--line);gap:0;display:grid}.fact{border-bottom:1px solid var(--line);align-items:baseline;gap:20px;padding:22px 0;display:flex}.fact__value,.step__num{font-variant-numeric:lining-nums}.fact__value{font-family:var(--serif);min-width:2.6ch;font-size:clamp(2.4rem,9vw,3.4rem);line-height:1}.fact__label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem}@media (width>=900px){.about{grid-template-columns:1.2fr 1fr;align-items:center;gap:96px}}.steps{counter-reset:s;gap:16px;margin-bottom:48px;display:grid}.step{border-radius:var(--radius);background:#fafcfb8c;border:1px solid #11111114;padding:32px 28px}.step__num{font-family:var(--serif);margin-bottom:18px;font-size:2.6rem;line-height:1;display:block}.step h3{letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:.86rem;font-weight:600}.step p{color:var(--ink-soft);margin:0;font-size:.95rem}@media (width>=820px){.steps{grid-template-columns:repeat(3,1fr);gap:20px}}.cities{gap:12px;display:grid}.city{background:var(--mint-tint);border-radius:var(--radius);text-align:center;justify-items:center;gap:6px;padding:40px 24px;display:grid}.city__name{font-family:var(--serif);font-size:clamp(1.9rem,7vw,2.4rem);line-height:1.1}.city__region{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute);font-size:.72rem}@media (width>=640px){.cities{grid-template-columns:1fr 1fr;gap:16px}}.quote{text-align:center;margin:8px 0 32px}.quote__mark{font-family:var(--serif);height:44px;color:var(--mint-deep);font-size:6rem;line-height:.5;display:block}.quote blockquote{margin:0}.quote blockquote p{font-family:var(--serif);text-wrap:balance;max-width:18ch;margin:0 auto 20px;font-size:clamp(1.9rem,7.5vw,3rem);font-style:italic;line-height:1.2}.quote figcaption{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute);font-size:.72rem}.quote__text{color:var(--ink-soft);max-width:44ch;margin:0 auto 32px}.faq{border-top:1px solid var(--line)}.faq__item{border-bottom:1px solid var(--line)}.faq__item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:1.02rem;font-weight:500;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary .icon{transition:transform .35s var(--ease);flex:none}.faq__item[open] summary .icon{transform:rotate(45deg)}.faq__item p{color:var(--ink-soft);margin:0;padding:0 40px 24px 0}.footer{background:var(--ink);color:#fff;padding:var(--section-y) 0 calc(48px + env(safe-area-inset-bottom));text-align:center}.footer__inner{justify-items:center;display:grid}.footer__mono{width:92px;height:auto;color:var(--mint);margin-bottom:36px}.footer__title{font-family:var(--serif);margin-bottom:14px;font-size:clamp(2.2rem,8vw,3.4rem);font-style:italic;line-height:1.1}.footer__text{color:#ffffffb8;margin-bottom:36px}.footer__label{letter-spacing:.3em;text-transform:uppercase;color:var(--mint);margin:52px 0 16px;font-size:.68rem}.contact-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.contact-row a{min-height:46px;transition:border-color .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease);border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:10px;padding:0 18px;font-size:.86rem;text-decoration:none;display:inline-flex}.contact-row a:hover{border-color:var(--mint);background:var(--mint);color:var(--ink)}.footer__legal{color:#ffffff73;max-width:46ch;margin:64px 0 0;font-size:.74rem}.floating{z-index:60;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;min-height:52px;font:500 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;opacity:0;pointer-events:none;transition:transform .45s var(--ease), opacity .45s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:0 28px;text-decoration:none;display:inline-flex;position:fixed;transform:translate(-50%,140%);box-shadow:0 10px 30px #11111140,0 0 0 1px #b4dfcc80}.floating.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}@media (width>=900px){.floating{display:none}}.js .reveal{opacity:0;transition:opacity .8s var(--ease) var(--d,0s), transform .8s var(--ease) var(--d,0s);transform:translateY(16px)}.js .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
