  :root{
    --vanilla:#FDF6EC;
    --vanilla-deep:#F3E4D0;
    --strawberry:#F9D9E1;
    --strawberry-soft:#FCEAEF;
    --pistachio:#D6E6CF;
    --pistachio-soft:#EDF4E9;
    --blueberry:#DCD8EE;
    --lemon:#F6E9BC;
    --cream:#FFFCF8;
    --vanilla-glass:rgba(253,246,236,0.9);
    --blueberry-soft:#EEECF7;
    --blueberry-ink:#5E5896;
    --lemon-soft:#FBF4DC;
    --ganache-soft:#F1E6DF;
    --ganache-mid:#E2D0C6;
    --ganache-bar:#B98C77;
    --cream-bar:#F0B3C4;

    --cocoa:#4B3A3F;
    --cocoa-soft:#866C72;
    --berry:#B14A6E;
    --berry-deep:#95395A;

    --shadow-soft:0 18px 38px -26px rgba(122,78,90,0.55);
    --shadow-lift:0 22px 46px -24px rgba(122,78,90,0.45);

    --font-display:'Unbounded', 'Trebuchet MS', sans-serif;
    --font-body:'Manrope', system-ui, 'Segoe UI', sans-serif;
  }

  *{box-sizing:border-box;}
  [hidden]{display:none !important;}
  html{-webkit-text-size-adjust:100%;}

  body{
    margin:0;
    background:var(--vanilla);
    color:var(--cocoa);
    font-family:var(--font-body);
    font-size:17px;
    line-height:1.65;
  }

  .wrap{max-width:1000px; margin-inline:auto; padding-inline:20px;}

  h1,h2,h3{margin:0; text-wrap:balance; font-family:var(--font-display); font-weight:600; line-height:1.2;}
  p{margin:0;}

  a{color:var(--berry);}
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
    outline:3px solid var(--berry);
    outline-offset:2px;
  }

  .eyebrow{
    display:inline-block;
    font-size:0.72rem;
    font-weight:800;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--berry);
  }

  /* piped buttercream edges */
  .piped{height:14px; background-repeat:repeat-x; background-size:14px 14px;}
  .piped-up{background-image:radial-gradient(circle at 50% 100%, var(--piped) 7px, transparent 7.5px);}
  .piped-down{background-image:radial-gradient(circle at 50% 0%, var(--piped) 7px, transparent 7.5px);}

  /* hero */
  .hero{
    position:relative;
    background:
      radial-gradient(ellipse 70% 55% at 50% -10%, var(--strawberry-soft), transparent 70%),
      var(--vanilla);
    padding-block:52px;
    text-align:center;
    overflow:hidden;
  }
  .sprinkle{position:absolute; width:16px; height:6px; border-radius:4px; opacity:0.75; pointer-events:none;}
  .s1{top:12%; left:8%;  background:var(--strawberry); transform:rotate(24deg);}
  .s2{top:26%; left:15%; background:var(--pistachio); transform:rotate(-38deg);}
  .s3{top:16%; right:10%;background:var(--blueberry); transform:rotate(-14deg);}
  .s4{top:34%; right:16%;background:var(--strawberry); transform:rotate(46deg);}
  .s5{bottom:16%; left:12%; background:var(--blueberry); transform:rotate(-27deg);}
  .s6{bottom:22%; right:11%;background:var(--pistachio); transform:rotate(33deg);}

  .logo{
    position:relative;
    width:112px; height:112px;
    margin:0 auto 18px;
    border-radius:50%;
    overflow:hidden;
    background:var(--strawberry);
    box-shadow:0 0 0 5px var(--cream), var(--shadow-lift);
    display:grid;
    place-items:center;
  }
  .logo .monogram{font-family:var(--font-display); font-weight:600; font-size:2.3rem; color:var(--berry); line-height:1;}
  .logo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}

  .brand{font-size:clamp(2rem, 6.2vw, 3.5rem); letter-spacing:-0.02em; margin-block:10px 14px;}
  .brand span{color:var(--berry);}
  .tagline{max-width:46ch; margin-inline:auto; color:var(--cocoa-soft); font-size:1.05rem;}

  .showcase-actions{margin-top:28px; display:flex; justify-content:center; flex-wrap:wrap; gap:10px;}

  /* top menu */
  .topbar{
    position:sticky;
    top:0;
    z-index:50;
    background:var(--vanilla-glass);
    -webkit-backdrop-filter:saturate(1.2) blur(10px);
    backdrop-filter:saturate(1.2) blur(10px);
    border-bottom:1px solid var(--vanilla-deep);
  }
  .topbar-in{display:flex; align-items:center; gap:16px; min-height:64px;}
  .nav-brand{display:inline-flex; align-items:center; gap:10px; margin-right:auto; text-decoration:none; color:var(--cocoa);}
  .nav-logo{
    width:38px; height:38px;
    flex:none;
    border-radius:50%;
    overflow:hidden;
    background:var(--strawberry);
    box-shadow:0 0 0 2px var(--cream), 0 0 0 3px var(--vanilla-deep);
  }
  .nav-logo img{width:100%; height:100%; object-fit:cover; display:block;}
  .nav-name{font-family:var(--font-display); font-weight:600; font-size:1rem; letter-spacing:-0.01em; white-space:nowrap;}
  .nav-panel{display:flex; align-items:center; gap:18px; order:1;}
  .nav-links{list-style:none; margin:0; padding:0; display:flex; gap:4px;}
  .nav-link{
    display:block;
    padding:8px 14px;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    font-size:0.93rem;
    color:var(--cocoa-soft);
    transition:background .15s ease, color .15s ease;
  }
  .nav-link:hover{color:var(--berry); background:var(--strawberry-soft);}
  .nav-link[aria-current="page"]{color:var(--berry); background:var(--strawberry);}

  .langs{
    order:2;
    flex:none;
    display:flex;
    gap:2px;
    padding:3px;
    border-radius:999px;
    background:var(--cream);
    border:1px solid var(--vanilla-deep);
  }
  .lang{
    border:0;
    background:transparent;
    color:var(--cocoa-soft);
    font-family:var(--font-body);
    font-weight:800;
    font-size:0.74rem;
    letter-spacing:0.06em;
    padding:6px 10px;
    border-radius:999px;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }
  .lang:hover{color:var(--berry);}
  .lang[aria-pressed="true"]{background:var(--berry); color:#fff;}

  .menu-btn{display:none; order:3;}
  [tabindex="-1"]:focus{outline:none;}

  /* sections */
  section{padding-block:56px;}
  .head{max-width:640px; margin-bottom:26px;}
  .head.center{margin-inline:auto; text-align:center;}
  .head h1, .head h2{font-size:clamp(1.45rem, 3.8vw, 2.05rem); margin-top:10px;}
  .head p.sub{margin-top:12px; color:var(--cocoa-soft);}
  .prose{max-width:62ch; font-size:1.06rem;}

  /* calculator */
  .band-pistachio{background:var(--pistachio-soft);}
  .calc{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,320px);
    gap:26px;
    align-items:start;
  }
  .card{background:var(--cream); border-radius:20px; padding:24px; box-shadow:var(--shadow-soft);}

  .field{display:block; margin:0 0 20px; padding:0; border:0; min-width:0;}
  .field:last-child{margin-bottom:0;}
  .field > .label{
    display:block;
    padding:0;
    font-size:0.76rem;
    font-weight:800;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--cocoa-soft);
    margin-bottom:8px;
  }

  .guests-row{display:flex; align-items:center; gap:16px;}
  input[type="range"]{flex:1; min-width:0; accent-color:var(--berry); height:24px;}
  .guests-num{
    width:84px;
    font-family:var(--font-display);
    font-size:1.25rem;
    font-weight:600;
    text-align:center;
    color:var(--cocoa);
    background:var(--vanilla);
    border:1px solid var(--vanilla-deep);
    border-radius:12px;
    padding:8px 6px;
    font-variant-numeric:tabular-nums;
  }

  .shapes{display:flex; flex-wrap:wrap; gap:8px;}
  .shapes label{position:relative; cursor:pointer;}
  .shapes input{position:absolute; opacity:0; width:1px; height:1px;}
  .shapes span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 14px 9px 11px;
    border-radius:999px;
    background:var(--vanilla);
    border:1px solid var(--vanilla-deep);
    font-weight:700;
    font-size:0.92rem;
    color:var(--cocoa-soft);
    transition:background .15s ease, color .15s ease;
  }
  .shapes svg{width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; stroke-linecap:round;}
  .shapes label:hover span{color:var(--berry);}
  .shapes input:checked + span{background:var(--berry); border-color:var(--berry); color:#fff;}
  .shapes input:focus-visible + span{outline:3px solid var(--berry); outline-offset:2px;}
  .hint{
    margin-top:10px;
    font-size:0.88rem;
    line-height:1.5;
    color:var(--cocoa-soft);
  }

  select, input[type="date"], input[type="text"], textarea{
    width:100%;
    font-family:var(--font-body);
    font-size:1rem;
    color:var(--cocoa);
    background:var(--vanilla);
    border:1px solid var(--vanilla-deep);
    border-radius:12px;
    padding:11px 13px;
  }
  #digits{
    max-width:140px;
    font-family:var(--font-display);
    font-size:1.3rem;
    font-weight:600;
    letter-spacing:0.08em;
    text-align:center;
  }
  textarea{resize:vertical; min-height:74px; line-height:1.5;}

  .result{
    background:var(--strawberry-soft);
    border-radius:20px;
    padding:22px;
    box-shadow:var(--shadow-soft);
    text-align:center;
  }
  .stats{display:grid; grid-template-columns:minmax(0,1fr);}
  .stat{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    padding-block:12px;
    text-align:left;
  }
  .stat + .stat{border-top:1px dashed rgba(177,74,110,0.28);}
  .stat .k{font-size:0.7rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--cocoa-soft);}
  .stat .v{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.15rem;
    color:var(--cocoa);
    font-variant-numeric:tabular-nums;
    text-align:right;
  }
  .stat .v.long{font-size:0.9rem;}
  .note{margin-top:12px; font-size:0.82rem; color:var(--cocoa-soft); line-height:1.5;}

  .actions{display:flex; flex-direction:column; gap:10px; margin-top:18px;}
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:var(--font-body);
    font-weight:700;
    font-size:0.97rem;
    padding:13px 20px;
    border-radius:999px;
    border:1px solid transparent;
    cursor:pointer;
    text-decoration:none;
    transition:transform .15s ease, background .15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--berry); color:#fff;}
  .btn-primary:hover{background:var(--berry-deep);}
  .btn-ghost{background:var(--cream); color:var(--berry); border-color:rgba(177,74,110,0.3);}
  .copied{min-height:1.2em; font-size:0.82rem; font-weight:700; color:var(--berry); margin-top:8px;}

  /* cutting guide */
  .cut{margin-top:26px;}
  .cut-head h3{font-size:clamp(1.15rem, 3vw, 1.45rem); margin-top:8px;}
  .cut-body{
    display:grid;
    grid-template-columns:minmax(0,380px) minmax(0,1fr);
    gap:32px;
    align-items:center;
    margin-top:20px;
  }
  .cut-fig{margin:0; text-align:center;}
  .cut-fig svg{width:100%; max-width:100%; height:auto; display:block; margin-inline:auto;}
  .cut-fig figcaption{margin-top:10px; font-size:0.86rem; color:var(--cocoa-soft); font-variant-numeric:tabular-nums;}

  .plate{fill:var(--vanilla-deep);}
  .plate-shape{fill:var(--vanilla-deep); stroke:var(--vanilla-deep); stroke-width:20; stroke-linejoin:round;}
  .c0{fill:var(--strawberry);}
  .c1{fill:var(--pistachio);}
  .c2{fill:var(--blueberry);}
  .c3{fill:var(--lemon);}
  .spare{fill:var(--pistachio);}
  .box{fill:var(--vanilla-deep);}
  .cut-line{stroke:var(--berry); stroke-width:1.4; stroke-linecap:round; fill:none;}
  .cut-line.dash{stroke-dasharray:5 4;}
  .cake-edge{stroke:var(--berry); stroke-width:1.8; fill:none;}
  .dowel{stroke:var(--cocoa-soft); stroke-width:2.2; stroke-linecap:round;}
  .arrow{fill:var(--berry);}
  .digit-edge{fill:none; stroke:var(--berry); stroke-linecap:round; stroke-linejoin:round;}
  .digit-body{fill:none; stroke-linecap:round; stroke-linejoin:round;}
  .sb0{stroke:var(--strawberry);}
  .sb1{stroke:var(--pistachio);}
  .sb2{stroke:var(--blueberry);}

  .steps{list-style:none; margin:0; padding:0; counter-reset:step;}
  .steps li{
    counter-increment:step;
    position:relative;
    padding-left:44px;
    min-height:30px;
    margin-bottom:14px;
    line-height:1.55;
  }
  .steps li::before{
    content:counter(step);
    position:absolute;
    left:0; top:-2px;
    width:30px; height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--vanilla-deep);
    font-family:var(--font-display);
    font-size:0.8rem;
    font-weight:600;
    color:var(--cocoa);
  }
  .steps li.sw0::before{background:var(--strawberry);}
  .steps li.sw1::before{background:var(--pistachio);}
  .steps li.sw2::before{background:var(--blueberry);}
  .steps li.sw3::before{background:var(--lemon);}
  .steps li strong{font-weight:800;}
  .cut-note{margin:-2px 0 14px; font-size:0.88rem; color:var(--cocoa-soft); line-height:1.5;}
  .tip{
    padding:12px 14px;
    border-radius:12px;
    background:var(--vanilla);
    font-size:0.88rem;
    color:var(--cocoa-soft);
    line-height:1.5;
  }


  /* cake care guide */
  .guide-link{display:inline-block; margin-top:4px; font-size:0.88rem; font-weight:700; color:var(--berry); text-underline-offset:3px;}
  .guide-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:720px; margin:-4px auto 36px;}
  .chip{
    border:1px solid var(--vanilla-deep);
    background:var(--cream);
    color:var(--cocoa-soft);
    font-family:var(--font-body);
    font-weight:700;
    font-size:0.88rem;
    line-height:1;
    padding:10px 14px;
    border-radius:999px;
    cursor:pointer;
    transition:color .15s ease, background .15s ease;
  }
  .chip:hover{color:var(--berry); background:var(--strawberry-soft);}
  .guide{display:grid; gap:40px; max-width:880px; margin-inline:auto;}
  .g-block{scroll-margin-top:84px;}
  .g-block-head{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
  .g-block-head h2{font-size:clamp(1.1rem, 2.6vw, 1.35rem);}
  .g-icon{
    width:40px; height:40px;
    flex:none;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--strawberry-soft);
    color:var(--berry);
  }
  .g-icon.cold{background:var(--blueberry-soft); color:var(--blueberry-ink);}
  .g-icon svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
  .g-card{background:var(--cream); border-radius:20px; padding:22px 24px; box-shadow:var(--shadow-soft);}

  .swatch{display:inline-block; width:12px; height:12px; border-radius:50%; flex:none;}
  .swatch-cream{background:var(--cream-bar);}
  .swatch-ganache{background:var(--ganache-bar);}

  .coatings{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px;}
  .coat{border-radius:20px; padding:22px 24px; display:flex; flex-direction:column; gap:10px;}
  .coat-cream{background:var(--strawberry-soft);}
  .coat-ganache{background:var(--ganache-soft);}
  .coat h3{font-size:1.1rem; display:flex; align-items:center; gap:10px;}
  .coat-label{font-size:0.7rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--cocoa-soft);}
  .ingredients{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px;}
  .ingredients li{background:var(--cream); border-radius:999px; padding:4px 12px; font-size:0.9rem; font-weight:600;}


  .g-pair{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; align-items:start;}
  .checklist{list-style:none; margin:0; padding:0; display:grid; gap:12px;}
  .checklist li{position:relative; padding-left:26px; line-height:1.55;}
  .checklist li::before{
    content:"";
    position:absolute;
    left:2px; top:0.5em;
    width:10px; height:10px;
    border-radius:50%;
    background:var(--cream-bar);
    box-shadow:0 0 0 3px var(--strawberry-soft);
  }
  .checklist.cold li::before{background:var(--blueberry); box-shadow:0 0 0 3px var(--blueberry-soft);}
  .temp{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin-bottom:16px; padding:12px 16px; border-radius:14px; background:var(--blueberry-soft);}
  .temp-val{font-family:var(--font-display); font-weight:600; font-size:1.6rem; white-space:nowrap; font-variant-numeric:tabular-nums;}
  .temp-label{color:var(--cocoa-soft); font-size:0.92rem;}

  .timeline{margin-top:18px; display:grid; gap:14px;}
  .tl-grid{display:grid; grid-template-columns:minmax(0,230px) minmax(0,1fr); gap:6px 18px; align-items:center;}
  .tl-serve{
    justify-self:end;
    font-size:0.72rem;
    font-weight:800;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--berry);
  }
  .tl-name{display:flex; gap:10px; align-items:baseline; font-weight:700; line-height:1.35;}
  .tl-name .swatch{position:relative; top:1px;}
  .tl-name small{display:block; font-weight:500; font-size:0.88rem; color:var(--cocoa-soft); margin-top:2px;}
  .tl-track{position:relative; height:18px; border-radius:999px; background:var(--vanilla-deep);}
  .tl-track::after{content:""; position:absolute; right:-1px; top:-7px; bottom:-7px; width:2px; border-radius:2px; background:var(--berry);}
  .tl-bar{position:absolute; top:0; bottom:0; border-radius:999px;}
  .tl-cream{left:75%; right:0; background:var(--cream-bar);}
  .tl-ganache-range{left:0; right:0; background:repeating-linear-gradient(135deg, var(--ganache-soft) 0 5px, var(--ganache-mid) 5px 10px);}
  .tl-ganache{left:50%; right:0; background:var(--ganache-bar);}
  .tl-axis{position:relative; height:18px; font-size:0.76rem; color:var(--cocoa-soft); font-variant-numeric:tabular-nums;}
  .tl-axis span{position:absolute; top:0; transform:translateX(-50%); white-space:nowrap;}
  .tl-axis span:first-child{transform:none;}

  .why{margin-top:22px; padding-top:18px; border-top:1px dashed rgba(177,74,110,0.28);}
  .why h3{font-size:1rem; margin-bottom:12px;}
  .why-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;}
  .why-card{border-radius:14px; padding:14px 16px;}
  .why-cold{background:var(--blueberry-soft);}
  .why-warm{background:var(--lemon-soft);}
  .why-tag{display:block; font-size:0.72rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--cocoa-soft); margin-bottom:6px;}
  .why-warm ul{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
  .why-warm li{display:flex; gap:10px; align-items:baseline; line-height:1.5;}
  .why-warm .swatch{position:relative; top:1px;}

  /* instagram */
  .mat{background:var(--cream); border-radius:22px; padding:14px; box-shadow:var(--shadow-lift);}
  .mat iframe{width:100%; height:640px; border:none; display:block; border-radius:14px; background:var(--cream);}

  /* contact */
  .band-strawberry{background:var(--strawberry-soft);}
  .contact-row{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:4px;}
  .address-contacts{margin-top:26px;}

  /* map */
  .map-card{border-radius:22px; overflow:hidden; box-shadow:var(--shadow-soft); background:var(--cream);}
  .map-card iframe{width:100%; height:300px; border:0; display:block;}

  /* footer */
  footer{background:var(--blueberry); padding-block:38px 46px; text-align:center;}
  footer .mark{font-family:var(--font-display); font-weight:600; font-size:1.05rem;}
  footer .rule{width:56px; height:2px; border-radius:2px; background:var(--berry); margin:14px auto; opacity:0.5;}
  footer p{font-size:0.85rem; color:var(--cocoa-soft); font-variant-numeric:tabular-nums;}

  @media (max-width: 940px){
    .menu-btn{
      display:inline-flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:4px;
      width:44px; height:44px;
      padding:0;
      border-radius:12px;
      border:1px solid var(--vanilla-deep);
      background:var(--cream);
      cursor:pointer;
    }
    .menu-btn span{display:block; width:18px; height:2px; border-radius:2px; background:var(--cocoa); transition:transform .2s ease, opacity .2s ease;}
    .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
    .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
    .nav-panel{
      display:none;
      position:absolute;
      left:0; right:0; top:100%;
      flex-direction:column;
      align-items:stretch;
      gap:14px;
      padding:12px 20px 18px;
      background:var(--vanilla);
      border-bottom:1px solid var(--vanilla-deep);
      box-shadow:var(--shadow-soft);
    }
    .topbar.open .nav-panel{display:flex;}
    .nav-links{flex-direction:column; gap:4px;}
    .nav-link{padding:12px 14px; font-size:1rem; border-radius:12px;}
  }
  @media (max-width: 700px){
    .coatings, .g-pair, .why-grid{grid-template-columns:minmax(0,1fr);}
    .tl-grid{grid-template-columns:minmax(0,1fr);}
    .tl-spacer{display:none;}
    .g-card, .coat{padding:18px;}
  }
  @media (max-width: 860px){
    .calc{grid-template-columns:minmax(0,1fr);}
    .cut-body{grid-template-columns:minmax(0,1fr);}
    .cut-fig svg{max-width:400px;}
  }
  @media (max-width: 560px){
    .topbar-in{gap:8px;}
    .nav-brand{gap:8px; min-width:0;}
    .nav-logo{width:34px; height:34px;}
    .nav-name{font-size:0.8rem; line-height:1.15; white-space:normal;}
    .nav-name-2{display:block;}
    .lang{padding:6px 8px; font-size:0.72rem;}
    .menu-btn{width:42px; height:42px;}
  }
  @media (max-width: 480px){
    body{font-size:16px;}
    .mat iframe{height:520px;}
    .sprinkle{display:none;}
    .card, .result{padding:18px;}
    .shapes span{font-size:0.86rem; padding:8px 12px 8px 10px;}
  }
  @media (max-width: 360px){
    .wrap{padding-inline:16px;}
    .nav-brand{gap:6px;}
    .nav-logo{width:30px; height:30px;}
    .lang{padding:6px 5px;}
  }
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;}
  }

  /* ============ multi-page layout ============ */
  .skip{
    position:absolute;
    left:-9999px;
    top:0;
    z-index:100;
    background:var(--berry);
    color:#fff;
    padding:10px 16px;
    border-radius:0 0 10px 0;
    font-weight:700;
    text-decoration:none;
  }
  .skip:focus{left:0;}

  /* language switcher is a set of links now */
  .lang{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
  }
  .lang[aria-current="true"]{background:var(--berry); color:#fff;}

  .page{padding-block:44px 56px;}
  .page .head{margin-bottom:22px;}
  .page .head h1{font-size:clamp(1.5rem, 4.2vw, 2.1rem); margin-top:10px;}

  .crumbs{
    font-size:0.84rem;
    color:var(--cocoa-soft);
    margin-bottom:18px;
    line-height:1.5;
  }
  .crumbs a{color:var(--cocoa-soft); text-decoration:none;}
  .crumbs a:hover{color:var(--berry); text-decoration:underline;}
  .crumbs .sep{opacity:0.5; margin-inline:2px;}
  .crumbs span[aria-current]{color:var(--cocoa);}

  .page .lead{
    font-family:var(--font-display);
    font-weight:500;
    font-size:clamp(1.02rem, 2.4vw, 1.15rem);
    line-height:1.5;
    max-width:60ch;
    margin-bottom:18px;
  }
  .page p{max-width:62ch; margin-bottom:14px;}
  .page h2{
    font-size:clamp(1.2rem, 3vw, 1.5rem);
    margin-top:34px;
    margin-bottom:14px;
  }
  .page .checklist{max-width:62ch; margin-bottom:18px;}
  .price-note{
    padding:12px 16px;
    border-radius:12px;
    background:var(--vanilla-deep);
    font-size:0.92rem;
    color:var(--cocoa);
    max-width:62ch;
  }

  /* info cards (shapes, coatings, contacts) */
  .info-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:14px;
    margin-bottom:18px;
  }
  .info-card{
    background:var(--cream);
    border-radius:16px;
    padding:18px 20px;
    box-shadow:var(--shadow-soft);
  }
  .info-card h2, .info-card h3{
    font-size:1.02rem;
    margin:0 0 8px;
  }
  .info-card p{margin:0; font-size:0.95rem; line-height:1.55; color:var(--cocoa-soft); max-width:none;}

  /* catalogue */
  .cat-title{margin-top:36px;}
  .cat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:14px;
    margin-bottom:12px;
  }
  .cat-card{
    display:block;
    background:var(--cream);
    border-radius:18px;
    padding:20px 22px;
    box-shadow:var(--shadow-soft);
    text-decoration:none;
    color:var(--cocoa);
    border:1px solid transparent;
    transition:transform .15s ease, border-color .15s ease;
  }
  .cat-card:hover{transform:translateY(-2px); border-color:var(--strawberry);}
  .cat-card h3{font-size:1.06rem; margin:0 0 8px; color:var(--berry);}
  .cat-card p{margin:0; font-size:0.94rem; line-height:1.55; color:var(--cocoa-soft); max-width:none;}

  .cta-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
  }

  /* home hero */
  .brand-sub{
    display:block;
    font-family:var(--font-body);
    font-weight:600;
    font-size:clamp(0.92rem, 2.2vw, 1.05rem);
    letter-spacing:0;
    color:var(--cocoa-soft);
    margin-top:12px;
  }
  .insta-head{margin-top:40px;}
  .insta-link{text-align:center; margin-top:12px; font-weight:700;}
  .insta-link a{text-decoration:none;}
  .insta-link a:hover{text-decoration:underline;}

  /* contacts */
  .contacts-grid{margin-bottom:24px;}
  .addr{font-size:0.98rem; line-height:1.65; color:var(--cocoa) !important;}
  .addr a{font-weight:700; text-decoration:none;}
  .addr a:hover{text-decoration:underline;}

  footer p a{color:var(--cocoa-soft); text-decoration:none;}
  footer p a:hover{color:var(--berry); text-decoration:underline;}
  footer p{margin:4px 0 0;}
  .foot-addr{font-weight:700; color:var(--cocoa) !important;}
