/*
Theme Name: PORT Fashion
Theme URI: https://portindia.in
Author: Diginex-US
Description: Custom lightweight theme for PORT — Sail Into Style.
Version: 1.0
Text Domain: port-fashion
*/

:root{
    --charcoal:#FFFFFF;     /* page background — pure white */
    --ivory:#FFFCFA;        /* light utility color: text/fills on dark panels & colored bars */
    --ink:#15171B;          /* main body text — near-black, warm-neutral */
    --gold:#FF4A2E;         /* THE signature accent — warm coral-red. Used everywhere an accent is needed. */
    --gold-deep:#C9350F;    /* pressed/darker shade of the accent, for hover states */
    --gold-tint:#FFE7DF;    /* pale tint of the accent, for soft section backgrounds */
    --warm-grey:#6E6A66;    /* mid-tone secondary text, readable on light sections */
    --dark:#0F2723;         /* deep contrast panel background — deep teal-black (a nod to "PORT/harbor") */
    --dark-soft:#1B3A34;    /* lighter shade of the deep color, for gradients/variants on dark panels */
    --white:#FFFFFF;
    --serif:'Cormorant Garamond', serif;
    --sans:'Inter', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--charcoal);color:var(--ink);font-family:var(--sans);
    -webkit-font-smoothing:antialiased;cursor:none;overflow-x:hidden;
    line-height:1.55;
  }
  a,button,input,textarea,select{cursor:none;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  img,.ph{display:block;width:100%;height:100%;object-fit:cover;}
  ::selection{background:var(--gold);color:var(--ivory);}

  /* grain overlay */
  .grain{
    position:fixed;inset:0;z-index:998;pointer-events:none;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }

  /* custom cursor */
  .cursor-dot,.cursor-ring{
    position:fixed;top:0;left:0;pointer-events:none;z-index:999;
    border-radius:50%;transform:translate(-50%,-50%);
  }
  .cursor-dot{width:6px;height:6px;background:var(--gold);}
  .cursor-ring{
    width:34px;height:34px;border:1px solid rgba(255,74,46,.6);
    transition:width .2s ease,height .2s ease,border-color .2s ease,background .2s ease;
  }
  .cursor-ring.big{width:80px;height:80px;background:rgba(255,74,46,.15);border-color:var(--gold);}
  @media(hover:none){.cursor-dot,.cursor-ring,.grain{display:none;} body,a,button{cursor:auto;}}

  .ph{
    position:relative;overflow:hidden;
    background:linear-gradient(155deg,#1b2128 0%,#2c3742 55%,#39424c 100%);
  }
  .ph::after{
    content:attr(data-label);position:absolute;top:12px;left:14px;
    font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,245,240,.55);
    opacity:.7;
  }
  /* Placeholder variants — cycled across cards for visual rhythm, but kept
     strictly within the two brand hue families (coral accent + deep teal)
     so the page reads as one designed palette, not a rainbow */
  .ph-1{background:linear-gradient(155deg,#0F2723 0%,#1B3A34 100%);}
  .ph-2{background:linear-gradient(155deg,#FF4A2E 0%,#C9350F 100%);}
  .ph-3{background:linear-gradient(155deg,#15171B 0%,#3A3F45 100%);}
  .ph-4{background:linear-gradient(155deg,#FF8266 0%,#FF4A2E 100%);}
  .ph-5{background:linear-gradient(155deg,#1B3A34 0%,#2E554D 100%);}

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

  /* ---------- section rhythm: alternating backgrounds for real visual structure ---------- */
  .section-tint{background:linear-gradient(180deg,#FFFFFF 0%,var(--gold-tint) 160%);}
  .section-dark{background:var(--dark);color:var(--ivory);}
  .section-dark .section-head p{color:var(--ivory);opacity:.75;}
  .section-dark .section-head h2{color:var(--ivory);}

  /* bold outlined-text accent for headline emphasis */
  .text-outline{color:var(--gold);}
  @supports (-webkit-text-stroke: 1px black){
    .text-outline{color:transparent;-webkit-text-stroke:1.5px var(--gold);}
  }

  /* sticker badge */
  .sticker{
    position:absolute;background:var(--gold);color:var(--ivory);
    font-size:11px;font-weight:700;letter-spacing:.05em;
    padding:8px 14px;border-radius:50px;transform:rotate(-8deg);z-index:3;
  }

  /* ---------- header ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 48px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(36,27,51,.08);
  }
  .logo{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.03em;display:flex;align-items:baseline;gap:2px;transition:color .2s;}
  .logo:hover{color:var(--gold);}
  .logo .reg{font-family:var(--sans);font-size:10px;position:relative;top:-10px;}

  nav.primary{display:flex;align-items:center;gap:38px;}
  nav.primary > a{
    font-size:13px;letter-spacing:.03em;position:relative;padding:6px 0;
    transition:color .2s;
  }
  nav.primary > a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--gold);
    transition:width .3s ease;
  }
  nav.primary > a:hover{color:var(--gold);}
  nav.primary > a:hover::after{width:100%;}

  /* Shop dropdown */
  .nav-drop{position:relative;}
  .nav-drop-trigger{
    background:none;border:none;font-family:var(--sans);font-size:13px;letter-spacing:.03em;
    color:var(--ink);display:flex;align-items:center;gap:5px;padding:6px 0;transition:color .2s;
  }
  .nav-drop-trigger:hover{color:var(--gold);}
  .nav-drop .caret{font-size:12px;transition:transform .25s ease;display:inline-block;}
  .nav-drop.open .caret{transform:rotate(180deg);}
  .nav-drop-panel{
    position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);
    background:var(--white);border-radius:6px;box-shadow:0 18px 40px rgba(36,27,51,.16);
    padding:10px;min-width:170px;display:flex;flex-direction:column;gap:2px;
    opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;
  }
  .nav-drop.open .nav-drop-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
  .nav-drop-panel a{
    padding:9px 14px;border-radius:4px;font-size:13px;color:var(--ink);transition:background .18s ease,color .18s ease;
  }
  .nav-drop-panel a:hover{background:rgba(255,74,46,.08);color:var(--gold);}

  .utility{display:flex;gap:20px;align-items:center;font-size:12px;}
  .utility .cta{
    background:var(--gold);color:var(--ivory);padding:10px 22px;border-radius:50px;
    font-weight:600;letter-spacing:.03em;transition:transform .2s ease,box-shadow .2s ease;
    display:inline-block;
  }
  .utility .cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,74,46,.35);}

  /* hamburger */
  .menu-toggle{
    display:none;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;background:none;border:none;padding:0;
  }
  .menu-toggle span{
    width:26px;height:2px;background:var(--ink);transition:transform .3s ease,opacity .3s ease;
    margin:0 auto;
  }
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle.active span:nth-child(2){opacity:0;}
  .menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* mobile full-screen nav */
  .mobile-nav{
    position:fixed;inset:0;z-index:99;background:var(--charcoal);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
    transform:translateY(-100%);opacity:0;transition:transform .4s ease,opacity .3s ease;
    pointer-events:none;
  }
  .mobile-nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .mobile-nav a{
    font-family:var(--serif);font-size:34px;color:var(--ink);
  }
  .mobile-nav .mobile-cta{
    font-family:var(--sans);font-size:14px;letter-spacing:.05em;margin-top:10px;
    background:var(--gold);color:var(--ivory);padding:14px 34px;border-radius:50px;font-weight:600;
  }

  /* ---------- marquee ---------- */
  .marquee-wrap{
    background:var(--gold);color:var(--ivory);overflow:hidden;
    padding:12px 0;position:relative;z-index:5;
  }
  .marquee-track{display:flex;white-space:nowrap;animation:mq 22s linear infinite;width:max-content;}
  .marquee-track span{
    font-size:14px;font-weight:700;letter-spacing:.04em;padding:0 28px;
    display:flex;align-items:center;gap:28px;
  }
  @keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  section{position:relative;}

  /* ---------- hero ---------- */
  .hero{height:100vh;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 48px 90px;color:var(--ivory);}
  .hero .ph{position:absolute;inset:0;z-index:-1;}
  .hero .ph::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(16,18,20,.1) 0%, rgba(16,18,20,.85) 100%);}
  .hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#1b1230;}
  .hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;}
  .hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,39,35,.12) 0%, rgba(11,26,23,.9) 100%);}
  .hero-badge{top:130px;right:64px;}
  .hero-content{max-width:760px;opacity:0;animation:heroIn 1s ease forwards .2s;}
  @keyframes heroIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
  .hero h1{
    font-family:var(--serif);font-weight:500;
    font-size:clamp(52px,9vw,132px);line-height:.92;letter-spacing:-.01em;
  }
  .hero h1 em{font-style:italic;color:var(--gold);}
  .hero p{font-size:17px;max-width:440px;margin-top:20px;color:var(--ivory);opacity:.85;line-height:1.6;}
  .hero-actions{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;}
  .btn{padding:15px 32px;font-size:12px;letter-spacing:.08em;border:1px solid var(--ivory);transition:background .25s,color .25s,border-color .25s,transform .25s ease,box-shadow .25s ease;white-space:nowrap;font-weight:600;display:inline-block;}
  .btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.25);}
  .btn-solid{background:var(--ivory);color:var(--dark);}
  .btn-solid:hover{background:var(--gold);border-color:var(--gold);color:var(--ivory);}
  .btn-ghost{background:transparent;color:var(--ivory);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
  .scroll-cue{position:absolute;bottom:30px;right:48px;font-size:11px;letter-spacing:.08em;color:var(--warm-grey);display:flex;flex-direction:column;align-items:center;gap:8px;}
  .scroll-cue span{display:inline-block;animation:bob 2s ease-in-out infinite;}
  @keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

  .section-pad{padding:130px 48px;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:24px;flex-wrap:wrap;}
  .section-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.4vw,58px);letter-spacing:-.01em;line-height:1.05;}
  .section-head p{color:var(--warm-grey);font-size:14px;max-width:360px;line-height:1.6;}
  .count-badge{font-size:12px;color:var(--gold);letter-spacing:.05em;}

  /* ---------- category tabs ---------- */
  .tab-bar{display:flex;gap:10px;margin-bottom:44px;flex-wrap:wrap;}
  .tab-btn{
    padding:11px 22px;font-size:12px;letter-spacing:.05em;border:1px solid rgba(36,27,51,.22);
    border-radius:50px;background:transparent;color:var(--warm-grey);font-family:var(--sans);font-weight:500;
    transition:background .2s,color .2s,border-color .2s;
  }
  .tab-btn.active,.tab-btn:hover{background:var(--gold);color:var(--ivory);border-color:var(--gold);}
  .tab-panel{display:none;}
  .tab-panel.active{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}

  .product-card{cursor:none;position:relative;transition:transform .35s ease;}
  .product-card:hover{transform:translateY(-6px);}
  .product-media{aspect-ratio:3/4;position:relative;overflow:hidden;border-radius:14px;}
  .product-media .ph,.product-media img{transition:transform .7s cubic-bezier(.2,.7,.2,1);height:100%;}
  .product-card:hover .product-media .ph,.product-card:hover .product-media img{transform:scale(1.08);}
  .product-overlay{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(180deg, rgba(16,18,20,0) 40%, rgba(16,18,20,.55) 100%);
    opacity:0;transition:opacity .35s ease;
  }
  .product-card:hover .product-overlay{opacity:1;}
  .view-label{
    font-size:11px;letter-spacing:.08em;color:var(--ivory);border:1px solid var(--ivory);
    padding:9px 20px;border-radius:50px;transform:translateY(10px);opacity:0;
    transition:transform .35s ease,opacity .35s ease;
  }
  .product-card:hover .view-label{transform:translateY(0);opacity:1;}
  .product-info{padding-top:14px;}
  .product-info .brand{font-size:11px;letter-spacing:.06em;color:var(--gold);}
  .product-info .name{font-size:14px;margin-top:4px;transition:color .2s ease;}
  .product-card:hover .product-info .name{color:var(--gold);}

  /* ---------- category grid ---------- */
  .category-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,280px);gap:16px;}
  .cat-tile{position:relative;overflow:hidden;border-radius:16px;transition:box-shadow .35s ease;}
  .cat-tile .ph,.cat-tile img{transition:transform .6s ease;height:100%;}
  .cat-tile:hover .ph,.cat-tile:hover img{transform:scale(1.08);}
  .cat-tile:hover{box-shadow:0 20px 40px rgba(36,27,51,.22);}
  .cat-label{
    position:absolute;left:18px;bottom:18px;z-index:2;
    font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.04em;
    color:var(--ivory);background:rgba(255,74,46,.9);padding:9px 18px;border-radius:50px;
    transition:transform .35s ease,background .25s ease;
  }
  .cat-tile:hover .cat-label{transform:translateY(-4px);background:var(--gold);}
  .cat-tile::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, rgba(16,18,20,.6) 0%, rgba(16,18,20,0) 55%);}
  .c1{grid-column:1/4;grid-row:1/3;}
  .c2{grid-column:4/7;grid-row:1/2;}
  .c3{grid-column:4/5;grid-row:2/3;}
  .c4{grid-column:5/6;grid-row:2/3;}
  .c5{grid-column:6/7;grid-row:2/3;}

  /* ---------- edit scroll ---------- */
  .edit-scroll{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-ms-overflow-style:none;scrollbar-width:none;}
  .edit-scroll::-webkit-scrollbar{display:none;}
  .edit-card{flex:0 0 320px;scroll-snap-align:start;position:relative;}
  .edit-number{
    position:absolute;top:16px;right:16px;z-index:2;
    font-family:var(--serif);font-size:15px;color:var(--ivory);
    background:rgba(16,18,20,.4);width:36px;height:36px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  }
  .edit-media{aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:16px;}
  .edit-media .ph,.edit-media img{transition:transform .6s ease;height:100%;}
  .edit-card:hover .edit-media .ph,.edit-card:hover .edit-media img{transform:scale(1.08);}
  .edit-media{transition:box-shadow .35s ease;}
  .edit-card:hover .edit-media{box-shadow:0 20px 40px rgba(36,27,51,.2);}
  .edit-card h3{transition:color .2s ease;}
  .edit-card:hover h3{color:var(--gold);}
  .edit-card h3{font-family:var(--serif);font-size:23px;margin-top:16px;}
  .edit-card p{font-size:12px;color:var(--warm-grey);margin-top:4px;}

  /* ---------- brand marquee ---------- */
  .brand-marquee-wrap{overflow:hidden;border-top:1px solid rgba(36,27,51,.12);border-bottom:1px solid rgba(36,27,51,.12);}
  .brand-track{display:flex;width:max-content;animation:mq2 30s linear infinite;}
  .brand-logo-tile{
    flex:0 0 220px;height:130px;display:flex;align-items:center;justify-content:center;
    padding:20px 30px;border-right:1px solid rgba(36,27,51,.12);
  }
  .brand-logo-tile img{
    width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;
    filter:grayscale(1);opacity:.55;transition:filter .3s ease,opacity .3s ease,transform .3s ease;
  }
  .brand-logo-tile:hover img{filter:grayscale(0);opacity:1;transform:scale(1.06);}
  .brand-name-fallback{
    font-family:var(--serif);font-size:20px;color:var(--warm-grey);transition:color .25s ease;
  }
  .brand-logo-tile:hover .brand-name-fallback{color:var(--gold);}
  @keyframes mq2{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- UGC gallery ---------- */
  .ugc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
  .ugc-tile{aspect-ratio:1/1;position:relative;overflow:hidden;border-radius:12px;}
  .ugc-tile .ph,.ugc-tile img{height:100%;transition:transform .5s;}
  .ugc-tile:hover .ph,.ugc-tile:hover img{transform:scale(1.08);}
  .ugc-tag{position:absolute;bottom:10px;left:10px;font-size:11px;background:rgba(16,18,20,.55);padding:4px 9px;border-radius:3px;color:var(--ivory);}

  /* ---------- testimonials ---------- */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .testi-card{background:var(--dark);padding:32px;border-radius:16px;color:var(--ivory);transition:transform .3s ease,box-shadow .3s ease;}
  .testi-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(15,39,35,.35);}
  .testi-card .stars{color:var(--gold);font-size:14px;letter-spacing:.1em;}
  .testi-card p{font-size:15px;line-height:1.7;margin-top:16px;color:var(--ivory);opacity:.8;}
  .testi-card .who{margin-top:20px;font-size:12px;letter-spacing:.05em;color:var(--gold);}

  /* ---------- journey ---------- */
  .journey{display:grid;grid-template-columns:1.1fr .9fr;min-height:640px;}
  .journey .ph{height:100%;}
  .journey-copy{padding:80px 64px;display:flex;flex-direction:column;justify-content:center;background:var(--dark);color:var(--ivory);}
  .journey-copy .eyebrow{font-size:12px;letter-spacing:.08em;color:var(--gold);}
  .journey-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.4vw,58px);margin-top:18px;line-height:1.05;}
  .journey-copy p{margin-top:22px;max-width:430px;color:var(--ivory);opacity:.8;line-height:1.7;font-size:15px;}
  .journey-copy .marker{margin-top:32px;font-size:12px;letter-spacing:.08em;color:var(--gold);display:flex;align-items:center;gap:10px;}
  .journey-copy .marker::before{content:'';width:26px;height:1px;background:var(--gold);}

  /* ---------- timeline ---------- */
  .timeline-track{position:relative;display:flex;overflow-x:auto;padding-top:12px;padding-bottom:40px;-ms-overflow-style:none;scrollbar-width:none;}
  .timeline-track::-webkit-scrollbar{display:none;}
  .timeline-track::before{content:'';position:absolute;top:5px;left:0;right:0;height:1px;background:rgba(36,27,51,.18);}
  .milestone{flex:0 0 260px;padding:32px 28px 0 0;position:relative;}
  .milestone::before{content:'';position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;background:var(--charcoal);border:1px solid var(--gold);}
  .milestone.active::before{background:var(--gold);}
  .milestone .tag{font-size:12px;letter-spacing:.06em;color:var(--gold);}
  .milestone h4{font-family:var(--serif);font-size:22px;margin-top:10px;}
  .milestone p{font-size:13px;color:var(--warm-grey);margin-top:8px;line-height:1.6;}

  /* ---------- FAQ ---------- */
  .faq{max-width:820px;}
  .faq-item{border-bottom:1px solid rgba(36,27,51,.14);}
  .faq-q{width:100%;background:none;border:none;color:var(--ink);font-family:var(--sans);text-align:left;padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:500;}
  .faq-q .plus{font-size:20px;color:var(--gold);transition:transform .3s;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-item.open .faq-a{max-height:200px;}
  .faq-a p{padding-bottom:22px;color:var(--warm-grey);font-size:14px;line-height:1.7;max-width:640px;}

  /* ---------- contact ---------- */
  .contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .contact-info h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.4vw,54px);}
  .contact-info p{color:var(--warm-grey);margin-top:18px;max-width:400px;line-height:1.7;font-size:15px;}
  .contact-detail{margin-top:36px;}
  .contact-detail div{margin-bottom:20px;font-size:14px;}
  .contact-detail .label{font-size:11px;letter-spacing:.06em;color:var(--gold);margin-bottom:4px;}
  .social-row{display:flex;gap:16px;margin-top:30px;}
  .social-row a{width:38px;height:38px;border:1px solid rgba(36,27,51,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;transition:border-color .2s,color .2s;}
  .social-row a:hover{border-color:var(--gold);color:var(--gold);}

  .form-group{margin-bottom:22px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  label{display:block;font-size:11px;letter-spacing:.06em;color:var(--warm-grey);margin-bottom:8px;}
  input,textarea,select{
    width:100%;background:transparent;border:none;border-bottom:1px solid rgba(36,27,51,.3);
    color:var(--ink);font-family:var(--sans);font-size:15px;padding:10px 0;outline:none;
    transition:border-color .2s;
  }
  input:focus,textarea:focus,select:focus{border-color:var(--gold);}
  select option{background:var(--dark);color:var(--ivory);}
  textarea{resize:vertical;min-height:100px;}
  .submit-btn{margin-top:8px;padding:15px 36px;background:var(--ivory);color:var(--dark);border:none;font-size:12px;letter-spacing:.08em;font-weight:700;transition:background .25s;}
  .submit-btn:hover{background:var(--gold);color:var(--ivory);}

  /* ---------- newsletter strip ---------- */
  .newsletter{background:var(--gold);color:var(--ivory);padding:70px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
  .newsletter h3{font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:500;max-width:420px;}
  .newsletter form{display:flex;gap:0;border-bottom:2px solid var(--ivory);min-width:320px;}
  .newsletter input{background:none;border:none;padding:12px 4px;font-size:14px;color:var(--ivory);flex:1;outline:none;}
  .newsletter input::placeholder{color:rgba(255,253,248,.65);}
  .newsletter button{background:none;border:none;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--ivory);}

  /* ---------- footer ---------- */
  .site-footer{padding:70px 48px 34px;background:var(--dark);color:var(--ivory);}
  .footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;border-bottom:1px solid rgba(255,253,248,.12);padding-bottom:48px;}
  .footer-cols{display:flex;gap:70px;flex-wrap:wrap;}
  .footer-col h5{font-size:12px;letter-spacing:.06em;color:var(--gold);margin-bottom:16px;}
  .footer-col a{display:block;font-size:13px;color:var(--ivory);opacity:.7;margin-bottom:10px;transition:color .2s,opacity .2s;}
  .footer-col a:hover{color:var(--gold);opacity:1;}
  .footer-tagline{color:var(--ivory);opacity:.65;font-size:13px;margin-top:14px;max-width:260px;line-height:1.7;}
  .footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:11px;color:rgba(255,253,248,.5);flex-wrap:wrap;gap:12px;}

  .back-top{
    position:fixed;bottom:26px;right:26px;width:48px;height:48px;border-radius:50%;
    background:var(--gold);color:var(--ivory);display:flex;align-items:center;justify-content:center;
    font-size:16px;z-index:60;opacity:0;pointer-events:none;transition:opacity .3s;
  }
  .back-top.show{opacity:1;pointer-events:auto;}

  @media(max-width:1000px){
    header{padding:14px 20px;}
    nav.primary{display:none;}
    .utility{display:none;}
    .menu-toggle{display:flex;}
    .section-pad{padding:70px 20px;}
    .hero{padding:0 20px 56px;min-height:520px;}
    .hero-badge{top:100px;right:20px;}
    .tab-panel.active{grid-template-columns:repeat(2,1fr);gap:18px;}
    .tab-bar{gap:8px;}
    .tab-btn{padding:9px 16px;font-size:11px;}
    .category-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(5,200px);}
    .c1{grid-column:1/3;grid-row:1/2;}
    .c2{grid-column:1/3;grid-row:2/3;}
    .c3{grid-column:1/2;grid-row:3/4;}
    .c4{grid-column:2/3;grid-row:3/4;}
    .c5{grid-column:1/3;grid-row:4/5;}
    .journey{grid-template-columns:1fr;}
    .journey .ph,.journey .hero-media,.journey-media{height:320px;}
    .journey-copy{padding:44px 22px;}
    .contact-wrap{grid-template-columns:1fr;}
    .ugc-grid{grid-template-columns:repeat(3,1fr);}
    .testi-grid{grid-template-columns:1fr;}
    .branch-grid{grid-template-columns:1fr 1fr;}
    .footer-cols{gap:40px;}
    .form-row{grid-template-columns:1fr;}
    .edit-scroll,.brand-track{-webkit-overflow-scrolling:touch;}
    .newsletter{flex-direction:column;align-items:flex-start;padding:48px 20px;}
    .newsletter form{width:100%;min-width:0;}
  }

  @media(max-width:640px){
    .hero h1{font-size:clamp(40px,13vw,64px);}
    .hero p{font-size:15px;max-width:100%;}
    .hero-actions{gap:10px;}
    .btn{padding:13px 22px;font-size:11px;}
    .marquee-track span{font-size:12px;padding:0 18px;gap:18px;}
    .section-head h2{font-size:clamp(28px,8vw,40px);}
    .tab-panel.active{grid-template-columns:1fr 1fr;gap:14px;}
    .category-grid{grid-template-rows:repeat(5,160px);}
    .edit-card{flex:0 0 240px;}
    .ugc-grid{grid-template-columns:repeat(2,1fr);}
    .branch-grid{grid-template-columns:1fr;}
    .contact-info h2{font-size:clamp(28px,8vw,40px);}
    .mobile-nav a{font-size:26px;}
    .wa-float,.back-top{width:48px;height:48px;bottom:18px;}
    .wa-float{left:18px;}
    .back-top{right:18px;}
    .footer-top{flex-direction:column;}
    .footer-cols{gap:28px;}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-content{animation:none;opacity:1;}
    .scroll-cue span{animation:none;}
    .marquee-track,.brand-track{animation:none;}
    .reveal{opacity:1;transform:none;}
    *{transition:none !important;}
  }

/* ---------- branches ---------- */
.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;}
.branch-card{background:rgba(255,253,248,.06);padding:32px 28px;border-radius:16px;border:1px solid rgba(255,253,248,.12);color:var(--ivory);transition:transform .3s ease,box-shadow .3s ease,background .3s ease;}
.branch-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.3);background:rgba(255,253,248,.1);}
.branch-icon{
  width:44px;height:44px;border-radius:50%;background:rgba(255,74,46,.18);color:var(--gold);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.branch-icon svg{width:20px;height:20px;}
.branch-card h4{font-family:var(--serif);font-size:21px;margin-bottom:12px;}
.branch-address{font-size:13px;color:var(--ivory);opacity:.75;line-height:1.7;margin-bottom:10px;}
.branch-phone{font-size:13px;color:var(--ivory);opacity:.9;font-weight:600;margin-bottom:16px;}
.branch-directions{
  font-size:12px;letter-spacing:.04em;color:var(--dark);display:inline-block;
  background:var(--gold);padding:9px 18px;border-radius:50px;font-weight:600;
  transition:transform .2s ease,box-shadow .2s ease;
}
.branch-directions:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(255,74,46,.35);}

/* ---------- whatsapp float ---------- */
.wa-float{
  position:fixed;bottom:26px;left:26px;width:56px;height:56px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  z-index:70;box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.wa-float svg{width:28px;height:28px;fill:#fff;}

/* ---------- fallback empty states ---------- */
.empty-note{color:var(--warm-grey);font-size:13px;font-style:italic;opacity:.7;}
