:root {
  --clr-primary:#C80F55; --clr-primary-light:#EC4D82; --clr-primary-dark:#76052F;
  --clr-primary-soft:#FCE8EF; --clr-primary-glass:rgba(200,15,85,.08); --clr-accent:#FF786B;
  --clr-gold:#E2A93D; --clr-plum:#3E1830; --clr-white:#FFF; --clr-cream:#FFF9F7;
  --clr-warm-gray:#F7F1EF; --clr-text:#281A21; --clr-text-light:#6F5C65;
  --clr-text-muted:#76636D; --clr-border:#EADDE1;
  --font-display:'Playfair Display',Georgia,serif; --font-body:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  --section-py:clamp(4rem,8vw,7rem); --container-px:clamp(1.25rem,4vw,2rem); --container-max:1200px;
  --transition-fast:.2s ease; --transition-smooth:.3s ease;
  --shadow-sm:0 1px 3px rgba(45,34,38,.06); --shadow-md:0 4px 20px rgba(45,34,38,.08);
  --shadow-lg:0 12px 34px rgba(62,24,48,.1); --shadow-glow:0 7px 20px rgba(200,15,85,.12);
  --radius-sm:6px; --radius-md:16px; --radius-lg:24px; --radius-full:9999px;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:92px; -webkit-text-size-adjust:100%; }
body { font:400 16px/1.7 var(--font-body); color:var(--clr-text); background:var(--clr-white); -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { color:inherit; cursor:pointer; }
button { border:0; background:none; }
ul,ol { list-style:none; }
[hidden] { display:none!important; }
::selection { color:white; background:var(--clr-primary); }
:focus-visible { outline:3px solid var(--clr-primary); outline-offset:5px; }
main h1[tabindex="-1"]:focus,main h2[tabindex="-1"]:focus { outline:none; }
.container { max-width:var(--container-max); width:100%; padding-inline:var(--container-px); margin-inline:auto; }
.section { padding-block:clamp(3.5rem,6.5vw,5.25rem); }
.section-label { display:block; color:var(--clr-primary); font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; margin-bottom:12px; }
.section-title { font:500 clamp(2rem,3.6vw,3rem)/1.17 var(--font-display); letter-spacing:-.025em; margin-bottom:18px; }
.section-title em { color:var(--clr-primary); font-weight:500; }
.section-subtitle { color:var(--clr-text-light); max-width:620px; line-height:1.8; }
.section-header { text-align:center; margin-bottom:36px; }
.section-header .section-subtitle { margin-inline:auto; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:50px; padding:12px 24px; border:1px solid transparent; border-radius:var(--radius-sm); font-size:.875rem; font-weight:700; line-height:1.5; transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast); }
.btn-primary { background:var(--clr-primary); color:white; }
.btn-primary:hover { background:var(--clr-primary-dark); }
.btn-outline { border-color:var(--clr-border); color:var(--clr-primary); background:transparent; }
.btn-outline:hover { border-color:var(--clr-primary); background:var(--clr-primary-soft); }
.text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.875rem; font-weight:600; text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--clr-primary); }
.text-link:hover { color:var(--clr-primary); }
.skip-link { position:fixed; left:16px; top:12px; z-index:1500; background:var(--clr-plum); color:white; padding:12px 18px; border-radius:6px; transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.navbar { position:fixed; inset:0 0 auto; z-index:100; background:var(--clr-cream); border-bottom:1px solid transparent; }
.navbar.scrolled { border-bottom-color:var(--clr-border); }
.navbar-inner { height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.navbar-brand { font:600 1.4rem/1.3 var(--font-display); letter-spacing:-.03em; white-space:nowrap; }
.navbar-brand span { color:var(--clr-primary); }
.navbar-menu { display:flex; align-items:center; gap:24px; }
.navbar-link { font-size:.8125rem; color:var(--clr-text-light); padding-block:12px; }
.navbar-link:hover,.navbar-link.active { color:var(--clr-primary); }
.navbar-link.active { text-decoration:underline; text-underline-offset:7px; }
.navbar-cta { padding-inline:18px; min-height:46px; font-size:.8125rem; }
.menu-toggle { display:none; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:44px; height:44px; z-index:102; }
.menu-toggle span { width:24px; height:2px; background:var(--clr-text); transition:transform .2s,opacity .2s; }
.menu-toggle.active span:first-child { transform:translateY(8px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; }
.menu-toggle.active span:last-child { transform:translateY(-8px) rotate(-45deg); }
.hero { padding-top:80px; background:var(--clr-cream); }
.hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,80px); align-items:center; padding-block:52px 40px; }
.hero-label { color:var(--clr-primary); font-size:.8125rem; font-weight:600; letter-spacing:.045em; margin-bottom:18px; }
.hero-label span { margin-inline:5px; }
.hero-title { font:500 clamp(3.25rem,5.5vw,4.75rem)/1.08 var(--font-display); letter-spacing:-.035em; margin-bottom:22px; }
.hero-title em { font-weight:500; color:var(--clr-primary); }
.hero-desc { color:var(--clr-text-light); max-width:450px; margin-bottom:22px; font-size:1rem; line-height:1.75; }
.hero-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin-bottom:26px; }
.hero-price strong { font-size:1.5rem; font-weight:700; }
.hero-price>span { color:var(--clr-text-light); font-size:.8125rem; }
.hero-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.hero-image { min-width:0; }
.hero-image-wrapper { overflow:hidden; border-radius:44% 44% 8px 8px; }
.hero-image-wrapper img { width:100%; aspect-ratio:1.08; object-fit:cover; object-position:50% 28%; }
.color-palette { display:flex; gap:6px; margin-top:14px; }
.color-palette span { flex:1; height:5px; background:var(--swatch); }
.hero-image figcaption { color:var(--clr-text-light); font-size:.75rem; padding-top:10px; }
.hero-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-block:24px; border-top:1px solid var(--clr-border); }
.hero-benefits strong { display:block; font-size:.8125rem; font-weight:600; }
.hero-benefits span { display:block; color:var(--clr-text-light); font-size:.75rem; margin-top:3px; }
.hero-boutique-link strong { color:var(--clr-primary); text-decoration:underline; text-underline-offset:4px; }
.hero-boutique-link>span>span { display:inline; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pricing-card { display:flex; flex-direction:column; padding:28px; border:1px solid var(--clr-border); border-radius:8px; position:relative; min-width:0; background:white; }
.pricing-card.featured { border-color:var(--clr-primary); background:var(--clr-cream); }
.service-number { color:var(--clr-text-light); font-size:.75rem; letter-spacing:.08em; margin-bottom:16px; }
.pricing-card h3 { font:500 1.5rem/1.25 var(--font-display); min-height:60px; margin-bottom:12px; }
.price-desc { font-size:.875rem; color:var(--clr-text-light); line-height:1.7; min-height:48px; }
.price { font:600 2.75rem/1.2 var(--font-display); letter-spacing:-.04em; color:var(--clr-primary); margin-top:22px; }
.price span { font-size:1.375rem; letter-spacing:0; }
.price-note { font-size:.8125rem; color:var(--clr-text-light); margin-top:8px; }
.pricing-features { margin-block:24px; flex:1; }
.pricing-features li { font-size:.875rem; color:var(--clr-text-light); padding-left:22px; position:relative; margin-bottom:10px; }
.pricing-features li::before { content:'✓'; position:absolute; left:0; color:var(--clr-primary); }
.pricing-card .btn { width:100%; padding-inline:10px; }
.pricing-badge { position:absolute; top:-13px; right:20px; border-radius:4px; padding:4px 10px; color:white; background:var(--clr-primary); font-size:.6875rem; font-weight:600; letter-spacing:.02em; }
.consultation-note { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:26px; }
.consultation-note p { color:var(--clr-text-light); font-size:.875rem; max-width:690px; }
.consultation-note strong { color:var(--clr-text); }
.consultation-note .text-link { flex-shrink:0; }
.about { background:var(--clr-cream); }
.about-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:clamp(32px,7vw,90px); }
.about-image img { width:100%; aspect-ratio:1.06; object-fit:cover; object-position:50% 35%; border-radius:8px; }
.about-image figcaption { padding-top:12px; font:500 1.125rem/1.4 var(--font-display); color:var(--clr-primary); }
.about-content>p { color:var(--clr-text-light); max-width:550px; }
.about-features { margin-block:24px; }
.about-features li { padding-block:13px; border-top:1px solid var(--clr-border); }
.about-features strong { display:block; font-size:.875rem; font-weight:600; }
.about-features span { display:block; font-size:.8125rem; color:var(--clr-text-light); margin-top:4px; }
.about-boutique { margin-top:20px; padding-top:18px; border-top:1px solid var(--clr-border); font-size:.875rem; }
.about-boutique .text-link { display:flex; width:fit-content; margin-top:4px; font-size:.8125rem; color:var(--clr-primary); }
.boutique { color:white; background:var(--clr-plum); }
.boutique-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,6vw,72px); align-items:center; }
.boutique .section-label,.boutique .section-title em { color:#F4A4C1; }
.boutique-content>p { color:#E2CDD8; max-width:530px; font-size:.9375rem; line-height:1.85; }
.boutique-visual { margin-top:24px; border-radius:8px; overflow:hidden; background:#F5B2BA; }
.boutique-visual img { width:100%; height:auto; }
.boutique-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:26px; }
.boutique-actions .text-link { color:white; text-decoration-color:#F4A4C1; font-size:.8125rem; }
.boutique-collections { background:white; color:var(--clr-text); border-radius:8px; padding:28px; }
.boutique-collections h3 { font:500 1.5rem/1.3 var(--font-display); margin-bottom:12px; }
.boutique-collections>p { color:var(--clr-text-light); font-size:.8125rem; margin-bottom:20px; }
.season-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.season-link { display:flex; justify-content:space-between; align-items:center; gap:12px; min-width:0; min-height:92px; padding:16px; background:var(--clr-cream); border:1px solid var(--clr-border); border-radius:6px; }
.season-link small { display:block; color:var(--clr-text-light); font-size:.6875rem; margin-bottom:3px; }
.season-link strong { display:block; font:500 1.375rem/1.3 var(--font-display); }
.season-arrow { color:var(--clr-primary); font-size:1.25rem; }
.season-link:hover { background:var(--clr-primary-soft); border-color:var(--clr-primary); }
.boutique-store-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:76px; margin-top:20px; padding:14px 16px; border:1px solid var(--clr-border); border-radius:6px; background:var(--clr-cream); transition:background var(--transition-fast),border-color var(--transition-fast); }
.boutique-store-info strong { display:block; color:var(--clr-plum); font:500 1.375rem/1.3 var(--font-display); }
.boutique-store-info>span { display:block; margin-top:3px; color:var(--clr-text-light); font-size:.75rem; }
.boutique-store-arrow { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--clr-primary); color:white; font-size:1.125rem; transition:background var(--transition-fast); }
.boutique-store-link:hover { background:var(--clr-primary-soft); border-color:var(--clr-primary); }
.boutique-store-link:hover .boutique-store-arrow { background:var(--clr-primary-dark); }
.process { border-bottom:1px solid var(--clr-border); }
.process-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.process-number { display:block; color:var(--clr-primary); font:500 1.375rem/1.5 var(--font-display); margin-bottom:16px; }
.process-list h3 { font:500 1.375rem/1.4 var(--font-display); margin-bottom:12px; }
.process-list p { color:var(--clr-text-light); font-size:.875rem; line-height:1.8; }
.guide-showcase { background:var(--clr-cream); }
.guide-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(40px,8vw,100px); align-items:center; }
.guide-features { margin-block:24px; }
.guide-features li { font-size:.875rem; color:var(--clr-text-light); padding-left:21px; position:relative; margin-block:10px; }
.guide-features li::before { content:'✓'; position:absolute; left:0; color:var(--clr-primary); }
.guide-book { max-width:300px; width:100%; margin-inline:auto; text-align:left; border-radius:8px; }
.guide-book img { width:100%; border-radius:6px; box-shadow:0 8px 24px rgba(62,24,48,.08); }
.guide-book>span { display:flex; justify-content:space-between; padding-top:12px; font-size:.8125rem; color:var(--clr-primary); }
.sample-gallery { margin-top:48px; padding-top:32px; border-top:1px solid var(--clr-border); scroll-margin-top:100px; }
.sample-header { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:22px; }
.sample-header h3 { font:500 1.5rem/1.3 var(--font-display); }
.sample-header p { color:var(--clr-text-light); font-size:.8125rem; max-width:580px; }
.sample-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sample-card { min-width:0; text-align:left; border:1px solid var(--clr-border); border-radius:6px; overflow:hidden; background:white; }
.sample-image { display:flex; justify-content:center; padding:12px; background:var(--clr-warm-gray); }
.sample-image img { height:185px; width:100%; object-fit:contain; }
.sample-caption { display:flex; justify-content:space-between; gap:8px; padding:14px; font-size:.8125rem; font-weight:600; }
.sample-caption>span { color:var(--clr-primary); }
.sample-card:hover { border-color:var(--clr-primary); }
.gallery-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; margin-top:22px; }
.gallery-foot p { color:var(--clr-text-light); font-size:.8125rem; }
/* Original opinion section is retained for a later stage. */
/* Legacy opinions: preserved pending the next stage. */

    .testimonials {
      padding: var(--section-py) 0;
      background: var(--clr-white);
    }

    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .testimonial-card {
      background: var(--clr-cream);
      border-radius: var(--radius-md);
      padding: 2rem;
      border: 1px solid var(--clr-border);
      transition: all var(--transition-smooth);
    }

    .testimonial-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
    }

    .testimonial-stars {
      display: flex;
      gap: 2px;
      margin-bottom: 1rem;
    }

    .testimonial-stars svg {
      width: 16px;
      height: 16px;
      color: #F59E0B;
      fill: #F59E0B;
    }

    .testimonial-text {
      font-size: 0.92rem;
      color: var(--clr-text-light);
      line-height: 1.75;
      font-style: italic;
      margin-bottom: 1.5rem;
    }

    .testimonial-author {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .testimonial-avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--clr-primary-soft), #f8bbd0);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-display);
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--clr-primary);
    }

    .testimonial-author-name {
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--clr-text);
    }

    .testimonial-author-role {
      font-size: 0.75rem;
      color: var(--clr-text-muted);
    }

    /* ===== INSTAGRAM HIGHLIGHTS / OPINIE ===== */
    .ig-highlights {
      padding: var(--section-py) 0;
      background: var(--clr-white);
    }

    .ig-highlights-intro {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.75rem;
      margin-bottom: 2.5rem;
    }

    .ig-highlights-intro-icon {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: linear-gradient(135deg, #F58529, #DD2A7B, #8134AF, #515BD4);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .ig-highlights-intro-icon svg {
      width: 22px;
      height: 22px;
      color: #fff;
      stroke: #fff;
    }

    .ig-highlights-intro-text {
      font-size: 0.9rem;
      color: var(--clr-text-light);
    }

    .ig-highlights-intro-text strong {
      color: var(--clr-text);
    }

    .ig-highlights-grid {
      display: flex;
      justify-content: center;
      gap: clamp(1.5rem, 4vw, 3rem);
      flex-wrap: wrap;
      margin-bottom: 2.5rem;
    }

    .ig-highlight-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.75rem;
      text-decoration: none;
      cursor: pointer;
      transition: transform var(--transition-smooth);
    }

    .ig-highlight-item:hover {
      transform: translateY(-4px);
    }

    .ig-highlight-ring {
      width: 88px;
      height: 88px;
      border-radius: 50%;
      padding: 3px;
      background: linear-gradient(135deg, #F58529, #DD2A7B, #8134AF, #515BD4);
      transition: all var(--transition-smooth);
    }

    .ig-highlight-item:hover .ig-highlight-ring {
      box-shadow: 0 4px 20px rgba(221, 42, 123, 0.35);
      transform: scale(1.06);
    }

    .ig-highlight-inner {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      border: 3px solid var(--clr-white);
      background: var(--clr-cream);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      font-family: var(--font-display);
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--clr-primary);
      text-align: center;
      line-height: 1.2;
      padding: 0.5rem;
    }

    .ig-highlight-label {
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--clr-text);
      text-align: center;
      max-width: 90px;
      line-height: 1.3;
    }

    .ig-highlight-item:hover .ig-highlight-label {
      color: var(--clr-primary);
    }

    .ig-highlights-stats {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2rem;
      margin-bottom: 2rem;
    }

    .ig-highlights-stat {
      text-align: center;
    }

    .ig-highlights-stat-number {
      font-family: var(--font-display);
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--clr-primary);
      line-height: 1;
    }

    .ig-highlights-stat-label {
      font-size: 0.78rem;
      color: var(--clr-text-muted);
      margin-top: 0.25rem;
    }

    .ig-highlights-cta {
      text-align: center;
    }

    .ig-highlights-cta a {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      padding: 0.8rem 1.75rem;
      background: linear-gradient(135deg, #F58529, #DD2A7B, #8134AF);
      color: #fff;
      border-radius: var(--radius-full);
      font-size: 0.85rem;
      font-weight: 500;
      transition: all var(--transition-smooth);
      text-decoration: none;
      box-shadow: 0 4px 15px rgba(221, 42, 123, 0.25);
    }

    .ig-highlights-cta a:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 25px rgba(221, 42, 123, 0.35);
    }

    .ig-highlights-cta a svg {
      width: 18px;
      height: 18px;
      stroke: #fff;
      fill: none;
    }

    .ig-highlights-hint {
      text-align: center;
      font-size: 0.8rem;
      color: var(--clr-text-muted);
      margin-bottom: clamp(2rem, 4vw, 3rem);
      font-style: italic;
    }

    /* Testimonial cards inside ig-highlights */
    .ig-highlights .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    @media (max-width: 1024px) {
      .ig-highlights .testimonials-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 768px) {
      .ig-highlights .testimonials-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
      }
    }

    @media (max-width: 480px) {
      .ig-highlight-ring {
        width: 72px;
        height: 72px;
      }

      .ig-highlights-grid {
        gap: 1.25rem;
      }

      .ig-highlight-inner {
        font-size: 0.55rem;
      }
    }

    
#opinie .section-header { margin-bottom:clamp(2.5rem,5vw,4rem); }
#opinie .section-title { font-weight:700; }
@media (max-width:1024px) { #opinie .testimonials-grid { grid-template-columns:1fr; max-width:620px; margin-inline:auto; } }
.faq { background:white; }
.faq-list { max-width:820px; margin-inline:auto; }
.faq-item { border-top:1px solid var(--clr-border); }
.faq-item:last-child { border-bottom:1px solid var(--clr-border); }
.faq-question { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px 0; font-size:1rem; font-weight:500; list-style:none; cursor:pointer; }
.faq-question::-webkit-details-marker { display:none; }
.faq-question svg { width:18px; height:18px; flex-shrink:0; color:var(--clr-primary); }
.faq-item[open] .faq-question .faq-plus { display:none; }
.faq-answer { color:var(--clr-text-light); padding:0 32px 22px 0; font-size:.9375rem; line-height:1.85; }
.contact { background:var(--clr-cream); }
.contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,7vw,84px); align-items:start; }
.contact-desc { max-width:470px; color:var(--clr-text-light); }
.contact-details { margin-block:28px; }
.contact-details>div { margin-bottom:17px; }
.contact-details dt { font-size:.75rem; color:var(--clr-text-light); margin-bottom:4px; }
.contact-details dd { font-size:1.0625rem; overflow-wrap:anywhere; }
.contact-details a:hover { color:var(--clr-primary); }
.contact-socials { display:flex; gap:12px; flex-wrap:wrap; }
.contact-socials a { display:inline-flex; align-items:center; gap:9px; min-height:48px; padding:10px 14px; border:1px solid var(--clr-border); border-radius:6px; background:white; color:var(--clr-plum); font-size:.8125rem; font-weight:600; transition:background var(--transition-fast),border-color var(--transition-fast); }
.contact-socials svg { flex:0 0 20px; width:20px; height:20px; color:var(--clr-primary); }
.contact-socials a:hover { background:var(--clr-primary-soft); border-color:var(--clr-primary); }
.contact-form { padding:28px; background:white; border:1px solid var(--clr-border); border-radius:8px; }
.contact-form h3 { font:500 1.5rem/1.4 var(--font-display); margin-bottom:24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { min-width:0; margin-bottom:17px; }
.form-group label { display:block; font-size:.8125rem; font-weight:600; margin-bottom:8px; }
.optional-label { font-weight:400; font-size:.75rem; color:var(--clr-text-light); }
.form-group input,.form-group select,.form-group textarea { width:100%; border:1px solid #9C8991; border-radius:5px; padding:11px 12px; background:white; color:var(--clr-text); font-size:16px; line-height:1.5; }
.form-group textarea { resize:vertical; min-height:108px; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--clr-primary); }
.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true] { border-color:#B42318; }
.form-error { display:block; color:#B42318; font-size:.75rem; margin-top:6px; }
.form-hint { color:var(--clr-text-light); font-size:.75rem; margin-bottom:16px; }
.form-submit { width:100%; }
.form-submit:disabled { opacity:.65; cursor:wait; }
.form-status { font-size:.875rem; margin-top:14px; }
.form-status:empty { margin-top:0; }
.form-status[data-kind=error] { color:#B42318; }
.form-status[data-kind=success] { color:#276440; }
.form-fallback { font-size:.8125rem; color:var(--clr-text-light); margin-top:12px; }
.form-fallback a { text-decoration:underline; text-underline-offset:3px; color:var(--clr-primary); }
.footer { background:var(--clr-plum); color:white; padding-block:32px; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.2); }
.footer-brand { font:500 1.375rem/1.4 var(--font-display); }
.footer-brand span { color:#F4A4C1; }
.footer-tagline { color:#E2CDD8; font-size:.75rem; margin-top:6px; }
.footer-links { display:flex; flex-wrap:wrap; gap:22px; font-size:.8125rem; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:22px; padding-top:20px; }
.footer-bottom p { color:#E2CDD8; font-size:.75rem; }
.footer-socials { display:flex; gap:16px; }
.footer-socials a { display:grid; place-items:center; min-width:44px; min-height:44px; }
.footer-socials svg { width:19px; height:19px; }
.mobile-cta { position:fixed; inset:auto 0 0; z-index:90; border-top:1px solid var(--clr-border); background:var(--clr-white); padding:10px 0 calc(10px + env(safe-area-inset-bottom)); }
.mobile-cta-inner { display:flex; align-items:center; gap:16px; }
.mobile-cta .btn { flex:1; }
.btn-phone { font-size:.875rem; padding:12px 4px; color:var(--clr-primary); }
.back-to-top { position:fixed; bottom:24px; right:22px; z-index:80; width:44px; height:44px; display:grid; place-items:center; background:var(--clr-plum); color:white; border-radius:6px; }
.guide-dialog { position:fixed; inset:0; margin:auto; width:min(850px,calc(100% - 32px)); max-width:none; height:min(90svh,900px); max-height:none; border:0; border-radius:10px; padding:22px; color:var(--clr-text); background:var(--clr-cream); overflow:hidden; }
.guide-dialog[open] { display:flex; flex-direction:column; }
.guide-dialog::backdrop { background:rgba(40,26,33,.65); }
.guide-viewer-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.guide-viewer-header .section-label { font-size:.6875rem; margin-bottom:4px; }
.guide-viewer-header h2 { font:500 1.375rem/1.3 var(--font-display); }
.guide-viewer-close,.guide-viewer-btn { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--clr-border); border-radius:6px; background:white; flex-shrink:0; font-size:1.5rem; }
.guide-viewer-btn:disabled { opacity:.35; cursor:default; }
.guide-viewer-page { min-width:0; min-height:0; flex:1; display:grid; grid-template: minmax(0,1fr) / minmax(0,1fr); }
.guide-page { width:100%; height:100%; min-width:0; min-height:0; display:grid; grid-template: minmax(0,1fr) / minmax(0,1fr); }
.guide-page img { width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; }
.guide-viewer-nav { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; }
.guide-page-info { font-size:.75rem; color:var(--clr-text-light); text-align:center; }
.guide-page-info span { display:block; }
.guide-page-info #guideCounter { color:var(--clr-primary); margin-top:3px; }
.guide-full-page { align-self:center; font-size:.75rem; margin-top:10px; color:var(--clr-primary); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1050px) { .navbar-menu { gap:16px; } .navbar-brand { font-size:1.25rem; } .pricing-card { padding:22px; } }
@media (max-width:900px) {
  .navbar-inner { height:72px; }
  .menu-toggle { display:flex; }
  .navbar-menu { display:none; position:fixed; inset:0; padding:100px 24px 48px; flex-direction:column; justify-content:center; gap:18px; background:var(--clr-cream); z-index:101; overflow-y:auto; }
  .navbar-menu.open { display:flex; }
  .navbar-link { display:block; font-size:1.25rem; padding:8px; }
  .navbar-cta { margin-top:10px; }
  .navbar-brand { position:relative; z-index:102; }
  .hero { padding-top:72px; }
  .hero-inner { gap:32px; }
  .hero-title { font-size:clamp(2.5rem,5.2vw,3.5rem); }
  .pricing-grid { grid-template-columns:1fr; gap:24px; max-width:680px; margin-inline:auto; }
  .pricing-card h3,.price-desc { min-height:0; }
  .pricing-card { padding:26px; }
  .pricing-card h3 { margin-right:48px; }
  .service-number { position:absolute; top:26px; right:26px; }
  .pricing-card.featured .service-number { top:30px; }
  .pricing-features { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; margin-block:20px; }
  .pricing-features li { margin-bottom:0; }
  .pricing-card .btn { width:auto; align-self:flex-start; padding-inline:22px; }
  .consultation-note { flex-direction:column; align-items:flex-start; max-width:680px; margin-inline:auto; gap:8px; }
  .about-grid { gap:32px; }
  .guide-intro { gap:40px; }
  .sample-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid { gap:32px; }
  .form-row { grid-template-columns:1fr; gap:0; }
}
@media (max-width:650px) {
  :root { --container-px:20px; }
  html { scroll-padding-top:88px; }
  body { padding-bottom:76px; }
  .section { padding-block:48px; }
  .section-title { font-size:2.125rem; }
  .section-header { margin-bottom:28px; text-align:left; }
  .section-header .section-subtitle { margin-inline:0; }
  .hero-inner { grid-template-columns:1fr; padding-block:30px 22px; gap:28px; }
  .hero-label { margin-bottom:14px; font-size:.75rem; }
  .hero-title { font-size:clamp(2.5rem,11.4vw,3.5rem); line-height:1.05; margin-bottom:18px; }
  .hero-title br:first-child { display:none; }
  .hero-desc { margin-bottom:16px; font-size:.9375rem; }
  .hero-price { gap:3px 12px; margin-bottom:18px; }
  .hero-price strong { font-size:1.375rem; }
  .hero-price>span { font-size:.75rem; }
  .hero-buttons { gap:14px; }
  .hero-buttons .btn { padding-inline:18px; }
  .hero-buttons .text-link { font-size:.8125rem; }
  .hero-image-wrapper { border-radius:40% 40% 6px 6px; }
  .hero-image-wrapper img { aspect-ratio:1.3; object-position:50% 24%; }
  .hero-image figcaption { font-size:.75rem; }
  .hero-benefits { gap:14px; padding-block:20px; }
  .hero-benefits strong,.hero-benefits span { font-size:.75rem; line-height:1.6; }
  .pricing-card { padding:24px; }
  .pricing-card h3 { font-size:1.5rem; }
  .pricing-features { grid-template-columns:1fr; gap:9px; }
  .pricing-card .btn { align-self:stretch; }
  .about-grid { grid-template-columns:1fr; gap:26px; }
  .about-image { max-width:480px; width:100%; }
  .about-image img { aspect-ratio:1.35; object-position:50% 30%; }
  .boutique-grid { grid-template-columns:1fr; gap:28px; }
  .boutique-collections { padding:22px; }
  .boutique-actions { margin-top:22px; }
  .process-list { grid-template-columns:1fr; gap:24px; }
  .process-list li { padding-left:48px; position:relative; }
  .process-number { position:absolute; left:0; top:0; }
  .process-list h3 { font-size:1.25rem; margin-bottom:8px; }
  .guide-intro { grid-template-columns:1fr; gap:30px; }
  .guide-book { max-width:210px; }
  .sample-gallery { margin-top:32px; padding-top:26px; }
  .sample-grid { gap:12px; }
  .sample-image { padding:8px; }
  .sample-image img { height:160px; }
  .sample-caption { padding:11px; font-size:.75rem; }
  .contact-grid { grid-template-columns:1fr; gap:30px; }
  .contact-form { padding:22px; }
  .form-row { grid-template-columns:1fr; }
  .footer-inner,.footer-bottom { flex-direction:column; align-items:flex-start; gap:20px; }
  .footer-links { gap:16px; }
  .back-to-top { bottom:92px; right:16px; }
  .guide-dialog { width:calc(100% - 20px); height:92svh; padding:14px; }
  .guide-viewer-header h2 { font-size:1.125rem; }
  .guide-viewer-header .section-label { font-size:.625rem; }
  .guide-page-info { font-size:.6875rem; }
}
@media (max-width:360px) { :root { --container-px:16px; } .hero-buttons { align-items:flex-start; } .hero-title { font-size:2.5rem; } .hero-benefits { grid-template-columns:1fr; gap:10px; } .hero-benefits p { display:flex; flex-wrap:wrap; gap:8px; } .hero-benefits span { margin-top:0; } .hero-boutique-link { display:flex; flex-wrap:wrap; gap:8px; } .sample-caption { font-size:.6875rem; } .contact-form { padding:18px; } .boutique-collections { padding:18px; } .season-link { padding:12px; gap:8px; } }
@media (min-width:651px) { .mobile-cta { display:none!important; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
