  :root{
    --bg:#FFF8F3;
    --bg-alt:#F7ECE3;
    --surface:#FFFFFF;
    --ink:#29241E;
    --ink-soft:#787064;
    --border:#EDDED4;
    --gold:#D2AA63;
    --gold-deep:#AE7829;
    --gold-soft:#F8F0DF;
    --shadow: 0 20px 50px -25px rgba(36,31,25,.35);
    --radius-lg: 22px;
    --radius-md: 14px;
    --radius-sm: 9px;
    --maxw: 1180px;
  }
  /* Marka Meble Wyka ma stały, jasny wygląd (biel / greige / czerń / złoto) —
     strona świadomie nie przełącza się na ciemny motyw systemowy. */

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;} }

  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
    font-weight:600;
    line-height:1.15;
    margin:0 0 .5em;
    letter-spacing:.005em;
  }
  p{margin:0 0 1em;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px;}
  .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

  p{text-align:justify; hyphens:auto;}
  .eyebrow{text-align:inherit; hyphens:none;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.72rem;
    font-weight:600;
    color:var(--gold-deep);
    margin:0 0 .9em;
  }
  .section-head{max-width:640px; margin:0 0 44px;}
  .section-head p{color:var(--ink-soft); font-size:1.02rem;}
  .section{padding:88px 0;}
  .section-alt{background:var(--bg-alt);}
  .section-head-row{
    display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
    flex-wrap:wrap;
  }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:14px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
    white-space:nowrap;
  }
  .btn:focus-visible{outline:2px solid var(--gold-deep); outline-offset:3px;}
  .btn-primary{background:var(--gold); color:#211a0f;}
  .btn-primary:hover{background:var(--gold-deep); transform:translateY(-1px);}
  .btn-outline{background:transparent; border-color: var(--ink); color:var(--ink);}
  .btn-outline:hover{background:var(--ink); color:var(--bg); transform:translateY(-1px);}
  .btn-ghost{background:var(--surface); border-color:var(--border); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--gold);}
  .btn-sm{padding:10px 18px; font-size:.85rem;}
  .btn-block{width:100%;}
  .link-arrow{
    display:inline-flex; align-items:center; gap:6px;
    color:var(--gold-deep); text-decoration:none; font-weight:600; font-size:.92rem;
    border-bottom:1px solid transparent;
  }
  .link-arrow:hover{border-color:currentColor;}

  /* ---------- Header ---------- */
  header.site{
    position:sticky; top:0; z-index:60;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; flex-wrap:nowrap;}
  .logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); flex:none;}
  .logo img{display:block; height:56px; width:auto;}
  @media (min-width:640px){ .logo img{height:66px;} }
  @media (min-width:1160px){ .logo img{height:78px;} }
  .logo-text{display:flex; flex-direction:column; line-height:1.1;}
  .logo-text strong{font-family:'Playfair Display', serif; font-size:1.05rem; font-weight:600;}
  .logo-text span{font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}

  nav.main-nav{display:none; flex:1 1 auto; min-width:0; overflow:hidden; justify-content:center;}
  nav.main-nav ul{display:flex; gap:14px; list-style:none; margin:0; padding:0; flex-wrap:nowrap; white-space:nowrap;}
  nav.main-nav a{text-decoration:none; font-size:.83rem; font-weight:500; color:var(--ink-soft); transition:color .15s;}
  nav.main-nav a:hover{color:var(--ink);}

  .header-actions{display:flex; align-items:center; gap:12px; flex:none; white-space:nowrap;}
  .phone-link{display:none; align-items:center; gap:6px; text-decoration:none; color:var(--ink); font-weight:600; font-size:.87rem; white-space:nowrap;}
  .phone-link svg{flex:none;}
  .header-social{display:none; align-items:center; gap:8px;}
  .header-social a{
    width:30px; height:30px; border-radius:50%; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; color:var(--ink-soft); text-decoration:none; transition:.15s;
  }
  .header-social a:hover{border-color:var(--gold); color:var(--gold-deep);}

  .burger{
    display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center;
    border-radius:10px; border:1px solid var(--border); background:var(--surface); cursor:pointer;
  }
  .burger span{display:block; width:18px; height:2px; background:var(--ink); position:relative;}
  .burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .2s;}
  .burger span::before{top:-6px;} .burger span::after{top:6px;}

  #mobile-nav{
    display:none; flex-direction:column; gap:2px; padding:10px 0 18px; border-top:1px solid var(--border);
  }
  #mobile-nav.open{display:flex;}
  #mobile-nav a{
    padding:12px 4px; text-decoration:none; color:var(--ink); font-weight:500; border-bottom:1px solid var(--border);
  }
  #mobile-nav .mobile-cta{margin-top:12px;}

  @media (min-width:1160px){
    nav.main-nav{display:flex;}
    .phone-link{display:inline-flex;}
    .burger{display:none;}
    #mobile-nav{display:none !important;}
  }
  @media (min-width:1320px){
    .header-social{display:flex;}
  }

  /* ---------- Placeholder imagery ---------- */
  .ph{
    position:relative; overflow:hidden; border-radius:var(--radius-md);
    background:
      radial-gradient(120% 140% at 15% 0%, color-mix(in srgb, var(--gold) 20%, transparent), transparent 60%),
      linear-gradient(150deg, var(--bg-alt), var(--surface) 60%, var(--bg-alt));
    display:flex; align-items:center; justify-content:center;
    aspect-ratio: var(--ar, 4/3);
    border:1px solid var(--border);
  }
  .ph::after{
    content:""; position:absolute; inset:0;
    background-image: repeating-linear-gradient(115deg, color-mix(in srgb, var(--ink) 4%, transparent) 0 1px, transparent 1px 34px);
    opacity:.6;
  }
  .ph-inner{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--ink-soft); padding:14px; text-align:center;}
  .ph-inner svg{width:38px; height:38px; stroke:var(--gold-deep);}
  .ph-inner span{font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600;}
  .ph.has-photo{background:none;}
  .ph.has-photo::after{display:none;}
  .ph-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0;}

  /* ---------- Hero ---------- */
  .hero{padding:44px 0 76px;}
  .hero-grid{display:grid; gap:36px;}
  .hero-copy .eyebrow{margin-bottom:14px;}
  .hero h1{font-size:clamp(2.1rem, 5.5vw, 3.4rem); max-width:14ch;}
  .hero-sub{font-size:1.08rem; font-weight:600; color:var(--gold-deep); margin-bottom:.5em;}
  .hero-copy p.lead{font-size:1.08rem; color:var(--ink-soft); max-width:46ch;}
  .hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:8px;}
  .hero-media{--ar:5/4;}
  .hero-media .ph-inner svg{width:50px;height:50px;}
  @media (min-width:900px){
    .hero-grid{grid-template-columns:1.05fr 1fr; align-items:center; gap:52px;}
    .hero-media{--ar:4/3.3;}
  }

  /* ---------- Advantages ---------- */
  .adv-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px;}
  .adv-card{
    background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
    padding:26px 22px;
  }
  .adv-icon{
    width:44px;height:44px;border-radius:12px; background:var(--gold-soft);
    display:flex;align-items:center;justify-content:center; margin-bottom:16px;
  }
  .adv-icon svg{width:22px;height:22px;stroke:var(--gold-deep);}
  .adv-card h3{font-size:1.02rem; font-family:'Inter'; font-weight:600; margin-bottom:.4em;}
  .adv-card p{font-size:.92rem; color:var(--ink-soft); margin:0; text-align:left; hyphens:none;}

  /* ---------- Offer / Gallery grids ---------- */
  .cards-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  @media (min-width:720px){ .cards-grid{grid-template-columns:repeat(4,1fr); gap:22px;} }
  .offer-card{text-decoration:none; color:inherit; display:block; border-radius:var(--radius-md); transition:transform .18s;}
  .offer-card:hover{transform:translateY(-3px);}
  .offer-card .ph{--ar:4/5; margin-bottom:14px;}
  .offer-card h3{font-size:1rem; font-family:'Inter'; font-weight:600; display:flex; align-items:center; gap:6px; margin:0;}
  .offer-card svg.arrow{width:15px;height:15px; stroke:var(--gold-deep); transition:transform .18s;}
  .offer-card:hover svg.arrow{transform:translateX(3px);}

  .gallery-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  @media (min-width:780px){ .gallery-grid{grid-template-columns:repeat(4,1fr);} }
  .gallery-grid .ph{--ar:1/1;}
  .gallery-card figcaption{margin-top:10px; font-size:.85rem; color:var(--ink-soft); font-weight:500;}
  .gallery-card{margin:0;}

  /* ---------- Process ---------- */
  .process-grid{display:grid; grid-template-columns:1fr; gap:28px 22px;}
  @media (min-width:720px){ .process-grid{grid-template-columns:repeat(3,1fr);} }
  .process-step{position:relative; padding-left:2px;}
  .process-num{
    width:40px;height:40px;border-radius:50%;
    border:1.5px solid var(--gold); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center;
    font-family:'Playfair Display', serif; font-weight:600; margin-bottom:14px;
  }
  .process-step h3{font-size:1rem; font-family:'Inter'; font-weight:600; margin-bottom:.35em;}
  .process-step p{font-size:.9rem; color:var(--ink-soft); margin:0; text-align:left; hyphens:none;}

  /* ---------- About ---------- */
  .about-copy p{color:var(--ink-soft);}

  /* ---------- Two paths ---------- */
  .paths-grid{display:grid; gap:22px;}
  @media (min-width:780px){ .paths-grid{grid-template-columns:1fr 1fr;} }
  .path-card{
    border-radius:var(--radius-lg); padding:38px 32px;
    display:flex; flex-direction:column; gap:14px; align-items:flex-start;
  }
  .path-card.light{background:var(--surface); border:1px solid var(--border);}
  .path-card.dark{background:var(--ink); color:var(--bg);}
  .path-card p{text-align:left; hyphens:none;}
  .path-card.dark p{color:color-mix(in srgb, var(--bg) 78%, transparent);}
  .path-contact{margin-top:4px; padding-top:14px; border-top:1px solid color-mix(in srgb, var(--bg) 20%, transparent); width:100%;}
  .path-contact p{margin:0 0 2px; font-size:.86rem; text-align:left;}
  .path-contact .path-contact-name{font-weight:600; color:var(--bg); font-family:'Inter';}
  .path-contact a{color:color-mix(in srgb, var(--bg) 88%, transparent); text-decoration:none;}
  .path-contact a:hover{color:var(--gold);}
  .path-card.light .path-contact{border-top-color:var(--border);}
  .path-card.light .path-contact p{color:var(--ink-soft);}
  .path-card.light .path-contact .path-contact-name{color:var(--ink);}
  .path-card.light .path-contact a{color:var(--gold-deep);}
  .path-card.light .path-contact a:hover{color:var(--ink);}
  .path-icon{width:46px;height:46px;border-radius:12px; display:flex;align-items:center;justify-content:center; background:var(--gold-soft);}
  .path-card.dark .path-icon{background:color-mix(in srgb, var(--bg) 12%, transparent);}
  .path-icon svg{width:22px;height:22px; stroke:var(--gold-deep);}
  .path-card.dark .path-icon svg{stroke:var(--gold);}
  .path-card.dark .btn-outline:hover{background:var(--gold); border-color:var(--gold); color:#211a0f;}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid; gap:36px;}
  @media (min-width:960px){ .contact-grid{grid-template-columns:.85fr 1.15fr; gap:56px;} }
  .contact-info-list{list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:16px;}
  .contact-info-list li{display:flex; gap:12px; align-items:flex-start;}
  .contact-info-list svg{flex:none; width:19px;height:19px; stroke:var(--gold-deep); margin-top:2px;}
  .contact-info-list a{text-decoration:none; color:var(--ink); font-weight:500;}
  .contact-info-list a:hover{color:var(--gold-deep);}
  .social-row{display:flex; gap:10px; margin-top:8px;}
  .social-row a{
    width:38px;height:38px;border-radius:50%; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; text-decoration:none; color:var(--ink);
  }
  .social-row a:hover{border-color:var(--gold); color:var(--gold-deep);}
  footer.site .social-row a{color:color-mix(in srgb, var(--bg) 85%, transparent);}
  footer.site .social-row a:hover{color:var(--gold);}
  .map-ph{--ar:16/10; margin-top:22px;}
  .map-ph iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
  .map-link-row{display:flex; justify-content:flex-end; margin-top:8px;}
  .map-link-row a{font-size:.82rem; font-weight:600; color:var(--gold-deep); text-decoration:none;}
  .map-link-row a:hover{text-decoration:underline;}

  form.contact-form{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; }
  .purpose-group{display:flex; flex-wrap:wrap; gap:9px; margin-bottom:22px;}
  .purpose-pill{
    border:1px solid var(--border); background:var(--bg); border-radius:999px;
    padding:9px 16px; font-size:.85rem; font-weight:500; cursor:pointer; color:var(--ink-soft);
  }
  .purpose-pill input{position:absolute; opacity:0; pointer-events:none;}
  .purpose-pill:has(input:checked){background:var(--gold); border-color:var(--gold); color:#211a0f;}
  .purpose-pill:has(input:focus-visible){outline:2px solid var(--gold-deep); outline-offset:2px;}

  .form-row{display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:16px;}
  @media (min-width:560px){ .form-row.two{grid-template-columns:1fr 1fr;} }
  .field label{display:block; font-size:.82rem; font-weight:600; margin-bottom:6px; color:var(--ink-soft);}
  .field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field input[type=file]{
    width:100%; padding:12px 14px; border-radius:var(--radius-sm); border:1px solid var(--border);
    background:var(--bg); color:var(--ink); font-family:inherit; font-size:.95rem;
  }
  .field textarea{min-height:110px; resize:vertical;}
  .field input:focus,.field textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
  .file-hint{font-size:.75rem; color:var(--ink-soft); margin-top:5px;}

  .consent-row{display:flex; gap:10px; align-items:flex-start; margin:20px 0; font-size:.82rem; color:var(--ink-soft);}
  .consent-row input{margin-top:3px;}
  .consent-row a{color:var(--gold-deep); text-decoration:underline;}
  .form-note{font-size:.78rem; color:var(--ink-soft); margin-top:14px;}
  .form-success{
    display:none; background:var(--gold-soft); border:1px solid var(--gold); border-radius:var(--radius-sm);
    padding:14px 16px; font-size:.9rem; margin-bottom:18px; color:var(--ink);
  }
  .form-success.show{display:block;}
  .form-error{
    display:none; background:#FBEAEA; border:1px solid #E4A5A5; border-radius:var(--radius-sm);
    padding:14px 16px; font-size:.9rem; margin-bottom:18px; color:#8A2C2C;
  }
  .form-error.show{display:block;}

  /* ---------- Footer ---------- */
  footer.site{background:var(--ink); color:var(--bg); padding:64px 0 0;}
  .footer-wrap{max-width:1180px; margin:0 auto; padding:0 22px 28px;}
  .footer-grid{display:grid; gap:36px; padding-bottom:44px; border-bottom:1px solid color-mix(in srgb, var(--bg) 18%, transparent);}
  @media (min-width:800px){ .footer-grid{grid-template-columns:1.3fr 1fr 1fr;} }
  .footer-brand p{color:color-mix(in srgb, var(--bg) 70%, transparent); max-width:36ch; font-size:.9rem;}
  footer.site .logo-text strong{color:var(--bg);}
  footer.site .logo-text span{color:color-mix(in srgb, var(--bg) 60%, transparent);}
  .footer-col h4{font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 16px; color:color-mix(in srgb, var(--bg) 65%, transparent);}
  .footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
  .footer-col a, .footer-col button.linklike{
    background:none; border:none; padding:0; text-align:left; cursor:pointer;
    color:color-mix(in srgb, var(--bg) 88%, transparent); text-decoration:none; font-size:.92rem; font-family:inherit;
  }
  .footer-col a:hover, .footer-col button.linklike:hover{color:var(--gold);}
  .footer-bottom{display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:22px 0 26px; font-size:.78rem; color:color-mix(in srgb, var(--bg) 55%, transparent);}
  .footer-note{font-size:.74rem; color:color-mix(in srgb, var(--bg) 45%, transparent); max-width:60ch; padding-bottom:18px;}

  /* ---------- Mobile sticky CTA bar ---------- */
  .mobile-cta-bar{
    position:fixed; left:0; right:0; bottom:0; z-index:55;
    display:flex; gap:10px; padding:10px 14px; background:var(--surface);
    border-top:1px solid var(--border); box-shadow:0 -10px 25px -20px rgba(0,0,0,.4);
  }
  .mobile-cta-bar a{flex:1;}
  @media (min-width:960px){ .mobile-cta-bar{display:none;} }
  @media (max-width:959px){ body{padding-bottom:70px;} }

  /* ---------- Reveal on scroll ---------- */
  .reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:none;}

  /* ================= Cookie consent (layer 1 + modals) ================= */
  .cc-overlay{
    position:fixed; inset:0; background:rgba(20,16,10,.55); z-index:200;
    display:none; align-items:flex-end; justify-content:center; padding:18px;
  }
  .cc-overlay.show{display:flex;}
  @media (min-width:640px){ .cc-overlay{align-items:center;} }

  .cc-card{
    background:var(--surface); color:var(--ink); border-radius:var(--radius-lg);
    max-width:460px; width:100%; padding:30px 28px 26px; box-shadow:var(--shadow);
    max-height:86vh; overflow-y:auto;
  }
  .cc-card h2{font-size:1.15rem; margin-bottom:.5em;}
  .cc-card p{font-size:.88rem; color:var(--ink-soft);}
  .cc-actions{display:flex; flex-direction:column; gap:10px; margin-top:18px;}
  .cc-links{display:flex; gap:16px; margin-top:18px; padding-top:16px; border-top:1px solid var(--border); font-size:.8rem;}
  .cc-links a{color:var(--ink-soft);text-decoration:underline;font-family:inherit;}
  .cc-links a:hover{color:var(--gold-deep);}

  .cc-modal{
    position:fixed; inset:0; background:rgba(20,16,10,.55); z-index:210;
    display:none; align-items:center; justify-content:center; padding:18px;
  }
  .cc-modal.show{display:flex;}
  .cc-modal-box{
    background:var(--surface); color:var(--ink); border-radius:var(--radius-lg);
    max-width:640px; width:100%; max-height:86vh; overflow-y:auto; box-shadow:var(--shadow);
  }
  .cc-modal-head{display:flex; align-items:center; justify-content:space-between; padding:24px 26px 0;}
  .cc-modal-head h2{font-size:1.2rem; margin:0;}
  .cc-close{
    width:34px;height:34px;border-radius:50%; border:1px solid var(--border); background:var(--bg);
    display:flex; align-items:center; justify-content:center; cursor:pointer; flex:none;
  }
  .cc-modal-body{padding:16px 26px 26px;}
  .cc-modal-body p{font-size:.88rem; color:var(--ink-soft);}
  .cc-cat{border-top:1px solid var(--border); padding:14px 0;}
  .cc-cat-head{display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer;}
  .cc-cat-title{display:flex; align-items:center; gap:10px; font-weight:600; font-size:.92rem;}
  .cc-chevron{transition:transform .2s; stroke:var(--ink-soft); width:16px;height:16px; flex:none;}
  .cc-cat.open .cc-chevron{transform:rotate(180deg);}
  .cc-cat-desc{display:none; font-size:.83rem; color:var(--ink-soft); margin-top:10px;}
  .cc-cat.open .cc-cat-desc{display:block;}

  .cc-switch{
    position:relative; width:44px; height:25px; border-radius:999px; background:var(--border); flex:none; cursor:pointer; border:none;
  }
  .cc-switch::after{
    content:""; position:absolute; top:2px; left:2px; width:21px; height:21px; border-radius:50%;
    background:var(--surface); transition:transform .18s; box-shadow:0 1px 3px rgba(0,0,0,.3);
  }
  .cc-switch.on{background:var(--ink);}
  .cc-switch.on::after{transform:translateX(19px);}
  .cc-switch:disabled{opacity:.6; cursor:not-allowed;}
  .cc-switch-label{font-size:.7rem; color:var(--ink-soft);}

  .cc-modal-foot{
    display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:18px 26px 26px; border-top:1px solid var(--border);
  }
  .cc-modal-foot .cc-left{display:flex; gap:10px; flex-wrap:wrap;}

  .cc-table{width:100%; border-collapse:collapse; font-size:.82rem; margin:14px 0;}
  .cc-table th,.cc-table td{text-align:left; padding:8px 10px; border-bottom:1px solid var(--border); vertical-align:top;}
  .cc-table th{color:var(--ink-soft); font-weight:600; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em;}
