
  :root{
    --maroon:#5F1620; --maroon-deep:#4A1018; --gold:#A3773F; --gold-dark:#86602F; --gold-soft:#C9A56E;
    --ivory:#E5D6C1; --paper:#FBF6EE; --cream:#F6ECDF; --blush:#F4E5DA;
    --ink:#3A1B17; --ink-soft:#6E5A52; --line:rgba(163,119,63,.32);
  }
  *{box-sizing:border-box;}
  body{
    margin:0; color:var(--ink); font:14px/1.4 'Lato',sans-serif; -webkit-font-smoothing:antialiased;
    background-color:var(--paper);
    /* faint warm paper grain */
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .15 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  img{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3{font-family:'Playfair Display',serif; font-weight:500; margin:0;}
  .page{position:relative; overflow:hidden;}
  .ico{width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; flex:none;}
  .edge-sprig{position:absolute; z-index:1; width:120px; height:210px; color:var(--gold-soft); opacity:.42; pointer-events:none;}
  .edge-sprig.big{width:150px; height:262px; opacity:.55;}
  /* Playfair has no rupee glyph and uses old-style digits */
  .rs{font-family:'Segoe UI','Noto Sans',Arial,sans-serif; font-weight:600; margin-right:1px;}
  .pcard-price, .num, .modal-info .price{font-variant-numeric:lining-nums;}

  /* Gutters: exact 1440 composition at 1440; shrink on laptops; stay centred on wide screens */
  :root{
    --hdr:max(20px, min(72px, 5vw), calc((100vw - 1296px) / 2));
    --gut:max(16px, min(40px, 2.78vw), calc((100vw - 1360px) / 2));
    --hero-l:max(24px, min(120px, 8.33vw), calc((100vw - 1200px) / 2));
    --hero-r:max(24px, min(36px, 2.5vw), calc((100vw - 1368px) / 2));
  }

  /* ---------- Header ---------- */
  header.site{height:64px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; padding:0 var(--hdr); border-bottom:1px solid var(--line); background:rgba(251,246,238,.96); position:relative; z-index:5;}
  .logo img{height:50px; width:auto;}
  nav.links{display:flex; gap:clamp(16px, 2.4vw, 34px); font-size:14px; white-space:nowrap;}
  nav.links a{padding:6px 0; border-bottom:2px solid transparent;}
  nav.links a:hover{color:var(--maroon);}
  nav.links a.active{color:var(--maroon); font-weight:700; border-bottom-color:var(--maroon);}
  .wa-btn{justify-self:end; display:inline-flex; align-items:center; gap:9px; height:42px; padding:0 20px; border-radius:10px; background:var(--maroon); color:#FFF6EC; font-weight:700; font-size:14px; white-space:nowrap; box-shadow:0 6px 14px -8px rgba(74,16,24,.6);}
  .wa-btn:hover{background:var(--maroon-deep);}
  .wa-btn svg{width:20px; height:20px; fill:currentColor;}
  .wa-btn .sep{opacity:.55; font-weight:400;}
  .wa-btn .ph{display:flex; gap:9px;}
  .hdr-cta{justify-self:end; display:flex; align-items:center; gap:12px;}
  .ig-link{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; color:var(--maroon); border:1px solid var(--line); background:#FFFDF9;}
  .ig-link:hover{background:var(--maroon); color:#FFF6EC;}
  .ig-link .ico{width:21px; height:21px; stroke-width:1.6;}
  .dlg-pad .actions{margin-top:4px;}
  .nav-toggle, .mobile-nav{display:none;}

  /* ---------- Hero: one canvas -- copy | photograph | script, in a grid so nothing overlaps ---------- */
  .hero{position:relative; height:276px; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto clamp(170px, 13.9vw, 200px); align-items:center; padding:0 var(--hero-r) 0 var(--hero-l);
    background:
      radial-gradient(ellipse 330px 190px at 67% 50%, #FFFDF9 0%, rgba(255,253,249,.85) 45%, rgba(255,253,249,0) 100%),
      linear-gradient(180deg,#F8EEE1 0%,#F2E4D2 100%);}
  .hero-copy{position:relative; z-index:3; padding-right:12px;}
  .eyebrow{font-size:11px; letter-spacing:.34em; color:var(--ink-soft); text-transform:uppercase; margin:0 0 8px;}
  .hero h1{font-size:clamp(28px, 2.85vw, 41px); line-height:1.12; color:var(--maroon); letter-spacing:-.005em; margin-bottom:8px;}
  .hero h1 span{display:block; color:#5A2418;}
  .lede{font-size:clamp(14.5px, 1.18vw, 17px); margin:0 0 16px; color:var(--ink);}
  .actions{display:flex; flex-wrap:wrap; gap:12px clamp(12px, 1.5vw, 22px);}
  .btn{display:inline-flex; align-items:center; gap:10px; height:42px; padding:0 clamp(16px, 1.8vw, 26px); border-radius:3px; font:700 14px 'Lato',sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; white-space:nowrap;}
  .btn-solid{background:var(--maroon); color:#FFF6EC; border:1.5px solid var(--maroon);}
  .btn-solid:hover{background:var(--maroon-deep);}
  .btn-line{border:1.5px solid var(--maroon); color:var(--maroon); background:rgba(255,253,249,.6);}
  .btn-line:hover{background:#fff;}
  .btn-line svg{width:20px; height:20px; fill:currentColor;}
  .btn-line svg.ico{fill:none;}
  .trust{display:flex; flex-wrap:wrap; row-gap:8px; margin-top:18px;}
  .trust div{display:flex; align-items:center; gap:7px; font-size:clamp(12.5px, 0.94vw, 13.5px); padding:0 clamp(8px, 0.9vw, 13px); border-left:1px solid var(--line); white-space:nowrap;}
  .trust div:first-child{padding-left:0; border-left:0;}
  .trust .ico{color:var(--gold); width:clamp(19px, 1.5vw, 22px); height:clamp(19px, 1.5vw, 22px);}

  .hero-photo{align-self:stretch; width:clamp(300px, 32.6vw, 470px); position:relative; z-index:1;}
  /* soft side fades only: the blouses (full height) are never masked */
  .hero-photo .slide{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 1.2s ease;}
  .hero-photo .slide.on{opacity:1; z-index:1;}
  /* no zoom animation: the photo stays sharp and fully visible */
  @keyframes heroZoom{from{transform:scale(1);} to{transform:scale(1.04);}}
  .slides-pause{position:absolute; right:12px; bottom:12px; z-index:2; width:34px; height:34px; border-radius:50%; border:0; background:rgba(58,27,23,.6); color:#FFF6EC; font-size:11px; cursor:pointer;}
  @media (prefers-reduced-motion:reduce){ .hero-photo .slide{transition:none;} .hero-photo .slide.on img{animation:none;} }
  .skip-link{position:absolute; left:12px; top:-60px; z-index:100; background:var(--maroon); color:#FFF6EC; padding:10px 16px; border-radius:6px;}
  .skip-link:focus{top:10px;}
  .cat-dl{margin:-6px 0 14px; font-size:14px;}
  .cat-dl a{color:var(--maroon); font-weight:700; text-decoration:underline; text-underline-offset:3px;}
  .cat-dl span{color:var(--ink-soft); font-size:12.5px; margin-left:6px;}
  .load-error{grid-column:1 / -1; text-align:center; padding:24px; font-size:15px; color:var(--ink-soft);}
  .load-error button{margin-left:8px; font:inherit; color:var(--maroon); font-weight:700; background:none; border:0; text-decoration:underline; cursor:pointer;}
  /* each photo shown whole, like a print: portrait and landscape keep their own shape */
  .hero-photo img{width:auto; height:auto; max-width:100%; max-height:100%; border-radius:6px; box-shadow:0 22px 44px -22px rgba(58,27,23,.45);}
  .hero-script{position:relative; z-index:2; padding-left:8px;}
  .hero-script p{font:36px/1.02 'Great Vibes',cursive; color:var(--maroon); margin:0;}
  .hero-script p:nth-child(2){padding-left:22px;}
  .hero-script p:nth-child(3){padding-left:4px;}
  .hero-script .heart{width:30px; height:30px; margin:4px 0 0 92px; color:var(--maroon); stroke-width:1.1;}
  .hero-script .caps{font-size:11px; letter-spacing:.26em; line-height:1.7; color:var(--ink); margin:16px 0 0; text-transform:uppercase; font-family:'Lato',sans-serif;}
  .hero-script .rule{width:70px; height:1px; background:var(--gold); margin:8px 0 0 12px;}

  /* ---------- Collection strip ---------- */
  .cats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:8px var(--gut) 0; position:relative; z-index:1;}
  .cat{position:relative; display:flex; height:104px; overflow:hidden; border:1px solid var(--line); background:linear-gradient(90deg,#FBF4EA,#F5E9DA);}
  .cat img{width:58%; height:100%; object-fit:cover; -webkit-mask-image:linear-gradient(90deg,#000 68%,transparent); mask-image:linear-gradient(90deg,#000 68%,transparent); transition:transform .4s ease;}
  .cat:hover img{transform:scale(1.05);}
  .cat-text{flex:1; margin-left:-6%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; z-index:1;}
  .cat-text b{font:500 clamp(17px, 1.46vw, 21px)/1.12 'Playfair Display',serif; color:var(--ink);}
  .cat-text b i{font-style:normal; color:var(--maroon);}
  .cat-text small{margin-top:8px; font-size:11px; letter-spacing:.22em; color:var(--gold-dark); font-weight:700;}
  .cat-leaf{position:absolute; right:-14px; bottom:-40px; width:56px; height:100px; color:var(--gold-soft); opacity:.5; transform:rotate(28deg);}

  /* ---------- Featured ---------- */
  .feat-head{height:56px; display:flex; flex-direction:column; align-items:center; justify-content:center;}
  .orn{display:flex; align-items:center; gap:14px;}
  .orn::before,.orn::after{content:""; width:84px; height:1px; background:linear-gradient(90deg,transparent,var(--gold));}
  .orn::after{transform:scaleX(-1);}
  .orn svg{width:13px; height:13px; fill:var(--gold);}
  .feat-head h2{font-size:28px; line-height:1.1; color:var(--ink); padding:0 4px;}
  .feat-head p{margin:3px 0 0; font-size:11px; letter-spacing:.32em; color:var(--ink-soft); text-transform:uppercase;}

  /* Swipeable rows (Featured + Instagram): 4 cards visible on desktop, arrows scroll a page */
  .rail{position:relative;}
  .feat-grid, .ig-grid{display:grid; grid-auto-flow:column; grid-template-columns:none; gap:14px; padding:4px var(--gut) 6px; position:relative; z-index:1;
    overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gut); scroll-behavior:smooth; scrollbar-width:none; overscroll-behavior-x:contain;}
  .feat-grid::-webkit-scrollbar, .ig-grid::-webkit-scrollbar{display:none;}
  .feat-grid{grid-auto-columns:calc((100% - 42px) / 4);}
  .feat-grid > *, .ig-grid > *{scroll-snap-align:start;}
  .rail-btn{position:absolute; top:50%; z-index:3; width:36px; height:36px; margin-top:-18px; border-radius:50%; border:1px solid var(--gold-soft); background:#FFFDF9; color:var(--maroon); font:400 24px/1 Georgia,serif; cursor:pointer; box-shadow:0 4px 10px -4px rgba(95,22,32,.35);}
  .rail-btn:hover{background:var(--maroon); color:#FFF6EC;}
  .rail-btn.prev{left:max(4px, calc(var(--gut) - 18px));}
  .rail-btn.next{right:max(4px, calc(var(--gut) - 18px));}
  /* Instagram carousel */
  .ig{padding:22px 0 18px; position:relative;}
  .ig-grid{grid-auto-columns:calc((100% - 70px) / 6); gap:14px;}
  .ig-tile{position:relative; display:block; aspect-ratio:4/5; border-radius:6px; overflow:hidden; background:var(--cream); box-shadow:0 3px 8px -5px rgba(95,22,32,.25);}
  .ig-tile img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .ig-tile::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(43,17,20,.55)); opacity:0; transition:opacity .3s ease;}
  .ig-tile .ico{position:absolute; top:10px; right:10px; z-index:1; width:22px; height:22px; color:#FFF6EC; filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));}
  .ig-tile span{position:absolute; left:10px; right:10px; bottom:9px; z-index:1; color:#FFF6EC; font-size:12.5px; line-height:1.3; opacity:0; transform:translateY(6px); transition:opacity .3s ease, transform .3s ease;}
  .ig-tile:hover img, .ig-tile:focus-visible img{transform:scale(1.05);}
  .ig-tile:hover::after, .ig-tile:focus-visible::after, .ig-tile:hover span, .ig-tile:focus-visible span{opacity:1; transform:none;}
  .ig-cta{text-align:center; margin:14px 0 0;}
  @media (prefers-reduced-motion:reduce){ .feat-grid, .ig-grid{scroll-behavior:auto;} .ig-tile img{transition:none;} }
  .pcard{display:flex; gap:12px; height:136px; padding:5px; background:#FFFDF9; border:1px solid #E6D6BF; border-radius:3px; cursor:pointer; box-shadow:0 3px 8px -5px rgba(95,22,32,.18); transition:box-shadow .2s ease, transform .2s ease;}
  .pcard:hover{transform:translateY(-2px); box-shadow:0 10px 18px -10px rgba(95,22,32,.35);}
  .pcard-img{width:45%; max-width:160px; flex:none; background:var(--cream); overflow:hidden;}
  .feat-grid .pcard-img{width:auto; aspect-ratio:1/1; max-width:none;}  /* styled shoot photos are square */
  .pcard-img img{width:100%; height:100%; object-fit:cover;}
  .pcard-img a{display:block; height:100%;}
  .pcard h3 a{color:inherit; text-decoration:none;}
  .pcard-body{flex:1; min-width:0; display:flex; flex-direction:column; padding:7px 6px 4px 0;}
  .pcard h3{font-size:13.5px; line-height:1.26; color:var(--ink); margin-bottom:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
  .pcard-sku{margin:0 0 7px; font-size:11.5px; color:var(--ink-soft);}
  .pcard-dots{display:flex; gap:6px;}
  .pcard-dots span{width:13px; height:13px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);}
  .pcard-dots span.on{outline:1.5px solid var(--gold); outline-offset:1.5px;}
  .pcard-foot{margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 6px;}
  .pcard-price{font:700 17px 'Playfair Display',serif; color:var(--ink);}
  .pcard-sold{font:700 12px 'Lato',sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--maroon);}
  .pcard-btn{border:0; border-radius:3px; background:var(--maroon); color:#FFF6EC; font:700 11px 'Lato',sans-serif; padding:7px 9px; white-space:nowrap; cursor:pointer;}
  .pcard:hover .pcard-btn{background:var(--maroon-deep);}

  /* ---------- Maroon brand banner ---------- */
  .banner{position:relative; height:56px; margin-top:10px; overflow:hidden; display:flex; align-items:center; justify-content:center; gap:22px; padding:0 clamp(90px, 17vw, 250px);
    background:linear-gradient(90deg,#4A1018 0%,#6A1A25 22%,#6E1C27 50%,#6A1A25 78%,#4A1018 100%);}
  .banner-fab{position:absolute; top:0; height:100%; width:clamp(120px, 17.4vw, 250px); object-fit:cover; opacity:.9;}
  .banner-fab.l{left:0; -webkit-mask-image:linear-gradient(90deg,#000 25%,transparent); mask-image:linear-gradient(90deg,#000 25%,transparent);}
  .banner-fab.r{right:0; object-position:40% 50%; -webkit-mask-image:linear-gradient(270deg,#000 25%,transparent); mask-image:linear-gradient(270deg,#000 25%,transparent);}
  .banner .lotus{position:absolute; top:6px; width:62px; height:44px; color:var(--gold-soft); opacity:.55;}
  .banner .lotus.l{left:20.8%;} .banner .lotus.r{right:20.8%;}
  .banner h2{font-size:clamp(24px, 2.36vw, 34px); color:#FFF6EC; position:relative; white-space:nowrap;}
  .banner .vr{width:1px; height:32px; background:rgba(255,246,236,.5); flex:none;}
  .banner p{margin:0; font-size:11px; line-height:1.5; letter-spacing:.28em; color:#E9D3B5; text-transform:uppercase; position:relative; white-space:nowrap;}

  /* ---------- Ordering strip + trust slot ---------- */
  .order{height:92px; display:grid; grid-template-columns:repeat(3,1fr) minmax(360px, 420px); align-items:center; padding:0 var(--gut) 0 calc(var(--gut) + 20px); position:relative;}
  .step{display:flex; align-items:center; gap:12px; position:relative; padding-right:24px;}
  .step::after{content:""; position:absolute; right:12px; top:50%; height:40px; margin-top:-20px; border-right:1px solid var(--line);}
  .num{width:31px; height:31px; border-radius:50%; flex:none; display:grid; place-items:center; background:linear-gradient(180deg,#BE9660,#A3773F); color:#fff; font:700 14px 'Lato',sans-serif;}
  .step .ico{width:38px; height:38px; color:var(--maroon); stroke-width:1.15;}
  .step .ico.fill{fill:var(--maroon); stroke:none; width:34px; height:34px;}
  .step h3{font-size:15.5px; color:var(--maroon); margin-bottom:2px; white-space:nowrap;}
  .step p{margin:0; font-size:12px; color:var(--ink-soft);}
  .promise{position:relative; height:84px; display:flex; align-items:center; gap:16px; padding:0 20px 0 12px; border-radius:6px; background:linear-gradient(90deg,#F3E2D6,#F6EADF); border:1px solid rgba(163,119,63,.22);}
  .promise-emblem{width:66px; height:66px; border-radius:50%; flex:none; background:#FFFDF9; box-shadow:0 0 0 1px var(--line),0 4px 10px -6px rgba(95,22,32,.4); display:grid; place-items:center;}
  .promise-emblem img{width:60px; height:60px;}
  .promise h3{font:26px/1 'Great Vibes',cursive; color:var(--maroon); margin-bottom:2px;}
  .promise ul{list-style:none; margin:0; padding:0; font-size:12px; line-height:1.32;}
  .promise li{display:flex; align-items:center; gap:7px;}
  .promise li svg{width:12px; height:12px; color:var(--gold); stroke-width:2.2;}
  .promise .lotus{position:absolute; right:12px; top:8px; width:40px; height:28px; color:var(--gold); opacity:.45;}
  .promise-quote{margin:0; font-size:13px; font-style:italic;}
  .promise-by{margin:4px 0 0; font-size:11.5px; color:var(--ink-soft);}

  /* ---------- Footer ---------- */
  footer.site{height:58px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(16px, 2vw, 30px); padding:0 var(--hdr); border-top:1px solid var(--line); background:linear-gradient(180deg,#F7ECDF,#F3E5D4);}
  footer .logo img{height:38px;}
  .foot-nav{display:flex; justify-content:center; gap:clamp(14px, 1.9vw, 28px); font-size:13px; white-space:nowrap;}
  .foot-nav a:hover{color:var(--maroon);}
  .foot-info{display:flex; align-items:center;}
  .foot-info > div{display:flex; align-items:center; gap:10px; padding:0 clamp(12px, 1.5vw, 22px); border-left:1px solid var(--line); font-size:11.5px; line-height:1.3; color:var(--ink-soft); white-space:nowrap;}
  .foot-info .ico{width:26px; height:26px; color:var(--maroon);}
  .foot-info .ico.fill{fill:var(--maroon); stroke:none;}
  .foot-info b{display:block; font-size:14px; color:var(--maroon);}
  .bottom{height:40px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 var(--hdr) 0 calc(var(--hdr) + 128px); background:var(--maroon); color:#EAD7BD; font-size:11px; letter-spacing:.32em; text-transform:uppercase; white-space:nowrap;}
  .bottom span:last-child{padding-left:26px; border-left:1px solid rgba(234,215,189,.4); letter-spacing:.24em;}
  .bottom .mail{text-transform:none; letter-spacing:.06em; font-size:12px; text-decoration:underline; text-underline-offset:3px;}
  .seo-links{padding:14px var(--hdr); border-top:1px solid var(--line); background:#F8EFE4; color:var(--ink-soft); font-size:12px; line-height:1.8; text-align:center;}
  .seo-links strong{color:var(--maroon); margin-right:7px;}
  .seo-links a{display:inline-block; margin:0 5px; text-decoration:underline; text-decoration-color:rgba(95,22,32,.28); text-underline-offset:3px;}
  .seo-links a:hover{color:var(--maroon); text-decoration-color:currentColor;}
  .contact-line{font-size:14px; margin:14px 0 0 !important;}

  /* ---------- Laptop widths (e.g. 1280-1366, or 1920 screens at 125-150% scaling) ---------- */
  @media (max-width:1366px){
    .pcard-btn{padding:7px 7px; font-size:10.5px;}
    .pcard{gap:10px;}
  }
  @media (max-width:1680px){                        /* footer needs ~1600px on one row; stack the links below */
    footer.site{height:auto; grid-template-columns:auto auto; justify-content:space-between; row-gap:8px; padding-block:10px;}
    .foot-nav{grid-column:1 / -1; grid-row:2;}
  }
  @media (max-width:1240px){
    .wa-btn .ph{display:none;}                      /* keep the button, fold the number away */
    .hero{grid-template-columns:minmax(0,1fr) auto; padding-right:0;}
    .hero-script{display:none;}                     /* decorative: hidden rather than overlapping the photo */
    .feat-grid{grid-auto-columns:calc((100% - 14px) / 2);}
    .ig-grid{grid-auto-columns:calc((100% - 42px) / 4);}
    .order{height:auto; grid-template-columns:repeat(3,1fr); row-gap:10px; padding-block:14px;}
    .step:nth-child(3)::after{display:none;}
    .promise{grid-column:1 / -1; justify-self:center; width:min(560px, 100%);}
    .bottom{padding:0 var(--hdr); justify-content:center; letter-spacing:.2em; font-size:10px;}
    .bottom span:last-child{letter-spacing:.16em;}
  }
  @media (max-width:1100px){
    .logo img{height:44px;}
    nav.links{font-size:13px;}
    .hero{height:auto; min-height:276px;}
    .hero-copy{padding-block:18px;}
    .cats{grid-template-columns:repeat(2,1fr);}
    .banner .lotus{display:none;}
  }
  /* Phones/tablets: menu button instead of the nav row; single-column stacks (full mobile pass pending) */
  @media (max-width:900px){
    header.site{grid-template-columns:auto 1fr auto;}
    nav.links{display:none;}
    .nav-toggle{display:block; grid-column:3; background:none; border:0; font-size:26px; color:var(--maroon); cursor:pointer;}
    .hdr-cta{grid-column:2;} .wa-btn{padding:0 14px;}
    .mobile-nav.open{display:flex; flex-direction:column; position:absolute; top:64px; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); padding:6px var(--hdr) 14px;}
    .mobile-nav a{padding:12px 0; border-bottom:1px solid var(--line);}
    .hero{grid-template-columns:1fr; padding:0;}
    .hero-copy{padding:20px var(--hdr);}
    .hero-photo{width:min(100%, 520px); height:auto; aspect-ratio:1/1; margin:0 auto;}
    .hero-photo .slide{inset:16px;}
    .order{grid-template-columns:1fr;}
    .step::after{display:none;}
    footer.site{grid-template-columns:1fr; justify-items:center;}
    .foot-nav{grid-row:auto; flex-wrap:wrap;}
    .foot-info{flex-wrap:wrap; justify-content:center; row-gap:8px;}
    .bottom{height:auto; flex-direction:column; gap:4px; padding-block:10px; white-space:normal; text-align:center;}
    .bottom span:last-child{border:0; padding:0;}
    .banner{padding:0 16px;} .banner p, .banner .vr, .banner-fab{display:none;}
  }

  /* Keyboard focus: clearly visible on ivory and on maroon */
  a:focus-visible, button:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:3px;}
  /* Background stays put while a panel is open */
  html:has(dialog[open]){overflow:hidden;}
  .modal-main-photo{display:block; width:100%; padding:0; border:0; font:inherit;}
  .modal-note small{display:block; margin-top:6px; font-size:12.5px; color:var(--ink-soft);}
  .size-hint{margin:-6px 0 16px; font-size:14px; color:var(--ink-soft);}
  .size-hint a{color:var(--maroon); font-weight:700; text-decoration:underline; text-underline-offset:3px;}
  /* ---------- Dialogs (native <dialog>) ---------- */
  dialog{border:0; padding:0; border-radius:12px; background:var(--paper); color:var(--ink); max-height:92vh; width:min(980px, calc(100% - 40px));}
  dialog::backdrop{background:rgba(43,17,20,.55);}
  .dlg-close{position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:#fff; font-size:20px; line-height:1; cursor:pointer; z-index:2;}
  .dlg-pad{padding:28px 32px;}
  .dlg-pad h2{font-size:26px; color:var(--maroon); margin-bottom:12px;}
  .dlg-pad p{color:var(--ink-soft); line-height:1.6; margin:0 0 12px;}

  #shop-panel{width:min(1380px, calc(100% - 40px));}
  .filter-row{display:flex; justify-content:center; gap:8px; margin-bottom:18px;}
  .filter-pill{background:#fff; border:1px solid var(--line); color:var(--ink-soft); font:700 12.5px 'Lato',sans-serif; padding:7px 16px; border-radius:20px; cursor:pointer;}
  .filter-pill.active{background:var(--maroon); border-color:var(--maroon); color:#FFF6EC;}
  #product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}

  .modal-grid{display:grid; grid-template-columns:1.1fr 1fr;}
  .modal-gallery{padding:24px;}
  .modal-main-photo{position:relative; aspect-ratio:5/4; border-radius:10px; overflow:hidden; background:#F2F1EE; /* towel white: wide photos letterbox invisibly */ cursor:zoom-in; margin-bottom:12px;}
  .modal-main-photo img{width:100%; height:100%; object-fit:contain;}
  .zoom-tag{position:absolute; right:10px; bottom:10px; background:rgba(58,27,23,.72); color:#FFF6EC; font-size:12.5px; font-weight:700; padding:6px 11px; border-radius:16px; pointer-events:none;}
  .modal-thumbs, .modal-colors{display:flex; gap:8px; flex-wrap:wrap;}
  .modal-thumbs button, .modal-colors button{padding:0; border:2px solid transparent; border-radius:6px; overflow:hidden; cursor:pointer; background:var(--ivory);}
  .modal-thumbs button{width:80px; height:84px; display:flex; flex-direction:column; font:700 11.5px 'Lato',sans-serif; color:var(--ink-soft); background:#FFFDF9;}
  .modal-thumbs button img{height:64px;}
  .modal-thumbs button span{line-height:18px;}
  .modal-colors button{width:44px; height:44px;}
  .modal-thumbs img, .modal-colors img{width:100%; height:100%; object-fit:cover;}
  .modal-thumbs button.active, .modal-colors button.active{border-color:var(--gold);}
  .modal-info{padding:28px 28px 28px 0;}
  .sku-tag{display:inline-block; background:var(--ivory); color:var(--maroon); font-weight:700; font-size:12px; letter-spacing:.06em; padding:4px 11px; border-radius:14px; margin-bottom:10px;}
  .modal-info h2{font-size:24px; color:var(--ink); margin-bottom:6px;}
  .modal-info .technique{font-style:italic; color:var(--ink-soft); margin:0 0 14px;}
  .modal-info .price{font:700 26px 'Playfair Display',serif; color:var(--maroon); margin-bottom:18px;}
  .modal-info .price small{font:600 13px 'Lato',sans-serif; color:var(--ink-soft);}
  .color-label{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px;}
  .modal-colors{margin-bottom:18px;}
  .modal-note{background:var(--ivory); border-radius:10px; padding:14px 16px; font-size:13.5px; line-height:1.5; margin-bottom:18px;}
  #modal-whatsapp{width:100%; justify-content:center;}
  #style-inspiration{padding:0 24px 24px;}
  #style-inspiration h3{font-size:18px; margin-bottom:4px;}
  #style-inspiration-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}

  /* Zoom viewer: full screen; scroll/pinch/click to zoom, drag to move */
  #zoom-overlay{width:100vw; height:100vh; max-width:none; max-height:none; border-radius:0; background:#1A0C0F; color:#F3E6D5;}
  #zoom-overlay::backdrop{background:#1A0C0F;}
  .zoom-stage{position:absolute; inset:46px 0 64px; overflow:hidden; touch-action:none; cursor:zoom-in; user-select:none;}
  .zoom-stage.zoomed{cursor:grab;}
  .zoom-stage.dragging{cursor:grabbing;}
  .zoom-stage img{position:absolute; left:50%; top:50%; max-width:94vw; max-height:calc(100vh - 118px); translate:-50% -50%; transform-origin:center; will-change:transform;}
  .zoom-bar{position:absolute; left:0; right:0; bottom:0; height:64px; display:flex; align-items:center; justify-content:center; gap:10px; font-size:14px;}
  .zoom-bar button{min-width:44px; height:40px; padding:0 14px; border-radius:20px; border:1px solid rgba(243,230,213,.35); background:rgba(243,230,213,.08); color:inherit; font:700 16px 'Lato',sans-serif; cursor:pointer;}
  .zoom-bar button:hover{background:rgba(243,230,213,.18);}
  .zoom-bar output{min-width:56px; text-align:center; font-weight:700;}
  .zoom-hint{position:absolute; top:14px; left:0; right:0; margin:0; text-align:center; font-size:13px; opacity:.7; pointer-events:none;}
  #zoom-overlay .dlg-close{background:rgba(243,230,213,.12); color:#F3E6D5; border-color:rgba(243,230,213,.35);}

  /* Size & fit guide: readable type, explained step by step */
  #size-guide{width:min(780px, calc(100% - 40px));}
  .sg{font-size:16px; line-height:1.6; color:var(--ink);}
  .sg h2{font-size:30px; margin-bottom:6px;}
  .sg .intro{font-size:17px; color:var(--ink); margin:0 0 22px;}
  .sg h3{font-size:21px; color:var(--maroon); margin:26px 0 12px;}
  .sg-measure{display:grid; grid-template-columns:190px 1fr; gap:24px; align-items:center;}
  .sg-measure svg{width:190px; height:190px;}
  .sg ol{margin:0; padding-left:22px;}
  .sg li{margin-bottom:8px;}
  .sg table{width:100%; border-collapse:collapse; font-size:16px; background:#FFFDF9; border:1px solid var(--line);}
  .sg th{background:var(--maroon); color:#FFF6EC; font-weight:700; text-align:left; padding:10px 14px;}
  .sg td{padding:9px 14px; border-top:1px solid var(--line);}
  .sg td:last-child{font-weight:700; color:var(--maroon);}
  .sg tr:nth-child(even) td{background:#FAF1E6;}
  .sg .note{font-size:14px; color:var(--ink-soft); margin:8px 0 0;}
  .sg-tips{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .sg-tips div{background:var(--cream); border:1px solid var(--line); border-radius:8px; padding:14px 16px;}
  .sg-tips b{display:block; color:var(--maroon); font-size:16px; margin-bottom:4px;}
  .sg-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; counter-reset:s;}
  .sg-steps div{counter-increment:s; background:#FFFDF9; border:1px solid var(--line); border-radius:8px; padding:14px 16px 14px 56px; position:relative;}
  .sg-steps div::before{content:counter(s); position:absolute; left:14px; top:14px; width:30px; height:30px; border-radius:50%; background:var(--gold); color:#fff; font-weight:700; display:grid; place-items:center;}
  .sg .btn{margin-top:22px;}
  /* Pointer-specific wording: mouse says click, touch screens say tap */
  .t-tap{display:none;}
  @media (hover:none) and (pointer:coarse){ .t-click{display:none;} .t-tap{display:inline;} }

  /* ================= Tablet (601-900px) ================= */
  @media (max-width:900px){
    #product-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* ================= Phones (up to 600px: 360-430px handsets) ================= */
  @media (max-width:600px){
    body{font-size:15px;}
    .page{overflow:visible;}                  /* lets the header stay pinned while scrolling */
    .edge-sprig{display:none;}

    /* Header: logo | Order | menu -- pinned, so ordering is always one tap away */
    header.site{position:sticky; top:0; height:58px; grid-template-columns:auto 1fr auto; gap:10px; padding:0 12px 0 14px;}
    .logo img{height:38px;}
    .ig-link{display:none;}
    .wa-btn{height:44px; padding:0 16px; border-radius:22px; font-size:14.5px; gap:7px;}
    .wa-btn .lbl-long{display:none;}
    .wa-btn svg{width:18px; height:18px;}
    .nav-toggle{width:42px; height:42px; font-size:24px; line-height:1;}
    .mobile-nav.open{top:58px; padding:4px 18px 10px; box-shadow:0 14px 24px -14px rgba(43,17,20,.35);}
    .mobile-nav a{min-height:50px; display:flex; align-items:center; padding:0; font-size:16px;}

    /* Hero: copy, then the full shoot photo, then the brand line */
    .hero{display:flex; flex-direction:column; min-height:0;}
    .hero-copy{padding:22px 18px 18px;}
    .hero h1{font-size:clamp(23px, 6.6vw, 28px);}
    .lede{font-size:15.5px; line-height:1.45;}
    .actions{flex-direction:column; gap:10px;}
    .btn{width:100%; justify-content:center; height:48px; font-size:14.5px;}
    .trust{display:grid; grid-template-columns:1fr 1fr; gap:12px 10px; margin-top:18px;}
    .trust div{padding:0; border:0; font-size:14px;}
    .hero-photo{width:100%; height:auto; aspect-ratio:1/1;}
    .hero-photo img{-webkit-mask-image:none; mask-image:none;}
    .hero-script{display:block; text-align:center; padding:12px 10px 4px;}
    .hero-script p{display:inline; font-size:27px; padding:0 3px !important;}
    .hero-script .heart, .hero-script .caps, .hero-script .rule{display:none;}

    /* Collections: 2 x 2 photo tiles */
    .cats{grid-template-columns:1fr 1fr; gap:10px; padding:14px 14px 0;}
    .cat{flex-direction:column; height:auto;}
    .cat img{width:100%; height:auto; aspect-ratio:520/306; -webkit-mask-image:none; mask-image:none;}
    .cat-text{margin:0; padding:10px 6px 12px;}
    .cat-text b{font-size:16.5px;}
    .cat-text small{margin-top:6px;}
    .cat-leaf{display:none;}

    /* Featured: full-width cards, larger type and tap targets */
    .feat-head{height:auto; padding:26px 10px 14px; text-align:center;}
    .feat-head h2{font-size:25px;}
    .orn{gap:10px;} .orn::before, .orn::after{width:36px;}
    .feat-head p{font-size:11px; letter-spacing:.22em;}
    #product-grid{grid-template-columns:1fr; gap:10px;}
    .feat-grid{grid-auto-columns:86%; gap:10px; padding:4px 14px 6px; scroll-padding-inline:14px;}
    .ig-grid{grid-auto-columns:44%; gap:10px; padding:4px 14px 6px; scroll-padding-inline:14px;}
    .ig-tile span{opacity:1; transform:none; font-size:11.5px;}  /* no hover on phones: always show */
    .ig-tile::after{opacity:1;}
    .rail-btn{display:none;}  /* swipe instead */
    .pcard{height:auto; min-height:140px; gap:12px;}
    .pcard-img{width:42%; max-width:none; aspect-ratio:5/4; align-self:center;}
    .feat-grid .pcard-img{aspect-ratio:1/1; width:40%;}
    .pcard-body{padding:4px 4px 2px 0;}
    .pcard h3{font-size:15px;}
    .pcard-sku{font-size:12.5px;}
    .pcard-dots span{width:15px; height:15px;}
    .pcard-price{font-size:18.5px;}
    .pcard-btn{min-height:40px; padding:0 12px; font-size:13px;}   /* the whole card is also tappable */

    /* Brand banner: stacked, readable */
    .banner{height:auto; flex-direction:column; gap:4px; padding:18px 16px; margin-top:24px; text-align:center;}
    .banner h2{font-size:25px;}
    .banner p{display:block; white-space:normal; letter-spacing:.2em;}
    .banner .vr{display:none;}

    /* How to order + promise */
    .order{grid-template-columns:1fr; row-gap:16px; padding:22px 16px;}
    .step{padding-right:0;}
    .step h3{font-size:16.5px;}
    .step p{font-size:13.5px;}
    .promise{height:auto; width:100%; padding:14px;}
    .promise ul{font-size:13.5px; line-height:1.5;}
    .promise .lotus{display:none;}

    /* Footer: one column, contact details as a list */
    footer.site{padding:20px 16px 18px; gap:14px;}
    footer .logo img{height:40px;}
    .foot-info{flex-direction:column; align-items:stretch; width:100%; max-width:330px;}
    .foot-info > div{border:0; border-top:1px solid var(--line); padding:11px 4px; font-size:13px;}
    .foot-nav{gap:0 6px; font-size:14.5px; white-space:normal; justify-content:center;}
    .foot-nav a{min-height:44px; display:inline-flex; align-items:center; padding:0 7px;}
    .foot-info a{min-height:44px; display:flex; flex-direction:column; justify-content:center;}
    .bottom{font-size:11.5px; letter-spacing:.12em; padding:12px 14px; line-height:1.7;}
    .bottom .mail{display:inline-block; padding:10px 4px; font-size:13px;}

    /* Panels become full-screen sheets */
    dialog{width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; border-radius:0;}
    #size-guide, #shop-panel{width:100%;}
    .dlg-close{position:fixed; top:10px; right:10px; width:42px; height:42px; box-shadow:0 4px 12px -4px rgba(43,17,20,.35);}
    .dlg-pad{padding:22px 16px 30px;}
    .dlg-pad h2{padding-right:48px;}

    /* Product sheet: edge-to-edge photo, order button always on screen */
    .modal-grid{grid-template-columns:1fr;}
    .modal-gallery{padding:0 0 10px;}
    .modal-main-photo{border-radius:0; margin-bottom:10px;}
    .modal-thumbs{padding:0 14px;}
    .modal-info{padding:8px 16px 96px;}
    .modal-info h2{font-size:22px;}
    #modal-whatsapp{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); width:auto; height:52px; z-index:3; box-shadow:0 10px 24px -8px rgba(74,16,24,.65);}
    #style-inspiration{padding:0 16px 96px;}

    /* Shop All: swipeable filters, one card per row */
    .filter-row{justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin:0 -16px 14px; padding:0 16px 4px; scrollbar-width:none;}
    .filter-pill{flex:none; padding:10px 16px; font-size:14px;}

    /* Size guide */
    .sg h2{font-size:26px;}
    .sg .intro{font-size:16px;}
    .sg-measure{grid-template-columns:1fr; justify-items:center; gap:10px;}
    .sg-tips, .sg-steps{grid-template-columns:1fr;}
    .sg table{font-size:15px;}
    .sg th, .sg td{padding:9px 10px;}
    .sg .btn{height:auto; min-height:48px; white-space:normal; text-align:center;}


    /* Zoom viewer */
    .zoom-hint{font-size:12.5px; text-align:left; padding:0 60px 0 14px;}
    .zoom-stage{inset:58px 0 64px;}
    .zoom-stage img{max-width:100vw; max-height:calc(100dvh - 130px);}
  }

  /* ================= Breathing room (premium spacing pass) =================
     Spacing/size overrides only -- delete this block to return to the compact layout. */
  .edge-sprig, .cat-leaf{display:none;}                     /* fewer ornaments */
  @media (min-width:1101px){
    :root{ --gut:max(40px, calc((100vw - 1200px) / 2)); --hdr:var(--gut); --hero-l:var(--gut); --hero-r:var(--gut); }
    .hero{height:560px; column-gap:56px; grid-template-columns:minmax(560px,1fr) minmax(0,520px); padding-right:var(--gut);}
    .hero-script{display:none;}                              /* text + photo only: calmer hero */
    .hero h1{font-size:clamp(36px, 3.1vw, 46px); margin-bottom:14px;}
    .lede{font-size:18px; margin-bottom:30px;}
    .actions{gap:16px;}
    .trust{margin-top:34px;}
    .hero-photo{width:auto;}                                 /* the column left after the text, up to 520px */
    .hero-photo .slide{inset:32px 0;}
    .cats{gap:24px; padding:88px var(--gut) 0;}
    .cat{height:150px;}
    .cat-text b{font-size:22px;}
    .cat-text{padding-right:16px;}
    .feat-head{height:auto; padding:96px 0 36px;}
    .feat-head h2{font-size:34px;}
    .feat-head p{margin-top:10px;}
    .feat-grid{grid-auto-columns:calc((100% - 48px) / 3); gap:24px;}
    .pcard{height:170px; padding:8px; gap:18px;}
    .pcard-body{padding:10px 8px 6px 0;}
    .pcard h3{font-size:15px;}
    .banner{height:130px; margin-top:96px;}
    .banner h2{font-size:clamp(30px, 2.8vw, 42px);}
    .banner-fab{width:clamp(160px, 20vw, 300px);}
    .order{height:auto; padding:88px var(--gut); column-gap:24px; grid-template-columns:repeat(3,1fr) minmax(330px, 360px);}
    .ig{padding:8px 0 96px;}
    .ig .feat-head{padding-top:24px;}
    .ig-grid{grid-auto-columns:calc((100% - 72px) / 4); gap:24px;}
    .ig-cta{margin-top:36px;}
    footer.site{height:auto; padding:40px var(--hdr);}
    .bottom{height:52px; padding:0 var(--hdr);}
  }
  @media (min-width:601px) and (max-width:1100px){
    .hero-copy{padding-block:40px;}
    .hero-photo{aspect-ratio:1/1; align-self:center;}
    .cats{gap:18px; padding-top:56px;}
    .cat{height:130px;}
    .feat-head{height:auto; padding:72px 0 28px;}
    .feat-grid{gap:18px; grid-auto-columns:calc((100% - 18px) / 2);}
    .pcard{height:160px;}
    .banner{height:auto; padding-block:36px; margin-top:72px;}
    .order{padding-block:64px; row-gap:28px;}
    .ig{padding:0 0 72px;}
    .ig-grid{gap:18px; grid-auto-columns:calc((100% - 36px) / 3);}
    .ig-cta{margin-top:28px;}
    footer.site{padding-block:32px;}
  }
  @media (max-width:600px){
    .hero-copy{padding:36px 20px 30px;}
    .trust{margin-top:24px;}
    .cats{gap:14px; padding:44px 16px 0;}
    .feat-head{padding:56px 12px 22px;}
    .feat-grid{gap:14px;}
    .banner{margin-top:56px; padding:30px 18px;}
    .order{padding:52px 18px; row-gap:24px;}
    .ig{padding:0 0 56px;}
    .ig-grid{gap:12px;}
    .ig-cta{margin-top:26px;}
    footer.site{padding:32px 18px 28px;}
  }

  /* Real-photos promise: highlighted maroon band under the hero (owner request 2026-09-28) */
  .real-photos{margin:0; padding:16px var(--gut); background:var(--maroon); color:#FFF6EC; text-align:center; font-size:15.5px; line-height:1.5;}
  .real-photos strong{color:var(--gold-soft); letter-spacing:.02em;}
  @media (max-width:600px){ .real-photos{padding:14px 18px; font-size:14.5px;} .real-photos strong{display:block;} }

  /* ======= Hero "B" (owner-approved 2026-09-28, Sujatra-inspired): announcement strip, ivory band,
     gold-framed photo, per-slide collection name, pill buttons, arrows + dots. Overrides only. ======= */
  .topbar{background:var(--maroon); color:#F3E3CC; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; text-align:center; padding:8px 16px; white-space:nowrap; overflow:hidden;}
  .topbar b{color:var(--gold-soft); font-weight:700;}
  .topbar span{display:inline-block;}
  .hero{background:linear-gradient(180deg,#F8EFE3 0%,#F1E4D2 100%);}
  .hero .btn{border-radius:999px;}
  .hero-photo img{box-shadow:0 0 0 1px rgba(163,119,63,.45), 0 0 0 9px #F8EFE3, 0 0 0 10px rgba(163,119,63,.3), 0 30px 55px -26px rgba(58,27,23,.5);}
  .hero-rule{width:64px; height:1px; background:var(--gold-soft); margin:0 0 16px;}
  .slide-tag{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:0 0 4px; min-height:1em;}
  .slide-name{font-family:'Playfair Display',serif; font-size:20px; color:var(--maroon); margin:0 0 22px; min-height:1.3em;}
  .slide-nav{position:absolute; top:50%; z-index:3; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; border:0; background:rgba(95,22,32,.1); color:var(--maroon); font-size:22px; line-height:1; cursor:pointer;}
  .slide-nav.prev{left:-6px;} .slide-nav.next{right:-6px;}
  .slide-nav:hover{background:rgba(95,22,32,.2);}
  .slide-dots{position:absolute; left:0; right:0; bottom:4px; z-index:3; display:flex; justify-content:center; gap:9px;}
  .slide-dots button{width:9px; height:9px; padding:0; border-radius:50%; border:1.5px solid var(--maroon); background:transparent; cursor:pointer;}
  .slide-dots button[aria-current="true"]{background:var(--maroon);}
  @media (min-width:1101px){ .hero{height:620px;} .hero-photo .slide{inset:36px 0 40px;} }
  @media (max-width:600px){
    .topbar{font-size:11px; text-align:left;}
    .topbar span{padding-left:100%; animation:topbar-scroll 22s linear infinite;}
    .slide-name{font-size:18px; margin-bottom:16px;}
    .slide-nav{display:none;}
  }
  @keyframes topbar-scroll{to{transform:translateX(-100%);}}
  @media (prefers-reduced-motion:reduce){ .topbar span{animation:none; padding-left:0;} }

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--maroon);outline-offset:3px}
.btn,.wa-btn,.filter-pill,.pcard-btn,.dlg-close,.nav-toggle,.slides-pause,.rail-btn,.zoom-bar button{min-height:48px}.dlg-close,.nav-toggle,.slides-pause,.rail-btn,.zoom-bar button{min-width:48px}.pcard-btn{display:inline-flex;align-items:center;justify-content:center;white-space:normal}.slide-nav{display:grid;place-items:center;min-width:48px;min-height:48px}.slide-counter{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);background:var(--ivory);color:var(--maroon);padding:5px 12px;border-radius:16px;font-weight:700}.slides-pause{bottom:2px}.slide-dots{display:none}
.catalogue-controls{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;margin:16px 0}.catalogue-controls label{display:grid;gap:5px;font-weight:700}.catalogue-controls input,.catalogue-controls select,.catalogue-controls button{min-width:0;min-height:48px;font:inherit;padding:8px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink)}.catalogue-controls button{align-self:end;cursor:pointer}#catalogue-count{min-height:40px}.load-error button{min-height:48px}.feat-grid{min-height:300px}
@media(max-width:600px){.catalogue-controls{grid-template-columns:1fr 1fr}.catalogue-controls label:first-child{grid-column:1/-1}.pcard-foot{flex-wrap:wrap}.slide-nav{display:grid}.slide-nav.prev{left:0}.slide-nav.next{right:0}.dlg-close{top:6px;right:6px}.sg .intro{padding-right:22px}.slide-counter{bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* "Recently Sold" strip (app.js renderSold): loops over two copies; pauses on hover/focus; swipeable and still with reduced motion */
.sold{padding:26px 0 6px;}
.sold-strip{overflow:hidden; padding:6px 0 4px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.sold-track{display:flex; width:max-content; animation:sold-roll 35s linear infinite;}
.sold-strip:hover .sold-track,.sold-strip:focus-within .sold-track{animation-play-state:paused;}
.sold-tile{position:relative; flex:none; width:150px; margin-right:14px; color:var(--ink); text-decoration:none; text-align:center; font-size:13px;}
.sold-tile img{display:block; width:150px; height:150px; object-fit:cover; border-radius:6px; border:1px solid var(--line); filter:grayscale(.35) brightness(.92);}
.sold-tile span{display:block; margin-top:6px; line-height:1.3;}
@keyframes sold-roll{to{transform:translateX(-50%);}}
@media(max-width:600px){.sold-tile{width:120px; margin-right:10px; font-size:12px;} .sold-tile img{width:120px; height:120px;}}
@media(prefers-reduced-motion:reduce){.sold-strip{overflow-x:auto; -webkit-mask-image:none; mask-image:none;} .sold-track{padding:0 var(--gut);} .sold-tile.dup{display:none;}}
/* "Sold Out" stamp across the photo: Shop All cards and the Recently Sold strip */
.sold-stamp{position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-14deg); pointer-events:none; padding:6px 12px; border:3px double #FFF6EC; border-radius:4px; background:var(--maroon); color:#FFF6EC; font:800 15px/1 'Lato',sans-serif; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; box-shadow:0 4px 14px rgba(58,27,23,.35);}
.pcard.is-sold .pcard-img{position:relative;}
.pcard .sold-stamp{font-size:12px; letter-spacing:.12em; padding:5px 8px;}
.pcard.is-sold .pcard-img img{filter:grayscale(.35) brightness(.92);}
.sold-tile .sold-stamp{top:75px; font-size:13px; padding:5px 10px;}
@media(max-width:600px){.sold-tile .sold-stamp{top:60px; font-size:11px;}}
/* "Join Our WhatsApp Group" band above the footer: QR for desktop visitors, button for phones */
.wa-group{display:flex; align-items:center; justify-content:center; gap:28px; margin:10px var(--gut) 36px; padding:24px; border:1px solid var(--line); border-radius:8px; background:#FFFBF5;}
.wa-group img{width:148px; height:148px; flex:none;}
.wa-group h2{font-family:'Playfair Display',serif; color:var(--maroon); font-size:26px; margin:0 0 6px;}
.wa-group p{margin:0 0 14px; color:var(--ink-soft);}
@media(max-width:600px){.wa-group{flex-direction:column; text-align:center; gap:14px;} .wa-group img{width:120px; height:120px;}}
/* Phones: CTA buttons are full width, so their row needs side margins; Featured cards hug their content (natural height ~175px) */
@media(max-width:600px){.ig-cta{padding:0 16px}.feat-grid{min-height:180px}}

/* Hero gallery: keep the whole original photograph above a visible choice of designs. */
.hero-gallery{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;align-self:stretch;min-width:0;min-height:360px;width:100%;padding:20px 0 12px}
.hero-gallery .hero-photo{width:100%;height:100%;min-height:0;aspect-ratio:auto}
.hero-gallery .hero-photo .slide{inset:12px 0 48px}
.hero-thumbs{position:relative;display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent}
.hero-thumbs[hidden]{display:none}
.hero-thumb{flex:0 0 62px;width:62px;height:62px;padding:3px;border:1px solid var(--gold-soft);border-radius:6px;background:var(--paper);cursor:pointer}
.hero-thumb img{width:100%;height:100%;object-fit:contain;border-radius:3px}
.hero-thumb[aria-pressed="true"]{border:3px solid var(--maroon);padding:1px;background:white}
.hero-thumb:hover{background:white;border-color:var(--maroon)}
.hero-thumb:focus-visible{outline:3px solid var(--maroon);outline-offset:2px}
@media(min-width:601px) and (max-width:1100px){.hero-gallery{grid-template-rows:clamp(300px,60vw,480px) auto;width:min(100%,520px);min-height:0;margin-inline:auto;padding:16px}}
@media(max-width:600px){.hero-gallery{display:block;min-height:0;padding:0 16px 16px}.hero-gallery .hero-photo{height:auto;aspect-ratio:1/1}.hero-thumbs{margin-top:8px}.hero-thumb{flex-basis:58px;width:58px;height:58px}}
