@font-face { font-family:"Manrope"; font-style:normal; font-weight:400 800; font-display:swap; src:url("assets/fonts/manrope-cyrillic.woff2") format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:"Manrope"; font-style:normal; font-weight:400 800; font-display:swap; src:url("assets/fonts/manrope-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Playfair Display"; font-style:normal; font-weight:600 700; font-display:swap; src:url("assets/fonts/playfair-cyrillic.woff2") format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:"Playfair Display"; font-style:normal; font-weight:600 700; font-display:swap; src:url("assets/fonts/playfair-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { --ink:#17232d; --paper:#f8f8f5; --sand:#f0efe9; --rose:#efa1a7; --blue:#8abdc7; --line:rgba(23,35,45,.16); --display:"Playfair Display",Georgia,serif; --body:Manrope,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.skip-link { position:fixed; z-index:5; transform:translateY(-120%); background:var(--ink); color:white; padding:.75rem 1rem; }.skip-link:focus { transform:translateY(0); }
.site-header { display:flex; align-items:center; justify-content:space-between; max-width:1280px; margin:auto; padding:1.25rem 1.25rem; }.brand { position:relative; font:700 1.35rem/1 var(--display); letter-spacing:-.06em; }.brand span { color:var(--rose); }.brand i { position:absolute; width:.38rem; height:.38rem; border-radius:50%; background:var(--blue); right:-.45rem; top:-.1rem; }.header-phone { font-size:.82rem; font-weight:700; letter-spacing:-.03em; }
.hero { display:grid; overflow:hidden; min-height:calc(100svh - 74px); background:var(--sand); }.hero-copy { padding:4rem 1.25rem 3rem; display:flex; flex-direction:column; justify-content:center; }.eyebrow { margin:0 0:.9rem; font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.hero h1,.section h2 { margin:0; font:700 clamp(3.25rem,13vw,7.25rem)/.91 var(--display); letter-spacing:-.065em; }.hero h1 em,.section h2 em { color:var(--rose); font-style:italic; }.hero-text { max-width:27rem; margin:1.5rem 0 2rem; font-size:1rem; }.button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; width:max-content; min-height:3.3rem; padding:.75rem 1rem  .75rem 1.25rem; border-radius:999px; font-size:.9rem; font-weight:800; }.button-primary { color:white; background:var(--ink); }.button-primary span { display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:50%; background:var(--rose); font-size:1rem; }.hero-image-wrap { position:relative; min-height:22rem; }.hero-image { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; filter:saturate(.85); }.hero-note { position:absolute; right:1rem; bottom:1rem; max-width:10rem; margin:0; padding:.65rem .8rem; border-radius:.45rem; background:rgba(248,248,245,.9); font-size:.7rem; font-weight:700; line-height:1.35; }
.section { padding:5rem 1.25rem; max-width:1280px; margin:auto; }.section-heading { max-width:36rem; margin-bottom:2.5rem; }.section-heading > p:last-child { margin:1.4rem 0 0; max-width:27rem; font-size:.95rem; }.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }.card { overflow:hidden; min-width:0; background:#fff; border-radius:.75rem; }.card img { display:block; width:100%; aspect-ratio:1/.93; object-fit:cover; }.card-body { padding:1rem .85rem 1.1rem; }.card-index { color:var(--rose); font-size:.69rem; font-weight:800; margin:0 0:.3rem; }.card h3 { margin:0; font:700 1.08rem/1.07 var(--display); letter-spacing:-.045em; }.card-body > p:not(.card-index) { min-height:4.2em; margin:.65rem 0 .85rem; font-size:.72rem; line-height:1.45; }.card a { display:inline-flex; gap:.35rem; padding-bottom:.12rem; border-bottom:1px solid var(--ink); font-size:.72rem; font-weight:800; }.card a span { color:var(--rose); }.process { display:grid; gap:3rem; padding-top:4rem; background:var(--ink); color:white; max-width:none; }.process > * { width:min(100%,1280px); margin-inline:auto; padding-inline:1.25rem; }.process .eyebrow { color:var(--blue); }.process h2 em { color:var(--blue); }.process ol { margin:0; padding-bottom:4rem; list-style:none; }.process li { display:grid; grid-template-columns:3rem 1fr; gap:1rem; padding:1.4rem 0; border-top:1px solid rgba(255,255,255,.22); }.process li:last-child { border-bottom:1px solid rgba(255,255,255,.22); }.process li > span { color:var(--blue); font-size:.75rem; font-weight:800; }.process h3 { margin:0; font:600 1.4rem/1 var(--display); letter-spacing:-.04em; }.process li p { margin:.55rem 0 0; max-width:28rem; color:#d4d8da; font-size:.84rem; }.contact { display:grid; gap:2.4rem; padding-block:5rem; }.contact h2 { font-size:clamp(3.1rem,12vw,6.7rem); }.contact > div:first-child > p:last-child { max-width:22rem; margin:1.5rem 0 0; }.contact-actions { display:flex; align-items:flex-start; flex-direction:column; gap:1.25rem; }.contact-phone { margin:0; font-weight:700; letter-spacing:-.02em; }.text-link { padding-bottom:.25rem; border-bottom:1px solid var(--ink); font-weight:700; }.site-footer { display:grid; gap:2.3rem; padding:3rem 1.25rem 2rem; background:#e9e8e1; font-size:.74rem; }.footer-brand p { margin:.8rem 0 0; }.footer-details p { margin:.35rem 0; }.footer-legal { display:flex; flex-wrap:wrap; gap:.7rem 1rem; }.footer-legal a { border-bottom:1px solid rgba(23,35,45,.5); }.footer-legal p { width:100%; margin:.6rem 0 0; color:#657078; }
@media (min-width:700px) { .site-header { padding-inline:2.5rem; }.hero { grid-template-columns:1.05fr .95fr; min-height:650px; }.hero-copy { padding:5rem 2.5rem 5rem max(2.5rem,calc((100vw - 1180px)/2)); }.hero-image-wrap { min-height:0; }.section { padding:7.5rem 2.5rem; }.cards { grid-template-columns:repeat(4,1fr); gap:1rem; }.card-featured { grid-column:span 2; grid-row:span 2; }.card-featured img { aspect-ratio:1.04/.95; }.card-featured .card-body { padding:1.35rem; }.card-featured h3 { font-size:1.65rem; }.card-featured .card-body > p:not(.card-index) { font-size:.84rem; }.process { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:0; padding:7rem max(2.5rem,calc((100vw - 1180px)/2)); }.process > * { width:auto; padding:0; }.process ol { padding-bottom:0; }.contact { grid-template-columns:1.15fr .85fr; align-items:end; }.site-footer { grid-template-columns:1.1fr 1.25fr .75fr; padding:3.5rem max(2.5rem,calc((100vw - 1180px)/2)) 2.2rem; } }
@media (min-width:1100px) { .cards { gap:1.25rem; }.card-body { padding:1.15rem; }.card h3 { font-size:1.25rem; }.card-body > p:not(.card-index) { font-size:.78rem; }.site-footer { font-size:.78rem; } }
.card-body > p:not(.card-index):not(.card-price) { min-height:4.2em; }.card-price { display:flex; flex-direction:column; margin:.1rem 0 .8rem; font-size:.74rem; line-height:1.2; }.card-price del { color:#788087; text-decoration-thickness:1px; }.card-price strong { margin-top:.2rem; font-size:.92rem; }.card-featured .card-price { font-size:.88rem; }
.legal-page { max-width:860px; min-height:70vh; }
.legal-eyebrow { margin-top:4rem; }
.legal-document { margin-top:1.75rem; }
.legal-document h1 { margin:0 0 1rem; font:700 clamp(2.35rem,8vw,4.6rem)/.98 var(--display); letter-spacing:-.05em; overflow-wrap:anywhere; }
.legal-document h2 { margin:2.5rem 0 .8rem; font:700 clamp(1.45rem,4vw,2rem)/1.15 var(--display); letter-spacing:-.025em; }
.legal-document p { margin:.75rem 0; }
.legal-document ul { margin:.65rem 0 1rem; padding-left:1.4rem; }
.legal-document li { margin:.35rem 0; }
.legal-subtitle { color:#657078; font-size:.92rem; }
.legal-actions { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:3rem; }
