/* updated 2026-10-23 — Z-WWW-13/4: .legal-core / .legal-more (hub cores); 2026-10-21 — Z-WWW-7/7: form inputs of a row on one level; Z-WWW-7/1: energy class arrow on cards and product page; earlier the same day OPS9-rev: tokens resolve to the mockup's own values again (brand.css carries them); 2026-10-20 OPS8: fonts and brand colours come from /brand/brand.css (loaded first by base.html);
   the mockup's token names stay, mapped onto --brand-* so the layout is untouched by a brand swap.
   Layout ported 1:1 from the r12 mockup (Rokos), 2026-10-20; Google Fonts, the embedded Morning
   Memories and the chat widget removed (no external resources, WWW23). */

:root{
    --stone:var(--brand-cream);
    --stone-deep:var(--brand-cream-deep);
    --card:var(--brand-cream-light);
    --ink:var(--brand-black);
    --ink-soft:var(--brand-ink-soft);
    --dusk:var(--brand-black-2);
    --dusk-2:var(--brand-black-3);
    --plum:var(--brand-plum);
    --brass:var(--brand-gold);
    --brass-bright:var(--brand-gold-light);
    --nav-orange:var(--brand-orange);
    --nav-orange-bright:var(--brand-orange-light);
    --ember:var(--brand-red);
    --ember-bright:var(--brand-red-light);
    --line: var(--brand-line);
    --line-dark: var(--brand-line-gold);
    --radius: 2px;
    --maxw: 1180px;
    --font-body: var(--brand-font-body);
    --font-display: var(--brand-font-display);
    --font-label: var(--brand-font-label);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--stone);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
  }
  h1,h2,h3,h4{
    font-family:var(--font-display);
    font-weight:400;
    margin:0;
    letter-spacing:.01em;
    color:var(--ink);
    text-transform:uppercase;
  }
  .display{font-weight:400;}
  .mono{font-family:var(--font-label);}
  a{color:inherit;}
  button{font-family:inherit;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:var(--font-label);
    font-size:11.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--brass);
  }

  /* ---------- spark glyph ---------- */
  .spark{display:inline-flex; align-items:center; justify-content:center; position:relative;}
  .spark svg{display:block;}
  .filament{
    width:6px; height:6px; border-radius:50%;
    background:var(--brass);
    box-shadow:0 0 0px rgba(227,172,84,0);
    transition:box-shadow .35s ease, background .35s ease;
  }
  .glow-on-hover:hover .filament, .glow-on-hover:focus-within .filament{
    background:var(--brass-bright);
    box-shadow:0 0 14px 3px rgba(227,172,84,0.65);
  }
  @keyframes pulse-glow{
    0%,100%{ box-shadow:0 0 0px rgba(181,130,44,0);}
    50%{ box-shadow:0 0 8px 2px rgba(181,130,44,0.35);}
  }
  .pulse{ animation:pulse-glow 3.2s ease-in-out infinite; }

  /* ---------- nav ---------- */
  header.site{
    position:sticky; top:0; z-index:40;
    background:rgba(237,230,214,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:4px 28px; max-width:var(--maxw); margin:0 auto;
  }
  .logo{display:flex; align-items:center; gap:10px; cursor:pointer; text-decoration:none;}
  @keyframes logoIn{ from{ opacity:0; transform:scale(.9); } to{ opacity:1; transform:scale(1); } }
  .logo img{ animation:logoIn .45s cubic-bezier(.2,.7,.3,1); }
  .logo .mark{width:20px; height:20px;}
  .logo .mark-icon{ display:block; }
  .logo .mark-icon svg{ width:100%; height:100%; display:block; }
  .logo-text{font-family:var(--font-display); font-weight:400; font-size:19px; line-height:1.05; letter-spacing:.01em;}
  .logo-text small{display:block; font-size:10.5px; letter-spacing:.22em; color:var(--ink-soft); font-family:var(--font-label); font-weight:400;}
  nav.links{display:flex; gap:34px; align-items:center;}
  nav.links a{
    font-family:var(--font-label); font-size:12.5px; letter-spacing:.1em;
    text-transform:uppercase; text-decoration:none; color:var(--nav-orange);
    padding-bottom:6px; position:relative; cursor:pointer;
  }
  nav.links a::after{
    content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px;
    background:linear-gradient(90deg,var(--nav-orange),var(--nav-orange-bright));
    transition:right .35s ease;
  }
  nav.links a:hover::after, nav.links a.active::after{ right:0; }
  nav.links a.active{ color:var(--nav-orange-bright); }
  .menu-btn{ display:none; background:none; border:1px solid var(--nav-orange); padding:8px 10px; cursor:pointer; }
  .menu-btn span{ display:block; width:18px; height:1.5px; background:var(--nav-orange); margin:4px 0; }
  @media(max-width:860px){
    nav.links{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--stone);
      flex-direction:column; align-items:flex-start; padding:18px 28px; border-bottom:1px solid var(--line); gap:18px;}
    nav.links.open{ display:flex; }
    .menu-btn{ display:block; }
  }

  header.site.inner{ background:rgba(75,53,64,0.97); border-bottom:1px solid rgba(227,172,84,0.22); }
  header.site.inner nav.links a{ color:var(--nav-orange-bright); }
  header.site.inner nav.links a.active{ color:#F2A05A; }
  header.site.inner .menu-btn{ border-color:var(--nav-orange-bright); }
  header.site.inner .menu-btn span{ background:var(--nav-orange-bright); }
  @media(max-width:860px){ header.site.inner nav.links{ background:var(--plum); border-bottom:1px solid rgba(227,172,84,0.22); } }

  header.site.inner nav.links a, header.site.inner nav.links a.active{ color:#E3AC54; }
  header.site.inner nav.links a::after{ background:#E3AC54; }
  header.site.inner .menu-btn{ border-color:#E3AC54; }
  header.site.inner .menu-btn span{ background:#E3AC54; }

  /* ---------- hero ---------- */
  .hero{ position:relative; overflow:hidden; background:var(--dusk); }
  .hero svg{ display:block; width:100%; height:auto; }
  .hero-caption{
    text-align:center; font-size:11px; color:var(--ink-soft); font-family:var(--font-label);
    letter-spacing:.06em; padding:6px 0; background:var(--stone);
  }

  /* ---------- intro ---------- */
  .intro{ padding:64px 0 20px; }
  .intro-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px; align-items:stretch; }
  @media(max-width:800px){ .intro-grid{ grid-template-columns:1fr; } }
  .services-head-grid{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:start; margin-bottom:8px; }
  @media(max-width:800px){ .services-head-grid{ grid-template-columns:1fr; } }
  .services-head-grid .illus-box{ aspect-ratio:4/5; }
  .illus-box{ border:1px solid var(--line); background:var(--dusk); padding:0; overflow:hidden; }
  .illus-box svg{ display:block; width:100%; height:100%; }
  .intro-text{
    border:1px solid var(--line); padding:34px 38px; background:var(--card);
    display:flex; flex-direction:column; justify-content:center;
  }
  .intro-text p{ font-size:16.5px; color:var(--ink); margin:0; }
  .intro-text strong{ color:var(--brass); font-weight:600; }

  /* ---------- 4-box home nav ---------- */
  .quad{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); margin:38px 0 70px; }
  @media(max-width:760px){ .quad{ grid-template-columns:repeat(2,1fr); } }
  .quad-item{
    padding:26px 22px; border-right:1px solid var(--line); min-height:120px;
    display:flex; flex-direction:column; justify-content:space-between; cursor:pointer;
    text-decoration:none; color:var(--ink); position:relative; transition:background .25s ease;
  }
  .quad-item:nth-child(4){ border-right:none; }
  @media(max-width:760px){ .quad-item:nth-child(2){border-right:none;} .quad-item{border-bottom:1px solid var(--line);} }
  .quad-item:hover{ background:var(--stone-deep); }
  .quad-item h3{ font-size:17px; letter-spacing:.04em; }
  .quad-item .arrow{ font-family:var(--font-body); font-size:13px; color:var(--brass); }

  /* ---------- generic section ---------- */
  .section{ padding:56px 0; }
  @media(max-width:1240px){ .wrap.section{ padding-left:28px; padding-right:28px; } }
  .section-head{ margin-bottom:30px; max-width:640px; }
  .search-row{ display:flex; align-items:stretch; gap:14px; flex-wrap:wrap; margin:0 0 28px; }
  .search-row .search-bar{ margin:0; flex:0 1 420px; width:100%; }
  .pl-strip{ display:inline-flex; align-items:center; gap:10px; padding:0 18px; min-height:44px; background:var(--plum); color:var(--brass-bright); text-decoration:none; font-family:var(--font-display); font-size:17px; letter-spacing:.03em; text-transform:uppercase; transition:background .2s ease; }
  .pl-strip:hover{ background:#4A3C49; }
  h1.h-flag{ display:flex; align-items:center; gap:.32em; }
  h1.h-flag .flag-pl{ width:.95em; height:.6em; flex:none; display:block; box-shadow:0 1px 3px rgba(0,0,0,.18); }
  header.site{ transition:opacity .6s ease, visibility .6s ease; }
  header.site.faded{ opacity:0; visibility:hidden; pointer-events:none; }
  .pl-strip .flag-pl{ width:24px; height:15px; display:block; flex:none; }
  .pl-strip .arr{ color:var(--stone); font-family:var(--font-body); }
  .search-bar{ position:relative; max-width:420px; margin:0 0 28px; }
  .search-bar input{
    width:100%; border:1px solid var(--line); background:var(--card); padding:12px 16px 12px 38px;
    font-family:var(--font-body); font-size:14.5px; color:var(--ink);
  }
  .search-bar input:focus{ outline:2px solid var(--brass); outline-offset:1px; }
  .search-bar svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--ink-soft); pointer-events:none; }
  .no-results{ color:var(--ink-soft); font-size:14.5px; padding:20px 0; }

  /* ---------- reserve modal ---------- */
  .modal-overlay{ position:fixed; inset:0; background:rgba(20,16,18,0.6); z-index:80; display:none; align-items:center; justify-content:center; padding:20px; }
  .modal-overlay.open{ display:flex; }
  .modal-box{ background:var(--card); border:1px solid var(--line); max-width:420px; width:100%; padding:30px 28px; }
  .modal-box h3{ font-size:19px; margin-bottom:6px; }
  .modal-sub{ color:var(--brass); font-family:var(--font-label); font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:18px; }
  .modal-box .field{ margin-bottom:14px; }
  .modal-actions{ display:flex; gap:10px; margin-top:8px; }
  .modal-confirm-btn{ flex:1; }
  .modal-cancel-btn{
    background:none; border:1px solid var(--line); color:var(--ink-soft); padding:12px 16px;
    font-family:var(--font-label); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; cursor:pointer;
  }
  .modal-cancel-btn:hover{ border-color:var(--ink-soft); color:var(--ink); }
  .modal-note{ font-size:11.5px; color:var(--ink-soft); margin-top:16px; line-height:1.55; }
  .reserve-inline-note{ font-size:11px; color:var(--brass); margin-top:6px; line-height:1.5; }
  .section-head h1{ font-size:34px; margin-bottom:14px; }
  .page-title{ font-family:var(--font-label); font-size:30px; letter-spacing:.02em; }
  .section-head p{ color:var(--ink-soft); font-size:15.5px; }
  .breadcrumb{ font-family:var(--font-label); font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); margin-bottom:18px; }
  .breadcrumb a{ text-decoration:none; color:var(--brass); cursor:pointer; }
  .breadcrumb a:hover{ text-decoration:underline; }

  /* ---------- category / brand tile grids ---------- */
  .tile-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-right:none; border-bottom:none; }
  @media(max-width:900px){ .tile-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:520px){ .tile-grid{ grid-template-columns:1fr; } }
  .tile{
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:24px 20px; min-height:150px; display:flex; flex-direction:column; justify-content:space-between;
    cursor:pointer; text-decoration:none; color:var(--ink); background:var(--card); transition:background .25s ease;
  }
  .tile:hover{ background:var(--stone-deep); }
  .tile{ background:#FDF5E8; padding:0; min-height:0; justify-content:flex-start; }
  .tile .icon{ display:block; width:100%; overflow:hidden; }
  .tile .icon img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; transition:transform .5s ease; }
  .tile:hover .icon img{ transform:scale(1.04); }
  .tile > div{ padding:14px 20px 20px; border-top:1px solid var(--line); background:#FDF5E8; position:relative; }
  .tile h4{ font-size:18px; letter-spacing:.02em; text-transform:uppercase; font-family:var(--font-display); font-weight:400; }
  .tile .sub{ font-size:11px; color:var(--ink-soft); font-family:var(--font-body); margin-top:2px; }
  .tile-wide{ grid-column:1/-1; background:var(--dusk); color:var(--stone); }
  .tile-wide:hover{ background:var(--dusk-2); }
  .tile-wide h4{ color:var(--brass-bright); font-size:16px; }
  .tile-wide .sub{ color:#cfc6b8; }

  /* ---------- product grid ---------- */
  .prod-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px; }
  @media(max-width:900px){ .prod-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:600px){ .prod-grid{ grid-template-columns:1fr; } }
  .prod-card{ border:1px solid var(--line); background:var(--card); display:flex; flex-direction:column; }
  .prod-photo{ aspect-ratio:4/3; background:linear-gradient(160deg,#2A242A,#1B1720); display:flex; align-items:center; justify-content:center; position:relative; }
  .prod-photo svg{ width:56%; height:56%; }

  .prod-photo.zoomable{ cursor:zoom-in; }
  .photo-count{ position:absolute; right:10px; bottom:10px; z-index:2; background:rgba(20,16,20,.72); color:#F3E3C3; font-size:11px; padding:4px 9px; border-radius:999px; letter-spacing:.04em; backdrop-filter:blur(4px); }
  .lb{ position:fixed; inset:0; z-index:1000; background:rgba(12,9,12,.92); display:none; align-items:center; justify-content:center; flex-direction:column; padding:24px 64px 96px; }
  .lb.open{ display:flex; }
  .lb-img{ max-width:min(1000px,100%); max-height:100%; object-fit:contain; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,.5); background:#fff; }
  .lb-btn{ position:absolute; background:rgba(255,255,255,.1); color:#fff; border:0; width:46px; height:46px; border-radius:50%; font-size:24px; cursor:pointer; line-height:1; }
  .lb-btn:hover{ background:rgba(227,172,84,.35); }
  .lb-close{ top:18px; right:18px; } .lb-prev{ left:12px; top:50%; transform:translateY(-50%); } .lb-next{ right:12px; top:50%; transform:translateY(-50%); }
  .lb-cap{ position:absolute; left:0; right:0; bottom:74px; text-align:center; color:#d8cdbb; font-size:13px; }
  .lb-thumbs{ position:absolute; bottom:14px; left:0; right:0; display:flex; gap:8px; justify-content:center; }
  .lb-thumbs img{ width:52px; height:52px; object-fit:cover; border-radius:4px; opacity:.5; cursor:pointer; border:2px solid transparent; }
  .lb-thumbs img.on{ opacity:1; border-color:#E3AC54; }
  @media (max-width:640px){ .lb{ padding:16px 8px 96px; } .lb-prev{ left:4px; } .lb-next{ right:4px; } }
  .prod-photo.has-img{ aspect-ratio:1/1; background:#fff; }
  .prod-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .tile.logo-tile{ position:relative; align-items:center; justify-content:center; }
  .tile.logo-tile .brand-logo{ display:flex; align-items:center; justify-content:center; width:100%; }
  .tile.logo-tile{ min-height:190px; padding-bottom:70px; }
  .tile.logo-tile .brand-logo img{ max-height:80px; max-width:80%; width:auto; object-fit:contain; display:block; }
  .tile .brand-tip{
    position:absolute; left:0; right:0; bottom:0; opacity:1; pointer-events:none;
    background:var(--plum); color:var(--stone); padding:9px 12px 10px; text-align:center; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis;
  }
  .tile .brand-tip b{ display:block; font-family:var(--font-display); font-weight:400; font-size:17px; letter-spacing:.02em; text-transform:uppercase; color:var(--brass-bright); }
  .tile .brand-tip span{ display:block; font-family:var(--font-body); font-size:11px; color:#cfc6b8; margin-top:2px; }
  .brand-h1{ margin:0 0 6px; line-height:0; }
  .brand-page-logo{ max-height:84px; max-width:340px; margin-bottom:0; display:block; object-fit:contain; }
  .prod-photo .tag{
    position:absolute; top:10px; left:10px; font-family:var(--font-label); font-size:9.5px;
    letter-spacing:.06em; color:#cbbf9e; background:rgba(0,0,0,0.35); padding:3px 7px; text-transform:uppercase;
  }
  .prod-body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:10px; flex:1; }
  .prod-brand{ font-family:var(--font-label); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass); }
  .prod-name{ font-family:var(--font-display); font-size:19px; font-weight:400; text-transform:uppercase; letter-spacing:.01em; }
  .prod-desc{ font-size:13px; color:var(--ink-soft); flex:1; }
  .prod-meta{ display:flex; align-items:center; justify-content:space-between; font-family:var(--font-label); font-size:13px; }
  .prod-price{ font-weight:500; }
  .stock{ font-size:11px; padding:3px 7px; border-radius:2px; }
  .stock.in{ color:#3f6b3f; background:#e2ead9; }
  .stock.low{ color:#8a5c22; background:#f2e1c4; }
  .stock.out{ color:#8a3a2c; background:#f2dcd6; }
  .reserve-btn{
    margin-top:4px; border:1px solid var(--ink); background:var(--ink); color:var(--stone);
    font-family:var(--font-label); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
    padding:11px 14px; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .reserve-btn:hover{ background:var(--ember); border-color:var(--ember); }
  .reserve-btn.done{ background:var(--card); color:var(--ink-soft); border-color:var(--line); cursor:default; }
  .prod-note{ font-size:11px; color:var(--ink-soft); margin-top:26px; font-family:var(--font-label); }

  /* ---------- blurb box ---------- */
  .blurb{ border:1px solid var(--line); background:var(--card); padding:20px 24px; margin:26px 0 8px; font-size:14.5px; color:var(--ink-soft); }
  .blurb strong{ color:var(--ink); font-family:var(--font-display); font-weight:400; font-size:17px; text-transform:uppercase; display:block; margin-bottom:6px;}

  /* ---------- services ---------- */
  .tier{ border:1px solid var(--line); background:var(--card); padding:26px 30px; margin-bottom:20px; }
  .tier h3{ font-family:var(--font-display); font-size:20px; letter-spacing:.02em; text-transform:uppercase; color:var(--brass); margin-bottom:12px; }
  .tier p{ margin:0 0 10px; font-size:15px; }
  .tier .price-line{ font-family:var(--font-body); font-size:14px; background:var(--stone-deep); display:inline-block; padding:8px 12px; margin-top:6px; }
  .tier a.link{ color:var(--brass); text-decoration:underline; cursor:pointer; }
  .tier a.link:hover{ color:var(--ember); }


  /* ---------- services: staggered panels ---------- */
  :root{ --svc-dark:var(--plum); --svc-accent:#6B4A55; --svc-cream:#FDF5E8; }
  .svc-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:20px; margin:34px 0 20px; }
  .svc{ position:relative; overflow:hidden; padding:34px 34px 30px; background:var(--card); border:1px solid var(--line); color:var(--ink); }
  .svc:nth-child(1){ grid-column:span 4; }
  .svc:nth-child(2){ grid-column:span 8; }
  .svc:nth-child(3){ grid-column:span 5; }
  .svc:nth-child(4){ grid-column:span 7; }
  .svc:nth-child(2){ background:var(--svc-dark); border-color:transparent; color:var(--svc-cream); }
  .svc:nth-child(3){ background:var(--svc-accent); border-color:transparent; color:var(--svc-cream); }
  .svc > *{ position:relative; z-index:1; }
  .svc::after{ content:""; position:absolute; z-index:0; right:-70px; top:-70px; width:230px; height:230px; border-radius:50%;
    background:radial-gradient(circle, rgba(248,201,174,.55) 0%, rgba(248,201,174,.22) 45%, transparent 70%); pointer-events:none; }
  .svc:nth-child(1)::after, .svc:nth-child(4)::after{ background:radial-gradient(circle, rgba(225,108,15,.20) 0%, rgba(248,201,174,.35) 45%, transparent 70%); }
  .svc .svc-no{ font-family:var(--font-display); font-size:64px; line-height:1; letter-spacing:.01em; font-weight:400; opacity:.9; margin-bottom:6px; color:var(--brass); }
  .svc:nth-child(2) .svc-no, .svc:nth-child(3) .svc-no{ color:var(--svc-cream); opacity:.85; }
  .svc .svc-tag{ font-family:var(--font-label); font-size:11px; letter-spacing:.1em; text-transform:uppercase; opacity:.8; margin-bottom:14px; }
  .svc h3{ font-family:var(--font-display); font-weight:400; font-size:26px; letter-spacing:.02em; text-transform:uppercase; color:inherit; margin:0 0 14px; }
  .svc p{ margin:0 0 10px; font-size:15px; }
  .svc a.link{ color:inherit; text-decoration:underline; cursor:pointer; }
  .svc:nth-child(1) a.link, .svc:nth-child(4) a.link{ color:var(--brass); }
  .svc .price-line{ font-family:var(--font-body); font-size:14px; background:var(--stone-deep); color:var(--ink); display:inline-block; padding:8px 12px; margin-top:6px; }
  .svc:nth-child(2) .price-line, .svc:nth-child(3) .price-line{ background:rgba(253,245,232,.16); color:var(--svc-cream); }
  @media(max-width:900px){ .svc-grid{ gap:14px; } .svc:nth-child(n){ grid-column:1 / -1; padding:28px 24px 24px; } }

  /* ---------- reach us ---------- */
  .reach-grid.four{ grid-template-columns:repeat(4,1fr); }
  .reach-grid.four .reach-box:last-child{ border-right:none; }
  @media(max-width:1000px){ .reach-grid.four{ grid-template-columns:1fr 1fr; }
    .reach-grid.four .reach-box:nth-child(2n){ border-right:none; }
    .reach-grid.four .reach-box:nth-child(-n+2){ border-bottom:1px solid var(--line); } }
  @media(max-width:760px){ .reach-grid.four{ grid-template-columns:1fr; }
    .reach-grid.four .reach-box{ border-right:none; border-bottom:1px solid var(--line); }
    .reach-grid.four .reach-box:last-child{ border-bottom:none; } }

  .reach-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); margin-bottom:26px; }
  @media(max-width:760px){ .reach-grid{ grid-template-columns:1fr; } }
  .reach-box .xmas{ white-space:nowrap; }
  .reach-box{ padding:26px 30px; border-right:1px solid var(--line); }
  @media(max-width:760px){ .reach-box{ border-right:none; border-bottom:1px solid var(--line); } }
  .reach-heading{ font-family:var(--font-display); font-size:20px; letter-spacing:.02em; text-transform:uppercase; color:var(--brass); margin:8px 0 14px; font-weight:400; }
  .reach-box h3{ font-weight:400; font-family:var(--font-display); font-size:20px; letter-spacing:.02em; text-transform:uppercase; color:var(--brass); margin-bottom:14px; }
  .reach-box p{ margin:0 0 6px; font-size:14.5px; }
  .reach-box a.mail{ color:var(--ember); text-decoration:underline; }
  .map-frame{ border:1px solid var(--line); overflow:hidden; margin-bottom:30px; }
  .map-frame iframe{ display:block; width:100%; height:340px; border:0; filter:grayscale(0.15) contrast(1.02); }
  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
  @media(max-width:600px){ .form-grid{ grid-template-columns:1fr; } }
  .field{ display:flex; flex-direction:column; gap:6px; }
  .field label{ font-family:var(--font-label); font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); }
  .field input, .field textarea{
    border:1px solid var(--line); background:var(--card); padding:12px 13px; font-family:var(--font-body); font-size:14px; color:var(--ink);
  }
  .field input:focus, .field textarea:focus{ outline:2px solid var(--brass); outline-offset:1px; }
  .field textarea{ min-height:120px; resize:vertical; }
  .send-btn{
    border:1px solid var(--ink); background:var(--ink); color:var(--stone); padding:13px 26px;
    font-family:var(--font-label); font-size:12px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer;
  }
  .send-btn:hover{ background:var(--ember); border-color:var(--ember); }
  .form-confirm{ margin-top:14px; font-size:13.5px; color:var(--brass); font-family:var(--font-label); display:none; }
  .form-confirm.show{ display:block; }

  /* ---------- footer ---------- */
  footer{ background:var(--plum); color:#E3AC54; padding:30px 0 22px; margin-top:60px; }
  .foot-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  footer a{ text-decoration:none; color:#E3AC54; }
  .foot-brand{ display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-size:15px; letter-spacing:.03em; color:#E3AC54; }
  .foot-links a{ margin-left:22px; font-family:var(--font-label); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
  .foot-links a:hover{ color:#F2C27A; }
  .foot-bottom{ border-top:1px solid rgba(227,172,84,0.28); margin-top:20px; padding-top:14px; font-size:11px; color:#E3AC54; opacity:.8; font-family:var(--font-label); }

  /* ---------- chat widget ---------- */
  .msg{ padding:9px 11px; max-width:85%; }
  .msg.bot{ background:var(--stone-deep); align-self:flex-start; }
  .msg.user{ background:var(--ink); color:var(--stone); align-self:flex-end; }
  .chip{ font-family:var(--font-label); font-size:10.5px; border:1px solid var(--line); padding:6px 9px; cursor:pointer; background:var(--stone); }
  .chip:hover{ border-color:var(--brass); color:var(--brass); }

  /* ===== Glow variant: colours sampled from the blurred-light photograph ===== */
  :root{ --g-dark:#3B1E0B; --g-rust:#7B2B0A; --g-deep:#98310A; --g-burnt:#C14608; --g-orange:#E16C0F; --g-amber:#DFAA3F; --cream:#FDF5E8; --peach:#F5D2A6; }
  header.site.inner{
    background:
      radial-gradient(ellipse 45% 160% at 82% 10%, rgba(225,108,15,.75), transparent 70%),
      radial-gradient(ellipse 30% 140% at 6% 130%, rgba(223,170,63,.28), transparent 70%),
      linear-gradient(100deg,var(--g-dark) 0%,var(--g-rust) 38%,var(--g-deep) 68%,var(--g-burnt) 100%);
    border-bottom:1px solid rgba(0,0,0,0.25); }
  header.site.inner nav.links a, header.site.inner nav.links a.active{ color:var(--cream); }
  header.site.inner nav.links a::after{ background:var(--cream); }
  header.site.inner .menu-btn{ border-color:var(--cream); }
  header.site.inner .menu-btn span{ background:var(--cream); }
  @media(max-width:860px){ header.site.inner nav.links{ background:var(--g-rust); border-bottom:1px solid rgba(0,0,0,0.25); } }
  footer{
    background:
      radial-gradient(ellipse 40% 150% at 14% 0%, rgba(225,108,15,.7), transparent 70%),
      radial-gradient(ellipse 30% 140% at 96% 130%, rgba(223,170,63,.25), transparent 70%),
      linear-gradient(100deg,var(--g-burnt) 0%,var(--g-deep) 32%,var(--g-rust) 62%,var(--g-dark) 100%);
    color:var(--cream); }
  footer a, .foot-brand{ color:var(--cream); }
  .foot-links a:hover{ color:var(--peach); }
  .foot-bottom{ border-top:1px solid rgba(253,245,232,0.28); color:var(--cream); opacity:.85; }
  .tile .brand-tip{ background:var(--strip,#7B2B0A); color:var(--cream); }
  .tile .brand-tip b{ color:var(--cream); }
  .tile .brand-tip span{ color:var(--peach); }
  /* strips: flat colours picked from the glow palette, scattered so neighbours never match */
  .tile-grid > .tile:nth-child(7n+1){ --strip:#7B2B0A; }
  .tile-grid > .tile:nth-child(7n+2){ --strip:#C14608; }
  .tile-grid > .tile:nth-child(7n+3){ --strip:#98310A; }
  .tile-grid > .tile:nth-child(7n+4){ --strip:#46200A; }
  .tile-grid > .tile:nth-child(7n+5){ --strip:#98310A; }
  .tile-grid > .tile:nth-child(7n+6){ --strip:#7B2B0A; }
  .tile-grid > .tile:nth-child(7n+7){ --strip:#C14608; }
  .svc:nth-child(2){ background:linear-gradient(135deg,#7B2B0A,#98310A); }
  .svc:nth-child(3){ background:linear-gradient(135deg,#C14608,#98310A); }
  .svc:nth-child(1), .svc:nth-child(4){ background:#FDF5E8; }
  .pl-strip{ background:linear-gradient(100deg,var(--g-dark),var(--g-rust) 45%,var(--g-burnt)); color:var(--cream); }
  .pl-strip:hover{ background:linear-gradient(100deg,var(--g-rust),var(--g-burnt) 60%,var(--g-orange)); }
  .pl-strip .arr{ color:var(--peach); }
  /* Products page: label strips under the illustrations */
  .tile > div.tile-label, .tile:not(.logo-tile) > div{ background:var(--strip,#7B2B0A); border-top:none; transition:filter .25s ease; }
  .tile:hover > div{ filter:brightness(1.12); }
  .tile > div h4{ color:var(--cream); }
  .tile > div .sub{ color:var(--peach); }

  /* ===== Strip option B: one colour (deep rust) ===== */
  .tile-grid > .tile{ --strip:#7B2B0A !important; }
  /* hover: strips lighten to a warm orange */
  .tile .brand-tip, .tile:not(.logo-tile) > div{ transition:background-color .3s ease; }
  .tile:hover .brand-tip{ background:#B8430C !important; }
  .tile:not(.logo-tile):hover > div{ background:#B8430C !important; filter:none; }

  /* ---------- product page + sharing ---------- */
  .share-ico{ border:0; background:none; padding:2px; margin:-2px 0 -2px auto; color:var(--brass); cursor:pointer; line-height:0; border-radius:50%; transition:color .2s, transform .2s; }
  .share-ico:hover{ color:#B8430C; transform:scale(1.12); }
  .share-ico svg{ width:17px; height:17px; }
  .prod-brand{ display:flex; align-items:center; gap:8px; }
  .prod-name a{ color:inherit; text-decoration:none; }
  .prod-name a:hover{ color:#B8430C; }
  .pd{ display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:start; margin-top:6px; }
  @media(max-width:860px){ .pd{ grid-template-columns:1fr; gap:26px; } }
  .pd-main{ position:relative; border:1px solid var(--line); }
  .pd-main .prod-photo{ aspect-ratio:1/1; }
  .pd-main .prod-photo svg{ width:50%; height:50%; }
  .pd-thumbs{ display:flex; gap:10px; margin-top:10px; flex-wrap:wrap; }
  .pd-thumbs img{ width:72px; height:72px; object-fit:cover; border:2px solid transparent; cursor:pointer; opacity:.6; background:#fff; }
  .pd-thumbs img.on, .pd-thumbs img:hover{ opacity:1; border-color:var(--brass); }
  .pd-info .prod-brand{ font-size:12px; }
  .pd-info .prod-brand a{ color:inherit; text-decoration:none; } .pd-info .prod-brand a:hover{ text-decoration:underline; }
  .pd-info h1{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(28px,4vw,40px); line-height:1.1; margin:10px 0 14px; }
  .pd-price{ font-family:var(--font-label); font-size:24px; font-weight:500; }
  .pd-meta{ display:flex; align-items:center; gap:14px; margin:6px 0 18px; flex-wrap:wrap; }
  .pd-desc{ font-size:15px; color:var(--ink-soft); margin-bottom:22px; max-width:46ch; }
  .pd-actions{ display:flex; gap:12px; flex-wrap:wrap; align-items:stretch; position:relative; }
  .pd-actions .reserve-btn{ margin-top:0; padding:13px 22px; }
  .share-btn{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--ink); background:none; color:var(--ink); font-family:var(--font-label); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; padding:13px 18px; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
  .share-btn:hover{ background:#B8430C; border-color:#B8430C; color:#fff; }
  .share-btn svg{ width:16px; height:16px; }
  .pd-note{ margin-top:18px; font-size:12px; color:var(--ink-soft); font-family:var(--font-label); max-width:52ch; }
  .pd-note.done{ color:#3f6b3f; }
  .reserve-btn.notify{ background:none; color:var(--ink); }
  .reserve-btn.notify:hover{ background:#B8430C; border-color:#B8430C; color:#fff; }
  .reserve-btn.notify.done{ background:var(--card); color:var(--ink-soft); border-color:var(--line); }
  .pd-more{ margin-top:64px; }
  .pd-more h2{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:22px; margin:0 0 14px; }
  .share-menu{ position:absolute; z-index:60; background:var(--card); border:1px solid var(--line); box-shadow:0 10px 30px rgba(20,16,18,.18); min-width:210px; padding:6px; display:none; }
  .share-menu.open{ display:block; }
  .share-menu a, .share-menu button{ display:flex; width:100%; align-items:center; gap:10px; text-align:left; border:0; background:none; padding:11px 12px; font-family:var(--font-label); font-size:12.5px; color:var(--ink); text-decoration:none; cursor:pointer; }
  .share-menu a:hover, .share-menu button:hover{ background:rgba(184,67,12,.09); color:#B8430C; }
  .toast{ position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px); background:var(--plum); color:var(--brass-bright); padding:12px 20px; font-family:var(--font-label); font-size:13px; letter-spacing:.04em; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; z-index:2000; }
  .toast.show{ opacity:1; transform:translate(-50%,0); }

  /* ---------- typography rule (trial): former sentence-case Lexend text now set in CAPS ---------- */
  .share-menu a, .share-menu button, .chip, .form-confirm, .toast, .foot-bottom, .hero-caption,
  .prod-note, .pd-note, .pd-price, .prod-price, .prod-meta, .photo-count, .stock, .stock.mono,
  .page-title, .logo-text small{ font-family:var(--font-label) !important; text-transform:uppercase; letter-spacing:.06em; }
  .share-menu a, .share-menu button{ font-size:11.5px; }
  .share-head{ display:flex; align-items:center; justify-content:space-between; padding:6px 6px 8px 12px; border-bottom:1px solid var(--line); margin-bottom:4px; font-family:var(--font-label); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass); }
  .share-menu .share-x{ width:auto; display:block; padding:4px 9px; font-size:20px; line-height:1; letter-spacing:0; color:var(--ink-soft); }

  /* ---------- round 4 ---------- */
  .tile-grid.cat-grid{ grid-template-columns:repeat(3,1fr); }
  @media(max-width:900px){ .tile-grid.cat-grid{ grid-template-columns:repeat(3,1fr); } }
  @media(max-width:700px){ .tile-grid.cat-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:520px){ .tile-grid.cat-grid{ grid-template-columns:1fr; } }
  .cat-grid .tile h4{ font-size:21px; }
  .quad-item h3{ font-size:clamp(20px,2.1vw,26px); letter-spacing:.01em; }
  .quad-item .arrow{ font-size:15px; }
  .quad-item{ min-height:150px; }
  .hero-sign{ position:absolute; right:3.4%; bottom:5%; width:clamp(70px,11.5%,165px); height:auto; opacity:1; filter:drop-shadow(0 1px 5px rgba(0,0,0,.28)); pointer-events:none; }
  .bulbs-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:56px; align-items:start; margin-top:10px; }
  @media(max-width:860px){ .bulbs-grid{ grid-template-columns:1fr; gap:28px; } }
  .bulbs-photo{ margin:0; position:sticky; top:96px; }
  @media(max-width:860px){ .bulbs-photo{ position:static; } }
  .bulbs-photo img, .bulbs-tala img{ display:block; width:100%; height:auto; border:1px solid var(--line); }
  .bulbs-text p{ font-size:16px; line-height:1.65; margin:0 0 18px; max-width:60ch; }
  .bulbs-tala{ margin:26px 0 26px; }
  .bulbs-cta{ display:inline-block; margin-top:6px; font-family:var(--font-label); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:4px; transition:color .2s; }
  .bulbs-cta:hover{ color:#B8430C; }
  .cat-blurb{ margin:6px 0 0; }
  /* links inside running text: Work Sans, like the surrounding copy */
  .svc a.link, .tier a.link, p a.link{ font-family:var(--font-body) !important; text-transform:none !important; letter-spacing:0 !important; }
  .prod-note.svc-leaflet{ font-family:var(--font-body) !important; text-transform:none !important; letter-spacing:0 !important; font-size:15px; margin-top:6px; }
  .pd-price.noprice{ font-size:14px; letter-spacing:.08em; }

  /* ---------- language switch ---------- */
  .lang-switch{ position:absolute; top:9px; right:16px; display:flex; align-items:center; gap:7px; z-index:3;
    font-family:var(--font-label); font-size:10.5px; letter-spacing:.12em; color:rgba(255,240,222,.55); }
  .lang-switch button{ background:none; border:0; padding:3px 2px; cursor:pointer; font:inherit; letter-spacing:inherit; color:rgba(255,240,222,.72);
    border-bottom:1.5px solid transparent; transition:color .2s, border-color .2s; }
  .lang-switch button:hover{ color:#fff; }
  .lang-switch button.on{ color:#fff; border-bottom-color:#E3AC54; cursor:default; }
  @media(max-width:860px){ .lang-switch{ top:auto; bottom:8px; right:14px; } .quad-item h3{ font-size:clamp(17px,4.6vw,21px); letter-spacing:.01em; overflow-wrap:anywhere; } }

  /* hand-drawn circle around in-text links on hover */
  .link-circle{ position:absolute; pointer-events:none; z-index:60; overflow:visible; }
  .link-circle path{ fill:none; stroke:var(--ember,#c8501c); stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
    animation:circDraw .6s cubic-bezier(.4,.1,.2,1) forwards; }
  .link-circle.white path{ stroke:#fff; }
  .link-circle.out{ opacity:0; transition:opacity .25s; }
  @keyframes circDraw{ from{ stroke-dashoffset:var(--len); } to{ stroke-dashoffset:0; } }
  @media(prefers-reduced-motion:reduce){ .link-circle path{ animation:none; } }

/* ── additions for the real site (2026-10-20): forms, energy label, parameters, legal pages ── */
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.request-form{margin-top:28px;max-width:760px;}
.request-form .field{margin-bottom:12px;}
.request-form input[type=text],.request-form input[type=email],.request-form input[type=tel],.request-form input[type=number],.request-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font:inherit;font-size:15px;}
.request-form fieldset.channels{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;}
.request-form fieldset.channels legend{font-family:var(--font-label);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);padding:0 6px;}
.request-form fieldset.channels label,.request-form .consent label{display:block;margin:4px 0;font-size:14px;}
.request-form .consent label.sub{margin-left:22px;}
.form-hint{font-size:13px;color:var(--ink-soft);margin:6px 0 12px;}
.consent-info{font-size:12px;}
.form-errors{color:var(--ember);font-size:14px;}
blockquote.kept{border-left:3px solid var(--brass);padding:6px 12px;color:var(--ink-soft);white-space:pre-wrap;}
.forms-two{align-items:start;}
/* Z-WWW-7/7 — inputs of one .form-grid row on one level (BACKLOG WWW 8h): a longer label
   ("Telefon (z prefiksem kraju…)") wraps to more lines than its neighbour, and the input
   under it used to drop lower. The row's fields stretch to the row height and push their
   input to the bottom, so the boxes line up and the labels grow upwards. */
.request-form .form-grid .field{justify-content:flex-end;}
.energy-label{display:flex;align-items:center;gap:10px;margin:10px 0;}
.energy-badge{display:inline-block;min-width:34px;padding:4px 10px;font-family:var(--font-label);font-weight:600;color:#fff;text-align:center;border-radius:2px;clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%);}
.energy-A{background:#009640;} .energy-B{background:#52ae32;} .energy-C{background:#c8d400;} .energy-D{background:#ffed00;color:#241F1C;} .energy-E{background:#fbba00;color:#241F1C;} .energy-F{background:#ec6608;} .energy-G{background:#e30613;}
.energy-text{font-size:13px;color:var(--ink-soft);}
/* Z-WWW-7/1 — energy class arrow (2019/2015 annex IV, simplified): range A over G in black on the
   left, the class arrow on the right; the letter never smaller than the price beside it
   (card price 13px -> 14px; product page price 24px -> 24px). */
.energy-mini{margin-top:4px;}
.energy-arrow{display:inline-flex;align-items:stretch;gap:3px;line-height:1;vertical-align:middle;}
.energy-scale{display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:1px solid var(--ink);padding:1px 3px;font-family:var(--font-label);font-weight:600;color:var(--ink);}
.energy-scale-bar{flex:1;width:1px;min-height:4px;margin:1px 0;background:var(--ink);}
.energy-arrow .energy-badge{display:flex;align-items:center;justify-content:center;border-radius:0;font-family:var(--font-body);font-weight:700;}
.energy-arrow-card .energy-scale{font-size:9.5px;}
.energy-arrow-card .energy-badge{min-width:30px;padding:3px 12px 3px 7px;font-size:14px;}
.energy-arrow-page .energy-scale{font-size:11px;padding:2px 4px;}
.energy-arrow-page .energy-badge{min-width:52px;padding:5px 20px 5px 12px;font-size:24px;}
.omnibus{font-size:13px;color:var(--ink-soft);}
table.params{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px;}
table.params th{text-align:left;font-weight:500;color:var(--ink-soft);padding:5px 8px 5px 0;border-bottom:1px solid var(--line);width:45%;text-transform:capitalize;}
table.params td{padding:5px 0;border-bottom:1px solid var(--line);}
.filters{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0 18px;font-size:13px;}
.chip-select select{margin-left:6px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font:inherit;font-size:13px;}
.legal-body h2{margin-top:24px;} .legal-body h3{margin-top:18px;} .legal-body p,.legal-body li{font-size:15px;line-height:1.6;}
.legal-list{list-style:none;padding:0;} .legal-list li{margin:8px 0;font-size:16px;}
/* Z-WWW-13/4: the core of a legal page under its title on the hub, then "full text" */
.legal-list li{margin:0 0 22px;} .legal-core p{font-size:15px;line-height:1.55;margin:6px 0 4px;color:var(--ink-soft);}
.legal-more{font-family:var(--font-label);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);}
.privacy-note{opacity:.8;}
.pd-thumbs img{cursor:pointer;}
@media(max-width:760px){.forms-two{grid-template-columns:1fr;}}
.pd-subtitle{font-family:var(--font-label);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin:-6px 0 10px;}
