 :root, [data-theme="light"] {
      --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
      --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
      --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
      --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
      --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
      --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
      --text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);
      --text-hero: clamp(3rem, 0.5rem + 7vw, 7rem);
      --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
      --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
      --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem; --space-32: 8rem;
      --color-bg: #f5f1eb;
      --color-surface: #fbf8f3;
      --color-surface-2: #ffffff;
      --color-surface-offset: #ece5dc;
      --color-border: rgba(40, 37, 29, 0.12);
      --color-divider: rgba(40, 37, 29, 0.08);
      --color-text: #1f1b17;
      --color-text-muted: #6e675f;
      --color-text-faint: #9d958c;
      --color-text-inverse: #f8f6f2;
      --color-primary: #5f4d3f;
      --color-primary-hover: #47382d;
      --color-accent: #b6926e;
      --shadow-sm: 0 1px 2px rgba(31,27,23,0.06);
      --shadow-md: 0 14px 40px rgba(31,27,23,0.10);
      --shadow-lg: 0 24px 64px rgba(31,27,23,0.18);
      --radius-sm: 0.375rem; --radius-md: 0.75rem; --radius-lg: 1.25rem; --radius-xl: 1.75rem; --radius-full: 9999px;
      --transition-interactive: 220ms cubic-bezier(0.16, 1, 0.3, 1);
      --content-default: 1180px;
      --content-wide: 1320px;
      --font-display: 'Cormorant Garamond', Georgia, serif;
      --font-body: 'Manrope', system-ui, sans-serif;
    }

    [data-theme="dark"] {
      --color-bg: #151311;
      --color-surface: #1d1a17;
      --color-surface-2: #26221e;
      --color-surface-offset: #211d19;
      --color-border: rgba(248, 246, 242, 0.12);
      --color-divider: rgba(248, 246, 242, 0.08);
      --color-text: #f2ede6;
      --color-text-muted: #c4bdb4;
      --color-text-faint: #8b847d;
      --color-text-inverse: #16120f;
      --color-primary: #d6b48d;
      --color-primary-hover: #e5c4a0;
      --color-accent: #8f755a;
      --shadow-sm: 0 1px 2px rgba(0,0,0,0.28);
      --shadow-md: 0 14px 40px rgba(0,0,0,0.32);
      --shadow-lg: 0 24px 64px rgba(0,0,0,0.5);
    }

    .hero_logo {
        width: auto;
        height: 50px;
    }

    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;scroll-padding-top:6rem}
    body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;background:var(--color-bg);color:var(--color-text)}
    img,svg,iframe{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    button,input,textarea,select{font:inherit;color:inherit}
    button{cursor:pointer;border:none;background:none}
    :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
    @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

    .skip-link{position:absolute;left:-9999px;top:auto}
    .skip-link:focus{left:1rem;top:1rem;z-index:1000;background:var(--color-surface-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}
    .container{width:min(calc(100% - 2rem), var(--content-default));margin-inline:auto}
    .wide{width:min(calc(100% - 2rem), var(--content-wide));margin-inline:auto}
    .section{padding-block:clamp(var(--space-16),10vw,var(--space-24))}
    .eyebrow{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-inverse)}
    .eyebrow_2{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text)}
    .section-title{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.02;max-width:110ch;margin-bottom:var(--space-5)}
    .section-copy{color:var(--color-text-muted);max-width:62ch}

    .site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:var(--space-4) 0;background:linear-gradient(to bottom, rgba(21,19,17,.45), rgba(21,19,17,0));transition:background var(--transition-interactive), backdrop-filter var(--transition-interactive)}
    .site-header.scrolled{background:#272727;backdrop-filter:blur(16px);border-bottom:1px solid var(--color-divider)}
    .header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
    .brand{display:flex;align-items:center;gap:var(--space-3)}
    .brand-mark{width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;color:var(--color-text-inverse);backdrop-filter:blur(8px)}
    .site-header.scrolled .brand-mark{color:var(--color-text);border-color:var(--color-border)}
    .brand-name{font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-inverse)}
    .site-header.scrolled .brand-name{color:var(--color-text)}
    .header-actions{display:flex;align-items:center;gap:var(--space-3)}
    .nav{display:flex;align-items:center;gap:var(--space-4)}
    .nav a{font-size:var(--text-sm);color:var(--color-text-inverse);opacity:.92}
    .site-header.scrolled .nav a{color:#ffffff}
    .theme-toggle,.menu-toggle{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);color:var(--color-text-inverse);backdrop-filter:blur(8px)}
    .site-header.scrolled .theme-toggle,.site-header.scrolled .menu-toggle{color:var(--color-text);border-color:var(--color-border)}
    .menu-toggle{display:none}

    .hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#120f0d}
    .hero::before{content:"";position:absolute;inset:0;background:url('/images/Vavilova_Mop_20_1_sm.jpg') center/cover no-repeat;transform:scale(1.04)}
    .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(16,13,11,.24) 0%, rgba(16,13,11,.48) 42%, rgba(16,13,11,.84) 100%)}
    .hero-panel{position:relative;z-index:1;width:min(calc(100% - 2rem), 1320px);margin:0 auto;padding:clamp(6rem,12vw,9rem) 0 var(--space-16);display:grid;gap:var(--space-8)}
    .hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--space-10);align-items:center}
    .hero-copy h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.9;color:var(--color-text-inverse);max-width:19ch}
    .hero-copy p{margin-top:var(--space-6);font-size:var(--text-lg);color:rgba(248,246,242,.86);max-width:32ch}
    .hero-card{justify-self:end;background:rgba(248,246,242,.1);border:1px solid rgba(248,246,242,.16);backdrop-filter:blur(18px);padding:var(--space-6);border-radius:var(--radius-xl);max-width:24rem;box-shadow:var(--shadow-lg)}
    .hero-card p{color:rgba(248,246,242,.82);font-size:var(--text-sm);margin-bottom:var(--space-4)}
    .hero-card strong{display:block;font-size:var(--text-xl);font-family:var(--font-display);color:var(--color-text-inverse);font-weight:600;line-height:1}
    .hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-6)}
    .btn{min-height:3rem;padding:0 var(--space-6);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--text-sm);transition:transform var(--transition-interactive), background var(--transition-interactive), border-color var(--transition-interactive), color var(--transition-interactive)}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:var(--color-surface-2);color:var(--color-text)}
    .btn-secondary{border:1px solid rgba(248,246,242,.24);color:var(--color-text-inverse);background:rgba(248,246,242,.06)}
    .hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
    .metric{padding-top:var(--space-4);border-top:1px solid rgba(248,246,242,.16)}
    .metric strong{display:block;font-size:var(--text-lg);color:var(--color-text-inverse);font-weight:700}
    .metric span{display:block;color:rgba(248,246,242,.72);font-size:var(--text-xs);margin-top:var(--space-2)}

    .about_cards {
      padding: 2rem;
      background: var(--color-surface);
      border: 1px solid var(--color-border);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-sm);
      margin-bottom: 2rem;
      margin-top: 2rem;
    }

    .mini_logo {
      display: block;
      margin: 0 auto;
      max-width: 150px;
      height: auto;
    }

    .contact_logo {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
    }

    .contact_logo img {
      filter: grayscale(100%);
      opacity: 0.85;
    }

    .about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-12);align-items:start}
    .about-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}
    .about-card + .about-card{margin-top:var(--space-4)}
    .about-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}
    .about-card p{color:var(--color-text-muted)}
    .feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-8)}
    .feature-item{padding:var(--space-5);background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px solid var(--color-border)}
    .feature-item span{display:block;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-2)}

    .gallery-shell{background:var(--color-surface-offset);overflow:hidden}
    .gallery-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8)}
    .gallery-controls{display:flex;gap:var(--space-3)}
    .control{width:3rem;height:3rem;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
    .carousel-wrap{position:relative}
    .carousel-track{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2)}
    .carousel-track::-webkit-scrollbar{display:none}
    .slide{position:relative;min-width:min(82vw, 29rem);aspect-ratio:4/5;scroll-snap-align:start;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);background:var(--color-surface-2)}
    .slide img{width:100%;height:100%;object-fit:cover;transition:transform 600ms cubic-bezier(0.16,1,0.3,1)}
    .slide:hover img{transform:scale(1.04)}
    .slide button{position:absolute;inset:0}
    .slide-meta{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);color:#fff;z-index:1}
    .slide-meta span{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;opacity:.82}
    .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,.6) 100%)}

    .contacts-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-8);align-items:start}
    .contact-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}
    .contact-list{display:grid;gap:var(--space-5);margin-top:var(--space-8)}
    .contact-item{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-divider)}
    .contact-item:last-child{padding-bottom:0;border-bottom:none}
    .contact-item small{display:block;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-2)}
    .contact-item p,.contact-item a{font-size:var(--text-lg);line-height:1.35}
    .map-card{border-radius:var(--radius-xl);overflow:hidden;min-height:32rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}
    .map-card iframe{width:100%;height:100%;min-height:32rem;border:0}

    .site-footer{padding:var(--space-8) 0 var(--space-10);border-top:1px solid var(--color-divider)}
    .footer-row{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;color:var(--color-text-muted);font-size:var(--text-sm)}

    .lightbox{position:fixed;inset:0;display:none;place-items:center;padding:var(--space-4);background:rgba(10,8,7,.86);z-index:100}
    .lightbox.open{display:grid}
    .lightbox-inner{position:relative;width:min(100%, 70rem)}
    .lightbox img{width:100%;max-height:84vh;object-fit:contain;border-radius:var(--radius-lg)}
    .lightbox-close{position:absolute;top:var(--space-4);right:var(--space-4);width:3rem;height:3rem;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.16)}

    [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1)}
    [data-reveal].visible{opacity:1;transform:translateY(0)}

    @media (max-width: 980px){
      .hero-grid,.about-layout,.contacts-layout{grid-template-columns:1fr}
      .hero-card{justify-self:start;max-width:100%}
      .hero-copy h1{max-width:10ch}
      .nav{position:absolute;top:calc(100% + .5rem);right:1rem;left:1rem;padding:var(--space-4);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--color-bg) 94%, transparent);border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:none;flex-direction:column;align-items:flex-start}
      .nav.open{display:flex}
      .menu-toggle{display:grid}
    }

    @media (max-width: 720px){
      .hero-panel{padding-bottom:var(--space-12)}
      .hero-metrics{grid-template-columns:1fr}
      .feature-grid{grid-template-columns:1fr}
      .gallery-head,.footer-row{flex-direction:column;align-items:flex-start}
      .slide{min-width:88vw}
      .contact-item p,.contact-item a{font-size:var(--text-base)}
    }