:root { --ink:#102c35; --ink-soft:#49616a; --sea:#0b6064; --mint:#dceeea; --paper:#f8fbfa; --line:#cfdedb; --white:#fff; --radius:1.2rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:1rem; line-height:1.55; }
a { color:inherit; }
.site-header { min-height:76px; display:flex; align-items:center; gap:1.5rem; max-width:1200px; margin:auto; padding:1rem 5vw; }
.brand { font-weight:760; text-decoration:none; letter-spacing:-.04em; font-size:1.2rem; white-space:nowrap; }.brand span { color:var(--sea); }
.site-nav { display:flex; gap:1.15rem; margin-left:auto; }.site-nav a,.site-footer a { color:var(--ink-soft); font-size:.9rem; text-decoration:none; }.site-nav a:hover,.site-footer a:hover,.text-link:hover { color:var(--sea); }
.header-action { border:1px solid var(--ink); padding:.6rem .85rem; border-radius:999px; text-decoration:none; font-size:.86rem; white-space:nowrap; }.menu-toggle { display:none; }.mobile-telegram { display:none; }
.section { max-width:1200px; margin:0 auto; padding:5.5rem 5vw; }.hero { min-height:620px; padding-top:4rem; display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:center; }
.eyebrow { margin:0 0 .8rem; color:var(--sea); font-weight:700; font-size:.76rem; letter-spacing:.11em; text-transform:uppercase; }
h1,h2 { margin:0; line-height:1.05; letter-spacing:-.055em; font-weight:680; } h1 { font-size:clamp(2.8rem,5.3vw,5.2rem); max-width:780px; } h2 { font-size:clamp(2rem,3.4vw,3.3rem); max-width:650px; }
.hero-lead { font-size:1.17rem; font-weight:700; margin:1.7rem 0 .4rem; }.hero-text { max-width:620px; color:var(--ink-soft); font-size:1.08rem; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:2rem 0 .65rem; }.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.7rem 1.1rem; border-radius:999px; border:1px solid transparent; text-decoration:none; font-weight:700; cursor:pointer; font:inherit; }.button-primary { color:#fff; background:var(--sea); }.button-primary:hover { background:#074e51; }.button-quiet { border-color:var(--ink); }.button-light { background:#fff; color:var(--ink); }.microcopy { color:var(--ink-soft); font-size:.78rem; }
.photo-placeholder { background:linear-gradient(145deg,#c5ddd7,#85a9a5); color:#17464a; min-height:470px; display:grid; place-items:center; text-align:center; border-radius:140px 140px 28px 28px; font-weight:700; font-size:1.15rem; line-height:1.3; }
.page-hero { padding-top:6.5rem; padding-bottom:5rem; min-height:390px; border-bottom:1px solid var(--line); }.page-hero h1 { max-width:850px; }.page-hero .button { margin-top:1.1rem; }.placeholder-note { color:var(--ink-soft); font-size:.9rem; border-left:3px solid #9fc4bc; padding-left:1rem; }.light-note { color:#d2e2df; border-color:#9fd4ca; }.photo-row { display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; align-items:center; }.photo-row .photo-placeholder { min-height:350px; border-radius:90px 90px 18px 18px; }.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.article-grid article { padding:1.6rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }.article-grid h2 { font-size:1.5rem; }.legal { max-width:880px; }.legal h2 { margin-top:3rem; font-size:1.7rem; }
.compact-placeholder { min-height:260px; max-width:420px; margin-top:2.5rem; border-radius:72px 72px 16px 16px; }.timeline p { margin:0; padding:1.2rem 0; border-top:1px solid var(--line); }.timeline strong { display:block; color:var(--sea); }
.intro { border-top:1px solid var(--line); max-width:930px; }.intro p:last-child { color:var(--ink-soft); font-size:1.1rem; max-width:790px; }
.service-grid { background:#edf5f2; max-width:none; padding-left:max(5vw,calc((100vw - 1200px)/2 + 5vw)); padding-right:max(5vw,calc((100vw - 1200px)/2 + 5vw)); }.section-heading { margin-bottom:2rem; }.service-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem; max-width:760px; }.service-card ul { padding-left:1.2rem; color:var(--ink-soft); }.text-link { display:inline-block; margin-top:1rem; color:var(--sea); font-weight:700; text-decoration:none; }
.two-column,.contact-section,.documents { display:grid; grid-template-columns:1fr 1fr; gap:7vw; }.two-column > div:last-child { color:var(--ink-soft); font-size:1.05rem; }.credentials { margin:2rem 0 0; }.credentials div { padding:1rem 0; border-top:1px solid var(--line); }.credentials dt { font-size:.78rem; font-weight:700; color:var(--sea); text-transform:uppercase; letter-spacing:.08em; }.credentials dd { margin:.25rem 0 0; color:var(--ink); }.credentials em { color:var(--ink-soft); font-style:normal; }
.dark-section { max-width:none; background:var(--ink); color:#fff; padding-left:max(5vw,calc((100vw - 1200px)/2 + 5vw)); padding-right:max(5vw,calc((100vw - 1200px)/2 + 5vw)); }.dark-section .eyebrow { color:#9fd4ca; }.dark-section > p:not(.eyebrow) { max-width:620px; color:#d2e2df; font-size:1.08rem; }.health { border-bottom:1px solid var(--line); }.documents { align-items:start; }.document-slots { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.document-slots > div { aspect-ratio:1.1; display:grid; place-items:center; text-align:center; border:1px dashed #83a6a0; border-radius:1rem; background:#eff7f4; font-weight:700; }.document-slots small { font-weight:400; color:var(--ink-soft); }
.contact-section { background:#eef6f3; max-width:none; padding-left:max(5vw,calc((100vw - 1200px)/2 + 5vw)); padding-right:max(5vw,calc((100vw - 1200px)/2 + 5vw)); }.disabled-link { opacity:.7; }.request-form { display:grid; gap:1rem; }.request-form label { display:grid; gap:.35rem; color:var(--ink); font-size:.88rem; font-weight:700; }.request-form input,.request-form select,.request-form textarea { width:100%; border:1px solid #a8c2bc; border-radius:.55rem; background:#fff; padding:.75rem; color:var(--ink); font:inherit; font-weight:400; }.request-form .consent { display:flex; align-items:flex-start; gap:.5rem; font-size:.78rem; font-weight:400; }.consent input { width:auto; margin-top:.22rem; }.form-status { min-height:1.3rem; margin:0; font-size:.88rem; color:var(--sea); }.site-footer { display:flex; justify-content:space-between; gap:1rem; max-width:1200px; padding:2rem 5vw; margin:auto; color:var(--ink-soft); font-size:.82rem; }.site-footer p { margin:0; }.site-footer div { display:flex; flex-wrap:wrap; gap:1rem; }
.final-cta { text-align:center; max-width:780px; }.final-cta h2,.final-cta p { margin-left:auto; margin-right:auto; }.final-cta p:not(.eyebrow) { max-width:520px; color:var(--ink-soft); }.final-cta .button { margin-top:.8rem; }
@media (max-width:760px) { body { padding-bottom:4.7rem; }.site-header { min-height:64px; flex-wrap:wrap; gap:.7rem; position:sticky; top:0; z-index:10; background:rgba(248,251,250,.93); backdrop-filter:blur(12px); }.menu-toggle { display:block; margin-left:auto; border:0; background:transparent; color:var(--ink); font:inherit; }.header-action { display:none; }.site-nav { display:none; width:100%; order:3; flex-direction:column; gap:.7rem; padding:.8rem 0; }.site-nav.is-open { display:flex; }.hero { min-height:auto; grid-template-columns:1fr; padding-top:2.1rem; gap:2.2rem; }.hero h1 { font-size:clamp(2.35rem,11vw,3.1rem); line-height:1.02; }.hero-lead { margin-top:1.1rem; }.hero-text { font-size:1rem; }.hero-photo { min-height:270px; order:initial; border-radius:78px 78px 16px 16px; }.section { padding-top:4rem; padding-bottom:4rem; }.page-hero { min-height:330px; }.two-column,.contact-section,.documents,.photo-row { grid-template-columns:1fr; gap:2rem; }.article-grid { grid-template-columns:1fr; }.document-slots { max-width:470px; }.site-footer { flex-direction:column; }.button { width:100%; }.actions { display:grid; }.service-card { padding:1.45rem; }.mobile-telegram { display:block; position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:20; padding:.85rem 1rem; border-radius:999px; background:var(--sea); color:#fff; text-align:center; text-decoration:none; font-weight:750; box-shadow:0 12px 28px rgba(8,62,63,.25); } }
