  :root{
    --bg:#EDE6D6;
    --surface:#F8F3E8;
    --surface-2:#E2D7BF;
    --ink:#2A2118;
    --ink-soft:#5B4C3D;
    --ink-faint:#8A7A64;
    --amber:#B87A2E;
    --amber-glow:#E4B466;
    --lagoon:#2B665C;
    --lagoon-light:#5C9A8E;
    --clay:#A84A2A;
    --walnut:#3B2A1E;
    --mauve:#7C4E8E;
    --mauve-light:#D3AEDE;
    --line:rgba(42,33,24,0.15);
    --shadow:rgba(42,33,24,0.18);
    --cream-hole:#EDE6D6;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#1B1610; --surface:#231C15; --surface-2:#2C2318;
      --ink:#F3ECDD; --ink-soft:#CBBBA0; --ink-faint:#95836A;
      --amber:#DDA753; --amber-glow:#F0C784; --lagoon:#5CA595; --lagoon-light:#7FBDAE;
      --clay:#DE7A50; --walnut:#EDE6D6; --line:rgba(243,236,221,0.14); --shadow:rgba(0,0,0,0.45);
      --cream-hole:#1B1610;
    }
  }
  :root[data-theme="dark"]{
    --bg:#1B1610; --surface:#231C15; --surface-2:#2C2318;
    --ink:#F3ECDD; --ink-soft:#CBBBA0; --ink-faint:#95836A;
    --amber:#DDA753; --amber-glow:#F0C784; --lagoon:#5CA595; --lagoon-light:#7FBDAE;
    --clay:#DE7A50; --walnut:#EDE6D6; --line:rgba(243,236,221,0.14); --shadow:rgba(0,0,0,0.45);
    --cream-hole:#1B1610;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:"Karla",-apple-system,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3{font-family:"Bricolage Grotesque","Karla",sans-serif; text-wrap:balance; margin:0; letter-spacing:-0.01em;}
  .mono{font-family:"IBM Plex Mono",ui-monospace,monospace;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,56px);}
  .eyebrow{font-family:"IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:0.14em; font-size:12.5px; color:var(--amber); font-weight:600;}
  .eyebrow--mauve{color:var(--mauve);}
  section{position:relative;}
  :focus-visible{outline:2px solid var(--clay); outline-offset:3px;}

  /* ---------- Nav ---------- */
  .nav{position:sticky; top:0; z-index:50; backdrop-filter:blur(10px) saturate(1.2); background:color-mix(in srgb, var(--bg) 78%, transparent); border-bottom:1px solid var(--line);}
  .nav-row{display:flex; align-items:center; justify-content:space-between; padding:14px clamp(20px,4vw,56px); max-width:1180px; margin:0 auto; gap:16px;}
  .brand{display:flex; align-items:center; gap:10px; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:17.5px; letter-spacing:-0.01em; text-decoration:none; color:var(--ink); line-height:1.15;}
  .brand small{display:block; font-family:"IBM Plex Mono",monospace; font-weight:500; font-size:10.5px; color:var(--ink-faint); letter-spacing:0.06em; text-transform:uppercase;}
  .brand-mark{width:34px; height:34px; border-radius:50%; flex:none; object-fit:cover; border:1.5px solid rgba(255,255,255,0.55); box-shadow: inset 0 -2px 5px rgba(0,0,0,0.2), 0 2px 6px var(--shadow);}
  .nav-links{display:flex; gap:24px; list-style:none; margin:0; padding:0; font-size:14px; font-weight:600;}
  .nav-links a{text-decoration:none; color:var(--ink-soft); transition:color .15s ease;}
  .nav-links a:hover{color:var(--clay);}
  @media (max-width:860px){ .nav-links{display:none;} }

  /* ---------- Buttons ---------- */
  .btn{display:inline-flex; align-items:center; gap:8px; font-family:"Karla",sans-serif; font-weight:700; font-size:14.5px; padding:12px 22px; border-radius:999px; text-decoration:none; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
  .btn:hover{transform:translateY(-2px);}
  .btn-whatsapp{background:var(--lagoon); color:#F8F3E8; box-shadow:0 6px 16px -6px var(--shadow);}
  .btn-whatsapp:hover{background:var(--lagoon-light); box-shadow:0 10px 22px -8px var(--shadow);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--clay); color:var(--clay);}
  .btn-sm{padding:8px 16px; font-size:13px;}

  /* ---------- Cast (resin frame — holds a photo OR a swirl) ---------- */
  .cast{position:relative; border-radius:50%; overflow:hidden; isolation:isolate; aspect-ratio:1; background:var(--surface-2);
    box-shadow: inset 0 -10px 20px rgba(0,0,0,0.22), inset 0 6px 14px rgba(255,255,255,0.18), 0 14px 30px -14px var(--shadow);}
  .cast img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
  .cast::before, .cast::after{content:"";position:absolute; filter:blur(18px);}
  .cast .sheen{position:absolute; inset:0; background:radial-gradient(circle at 30% 24%, rgba(255,255,255,0.5), rgba(255,255,255,0) 45%); mix-blend-mode:soft-light; z-index:2;}
  .cast-icon{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:1; pointer-events:none;}
  .cast-icon svg{width:52%; height:52%; opacity:.92;}

  .cast--emerald{background:linear-gradient(160deg, #6FA98C, var(--lagoon) 55%, #1D3B32 135%);}
  .cast--emerald::before{width:62%; height:62%; top:-8%; left:-8%; background:var(--amber-glow); border-radius:48% 52% 44% 56% / 55% 48% 52% 45%; opacity:.65;}
  .cast--emerald::after{width:42%; height:42%; bottom:-4%; right:-2%; background:var(--surface); border-radius:55% 45% 60% 40% / 45% 55% 40% 60%; opacity:.4;}

  .cast--rose{background:linear-gradient(160deg, #F0C9C2, var(--clay) 60%, var(--walnut) 135%);}
  .cast--rose::before{width:58%; height:58%; top:-6%; right:-6%; background:var(--surface); border-radius:50% 50% 42% 58% / 58% 44% 56% 42%; opacity:.6;}
  .cast--rose::after{width:38%; height:38%; bottom:4%; left:2%; background:var(--amber-glow); border-radius:45% 55% 60% 40% / 40% 45% 55% 60%; opacity:.45;}

  .cast--mauve{background:linear-gradient(160deg, var(--mauve-light), var(--mauve) 58%, var(--walnut) 135%);}
  .cast--mauve::before{width:60%; height:60%; top:-6%; left:-8%; background:var(--amber-glow); border-radius:48% 52% 44% 56% / 55% 48% 52% 45%; opacity:.6;}
  .cast--mauve::after{width:40%; height:40%; bottom:0; right:2%; background:var(--surface); border-radius:55% 45% 60% 40% / 45% 55% 40% 60%; opacity:.4;}

  .diwali-banner{background:linear-gradient(120deg, #7A2E1E, #B4552B 55%, #D68A3C 130%); border-radius:20px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; box-shadow:0 20px 40px -22px var(--shadow);}
  .diwali-banner-text{color:#FBEFDD;}
  .diwali-banner-text .eyebrow{color:#F6C87A;}
  .diwali-banner-text h3{font-family:"Bricolage Grotesque",sans-serif; font-size:clamp(20px,2.6vw,27px); font-weight:700; margin-top:6px; color:#FFF8EE;}
  .diwali-banner-text p{font-size:14px; color:#F3DDBE; margin-top:6px; max-width:46ch;}
  .diwali-banner .btn{background:#FFF8EE; color:#7A2E1E; white-space:nowrap;}
  .diwali-banner .btn:hover{background:#fff;}

  .swatch-row{display:grid; grid-template-columns:repeat(9,1fr); gap:18px;}
  @media (max-width:1040px){ .swatch-row{grid-template-columns:repeat(5,1fr);} }
  @media (max-width:900px){ .swatch-row{grid-template-columns:repeat(4,1fr);} }
  @media (max-width:480px){ .swatch-row{grid-template-columns:repeat(3,1fr);} }
  .swatch{text-align:center;}
  .swatch .cast{border-radius:50%; aspect-ratio:1; box-shadow:inset 0 -6px 12px rgba(0,0,0,0.22), inset 0 4px 10px rgba(255,255,255,0.18), 0 10px 20px -12px var(--shadow);}
  .swatch-name{margin-top:10px; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:12.5px; color:var(--ink);}
  .swatch-sub{font-family:"IBM Plex Mono",monospace; font-size:10px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; margin-top:2px;}

  .islamic-hero{display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px; align-items:center; margin-bottom:48px;}
  @media (max-width:900px){ .islamic-hero{grid-template-columns:1fr;} }
  .islamic-hero .cast{border-radius:22px; aspect-ratio:1;}
  .cast--photo::before, .cast--photo::after{display:none;}

  .cast--lagoon{background:linear-gradient(160deg, var(--lagoon-light), var(--lagoon) 60%, var(--walnut) 130%);}
  .cast--lagoon::before{width:65%; height:65%; top:10%; left:-10%; background:var(--amber-glow); border-radius:42% 58% 63% 37% / 47% 44% 56% 53%; opacity:.75;}
  .cast--lagoon::after{width:45%; height:45%; bottom:-8%; right:-6%; background:var(--surface); border-radius:60% 40% 35% 65% / 55% 60% 40% 45%; opacity:.5;}

  .cast--amber{background:linear-gradient(160deg, var(--amber-glow), var(--amber) 55%, var(--clay) 130%);}
  .cast--amber::before{width:60%; height:60%; top:-6%; right:-8%; background:var(--surface); border-radius:50% 50% 42% 58% / 58% 44% 56% 42%; opacity:.55;}
  .cast--amber::after{width:40%; height:40%; bottom:6%; left:2%; background:var(--walnut); border-radius:45% 55% 60% 40% / 40% 45% 55% 60%; opacity:.4;}

  .cast--geode{background:linear-gradient(160deg, var(--walnut), var(--ink) 55%, var(--lagoon) 140%);}
  .cast--geode::before{width:70%; height:70%; top:8%; left:14%; background:var(--amber-glow); border-radius:55% 45% 40% 60% / 50% 55% 45% 50%; opacity:.55;}
  .cast--geode::after{width:34%; height:34%; bottom:2%; right:0; background:var(--lagoon-light); border-radius:50%; opacity:.6;}

  .cast--coral{background:linear-gradient(160deg, var(--clay), var(--amber) 60%, var(--amber-glow) 140%);}
  .cast--coral::before{width:55%; height:55%; top:14%; right:-6%; background:var(--surface); border-radius:60% 40% 55% 45% / 45% 60% 40% 55%; opacity:.6;}
  .cast--coral::after{width:36%; height:36%; bottom:0; left:8%; background:var(--lagoon); border-radius:48% 52% 60% 40% / 55% 45% 55% 45%; opacity:.35;}

  /* ---------- Hero ---------- */
  .hero{padding:56px 0 20px;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(28px,5vw,64px); align-items:center;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
  .hero h1{font-size:clamp(36px,5.2vw,56px); line-height:1.05; margin:14px 0 20px; font-weight:700;}
  .hero h1 em{font-style:normal; color:var(--clay); text-decoration:underline; text-decoration-color:var(--amber-glow); text-decoration-thickness:3px; text-underline-offset:6px;}
  .hero p.lede{font-size:17px; line-height:1.6; color:var(--ink-soft); max-width:48ch; margin:0 0 30px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .hero-visual{position:relative;}
  .hero-cast-wrap{position:relative; max-width:400px; margin:0 auto;}
  .hero-cast-wrap .cast{width:100%; border-radius:26px; aspect-ratio:1;}
  .hero-label{margin-top:16px; display:flex; justify-content:space-between; gap:10px; font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--ink-faint); border-top:1px dashed var(--line); padding-top:10px;}
  .hero-badge{position:absolute; top:-14px; right:8px; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:10px 14px; text-align:center; box-shadow:0 10px 24px -14px var(--shadow); transform:rotate(4deg);}
  .hero-badge b{display:block; font-family:"Bricolage Grotesque",sans-serif; font-size:15px;}
  .hero-badge span{font-size:11px; color:var(--ink-faint);}

  /* ---------- Marquee facts ---------- */
  .facts{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); margin-top:48px;}
  .facts-row{display:flex; flex-wrap:wrap; gap:10px 0; justify-content:center; padding:16px clamp(20px,4vw,56px); max-width:1180px; margin:0 auto;}
  .facts-row span{font-family:"IBM Plex Mono",monospace; font-size:12.5px; color:var(--ink-soft); display:flex; align-items:center; gap:16px; padding:0 16px;}
  .facts-row span:not(:last-child)::after{content:"·"; color:var(--amber); font-weight:700; margin-left:16px; font-family:"Karla",sans-serif;}

  /* ---------- Section heads ---------- */
  .sec-head{max-width:660px; margin-bottom:36px;}
  .sec-head h2{font-size:clamp(27px,3.4vw,36px); margin-top:10px; font-weight:700;}
  .sec-head p{color:var(--ink-soft); font-size:15.5px; line-height:1.6; margin-top:12px;}
  section.block{padding:68px 0;}

  /* ---------- Thali swatch strip (signature) ---------- */
  .thali-strip{display:grid; grid-template-columns:repeat(5,1fr); gap:20px;}
  @media (max-width:980px){ .thali-strip{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:640px){ .thali-strip{grid-template-columns:repeat(2,1fr);} }
  .thali-card{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:12px; text-align:center; transition:transform .18s ease, box-shadow .18s ease;}
  .thali-card:hover{transform:translateY(-4px); box-shadow:0 18px 30px -18px var(--shadow);}
  .thali-card .cast{border-radius:50%;}
  .thali-name{font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:14.5px; margin-top:12px;}
  .thali-sub{font-size:12px; color:var(--ink-faint); margin-top:2px; font-family:"IBM Plex Mono",monospace;}

  /* ---------- Collection grid ---------- */
  .grid-collection{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  @media (max-width:980px){ .grid-collection{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .grid-collection{grid-template-columns:1fr;} }
  .product-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:16px; display:flex; flex-direction:column; gap:14px; transition:transform .18s ease, box-shadow .18s ease;}
  .product-card:hover{transform:translateY(-5px); box-shadow:0 20px 34px -20px var(--shadow);}
  .product-card .cast{border-radius:14px;}
  .pc-title{font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:17px;}
  .pc-desc{font-size:13.5px; color:var(--ink-soft); line-height:1.5;}
  .pc-meta{display:flex; justify-content:space-between; align-items:baseline; font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--ink-faint); border-top:1px dashed var(--line); padding-top:10px;}
  .pc-price{color:var(--clay); font-weight:600;}
  .pc-order{font-size:12.5px; font-weight:700; color:var(--lagoon); text-decoration:none; display:inline-flex; align-items:center; gap:5px;}
  .pc-order:hover{color:var(--clay);}

  /* ---------- Catalog panel (flyer image) ---------- */
  .catalog-panel{display:grid; grid-template-columns:0.62fr 1.38fr; gap:40px; align-items:start;}
  @media (max-width:900px){ .catalog-panel{grid-template-columns:1fr;} }
  .catalog-img{border-radius:20px; overflow:hidden; box-shadow:0 20px 40px -22px var(--shadow); border:1px solid var(--line);}
  .catalog-list{display:grid; grid-template-columns:repeat(2,1fr); gap:12px 24px; margin-top:6px;}
  @media (max-width:560px){ .catalog-list{grid-template-columns:1fr;} }
  .catalog-list li{list-style:none; display:flex; gap:10px; align-items:baseline; font-size:14.5px; padding:10px 0; border-bottom:1px dashed var(--line);}
  .catalog-list li .num{font-family:"IBM Plex Mono",monospace; font-size:11.5px; color:var(--amber); font-weight:700; flex:none;}

  /* ---------- Process ---------- */
  .timeline{display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative;}
  @media (max-width:900px){ .timeline{grid-template-columns:1fr; gap:28px;} }
  .timeline::before{content:""; position:absolute; top:11px; left:0; right:0; height:2px; background:linear-gradient(90deg, var(--amber-glow), var(--lagoon));}
  @media (max-width:900px){ .timeline::before{ top:0; bottom:0; left:11px; width:2px; height:auto; right:auto; background:linear-gradient(180deg, var(--amber-glow), var(--lagoon)); } }
  .t-step{position:relative; padding:0 20px 0 0;}
  @media (max-width:900px){ .t-step{padding:0 0 0 34px;} }
  .t-dot{width:24px; height:24px; border-radius:50%; background:var(--surface); border:2px solid var(--clay); position:relative; z-index:2; margin-bottom:16px;}
  @media (max-width:900px){ .t-dot{position:absolute; left:0; top:0; margin:0;} }
  .t-time{font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--clay); font-weight:600;}
  .t-title{font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:16.5px; margin:6px 0 8px;}
  .t-desc{font-size:13.5px; color:var(--ink-soft); line-height:1.55;}

  /* ---------- Story ---------- */
  .story-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:center;}
  @media (max-width:900px){ .story-grid{grid-template-columns:1fr;} }
  .story-grid .cast{border-radius:26px; aspect-ratio:1;}
  blockquote{margin:22px 0 0; padding-left:20px; border-left:3px solid var(--amber); font-family:"Bricolage Grotesque",sans-serif; font-size:19px; font-style:normal; color:var(--ink); line-height:1.5;}
  blockquote cite{display:block; margin-top:10px; font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--ink-faint); font-style:normal;}

  /* ---------- Testimonials (swing tags) ---------- */
  .tags-row{display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:20px;}
  @media (max-width:860px){ .tags-row{grid-template-columns:1fr;} }
  .swing-tag{background:var(--surface); border:1px solid var(--line); border-radius:4px 4px 16px 16px; padding:30px 22px 22px; position:relative; box-shadow:0 14px 26px -18px var(--shadow);}
  .swing-tag:nth-child(1){transform:rotate(-2.2deg);}
  .swing-tag:nth-child(2){transform:rotate(1.4deg);}
  .swing-tag:nth-child(3){transform:rotate(-1deg);}
  .swing-tag .hole{position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:18px; height:18px; border-radius:50%; background:var(--cream-hole); border:2px solid var(--ink-faint);}
  .swing-tag p{font-size:14.5px; line-height:1.6; margin:0 0 14px; color:var(--ink);}
  .swing-tag cite{font-family:"IBM Plex Mono",monospace; font-size:12px; color:var(--ink-faint); font-style:normal;}

  /* ---------- Faiths / occasions grid ---------- */
  .faith-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:900px){ .faith-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .faith-grid{grid-template-columns:1fr;} }
  .faith-card{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:14px; text-align:left;}
  .faith-card .cast{border-radius:12px; aspect-ratio:16/11;}
  .faith-title{font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:15px; margin-top:12px;}
  .faith-desc{font-size:13px; color:var(--ink-soft); line-height:1.5; margin-top:4px;}
  .faith-tag{display:inline-block; margin-top:8px; font-family:"IBM Plex Mono",monospace; font-size:10.5px; color:var(--amber); text-transform:uppercase; letter-spacing:.06em;}

  /* ---------- Custom callout ---------- */
  .callout{background:linear-gradient(135deg, var(--walnut), var(--lagoon) 130%); border-radius:26px; padding:clamp(32px,5vw,56px); color:#F5EEDF; display:grid; grid-template-columns:1.3fr 0.7fr; gap:32px; align-items:center;}
  @media (max-width:820px){ .callout{grid-template-columns:1fr;} }
  .callout h2{color:#F8F3E8; font-size:clamp(24px,3vw,32px);}
  .callout p{color:#E4D9C4; font-size:15.5px; line-height:1.6; margin-top:12px; max-width:52ch;}
  .callout .btn-whatsapp{background:#F8F3E8; color:var(--walnut);}
  .callout .btn-whatsapp:hover{background:var(--amber-glow); color:var(--walnut);}

  /* ---------- Footer ---------- */
  footer{border-top:1px solid var(--line); padding:52px 0 34px; margin-top:20px;}
  .foot-grid{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:40px;}
  @media (max-width:820px){ .foot-grid{grid-template-columns:1fr 1fr; row-gap:32px;} }
  .foot-col h4{font-size:12.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); margin:0 0 14px;}
  .foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; font-size:14px;}
  .foot-col a{text-decoration:none; color:var(--ink-soft);}
  .foot-col a:hover{color:var(--clay);}
  .foot-bottom{margin-top:44px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--ink-faint); font-family:"IBM Plex Mono",monospace;}
.sale-strip{background:var(--clay);color:#F8F3E8;border-radius:18px;padding:18px 22px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;align-items:center;margin-bottom:28px}
.sale-strip b{font-family:"Bricolage Grotesque",sans-serif;font-size:22px}.sale-strip span{font-size:14.5px;opacity:.92}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.pl-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.pl-card h3{font-size:16.5px}.pl-card .pl-cat{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--amber);text-transform:uppercase;letter-spacing:.08em}
.pl-row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;border-bottom:1px dotted var(--line);padding-bottom:4px}
.pl-row:last-of-type{border-bottom:0}.pl-row b{font-family:"IBM Plex Mono",monospace;color:var(--clay);white-space:nowrap;font-weight:600}
.pl-row s{font-family:"IBM Plex Mono",monospace;color:var(--ink-faint);font-weight:400;margin-right:6px;font-size:12px}
.pl-card .pl-days{font-size:12px;color:var(--ink-faint)}
.pl-card a.pl-go{margin-top:auto;font-weight:700;font-size:13px;color:var(--lagoon);text-decoration:none}.pl-card a.pl-go:hover{color:var(--clay)}
.pl-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:30px}
.pl-offer{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:13.5px;color:var(--ink-soft)}
.pl-offer b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:16px;color:var(--ink);margin-bottom:4px}
.pl-offer .pr{font-family:"IBM Plex Mono",monospace;color:var(--clay);font-weight:600}
.pc-price s{color:var(--ink-faint);font-weight:400;margin-right:4px}
.pc-meta{flex-wrap:wrap;gap:4px 10px}.grid-collection>*,.thali-strip>*,.faith-grid>*{min-width:0}

/* ---------- added: occasion links, FAQ, areas, corporate, page hero ---------- */
.occ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.occ-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;transition:transform .15s ease,border-color .15s ease}
.occ-card:hover{transform:translateY(-2px);border-color:var(--clay)}
.occ-card b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:17px;margin-bottom:6px}
.occ-card span{font-size:13.5px;color:var(--ink-soft);line-height:1.5;display:block}
.occ-card i{font-style:normal;display:block;margin-top:10px;font-weight:700;font-size:13px;color:var(--lagoon)}
.faq{max-width:860px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:16.5px;list-style-position:outside}
.faq details p{color:var(--ink-soft);font-size:14.5px;line-height:1.65;margin:10px 0 2px}
.prose{max-width:74ch;color:var(--ink-soft);font-size:15.5px;line-height:1.75}
.prose p{margin:0 0 14px}.prose b{color:var(--ink)}
.prose ul{margin:0 0 14px;padding-left:20px}.prose li{margin-bottom:6px}
.page-hero{padding:clamp(34px,6vw,70px) 0 10px}
.page-hero h1{font-size:clamp(30px,4.6vw,48px);line-height:1.08;margin:12px 0 16px}
.page-hero .lede{max-width:64ch;color:var(--ink-soft);font-size:17px;line-height:1.65}
.crumbs{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-faint);letter-spacing:.04em}
.crumbs a{color:var(--ink-soft)}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,48px);align-items:start}
.two-col img{border-radius:22px;width:100%;height:auto;box-shadow:0 14px 30px -14px var(--shadow)}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.g-rating{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;text-decoration:none;margin-top:14px}
.g-rating em{font-style:normal;color:var(--amber);letter-spacing:2px}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:60;background:#1FA855;color:#fff;font-weight:700;font-size:14.5px;padding:13px 18px;border-radius:999px;text-decoration:none;box-shadow:0 10px 24px -8px rgba(0,0,0,.45)}
.wa-float:hover{background:#178a45}
.foot-areas{font-size:12.5px;color:var(--ink-faint);line-height:1.7;margin-top:22px;max-width:100ch}
