@font-face{font-family:Montserrat;src:url('../fonts/montserrat-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--cream:#f6f2eb;--paper:#fcfaf6;--sand:#e9dfd2;--ink:#292c29;--muted:#67685f;--accent:#975337;--line:#dcd4c7;--header:76px;--gutter:clamp(22px,4.6vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.65;padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px))}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}
.header{position:sticky;top:0;z-index:20;background:#f6f2ebed;backdrop-filter:blur(16px);border-bottom:1px solid #dcd4c766}.header-inner{min-height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;gap:18px;transition:min-height .2s}.header.is-scrolled{--header:68px}.brand{margin-right:auto;flex-shrink:0}.brand img{width:132px;height:auto}.language{position:relative;font-size:12px}.language summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:9px}.language summary::-webkit-details-marker{display:none}.language-menu{position:absolute;right:0;top:100%;min-width:150px;padding:8px;background:var(--paper);box-shadow:0 12px 35px #292c2920;border:1px solid var(--line)}.language-menu a{display:block;padding:10px}.language-menu a:hover{background:var(--sand)}.menu-toggle{border:0;background:none;width:32px;min-height:44px;padding:6px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px var(--gutter);background:var(--cream);border-bottom:1px solid var(--line)}.nav.is-open{display:grid;gap:4px}.nav a{padding:10px 0;font-size:12px}.nav a:hover{color:var(--accent)}.header-booking{display:none!important}
.button{min-height:48px;padding:13px 21px;display:inline-flex;justify-content:center;align-items:center;gap:22px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:1.4;border-radius:2px;transition:background .2s,transform .2s}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover{background:#7d412c}.button-secondary{background:transparent;border-color:#b9b3a7;color:var(--ink)}.button-secondary:hover{background:var(--sand)}.actions{display:flex;gap:12px;flex-wrap:wrap}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--accent)}.hero-copy{padding:52px var(--gutter) 40px}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{height:1px;width:22px;background:var(--accent);flex-shrink:0}h1{font-size:clamp(35px,6.8vw,52px);font-weight:500;letter-spacing:-.055em;max-width:580px;margin:27px 0 24px}h1 em{font-style:normal;color:var(--accent)}.hero-description{max-width:400px;color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:30px}.hero-photo{position:relative;overflow:hidden;background:var(--sand);min-height:430px;height:115vw;max-height:620px;isolation:isolate}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#161d1a99);pointer-events:none}.section{padding:64px var(--gutter)}.section-heading{display:grid;gap:22px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:15px}h2{font-size:clamp(30px,3vw,42px);font-weight:500;letter-spacing:-.045em}.section-heading>p{max-width:460px;color:var(--muted);font-size:13px;line-height:1.9}.needs-grid{display:grid;gap:14px}.need-card{background:var(--paper);padding:25px 24px;min-height:230px;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,border-color .2s,background .2s}.card-top{display:flex;justify-content:space-between;color:var(--accent);font-size:11px;margin-bottom:32px}.card-top span:last-child{font-size:21px;line-height:1}.need-card h3{font-weight:500;font-size:18px;letter-spacing:-.025em;margin-bottom:14px;max-width:210px}.need-card p{color:var(--muted);font-size:12px;line-height:1.85;margin-bottom:24px}.card-line{width:30px;height:1px;background:var(--accent);margin-top:auto}.consultation{margin-top:24px;padding:26px;background:var(--sand);display:flex;flex-wrap:wrap;align-items:center;gap:20px}.consultation-symbol{font-size:35px;color:var(--accent);display:none}.consultation h3{font-size:20px;font-weight:500;margin-bottom:8px}.consultation p{font-size:12px;color:var(--muted);max-width:470px}.consultation .actions{gap:10px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px;background:var(--cream);border-top:1px solid #dcd4c766;box-shadow:0 -3px 16px #292c2908}.mobile-actions a,.mobile-actions button{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:600;min-height:44px;border:1px solid var(--line);border-radius:2px;background:transparent}.mobile-actions a:first-child{background:var(--accent);color:white;border-color:var(--accent)}.notice{position:fixed;z-index:40;bottom:90px;left:20px;right:20px;max-width:480px;background:var(--ink);color:white;padding:18px 22px;border-radius:3px;box-shadow:0 5px 24px #0002}.locale-placeholder{max-width:700px;margin:12vh auto;padding:30px}.locale-placeholder h1{font-size:36px}.locale-placeholder p{margin-bottom:25px}
@media(min-width:600px){.needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand img{width:150px}.hero-copy{padding-top:65px;padding-bottom:55px}}
@media(min-width:1000px){body{padding-bottom:0}.hero{display:grid;grid-template-columns:44% 56%;min-height:640px}.hero-copy{padding:clamp(60px,6vw,100px) 38px 48px var(--gutter);align-self:center}h1{font-size:clamp(38px,3.65vw,60px)}.hero-photo{height:100%;max-height:none;min-height:640px}.hero-image{position:absolute;inset:0;object-position:50% 47%}.hero-description{font-size:14px}.mobile-actions{display:none}.section{padding-top:82px;padding-bottom:82px}.section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-bottom:38px}.section-heading>p{justify-self:end}.needs-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.need-card{padding:25px 20px;min-height:290px}.need-card h3{font-size:18px}.consultation{flex-wrap:nowrap;padding:28px 32px;gap:24px}.consultation-symbol{display:block}.consultation .actions{margin-left:auto;flex-shrink:0}.notice{bottom:24px}}
@media(min-width:1200px){.header{--header:80px}.header-inner{gap:24px}.brand img{width:152px}.nav,.nav.is-open{display:flex;gap:20px;position:static;padding:0;border:0;background:none;white-space:nowrap}.nav a{font-size:11px}.header-booking{display:inline-flex!important;text-transform:uppercase;font-size:10px;gap:12px;min-height:42px;padding:12px 16px}.menu-toggle{display:none}.language{margin-left:auto}.brand{margin-right:10px}}
@media(hover:hover){.need-card:hover{transform:translateY(-4px);border-color:var(--accent);background:#fffdf9}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:599px){.need-card{padding:20px 24px;min-height:190px}.card-top{margin-bottom:24px}.need-card p{margin-bottom:20px}}

/* Keep the shared desktop canvas centered without changing smaller layouts. */
/* Long Cyrillic words may wrap on narrow screens without reducing type size. */
html:is([lang="ru"],[lang="uk"]) h1,
html:is([lang="ru"],[lang="uk"]) .need-card h3{overflow-wrap:anywhere}
@media(min-width:1441px){
  :root{--content-max:1680px;--gutter:clamp(22px,4.6vw,77.28px)}
  .header-inner,.hero,.needs{max-width:var(--content-max);margin-inline:auto}
}
