/* ============================================================
   AURUM ADVISORY — ivory paper & gold leaf
   Palette sampled from the handmade-paper background art.
   ============================================================ */

:root{
  --bg:            #f4f0e8;  /* ivory paper */
  --bg-soft:       #ebe3d5;  /* warmer band for alternating sections */
  --panel:         rgba(255,255,255,0.58);
  --panel-border:  rgba(140,110,55,0.22);
  --panel-border-strong: rgba(140,110,55,0.42);
  --ink:           #1f1a12;  /* headings — deep warm near-black */
  --ink-soft:      #473e30;  /* body copy */
  --ink-faint:     #675b49;  /* captions and labels — dark enough for 4.5:1 on --bg-soft */
  /* Two golds: one dark enough to read as text on ivory, one metallic
     for gradients and decoration. Never use --gold-bright for small text. */
  --gold-ink:      #7a5c16;
  --gold:          #a8842e;
  --gold-bright:   #d9b872;
  --gold-deep:     #6d5214;
  --radius:        16px;
  --ease:          cubic-bezier(.16,.8,.24,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3{
  font-family:'Playfair Display', Georgia, serif;
  font-weight:500;
  line-height:1.12;
  margin:0 0 .5em;
  color:var(--ink);
  letter-spacing:.01em;
}

p{ margin:0 0 1em; color:var(--ink-soft); }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
img{ max-width:100%; display:block; }
svg{ width:100%; height:100%; }

.container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}

.gold-text{
  background:linear-gradient(180deg, var(--gold-bright), var(--gold-deep));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.eyebrow{
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold-ink);
  margin:0 0 1em;
  font-weight:600;
}
.eyebrow.center{ text-align:center; }

.section-title{ font-size:clamp(2rem,3.4vw,2.8rem); max-width:780px; }
.section-title.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-sub{ max-width:620px; font-size:1.02rem; }
.section-sub.center{ margin:0 auto 3.5rem; text-align:center; }

/* ---------- black marble ground with gold veining ----------
   Two turbulence-filtered layers drift at different rates on scroll,
   so the stone reads as depth rather than a flat backdrop. */
.marble{
  position:fixed; left:-6%; right:-6%; top:-14%;
  height:132%;
  z-index:0; pointer-events:none;
  will-change:transform;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
/* far layer: broad, soft veins.
   luminanceToAlpha zeroes RGB, so the vein mask has to be re-coloured
   with a gold feFlood — compositing against SourceGraphic yields black. */
/* the handmade-paper photograph, drifting slowly as you scroll */
.marble-far{
  opacity:1;
  background-image:url("../img/bg-paper.jpg");
}
/* a second, offset copy adds depth without a second download */
.marble-near{
  opacity:.34;
  background-image:url("../img/bg-paper.jpg");
  background-position:center 30%;
  transform:scaleX(-1);
}
/* wash the paper back so body copy always wins */
.marble-far::after{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 85% 65% at 50% 38%, rgba(244,240,232,.70), rgba(244,240,232,.88) 70%),
    linear-gradient(180deg, rgba(244,240,232,.55), rgba(244,240,232,.80));
}

/* ---------- background ambience ---------- */
.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.055; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.bg-glow{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 900px 520px at 12% -5%, rgba(201,162,74,0.16), transparent 62%),
    radial-gradient(ellipse 800px 600px at 95% 18%, rgba(176,140,90,0.12), transparent 62%),
    radial-gradient(ellipse 900px 600px at 50% 102%, rgba(201,162,74,0.10), transparent 62%);
}

/* ============ INTRO: AI ROBOT ============ */
.intro{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  background:#05060a;
  transition:opacity .7s var(--ease), visibility .7s;
}
.intro.done{ opacity:0; visibility:hidden; }
.intro-inner{ display:flex; flex-direction:column; align-items:center; gap:1.4rem; }

.bot{ width:150px; height:158px; overflow:visible; }

/* line art draws itself on — dash length must exceed every path it's applied to */
.bot-draw{
  stroke-dasharray:500; stroke-dashoffset:500;
  animation:botDraw 1.1s var(--ease) forwards;
}
.bot rect.bot-draw{ animation-delay:.14s; }
@keyframes botDraw{ to{ stroke-dashoffset:0; } }

/* antenna spark pulses, then the eyes wake up */
.bot-spark{ opacity:0; transform-origin:100px 24px; animation:botSpark 1.9s var(--ease) .5s infinite; }
@keyframes botSpark{
  0%{ opacity:0; transform:scale(.5); }
  22%{ opacity:1; transform:scale(1); }
  60%{ opacity:.35; transform:scale(.85); }
  100%{ opacity:0; transform:scale(.5); }
}
.bot-eye{ opacity:0; animation:botEye 2.2s var(--ease) .95s infinite; }
.bot-eye-2{ animation-delay:1.05s; }
@keyframes botEye{
  0%{ opacity:0; }
  14%{ opacity:1; }
  70%{ opacity:1; }
  84%{ opacity:.25; }
  100%{ opacity:1; }
}

/* the equaliser — the bot is processing */
.bot-bars line{
  transform-box:fill-box; transform-origin:50% 50%;
  animation:botBar .9s ease-in-out infinite alternate;
}
.bot-bars line:nth-child(1){ animation-delay:0s; }
.bot-bars line:nth-child(2){ animation-delay:.13s; }
.bot-bars line:nth-child(3){ animation-delay:.26s; }
.bot-bars line:nth-child(4){ animation-delay:.39s; }
@keyframes botBar{ from{ transform:scaleY(.35); } to{ transform:scaleY(1); } }
.bot-bars{ opacity:0; animation:botFadeIn .5s ease .9s forwards; }
@keyframes botFadeIn{ to{ opacity:1; } }

.bot-orbit-ring{ opacity:0; animation:botFadeIn .6s ease 1.05s forwards; }
.bot-orbit{
  opacity:0; transform-origin:100px 98px;
  animation:botFadeIn .4s ease 1.15s forwards, botOrbit 3.6s linear 1.15s infinite;
}
@keyframes botOrbit{ to{ transform:rotate(360deg); } }

.intro-word{
  margin:0;
  font-family:'Inter',sans-serif;
  font-size:.74rem; letter-spacing:.42em; text-indent:.42em;
  color:var(--gold);
  opacity:0; animation:botFadeIn .8s ease 1.35s forwards;
}
.intro-bar{
  width:132px; height:1px; background:rgba(217,184,114,.18);
  overflow:hidden; border-radius:2px;
}
.intro-bar span{
  display:block; height:100%; width:100%;
  background:linear-gradient(90deg, transparent, var(--gold-bright), transparent);
  transform:translateX(-100%);
  animation:botLoad 1.5s var(--ease) 1.2s infinite;
}
@keyframes botLoad{ to{ transform:translateX(100%); } }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.85em 1.7em;
  border-radius:999px;
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.03em;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s, background .35s, color .35s;
  white-space:nowrap;
}
.btn-gold{
  background:linear-gradient(135deg, var(--gold-bright), var(--gold-deep));
  color:#191204;
  box-shadow:0 8px 22px -8px rgba(120,90,30,.45);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(120,90,30,.55); }
.btn-outline{
  border-color:var(--panel-border-strong);
  color:var(--ink);
  background:rgba(255,255,255,.45);
}
.btn-outline:hover{ border-color:var(--gold); color:var(--gold-deep); transform:translateY(-2px); }
.btn-ghost{
  color:var(--ink-soft);
  font-size:.82rem;
  padding:.7em 1.1em;
}
.btn-ghost:hover{ color:var(--gold-deep); }
.btn-lg{ padding:1em 2.1em; font-size:.92rem; }
.btn-block{ width:100%; }

/* ============ HEADER ============ */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 0;
  transition:padding .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  padding:12px 0;
  background:rgba(244,240,232,.82);
  backdrop-filter:blur(16px) saturate(130%);
  border-bottom:1px solid var(--panel-border);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand-logo{ height:34px; width:auto; }
.main-nav{ display:flex; gap:2.2rem; }
.main-nav a{
  font-size:.86rem; color:var(--ink-soft); position:relative; padding:4px 0;
  transition:color .25s;
}
.main-nav a::after{
  content:''; position:absolute; left:0; right:100%; bottom:-2px; height:1px;
  background:var(--gold); transition:right .3s var(--ease);
}
.main-nav a:hover{ color:var(--ink); }
.main-nav a:hover::after{ right:0; }
.header-cta{ display:flex; align-items:center; gap:.6rem; }
.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:1px solid var(--panel-border); border-radius:8px; cursor:pointer;
}
.nav-toggle span{ height:1.5px; width:16px; margin:0 auto; background:var(--ink); transition:.3s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* ============ LANGUAGE SWITCHER ============ */
.lang-switch{ position:relative; flex-shrink:0; }
.lang-switch-mobile{ display:none; }
.lang-current{
  display:flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.55);
  border:1px solid var(--panel-border);
  border-radius:999px;
  padding:.5em .9em;
  color:var(--ink-soft);
  font-family:'Inter',sans-serif;
  font-size:.78rem; font-weight:600; letter-spacing:.06em;
  cursor:pointer;
  transition:border-color .25s, color .25s;
}
.lang-current:hover{ border-color:var(--panel-border-strong); color:var(--gold-deep); }
.lang-caret{ width:10px; height:7px; transition:transform .3s var(--ease); }
.lang-switch.open .lang-caret{ transform:rotate(180deg); }
.lang-menu{
  position:absolute; top:calc(100% + 10px); right:0;
  min-width:160px;
  background:rgba(250,247,241,.98);
  backdrop-filter:blur(16px);
  border:1px solid var(--panel-border-strong);
  border-radius:12px;
  padding:.4rem;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
  box-shadow:0 20px 40px -12px rgba(90,70,30,.22);
  z-index:120;
}
.lang-switch.open .lang-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.lang-menu li{
  padding:.62em .9em; border-radius:8px; font-size:.85rem; color:var(--ink-soft);
  cursor:pointer; transition:background .2s, color .2s;
}
.lang-menu li:hover{ background:rgba(140,110,55,.10); color:var(--ink); }
.lang-menu li.active{ color:var(--gold-deep); background:rgba(168,132,46,.14); font-weight:600; }

/* ============ HERO ============ */
.hero{
  position:relative;
  padding:80px 0 120px;
  overflow:hidden;
}
.hero-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(140,110,55,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,110,55,.07) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 20%, black, transparent 75%);
  z-index:0;
}
.hero-inner{ position:relative; z-index:2; text-align:center; }
.hero h1{
  font-size:clamp(2.6rem, 6vw, 4.6rem);
  max-width:920px;
  margin-left:auto; margin-right:auto;
}
.hero-sub{
  max-width:640px; margin:1.6rem auto 2.6rem;
  font-size:1.08rem; color:var(--ink-soft);
}
/* Cyrillic words run longer — scale headings down so they don't dominate the fold */
:lang(ru) .hero h1, :lang(uk) .hero h1{ font-size:clamp(2rem, 4.4vw, 3.5rem); }
:lang(ru) .section-title, :lang(uk) .section-title{ font-size:clamp(1.7rem,2.8vw,2.3rem); }
:lang(ru) .about-copy h2, :lang(uk) .about-copy h2,
:lang(ru) .why-copy h2, :lang(uk) .why-copy h2,
:lang(ru) .contact-copy h2, :lang(uk) .contact-copy h2{ font-size:clamp(1.6rem,2.5vw,2.1rem); }
.hero-actions{ display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; margin-bottom:5rem; }

.hero-stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  max-width:900px; margin:0 auto;
  border-top:1px solid var(--panel-border);
  padding-top:2.6rem;
}
.stat{ display:flex; flex-direction:column; gap:.35rem; }
.stat-num{ font-family:'Playfair Display',serif; font-size:2.2rem; color:var(--gold-deep); }
.stat-label{ font-size:.76rem; color:var(--ink-faint); letter-spacing:.03em; text-transform:uppercase; }

.scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  width:22px; height:36px; border:1px solid var(--panel-border-strong); border-radius:20px;
  z-index:2;
}
.scroll-cue span{
  position:absolute; top:6px; left:50%; width:3px; height:6px; margin-left:-1.5px;
  background:var(--gold); border-radius:2px;
  animation:scrollcue 2s infinite;
}
@keyframes scrollcue{ 0%{opacity:1; top:6px;} 70%{opacity:0; top:18px;} 100%{opacity:0; top:6px;} }

/* ============ TRUST STRIP ============ */
.trust-strip{
  position:relative; z-index:2;
  border-top:1px solid var(--panel-border); border-bottom:1px solid var(--panel-border);
  background:var(--bg-soft);
  padding:16px 0;
  overflow:hidden;
  white-space:nowrap;
}
.trust-track{
  display:inline-flex; align-items:center; gap:1.2rem;
  animation:marquee 32s linear infinite;
  font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint);
}
.trust-track span:not(.dot){ padding:0 .2rem; }
.trust-track .dot{ color:var(--gold-ink); font-size:.7rem; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============ ABOUT ============ */
.about{ padding:140px 0; position:relative; z-index:2; }
.about-grid{
  display:grid; grid-template-columns:.62fr 1.38fr; gap:4.5rem; align-items:center;
}
.about-media{ position:relative; max-width:330px; }
.portrait-frame{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--panel-border-strong);
  box-shadow:0 26px 54px -22px rgba(80,60,25,.38);
}
.portrait-frame::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(6,7,10,.85));
  pointer-events:none;
}
.portrait-frame img{ width:100%; height:auto; display:block; filter:saturate(.92) contrast(1.03); }
.portrait-badge{
  position:absolute; left:20px; right:20px; bottom:20px; z-index:2;
  display:flex; flex-direction:column; gap:2px;
}
.badge-line1{ font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-bright); }
.badge-line2{ font-family:'Playfair Display',serif; font-size:1.1rem; color:#fff; }

.about-copy h2{ font-size:clamp(1.9rem,3vw,2.5rem); }
.lead{ font-size:1.02rem; }
.lang-pills{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }
.lang-pills li{
  padding:.5em 1.1em; border:1px solid var(--panel-border-strong); border-radius:999px;
  font-size:.82rem; color:var(--gold-ink); background:var(--panel); font-weight:500;
}

/* ============ SERVICES ============ */
.services{ padding:100px 0 140px; position:relative; z-index:2; }
.services-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
.service-card{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:var(--radius);
  padding:2.4rem 2rem;
  transition:transform .4s var(--ease), border-color .4s, background .4s;
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:var(--panel-border-strong);
  background:rgba(255,255,255,.78);
}
.service-icon{
  width:46px; height:46px; margin-bottom:1.4rem; color:var(--gold-ink);
}
.service-card h3{ font-size:1.4rem; margin-bottom:.6rem; }
.service-card p{ font-size:.92rem; }
.service-list{ margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--panel-border); display:flex; flex-direction:column; gap:.55rem; }
.service-list li{ font-size:.84rem; color:var(--ink-faint); padding-left:1.1rem; position:relative; }
.service-list li::before{ content:''; position:absolute; left:0; top:.55em; width:5px; height:5px; border-radius:50%; background:var(--gold); }

/* ============ WHY ============ */
.why{ padding:120px 0; position:relative; z-index:2; background:var(--bg-soft); border-top:1px solid var(--panel-border); border-bottom:1px solid var(--panel-border); }
.why-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:4rem; align-items:start; }
.why-copy h2{ font-size:clamp(1.9rem,3vw,2.5rem); }
.why-features{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.why-card{
  border:1px solid var(--panel-border); border-radius:var(--radius); padding:1.8rem;
  background:rgba(255,255,255,.46);
  transition:border-color .35s, transform .35s var(--ease);
}
.why-card:hover{ border-color:var(--panel-border-strong); transform:translateY(-4px); }
.why-num{ font-family:'Playfair Display',serif; color:var(--gold-ink); font-size:1.6rem; }
.why-card h3{ font-size:1.15rem; margin:.5rem 0 .4rem; }
.why-card p{ font-size:.86rem; margin:0; }

/* ============ PROCESS ============ */
.process{ padding:140px 0; position:relative; z-index:2; }
.process-track{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; position:relative;
}
.process-track::before{
  content:''; position:absolute; top:22px; left:6%; right:6%; height:1px;
  background:linear-gradient(90deg, transparent, var(--panel-border-strong) 15%, var(--panel-border-strong) 85%, transparent);
  z-index:0;
}
.process-step{ position:relative; z-index:1; }
.step-num{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  background:var(--bg); border:1px solid var(--panel-border-strong);
  font-family:'Playfair Display',serif; color:var(--gold-deep); font-size:1.2rem;
  margin-bottom:1.2rem;
}
.process-step h3{ font-size:1.15rem; margin-bottom:.5rem; }
.process-step p{ font-size:.86rem; }

/* ============ CONTACT ============ */
.contact{ padding:140px 0 120px; position:relative; z-index:2; }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; }
.contact-copy h2{ font-size:clamp(1.9rem,3vw,2.5rem); }
.contact-methods{ display:flex; flex-direction:column; gap:.7rem; margin-top:2rem; }
.contact-method{
  display:flex; align-items:center; gap:1rem;
  padding:1rem 1.2rem;
  border:1px solid var(--panel-border);
  border-radius:12px;
  background:var(--panel);
  transition:border-color .3s, transform .3s var(--ease);
}
.contact-method:not(.static):hover{ border-color:var(--panel-border-strong); transform:translateX(4px); }
.contact-method strong{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-ink); font-weight:600; }
.contact-method span span{ font-size:.94rem; color:var(--ink); }
.cm-icon{
  flex-shrink:0; width:22px; height:22px; color:var(--gold);
}

.contact-form{
  background:var(--panel); border:1px solid var(--panel-border); border-radius:var(--radius);
  padding:2.4rem;
}
.form-title{ font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--ink); margin-bottom:1.4rem; }
.contact-form label{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem; font-size:.78rem; color:var(--ink-faint); letter-spacing:.03em; text-transform:uppercase; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-form input, .contact-form textarea{
  font-family:'Inter',sans-serif;
  background:rgba(255,255,255,.72);
  border:1px solid var(--panel-border);
  border-radius:8px;
  padding:.8em .9em;
  color:var(--ink);
  font-size:.92rem;
  resize:vertical;
  transition:border-color .25s;
}
.contact-form input:focus, .contact-form textarea:focus{
  outline:none; border-color:var(--gold);
}
.form-note{ font-size:.76rem; color:var(--ink-faint); margin:1rem 0 0; text-align:center; }

/* ============ FOOTER ============ */
.site-footer{
  position:relative; z-index:2;
  border-top:1px solid var(--panel-border);
  padding:56px 0 28px;
  background:var(--bg-soft);
}
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; padding-bottom:36px; border-bottom:1px solid var(--panel-border); }
.footer-logo{ height:28px; opacity:.9; }
.footer-nav{ display:flex; gap:1.6rem; flex-wrap:wrap; }
.footer-nav a{ font-size:.82rem; color:var(--ink-soft); transition:color .25s; }
.footer-nav a:hover{ color:var(--gold-deep); }
.footer-contact{ display:flex; flex-direction:column; align-items:flex-end; gap:.3rem; font-size:.82rem; color:var(--ink-soft); }
.footer-contact a:hover{ color:var(--gold-deep); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.6rem;
  padding-top:24px; font-size:.76rem; color:var(--ink-faint);
}
.footer-tag{ font-style:italic; }

/* ============ WHATSAPP FAB ============ */
.whatsapp-fab{
  position:fixed; right:24px; bottom:24px; z-index:200;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--gold-bright), var(--gold-deep));
  color:#191204;
  box-shadow:0 12px 28px -8px rgba(120,90,30,.5);
  transition:transform .3s var(--ease);
}
.whatsapp-fab svg{ width:26px; height:26px; }
.whatsapp-fab:hover{ transform:scale(1.08); }

/* ============ SCROLL REVEAL ============ */
.reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.in{ opacity:1; transform:translateY(0); }

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .about-grid, .why-grid, .contact-grid{ grid-template-columns:1fr; gap:3rem; }
  .services-grid{ grid-template-columns:1fr 1fr; }
  .process-track{ grid-template-columns:1fr 1fr; row-gap:2.4rem; }
  .process-track::before{ display:none; }
  .why-features{ grid-template-columns:1fr 1fr; }
  .about{ padding:100px 0; }
  .services{ padding:80px 0 100px; }
  .why, .process{ padding:90px 0; }
  .contact{ padding:90px 0 80px; }
}

@media (max-width:820px){
  .main-nav, .header-cta{ display:none; }
  .nav-toggle{ display:flex; }

  .main-nav.open{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:rgba(248,245,238,.98); backdrop-filter:blur(20px);
    border-bottom:1px solid var(--panel-border);
    padding:8px 28px 22px;
    max-height:calc(100vh - 70px); overflow-y:auto;
  }
  .main-nav.open a{ padding:15px 0; border-bottom:1px solid var(--panel-border); font-size:.95rem; }

  /* language picker inside the mobile menu */
  .lang-switch{ display:none; }
  .lang-switch-mobile{ display:block; padding-top:18px; }
  .lang-mobile-label{
    display:block; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
    color:var(--gold-ink); margin-bottom:.8rem; font-weight:600;
  }
  .lang-options{ display:flex; flex-wrap:wrap; gap:.5rem; }
  .lang-options button{
    flex:1 1 auto; min-width:56px;
    padding:.65em .9em;
    background:rgba(255,255,255,.6);
    border:1px solid var(--panel-border);
    border-radius:999px;
    color:var(--ink-soft);
    font-family:'Inter',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.06em;
    cursor:pointer; transition:border-color .25s, color .25s, background .25s;
  }
  .lang-options button.active{
    border-color:var(--panel-border-strong); color:var(--gold-deep);
    background:rgba(168,132,46,.15);
  }

  .hero{ padding:56px 0 80px; }
  .hero h1{ font-size:clamp(2.1rem, 8.5vw, 3.2rem); }
  .hero-sub{ font-size:1rem; margin:1.3rem auto 2.2rem; }
  .hero-actions{ margin-bottom:3.5rem; }
  .hero-stats{ grid-template-columns:1fr 1fr; row-gap:1.8rem; padding-top:2.2rem; }
  .services-grid{ grid-template-columns:1fr; }
  .why-features{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .footer-inner{ flex-direction:column; align-items:flex-start; gap:1.6rem; }
  .footer-contact{ align-items:flex-start; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .contact-form{ padding:1.8rem 1.4rem; }
}

@media (max-width:560px){
  .container{ padding:0 20px; }
  .site-header{ padding:16px 0; }
  .brand-logo{ height:28px; }
  .hero{ padding:44px 0 70px; }
  .hero h1{ font-size:clamp(1.9rem, 9vw, 2.6rem); }
  .hero-actions{ flex-direction:column; align-items:stretch; gap:.7rem; }
  .hero-actions .btn{ width:100%; }
  .hero-stats{ gap:1.2rem 1rem; }
  .stat-num{ font-size:1.8rem; }
  .stat-label{ font-size:.68rem; letter-spacing:.02em; }
  .scroll-cue{ display:none; }

  .section-title{ font-size:clamp(1.6rem,6.5vw,2rem); }
  .about-copy h2, .why-copy h2, .contact-copy h2{ font-size:clamp(1.6rem,6.5vw,2rem); }
  .lead{ font-size:.95rem; }

  .about{ padding:70px 0; }
  .services{ padding:60px 0 70px; }
  .why, .process{ padding:70px 0; }
  .contact{ padding:70px 0 60px; }

  .service-card{ padding:1.8rem 1.4rem; }
  .why-card{ padding:1.5rem 1.3rem; }
  .contact-method{ padding:.9rem 1rem; }
  .contact-method span span{ font-size:.88rem; word-break:break-word; }

  .trust-track{ font-size:.72rem; gap:.9rem; }

  /* keep the floating WhatsApp button clear of thumbs and browser chrome */
  .whatsapp-fab{
    right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px));
    width:52px; height:52px;
  }
  .whatsapp-fab svg{ width:24px; height:24px; }
}

/* long Cyrillic compounds need more headroom on narrow screens */
@media (max-width:560px){
  :lang(ru) .hero h1, :lang(uk) .hero h1{ font-size:clamp(1.5rem, 6.6vw, 2rem); }
  :lang(ru) .section-title, :lang(uk) .section-title,
  :lang(ru) .about-copy h2, :lang(uk) .about-copy h2,
  :lang(ru) .why-copy h2, :lang(uk) .why-copy h2,
  :lang(ru) .contact-copy h2, :lang(uk) .contact-copy h2{ font-size:clamp(1.35rem,5.6vw,1.7rem); }
  :lang(ru) .service-card h3, :lang(uk) .service-card h3{ font-size:1.2rem; }
  :lang(ru) .btn, :lang(uk) .btn{ font-size:.8rem; }
  :lang(ru) .hero-actions .btn, :lang(uk) .hero-actions .btn{ white-space:normal; text-align:center; }
}

@media (max-width:380px){
  .hero-stats{ grid-template-columns:1fr 1fr; }
  .lang-options button{ min-width:48px; font-size:.74rem; padding:.6em .7em; }
}

/* prevent iOS Safari from zooming in when a field is focused */
@media (max-width:820px){
  .contact-form input, .contact-form textarea{ font-size:16px; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
    .marble{ transform:none !important; }
}

/* ============ TORN-PAPER HEADER EDGE ============
   Mirrors the footer band: tan, a torn edge, then paper. Its lower half is a
   greyish cream (#c9bbac), not the page ivory, so the band dissolves into
   --bg rather than butting against it — no seam at any viewport width. */
.header-torn{
  position:relative; z-index:2;
  line-height:0;
}
.header-torn img{
  display:block; width:100%;
  height:clamp(190px, 26vw, 360px);
  object-fit:cover;
  object-position:center;
  /* Fade the image itself out, rather than over it with a flat colour — the
     page behind is the paper photograph, so fading to a solid left a seam. */
  -webkit-mask-image:linear-gradient(180deg, #000 52%, transparent 97%);
  mask-image:linear-gradient(180deg, #000 52%, transparent 97%);
}

/* ---- header sits on the tan band until you scroll past it ---- */
.site-header.on-band .main-nav a,
.site-header.on-band .btn-ghost,
.site-header.on-band .lang-current{ color:var(--ink); }
.site-header.on-band .main-nav a:hover,
.site-header.on-band .btn-ghost:hover,
.site-header.on-band .lang-current:hover{ color:var(--gold-deep); }
.site-header.on-band .lang-current{
  background:rgba(255,255,255,.42);
  border-color:rgba(70,50,20,.34);
}
.site-header.on-band .nav-toggle{ border-color:rgba(70,50,20,.38); }

/* ============ TORN-PAPER FOOTER EDGE ============ */
.footer-torn{
  position:relative; z-index:2;
  line-height:0;
  margin-top:-1px;            /* kill sub-pixel seam against the section above */
}
.footer-torn img{ width:100%; height:auto; display:block; }

/* the footer continues the tan half of that photograph */
.site-footer{
  background:#b8987c;
  /* dark copy on kraft tan — the ivory-theme greys would fall under 4.5:1 here */
  --ink-soft:#352c22;
  --ink-faint:#352c22;
  --panel-border:rgba(55,40,20,.28);
  border-top:none;
  margin-top:-1px;
}
.site-footer .footer-logo{ opacity:1; }

/* ============ INSTAGRAM ============ */
.social-row{ display:flex; gap:.6rem; align-items:center; margin-top:1rem; }
.social-link{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--panel-border-strong);
  color:var(--gold-ink);
  background:var(--panel);
  transition:color .3s, border-color .3s, transform .3s var(--ease);
}
.social-link svg{ width:20px; height:20px; }
.social-link:hover{ color:var(--gold-deep); border-color:var(--gold); transform:translateY(-2px); }
.site-footer .social-link{ color:#352c22; border-color:rgba(55,40,20,.4); background:rgba(255,255,255,.22); }
.site-footer .social-link:hover{ color:#1f1a12; border-color:rgba(55,40,20,.75); }

/* ============ ARABIC / RIGHT‑TO‑LEFT ============ */
:lang(ar) body{ font-family:'Noto Sans Arabic','Inter',sans-serif; }
:lang(ar) h1,:lang(ar) h2,:lang(ar) h3{ font-family:'Amiri',Georgia,serif; font-weight:700; line-height:1.35; }
:lang(ar) .stat-num,:lang(ar) .badge-line2,:lang(ar) .why-num,
:lang(ar) .step-num,:lang(ar) .form-title{ font-family:'Amiri',Georgia,serif; }
/* Arabic script carries no uppercase and sits poorly under wide tracking */
:lang(ar) .eyebrow,:lang(ar) .stat-label,:lang(ar) .badge-line1,
:lang(ar) .contact-method strong,:lang(ar) .contact-form label,
:lang(ar) .trust-track{ text-transform:none; letter-spacing:0; }
:lang(ar) .eyebrow{ font-size:.8rem; }
:lang(ar) .stat-label{ font-size:.8rem; }
:lang(ar) .hero h1{ font-size:clamp(1.9rem,4.6vw,3.4rem); }

[dir="rtl"] .service-list li{ padding-left:0; padding-right:1.1rem; }
[dir="rtl"] .service-list li::before{ left:auto; right:0; }
[dir="rtl"] .lang-menu{ right:auto; left:0; }
[dir="rtl"] .contact-method:not(.static):hover{ transform:translateX(-4px); }
[dir="rtl"] .footer-contact{ align-items:flex-start; }
[dir="rtl"] .intro-word{ text-indent:0; letter-spacing:.2em; }
[dir="rtl"] .main-nav a::after{ left:auto; right:0; }
[dir="rtl"] .main-nav a:hover::after{ right:0; left:0; }
[dir="rtl"] .trust-track{ animation-direction:reverse; }

@media (max-width:820px){
  [dir="rtl"] .footer-inner,[dir="rtl"] .footer-bottom{ align-items:flex-start; }
}
