:root { --cream:#FDFBF7; --wine:#4A1F31; --ink:#1E1E1E; --gold:#C2A14D; --green:#2A6B4E; --line:#e9e1d6; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.5; } a { color:inherit; text-decoration:none; } .section-shell { width:min(1180px,calc(100% - 48px)); margin:auto; } .site-header { height:82px; display:flex; align-items:center; justify-content:space-between; width:min(1280px,calc(100% - 48px)); margin:auto; position:relative; z-index:2; } .brand { color:var(--wine); display:flex; align-items:center; gap:10px; font-weight:800; line-height:1.02; letter-spacing:-.04em; font-size:16px; } .brand em { color:var(--gold); font-family:'Playfair Display',serif; font-weight:700; } .brand-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--gold); border-radius:50%; font-family:'Playfair Display',serif; font-size:23px; color:var(--gold); } .desktop-nav { display:flex; gap:30px; font-size:13px; font-weight:700; color:#5c5054; } .desktop-nav a:hover,.text-link:hover { color:var(--gold); } .header-cta { font-size:13px; font-weight:800; color:var(--wine); } .header-cta span { color:var(--gold); font-size:19px; margin-left:7px; } .hero { min-height:700px; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:65px; padding:56px 0 85px; } .eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:800; color:var(--gold); margin:0 0 20px; } h1,h2 { font-family:'Playfair Display',Georgia,serif; font-weight:600; line-height:1.02; letter-spacing:-.055em; margin:0; } h1 { font-size:clamp(49px,5.2vw,74px); } h1 i,h2 i { color:var(--wine); font-weight:600; } .hero-lead { max-width:500px; font-size:17px; line-height:1.65; margin:26px 0 31px; color:#5b5051; } .hero-actions { display:flex; align-items:center; gap:27px; } .button { display:inline-flex; align-items:center; gap:16px; border:0; cursor:pointer; font:700 13px Manrope,Arial,sans-serif; padding:16px 20px; transition:transform .2s,background .2s; } .button:hover { transform:translateY(-2px); } .button span { font-size:20px; line-height:0; } .button-gold { color:#fff; background:var(--gold); } .button-burgundy { color:white; background:var(--wine); } .text-link { font-size:13px; font-weight:800; color:var(--wine); } .text-link span { color:var(--gold); margin-left:6px; } .hero-meta { margin-top:58px; display:flex; flex-wrap:wrap; gap:9px; } .hero-meta span { color:#766b6c; font-size:11px; padding:5px 11px; border:1px solid #ded5cd; border-radius:100px; } .hero-photo-wrap { position:relative; padding:0 31px 36px 0; } .hero-photo-frame { height:525px; overflow:hidden; border-radius:170px 170px 10px 10px; background:#d4cdc4; } .hero-photo-frame img { width:100%; height:100%; object-fit:cover; object-position:52% 42%; filter:saturate(.84) contrast(.96); } .hero-note { position:absolute; right:0; bottom:0; width:250px; background:#fffdf9; padding:19px 20px; display:flex; align-items:flex-start; gap:12px; box-shadow:0 10px 30px #3b242215; } .hero-note p { margin:0; font-size:12px; line-height:1.45; } .note-icon { color:var(--gold); font-size:18px; } .directions { padding:110px 0; display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; } h2 { font-size:clamp(38px,4.1vw,57px); } .section-intro > p:last-child { max-width:330px; color:#665e5d; font-size:14px; line-height:1.7; margin:24px 0 0; } .direction-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .direction-card { min-height:385px; padding:29px; display:flex; flex-direction:column; border-radius:5px; } .direction-russia { background:var(--wine); color:#fff; } .direction-world { background:#ede5d8; color:var(--ink); } .card-number { color:var(--gold); font-family:'Playfair Display',serif; font-size:16px; } .direction-card h3 { font-family:'Playfair Display',serif; font-size:31px; line-height:1.05; letter-spacing:-.04em; margin:54px 0 13px; font-weight:600; } .direction-card p { margin:0; font-size:12px; line-height:1.65; max-width:250px; opacity:.85; } .city-pills,.country-list { margin:25px 0 23px; display:flex; flex-wrap:wrap; gap:6px; } .city-pills span,.country-list span { font-size:10px; padding:5px 8px; border:1px solid #ffffff45; border-radius:99px; } .country-list span { border-color:#bcae9c; } .direction-card a { margin-top:auto; font-size:12px; font-weight:800; } .direction-card a span { color:var(--gold); font-size:20px; vertical-align:-2px; margin-left:7px; } .approach { background:var(--wine); color:#fff; padding:108px 0; } .approach-inner { display:grid; grid-template-columns:.95fr 1.05fr; gap:96px; align-items:center; } .approach-visual { height:545px; position:relative; overflow:hidden; } .approach-visual img { width:100%; height:100%; object-fit:cover; object-position:56% center; filter:saturate(.75) brightness(.77); } .approach-visual p { position:absolute; bottom:30px; left:29px; font-family:'Playfair Display',serif; font-size:28px; line-height:1.06; margin:0; letter-spacing:-.04em; } .approach-visual i { color:#e3c56f; } .approach .eyebrow { color:#e3c56f; } .approach h2 i { color:#e3c56f; } .approach-lead { color:#efe7e7; max-width:460px; line-height:1.7; margin:26px 0 28px; font-size:14px; } .steps { padding:0; margin:0; list-style:none; } .steps li { display:flex; gap:19px; padding:15px 0; border-top:1px solid #ffffff2a; } .steps b { color:#e3c56f; font-size:11px; } .steps strong { display:block; font-size:13px; } .steps small { display:block; margin-top:4px; font-size:11px; color:#d4c6c9; } .services { padding:110px 0; } .services-header { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:45px; } .services-header > p { max-width:285px; color:#685e5d; font-size:13px; line-height:1.7; margin:0; } .service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .service-grid article { min-height:215px; padding:28px 25px 24px 0; border-right:1px solid var(--line); margin-right:25px; } .service-grid article:last-child { border:0; margin:0; } .service-grid span { color:var(--gold); font-size:25px; } .service-grid h3 { font-family:'Playfair Display',serif; font-size:22px; line-height:1.05; margin:40px 0 9px; letter-spacing:-.04em; } .service-grid p { font-size:11px; color:#6f6665; line-height:1.7; margin:0; } .cases { background:#e9e1d4; padding:100px 0; } .cases-inner { display:grid; grid-template-columns:1fr .8fr; gap:100px; align-items:center; } .cases-inner > div > p:not(.eyebrow) { max-width:400px; margin:24px 0 29px; font-size:14px; line-height:1.7; color:#5a5150; } .cases figure { margin:0; position:relative; height:440px; overflow:hidden; } .cases figure img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8); } .cases figcaption { position:absolute; left:0; bottom:0; color:#fff; padding:24px; font:25px/1.04 'Playfair Display',serif; letter-spacing:-.04em; background:linear-gradient(transparent,#0008); width:100%; } .request { padding:115px 0; display:grid; grid-template-columns:1fr .86fr; gap:100px; } .request-copy > p:not(.eyebrow) { color:#665d5b; max-width:450px; margin:25px 0 34px; font-size:14px; line-height:1.7; } .contact-list { display:grid; gap:10px; max-width:360px; } .contact-list a { display:flex; justify-content:space-between; padding:11px 0; border-top:1px solid var(--line); font-size:12px; font-weight:800; } .contact-list span { color:#786e69; font-weight:500; } .request-form { background:#f0e8dc; padding:30px; display:grid; gap:14px; align-content:start; } label { display:grid; gap:6px; font-size:11px; font-weight:800; color:#4d4142; } input,select,textarea { background:#fdfbf7; border:1px solid transparent; border-radius:0; padding:12px; font:12px Manrope,sans-serif; color:var(--ink); outline:none; width:100%; } input:focus,select:focus,textarea:focus { border-color:var(--gold); } .consent { display:flex; gap:8px; align-items:flex-start; font-weight:500; font-size:10px; line-height:1.4; } .consent input { margin:2px 0 0; width:13px; accent-color:var(--wine); } .request-form .button { justify-content:center; margin-top:3px; } .form-note { min-height:15px; margin:0; color:#6c625d; font-size:10px; line-height:1.3; } footer { background:var(--wine); color:#fff; padding:34px 0; } .footer-inner { display:flex; justify-content:space-between; align-items:center; } footer .brand { color:#fff; } footer .brand-mark { border-color:#d3b45d; } footer .brand em { color:#d3b45d; } footer p { font-size:10px; line-height:1.6; color:#dacfd2; margin:0; } footer > div > a:last-child { font-size:11px; font-weight:800; color:#e3c56f; }
@media (max-width:800px) { .site-header{height:72px;width:min(100% - 32px,1180px)} .desktop-nav{display:none}.header-cta{font-size:11px}.section-shell{width:min(100% - 32px,1180px)}.hero{min-height:auto;grid-template-columns:1fr;gap:40px;padding:45px 0 62px}.hero-copy{order:1}.hero-photo-wrap{order:2;padding-right:20px}.hero-photo-frame{height:420px;border-radius:120px 120px 6px 6px}h1{font-size:50px}.hero-meta{margin-top:34px}.directions,.approach-inner,.request,.cases-inner{grid-template-columns:1fr;gap:48px}.directions{padding:70px 0}.direction-grid{grid-template-columns:1fr}.direction-card{min-height:310px}.approach{padding:70px 0}.approach-visual{height:430px}.services{padding:70px 0}.services-header{align-items:start;flex-direction:column}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0;margin-right:0}.service-grid article:nth-child(n+3){border-top:1px solid var(--line);padding-top:28px}.cases{padding:70px 0}.cases figure{height:380px}.request{padding:75px 0}.footer-inner{gap:25px;align-items:start;flex-direction:column}.request-form{padding:22px} }
@media (max-width:440px) { h1{font-size:clamp(39px,12vw,44px)}h2{font-size:36px}.brand{font-size:12px}.brand-mark{width:29px;height:29px;font-size:19px}.header-cta{max-width:104px;text-align:right}.hero-actions{align-items:stretch;flex-direction:column;gap:18px}.hero-actions .button{justify-content:space-between;width:100%}.hero-photo-frame{height:380px}.hero-note{width:220px;padding:15px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(2){border-right:0;margin-right:0;border-top:1px solid var(--line);padding-top:28px}.service-grid article:first-child{border-top:0}.cases-inner{gap:36px}.request-form{padding:18px}.request-form .button{min-height:52px}.contact-list a{gap:12px}.contact-list span{text-align:right} }

.form-trap { display:none!important; }
.request-form button:disabled { cursor:wait; opacity:.65; transform:none; }
.form-note-success { color:var(--green); font-weight:700; }
.form-note-error { color:#9b2638; font-weight:700; }

.request-form { position:relative; border:1px solid #dfd0bc; border-top:5px solid var(--gold); box-shadow:0 24px 60px #4a1f3114; }
.form-heading { margin:-4px 0 8px; padding-bottom:17px; border-bottom:1px solid #d9cbb9; }
.form-heading span { display:inline-block; color:var(--wine); background:#fffaf1; border:1px solid #dac7a7; border-radius:99px; padding:5px 10px; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.form-heading h3 { margin:12px 0 4px; color:var(--wine); font:600 27px/1.08 'Playfair Display',serif; letter-spacing:-.035em; }
.form-heading p { margin:0; color:#746765; font-size:11px; line-height:1.5; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.request-form input,.request-form select,.request-form textarea { min-height:46px; border-color:#e7ddd0; transition:border-color .2s,box-shadow .2s; }
.request-form textarea { min-height:92px; resize:vertical; }
.request-form input:focus,.request-form select:focus,.request-form textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px #c2a14d1c; }
.form-submit { min-height:56px; justify-content:space-between!important; padding-inline:24px; font-size:14px; box-shadow:0 10px 24px #9f7b2630; }
.form-submit:hover { background:#aa8732; }
.case-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button-max { color:var(--wine); background:var(--gold); }
.button-max:hover { color:#fff; background:#aa8732; }
.contact-list { grid-template-columns:1fr 1fr; gap:10px; max-width:470px; }
.contact-list .contact-button { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:10px; min-height:58px; padding:11px 13px; border:1px solid #ded2c4; background:#fffdf9; color:var(--wine); transition:transform .2s,border-color .2s,box-shadow .2s; }
.contact-list .contact-button:hover { transform:translateY(-2px); border-color:var(--gold); box-shadow:0 9px 22px #4a1f3114; }
.contact-button .contact-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--wine); color:#fff; font-weight:800; }
.contact-button strong { font-size:11px; }
.contact-button .contact-arrow { color:var(--gold); font-size:18px; font-weight:800; }
.contact-whatsapp .contact-icon { background:var(--green); }
.contact-max .contact-icon { background:var(--gold); }
.contact-email .contact-icon { background:#786e69; }

@media (max-width:560px) {
  .form-grid { grid-template-columns:1fr; gap:14px; }
  .form-heading h3 { font-size:25px; }
  .case-actions { align-items:stretch; flex-direction:column; }
  .case-actions .button { justify-content:space-between; width:100%; }
  .contact-list { grid-template-columns:1fr; max-width:none; }
}
