@font-face{font-family:'Inter Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin.woff2) format('woff2-variations');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:'Inter Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-greek.woff2) format('woff2-variations');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Inter Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-cyrillic.woff2) format('woff2-variations');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Garamond Accent';font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/garamond-i-latin.woff2) format('woff2-variations');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:'Garamond Accent';font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/garamond-i-greek.woff2) format('woff2-variations');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Garamond Accent';font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/garamond-i-cyrillic.woff2) format('woff2-variations');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --bone:#F6F4EF; --card:#ECE8E0; --hair:#E3DED4; --ink:#101114; --muted:#5F6167;
  --blue:#2742F5; --champagne:#B08D57; --green:#25D366;
  --body:'Inter Variable',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --accent:'Garamond Accent','EB Garamond',Georgia,serif;
  --pad:clamp(72px,10vw,168px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--body);
  font-size:17.5px;line-height:1.68;font-weight:400;-webkit-font-smoothing:antialiased;
  font-feature-settings:'ss01','cv05'}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
main,header,footer,.demobar,.announce,.mbar{position:relative;z-index:1}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.028em;line-height:1.03}
h1{font-size:clamp(2.7rem,6.4vw,5rem)}
h2{font-size:clamp(2rem,3.9vw,3.3rem)}
h3{font-size:1.22rem;letter-spacing:-.015em;line-height:1.25}
.it{font-family:var(--accent);font-style:italic;font-weight:400;letter-spacing:-.005em}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
  font-weight:500;margin:0}
.lead{font-size:1.1rem;color:var(--muted);max-width:60ch}
.sec{padding:var(--pad) 0}
.sec-head{max-width:64ch;margin-bottom:clamp(34px,5vw,64px)}
.sec-head h2{margin:.35em 0 .4em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}

.btn{display:inline-flex;align-items:center;gap:.55em;font:inherit;font-size:1rem;font-weight:500;
  cursor:pointer;border-radius:999px;padding:17px 32px;text-decoration:none;border:1px solid transparent;
  transition:transform .45s cubic-bezier(.2,.7,.3,1),background .45s ease,color .45s ease}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{transform:translateY(-3px)}
.btn-ink{background:var(--ink);color:var(--bone)}
.btn-ink:hover{transform:translateY(-3px)}
.btn-line{border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--bone)}
.btn-bone{background:var(--bone);color:var(--ink)}
.btn-bone:hover{transform:translateY(-3px)}
.btn-sm{padding:11px 22px;font-size:.92rem}

.demobar{background:var(--ink);color:rgba(246,244,239,.8);font-size:.76rem}
.demobar .wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:32px;
  padding-top:7px;padding-bottom:7px}
.demobar .dt{width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
.demobar b{font-weight:500;color:var(--bone)}
.demobar a{margin-left:auto;color:var(--bone);text-decoration:none;
  border-bottom:1px solid rgba(246,244,239,.35);white-space:nowrap}
@media (max-width:760px){.demobar span:not(.dt){display:none}}

.announce{background:var(--card);border-bottom:1px solid var(--hair);font-size:.86rem}
.announce .wrap{display:flex;gap:14px;align-items:center;justify-content:center;min-height:44px;
  padding-top:9px;padding-bottom:9px;text-align:center;flex-wrap:wrap}
.announce a{color:var(--blue);text-underline-offset:3px}

.hdr{position:sticky;top:0;z-index:50;background:rgba(246,244,239,.88);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair)}
.hdr .wrap{display:flex;align-items:center;gap:20px;height:76px}
.logo{font-size:1.06rem;font-weight:600;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;
  line-height:1.15}
.logo span{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);font-weight:400}
.nav{display:flex;gap:22px;margin-left:auto;font-size:.93rem}
.nav a{text-decoration:none;color:var(--muted);transition:color .3s;white-space:nowrap}
.nav a:hover{color:var(--ink)}
.langs{display:flex;gap:9px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.langs a{text-decoration:none;color:var(--muted)}
.langs a.on{color:var(--ink);font-weight:600}
.hdr-tel{text-decoration:none;font-weight:500;white-space:nowrap;font-size:.92rem}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--hair);
  background:none;border-radius:999px;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:1px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1px;
  background:var(--ink)}
.burger span::before{top:-6px}.burger span::after{top:6px}

/* hero */
.hero{padding:clamp(50px,7vw,110px) 0 clamp(40px,5vw,80px)}
.hero .wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,5vw,72px);align-items:center}
.hero h1{margin:.28em 0 .34em}
.hero h1 .it{display:block;color:var(--muted)}
.hero-sub{font-size:1.14rem;color:var(--muted);max-width:44ch;margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.hero-trust{display:flex;gap:10px 26px;flex-wrap:wrap;font-size:.9rem;color:var(--muted);
  border-top:1px solid var(--hair);padding-top:20px}
.hero-trust b{color:var(--ink);font-weight:500}
.hero-art{position:relative}
.arch{aspect-ratio:4/5;border-radius:999px 999px 6px 6px;overflow:hidden;position:relative;
  background:linear-gradient(170deg,#EFEBE3,#DFD9CE 60%,#D3CCC0)}
.arch svg{position:absolute;inset:0;width:100%;height:100%}
.arch svg *{fill:none;stroke:rgba(16,17,20,.16);stroke-width:1.1;vector-effect:non-scaling-stroke}
.arch>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.offer{position:absolute;left:-30px;bottom:44px;background:var(--bone);border:1px solid var(--hair);
  border-radius:14px;padding:20px 24px;max-width:255px;
  box-shadow:0 1px 2px rgba(16,17,20,.03),0 22px 44px -30px rgba(16,17,20,.4)}
.offer .t{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.offer .p{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:.25em 0 .3em}
.offer .n{font-size:.86rem;color:var(--muted);line-height:1.5;margin:0}

/* stats */
.stats{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:44px;padding-bottom:44px;gap:20px}
.stats div{padding-right:20px;border-right:1px solid var(--hair)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-size:clamp(2.4rem,4.4vw,3.6rem);font-weight:600;letter-spacing:-.035em;line-height:1}
.stats span{font-size:.88rem;color:var(--muted)}

/* numbered services */
.list{border-top:1px solid var(--hair)}
.srow{display:grid;grid-template-columns:64px 1fr auto 44px;gap:8px 22px;align-items:baseline;
  padding:30px 0;border-bottom:1px solid var(--hair);text-decoration:none;
  transition:padding-left .45s cubic-bezier(.2,.7,.3,1)}
.srow:hover{padding-left:10px}
.srow .n{font-size:.82rem;color:var(--muted);letter-spacing:.1em}
.srow h3{margin:0}
.srow .d{grid-column:2;font-size:.96rem;color:var(--muted);margin:.3em 0 0}
.srow .p{font-size:1.15rem;font-weight:500;white-space:nowrap}
.srow .p i{font-style:normal;color:var(--muted);font-size:.86rem;margin-right:.4em}
.srow .ar{justify-self:end;color:var(--muted);transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.srow:hover .ar{transform:translateX(6px);color:var(--ink)}
.hourly{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:26px 0 0;
  flex-wrap:wrap;color:var(--muted);font-size:.98rem}
.hourly b{color:var(--ink);font-size:1.15rem;font-weight:500}

/* top strip */
.top3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--hair);
  border:1px solid var(--hair);border-radius:14px;overflow:hidden}
.top3 a{background:var(--bone);padding:28px 26px 26px;text-decoration:none;display:block;
  transition:background .45s ease}
.top3 a:hover{background:var(--card)}
.top3 .n{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.top3 h3{margin:.7em 0 .35em}
.top3 .p{font-size:1.02rem;color:var(--muted)}
.top3 .p b{color:var(--ink);font-weight:500}

/* flagship */
.flag{background:var(--card)}
.flag .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.flag ul{list-style:none;margin:26px 0 30px;padding:0;display:grid;gap:13px}
.flag li{display:grid;grid-template-columns:18px 1fr;gap:12px;font-size:1rem;color:var(--muted)}
.flag li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);margin-top:.62em}

/* process */
.steps{display:grid;gap:0;border-top:1px solid var(--hair)}
.ph{position:relative;overflow:hidden;margin:0;background:var(--card)}
.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.flag .ph{aspect-ratio:3/2;border-radius:6px;margin-bottom:6px}
.steps .ph{aspect-ratio:3/2;border-radius:6px}
.who>span:not(:first-child){display:flex;align-items:center;gap:12px}
.who .face{flex:0 0 48px;width:48px;height:48px;border-radius:50%}
.steps article{display:grid;grid-template-columns:70px 1fr 1.2fr 200px;gap:20px 30px;padding:34px 0;
  border-bottom:1px solid var(--hair);align-items:start}
.steps .n{font-size:.82rem;color:var(--muted);letter-spacing:.1em}
.steps p{color:var(--muted);margin:0}

/* about */
.about .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start}
.cred{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 30px;margin-top:34px;
  border-top:1px solid var(--hair);padding-top:28px}
.cred b{display:block;font-size:1.18rem;font-weight:600;letter-spacing:-.02em}
.cred span{font-size:.9rem;color:var(--muted)}
.who{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;font-size:.94rem;color:var(--muted)}
.who b{display:block;color:var(--ink);font-weight:500}

/* form */
.book{background:var(--card);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.book .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,64px);align-items:start}
form{display:grid;gap:17px;background:var(--bone);border:1px solid var(--hair);border-radius:16px;
  padding:clamp(24px,3vw,36px)}
.row{display:grid;gap:6px}
label{font-size:.85rem;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bone);
  border:1px solid var(--hair);border-radius:10px;padding:13px 15px;width:100%}
textarea{min-height:78px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{font:inherit;font-size:.9rem;cursor:pointer;background:none;border:1px solid var(--hair);
  border-radius:999px;padding:9px 17px;transition:.35s}
.chip:hover{border-color:var(--muted)}
.chip.on{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.check{display:flex;gap:11px;align-items:flex-start;font-size:.87rem;color:var(--muted)}
.check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--blue)}
.err{color:#A3271B;font-size:.8rem;display:none}
.bad .err{display:block}
.bad input,.bad select,.bad textarea{border-color:#A3271B}
.fine{font-size:.86rem;color:var(--muted);margin:0}
.priv-note{font-size:.86rem;color:var(--muted);border-left:2px solid var(--hair);padding-left:14px;margin:0}
.sent{display:none;background:var(--bone);border:1px solid var(--hair);border-radius:16px;
  padding:40px 32px;text-align:center}
.done form{display:none}.done .sent{display:block}

/* reviews — chat cards */
.revs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.rev{background:var(--card);border-radius:18px 18px 18px 5px;padding:26px 28px 22px;margin:0}
.rev p{font-size:1.04rem;margin-bottom:1em}
.rev .m{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--muted)}
.rev .dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
.stars{color:var(--champagne);letter-spacing:.18em;font-size:.84rem;margin-bottom:12px}

.band{background:var(--ink);color:var(--bone)}
.band .wrap{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(44px,5vw,72px)}
.band h2{max-width:17ch}
.band p{color:rgba(246,244,239,.7);max-width:44ch;margin:.7em 0 0}

/* faq + contact */
.faq{max-width:840px}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative;font-size:1.1rem;
  font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:33px;width:11px;height:1px;
  background:var(--ink)}
.faq summary::before{content:"";position:absolute;right:13px;top:28px;width:1px;height:11px;
  background:var(--ink);transition:opacity .35s}
.faq details[open] summary::before{opacity:0}
.faq .a{color:var(--muted);padding:0 46px 24px 0;margin:0}
.con{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3vw,48px)}
.con dl{margin:0;display:grid;gap:26px}
.con dt{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.con dd{margin:0;font-size:1.04rem}
.con dd a{text-decoration:none;border-bottom:1px solid var(--hair)}
.hrs{list-style:none;margin:0;padding:0}
.hrs li{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid var(--hair);
  color:var(--muted)}
.hrs li b{color:var(--ink);font-weight:400}
.mapcard{border:1px solid var(--hair);border-radius:16px;overflow:hidden;background:var(--card)}
.mapcard .m{aspect-ratio:16/11;position:relative}
.mapcard .m svg{position:absolute;inset:0;width:100%;height:100%}
.mapcard .in{padding:20px 22px;display:flex;gap:14px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;border-top:1px solid var(--hair)}
.mapcard .in p{margin:0;font-size:.9rem;color:var(--muted);max-width:32ch}

.foot{border-top:1px solid var(--hair);padding:clamp(44px,5vw,68px) 0 128px}
.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.foot p{color:var(--muted);font-size:.93rem;max-width:34ch;margin:.7em 0 0}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.93rem}
.foot a{text-decoration:none;color:var(--muted)}
.foot a:hover{color:var(--ink)}
.foot .bottom{margin-top:38px;padding-top:22px;border-top:1px solid var(--hair);display:flex;gap:16px;
  justify-content:space-between;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;
  grid-template-columns:1fr 1fr 1.4fr;gap:1px;background:var(--hair);border-top:1px solid var(--hair)}
.mbar a{display:flex;align-items:center;justify-content:center;padding:15px 8px;background:var(--bone);
  text-decoration:none;font-size:.93rem;font-weight:500}
.mbar a.acc{background:var(--ink);color:var(--bone)}

.rv{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

.doc{max-width:750px;padding-top:clamp(44px,5vw,76px)}
.doc h1{font-size:clamp(2.1rem,4.6vw,3.2rem);margin-bottom:.45em}
.doc h2{margin:1.6em 0 .5em;font-size:1.3rem}
.doc p,.doc li{color:var(--muted)}

@media (max-width:1180px){.hdr-tel{display:none}}
@media (max-width:1040px){
  .top3,.cred{grid-template-columns:1fr 1fr}
  .steps article{grid-template-columns:60px 1fr 180px}
  .steps article p{grid-column:2}
  .steps article .ph{grid-column:3;grid-row:1/span 2}
}
@media (max-width:640px){
  .steps article{grid-template-columns:44px 1fr}
  .steps article .ph{grid-column:1/-1;grid-row:auto}
}
@media (max-width:900px){
  body{font-size:16.5px}
  .nav,.hdr-tel,.hdr .btn{display:none}
  .hdr .wrap{gap:12px;height:68px}
  .hdr .logo span{display:none}          /* the descriptor doesn't fit next to the switcher */
  .langs{margin-left:auto;gap:7px;font-size:.72rem}
  .burger{display:flex;margin-left:0}
  .hdr.open .nav{display:flex;position:absolute;left:0;right:0;top:68px;background:var(--bone);
    border-bottom:1px solid var(--hair);flex-direction:column;gap:0;padding:6px 0}
  .hdr.open .nav a{padding:14px clamp(20px,4vw,40px)}
  .hero .wrap,.flag .wrap,.about .wrap,.book .wrap,.con,.foot .wrap{grid-template-columns:1fr}
  .hero-art{order:-1;max-width:340px}
  .offer{left:auto;right:-6px;bottom:-14px;max-width:220px;padding:16px 18px}
  .stats .wrap{grid-template-columns:repeat(2,1fr);gap:26px 20px}
  .stats div:nth-child(2n){border-right:0}
  .top3,.revs,.cred{grid-template-columns:1fr}
  .srow{grid-template-columns:44px 1fr;gap:6px 16px}
  .srow .p{grid-column:2;grid-row:3}
  .srow .ar{display:none}
  .g2{grid-template-columns:1fr}
  .mbar{display:grid}
}
