
  :root{
    --ivory: oklch(98.2% 0.008 80);
    --ivory-2: oklch(96.5% 0.010 80);
    --ivory-3: oklch(94.0% 0.012 80);
    --espresso: oklch(18% 0.010 60);
    --espresso-2: oklch(34% 0.010 60);
    --espresso-3: oklch(55% 0.008 60);
    --rule: oklch(86% 0.010 70);
    --rose: oklch(62% 0.060 50);
    --rose-ink: oklch(42% 0.060 50);
    --alert: oklch(46% 0.090 35);

    --display: "Cormorant Garamond", "Times New Roman", serif;
    --sans: "Geologica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --mono: "JetBrains Mono", ui-monospace, monospace;
    --serif: "Cormorant Garamond", "Times New Roman", serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{background:var(--ivory); color:var(--espresso); font-family:var(--sans); -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%; -moz-text-size-adjust:100%; text-size-adjust:100%; overflow-x:hidden !important; max-width:100vw !important;}
  body{font-size:15px; line-height:1.55;}
  a{color:inherit; text-decoration:none;}
  .page{width:100%; max-width:100vw; margin:0 auto; overflow-x:hidden;}

  /* ── Nav ── */
  .nav{
    position:sticky; top:0; z-index:50;
    background: color-mix(in oklab, var(--ivory) 88%, transparent);
    backdrop-filter: saturate(140%) blur(14px);
    border-bottom:1px solid var(--rule);
  }
  .nav-top{
    display:grid; grid-template-columns: 1fr auto 1fr;
    align-items:center; padding: 18px 28px;
  }
  .nav-left, .nav-right{display:flex; align-items:center; gap:18px;}
  .nav-left{justify-self:start;}
  .nav-right{justify-self:end;}
  .icon-btn{
    appearance:none; background:transparent; border:0; cursor:pointer;
    width:32px; height:32px; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    color:var(--espresso-1);
    transition:color .2s ease;
  }
  .icon-btn:hover{color:var(--rose);}
  .nav .icon-btn svg{ width: 18px; height: 18px; }
  .nav .icon-btn.social{ width:22px; height:22px; }
  .nav .icon-btn.social img{ width:100%; height:100%; object-fit:contain; display:block; filter: brightness(0); }
  .icon-sm{width:24px; height:24px;}
  .nav-right{gap:10px;}
  .nav-right .nav-sep{ width:1px; height:18px; background:#111; opacity:.55; align-self:center; }
  .icon-max{
    width:auto; min-width:34px; padding:0 5px;
    border:1px solid currentColor; border-radius:4px;
    font-family:var(--sans); font-size:10px; font-weight:500;
    letter-spacing:.1em; line-height:1;
    height:24px;
  }
  .icon-max span{display:block;}
  .nav-top .meta{
    font-family: var(--mono); font-size: 10px; letter-spacing: .22em;
    text-transform: uppercase; color: var(--espresso-3);
    justify-self:start; display:flex; align-items:center; gap:12px;
  }
  .nav-top .meta .pill{
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 10px; border:1px solid var(--rule);
  }
  .nav-top .meta .pill::before{
    content:""; width:6px; height:6px; border-radius:50%; background:var(--rose);
  }
  .nav-top .actions{
    justify-self:end; display:flex; align-items:center; gap:24px;
    font-family: var(--mono); font-size: 10px; letter-spacing: .22em;
    text-transform: uppercase; color: var(--espresso-2);
  }
  .nav-top .actions a{cursor:pointer; position:relative;}
  .nav-top .actions a:hover{color:var(--espresso);}
  .nav-top .actions .sep{width:1px; height:12px; background:var(--rule);}
  .wordmark{
    display:flex; flex-direction: column; align-items:center; justify-self:center;
    gap: 4px; color: var(--espresso); position:relative;
  }
  .wordmark::before{ display:none; }
  .wm-crest{display:block; height: 110px; width: auto; object-fit: contain; position:relative; z-index:1;}
  .wm-word{
    font-family: var(--sans); font-weight: 500;
    font-size: 11px; letter-spacing: .32em; text-transform: uppercase;
    color: var(--espresso);
  }
  .wordmark .dot{width:6px; height:6px; background:var(--rose); border-radius:50%; display:inline-block;}

  .nav-menu{display:none;}

  /* Hamburger button */
  .icon-btn.burger{
    width:14px !important; height:10px !important;
    padding:0 !important;
    flex-direction:column; justify-content:space-between; align-items:stretch;
    gap:0;
  }
  .burger span{display:block; height:1px; width:100%; background:currentColor;}

  /* Menu drawer */
  .menu-scrim{
    position:fixed; inset:0; background:rgba(26,18,14,0);
    pointer-events:none; transition:background .35s ease; z-index:90;
  }
  body.menu-open .menu-scrim{background:rgba(26,18,14,.35); pointer-events:auto;}
  .menu-drawer{
    position:fixed; top:0; left:0; height:100vh; height:100dvh; width:min(420px, 88vw);
    max-height:100vh; max-height:100dvh;
    background:var(--ivory); z-index:100;
    display:flex; flex-direction:column;
    font-family: "Geologica", "Helvetica Neue", Helvetica, Arial, sans-serif;
    transform:translateX(-102%); transition:transform .45s cubic-bezier(.7,0,.2,1);
    border-right:1px solid var(--rule);
    overflow:hidden;
  }
  body.menu-open .menu-drawer{transform:translateX(0);}
  .menu-head{
    display:flex; justify-content:space-between; align-items:center;
    padding:18px 32px;
    background:
      radial-gradient(120% 160% at 100% 50%, rgba(186,219,238,.85) 0%, rgba(207,230,244,.55) 30%, rgba(230,243,251,.18) 60%, rgba(230,243,251,0) 80%),
      linear-gradient(90deg, var(--ivory, #f6efe2) 0%, var(--ivory, #f6efe2) 25%, #f0ecdf 55%, #e3eaf0 80%, #d8e9f4 100%);
    border-bottom:1px solid rgba(124,158,184,.18);
  }
  .menu-eyebrow{
    font-family:var(--mono); font-size:10px; letter-spacing:.24em;
    text-transform:uppercase; color:#2f4a5e;
  }
  .menu-close{
    appearance:none; background:transparent; border:0; cursor:pointer;
    font-size:32px; line-height:1; color:var(--espresso); padding:0;
    font-family: "Cormorant Garamond", "Times New Roman", serif; font-weight:300;
  }
  .menu-close:hover{ color:var(--rose); }
  .menu-list{
    list-style:none; padding:10px 32px; margin:0; flex:1 1 auto;
    display:flex; flex-direction:column; gap:0;
    overflow:hidden; min-height:0;
  }
  .menu-list li{
    font-family:var(--mono); font-size:11.5px; font-weight:500;
    letter-spacing:.22em; text-transform:uppercase;
    padding:13px 0; cursor:pointer;
    color: var(--espresso);
    border-bottom:1px solid color-mix(in oklab, var(--rule) 60%, transparent);
    transition:color .2s ease;
  }
  .menu-list li a{ color:inherit; text-decoration:none; display:block; outline:none; }
  .menu-list li:hover{ color:var(--rose); }
  .menu-list li.ai-link{ color:var(--rose-ink); }
  .menu-list li.ai-link a{ color:inherit; text-decoration:none; }
  html, body, a, button, .menu-list li, .menu-list li a, .menu-drawer a, .menu-drawer button, .menu-close, .icon-btn, .burger, .bc, .scard{
    -webkit-tap-highlight-color: transparent;
  }
  .menu-list li a:focus, .menu-list li a:active, .menu-list li a:visited,
  .menu-list li:focus, .menu-list li:active{
    background: transparent !important;
    color: inherit;
    outline: none;
  }
  .menu-foot{
    padding:16px 32px calc(20px + env(safe-area-inset-bottom));
    border-top:1px solid var(--rule);
    font-family:var(--mono); font-size:11px; letter-spacing:.18em;
    color: var(--espresso); line-height:2;
  }
  .menu-foot a{ color:var(--espresso); text-decoration:none; }
  .menu-foot a:hover{ color:var(--rose); }
  /* Lock background scroll while drawer is open (iOS/Android safe) */
  html.menu-open, body.menu-open{
    overflow:hidden !important;
    overscroll-behavior:none;
    touch-action:none;
  }
  body.menu-open{
    position:fixed; width:100%;
  }
  .menu-head{
    display:flex; justify-content:space-between; align-items:center;
    padding:18px 32px; border-bottom:1px solid var(--rule);
  }
  .menu-eyebrow{
    font-family:var(--mono); font-size:10px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--espresso-3);
  }
  .menu-close{
    appearance:none; background:transparent; border:0; cursor:pointer;
    font-size:28px; line-height:1; color:var(--espresso-1); padding:0;
    font-family:var(--display); font-weight:300;
  }
  .menu-close:hover{color:var(--rose);}
  .menu-list{
    list-style:none; padding:10px 28px; margin:0; flex:1 1 auto;
    display:flex; flex-direction:column; gap:0;
    overflow:hidden; min-height:0;
  }
  .menu-list li{
    font-family:var(--mono); font-size:11.5px; font-weight:500;
    letter-spacing:.22em; text-transform:uppercase;
    color:var(--espresso); padding:13px 0; cursor:pointer;
    border-bottom:1px solid color-mix(in oklab, var(--rule) 60%, transparent);
    transition:color .2s ease, border-color .2s ease;
  }
  .menu-list li em, .menu-list li.active{font-style:normal !important; color:var(--rose);}
  .menu-list li em, .menu-list li.active{font-style:italic; color:var(--rose);}
  .menu-list li:hover{color:var(--rose);}
  .menu-foot{
    padding:18px 32px calc(20px + env(safe-area-inset-bottom));
    border-top:1px solid var(--rule);
    display:flex; flex-direction:column; gap:6px;
    font-family:var(--mono); font-size:14px; font-weight:700; letter-spacing:.14em;
    text-transform:uppercase; color:var(--espresso);
    flex:0 0 auto; background: var(--ivory);
  }
  .menu-foot a{ color:var(--espresso); }

  .nav-menu-OLD{
    display:flex; justify-content:center; align-items:stretch;
    border-top:1px solid var(--rule);
  }
  .nav-menu ul{
    list-style:none; display:flex; align-items:stretch;
    width:100%; max-width: 1312px; padding: 0 64px;
  }
  .nav-menu li{
    flex:1; text-align:center;
    padding: 16px 10px;
    font-family: var(--sans); font-size: 11.5px; font-weight: 500;
    letter-spacing: .22em; text-transform: uppercase;
    color: var(--espresso-2); cursor:pointer;
    position:relative; transition: color .25s ease;
    border-right: 1px solid var(--rule);
  }
  .nav-menu li:first-child{border-left:1px solid var(--rule);}
  .nav-menu li::after{
    content:""; position:absolute; left:50%; bottom:-1px;
    width:0; height:1px; background:var(--espresso);
    transition: width .3s ease, left .3s ease;
  }
  .nav-menu li:hover{color:var(--espresso);}
  .nav-menu li:hover::after{width:100%; left:0;}
  .nav-menu li.active{color:var(--espresso);}
  .nav-menu li.active::after{width:100%; left:0;}

  /* ── Atelier/Boutique stylistic layer ── */
  .atelier-line{
    font-family: var(--display); font-style:italic; font-weight:400;
    font-size: 15px; color: var(--espresso-2); letter-spacing: .01em;
  }
  .atelier-line em{font-style:normal; color:var(--rose-ink);}
  .atelier-line--xl{
    font-family: "Geologica", sans-serif;
    font-style: normal; font-weight: 400;
    text-transform: uppercase; letter-spacing: .26em;
    font-size: clamp(16px, 1.8vw, 22px); line-height: 1.7;
    letter-spacing: -.01em; color: var(--espresso);
    max-width: 640px;
  }
  .maison-crest{
    display:flex; align-items:center; justify-content:center; gap:18px;
    padding: 24px 64px 0;
    font-family: var(--mono); font-style: normal; font-weight: 500;
    font-size: 11px; color: var(--espresso-3); letter-spacing: .28em; text-transform: uppercase;
  }
  .maison-crest::before, .maison-crest::after{
    content:""; flex:1; height:1px; background:var(--rule); max-width:180px;
  }
  .maison-crest .dot{color:var(--rose); font-style:normal;}

  /* ── Top notice strip (license + warning) ── */
  .notice-strip{
    display:grid; grid-template-columns: 1fr auto 1fr;
    align-items:center; padding: 14px 64px;
    background: var(--rose-ink); color: var(--ivory);
    font-family: var(--mono); font-size: 10.5px; letter-spacing: .18em; text-transform:uppercase;
  }
  .notice-strip .l{justify-self:start; color: color-mix(in oklab, var(--ivory) 80%, transparent);}
  .notice-strip .c{
    justify-self:center; letter-spacing: .2em;
    color: color-mix(in oklab, var(--ivory) 96%, transparent);
  }
  .notice-strip .c b{color: color-mix(in oklab, var(--ivory) 70%, transparent); font-weight:400; letter-spacing:.2em; margin-right:10px;}
  .notice-strip .r{justify-self:end; color: color-mix(in oklab, var(--ivory) 80%, transparent);}

  /* ── Utility ── */
  .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--espresso-3);}
  .rule{height:1px; background:var(--rule); width:100%;}

  /* ── Hero ── */
  .hero{
    display:grid; grid-template-columns: 1.05fr 1fr;
    padding: 56px 64px 48px; gap: 56px; align-items:end;
    position:relative;
  }
  .hero-copy h1{
    font-family: "Geologica", sans-serif; font-weight:500;
    text-transform: uppercase; letter-spacing: .12em;
    font-size: clamp(22px, 2.4vw, 32px); line-height: 1.6;
    line-height:.98; letter-spacing:-.015em;
    color:var(--espresso);
  }
  .hero-copy h1 em{font-style:normal; font-weight:500; color:var(--rose-ink); letter-spacing:.14em;}
  .hero-welcome{
    font-family: var(--display); font-style: italic; font-weight:400;
    font-size: 20px; color: var(--espresso-2); margin-bottom:28px;
    max-width: 560px;
  }

  .hero-principle{
    margin-top:20px; padding:26px 30px;
    border: 1px solid var(--rose-ink);
    max-width: 640px;
  }
  .hero-principle p{font-size:15px; line-height:1.65; color:var(--espresso-2);}
  .hero-principle strong{color:var(--espresso); font-weight:500; letter-spacing:.01em;}
  .hero-principle .mark{
    font-family:var(--display); font-size:40px; line-height:.8; color:var(--espresso);
    font-weight:300; margin-top:-4px;
  }
  .hero-principle p{
    font-family: var(--mono); font-size: 15px; line-height: 1.75; letter-spacing: .12em;
    color: var(--espresso); text-transform: uppercase; font-weight: 500;
  }
  .hero-principle p strong{
    display:inline; font-family: var(--mono); font-weight: 500; font-style: normal;
    font-size:inherit; letter-spacing:inherit; text-transform: uppercase; color: var(--rose-ink);
  }

  .hero-cta{margin-top:40px; display:flex; gap:12px;}
  .btn{
    display:inline-flex; align-items:center; gap:12px;
    padding:16px 28px; border:1px solid var(--rose-ink);
    background:var(--rose-ink); color:var(--ivory);
    font-family: var(--mono); font-weight:500;
    font-size:11px; letter-spacing:.22em; text-transform:uppercase;
    cursor:pointer; transition:all .2s ease;
  }
  .btn:hover{background:transparent; color:var(--rose-ink);}
  .btn.ghost{background:var(--rose-ink); color:var(--ivory); border-color:var(--rose-ink);}
  .btn.ghost:hover{background:transparent; color:var(--rose-ink);}
  .btn .arrow{width:20px; height:1px; background:currentColor; position:relative;}
  .btn .arrow::after{content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-right:1px solid currentColor; border-top:1px solid currentColor; transform:rotate(45deg);}
  .btn.ghost[href]{ text-decoration:none; }
  .btn .sep{ opacity:.55; margin:0 2px; font-weight:400; }

  .hero-art{aspect-ratio: 4/5; position:relative; background: var(--ivory-2); overflow:hidden;}
  .hero-art.hero-grid{ background: transparent; overflow: visible; aspect-ratio: auto; }
  .hero-grid{
    display:grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, auto);
    gap: 18px 10px; background: transparent; aspect-ratio: auto;
  }
  .bc{
    position:relative; display:block; overflow:visible;
    background: transparent; text-decoration:none; color:inherit;
    border:none; transition: transform .3s ease;
  }
  .bc:hover{ transform: translateY(-2px); }
  .bc-ph{
    position:relative; display:block; aspect-ratio: 4/5; width:100%;
    background-size:cover; background-position:center;
    background-color: var(--ivory);
    background-origin: content-box;
    background-clip: content-box;
    padding: 6px;
    border: 1.5px solid var(--rose-ink);
    box-sizing: border-box;
    filter: saturate(0.95) contrast(1.02);
    overflow: hidden;
  }
  .bc-ph--empty{
    background: linear-gradient(135deg, color-mix(in oklab, var(--ivory-2) 70%, var(--rose) 30%) 0%, var(--ivory-2) 100%);
  }
  .bc-ph--empty::after{
    content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:28px; height:28px;
    background: radial-gradient(circle at 30% 30%, var(--rose) 0 30%, transparent 32%),
                radial-gradient(circle at 70% 30%, var(--rose) 0 30%, transparent 32%),
                radial-gradient(circle at 20% 65%, var(--rose) 0 22%, transparent 24%),
                radial-gradient(circle at 80% 65%, var(--rose) 0 22%, transparent 24%),
                radial-gradient(circle at 50% 80%, var(--rose) 0 36%, transparent 38%);
    opacity: .55;
  }
  .bc-meta{
    display:flex; align-items:baseline; gap: 8px;
    margin-top: 16px; padding: 0 2px;
    color: var(--espresso);
  }
  .bc-n{ display:none; }
  .bc-t{
    font-family: var(--mono); font-weight:500; font-size: 11px;
    letter-spacing:.22em; text-transform:uppercase;
    color: var(--espresso);
  }
  .ph{
    position:relative; width:100%; height:100%;
    background:
      repeating-linear-gradient(135deg,
        oklch(94% 0.010 80) 0, oklch(94% 0.010 80) 2px,
        oklch(96% 0.010 80) 2px, oklch(96% 0.010 80) 14px);
    display:flex; align-items:flex-end;
  }
  .ph .tag{
    font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--espresso-2); padding:14px 18px;
    background: color-mix(in oklab, var(--ivory) 90%, transparent);
    border:1px solid var(--rule); margin:18px;
  }
  .ph .corner{position:absolute; top:18px; right:18px; font-family:var(--mono); font-size:10px; color:var(--espresso-3); letter-spacing:.14em;}

  /* ── Sections ── */
  .section{padding: 44px 64px;}
  .section-head{
    display:grid; grid-template-columns: 1fr 2fr; gap:64px; align-items:baseline;
    margin-bottom:40px;
  }
  .section-head .eyebrow{display:flex; align-items:center; gap:14px;}
  .section-head .eyebrow::before{content:""; width:28px; height:1px; background:var(--espresso-2);}
  .section-head h2{
    font-family:var(--display); font-weight:300;
    font-size: clamp(44px, 4.5vw, 64px); line-height:1.02; letter-spacing:-.015em;
  }
  .section-head h2 em{font-style:italic; color:var(--rose-ink);}
  .section-head .sub{color:var(--espresso-2); max-width:540px; margin-top:24px; font-size:15.5px; line-height:1.75;}

  /* ── Services (personal assistant + specialists + hotel) ── */
  .services{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 0;
    border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  }
  .svc{
    padding: 48px 40px; border-right:1px solid var(--rule);
    display:flex; flex-direction:column;
  }
  .svc:last-child{border-right:none;}
  .svc .k{font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--espresso-3);}
  .svc h3{font-family:var(--display); font-size:28px; font-weight:400; margin: 18px 0 18px; letter-spacing:-.01em; line-height:1.1;}
  .svc p{font-size:15.5px; line-height:1.7; color:var(--espresso); font-weight:500;}
  .svc p + p{margin-top:14px;}
  .svc ul{list-style:none; margin: 18px 0 6px;}
  .svc li{
    padding: 8px 0;
    font-family: var(--display);
    font-size: 19px;
    line-height: 1.35;
    color: var(--rose-ink);
    font-weight: 500;
    letter-spacing: -.005em;
  }

  /* N°01 · concierge duo (помощник + ветеринар) */
  .svc .duo{margin-top:4px; display:flex; flex-direction:column; gap:18px;}
  .svc .duo .role{
    padding-top:16px; border-top:1px solid var(--rule);
    display:grid; grid-template-columns: auto 1fr; gap: 16px; align-items:start;
  }
  .svc .duo .role:first-child{border-top:none; padding-top:0;}
  .svc .duo .role .roman{
    font-family:var(--display); font-style:italic; font-weight:400;
    font-size:22px; color:var(--rose-ink); line-height:1; min-width:22px;
  }
  .svc .duo .role .ttl{
    font-family:var(--mono); font-size:10px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--espresso); font-weight:500;
    margin-bottom:8px; display:block;
  }
  .svc .duo .role p{
    font-family:var(--sans); font-weight:600;
    font-size:18px; line-height:1.45; letter-spacing:.002em;
    color:var(--espresso); margin:0;
  }
  .svc .duo .role p + p{margin-top:12px;}
  .svc .duo .role p b{color:var(--rose-ink); font-weight:500; font-style:italic; letter-spacing:0;}
  .svc .duo .role .chips{
    margin-top:12px; display:flex; flex-wrap:wrap; gap:6px;
  }
  .svc .duo .role .chips span{
    font-family:var(--mono); font-size:9.5px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--espresso-2);
    padding:5px 8px; border:1px solid var(--rule);
  }

  /* ── Manifesto (dreamer + myth) ── */
  .manifesto{
    padding: 52px 64px; background: var(--ivory-2);
    border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  }
  .manifesto-wrap{display:grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items:center;}
  .manifesto h2{
    font-family:var(--display); font-weight:300; font-size: 64px; line-height:1.02; letter-spacing:-.02em;
  }
  .manifesto h2 em{font-style:italic; color:var(--rose-ink);}
  .manifesto-axiom{
    margin: 22px 0 0;
    font-family: var(--display);
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: -.005em;
    color: var(--espresso);
    padding-top: 18px;
    border-top: 1px solid color-mix(in oklab, var(--rose-ink) 35%, transparent);
  }
  .manifesto-axiom em{ font-style: italic; color: var(--rose-ink); }
  .manifesto .dream{
    font-family: var(--mono);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--espresso);
    margin-bottom: 28px;
  }
  .manifesto .myth{
    margin-top:36px; padding: 32px 36px;
    background: var(--ivory);
    border-left: 2px solid var(--rose);
    font-family: var(--sans); font-weight: 600; font-style: normal; font-size: 17px; line-height:1.75;
    color: var(--espresso);
    max-width:560px;
  }
  .manifesto .myth p{margin: 0;}
  .manifesto .myth p + p{margin-top: 18px;}
  .manifesto .myth em{font-style: italic; color: var(--rose-ink);}
  .manifesto .myth b{font-weight:500; font-style:normal; font-family:var(--sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--rose-ink); display:block; margin-bottom:18px;}

  /* ── Expertise Triptych (3 ALL-CAPS blocks) ── */
  .expertise{padding: 52px 64px;}
  .expertise .head{text-align:center; margin-bottom: 32px;}
  .expertise .head .eyebrow{justify-content:center; display:inline-flex; align-items:center; gap:14px;}
  .expertise .head .eyebrow::before, .expertise .head .eyebrow::after{content:""; width:36px; height:1px; background:var(--espresso-2);}
  .expertise .head h2{
    font-family:var(--display); font-weight:300; font-size:68px; line-height:1.05; letter-spacing:-.02em;
    margin-top: 20px;
  }
  .expertise .head h2 em{font-style:italic; color:var(--rose-ink); font-size:1.35em; line-height:1; display:inline-block; margin-top:.15em;}

  .tript{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 0;
    border-top:1px solid var(--espresso); border-bottom:1px solid var(--espresso);
  }
  .tript .cell{
    padding: 56px 44px; border-right:1px solid var(--rule);
    display:flex; flex-direction:column; gap:24px;
  }
  .tript .cell:last-child{border-right:none;}
  .tript .roman{
    font-family: var(--display); font-size: 44px; font-weight:400; color:var(--rose-ink); font-style:italic; line-height:.9; letter-spacing: -0.02em;
  }
  .tript .txt{
    font-size: 13px; line-height: 1.7; letter-spacing: .03em;
    color: var(--espresso); text-transform: uppercase; font-weight: 500;
  }
  .tript .txt mark{
    background: color-mix(in oklab, var(--rose) 22%, transparent);
    padding: 0 3px;
  }

  /* ── Warning (dark alert) ── */
  .warning{
    background: var(--rose-ink); color: var(--ivory);
    padding: 44px 64px;
    border-top: 1px solid var(--rose-ink);
  }
  .warning-wrap{display:grid; grid-template-columns: 1fr 2fr; gap: 64px; align-items:start;}
  .warning .mark{
    font-family: var(--display); font-weight:300; font-size: 160px; line-height:.8;
    color: #f0c89c; letter-spacing: -.04em;
  }
  .warning .head{
    font-family: var(--mono); font-size: 11px; letter-spacing: .28em; text-transform:uppercase;
    color: #f0c89c; margin-bottom: 24px;
  }
  .warning h2{
    font-family: var(--display); font-weight:300; font-size: 56px; line-height: 1.05;
    letter-spacing:-.015em;
  }
  .warning .body{
    margin-top: 40px; padding-top: 32px;
    border-top: 1px solid color-mix(in oklab, var(--ivory) 20%, transparent);  font-size: 15px; line-height: 1.8; letter-spacing: .03em;
    color: color-mix(in oklab, var(--ivory) 88%, transparent);
    text-transform: uppercase; font-weight:500; max-width: 720px;
  }
  .warning .body .hit{
    display: inline-block; font-family: var(--display); font-style:italic; font-size: 32px;
    color: #f0c89c; text-transform:none; font-weight:400; letter-spacing:-.01em;
    margin: 0 4px;
  }
  .warning .body p{ margin: 0 0 1.4em 0; }
  .warning .body p:last-child{ margin-bottom: 0; }
  .warning .body b{ color: var(--ivory); font-weight: 500; }

  /* ── ТОЛЬКО МЫ manifesto ── */
  .only{padding: 36px 64px 52px; background: var(--ivory);}
  .only .head{
    display:grid; grid-template-columns: 1fr 1fr; gap:64px; margin-bottom: 48px; align-items:end;
  }
  .only h2{
    font-family:var(--display); font-weight:300; font-size: 88px; line-height:.96; letter-spacing:-.025em;
  }
  .only h2 em{font-style:italic; color:var(--rose-ink);}
  .only .intro{
    font-family: "Geologica", sans-serif;
    font-size: 12px; line-height: 2; color: var(--espresso);
    max-width: 460px; text-transform: uppercase;
    letter-spacing: .12em; font-weight: 400;
  }

  .only-list{border-top:1px solid var(--espresso);}
  .only-row{
    display:grid; grid-template-columns: 80px 220px 1fr;
    gap: 40px; padding: 36px 0; border-bottom:1px solid var(--rule);
    align-items: baseline; transition: background .2s;
  }
  .only-row:hover{background: var(--ivory-2);}
  .only-row .n{
    font-family: var(--mono); font-size: 12px; letter-spacing: .2em; color: var(--rose-ink);
  }
  .only-row .label{
    font-family: var(--display); font-size: 32px; font-weight: 400; font-style: italic;
    letter-spacing: -.01em; line-height: 1.1;
  }
  .only-row .copy{
    font-size: 13.5px; line-height: 1.7; letter-spacing: .04em;
    color: var(--espresso); text-transform: uppercase; font-weight: 500;
    max-width: 640px;
  }
  .only-row .copy .stamp{
    display:inline-block; font-family:var(--display); font-style:italic; font-weight:400;
    color:var(--rose-ink); text-transform:none; letter-spacing:0; font-size:18px;
  }

  /* ── Assurance (final promise after ТОЛЬКО МЫ) ── */
  .assurance{
    padding: 36px 64px; text-align:center; background: var(--ivory-2);
    border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  }
  .assurance .crest{
    font-family: var(--mono); font-size: 11px; font-style: normal; color: var(--rose-ink);
    letter-spacing: .28em; text-transform: uppercase; margin-bottom: 24px;
  }
  .assurance p{
    font-family: var(--mono);
    font-weight: 500; font-style: normal;
    font-size: clamp(16px, 1.6vw, 22px); line-height: 1.7; letter-spacing: .1em; text-transform: uppercase;
    color: var(--espresso); max-width: 1100px; margin: 0 auto;
  }
  .assurance p em{font-style:normal; font-weight:400; color:var(--rose-ink);}

  /* ── Verify (Как выбрать щенка и не ошибиться) ── */
  .verify{padding: 44px 64px; background: var(--ivory);}
  .verify-wrap{max-width: 1180px; margin: 0 auto;}
  .verify .head{display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:end; margin-bottom: 40px;}
  .verify h2{
    font-family: var(--display); font-weight:300;
    font-size: clamp(48px, 4.8vw, 72px); line-height:1.02; letter-spacing:-.02em;
  }
  .verify h2 em{font-style:italic; color:var(--rose-ink);}
  .verify .lede{
    font-family: var(--mono); font-style: normal; font-weight: 500;
    font-size: 13px; line-height: 1.75; letter-spacing: .12em; text-transform: uppercase;
    color: var(--espresso-2);
    max-width: 460px;
  }
  .verify-duo{
    display:grid; grid-template-columns: 1fr 1fr; gap: 0;
    border-top: 1px solid var(--espresso); border-bottom: 1px solid var(--espresso);
  }
  .verify-col{padding: 48px 56px;}
  .verify-col:first-child{border-right: 1px solid var(--rule);}
  .verify-col.bad{background: color-mix(in oklab, var(--ivory) 92%, var(--alert) 8%);}
  .verify-col .tag{
    font-family: var(--mono); font-size: 10px; letter-spacing: .24em;
    text-transform:uppercase; margin-bottom: 20px;
  }
  .verify-col.bad .tag{color: var(--alert);}
  .verify-col.good .tag{color: var(--rose-ink);}
  .verify-col h3{
    font-family: var(--display); font-weight: 400; font-size: 28px;
    line-height: 1.15; letter-spacing: -.01em; margin-bottom: 24px;
  }
  .verify-col.bad h3{color: var(--alert);}
  .verify-col ul{list-style: none; padding: 0;}
  .verify-col ul li{
    position: relative; padding: 14px 0 14px 28px;
    font-size: 14.5px; line-height: 1.6; color: var(--espresso-2);
    border-top: 1px solid var(--rule);
  }
  .verify-col ul li:first-child{border-top: none;}
  .verify-col ul li::before{
    position: absolute; left: 0; top: 14px;
    font-family: var(--mono); font-size: 12px; font-weight: 600;
  }
  .verify-col.good ul li::before{content: "✓"; color: var(--rose-ink);}
  .verify-col.bad ul li::before{content: "×"; color: var(--alert); font-size: 16px; top: 12px;}
  .verify-foot{
    margin-top: 56px; padding: 32px 0; border-top: 1px solid var(--espresso);
    display: flex; justify-content: space-between; align-items: baseline; gap: 32px;
  }
  .verify-foot .note{
    font-family: var(--mono); font-style: normal; font-weight: 500;
    font-size: 13px; line-height: 1.75; letter-spacing: .12em; text-transform: uppercase;
    color: var(--espresso); max-width: 680px;
  }
  .verify-foot .note em{font-style: normal; color: var(--rose-ink);}
  .verify-foot .cta{
    font-family: var(--mono); font-size: 11px; letter-spacing: .22em;
    text-transform: uppercase; color: var(--espresso);
    border-bottom: 1px solid var(--espresso); padding-bottom: 4px; white-space: nowrap;
  }

  /* ── Collection teaser ── */
  .teaser{padding: 44px 64px;}
  .teaser-wrap{
    display:grid; grid-template-columns: 1fr; gap: 40px; align-items:center;
  }
  .teaser h2{
    font-family:var(--display); font-weight:300; font-size: 56px; line-height:1.05; letter-spacing:-.015em;
  }
  .teaser h2 em{font-style:italic; color:var(--rose-ink);}
  .teaser p{
    margin-top: 28px; font-size:14px; line-height:1.8; color:var(--espresso-2); max-width:540px;
    text-transform: uppercase; letter-spacing: .08em; font-weight: 500;
  }
  .teaser-art{aspect-ratio: 5/4; background:var(--ivory-2);}

  /* ── Editorial full-bleed ── */
  .editorial{ padding: 52px 64px 28px; background: var(--ivory); }
  .editorial-head{ text-align:center; max-width: 820px; margin: 0 auto 40px; }
  .editorial-head h2{
    font-family: "Cormorant Garamond", serif;
    font-style: italic; font-weight: 400; font-size: 88px;
    line-height: 1; letter-spacing: -.015em; color: var(--espresso);
  }
  .editorial-head .sub{
    margin-top: 22px;
    font-family: "Cormorant Garamond", serif;
    font-style: italic; font-weight: 500;
    font-size: 24px; line-height: 1.45; color: var(--espresso);
    max-width: 560px; margin-left:auto; margin-right:auto;
  }
  .editorial-head .focus{
    display:inline-block; margin-top: 32px;
    font-family: var(--mono); font-size: 11px; letter-spacing:.26em; text-transform:uppercase;
    color: var(--espresso); border-bottom:1px solid var(--espresso); padding-bottom: 3px;
  }
  .editorial-rule{
    width: 220px; height: 1px; background: var(--espresso);
    margin: 36px auto 0;
  }
  .editorial-art{
    width: 100%; max-width: 1280px; margin: 0 auto;
    aspect-ratio: 4/5; max-height: 92vh;
    background: var(--ivory-2) center/cover no-repeat;
  }
  .editorial-photo{
    display:block; width: 100%; max-width: 1280px; margin: 0 auto;
    height: auto;
  }

  /* ── Why Korean · 8 cards ── */
  .why{padding: 52px 64px; background: var(--ivory-2); border-top:1px solid var(--rule);}
  .why-head{text-align:center; margin-bottom: 32px;}
  .why-head .eyebrow{display:inline-flex; align-items:center; gap:14px;}
  .why-head .eyebrow::before, .why-head .eyebrow::after{content:""; width:36px; height:1px; background:var(--espresso-2);}
  .why-head h2{
    margin-top: 20px;
    font-family: var(--display); font-weight: 300;
    font-size: 68px; line-height: 1; letter-spacing: -.02em;
  }
  .why-head h2 em{font-style:italic; color:var(--rose-ink);}
  .why-head .sub{margin: 24px auto 0; max-width: 560px; color:var(--espresso-2); font-size:15.5px; line-height:1.75;}

  .why-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap:0;
    border-top:1px solid var(--rule); border-left:1px solid var(--rule);
  }
  .why-cell{
    padding: 48px 40px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
    background: var(--ivory); min-height: 320px;
    display:flex; flex-direction:column;
  }
  .why-cell .tag{display:flex; justify-content:space-between; align-items:center; margin-bottom: 28px;}
  .why-cell .tag .n{font-family:var(--mono); font-size:10px; letter-spacing:.2em; color:var(--rose-ink);}
  .why-cell .tag .dot{width:8px; height:8px; border-radius:50%; border:1px solid var(--espresso);}
  .why-cell h3{
    font-family: var(--display); font-weight:400; font-size: 28px; line-height:1.1;
    letter-spacing:-.01em; margin-bottom: 18px;
  }
  .why-cell h3 em{font-style:italic; color:var(--rose-ink);}
  .why-cell p{font-size:14px; line-height:1.75; color:var(--espresso-2);}
  .why-cell.feature{
    grid-column: span 2; min-height: auto;
    background: var(--espresso); color:var(--ivory);
    display:grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items:center;
  }
  .why-cell.feature .left h3{color:var(--ivory); font-size:36px;}
  .why-cell.feature .left h3 em{color:var(--rose);}
  .why-cell.feature .left .tag .n{color:var(--rose);}
  .why-cell.feature .left .tag .dot{border-color: color-mix(in oklab, var(--ivory) 40%, transparent);}
  .why-cell.feature .right{
    font-family: var(--display); font-style:italic; font-weight:400; font-size:22px; line-height:1.45;
    color: color-mix(in oklab, var(--ivory) 88%, transparent);
  }

  /* ── Home photo carousel — polaroid stack ── */
  .home-row{
    background: var(--rose-ink);
    padding: 30px 0 24px;
    position: relative;
    overflow: hidden;
  }
  .home-row::before{
    content:""; position:absolute; left:50%; top:10px;
    transform:translateX(-50%);
    width:42px; height:1px; background: rgba(244,235,218,.28);
  }
  .home-row-eyebrow{
    text-align:center;
    font-family: var(--mono); font-size: 9.5px; letter-spacing: .32em;
    text-transform: uppercase;
    color: color-mix(in oklab, var(--ivory) 60%, transparent);
    margin: 6px 0 22px;
  }
  .home-row-eyebrow em{ font-style: italic; color: var(--ivory); letter-spacing:.04em; text-transform:none; font-family: var(--display); font-size: 13px; margin: 0 6px; }

  .home-row-imgs{
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 18px;
    padding: 28px 14% 36px 14%;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    perspective: 1200px;
  }
  .home-row-imgs::-webkit-scrollbar{ display: none; }

  .home-row-card{
    flex: 0 0 72%;
    box-sizing: border-box;
    scroll-snap-align: center;
    background: var(--ivory);
    padding: 10px 10px 14px;
    position: relative;
    transform-origin: 50% 60%;
    transform: scale(.84) rotate(var(--tilt, -2deg));
    opacity: .5;
    transition: transform .55s cubic-bezier(.2,.75,.2,1), opacity .4s ease;
    box-shadow:
      0 22px 44px rgba(0,0,0,.40),
      0 2px 6px rgba(0,0,0,.25);
    will-change: transform, opacity;
  }
  .home-row-card:nth-child(even){ --tilt: 2deg; }
  .home-row-card:nth-child(3n){ --tilt: -2.5deg; }
  .home-row-card:nth-child(5n){ --tilt: 1.5deg; }
  .home-row-card.is-current{
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
  .home-row-card::before{
    content:"";
    position:absolute; top:-9px; left:50%;
    transform: translateX(-50%) rotate(-3deg);
    width: 72px; height: 16px;
    background: color-mix(in oklab, var(--ivory) 55%, transparent);
    border: 1px solid rgba(0,0,0,.04);
    box-shadow: 0 1px 3px rgba(0,0,0,.18);
    pointer-events:none;
  }
  .home-row-card:nth-child(even)::before{ transform: translateX(-50%) rotate(4deg); }

  .home-row-card img{
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    display: block;
    background: #e8e2d2;
    filter: saturate(.96) contrast(1.02);
  }
  .home-row-card .cap{ display:none; }

  /* Hide legacy dot row */
  .home-row-dots{ display:none !important; }

  .home-row-meta{
    display:flex; align-items:center; justify-content:center;
    margin: 8px auto 0; padding: 0 60px;
    max-width: 320px;
  }
  .home-row-bar{
    flex: 1; height: 1px;
    background: color-mix(in oklab, var(--ivory) 18%, transparent);
    position: relative; overflow: hidden;
  }
  .home-row-bar i{
    position:absolute; top:-1px; left:0; height:3px;
    background: var(--ivory);
    transition: width .35s cubic-bezier(.2,.75,.2,1);
  }
  .home-row-tag{
    text-align:center; margin-top: 14px;
    font-family: var(--mono); font-size: 9px; letter-spacing: .3em;
    text-transform: uppercase;
    color: color-mix(in oklab, var(--ivory) 50%, transparent);
  }

  .home-row-hint{
    text-align:center; margin-top: 10px;
    font-family: var(--mono); font-size: 9.5px; letter-spacing: .28em;
    text-transform: uppercase;
    color: color-mix(in oklab, var(--ivory) 55%, transparent);
    transition: opacity .4s ease;
  }
  .home-row-hint .arrow{ display:inline-block; margin-left: 8px; opacity:.7; }

  /* ── Closing ── */
  .closing{
    padding: 96px 64px 72px; text-align:center;
    background: var(--ivory);
  }
  .closing .paw{font-family: var(--display); font-size:24px; color:var(--rose); margin-bottom:28px;}
  .closing h2{
    font-family: var(--mono); font-weight: 500;
    font-size: clamp(18px, 2vw, 26px); line-height: 1.75; letter-spacing: .1em;
    text-transform: uppercase;
    max-width: 900px; margin: 0 auto;
  }
  .closing h2 em{font-style: normal; color: var(--rose-ink);}
  .closing .locale{
    margin-top: 44px; font-family: var(--mono); font-style: normal; font-size: 11px;
    letter-spacing: .28em; text-transform: uppercase;
    color: var(--espresso-2);
  }
  .closing .cta{margin-top: 48px; display:inline-flex; gap:12px;}
  .closing .paws-mark{ display:flex; justify-content:center; opacity:.85; margin: 0 0 22px; }
  .closing .paws-mark img{ width:56px; height:auto; filter:brightness(.55); }
  .closing .orn-rule{ margin: 36px auto 0; max-width:240px; }
  .orn-rule{
    display:flex; align-items:center; gap:14px; justify-content:center;
  }
  .orn-rule .l, .orn-rule .r{ flex:1; height:1px; background:var(--rule); max-width:160px; }
  .orn-rule .m{
    width:10px; height:10px; transform:rotate(45deg);
    background:var(--rose-ink); position:relative;
  }
  .orn-rule .m::before{ content:""; position:absolute; inset:4px; border:1px solid var(--rose-ink); }

  /* ── Concierge form ── */
  .concierge{
    padding: 44px 64px; display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:center;
    background: var(--ivory-2); border-top:1px solid var(--rule);
  }
  .concierge h2{font-family:var(--display); font-weight:300; font-size:56px; line-height:1.05; letter-spacing:-.015em;}
  .concierge h2 em{font-style:italic; color:var(--rose-ink);}
  .concierge p{margin-top:24px; font-size:15.5px; line-height:1.75; color:var(--espresso-2); max-width:460px;}
  .concierge .form{background:var(--ivory); padding:48px; border:1px solid var(--rule);}
  .concierge .form .row{display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-bottom:16px;}
  .concierge .form label{display:block; font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--espresso-3); margin-bottom:8px;}
  .concierge .form .field{border-bottom:1px solid var(--espresso-3); padding-bottom:10px; color:var(--espresso-3); font-size:15px;}
  .concierge .form .submit{margin-top:28px; display:flex; justify-content:space-between; align-items:center;}
  .concierge .form .submit small{font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--espresso-3);}

  /* ── Footer ── */
  footer{background:var(--rose-ink); color:var(--ivory); padding: 32px 64px 24px;}
  .foot-grid{display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap:64px; margin-bottom:40px;}
  .foot-grid h5{font-family:var(--mono); font-size:10px; letter-spacing:.22em; text-transform:uppercase; color: color-mix(in oklab, var(--ivory) 55%, transparent); margin-bottom:20px;}
  .foot-grid ul{list-style:none;}
  .foot-grid li{padding:6px 0; font-size:14px; color: color-mix(in oklab, var(--ivory) 82%, transparent);}
  .foot-grid .word{font-family:var(--display); font-size:44px; font-weight:300; letter-spacing:-.01em;}
  .foot-grid .word + p{margin-top:16px; font-size:14px; line-height:1.65; color: color-mix(in oklab, var(--ivory) 70%, transparent); max-width:360px;}
  .foot-bottom{display:flex; justify-content:space-between; padding-top:28px; border-top:1px solid color-mix(in oklab, var(--ivory) 15%, transparent); font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color: color-mix(in oklab, var(--ivory) 55%, transparent);}
  .foot-legal{
    margin-top:20px; padding-top:20px; text-align:center;
    border-top:1px solid color-mix(in oklab, var(--ivory) 15%, transparent);
    color: color-mix(in oklab, var(--ivory) 75%, transparent);
  }
  .foot-legal .foot-copy{font-family:var(--mono); font-size:10px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; color: color-mix(in oklab, var(--ivory) 75%, transparent); line-height:1.6;}
  .foot-legal .foot-entity{margin-top:6px; font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color: color-mix(in oklab, var(--ivory) 75%, transparent); line-height:1.6;}
  .foot-legal .foot-regs{margin-top:4px; font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color: color-mix(in oklab, var(--ivory) 55%, transparent); line-height:1.6;}
  .foot-legal .foot-links{list-style:none; padding:0; margin:10px 0 0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px 22px; font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color: color-mix(in oklab, var(--ivory) 65%, transparent); line-height:1.6;}
  .foot-legal .foot-links li{cursor:pointer;}
  .foot-legal .foot-links li:hover{color:var(--rose);}

  
  /* HERMES-LIKE ITALIC ACCENTS */
  h1 em, h2 em, h3 em, .h em, .hero-headline em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
  }

  /* ── Rationale ── */
  .rationale{padding: 52px 64px; background:var(--ivory); border-top:1px solid var(--rule);}
  .rationale h2{font-family:var(--display); font-size:56px; font-weight:300; letter-spacing:-.015em; margin-bottom:16px;}
  .rationale h2 em{font-style:italic; color:var(--rose-ink);}
  .rationale .lede{max-width:640px; color:var(--espresso-2); font-size:15px; line-height:1.75; margin-bottom:40px;}
  .rationale-grid{display:grid; grid-template-columns: repeat(3, 1fr); gap:48px 40px;}
  .rat{border-top:1px solid var(--espresso); padding-top:22px;}
  .rat .n{font-family:var(--mono); font-size:10px; letter-spacing:.2em; color:var(--rose-ink);}
  .rat h4{font-family:var(--display); font-size:24px; font-weight:400; margin:12px 0 14px; letter-spacing:-.01em;}
  .rat p{color:var(--espresso-2); font-size:13px; line-height:1.7;}
  .rat .tag{display:inline-block; margin-top:14px; font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--espresso-3); border:1px solid var(--rule); padding:6px 10px;}
  .rat .quote{
    margin-top:14px; font-family:var(--display); font-style:italic; font-size:14px; color:var(--espresso-3);
    padding-top:12px; border-top:1px dashed var(--rule);
  }

  /* ── Watercolor accents ── */
  .hero {
    background:
      radial-gradient(circle at 105% -5%, rgba(176,200,224,0.60) 0%, rgba(186,208,228,0.22) 180px, transparent 400px),
      radial-gradient(circle at -10% 80%, rgba(224,210,186,0.35) 0%, transparent 300px),
      var(--ivory) !important;
  }
  .services {
    background:
      radial-gradient(circle at -8% 8%, rgba(224,210,186,0.55) 0%, rgba(228,216,194,0.16) 160px, transparent 360px),
      radial-gradient(circle at 108% 50%, rgba(176,200,224,0.40) 0%, transparent 320px),
      var(--ivory) !important;
  }
  .editorial {
    background:
      radial-gradient(circle at 108% -5%, rgba(176,200,224,0.55) 0%, rgba(186,208,228,0.15) 170px, transparent 380px),
      radial-gradient(circle at -8% 95%, rgba(228,214,190,0.38) 0%, transparent 280px),
      var(--ivory) !important;
  }
  .expertise {
    background:
      radial-gradient(circle at -8% 100%, rgba(180,204,228,0.50) 0%, rgba(190,210,230,0.14) 160px, transparent 360px),
      radial-gradient(circle at 105% 85%, rgba(224,208,184,0.35) 0%, transparent 280px),
      var(--ivory) !important;
  }
  .only {
    background:
      radial-gradient(circle at 108% -5%, rgba(176,200,224,0.48) 0%, rgba(186,208,228,0.12) 170px, transparent 380px),
      radial-gradient(circle at -10% 50%, rgba(228,214,190,0.35) 0%, transparent 300px),
      var(--ivory) !important;
  }
  .closing {
    background:
      radial-gradient(circle at 105% 5%, rgba(170,196,222,0.55) 0%, rgba(180,204,226,0.16) 190px, transparent 400px),
      radial-gradient(circle at -8% 90%, rgba(224,210,186,0.42) 0%, transparent 320px),
      var(--ivory) !important;
  }
  .verify {
    background:
      radial-gradient(circle at 108% 95%, rgba(180,204,228,0.48) 0%, rgba(190,210,230,0.12) 160px, transparent 360px),
      var(--ivory) !important;
  }
  .manifesto {
    background:
      radial-gradient(circle at 105% -5%, rgba(180,204,228,0.48) 0%, rgba(190,210,230,0.12) 150px, transparent 340px),
      var(--ivory) !important;
  }

  /* ── Print ── */
  @media print {
    @page { size: A3 landscape; margin: 10mm; }
    html, body {
      background: var(--ivory) !important;
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
    }
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

    /* Fit 1440px canvas to A3 landscape printable width (~400mm ≈ 1512px) */
    .page { width: 1440px !important; margin: 0 auto !important; }

    /* Unstick nav, kill effects that don't print */
    .nav {
      position: static !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      background: var(--ivory) !important;
    }
    a { text-decoration: none !important; }
    body { cursor: auto !important; }

    /* Page-break hygiene: one major section per page where it makes sense,
       but let long sections flow naturally. Avoid orphaned headings & split cards. */
    .hero { break-after: page; page-break-after: always; }
    .proof, .collection, .provenance, .journey,
    .philosophy, .longform, .concierge, .rationale,
    .footer {
      break-before: page;
      page-break-before: always;
      break-inside: auto;
    }

    /* Don't split cards, chapters, quotes, form blocks */
    .rat, .prov-item, .step, .chap, .ch, .card,
    h1, h2, h3, h4, blockquote, figure {
      break-inside: avoid;
      page-break-inside: avoid;
    }
    h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }

    /* Trim section padding so each page uses its real estate well */
    section, .rationale, .footer { padding-top: 60px !important; padding-bottom: 60px !important; }

    /* Hide any UI that exists only for interaction */
    .nav-top .actions a { color: var(--espresso-2) !important; }
  }

  .actions .msgr{
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; color:var(--espresso);
    border:1px solid var(--rule); border-radius:0;
    transition:background .2s, color .2s, border-color .2s;
    cursor:pointer;
  }
  .actions .msgr + .msgr{ margin-left:6px; }
  .actions .msgr:hover{ background:var(--espresso); color:var(--ivory); border-color:var(--espresso); }
  .actions .msgr-max span{
    font-family:var(--mono); font-size:9px; letter-spacing:.08em; font-weight:500;
  }

  .hero-art{ aspect-ratio: 4/5; position:relative; background: var(--ivory-2); overflow:hidden; }
  .hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.95) contrast(1.02); }
  .hero-corner{ position:absolute; top:18px; left:18px; font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ivory); background: color-mix(in oklab, var(--espresso) 70%, transparent); padding:6px 10px; backdrop-filter: blur(2px); }

  /* services vertical balance */
  .svc{ position:relative; }
  .svc > .svc-foot{ margin-top:auto; padding-top:28px; display:flex; flex-wrap:wrap; gap:8px; }
  .svc > .svc-foot span{
    font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase;
    padding:7px 12px; border:1px solid var(--rule); color:var(--espresso-2);
  }
  .svc .chips{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
  .svc .chips span{
    font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase;
    padding:7px 12px; border:1px solid var(--rule); color:var(--espresso-2);
  }
  .svc .duo{ flex: 0 0 auto; }
.dream strong{font-style:italic; font-weight:400; color:var(--rose-ink);}


/* ============================================================
   MOBILE (≤768px) — responsive pass
   Rules: hero photo above copy · horizontal-scroll nav menu
          · all sections stay in desktop order
   ============================================================ */
@media (max-width: 900px){

  /* Global — simple, browser-native scroll, hard horizontal clip */
  html, body { margin: 0; padding: 0; -webkit-text-size-adjust: 100%; max-width: 100vw !important; width: 100vw !important; }
  html, body { overflow-x: hidden !important; overflow-y: auto; -webkit-overflow-scrolling: touch; height: auto; min-height: 100%; touch-action: pan-y; }
  body > * { max-width: 100vw !important; box-sizing: border-box; }
  .page { width: 100% !important; max-width: 100vw !important; overflow-x: hidden !important; box-sizing: border-box; }
  img:not(.wm-crest), video, iframe, svg:not(.wm-crest) { max-width: 100% !important; height: auto; display: block; }
  *, *::before, *::after { box-sizing: border-box; }

  /* Kill sticky+blur on mobile (Android/iOS in-app webview scroll bug) */
  .nav { position: static !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: var(--ivory) !important; }
  .hero-corner { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  img { max-width: 100%; height: auto; }
  section, .notice-strip, .nav, .hero, .services, .manifesto, .expertise,
  .warning, .only, .assurance, .teaser, .why, .longform, .concierge, .editorial,
  .rationale, .verify, footer { padding-left: 20px !important; padding-right: 20px !important; }

  /* Top notice strip */
  .notice-strip{
    display:grid !important; grid-template-columns: 1fr auto 1fr; align-items:center; gap:10px;
    padding: 7px 16px !important; font-size: 9.7px !important; line-height: 1.25;
    overflow: hidden; max-width: 100vw; box-sizing: border-box;
  }
  .notice-strip .l{ justify-self:start; text-align:left; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .notice-strip .c{ justify-self:center; }
  .notice-strip .r{ justify-self:end; text-align:right; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  /* NAV — two rows, menu horizontal-scrollable */
  .nav{ padding: 0 !important; }
  .nav-top{
    display:grid; grid-template-columns: 1fr auto 1fr; gap:10px;
    padding: 6px 20px !important; align-items:center;
  }
  .nav-top > .nav-left{ justify-self:start; }
  .nav-top > .nav-right{ justify-self:end; }
  .nav-top > .wordmark{ justify-self:center; height: 56px; position: relative; }
  .wm-crest{ width: auto !important; height: 72px !important; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); max-width: none !important; display:block !important; }
  .nav-top .meta{
    justify-self:start; font-size:9px; gap:6px;
  }
  .nav-top .meta .pill{ padding:4px 7px; font-size:9px; }
  .nav-top .meta span:not(.pill){ display:none; } /* hide "с 2019" on mobile */
  .wordmark{ justify-self:center; }
  .nav-top .actions{
    justify-self:end; gap:8px; font-size:9px;
  }
  .nav .icon-btn svg{ width: 18px !important; height: 18px !important; }
  .nav .icon-btn.social{ width:20px !important; height:20px !important; padding:0 !important; }
  .nav .icon-btn.social img{ width:100% !important; height:100% !important; object-fit:contain; filter: brightness(0); }
  .nav .icon-btn{ width: 28px !important; height: 28px !important; }
  .nav .icon-btn.burger{ width:14px !important; height:10px !important; padding:0 !important; }
  .nav .icon-btn.icon-max{ width:auto !important; min-width:34px; height:24px !important; padding:0 5px !important; }
  .nav-left .icon-btn:not(.burger){ display:none !important; } /* hide search on mobile */
  /* superseded above */
  .wm-crest.__legacy{ width: auto !important; height: 70px !important; }
  .nav-top .actions a:first-of-type{ display:none; } /* hide phone text, keep icons */
  .nav-top .actions .sep:first-of-type{ display:none; }
  .actions .msgr{ width:30px; height:30px; }

  /* Primary menu — horizontal scroll */
  .nav-menu{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .nav-menu::-webkit-scrollbar{ display:none; }
  .nav-menu ul{
    display:flex; flex-wrap:nowrap; padding: 0 !important;
    width:max-content; max-width:none;
  }
  .nav-menu li{
    flex: 0 0 auto; padding: 14px 14px; font-size: 10.5px; letter-spacing:.14em;
    white-space: nowrap;
    border-right:1px solid var(--rule);
    line-height: 1;
  }
  .nav-menu li:first-child{ border-left: none; }
  .nav-menu li.hide-mobile{ display: none !important; }

  /* HERO — photo above copy */
  .hero{
    display:flex !important; flex-direction:column !important; gap:0;
    padding: 0 0 25px !important;
  }
  .hero-lede{ padding: 0 20px; }
  .hero-art{
    width:100%; aspect-ratio: auto; margin-top: 28px; margin-bottom: 0;
  }
  .hero-grid{
    width: calc(100% - 40px); margin: 28px 20px 48px; aspect-ratio: auto;
    gap: 18px 12px;
  }
  .hero-copy{
    padding: 0 20px !important;
  }
  .atelier-line, .atelier-line--xl{
    font-size: 13px !important; line-height:1.7 !important;
    letter-spacing: .24em !important;
    margin-bottom: 22px !important;
  }
  .hero h1{
    font-size: 18px !important; line-height:1.7 !important; letter-spacing:.12em !important;
  }
  .hero-principle p{ font-size: 12px !important; line-height: 1.8 !important; letter-spacing: .1em !important; }
  .hero-cta{ display:flex; flex-direction:column; gap:10px; margin-top:25px; }
  .hero-cta .btn{ width:100%; justify-content:center; }
  .hero-meta{ display:flex; flex-direction:column; gap:14px; margin-top:32px; padding-top:20px; }

  /* Services — stack 3 → 1 */
  .services{ grid-template-columns: 1fr !important; }
  .svc{ border-right:none !important; border-bottom: 1px solid var(--rule); padding: 44px 20px !important; min-width: 0 !important; overflow: hidden !important; }
  .svc h3{ font-size: 32px !important; line-height: 1.05 !important; }
  .svc .duo{ display:flex !important; flex-direction:column !important; gap: 24px !important; flex: 1 1 auto !important; min-width: 0 !important; }
  .svc .duo .role{ grid-template-columns: auto 1fr !important; min-width: 0 !important; gap: 18px !important; padding-top: 22px !important; }
  .svc .duo .role:first-child{ padding-top: 0 !important; }
  .svc .duo .role .roman{ font-size: 24px !important; }
  .svc .duo .role .ttl{ font-size: 12px !important; letter-spacing: .26em !important; margin-bottom: 12px !important; color: var(--espresso) !important; font-weight: 700 !important; }
  .svc .duo .role p{
    overflow-wrap: break-word; word-wrap: break-word;
    font-size: 19.5px !important;
    line-height: 1.6 !important;
    letter-spacing: .005em !important;
    color: var(--espresso) !important;
    font-weight: 500 !important;
  }
  .svc .duo .role p + p{ margin-top: 14px !important; }
  .svc > p{
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: var(--espresso) !important;
    font-weight: 600 !important;
  }
  .svc > p + p{ margin-top: 16px !important; }
  .svc ul{ margin: 20px 0 8px !important; }
  .svc li{ font-size: 21px !important; line-height: 1.5 !important; padding: 12px 0 !important; font-weight: 600 !important; }
  .svc-foot{ gap:6px !important; flex-wrap: wrap !important; }
  .svc-foot span{ font-size: 9px !important; padding: 5px 8px !important; }

  /* Manifesto */
  .manifesto{ padding: 64px 20px !important; }
  .manifesto-wrap{ grid-template-columns: 1fr !important; gap: 28px !important; }
  .manifesto h2{ font-size: 36px !important; line-height:1.05 !important; }
  .manifesto .dream{ font-size: 14px !important; line-height: 1.85 !important; letter-spacing: .1em !important; font-weight: 600 !important; }
  .manifesto .myth{
    font-size: 21px !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    color: var(--espresso) !important;
    padding: 36px 28px !important;
    border-left-width: 3px !important;
  }
  .manifesto .myth b{
    font-size: 13px !important;
    letter-spacing: .28em !important;
    font-weight: 700 !important;
    margin-bottom: 22px !important;
  }
  .manifesto .myth p + p{ margin-top: 20px !important; }

  /* Expertise triptych */
  .expertise{ padding: 64px 20px !important; }
  .expertise .head h2{ font-size: 36px !important; line-height:1.06 !important; }
  .expertise .head h2 em{ font-size: 1.25em !important; }
  .tript{ grid-template-columns: 1fr !important; }
  .tript .cell{ padding: 36px 20px !important; border-right:none !important; border-bottom:1px solid var(--rule); }
  .tript .cell:last-child{ border-bottom:none; }
  .tript .roman{ font-size: 32px !important; }
  .tript .txt{ font-size: 12px !important; line-height:1.65 !important; }

  /* Warning */
  .warning{ padding: 64px 20px !important; }
  .warning-wrap{ grid-template-columns: 1fr !important; gap: 20px !important; }
  .warning .mark{ font-size: 90px !important; }
  .warning h2{ font-size: 30px !important; line-height:1.08 !important; }
  .warning .body{ font-size: 13px !important; }
  .warning .body .hit{ font-size: 22px !important; }

  /* ТОЛЬКО МЫ */
  .only{ padding: 40px 20px !important; }
  .only .head{ grid-template-columns: 1fr !important; gap: 24px !important; margin-bottom: 28px !important; }
  .only h2{ font-size: 44px !important; line-height: .98 !important; }
  .only-row{
    grid-template-columns: 1fr !important; gap: 10px !important;
    padding: 24px 0 !important;
  }
  .only-row .n{ font-size:10px; }
  .only-row .label{ font-size: 22px !important; }
  .only-row .copy{ font-size: 12px !important; line-height:1.6 !important; }
  .only-row .copy .stamp{ font-size: 15px !important; }

  /* Assurance */
  .assurance{ padding: 32px 20px !important; }
  .assurance .crest{ margin-bottom: 14px !important; }
  .assurance p{ font-size: 13px !important; letter-spacing: .1em !important; }

  /* Verify */
  .verify{ padding: 48px 20px 20px !important; }
  .verify .head{ grid-template-columns: 1fr !important; gap: 20px !important; margin-bottom: 32px !important; }
  .verify h2{ font-size: 36px !important; line-height:1.02 !important; }
  .verify .lede{ font-size: 11px !important; letter-spacing: .1em !important; }
  .verify-duo{ grid-template-columns: 1fr !important; }
  .verify-col{ padding: 28px 20px !important; }
  .verify-col:first-child{ border-right: none !important; border-bottom: 1px solid var(--rule) !important; }
  .verify-col h3{ font-size: 22px !important; margin-bottom: 16px !important; }
  .verify-col ul li{ font-size: 13.5px !important; padding: 12px 0 12px 24px !important; }
  .verify-foot{ flex-direction: column; align-items: stretch !important; gap: 18px !important; margin-top: 24px !important; padding: 18px 0 0 !important; }
  .verify-foot .note{ font-size: 11px !important; letter-spacing: .1em !important; }
  .verify-foot .graduates-btn{
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    gap:14px !important; width:100% !important; padding:16px 24px !important;
    border:1px solid var(--rose-ink) !important; background:var(--rose-ink) !important;
    color:var(--ivory) !important; text-decoration:none !important;
    font-family:var(--mono) !important; font-weight:600 !important;
    font-size:11px !important; letter-spacing:.22em !important; text-transform:uppercase !important;
    border-bottom-width:1px !important; padding-bottom:16px !important; white-space:normal !important;
    transition: background .2s ease, color .2s ease;
  }
  .verify-foot .graduates-btn:hover{ background:transparent !important; color:var(--rose-ink) !important; }
  .editorial.editorial-ii{ padding-top: 24px !important; }

  /* Collection teaser */
  .teaser{ padding: 20px 20px 36px !important; }
  .teaser-wrap{ grid-template-columns: 1fr !important; gap: 28px !important; }
  .teaser h2{ font-size: 34px !important; line-height:1.05 !important; }
  .teaser p{ font-size: 12px !important; letter-spacing: .06em !important; }
  .teaser-art{ order: -1; aspect-ratio: 4/5; }

  /* Editorial mobile */
  .editorial{ padding: 36px 20px 12px !important; }
  .editorial-iii{ padding: 12px 20px 4px !important; }
  .editorial-head{ margin-bottom: 24px !important; }
  .editorial-head h2{ font-size: 52px !important; }
  .editorial-head .sub{ font-size: 18px !important; margin-top: 16px !important; }
  .editorial-head .focus{ margin-top: 22px !important; font-size: 10px !important; }
  .editorial-art{ aspect-ratio: 3/4 !important; }

  /* Why Korean — 8 cards → 1 col */
  .why{ padding: 48px 20px 24px !important; }
  .why-head .eyebrow{ font-size: 9px !important; letter-spacing: .2em !important; gap: 10px !important; }
  .why-head .eyebrow::before, .why-head .eyebrow::after{ width: 22px !important; }
  .why-head h2{ font-size: 36px !important; line-height:1.02 !important; }
  .why-head .sub{ font-size: 14px; }
  .why-grid{ grid-template-columns: 1fr !important; }
  .why-cell{ padding: 32px 24px !important; min-height:0 !important; }
  .why-cell h3{ font-size: 26px !important; line-height:1.05 !important; }
  .why-cell p{ font-size: 13px !important; line-height:1.7 !important; }

  /* Longform article */
  .longform{ padding: 64px 20px !important; }
  .longform-head{ grid-template-columns: 1fr !important; gap:20px !important; }
  .toc{ columns: 1 !important; }
  .longform h3{ font-size:26px !important; }
  .longform article p{ font-size:14px !important; line-height:1.75 !important; }

  /* Concierge */
  .concierge{ padding: 64px 20px !important; }
  .concierge-wrap, .concierge-grid{ grid-template-columns: 1fr !important; gap:28px !important; }
  .concierge h2{ font-size: 36px !important; }
  .concierge .form{ padding: 24px !important; }
  .concierge .form .row{ grid-template-columns: 1fr !important; }

  /* Rationale */
  .rationale{ padding: 64px 20px !important; }
  .rationale h2{ font-size: 36px !important; }
  .rationale-grid{ grid-template-columns: 1fr !important; gap: 28px !important; }

  /* Footer */
  footer{ padding: 18px 20px 18px !important; }
  .foot-grid{ grid-template-columns: 1fr !important; gap: 32px !important; margin-bottom: 32px !important; }
  .foot-grid .word{ font-size: 32px !important; }
  .foot-bottom{ flex-direction: column; gap: 8px; text-align:center; }
  /* On mobile foot-legal is the only footer child — thin hairline above */
  .foot-legal{ margin-top: 14px !important; padding-top: 14px !important; border-top: 1px solid color-mix(in oklab, var(--ivory) 18%, transparent) !important; }
  .foot-legal .foot-links{ margin-top: 8px !important; gap: 4px 18px !important; }

  /* Generic display headings — cap font size */
  h1{ font-size: 42px !important; line-height:1 !important; }
  h2{ letter-spacing:-.015em !important; }

  /* Closing — mobile redesign: organic stacked composition */
  .closing{
    padding: 56px 28px 56px !important;
    display:flex !important; flex-direction:column; align-items:center;
    gap: 0 !important;
    background:
      radial-gradient(ellipse 80% 60% at 50% 0%, color-mix(in oklab, var(--rose-ink) 6%, transparent), transparent 70%),
      var(--ivory) !important;
  }
  .closing .paw{ display:none !important; }
  .closing h2{ display:none !important; }
  .closing .locale{
    order: 2;
    margin: 0 0 22px !important;
    font-size: 10px !important; letter-spacing: .34em !important;
    color: var(--espresso-2) !important;
    position:relative; padding: 0 18px;
  }
  .closing .locale::before, .closing .locale::after{
    content:""; position:absolute; top:50%; width:10px; height:1px;
    background: color-mix(in oklab, var(--rose-ink) 50%, transparent);
  }
  .closing .locale::before{ left:0; }
  .closing .locale::after{ right:0; }
  .closing .orn-rule.orn-bottom{
    order: 1;
    margin: 0 auto 22px !important; max-width: 200px !important;
    width: 100%;
  }
  .closing .orn-rule.orn-bottom .l,
  .closing .orn-rule.orn-bottom .r{
    background: color-mix(in oklab, var(--rose-ink) 35%, transparent) !important;
    max-width: none !important;
  }
  .closing .orn-rule.orn-bottom .m{
    width: 7px !important; height: 7px !important;
    background: var(--rose-ink) !important;
  }
  .closing .orn-rule.orn-bottom .m::before{ inset: 2px !important; border-color: var(--ivory) !important; }
  .closing .cta{
    order: 3;
    margin: 4px 0 0 !important;
    flex-wrap: nowrap; gap: 0;
    width: 100%; max-width: 320px;
  }
  .closing .cta .btn{ width: 100%; justify-content: center; white-space: nowrap; font-size: 10px !important; letter-spacing: .14em !important; padding-left: 14px !important; padding-right: 14px !important; }

  /* Hide decorative elements that crowd on mobile */
  .maison-crest{ font-size: 8px !important; padding: 6px 0 6px !important; letter-spacing: .22em !important; gap: 14px !important; white-space: nowrap !important; }
  .maison-crest::before, .maison-crest::after{ max-width: 56px !important; }
  .nav-top .meta{ display: none !important; }
  .nav-top .actions .msgr{ display: none !important; }
  .nav-top .actions .sep{ display: none !important; }
  .hero-corner{ display: none !important; }
}

