  :root{
    --ivory:#F8F1E1;
    --ivory-2:#F1E8D2;
    --wine:#6B1E2B;
    --wine-dark:#4A121C;
    --gold:#C6892E;
    --ink:#221F1D;
    --teal:#3F5D54;
    --thread:#B8AD93;
    --white:#FFFDF8;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ivory);
    color:var(--ink);
    font-family:'Work Sans',sans-serif;
    line-height:1.5;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }

  /* ---------- scroll reveal ---------- */
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-stagger.in .r-child{opacity:1; transform:translateY(0);}
  .r-child{opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease;}
  .r-child:nth-child(1){transition-delay:.05s;}
  .r-child:nth-child(2){transition-delay:.15s;}
  .r-child:nth-child(3){transition-delay:.25s;}
  .r-child:nth-child(4){transition-delay:.35s;}
  .r-child:nth-child(5){transition-delay:.45s;}
  .r-child:nth-child(6){transition-delay:.55s;}
  @media (prefers-reduced-motion: reduce){
    .reveal, .r-child{opacity:1 !important; transform:none !important; transition:none !important;}
  }
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;color:var(--wine-dark);line-height:1.08;}
  .label{
    font-family:'Space Mono',monospace;
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--wine);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  :focus-visible{outline:3px solid var(--teal); outline-offset:3px;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

  /* stitch divider signature element */
  .stitch{
    height:22px;
    width:100%;
    background-image:repeating-linear-gradient(90deg, var(--wine) 0 14px, transparent 14px 26px);
    background-size:26px 2px;
    background-repeat:repeat-x;
    background-position:center;
    opacity:.55;
  }
  .stitch.teal{background-image:repeating-linear-gradient(90deg, var(--teal) 0 14px, transparent 14px 26px);}

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(248,241,225,.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(107,30,43,.15);
  }
  .progress-bar{position:absolute; left:0; bottom:-1px; height:2px; width:0%; background:linear-gradient(90deg,var(--wine),var(--gold)); transition:width .1s linear;}
  .nav{display:flex; align-items:center; justify-content:space-between; padding:16px 28px;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand .mark{
    width:38px;height:38px;border-radius:50%;
    background:var(--wine);
    display:flex;align-items:center;justify-content:center;
    color:var(--ivory); font-family:'Fraunces',serif; font-weight:700; font-size:1.1rem;
  }
  .brand span{font-family:'Fraunces',serif; font-weight:600; font-size:1.15rem; color:var(--wine-dark);}
  nav.links{display:flex; gap:28px; font-size:.92rem; font-weight:500;}
  nav.links a{opacity:.8; transition:opacity .2s; position:relative; padding-bottom:3px;}
  nav.links a::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--wine);
    transition:width .3s ease;
  }
  nav.links a:hover::after{width:100%;}
  nav.links a:hover{opacity:1; color:var(--wine);}
  .nav-cta{
    background:var(--wine); color:var(--white); padding:10px 20px; border-radius:3px;
    font-size:.88rem; font-weight:600; letter-spacing:.02em; border:1px solid var(--wine);
    transition:background .2s, color .2s;
  }
  .burger{display:none; background:none; border:none; cursor:pointer; padding:8px 4px; z-index:60;}
  .burger span{display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; transition:transform .3s ease, opacity .3s ease;}
  .burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger.active span:nth-child(2){opacity:0;}
  .burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* ---------- HERO ---------- */
  .hero{
    position: relative;
    padding: 88px 0 0;
    background: url(../images/stitching-banner-fashion-designer.png) center no-repeat;
    background-size: cover;
  
  }
    .hero{
    background: url(../images/stitching-banner-fashion-designer.png) center no-repeat;
    background-size: cover;
  }
  .hero .wrap{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; padding-bottom:70px;}

  @keyframes riseIn{ from{opacity:0; transform:translateY(24px);} to{opacity:1; transform:translateY(0);} }
  @keyframes popIn{ from{opacity:0; transform:scale(.85) rotate(-6deg);} to{opacity:1; transform:scale(1) rotate(0deg);} }
  .hero-anim{opacity:0; animation:riseIn .7s ease forwards;}
  .hero-anim:nth-child(1){animation-delay:.05s;}
  .eyebrow-tape.hero-anim{animation-delay:0s;}
  .hero h1.hero-anim{animation-delay:.12s;}
  .hero p.lead.hero-anim{animation-delay:.24s;}
  .btn-row.hero-anim{animation-delay:.36s;}
  .trust-strip.hero-anim{animation-delay:.48s;}
  .hero-visual{opacity:0; animation:popIn .8s cubic-bezier(.2,.8,.2,1) forwards; animation-delay:.3s;}
  @media (prefers-reduced-motion: reduce){
    .hero-anim, .hero-visual{opacity:1 !important; animation:none !important;}
  }

  /* marquee strip under hero */
  .marquee-wrap{border-top:1px solid rgba(107,30,43,.15); border-bottom:1px solid rgba(107,30,43,.15); background:var(--white); overflow:hidden; padding:16px 0;}
  .marquee-track{display:flex; width:max-content; gap:0; animation:marquee 26s linear infinite;}
  .marquee-wrap:hover .marquee-track{animation-play-state:paused;}
  @keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  .marquee-item{display:flex; align-items:center; gap:10px; padding:0 34px; font-family:'Space Mono',monospace; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--wine); white-space:nowrap;}
  .marquee-item .dot{width:5px; height:5px; border-radius:50%; background:var(--gold);}
  @media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }
  .eyebrow-tape{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'Space Mono',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--wine); background:var(--white); border:1px dashed var(--wine);
    padding:7px 14px; border-radius:20px; margin-bottom:22px;
  }
  .hero h1{
    font-size:clamp(2.4rem, 4.6vw, 3.9rem);
    letter-spacing:-.01em;
    margin-bottom:20px;
  }
  .hero h1 em{font-style:italic; color:var(--gold);}
  .hero p.lead{font-size:1.08rem; max-width:46ch; color:#4a4642; margin-bottom:32px;}
  .btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 26px; border-radius:3px; font-weight:600; font-size:.95rem;
    transition:transform .18s ease, background .18s ease, color .18s ease;
    border:1px solid transparent; cursor:pointer;
    position:relative; overflow:hidden;
  }
  .ripple{
    position:absolute; border-radius:50%; background:rgba(255,255,255,.55);
    transform:scale(0); animation:rippleAnim .6s ease-out forwards; pointer-events:none;
  }
  @keyframes rippleAnim{ to{ transform:scale(1); opacity:0; } }
  .btn-primary{background:var(--wine); color:var(--white);}
  .btn-primary:hover{background:var(--wine-dark); transform:translateY(-2px);}
  .btn-outline{border-color:var(--ink); color:var(--ink); background:transparent;}
  .btn-outline:hover{background:var(--ink); color:var(--white); transform:translateY(-2px);}
  .trust-strip{display:flex; gap:26px; flex-wrap:wrap; font-size:.85rem; color:#5c574f;}
  .trust-strip b{color:var(--wine-dark); font-family:'Fraunces',serif; font-size:1.05rem;}

  /* hero visual: measuring tape spool */
  .hero-visual{position:relative; display:flex; justify-content:center;}
  .tape-badge{
    position:relative; width:320px; height:320px; border-radius:50%;
    background:conic-gradient(from 0deg, var(--wine) 0 8deg, var(--ivory-2) 8deg 16deg);
    display:flex; align-items:center; justify-content:center;
    animation:spin 40s linear infinite;
  }
  @media (prefers-reduced-motion: reduce){ .tape-badge{animation:none;} }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .tape-center{
    width:230px; height:230px; border-radius:50%; background:var(--white);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    box-shadow:0 20px 40px -18px rgba(74,18,28,.4);
    text-align:center; animation:spin-rev 40s linear infinite;
  }
  @keyframes spin-rev{ to{ transform:rotate(-360deg); } }
  @media (prefers-reduced-motion: reduce){ .tape-center{animation:none;} }
  .tape-center .num{font-family:'Fraunces',serif; font-weight:700; font-size:2.6rem; color:var(--wine);}
  .tape-center .txt{font-family:'Space Mono',monospace; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); margin-top:4px;}

  /* ---------- SERVICES (fabric swatch cards) ---------- */
  .section{padding:86px 0;}
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(1.9rem,3vw,2.6rem); margin:10px 0 14px;}
  .section-head p{color:#57524a; font-size:1.02rem;}

  .swatches{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .swatch{
    position:relative; background:var(--white); border-radius:4px;
    padding:26px 20px 22px; border:1px solid rgba(107,30,43,.12);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
    overflow:hidden;
  }
  .swatch::after{
    content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,.55), transparent);
    transform:skewX(-18deg); transition:left .7s ease; pointer-events:none;
  }
  .swatch:hover::after{left:130%;}
  .swatch:hover{transform:translateY(-8px); box-shadow:0 26px 40px -22px rgba(34,31,29,.4); border-color:rgba(107,30,43,.3);}
  .swatch .hole{
    position:absolute; top:14px; right:16px; width:12px; height:12px; border-radius:50%;
    background:var(--ivory); border:2px solid var(--thread); transition:transform .4s ease, border-color .4s ease;
  }
  .swatch:hover .hole{transform:rotate(180deg); border-color:var(--gold);}
  .swatch .tag{width:26px; height:26px; border-radius:4px; margin-bottom:16px; transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
  .swatch:hover .tag{transform:scale(1.2) rotate(-8deg);}
  .swatch h3{font-size:1.12rem; margin-bottom:8px; transition:color .3s ease;}
  .swatch:hover h3{color:var(--wine);}
  .swatch p{font-size:.88rem; color:#5c574f;}

  /* ---------- PROCESS (real sequence -> numbered) ---------- */
  .process{background:var(--wine); color:var(--ivory); position:relative;}
  .process .section-head h2, .process .section-head p{color:var(--ivory);}
  .process .section-head p{color:#e6cfd3;}
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
  .step{padding:0 20px 0 0; position:relative; transition:transform .35s ease;}
  .step:hover{transform:translateY(-6px);}
  .step:not(:last-child)::after{
    content:""; position:absolute; top:20px; right:-4px; width:70%; height:1px;
    background:repeating-linear-gradient(90deg, var(--gold) 0 8px, transparent 8px 14px);
  }
  .step .n{font-family:'Space Mono',monospace; font-size:.8rem; color:var(--gold); margin-bottom:14px; display:inline-block; transition:transform .4s cubic-bezier(.34,1.56,.64,1), text-shadow .4s ease;}
  .step:hover .n{transform:scale(1.25); text-shadow:0 0 16px rgba(198,137,46,.6);}
  .step h3{color:var(--ivory); font-size:1.2rem; margin-bottom:10px;}
  .step p{font-size:.9rem; color:#e6d9ce;}

  /* ---------- PORTFOLIO ---------- */
  .portfolio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .pf-card{
    position:relative; border-radius:6px; overflow:hidden; background:var(--white);
    border:1px solid rgba(107,30,43,.12);
    transform-style:preserve-3d; transition:transform .25s ease, box-shadow .35s ease;
    will-change:transform;
  }
  .pf-card:hover{box-shadow:0 30px 50px -26px rgba(20,17,15,.45);}
  .pf-media{position:relative; height:230px; overflow:hidden; background:linear-gradient(135deg,var(--wine),var(--gold));}
  .pf-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease; filter:saturate(.92) contrast(1.03);}
  .pf-card:hover .pf-media img{transform:scale(1.12) rotate(.5deg);}
  .pf-media::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(74,18,28,.55) 0%, rgba(74,18,28,0) 55%);
    transition:opacity .35s ease;
  }
  .pf-card.pf-fallback .pf-media::after{display:none;}
  .pf-body{padding:22px 22px 24px; position:relative;}
  .pf-eyebrow{font-family:'Space Mono',monospace; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:8px;}
  .pf-body h3{font-size:1.15rem; margin-bottom:8px; transition:color .3s ease;}
  .pf-card:hover .pf-body h3{color:var(--wine);}
  .pf-body p{font-size:.88rem; color:#5c574f;}
  .pf-body::before{
    content:""; position:absolute; top:0; left:22px; width:0; height:2px; background:var(--gold);
    transition:width .4s ease;
  }
  .pf-card:hover .pf-body::before{width:40px;}

  /* view button that opens the lightbox */
  .pf-view{
    position:absolute; top:14px; right:14px; z-index:2;
    font-family:'Space Mono',monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--wine-dark); background:var(--ivory); padding:7px 14px; border-radius:20px;
    border:none; cursor:pointer;
    opacity:0; transform:translateY(-8px); transition:opacity .3s ease, transform .3s ease, background .2s ease, color .2s ease;
  }
  .pf-card:hover .pf-view, .pf-view:focus-visible{opacity:1; transform:translateY(0);}
  .pf-view:hover{background:var(--wine); color:var(--white);}
  .pf-media{cursor:pointer;}

  .stats{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  .stat b{display:block; font-family:'Fraunces',serif; font-size:2.4rem; color:var(--wine); font-weight:700;}
  .stat span{font-size:.85rem; color:#5c574f;}

  /* ---------- TESTIMONIALS ---------- */
  .testi-wrap{background:var(--ivory-2); }
  .testi-card{
    background:var(--white); border-radius:6px; padding:38px 40px; max-width:720px; margin:0 auto;
    border:1px solid rgba(107,30,43,.12); text-align:center;
    transition:transform .35s ease, box-shadow .35s ease;
  }
  .testi-card:hover{transform:translateY(-5px); box-shadow:0 24px 40px -24px rgba(34,31,29,.35);}
  .testi-fade{transition:opacity .35s ease, transform .35s ease;}
  .testi-fade.fading{opacity:0; transform:translateY(6px);}
  .testi-card p.quote{font-family:'Fraunces',serif; font-style:italic; font-size:1.25rem; color:var(--ink); margin-bottom:20px;}
  .testi-card .who{font-family:'Space Mono',monospace; font-size:.78rem; color:var(--wine); text-transform:uppercase; letter-spacing:.08em;}
  .testi-dots{display:flex; justify-content:center; gap:8px; margin-top:22px;}
  .tdot{width:8px; height:8px; border-radius:50%; background:var(--thread); border:none; cursor:pointer;}
  .tdot.active{background:var(--wine);}

  /* ---------- FAQ ---------- */
  .faq-item{border-bottom:1px solid rgba(107,30,43,.18);}
  .faq-q{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    padding:22px 4px; display:flex; justify-content:space-between; align-items:center;
    font-family:'Fraunces',serif; font-size:1.08rem; color:var(--wine-dark); gap:20px;
  }
  .faq-q .plus{font-family:'Space Mono',monospace; font-size:1.2rem; color:var(--gold); transition:transform .25s;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-a p{padding:0 4px 22px; color:#57524a; font-size:.95rem; max-width:70ch;}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--wine-dark); color:var(--ivory);}
  .contact .wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .contact h2{color:var(--ivory);}
  .contact p.lead{color:#e6cfd3; margin:14px 0 26px; max-width:44ch;}
  .contact-detail{display:flex; gap:12px; margin-bottom:14px; font-size:.94rem;}
  .contact-detail b{color:var(--gold); font-family:'Space Mono',monospace; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; min-width:110px;}
  form{background:var(--white); border-radius:6px; padding:32px; color:var(--ink);}
  .field{margin-bottom:16px;}
  .field label{display:block; font-size:.8rem; font-weight:600; margin-bottom:6px; color:var(--wine-dark);}
  .field input, .field select, .field textarea{
    width:100%; padding:11px 13px; border:1px solid #d8cfc0; border-radius:3px; font-family:'Work Sans',sans-serif; font-size:.94rem; background:var(--ivory);
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--teal); outline-offset:1px; border-color:var(--teal);}
  .field textarea{resize:vertical; min-height:80px;}
  .submit-btn{width:100%; padding:14px; background:var(--wine); color:var(--white); border:none; border-radius:3px; font-weight:600; font-size:.96rem; cursor:pointer; transition:background .2s, opacity .2s; display:inline-flex; align-items:center; justify-content:center; gap:8px;}
  .submit-btn:hover:not(:disabled){background:var(--wine-dark);}
  .submit-btn:disabled{opacity:.7; cursor:not-allowed;}
  .form-note{font-size:.78rem; color:#7c766c; margin-top:10px;}
  .form-status{
    margin-top:14px; padding:12px 14px; border-radius:4px; font-size:.88rem; line-height:1.45;
    display:none;
  }
  .form-status.success{
    display:block;
    background:#e8f4f1; color:#184c44; border:1px solid #9fc9c0;
  }
  .form-status.error{
    display:block;
    background:#fdf0f0; color:#7a1c29; border:1px solid #e8b0b7;
  }
  .hidden-field{display:none !important;}

  footer{padding:10px 0; text-align:center; font-size:.82rem; color:#7c766c;}
  footer a{color:var(--wine);}

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
    padding:24px;
    background:rgba(20,17,15,0); backdrop-filter:blur(0px);
    opacity:0; pointer-events:none;
    transition:opacity .35s ease, background .35s ease, backdrop-filter .35s ease;
  }
  .lightbox.open{
    opacity:1; pointer-events:auto;
    background:rgba(20,17,15,.82); backdrop-filter:blur(6px);
  }
  .lightbox-inner{
    position:relative; max-width:920px; width:100%; max-height:88vh;
    background:var(--white); border-radius:8px; overflow:hidden;
    display:grid; grid-template-rows:auto auto;
    transform:scale(.85) translateY(30px); opacity:0;
    transition:transform .4s cubic-bezier(.2,.85,.3,1.1), opacity .35s ease;
  }
  .lightbox.open .lightbox-inner{transform:scale(1) translateY(0); opacity:1;}
  .lightbox-media{position:relative; background:var(--ink); max-height:62vh; display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .lightbox-media img{width:100%; height:100%; max-height:62vh; object-fit:contain; display:block;}
  .lightbox-caption{padding:22px 26px 26px;}
  .lightbox-caption .pf-eyebrow{margin-bottom:6px;}
  .lightbox-caption h3{font-size:1.3rem; margin-bottom:8px;}
  .lightbox-caption p{font-size:.92rem; color:#5c574f;}
  .lightbox-close, .lightbox-nav{
    position:absolute; z-index:3; border:none; cursor:pointer;
    background:rgba(248,241,225,.92); color:var(--wine-dark);
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease, transform .2s ease;
  }
  .lightbox-close{top:14px; right:14px; width:38px; height:38px; border-radius:50%; font-size:1.1rem;}
  .lightbox-close:hover{background:var(--wine); color:var(--white); transform:rotate(90deg);}
  .lightbox-nav{top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; font-size:1.2rem;}
  .lightbox-nav:hover{background:var(--wine); color:var(--white);}
  .lightbox-prev{left:14px;}
  .lightbox-next{right:14px;}
  .lightbox-counter{
    position:absolute; bottom:14px; left:14px; z-index:3;
    font-family:'Space Mono',monospace; font-size:.72rem; letter-spacing:.06em;
    color:var(--ivory); background:rgba(34,31,29,.55); padding:5px 12px; border-radius:20px;
  }
  @media (max-width:640px){
    .lightbox-nav{width:36px; height:36px;}
    .lightbox-caption h3{font-size:1.1rem;}
     .hero{
    background-size: contain;
  }
    
  }
  @media (prefers-reduced-motion: reduce){
    .lightbox, .lightbox-inner{transition:none;}
  }

  @media (max-width:960px){
    .hero .wrap{grid-template-columns:1fr;}
    .hero-visual{order:-1; margin-bottom:10px;}
    .tape-badge{width:220px;height:220px;}
    .tape-center{width:160px;height:160px;}
    .tape-center .num{font-size:1.8rem;}
    .swatches{grid-template-columns:repeat(2,1fr);}
    .steps{grid-template-columns:1fr 1fr; row-gap:36px;}
    .step:nth-child(2)::after{display:none;}
    .portfolio-grid{grid-template-columns:repeat(2,1fr);}
    .stats{grid-template-columns:1fr 1fr; gap:30px;}
    .contact .wrap{grid-template-columns:1fr;}
    
    .nav{position:relative;}
    nav.links{
      display:none;
      position:absolute;
      top:100%;
      left:0;
      width:100%;
      background:var(--ivory);
      flex-direction:column;
      gap:0;
      padding:14px 28px 20px;
      border-bottom:2px solid var(--wine);
      box-shadow:0 14px 28px rgba(34,31,29,.14);
      z-index:99;
    }
    nav.links.mobile-open{
      display:flex;
      animation:slideDownNav .25s ease forwards;
    }
    nav.links a{
      padding:12px 0;
      font-size:1.02rem;
      border-bottom:1px solid rgba(107,30,43,.1);
      color:var(--wine-dark);
      opacity:1;
    }
    nav.links a:last-child{
      border-bottom:none;
    }
    .burger{display:block;}
  }
  @keyframes slideDownNav{
    from{opacity:0; transform:translateY(-8px);}
    to{opacity:1; transform:translateY(0);}
  }
  @media (max-width:600px){
    .nav{padding:12px 18px;}
    .brand span{font-size:1.02rem;}
    .nav-cta{padding:8px 14px; font-size:.8rem;}
    .swatches{grid-template-columns:1fr 1fr;}
    .portfolio-grid{grid-template-columns:1fr;}
    .stats{grid-template-columns:1fr 1fr;}
    form{padding:24px;}
  }
