:root{
    --cream:#FAF6EC;
    --cream-alt:#F1E8D4;
    --ink:#211C17;
    --ink-soft:#4A4238;
    --gold:#A2801F;
    --gold-deep:#7C6118;
    --gold-light:#D7B85C;
    --line:#DED0A9;
    --white:#FFFEFC;
    --radius:2px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Lora', serif;
    font-size:17px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Playfair Display', serif;
    font-weight:600;
    margin:0 0 .4em 0;
    color:var(--ink);
    letter-spacing:.2px;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .eyebrow{
    font-family:'Jost', sans-serif;
    font-size:.72rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--gold-deep);
    font-weight:600;
    margin-bottom:.9em;
    display:flex;
    align-items:center;
    gap:.6em;
  }
  .eyebrow::before{
    content:"";
    width:26px;height:1px;background:var(--gold);
    display:inline-block;
  }
  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
  }
  :focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;}

  /* ---------- HEADER ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,246,236,.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 32px;
    max-width:1120px;margin:0 auto;
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{height:42px;width:auto;}
  .brand span{
    font-family:'Playfair Display', serif;
    font-weight:600;font-size:1.18rem;letter-spacing:.3px;
  }
  nav ul{
    list-style:none;display:flex;gap:34px;margin:0;padding:0;
    font-family:'Jost', sans-serif;font-size:.86rem;letter-spacing:.03em;
  }
  nav a{
    position:relative;padding:4px 0;color:var(--ink-soft);
    transition:color .25s ease;
  }
  nav a:hover{color:var(--gold-deep);}
  nav a::after{
    content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
    background:var(--gold);transform:scaleX(0);transform-origin:left;
    transition:transform .3s ease;
  }
  nav a:hover::after{transform:scaleX(1);}
  .nav-actions{display:flex;align-items:center;gap:16px;}
  .nav-cta{
    font-family:'Jost',sans-serif;font-size:.82rem;letter-spacing:.03em;
    border:1px solid var(--ink);padding:9px 20px;border-radius:var(--radius);
    white-space:nowrap;transition:background .25s ease, color .25s ease, border-color .25s ease;
  }
  .nav-cta:hover{background:var(--ink);color:var(--white);}
  .menu-toggle{
    display:none;background:none;border:1px solid transparent;cursor:pointer;
    color:var(--ink);padding:6px;line-height:0;border-radius:var(--radius);
  }
  .menu-toggle .icon-close{display:none;}
  .menu-toggle.open .icon-burger{display:none;}
  .menu-toggle.open .icon-close{display:block;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;overflow:hidden;
    padding:96px 32px 100px;
    text-align:center;
  }
  .hero-feather{
    position:absolute;opacity:.10;pointer-events:none;
  }
  .hero-feather.f1{top:-40px;right:-60px;width:340px;transform:rotate(12deg);}
  .hero-feather.f2{bottom:-60px;left:-80px;width:300px;transform:rotate(-100deg) scaleX(-1);}
  .hero-inner{max-width:760px;margin:0 auto;position:relative;}
  .hero-logo{width:120px;margin:0 auto 28px;}
  .hero h1{
    font-size:clamp(2.4rem,5vw,3.4rem);
    line-height:1.08;
  }
  .motto{
    font-family:'Playfair Display', serif;
    font-style:italic;
    color:var(--gold-deep);
    font-size:1.22rem;
    margin:6px 0 30px;
  }
  .hero p.lead{
    max-width:600px;margin:0 auto 38px;color:var(--ink-soft);font-size:1.08rem;
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'Jost', sans-serif;font-size:.88rem;letter-spacing:.04em;
    background:var(--ink);color:var(--white);
    padding:15px 32px;border-radius:var(--radius);
    transition:background .25s ease, transform .25s ease;
  }
  .btn:hover{background:var(--gold-deep);transform:translateY(-1px);}
  .btn.ghost{
    background:transparent;color:var(--ink);border:1px solid var(--ink);
  }
  .btn.ghost:hover{background:var(--ink);color:var(--white);}

  .reasons{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    margin-top:64px;
  }
  .reason{
    background:var(--cream);
    padding:34px 26px;text-align:left;
  }
  .reason .num{
    font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);
    font-size:1.6rem;display:block;margin-bottom:14px;
  }
  .reason h4{font-size:1.02rem;margin-bottom:8px;}
  .reason p{color:var(--ink-soft);font-size:.92rem;margin:0;line-height:1.55;}

  /* ---------- SECTION GENERIC ---------- */
  section{padding:100px 0;}
  .section-alt{background:var(--cream-alt);}
  .divider{
    height:1px;background:var(--line);max-width:1120px;margin:0 auto;
  }

  /* ---------- O MNIE ---------- */
  .about-grid{
    display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;
  }
  .portrait{
    aspect-ratio:4/5;
    border:1px solid var(--line);
    background:var(--white)
      radial-gradient(circle at 50% 38%, #fff 0%, #F1E8D4 72%);
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }
  .portrait svg{width:52%;opacity:.85;}
  .portrait .frame-label{
    position:absolute;bottom:18px;left:18px;right:18px;
    font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink-soft);text-align:center;
  }
  .about-copy p{color:var(--ink-soft);margin:0 0 20px;}
  .about-copy strong{color:var(--ink);font-weight:600;}
  .trust-list{list-style:none;margin:34px 0 0;padding:0;}
  .trust-list li{
    display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--line);
  }
  .trust-list li:last-child{border-bottom:1px solid var(--line);}
  .trust-list .feather-mini{flex:none;width:20px;height:20px;color:var(--gold);margin-top:3px;}
  .trust-list b{display:block;font-family:'Playfair Display',serif;font-weight:600;font-size:1.02rem;margin-bottom:4px;}
  .trust-list span{color:var(--ink-soft);font-size:.94rem;}

  /* ---------- KURSY ---------- */
  .courses-head{text-align:center;max-width:640px;margin:0 auto 56px;}
  .courses-head p{color:var(--ink-soft);}
  .course-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  }
  .course-card{
    background:var(--white);border:1px solid var(--line);
    padding:30px 22px 26px;text-align:center;
  }
  .course-card .badge{
    width:56px;height:56px;margin:0 auto 18px;border-radius:50%;
    border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;
  }
  .course-card .badge svg{width:24px;height:24px;color:var(--gold-deep);}
  .course-card h4{font-size:.98rem;margin-bottom:6px;}
  .course-card p{font-size:.86rem;color:var(--ink-soft);margin:0;}

  /* ---------- OFERTA ---------- */
  .offer-head{text-align:center;max-width:680px;margin:0 auto 60px;}
  .offer-head p{color:var(--ink-soft);}
  .pricing{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    align-items:stretch;
  }
  .plan{
    background:var(--white);border:1px solid var(--line);
    padding:38px 30px;display:flex;flex-direction:column;
    position:relative;
  }
  .plan.featured{
    border-color:var(--gold);
    box-shadow:0 18px 40px -22px rgba(124,97,24,.45);
  }
  .plan.featured::before{
    content:"Najczęściej wybierany";
    position:absolute;top:-13px;left:30px;
    background:var(--gold-deep);color:var(--white);
    font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.08em;
    text-transform:uppercase;padding:5px 12px;
  }
  .plan .plan-name{
    font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:14px;
  }
  .plan .price{
    font-family:'Playfair Display',serif;font-size:2.1rem;font-weight:600;margin-bottom:2px;
  }
  .plan .price span{font-family:'Lora',serif;font-size:.95rem;font-weight:400;color:var(--ink-soft);}
  .plan .plan-desc{color:var(--ink-soft);font-size:.9rem;margin:0 0 24px;}
  .plan ul{list-style:none;margin:0 0 28px;padding:0;flex:1;}
  .plan li{
    display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line);
    font-size:.92rem;color:var(--ink-soft);
  }
  .plan li:first-child{border-top:none;}
  .plan li svg{flex:none;width:15px;height:15px;margin-top:4px;color:var(--gold);}
  .plan .btn{justify-content:center;width:100%;}

  .addons{
    margin-top:60px;
    display:grid;grid-template-columns:1fr 1fr;gap:24px;
  }
  .addon-card{
    background:var(--white);border:1px solid var(--line);padding:28px 30px;
  }
  .addon-card h4{font-size:1rem;margin-bottom:10px;}
  .addon-card p{color:var(--ink-soft);font-size:.92rem;margin:0;}
  .addon-card .tag{
    display:inline-block;margin-top:12px;font-family:'Jost',sans-serif;
    font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
    color:var(--gold-deep);border:1px solid var(--gold);padding:4px 10px;
  }

  .info-strip{
    margin-top:56px;border-top:1px solid var(--line);padding-top:36px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .info-strip div{display:flex;gap:12px;font-size:.9rem;color:var(--ink-soft);}
  .info-strip svg{flex:none;width:16px;height:16px;margin-top:3px;color:var(--gold);}

  /* ---------- KONTAKT ---------- */
  .contact-grid{
    display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;
  }
  .contact-info h3{margin-bottom:22px;}
  .contact-line{
    display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);
  }
  .contact-line:last-child{border-bottom:1px solid var(--line);}
  .contact-line svg{flex:none;width:19px;height:19px;color:var(--gold-deep);margin-top:3px;}
  .contact-line b{display:block;font-family:'Jost',sans-serif;font-size:.72rem;
    letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;}
  .contact-line span{font-size:1rem;color:var(--ink);}

  form{display:grid;gap:18px;}
  .field{display:grid;gap:8px;}
  .field label{
    font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.08em;
    text-transform:uppercase;color:var(--ink-soft);
  }
  .field input,.field textarea{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:13px 14px;font-family:'Lora',serif;font-size:.96rem;color:var(--ink);
  }
  .field input:focus,.field textarea:focus{
    outline:none;border-color:var(--gold);
  }
  .field textarea{resize:vertical;min-height:120px;}
  .form-note{font-size:.82rem;color:var(--ink-soft);margin-top:-4px;}

  footer{
    background:var(--ink);color:#EDE6D6;padding:44px 32px;
  }
  .footer-row{
    max-width:1120px;margin:0 auto;display:flex;align-items:center;
    justify-content:space-between;flex-wrap:wrap;gap:18px;
  }
  .footer-brand{display:flex;align-items:center;gap:12px;}
  .footer-brand img{height:30px;filter:brightness(0) invert(1);opacity:.9;}
  .footer-brand span{font-family:'Playfair Display',serif;font-size:1rem;}
  footer .fine{font-family:'Jost',sans-serif;font-size:.78rem;color:#B9AF9B;}

  @media (max-width:900px){
    .reasons{grid-template-columns:repeat(2,1fr);}
    .about-grid,.contact-grid{grid-template-columns:1fr;gap:40px;}
    .course-grid{grid-template-columns:repeat(2,1fr);}
    .pricing{grid-template-columns:1fr;}
    .addons{grid-template-columns:1fr;}
    .info-strip{grid-template-columns:1fr;}

    nav{
      position:absolute;top:100%;left:0;right:0;
      background:var(--cream);
      border-bottom:1px solid var(--line);
      max-height:0;overflow:hidden;
      transition:max-height .3s ease;
      box-shadow:0 14px 30px -18px rgba(0,0,0,.25);
    }
    nav.open{max-height:420px;}
    nav ul{
      display:flex;flex-direction:column;gap:0;
      margin:0;padding:8px 32px 20px;
    }
    nav ul li{border-top:1px solid var(--line);}
    nav ul li:first-child{border-top:none;}
    nav a{display:block;padding:15px 0;font-size:.95rem;}
    nav a::after{display:none;}
    .menu-toggle{display:block;}
  }
  @media (max-width:560px){
    .wrap{padding:0 20px;}
    .nav-row{padding:12px 20px;}
    .brand span{font-size:1.02rem;}
    .nav-cta{display:none;}
    nav ul{padding-left:20px;padding-right:20px;}
    .hero{padding:70px 20px 70px;}
    .reasons{grid-template-columns:1fr;}
    .course-grid{grid-template-columns:1fr;}
    section{padding:70px 0;}
  }
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;scroll-behavior:auto !important;}
  }

  /* ---------- COOKIE BANNER ---------- */
  .cookie-banner{
    position:fixed;left:20px;right:20px;bottom:20px;z-index:200;
    max-width:640px;margin:0 auto;
    background:var(--ink);color:#EDE6D6;
    border:1px solid var(--gold-deep);
    padding:22px 48px 22px 24px;
    display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
    box-shadow:0 20px 50px -20px rgba(0,0,0,.5);
    opacity:0;transform:translateY(16px);pointer-events:none;
    transition:opacity .35s ease, transform .35s ease;
  }
  .cookie-banner.show{opacity:1;transform:translateY(0);pointer-events:auto;}
  .cookie-banner p{margin:0;font-size:.86rem;line-height:1.6;color:#D8D0BE;flex:1 1 320px;}
  .cookie-banner a{color:var(--gold-light);text-decoration:underline;}
  .cookie-actions{display:flex;gap:10px;flex:0 0 auto;}
  .cookie-banner .btn{padding:11px 20px;font-size:.8rem;}
  .cookie-banner .btn.ghost{border-color:#7A7160;color:#EDE6D6;}
  .cookie-banner .btn.ghost:hover{background:#EDE6D6;color:var(--ink);border-color:#EDE6D6;}
  .cookie-close{
    position:absolute;top:14px;right:14px;
    width:28px;height:28px;display:flex;align-items:center;justify-content:center;
    background:none;border:none;color:#B9AF9B;cursor:pointer;padding:0;
    transition:color .2s ease;
  }
  .cookie-close:hover{color:#EDE6D6;}
  @media (max-width:560px){
    .cookie-banner{left:12px;right:12px;bottom:12px;padding:30px 18px 18px;flex-direction:column;align-items:stretch;}
    .cookie-actions{width:100%;}
    .cookie-actions .btn{flex:1;}
    .cookie-close{top:10px;right:10px;}
  }
