  :root{
    --bg:#faf6ee;
    --bg-soft:#f2ebdb;
    --card:#ffffff;
    --ink:#241c13;
    --ink-dim:#665b48;
    --muted:#8c7f68;
    --gold:#e8a33d;
    --gold-deep:#c97f1f;
    --teal:#1c7a6e;
    --teal-deep:#125c53;
    --terracotta:#e0653a;
    --violet:#6a5bd1;
    --line: rgba(36,28,19,0.10);
    --line-strong: rgba(36,28,19,0.18);
    --shadow: 0 24px 50px -24px rgba(36,28,19,0.28);
    --shadow-sm: 0 10px 24px -14px rgba(36,28,19,0.22);
    --serif: 'Fraunces', 'Hind Siliguri', serif;
    --sans: 'Hind Siliguri', 'Fraunces', sans-serif;
    --mono: 'JetBrains Mono', monospace;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.6;
    overflow-x:hidden;
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 44px;}
  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--gold-deep);
    display:flex; align-items:center; gap:10px;
    font-weight:600;
  }
  .eyebrow::before{content:''; width:22px; height:2px; background:var(--terracotta); border-radius:2px;}

  h1,h2,h3{font-family:var(--serif); font-weight:600; letter-spacing:-0.01em; color:var(--ink);}

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky; top:0; z-index:50;
    background:rgba(250,246,238,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1180px; margin:0 auto; padding:18px 44px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo{
    font-family:var(--serif); font-weight:700; font-size:22px;
    letter-spacing:0.02em; color:var(--ink);
    display:flex; align-items:center; gap:10px;
  }
  .logo .mark-wrap{
    width:36px; height:36px; border-radius:10px;
    background:linear-gradient(135deg, var(--gold), var(--terracotta));
    display:flex; align-items:center; justify-content:center;
    box-shadow:var(--shadow-sm);
  }
  .logo .mark{width:20px; height:20px;}
  .logo small{
    display:block; font-family:var(--mono); font-size:9px; letter-spacing:0.16em;
    color:var(--muted); font-weight:500; margin-top:2px;
  }
  nav.links{display:flex; gap:34px; font-size:14.5px; color:var(--ink-dim); font-weight:500;}
  nav.links a{position:relative; padding:4px 0; transition:color .25s ease;}
  nav.links a:hover{color:var(--terracotta);}
  nav.links a::after{
    content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; border-radius:2px;
    background:linear-gradient(90deg, var(--gold), var(--terracotta)); transition:width .25s ease;
  }
  nav.links a:hover::after{width:100%;}
  .btn{
    font-family:var(--sans); font-weight:700; font-size:14px;
    padding:12px 22px; border-radius:10px; border:1px solid transparent;
    display:inline-flex; align-items:center; gap:8px; cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  }
  .btn-primary{background:linear-gradient(135deg, var(--gold), var(--terracotta)); color:#2a1608; box-shadow:var(--shadow-sm);}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 30px -10px rgba(224,101,58,0.45);}
  .btn-ghost{border-color:var(--line-strong); color:var(--ink); background:var(--card);}
  .btn-ghost:hover{border-color:var(--teal); color:var(--teal-deep); transform:translateY(-2px); box-shadow:var(--shadow-sm);}
  .btn-wood{
    background:linear-gradient(135deg, var(--gold), var(--terracotta));
    color:#2a1608; border-color:transparent; box-shadow:var(--shadow-sm);
    border-radius:5px; font-weight:700; letter-spacing:0.01em;
  }
  .btn-wood:hover{transform:translateY(-2px); box-shadow:0 16px 30px -10px rgba(224,101,58,0.5);}
  .btn-sm{padding:9px 16px; font-size:12.5px; border-radius:8px;}
  .btn-wood.btn-sm{border-radius:5px;}

  /* ---------- HERO ---------- */
  .hero-outer{
    position:relative;
    width:100%;
    overflow:hidden;
    background:var(--bg);
  }
  .hero{
    position:relative;
    padding-top:56px; padding-bottom:56px;
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  }
  .blob{position:absolute; border-radius:50%; filter:blur(80px); opacity:0.35; z-index:0;}
  .blob-1{width:480px; height:480px; background:var(--gold); top:-200px; right:2%;}
  .blob-2{width:520px; height:340px; background:var(--teal); bottom:-160px; left:-4%; opacity:0.2;}
  .blob-3{width:320px; height:320px; background:var(--violet); top:36%; right:26%; opacity:0.13;}

  .hero-copy, .hero-visual{position:relative; z-index:1;}
  .hero-copy h1{
    font-size:clamp(38px, 5vw, 60px);
    line-height:1.08; margin:20px 0 22px;
  }
  .hero-copy h1 em{
    font-style:normal; color:var(--terracotta);
    background:linear-gradient(180deg, transparent 62%, rgba(232,163,61,0.35) 62%);
  }
  .hero-copy p.lede{
    font-size:17px; color:var(--ink-dim); max-width:480px; margin-bottom:34px;
  }
  .hero-actions{display:flex; gap:14px; margin-bottom:46px; flex-wrap:wrap;}
  .stat-row{display:flex; gap:38px; border-top:1px solid var(--line); padding-top:26px; flex-wrap:wrap; row-gap:18px;}
  #stats .stat-row{
    border-top:none; padding:34px 40px; border-radius:16px;
    background:linear-gradient(135deg, rgba(232,163,61,.14), rgba(224,101,58,.10));
    border:1px solid var(--line); box-shadow:var(--shadow-sm);
    align-items:center; justify-content:space-between;
  }
  .stat b{
    display:block; font-family:var(--serif); font-size:26px; font-weight:700;
    background:linear-gradient(135deg, var(--gold-deep), var(--terracotta));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .stat span{font-size:12.5px; color:var(--muted); font-weight:500;}

  .hero-visual{display:flex; justify-content:center; width:100%;}
  .door-frame{
    position:relative; width:100%; max-width:340px;
    filter:drop-shadow(0 30px 50px rgba(36,28,19,0.22));
    animation:riseIn 1s cubic-bezier(.2,.8,.2,1) both;
  }
  .door-frame svg{width:100%; height:auto;}
  @keyframes riseIn{ from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:translateY(0);} }
  .hang-tag{
    position:absolute; top:-38px; right:18px; z-index:5;
    animation:swing 6s ease-in-out infinite;
    transform-origin:top center;
  }
  @keyframes swing{ 0%,100%{transform:rotate(-3deg);} 50%{transform:rotate(3deg);} }
  .hang-tag .string{width:1px; height:34px; background:var(--muted); margin:0 auto;}
  .hang-tag .card{
    background:var(--ink); color:var(--bg); border-radius:6px;
    padding:8px 12px; font-family:var(--mono); font-size:10.5px; text-align:center;
    box-shadow:var(--shadow-sm);
    transform:rotate(2deg);
  }
  .hang-tag .card b{display:block; font-size:12px; letter-spacing:0.04em; color:var(--gold);}

  /* ---------- SECTIONS GENERIC ---------- */
  section{padding:56px 0; position:relative;}
  .section-head{max-width:900px; margin-bottom:36px;}
  .section-head h2{font-size:clamp(28px,3.4vw,40px); margin-top:16px; white-space:normal;}
  .section-head p{color:var(--ink-dim); margin-top:14px; font-size:15.5px; max-width:560px;}
  .divider{border:none; border-top:1px solid var(--line); margin:0;}

  /* ---------- FAQ ---------- */
  .faq-list{display:flex; flex-direction:column; gap:12px; max-width:820px; margin:0 auto;}
  .faq-item{
    background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden;
    transition:border-color .2s ease;
  }
  .faq-item.open{border-color:var(--terracotta);}
  .faq-q{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:none; border:none; cursor:pointer; padding:18px 22px; text-align:left;
    font-family:var(--sans); font-weight:600; font-size:14.5px; color:var(--ink);
  }
  .faq-chevron{width:19px; height:19px; flex-shrink:0; color:var(--terracotta); transition:transform .3s ease;}
  .faq-item.open .faq-chevron{transform:rotate(180deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
  .faq-a p{padding:0 22px 18px; font-size:13.5px; color:var(--ink-dim); line-height:1.7;}

  /* ---------- FLOATING WHATSAPP BUTTON ---------- */
  .wa-float{
    position:fixed; bottom:24px; right:24px; z-index:60;
    width:58px; height:58px; border-radius:50%;
    background:linear-gradient(135deg, #4fd17d, #1f9e53); color:#fff;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 30px -10px rgba(31,158,83,0.55);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .wa-float:hover{transform:translateY(-3px) scale(1.05); box-shadow:0 18px 36px -10px rgba(31,158,83,0.6);}
  .wa-float svg{width:28px; height:28px;}
  .wa-float::before{
    content:''; position:absolute; inset:0; border-radius:50%;
    background:rgba(31,158,83,0.55); animation:wa-pulse 2.2s ease-out infinite; z-index:-1;
  }
  @keyframes wa-pulse{
    0%{transform:scale(1); opacity:0.6;}
    100%{transform:scale(1.9); opacity:0;}
  }
  @media (max-width:640px){
    .wa-float{width:52px; height:52px; bottom:16px; right:16px;}
    .wa-float svg{width:25px; height:25px;}
  }
  .reviews-carousel{position:relative; display:flex; align-items:center; gap:14px;}
  .reviews-viewport{
    flex:1; overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; touch-action:pan-x; cursor:grab;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .reviews-viewport::-webkit-scrollbar{display:none;}
  .reviews-viewport.dragging{cursor:grabbing; scroll-snap-type:none;}
  .reviews-track{display:flex; gap:22px;}
  .review-card{
    background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px 24px;
    box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
    flex:0 0 calc((100% - 44px)/3); scroll-snap-align:start;
  }
  .review-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
  .review-stars{color:var(--gold-deep); font-size:15px; letter-spacing:2px; margin-bottom:12px;}
  .review-text{font-size:14px; color:var(--ink-dim); line-height:1.7; margin-bottom:18px; min-height:96px;}
  .review-author{display:flex; align-items:center; gap:12px;}
  .review-avatar{
    width:38px; height:38px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg, var(--gold), var(--terracotta)); color:#2a1608;
    display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:15px;
  }
  .review-author b{display:block; font-size:13.5px; color:var(--ink);}
  .review-author span{font-size:12px; color:var(--muted);}
  .rv-arrow{
    width:44px; height:44px; border-radius:50%; background:var(--card); border:1px solid var(--line-strong);
    display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
    box-shadow:var(--shadow-sm); transition:all .2s ease; color:var(--ink);
  }
  .rv-arrow:hover{border-color:var(--terracotta); color:var(--terracotta); transform:translateY(-2px);}
  .rv-arrow svg{width:20px; height:20px;}
  @media (max-width:900px){ .review-card{flex:0 0 calc((100% - 22px)/2);} }
  @media (max-width:640px){ .review-card{flex:0 0 100%;} .rv-arrow{display:none;} }
  .usp-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .usp-card{
    background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px 22px;
    box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
    display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:14px; row-gap:9px;
  }
  .usp-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
  .usp-icon{
    width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    background:var(--bg-soft); flex-shrink:0;
  }
  .usp-icon svg{width:24px; height:24px;}
  .usp-card h4{font-family:var(--serif); font-size:16.5px; font-weight:600; margin-bottom:0;}
  .usp-card p{grid-column:1 / -1; font-size:13.5px; color:var(--ink-dim); line-height:1.6;}
  @media (max-width:900px){ .usp-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .usp-grid{grid-template-columns:1fr;} }

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in-view{opacity:1; transform:translateY(0);}
  .craft-outer{
    position:relative; width:100%; overflow:hidden; padding:0;
    margin:40px 0;
    background:linear-gradient(180deg, rgba(106,91,209,0.07), rgba(224,101,58,0.08));
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .craft-outer .blob{filter:blur(90px);}
  .craft-outer .blob-c1{width:420px; height:420px; background:var(--violet); top:-180px; right:-6%; opacity:0.15;}
  .craft-outer .blob-c2{width:380px; height:380px; background:var(--terracotta); bottom:-180px; left:-2%; opacity:0.16;}
  .craft-outer #craft{padding-top:56px; padding-bottom:56px; position:relative; z-index:1;}

  /* ---------- REVIEWS SECTION (full-width outer) ---------- */
  .reviews-outer{
    position:relative; width:100%; overflow:hidden; padding:0;
    background:linear-gradient(180deg, rgba(28,122,110,0.08), rgba(106,91,209,0.09));
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .reviews-outer .blob{filter:blur(90px);}
  .reviews-outer .blob-r1{width:420px; height:420px; background:var(--teal); top:-180px; right:-6%; opacity:0.16;}
  .reviews-outer .blob-r2{width:380px; height:380px; background:var(--violet); bottom:-180px; left:-4%; opacity:0.16;}
  .reviews-outer #reviews{padding-top:56px; padding-bottom:56px; position:relative; z-index:1;}
  .reviews-outer .review-card{background:var(--card);}
  .reviews-outer .rv-arrow{background:var(--card);}

  /* ---------- CRAFT CARDS ---------- */
  .craft-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .craft-card{
    background:var(--card); padding:32px 28px; border-radius:20px;
    border:1px solid var(--line); box-shadow:var(--shadow-sm); position:relative; overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .craft-card::after{
    content:''; position:absolute; inset:0; border-radius:20px; padding:1.5px;
    background:linear-gradient(135deg, var(--violet), var(--terracotta), var(--gold));
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    opacity:0; transition:opacity .3s ease; pointer-events:none;
  }
  .craft-card:hover{transform:translateY(-7px); box-shadow:var(--shadow); border-color:transparent;}
  .craft-card:hover::after{opacity:1;}
  .craft-card .step-head{display:flex; align-items:center; gap:14px; margin-bottom:10px;}
  .craft-card h3{font-size:22px; margin:0;}
  .craft-card p{font-size:14.5px; color:var(--ink-dim);}
  .craft-icon-wrap{
    width:54px; height:54px; border-radius:14px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  .craft-icon-wrap.c1{background:linear-gradient(135deg, rgba(232,163,61,0.28), rgba(224,101,58,0.22));}
  .craft-icon-wrap.c2{background:linear-gradient(135deg, rgba(28,122,110,0.22), rgba(106,91,209,0.16));}
  .craft-icon-wrap.c3{background:linear-gradient(135deg, rgba(106,91,209,0.22), rgba(232,163,61,0.22));}
  .craft-icon{width:26px; height:26px;}

  /* ---------- GALLERY ---------- */
  .gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .design-card{
    background:var(--card); border:1px solid var(--line); border-radius:16px;
    overflow:hidden; transition:transform .35s ease, box-shadow .35s ease;
    position:relative; box-shadow:var(--shadow-sm); cursor:pointer;
  }
  .design-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .design-panel{
    aspect-ratio:3/4; display:flex; align-items:center; justify-content:center; position:relative;
    border-bottom:1px solid var(--line);
  }
  .dp1{background:linear-gradient(155deg, #fde9c8, #fbd9a0);}
  .dp2{background:linear-gradient(155deg, #cfeae4, #a9d9d0);}
  .dp3{background:linear-gradient(155deg, #e4ddfb, #cabff2);}
  .dp4{background:linear-gradient(155deg, #fbd9c9, #f3b79a);}
  .dp5{background:linear-gradient(155deg, #fdeccb, #f8d99f);}
  .dp6{background:linear-gradient(155deg, #d7ecd6, #b6dbb3);}
  .design-panel svg{width:72%; height:72%;}
  .design-panel svg .carve{stroke:var(--ink); opacity:0.55; transition:opacity .35s ease;}
  .design-card:hover .design-panel svg .carve{opacity:0.95;}
  .design-meta{padding:18px 20px 20px;}
  .design-meta .row1{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px;}
  .design-meta .dno{
    font-family:var(--mono); font-size:11px; color:#fff; font-weight:600;
    background:linear-gradient(135deg, var(--teal), var(--teal-deep));
    padding:3px 9px; border-radius:20px;
  }
  .design-meta h4{font-family:var(--serif); font-size:17px; font-weight:600; margin-top:10px;}
  .design-meta .spec{font-family:var(--mono); font-size:11.5px; color:var(--muted); margin-bottom:14px;}
  .design-meta .price{font-family:var(--mono); font-size:14px; color:var(--ink); font-weight:700; margin-bottom:14px;}
  .design-meta .price span{color:var(--muted); font-size:11px; font-weight:400;}

  /* ---------- DOOR CATEGORIES ---------- */
  .catgrid{
    display:flex; flex-wrap:wrap; gap:16px; margin-bottom:40px;
  }
  .cat-tab{
    position:relative; text-align:left; cursor:pointer; border:1px solid var(--line);
    border-radius:16px; padding:16px 20px; background:var(--card);
    box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    display:flex; flex-direction:column; overflow:hidden;
    flex:1 1 calc(25% - 12px);
  }
  .cat-tab::before{
    content:''; position:absolute; inset:0; opacity:0; transition:opacity .3s ease; z-index:0;
  }
  .cat-tab:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
  .cat-tab.active{border-color:transparent; box-shadow:var(--shadow);}
  .cat-tab.active::before{opacity:1;}
  .cat-tab[data-cat="main"]::before{background:linear-gradient(150deg, var(--gold), var(--terracotta));}
  .cat-tab[data-cat="bedroom"]::before{background:linear-gradient(150deg, var(--teal), var(--violet));}
  .cat-tab[data-cat="double"]::before{background:linear-gradient(150deg, var(--violet), var(--gold-deep));}
  .cat-tab[data-cat="kitchen"]::before{background:linear-gradient(150deg, var(--gold), var(--teal));}
  .cat-tab[data-cat="bathroom"]::before{background:linear-gradient(150deg, var(--teal-deep), var(--terracotta));}
  .cat-tab[data-cat="thick"]::before{background:linear-gradient(150deg, var(--violet), var(--terracotta));}
  .cat-tab .cat-head{
    display:flex; align-items:center; gap:12px; position:relative; z-index:1; flex-wrap:wrap;
  }
  .cat-tab .cat-icon-wrap{
    width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    background:linear-gradient(135deg, rgba(36,28,19,0.06), rgba(36,28,19,0.03));
    transition:background .3s ease;
  }
  .cat-tab.active .cat-icon-wrap{background:rgba(255,255,255,0.22);}
  .cat-tab .cat-icon{width:21px; height:21px; stroke:var(--ink); transition:stroke .3s ease;}
  .cat-tab.active .cat-icon{stroke:#fff;}
  .cat-tab .cat-title-row{
    display:flex; align-items:center; gap:9px; flex-wrap:wrap; position:relative; z-index:1;
  }
  .cat-tab .cat-name{
    font-family:var(--serif); font-weight:700; font-size:16.5px; letter-spacing:-0.01em;
    color:var(--ink); transition:color .3s ease; line-height:1.25;
  }
  .cat-tab.active .cat-name{color:#fff;}
  .cat-tab .cat-badge{
    display:inline-flex; align-items:center; justify-content:center;
    position:relative; z-index:1; font-family:var(--mono); font-weight:700; font-size:11.5px;
    color:#fff; padding:2px 9px; border-radius:20px; letter-spacing:0.02em; line-height:1.6;
    transition:background .3s ease, box-shadow .3s ease;
  }
  .cat-tab[data-cat="main"] .cat-badge{background:linear-gradient(120deg, var(--gold), var(--terracotta));}
  .cat-tab[data-cat="bedroom"] .cat-badge{background:linear-gradient(120deg, var(--teal), var(--violet));}
  .cat-tab[data-cat="double"] .cat-badge{background:linear-gradient(120deg, var(--violet), var(--gold-deep));}
  .cat-tab[data-cat="kitchen"] .cat-badge{background:linear-gradient(120deg, var(--gold), var(--teal));}
  .cat-tab[data-cat="bathroom"] .cat-badge{background:linear-gradient(120deg, var(--teal-deep), var(--terracotta));}
  .cat-tab[data-cat="thick"] .cat-badge{background:linear-gradient(120deg, var(--violet), var(--terracotta));}
  .cat-tab.active .cat-badge{background:rgba(255,255,255,0.28); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4);}

  .doors-showcase{
    background:var(--bg-soft); border:1px solid var(--line); border-radius:20px; padding:34px;
  }
  .doors-showcase-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:10px;}
  .doors-showcase-head h3{font-size:21px;}
  .doors-showcase-head .tag-pill{
    font-family:var(--mono); font-size:11px; font-weight:600; color:var(--gold-deep);
    background:rgba(232,163,61,0.15); padding:6px 14px; border-radius:20px;
  }
  .doors-carousel-viewport{
    overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; touch-action:pan-x; cursor:grab;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .doors-carousel-viewport::-webkit-scrollbar{display:none;}
  .doors-carousel-viewport.dragging{cursor:grabbing; scroll-snap-type:none;}
  .door-items{display:flex; gap:22px;}
  .door-item{
    background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden;
    box-shadow:var(--shadow-sm); transition:transform .3s ease, box-shadow .3s ease;
    animation:fadeUp .45s ease both; scroll-snap-align:start; flex:0 0 calc((100% - 44px)/3);
    cursor:pointer;
  }
  .door-item:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
  @keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
  .door-item .di-panel{
    aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; position:relative;
    border-bottom:1px solid var(--line); pointer-events:none;
  }
  .door-item .di-panel svg{width:46%; height:82%;}
  .door-item .di-meta{padding:16px 18px 18px;}
  .door-item .di-meta h4{font-family:var(--serif); font-size:16px; font-weight:600; margin-bottom:4px;}
  .door-item .di-meta .di-spec{font-family:var(--mono); font-size:11px; color:var(--muted); margin-bottom:10px;}
  .door-item .di-meta .di-price{font-family:var(--mono); font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:12px;}
  .door-item .di-meta .di-price span{color:var(--muted); font-size:10.5px; font-weight:400;}

  /* ---------- PRODUCT MODAL ---------- */
  .pm-overlay{
    position:fixed; inset:0; z-index:300; background:rgba(20,14,6,0.6); backdrop-filter:blur(4px);
    display:flex; align-items:flex-start; justify-content:center; padding:48px 20px;
    opacity:0; pointer-events:none; transition:opacity .3s ease; overflow-y:auto;
  }
  .pm-overlay.open{opacity:1; pointer-events:auto;}
  body.pm-lock{overflow:hidden;}
  .product-modal{
    background:var(--card); width:100%; max-width:1100px; border-radius:26px; overflow:hidden;
    box-shadow:var(--shadow); position:relative; margin:auto; transform:translateY(28px) scale(0.98);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .pm-overlay.open .product-modal{transform:translateY(0) scale(1);}
  .pm-close{
    position:absolute; top:18px; right:18px; z-index:6; width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,0.95); border:1px solid var(--line); display:flex; align-items:center;
    justify-content:center; cursor:pointer; box-shadow:var(--shadow-sm); transition:transform .2s ease;
  }
  .pm-close:hover{transform:rotate(90deg);}
  .pm-close svg{width:16px; height:16px; stroke:var(--ink); stroke-width:2;}

  .pm-scroll{max-height:92vh; overflow-y:auto;}
  .pm-body{display:grid; grid-template-columns:1fr 1fr;}

  .pm-gallery{padding:30px; background:linear-gradient(165deg, var(--bg-soft), #ece2cc);}
  .pm-gallery-main{
    border-radius:20px; overflow:hidden; aspect-ratio:1/1.05; display:flex; align-items:center;
    justify-content:center; border:1px solid var(--line); margin-bottom:14px; position:relative;
    box-shadow:var(--shadow-sm);
  }
  .pm-gallery-main svg{width:48%; height:78%; transition:opacity .25s ease;}
  .pm-id-badge{
    position:absolute; top:16px; left:16px; font-family:var(--mono); font-size:11px; font-weight:700;
    color:#fff; background:var(--teal-deep); padding:5px 12px; border-radius:20px; letter-spacing:0.04em;
  }
  .pm-thumbs{display:grid; grid-template-columns:repeat(5,1fr); gap:9px;}
  .pm-thumb{
    aspect-ratio:1/1; border-radius:11px; border:2px solid transparent; cursor:pointer; overflow:hidden;
    display:flex; align-items:center; justify-content:center; transition:border-color .2s ease, transform .2s ease;
  }
  .pm-thumb:hover{transform:translateY(-2px);}
  .pm-thumb.active{border-color:var(--gold-deep);}
  .pm-thumb svg{width:58%; height:68%;}

  .pm-details{padding:34px 34px 8px;}
  .pm-cat-tag{
    display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11px;
    font-weight:600; color:var(--gold-deep); background:rgba(232,163,61,0.14); padding:5px 12px;
    border-radius:20px; margin-bottom:14px;
  }
  .pm-title{font-family:var(--serif); font-size:27px; font-weight:700; margin-bottom:6px; letter-spacing:-0.01em;}
  .pm-spec-line{color:var(--ink-dim); font-size:14px; margin-bottom:12px;}
  .pm-rating{display:flex; align-items:center; gap:10px; margin-bottom:20px; flex-wrap:wrap;}
  .pm-stars{display:flex; gap:2px;}
  .pm-stars svg{width:15px; height:15px; fill:var(--gold); stroke:var(--gold);}
  .pm-stars svg.empty{fill:none; stroke:var(--line-strong);}
  .pm-rating-num{font-family:var(--mono); font-size:13px; font-weight:700; color:var(--ink);}
  .pm-rating-count{font-size:12.5px; color:var(--muted); text-decoration:underline; cursor:pointer;}

  .pm-price-box{
    display:flex; align-items:baseline; gap:8px; padding:16px 18px; border-radius:14px;
    background:linear-gradient(120deg, rgba(232,163,61,0.13), rgba(224,101,58,0.10));
    border:1px solid rgba(232,163,61,0.25); margin-bottom:22px;
  }
  .pm-price-box .amt{font-family:var(--mono); font-size:21px; font-weight:700; color:var(--ink);}
  .pm-price-box .note{font-size:12px; color:var(--muted);}

  .pm-section-label{
    font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--muted); margin:22px 0 10px; font-weight:600;
  }
  .pm-options{display:flex; gap:9px; flex-wrap:wrap;}
  .pm-opt{
    padding:9px 16px; border-radius:10px; border:1.5px solid var(--line); cursor:pointer;
    font-size:13px; font-weight:600; color:var(--ink-dim); background:var(--card); transition:all .2s ease;
  }
  .pm-opt:hover{border-color:var(--gold);}
  .pm-opt.active{
    border-color:var(--gold-deep); color:var(--gold-deep);
    background:linear-gradient(120deg, rgba(232,163,61,0.15), rgba(224,101,58,0.12));
  }

  .pm-size-row{display:flex; gap:9px; flex-wrap:wrap; margin-bottom:10px;}
  .pm-custom-toggle{
    font-size:12.5px; color:var(--teal-deep); font-weight:600; cursor:pointer; display:inline-flex;
    align-items:center; gap:5px; text-decoration:underline; text-underline-offset:2px;
  }
  .pm-custom-inputs{
    display:none; gap:12px; margin-top:12px; padding:14px; background:var(--bg-soft);
    border-radius:12px; border:1px solid var(--line);
  }
  .pm-custom-inputs.open{display:flex;}
  .pm-field{flex:1;}
  .pm-field label{display:block; font-size:11px; color:var(--muted); margin-bottom:5px; font-weight:600;}
  .pm-field .in-wrap{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:9px; background:var(--card); overflow:hidden;}
  .pm-field input{border:none; padding:9px 10px; font-family:var(--mono); font-size:13.5px; width:100%; outline:none; background:transparent; color:var(--ink);}
  .pm-field .unit{padding:0 10px; font-size:11px; color:var(--muted); font-family:var(--mono);}

  .pm-qty-row{display:flex; align-items:center; gap:14px; margin:22px 0 6px;}
  .pm-qty{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:10px; overflow:hidden;}
  .pm-qty button{width:36px; height:36px; border:none; background:var(--bg-soft); cursor:pointer; font-size:16px; font-weight:700; color:var(--ink);}
  .pm-qty input{width:42px; text-align:center; border:none; font-family:var(--mono); font-weight:700; font-size:14px; outline:none;}

  .pm-order-btn{
    width:100%; margin-top:18px; padding:15px 20px; border-radius:14px; border:none; cursor:pointer;
    background:linear-gradient(135deg, var(--gold), var(--terracotta)); color:#2a1608; font-weight:700;
    font-size:15px; display:flex; align-items:center; justify-content:center; gap:10px;
    box-shadow:var(--shadow-sm); transition:transform .2s ease;
  }
  .pm-order-btn:hover{transform:translateY(-2px);}
  .pm-order-btn svg{width:18px; height:18px;}
  .pm-trust-row{display:flex; gap:16px; margin-top:16px; flex-wrap:wrap;}
  .pm-trust-row .ti{display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--muted); font-weight:500;}
  .pm-trust-row .ti svg{width:15px; height:15px; stroke:var(--teal-deep);}

  .pm-desc{padding:26px 34px 6px; border-top:1px solid var(--line);}
  .pm-desc-list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px;}
  .pm-desc-list li{display:flex; align-items:flex-start; gap:9px; font-size:13.5px; color:var(--ink-dim); line-height:1.5;}
  .pm-desc-list li svg{width:16px; height:16px; stroke:var(--teal-deep); flex-shrink:0; margin-top:2px;}

  .pm-reviews{padding:8px 34px 32px; border-top:1px solid var(--line); margin-top:14px;}
  .pm-reviews-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:20px 0 18px;}
  .pm-reviews-summary{display:flex; align-items:center; gap:14px;}
  .pm-reviews-summary .big{font-family:var(--serif); font-size:34px; font-weight:700; color:var(--ink);}
  .pm-review-card{
    padding:16px 18px; border:1px solid var(--line); border-radius:14px; margin-bottom:12px; background:var(--bg-soft);
  }
  .pm-review-top{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
  .pm-avatar{
    width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); font-weight:700; font-size:13px; color:#fff; flex-shrink:0;
  }
  .pm-review-name{font-weight:700; font-size:13.5px; color:var(--ink);}
  .pm-review-date{font-size:11px; color:var(--muted);}
  .pm-review-text{font-size:13.5px; color:var(--ink-dim); line-height:1.6;}

  .pm-review-form{
    margin-top:18px; padding:18px; border:1px dashed var(--line-strong); border-radius:14px; background:var(--card);
  }
  .pm-review-form .pm-stars-input{display:flex; gap:4px; margin-bottom:12px; cursor:pointer;}
  .pm-review-form .pm-stars-input svg{width:22px; height:22px; fill:none; stroke:var(--line-strong); transition:all .15s ease;}
  .pm-review-form .pm-stars-input svg.filled{fill:var(--gold); stroke:var(--gold);}
  .pm-review-form input[type=text], .pm-review-form textarea{
    width:100%; border:1.5px solid var(--line); border-radius:10px; padding:10px 12px; font-family:var(--sans);
    font-size:13.5px; margin-bottom:10px; outline:none; background:var(--bg-soft); color:var(--ink);
  }
  .pm-review-form textarea{resize:vertical; min-height:64px;}
  .pm-review-form button{
    padding:10px 22px; border-radius:10px; border:none; background:var(--teal-deep); color:#fff;
    font-weight:700; font-size:13px; cursor:pointer;
  }

  @media (max-width: 760px){
    .pm-body{grid-template-columns:1fr;}
    .pm-details{padding:26px 20px 6px;}
    .pm-desc, .pm-reviews{padding-left:20px; padding-right:20px;}
    .pm-desc-list{grid-template-columns:1fr;}
    .pm-overlay{padding:0;}
    .product-modal{border-radius:0; max-width:100%; min-height:100vh;}
    .pm-scroll{max-height:100vh;}
  }

  /* ---------- PROCESS ---------- */
  .process-outer{
    position:relative; width:100%; overflow:hidden; padding:0;
    background:linear-gradient(180deg, rgba(28,122,110,0.07), rgba(232,163,61,0.09));
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .process-outer .blob{filter:blur(90px);}
  .process-outer .blob-p1{width:420px; height:420px; background:var(--teal); top:-180px; left:-6%; opacity:0.16;}
  .process-outer .blob-p2{width:380px; height:380px; background:var(--gold); bottom:-180px; right:0%; opacity:0.18;}
  .process-outer section{padding-top:56px; padding-bottom:56px;}
  .process{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:0 18px; align-items:start; position:relative;}
  .process-step{
    background:var(--card); border:1px solid var(--line); border-radius:18px; padding:34px 28px;
    box-shadow:var(--shadow-sm); position:relative; z-index:1;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .process-step:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .process-connector{
    display:flex; align-items:center; justify-content:center; position:relative; z-index:0;
  }
  .process-connector svg{width:34px; height:14px; opacity:0.6;}
  .process-step .step-head{
    display:flex; align-items:center; gap:14px; margin-bottom:18px;
  }
  .process-step .idx-badge{
    width:52px; height:52px; border-radius:14px; margin-bottom:0; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--gold), var(--terracotta));
    box-shadow:var(--shadow-sm);
  }
  .process-step .idx-badge span{
    font-family:var(--serif); font-size:20px; font-weight:800; color:#2a1608;
  }
  .process-step h3{font-size:19px; margin-bottom:0;}
  .process-step p{font-size:14.5px; color:var(--ink-dim);}

  /* ---------- CONTACT ---------- */
  .contact-shell{
    background:var(--card); border:1px solid var(--line); border-radius:20px;
    padding:54px; display:grid; grid-template-columns:1fr 1fr; gap:50px;
    box-shadow:var(--shadow);
  }
  .contact-info h2{font-size:30px; margin-bottom:16px;}
  .contact-info p{color:var(--ink-dim); font-size:15px; margin-bottom:28px; max-width:380px;}
  .contact-line{display:flex; gap:14px; align-items:flex-start; margin-bottom:18px;}
  .contact-line .ic-wrap{
    width:34px; height:34px; border-radius:9px; flex-shrink:0;
    background:linear-gradient(135deg, rgba(232,163,61,0.22), rgba(224,101,58,0.16));
    display:flex; align-items:center; justify-content:center;
  }
  .contact-line .ic{width:16px; height:16px;}
  .contact-line b{display:block; font-size:14px; color:var(--ink);}
  .contact-line span{font-size:13px; color:var(--muted);}

  /* ---------- SOCIAL LINKS ---------- */
  .social-section{padding-top:8px; padding-bottom:24px;}
  .social-shell{
    background:linear-gradient(150deg, var(--bg-soft), var(--bg));
    border:1px solid var(--line); border-radius:20px;
    padding:34px 54px; text-align:center;
  }
  .social-shell .eyebrow{justify-content:center; margin-bottom:2px;}
  .social-shell h2{font-size:26px; margin-top:6px; margin-bottom:8px;}
  .social-shell > p{color:var(--ink-dim); font-size:14.5px; max-width:460px; margin:0 auto 22px;}
  .social-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:16px;}
  .social-card{
    display:flex; align-items:center; gap:12px; background:var(--card);
    border:1px solid var(--line); border-radius:14px; padding:14px 20px;
    box-shadow:var(--shadow-sm); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    min-width:170px; flex:0 1 auto;
  }
  .social-card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--terracotta);}
  .social-card .si-wrap{
    width:44px; height:44px; border-radius:12px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; color:#fff;
  }
  .social-card .si-wrap svg{width:22px; height:22px;}
  .social-card .si-text{text-align:left;}
  .social-card .si-text b{display:block; font-size:14.5px; color:var(--ink);}
  .social-card .si-text span{font-size:12px; color:var(--muted); font-family:var(--mono);}
  .si-facebook{background:linear-gradient(135deg,#3b6bd6,#1f4bb0);}
  .si-instagram{background:linear-gradient(135deg,#f0aa4a,#d93a7d 55%,#8a3ab9);}
  .si-youtube{background:linear-gradient(135deg,#ff5b4d,#d81f11);}
  .si-whatsapp{background:linear-gradient(135deg,#4fd17d,#1f9e53);}
  .si-tiktok{background:linear-gradient(135deg,#3a3a3a,#111111);}
  @media (max-width:640px){
    .social-shell{padding:32px 22px;}
    .social-card{min-width:0; width:100%;}
  }

  form.order-form{display:flex; flex-direction:column; gap:14px;}
  .order-form label{font-family:var(--mono); font-size:11px; letter-spacing:0.06em; color:var(--muted); text-transform:uppercase; display:block; margin-bottom:6px; font-weight:600;}
  .order-form input, .order-form select, .order-form textarea{
    width:100%; background:var(--bg-soft); border:1px solid var(--line-strong); border-radius:10px;
    padding:12px 14px; color:var(--ink); font-family:var(--sans); font-size:14px;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .order-form input:focus, .order-form select:focus, .order-form textarea:focus{
    outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(28,122,110,0.15);
  }
  .order-form textarea{resize:vertical; min-height:70px;}

  footer{background:var(--bg-soft); color:var(--ink-dim); margin-top:20px; border-top:1px solid var(--line);}
  .footer-top{display:grid; grid-template-columns:1.3fr 1fr; gap:40px; padding-bottom:40px;}
  .footer-brand .logo{display:flex; align-items:center; gap:10px; font-family:var(--serif); font-weight:700; font-size:20px; color:var(--ink); margin-bottom:14px;}
  .footer-brand .logo .mark-wrap{
    width:32px; height:32px; border-radius:9px;
    background:linear-gradient(135deg, var(--gold), var(--terracotta));
    display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:var(--shadow-sm);
  }
  .footer-brand .logo .mark-wrap svg{width:18px; height:18px;}
  .footer-brand p{font-size:13.5px; line-height:1.75; color:var(--ink-dim); max-width:320px; margin-bottom:18px;}
  .footer-social{display:flex; gap:10px;}
  .footer-social a{
    width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center;
    background:var(--card); border:1px solid var(--line-strong); color:var(--ink-dim); box-shadow:var(--shadow-sm);
    transition:all .2s ease;
  }
  .footer-social a:hover{background:linear-gradient(135deg, var(--gold), var(--terracotta)); color:#2a1608; border-color:transparent; transform:translateY(-2px);}
  .footer-social a svg{width:16px; height:16px;}
  .footer-col h5{font-family:var(--mono); font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-bottom:16px;}
  .footer-col ul{list-style:none;}
  .footer-col li{margin-bottom:11px;}
  .footer-col a{font-size:13.5px; color:var(--ink-dim); transition:color .2s ease;}
  .footer-col a:hover{color:var(--terracotta);}
  .footer-col .fc-line{display:flex; gap:10px; align-items:flex-start; margin-bottom:14px;}
  .footer-col .fc-line svg{width:15px; height:15px; flex-shrink:0; margin-top:2px; color:var(--terracotta);}
  .footer-col .fc-line div{font-size:13.5px; color:var(--ink-dim); line-height:1.5;}
  .footer-col .fc-line b{display:block; color:var(--ink); font-weight:600; font-size:13.5px;}
  .footer-bottom{
    padding:22px 0; border-top:1px solid var(--line-strong);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  }
  .footer-bottom p{font-size:12.5px; color:var(--muted);}
  @media (max-width:820px){
    .footer-top{grid-template-columns:1fr; gap:30px;}
  }
  footer p{font-size:12.5px; color:var(--muted);}

  @media (max-width: 880px){
    .hero{grid-template-columns:1fr; padding-top:56px;}
    .hero-visual{order:-1;}
    .hero-copy{text-align:center;}
    .hero-copy .eyebrow{justify-content:center;}
    .hero-copy p.lede{margin-left:auto; margin-right:auto;}
    .hero-actions{justify-content:center;}
    .stat-row{justify-content:center;}
    .stat{text-align:center;}
    .craft-grid, .gallery-grid{grid-template-columns:1fr;}
    .door-item{flex-basis:calc((100% - 22px)/2);}
    .cat-tab{flex-basis:calc(50% - 8px);}
    .process{grid-template-columns:1fr; gap:20px;}
    .process-connector{display:none;}
    .contact-shell{grid-template-columns:1fr; padding:32px;}
    nav.links{display:none;}
    .wrap{padding:0 24px;}
  }

  @media (max-width: 480px){
    .wrap{padding:0 18px;}
    .nav-inner{padding:14px 18px;}
    .logo{font-size:18px;}
    .logo .mark-wrap{width:30px; height:30px;}
    .logo small{font-size:8px;}
    .hero-actions{flex-direction:column; align-items:stretch;}
    .hero-actions .btn{justify-content:center;}
    .stat-row{gap:10px; flex-wrap:nowrap; justify-content:space-between;}
    #stats .stat-row{padding:20px 14px;}
    .stat{flex:1; min-width:0;}
    .stat b{font-size:19px;}
    .stat span{font-size:10px; line-height:1.3; display:block;}
    .contact-shell{padding:22px;}
    .design-meta{padding:16px;}
    .process-step .step-head{flex-direction:column; align-items:flex-start; gap:8px;}
    .catgrid{gap:10px;}
    .cat-tab{padding:16px 18px; flex-basis:100%;}
    .door-item{flex-basis:100%;}
    .doors-showcase{padding:22px;}
    .doors-showcase-head{flex-direction:column; align-items:flex-start;}
  }

  :focus-visible{outline:2px solid var(--terracotta); outline-offset:3px;}


  /* ---------- NAV: active link + mobile toggle ---------- */
  nav.links a.active{color:var(--terracotta);}
  nav.links a.active::after{width:100%;}
  .nav-toggle{
    display:none; width:40px; height:40px; border-radius:9px; border:1px solid var(--line-strong);
    background:var(--card); align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
  }
  .nav-toggle svg{width:20px; height:20px; color:var(--ink);}
  .mobile-menu{
    display:none; max-height:0; overflow:hidden; background:var(--bg);
    border-top:1px solid var(--line); transition:max-height .35s ease;
  }
  .mobile-menu.open{max-height:480px;}
  .mobile-menu-inner{padding:10px 24px 22px; display:flex; flex-direction:column; gap:2px;}
  .mobile-menu a{
    padding:13px 4px; font-size:15px; font-weight:600; color:var(--ink-dim);
    border-bottom:1px solid var(--line);
  }
  .mobile-menu a.active{color:var(--terracotta);}
  .mobile-menu .btn{margin-top:14px; justify-content:center;}
  @media (max-width:880px){
    .nav-toggle{display:flex;}
    .mobile-menu{display:block;}
  }

  /* ---------- PAGE / INNER HERO ---------- */
  .page-hero-outer{
    position:relative; width:100%; overflow:hidden; background:var(--bg); padding:20px 0;
    border-bottom:1px solid var(--line);
  }
  .page-hero{
    position:relative; z-index:1; padding:25px 0 20px; text-align:center;
    display:flex; flex-direction:column; align-items:center;
  }
  .page-hero .eyebrow{justify-content:center;}
  .page-hero h1{font-size:clamp(26px,3.6vw,38px); margin:9px 0 9px; line-height:1.12;}
  .page-hero p.lede{color:var(--ink-dim); font-size:15.5px; max-width:560px; margin:0 auto;}
  .breadcrumb{
    display:flex; align-items:center; gap:8px; justify-content:center; margin-bottom:18px;
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.04em; color:var(--muted);
  }
  .breadcrumb a{color:var(--muted); transition:color .2s ease;}
  .breadcrumb a:hover{color:var(--terracotta);}
  .breadcrumb span.sep{color:var(--line-strong);}
  .breadcrumb span.current{color:var(--gold-deep); font-weight:600;}

  /* ---------- POLICY / LONG-FORM CONTENT ---------- */
  .policy-shell{display:grid; grid-template-columns:260px 1fr; gap:48px; align-items:start;}
  .policy-toc{
    position:sticky; top:96px; background:var(--card); border:1px solid var(--line); border-radius:16px;
    padding:22px 20px; box-shadow:var(--shadow-sm);
  }
  .policy-toc h5{
    font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--gold-deep); font-weight:600; margin-bottom:14px;
  }
  .policy-toc ul{list-style:none; display:flex; flex-direction:column; gap:2px;}
  .policy-toc a{
    display:block; padding:8px 10px; border-radius:8px; font-size:13px; color:var(--ink-dim);
    font-weight:500; transition:background .2s ease, color .2s ease;
  }
  .policy-toc a:hover, .policy-toc a.active{background:var(--bg-soft); color:var(--terracotta);}
  .policy-updated{
    display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11.5px;
    color:var(--muted); background:var(--bg-soft); border:1px solid var(--line); border-radius:5px;
    padding:7px 14px; margin-bottom:28px;
  }
  .policy-updated svg{width:13px; height:13px; color:var(--gold-deep);}
  .policy-content{max-width:720px;}
  .policy-content .p-block{margin-bottom:40px; scroll-margin-top:96px;}
  .policy-content h2{font-size:23px; margin-bottom:14px; display:flex; align-items:center; gap:12px;}
  .policy-content h2 .p-num{
    font-family:var(--mono); font-size:12px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--gold),var(--terracotta));
    width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .policy-content p{font-size:14.5px; color:var(--ink-dim); line-height:1.8; margin-bottom:12px;}
  .policy-content ul, .policy-content ol{margin:12px 0 12px 22px; color:var(--ink-dim); font-size:14.5px; line-height:1.85;}
  .policy-content li{margin-bottom:6px;}
  .policy-content strong{color:var(--ink); font-weight:700;}
  .policy-callout{
    background:var(--bg-soft); border-left:3px solid var(--terracotta); border-radius:0 12px 12px 0;
    padding:16px 20px; font-size:13.5px; color:var(--ink-dim); margin:16px 0;
  }
  .policy-table{width:100%; border-collapse:collapse; margin:16px 0; font-size:13.5px;}
  .policy-table th{
    text-align:left; padding:11px 14px; background:var(--bg-soft); font-family:var(--sans); font-weight:700;
    color:var(--ink); border:1px solid var(--line); font-size:12.5px;
  }
  .policy-table td{padding:11px 14px; border:1px solid var(--line); color:var(--ink-dim);}
  @media (max-width:900px){
    .policy-shell{grid-template-columns:1fr;}
    .policy-toc{position:static; margin-bottom:6px;}
  }

  /* ---------- ABOUT: TIMELINE ---------- */
  .timeline{position:relative; max-width:760px; margin:0 auto; padding-left:26px; border-left:2px solid var(--line);}
  .timeline-item{position:relative; padding-bottom:36px;}
  .timeline-item:last-child{padding-bottom:0;}
  .timeline-item::before{
    content:''; position:absolute; left:-32px; top:2px; width:14px; height:14px; border-radius:50%;
    background:linear-gradient(135deg,var(--gold),var(--terracotta)); box-shadow:0 0 0 4px var(--bg);
  }
  .timeline-item .t-year{font-family:var(--mono); font-size:12px; color:var(--gold-deep); font-weight:700; letter-spacing:0.04em; margin-bottom:4px;}
  .timeline-item h4{font-family:var(--serif); font-size:18px; margin-bottom:6px;}
  .timeline-item p{font-size:14px; color:var(--ink-dim); line-height:1.7; max-width:520px;}

  /* ---------- VALUE / TEAM CARDS ---------- */
  .value-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:880px){ .value-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .value-grid{grid-template-columns:1fr;} }

  /* ---------- SIMPLE 2-COL INFO BLOCK ---------- */
  .split-block{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
  @media (max-width:880px){ .split-block{grid-template-columns:1fr; gap:30px;} }
  .info-card{
    background:var(--card); border:1px solid var(--line); border-radius:18px; padding:30px;
    box-shadow:var(--shadow-sm);
  }
  .info-card h3{font-size:19px; margin-bottom:10px;}
  .info-card p{font-size:14px; color:var(--ink-dim); line-height:1.75;}

  /* ---------- CTA BAND ---------- */
  .cta-band{
    background:linear-gradient(135deg, var(--ink) 0%, #33261a 100%);
    border-radius:24px; padding:48px 54px; text-align:center; position:relative; overflow:hidden;
  }
  .cta-band::before{
    content:''; position:absolute; width:340px; height:340px; border-radius:50%; filter:blur(90px);
    background:var(--gold); opacity:0.35; top:-140px; right:-60px;
  }
  .cta-band::after{
    content:''; position:absolute; width:300px; height:300px; border-radius:50%; filter:blur(90px);
    background:var(--teal); opacity:0.3; bottom:-140px; left:-40px;
  }
  .cta-band *{position:relative; z-index:1;}
  .cta-band .eyebrow{justify-content:center; color:var(--gold);}
  .cta-band .eyebrow::before{background:var(--gold);}
  .cta-band h2{color:#fbf1e0; font-size:clamp(24px,3vw,32px); margin:14px 0 12px;}
  .cta-band p{color:#cdbfa4; font-size:14.5px; max-width:460px; margin:0 auto 26px;}
  .cta-band .hero-actions{justify-content:center; margin-bottom:0;}

  /* ---------- STEP NUMBER LIST (order process detail) ---------- */
  .detail-steps{display:flex; flex-direction:column; gap:16px;}
  .detail-step{
    display:flex; gap:18px; background:var(--card); border:1px solid var(--line); border-radius:16px;
    padding:22px 24px; box-shadow:var(--shadow-sm);
  }
  .detail-step .d-num{
    font-family:var(--serif); font-weight:800; font-size:22px; color:var(--gold-deep);
    width:44px; height:44px; border-radius:12px; background:var(--bg-soft); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  .detail-step h4{font-size:16.5px; margin-bottom:6px;}
  .detail-step p{font-size:13.5px; color:var(--ink-dim); line-height:1.7;}
  .detail-step ul{margin:8px 0 0 18px; font-size:13px; color:var(--ink-dim); line-height:1.8;}

  /* ---------- PAYMENT METHOD CHIPS ---------- */
  .pay-grid{display:flex; flex-wrap:wrap; gap:14px;}
  .pay-chip{
    display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--line);
    border-radius:12px; padding:12px 18px; box-shadow:var(--shadow-sm); font-size:13.5px; font-weight:600;
  }
  .pay-chip .pc-dot{width:10px; height:10px; border-radius:50%;}

  /* ---------- CONTACT PAGE: extra info cards ---------- */
  .contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:880px){ .contact-cards{grid-template-columns:1fr;} }
  .contact-card{
    background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px;
    box-shadow:var(--shadow-sm); text-align:center;
  }
  .contact-card .cc-icon{
    width:50px; height:50px; border-radius:13px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(232,163,61,0.24), rgba(224,101,58,0.18));
  }
  .contact-card .cc-icon svg{width:24px; height:24px; color:var(--gold-deep);}
  .contact-card h4{font-size:15.5px; margin-bottom:6px;}
  .contact-card p{font-size:13px; color:var(--ink-dim); line-height:1.6;}
  .contact-card a{color:var(--terracotta); font-weight:600;}

  /* ---------- MAP EMBED ---------- */
  .map-wrap{border-radius:20px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm);}
  .map-wrap iframe{width:100%; height:340px; border:0; display:block;}

  /* ---------- FOOTER: premium light theme (matches index.html) ---------- */
  footer{background:linear-gradient(135deg, var(--bg-soft) 0%, #f4e2c6 55%, #f7dbbf 100%); color:var(--ink-dim); margin-top:20px; border-top:1px solid var(--line);}
  footer .wrap{padding-top:56px;}
  .footer-top{grid-template-columns:1.1fr 2fr;}
  .footer-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .footer-badge{
    display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:10.5px;
    letter-spacing:0.08em; color:var(--gold-deep); background:rgba(255,255,255,0.55); border:1px solid var(--line-strong);
    border-radius:5px; padding:6px 12px; margin-top:16px;
  }
  .footer-badge svg{width:12px; height:12px; color:var(--terracotta);}
  .footer-bottom{border-top:1px solid var(--line-strong);}
  .footer-bottom p{color:var(--muted);}
  footer p{color:var(--muted);}
  @media (max-width:820px){
    .footer-top{grid-template-columns:1fr;}
    .footer-cols{grid-template-columns:1fr 1fr; gap:26px;}
  }
  @media (max-width:520px){
    .footer-cols{grid-template-columns:1fr; gap:22px;}
  }

  /* ---------- TEAM / STAFF SECTION (full-width colorful outer) ---------- */
  .team-outer{
    position:relative; width:100%; overflow:hidden; padding:0;
    margin:40px 0;
    background:linear-gradient(180deg, rgba(232,163,61,0.08), rgba(224,101,58,0.09));
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .team-outer .blob{filter:blur(90px); pointer-events:none;}
  .team-outer .blob-t1{width:420px; height:420px; background:var(--violet); top:-180px; right:-6%; opacity:0.14;}
  .team-outer .blob-t2{width:380px; height:380px; background:var(--terracotta); bottom:-180px; left:-2%; opacity:0.16;}
  .team-outer #team{padding-top:56px; padding-bottom:56px; position:relative; z-index:1;}

  .team-head-row{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:8px;}
  .team-nav-btns{display:flex; gap:10px; flex-shrink:0;}
  .team-nav{
    width:44px; height:44px; border-radius:50%; border:1px solid var(--line-strong); background:var(--card);
    color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer;
    box-shadow:var(--shadow-sm); transition:all .2s ease; flex-shrink:0;
  }
  .team-nav:hover{background:linear-gradient(135deg, var(--gold), var(--terracotta)); color:#2a1608; border-color:transparent; transform:translateY(-2px);}
  .team-nav svg{width:18px; height:18px;}
  .team-nav:disabled{opacity:0.35; cursor:not-allowed; transform:none; background:var(--card); color:var(--ink);}

  .team-slider-outer{position:relative;}
  .team-slider{
    display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
    padding:26px 4px 26px; margin:0 -4px;
    -ms-overflow-style:none; scrollbar-width:none;
  }
  .team-slider::-webkit-scrollbar{display:none;}
  .team-card{
    scroll-snap-align:start; flex:0 0 auto; width:250px;
    background:var(--card); border:1px solid var(--line); border-radius:20px; overflow:hidden;
    box-shadow:var(--shadow-sm); text-align:center; transition:transform .3s ease, box-shadow .3s ease;
    display:flex; flex-direction:column; align-items:stretch;
  }
  .team-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .team-card-body{padding:20px 20px 22px; display:flex; flex-direction:column; align-items:center;}
  @media (max-width:768px){
    .team-nav-btns{display:none;}
    .team-slider{padding-bottom:6px;}
  }
  @media (max-width:1024px) and (min-width:881px){
    .team-card{width:calc(100vw - 88px); max-width:460px;}
  }
  @media (max-width:880px) and (min-width:481px){
    .team-card{width:calc(100vw - 48px); max-width:420px;}
  }
  @media (max-width:480px){
    .team-card{width:calc(100vw - 36px);}
  }
  .team-photo{
    width:100%; aspect-ratio:4/5; border-radius:0; display:flex; align-items:center; justify-content:center;
    font-family:var(--serif); font-weight:800; font-size:64px; color:rgba(255,255,255,0.96); margin-bottom:0;
    position:relative; flex-shrink:0; overflow:hidden;
  }
  .team-photo.has-photo{ background:var(--bg-soft); }
  .team-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
  .team-card h4{font-family:var(--serif); font-size:16.5px; font-weight:600; margin-bottom:4px; color:var(--ink);}
  .team-card .team-role{
    display:block; font-family:var(--sans); font-size:13px; letter-spacing:0; color:var(--terracotta);
    font-weight:600; margin-bottom:16px; min-height:auto;
  }
  .team-card .team-view{
    font-family:var(--sans); font-weight:700; font-size:12.5px; color:var(--ink);
    border:1px solid var(--line-strong); background:var(--bg); padding:9px 18px; border-radius:5px;
    cursor:pointer; display:inline-flex; align-items:center; gap:6px; transition:all .2s ease; margin-top:auto;
  }
  .team-card .team-view:hover{border-color:var(--teal); color:var(--teal-deep); background:var(--card); transform:translateY(-2px); box-shadow:var(--shadow-sm);}
  .team-card .team-view svg{width:13px; height:13px;}

  /* ---------- TEAM MODAL ---------- */
  .team-modal-overlay{
    position:fixed; inset:0; z-index:200; background:rgba(36,28,19,0.55); backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center; padding:24px;
    opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease;
  }
  .team-modal-overlay.open{opacity:1; visibility:visible;}
  .team-modal{
    background:var(--card); border-radius:26px; max-width:780px; width:100%; max-height:88vh; overflow:hidden;
    box-shadow:var(--shadow); position:relative; transform:translateY(16px) scale(0.98); transition:transform .3s ease;
    display:grid; grid-template-columns:300px 1fr;
  }
  .team-modal-overlay.open .team-modal{transform:translateY(0) scale(1);}
  .team-modal-close{
    position:absolute; top:16px; right:16px; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.5);
    background:rgba(255,255,255,0.92); color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer;
    z-index:10; transition:all .2s ease; box-shadow:var(--shadow-sm);
  }
  .team-modal-close:hover{background:var(--terracotta); color:#fff; border-color:transparent; transform:rotate(90deg);}
  .team-modal-close svg{width:16px; height:16px;}

  /* big colorful image side */
  .team-modal-visual{
    position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
    min-height:280px; padding:30px;
  }
  .team-modal-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:3; }
  .team-modal-visual.has-photo{ background:var(--bg-soft); }
  .team-modal-visual.has-photo::before, .team-modal-visual.has-photo::after{ display:none; }
  .team-modal-visual::before{
    content:''; position:absolute; width:220px; height:220px; border-radius:50%;
    background:rgba(255,255,255,0.16); top:-70px; left:-60px;
  }
  .team-modal-visual::after{
    content:''; position:absolute; width:180px; height:180px; border-radius:50%;
    background:rgba(255,255,255,0.12); bottom:-60px; right:-50px;
  }
  .team-modal-visual .initial-big{
    position:relative; z-index:1; font-family:var(--serif); font-weight:800; font-size:130px; line-height:1;
    color:rgba(255,255,255,0.97); text-shadow:0 14px 30px rgba(0,0,0,0.18);
  }

  /* info side */
  .team-modal-info{padding:34px 32px; overflow-y:auto;}
  .team-modal-info h3{font-size:22px; margin-bottom:4px;}
  .team-modal-role{
    display:inline-block; font-family:var(--mono); font-size:11.5px; letter-spacing:0.05em; color:var(--gold-deep);
    font-weight:700; margin-bottom:18px;
  }
  .team-modal-stats{display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap;}
  .team-modal-stat{
    flex:1; min-width:110px; background:var(--bg-soft); border-radius:12px; padding:12px 14px; text-align:center;
  }
  .team-modal-stat b{display:block; font-family:var(--serif); font-size:18px; color:var(--ink); font-weight:700;}
  .team-modal-stat span{font-size:11px; color:var(--muted); font-weight:500;}
  .team-modal-info p.bio{font-size:14.5px; color:var(--ink-dim); line-height:1.8; margin-bottom:18px;}
  .team-modal-skills{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px;}
  .team-modal-skills span{
    font-size:12px; background:var(--bg-soft); color:var(--ink-dim); padding:6px 13px; border-radius:5px;
    border:1px solid var(--line); font-weight:500;
  }
  .team-modal-contact{
    display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ink-dim);
    border-top:1px solid var(--line); padding-top:16px;
  }
  .team-modal-contact svg{width:16px; height:16px; color:var(--terracotta); flex-shrink:0;}
  body.modal-open{overflow:hidden;}
  @media (max-width:640px){
    .team-head-row{flex-direction:column; align-items:flex-start;}
  }
  @media (max-width:680px){
    .team-modal{grid-template-columns:1fr; max-height:92vh; overflow-y:auto;}
    .team-modal-visual{min-height:170px; padding:24px;}
    .team-modal-visual.has-photo{min-height:min(66vw,360px); padding:0;}
    .team-modal-visual .initial-big{font-size:88px;}
    .team-modal-info{padding:26px 24px 30px; overflow-y:visible;}
  }
  .team-avatar-1{background:linear-gradient(135deg, var(--gold), var(--terracotta));}
  .team-avatar-2{background:linear-gradient(135deg, var(--teal), var(--teal-deep));}
  .team-avatar-3{background:linear-gradient(135deg, var(--violet), #4a3f9e);}
  .team-avatar-4{background:linear-gradient(135deg, var(--terracotta), var(--violet));}
  .team-avatar-5{background:linear-gradient(135deg, var(--gold-deep), var(--terracotta));}
  .team-avatar-6{background:linear-gradient(135deg, var(--teal-deep), var(--violet));}
  .team-avatar-7{background:linear-gradient(135deg, var(--gold), var(--teal));}


/* FAQ question icon — a ? badge before every FAQ question (all pages) */
.faq-q{justify-content:flex-start;}
.faq-q::before{content:"?";flex-shrink:0;width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8a33d,#e0653a);color:#2a1608;font-weight:800;font-size:13px;line-height:1;font-family:inherit;}
.faq-q .faq-chevron,.faq-q svg.faq-chevron{margin-left:auto;}
