@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,600&family=DM+Mono&family=Montserrat:wght@400;500;600&display=swap');

:root { --paper:#edf7fb; --surface:#f8fcfe; --mist:#dbeef6; --water:#98c5dc; --blue:#4d86ad; --indigo:#173a62; --ink:#19334c; --muted:#58758b; --line:#c9dfeb; --space-1:8px; --space-2:16px; --space-3:24px; --space-4:40px; --space-5:64px; --space-6:96px; --radius:3px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Montserrat, sans-serif; font-size:15px; line-height:1.65; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:linear-gradient(rgba(237,247,251,.88),rgba(237,247,251,.94)),url("images/nilouh-lotus-background.png") center top / cover; }
a { color:inherit; text-decoration:none; } button { font:inherit; } img { max-width:100%; }
:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.sr-only { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.skip-link { position:fixed; left:16px; top:-70px; z-index:20; background:var(--indigo); color:white; padding:10px 14px; font-size:12px; }.skip-link:focus { top:16px; }
.announcement { background:var(--indigo); color:#f5fbfe; padding:8px var(--space-3); text-align:center; font:10px "DM Mono",monospace; letter-spacing:.11em; text-transform:uppercase; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(237,247,251,.94); border-bottom:1px solid rgba(201,223,235,.8); backdrop-filter:blur(12px); }
.header-inner, .section-shell, .site-footer { max-width:1240px; margin:auto; padding-left:40px; padding-right:40px; }
.header-inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }
.brand { display:block; flex:0 0 auto; }.brand img { display:block; width:56px; height:56px; object-fit:cover; object-position:top; border-radius:50%; }
.site-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }.site-nav a { color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.site-nav a:hover { color:var(--indigo); }
.header-cta, .button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:44px; padding:0 17px; background:var(--indigo); color:#fff; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; transition:background .2s ease, transform .2s ease; }.header-cta:hover,.button:hover { background:var(--blue); transform:translateY(-1px); }
.menu-toggle { display:none; background:none; border:0; color:var(--indigo); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.section-shell { padding-top:var(--space-6); padding-bottom:var(--space-6); }
.section-kicker, .eyebrow { display:flex; gap:9px; align-items:center; margin:0 0 14px; color:var(--blue); font:10px "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }.section-kicker span { color:var(--indigo); }
h1,h2,h3 { margin:0; color:var(--indigo); font-family:"Cormorant Garamond",serif; font-weight:600; line-height:.96; letter-spacing:-.045em; } h1 { font-size:clamp(48px,6vw,84px); } h1 em { color:var(--blue); font-weight:600; } h2 { font-size:clamp(39px,4.7vw,66px); } h3 { font-size:26px; }
.collection-intro { padding-top:54px; padding-bottom:54px; }.collection-intro__heading { display:flex; align-items:end; justify-content:space-between; gap:var(--space-4); }.collection-intro__heading > p, .section-heading > p { max-width:290px; margin:0; color:var(--muted); font-size:13px; }
.category-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:42px; }.category-card { min-height:188px; display:flex; flex-direction:column; padding:17px; background:rgba(219,238,246,.88); border:1px solid rgba(201,223,235,.9); transition:transform .2s ease, background .2s ease; }.category-card:nth-child(2) { background:rgba(207,229,240,.9); }.category-card:nth-child(3) { background:rgba(192,219,234,.9); }.category-card:nth-child(4) { background:rgba(176,210,228,.9); }.category-card:nth-child(5) { background:rgba(160,200,222,.9); }.category-card:hover { background:#f7fcfe; transform:translateY(-4px); }.category-card > span { color:var(--blue); font:10px "DM Mono",monospace; }.category-card h2 { margin-top:auto; font-size:25px; }.category-card p { margin:6px 0 15px; color:var(--muted); font-size:10px; }.category-card b { font-size:10px; letter-spacing:.06em; text-transform:uppercase; }.category-card i { font-style:normal; padding-left:4px; }
.featured { border-top:1px solid var(--line); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:var(--space-4); margin-bottom:32px; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.product-card { min-width:0; }.image-frame { position:relative; overflow:hidden; background:var(--mist); }.product-image { aspect-ratio:3 / 4; }.image-frame img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }.product-card:hover img { transform:scale(1.025); }.missing-image { position:absolute; inset:0; display:grid; place-items:center; padding:24px; color:var(--indigo); text-align:center; font-size:12px; }.product-copy { padding:17px 0 9px; }.product-copy h3 { font-size:27px; }.product-copy p { margin:3px 0 0; color:var(--muted); font-size:11px; }.text-action { display:inline-flex; gap:8px; align-items:center; color:var(--indigo); border-bottom:1px solid var(--water); padding-bottom:4px; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }.text-action:hover { color:var(--blue); border-color:var(--blue); }
.story { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,110px); align-items:stretch; border-top:1px solid var(--line); }.story-art { min-height:500px; background:linear-gradient(rgba(225,243,250,.12),rgba(225,243,250,.12)),url("images/nilouh-lotus-background.png") right center / cover; }.story-copy { align-self:center; }.story-copy > p:not(.eyebrow) { max-width:475px; margin:20px 0 0; color:var(--muted); font-size:13px; }.story-copy .text-action { margin-top:25px; }.brand-essence { display:grid; gap:15px; max-width:475px; margin-top:26px; padding-top:21px; border-top:1px solid var(--line); }.brand-essence section { display:grid; grid-template-columns:145px 1fr; gap:16px; align-items:start; }.brand-essence h3 { font-family:Montserrat,sans-serif; font-size:9px; font-weight:600; line-height:1.45; letter-spacing:.1em; text-transform:uppercase; }.brand-essence p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.custom-order { border-top:1px solid var(--line); background:rgba(219,238,246,.42); }.custom-order__grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(40px,9vw,120px); align-items:start; }.custom-order__grid > div > p { max-width:360px; margin:19px 0 27px; color:var(--muted); font-size:13px; }.process { display:grid; gap:23px; margin:0; padding:0; list-style:none; }.process li { display:grid; grid-template-columns:42px 1fr; gap:15px; padding-bottom:23px; border-bottom:1px solid var(--line); }.process li:last-child { padding-bottom:0; border-bottom:0; }.process li > span { color:var(--blue); font:10px "DM Mono",monospace; padding-top:4px; }.process h3 { font-size:24px; }.process p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.values { border-top:1px solid var(--line); }.value-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.value-grid article { min-height:205px; padding:24px 23px; border-right:1px solid var(--line); }.value-grid article:first-child { padding-left:0; }.value-grid article:last-child { border-right:0; }.value-grid span { color:var(--blue); font-size:22px; }.value-grid h3 { margin:13px 0 7px; font-size:25px; }.value-grid p { margin:0; color:var(--muted); font-size:12px; }
.faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(40px,9vw,130px); align-items:start; border-top:1px solid var(--line); }.faq-list { border-top:1px solid var(--line); }.faq details { border-bottom:1px solid var(--line); }.faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; padding:19px 0; color:var(--indigo); font-size:13px; font-weight:600; }.faq summary::-webkit-details-marker { display:none; }.faq summary span { color:var(--blue); font-size:20px; font-weight:400; transition:transform .2s ease; }.faq details[open] summary span { transform:rotate(45deg); }.faq details p { max-width:530px; margin:0 0 20px; color:var(--muted); font-size:12px; }
.closing { max-width:1160px; min-height:350px; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0 auto 80px; padding:68px 24px; background:var(--indigo); color:#eef8fc; text-align:center; }.closing > p { margin:0 0 9px; color:var(--water); font:italic 26px "Cormorant Garamond",serif; }.closing h2 { color:#fff; }.button--light { margin-top:29px; background:#d6ecf6; color:var(--indigo); }.button--light:hover { background:#fff; }
.site-footer { display:grid; grid-template-columns:1.2fr 1fr 1fr; align-items:center; gap:var(--space-4); padding-top:38px; padding-bottom:38px; border-top:1px solid var(--line); }.footer-brand { display:flex; align-items:center; gap:13px; }.footer-brand img { width:53px; height:53px; object-fit:cover; object-position:top; border-radius:50%; }.site-footer p { margin:0; color:var(--muted); font-size:11px; }.site-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 20px; }.site-footer nav a,.footer-contact a { color:var(--indigo); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }.footer-contact { text-align:right; }.footer-contact p { margin-top:7px; }
/* Sarees collection page */
.collection-page { max-width:1240px; margin:auto; padding:70px 40px 100px; }.collection-page__intro { max-width:500px; }.collection-page__intro p:last-of-type { color:var(--muted); font-size:13px; }.back-link { display:inline-flex; margin:25px 0 45px; color:var(--indigo); border-bottom:1px solid var(--water); padding-bottom:4px; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }.collection-products { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.collection-image { aspect-ratio:3 / 4; }.collection-product h2 { margin:16px 0 4px; font-size:28px; }.collection-product > p { margin:0 0 12px; color:var(--muted); font-size:11px; }
.product-carousel { width:100%; }.carousel-stage { position:relative; aspect-ratio:3 / 4; overflow:hidden; background:var(--mist); }.carousel-slide { width:100%; height:100%; margin:0; }.carousel-slide img { width:100%; height:100%; display:block; object-fit:cover; }.carousel-control { position:absolute; top:50%; z-index:1; width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.88); color:var(--indigo); cursor:pointer; transform:translateY(-50%); }.carousel-control:hover { background:#fff; }.carousel-control--previous { left:10px; }.carousel-control--next { right:10px; }.carousel-thumbnails { display:flex; gap:6px; overflow-x:auto; padding-top:8px; }.carousel-thumbnails button { flex:0 0 42px; height:55px; padding:0; overflow:hidden; border:1px solid transparent; background:var(--mist); cursor:pointer; }.carousel-thumbnails button.is-active { border-color:var(--indigo); }.carousel-thumbnails img { width:100%; height:100%; display:block; object-fit:cover; }
.coming-soon { max-width:760px; min-height:calc(100vh - 140px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; margin:auto; padding:70px 40px; }.coming-soon h1 { margin-bottom:20px; }.coming-soon > p:not(.eyebrow) { max-width:450px; color:var(--muted); font-size:13px; }.coming-soon .button { margin-top:10px; }.coming-soon .back-link { margin-bottom:0; }
@media (max-width:820px) { .header-inner,.section-shell,.site-footer,.collection-page { padding-left:24px; padding-right:24px; }.category-grid { grid-template-columns:repeat(3,1fr); }.category-card { min-height:160px; }.story,.custom-order__grid,.faq { gap:48px; }.value-grid { grid-template-columns:repeat(2,1fr); }.value-grid article:nth-child(3) { padding-left:0; }.value-grid article:nth-child(2) { border-right:0; }.collection-products { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { body { font-size:14px; }.announcement { font-size:9px; }.header-inner { min-height:76px; }.brand img { width:51px; height:51px; }.menu-toggle { display:block; margin-left:auto; padding:12px 0 12px 12px; }.site-nav { display:none; position:absolute; top:100%; right:0; left:0; gap:0; margin:0; padding:10px 24px 18px; background:var(--paper); border-bottom:1px solid var(--line); }.site-nav.is-open { display:grid; }.site-nav a { padding:12px 0; border-bottom:1px solid var(--line); }.site-nav a:last-child { border-bottom:0; }.header-cta { min-height:38px; padding:0 11px; font-size:9px; }.section-shell { padding-top:62px; padding-bottom:62px; }.collection-intro { padding-top:38px; padding-bottom:42px; }.collection-intro__heading,.section-heading { display:block; }.collection-intro__heading > p,.section-heading > p { margin-top:17px; }.category-grid { grid-template-columns:repeat(2,1fr); gap:8px; margin-top:28px; }.category-card { min-height:154px; padding:14px; }.category-card h2 { font-size:23px; }.product-grid,.story,.custom-order__grid,.faq,.site-footer { grid-template-columns:1fr; }.product-grid { gap:34px; }.product-image { aspect-ratio:4 / 5; }.story { gap:0; }.story-art { min-height:280px; }.story-copy { padding-top:38px; }.value-grid { grid-template-columns:1fr; }.value-grid article,.value-grid article:nth-child(2) { min-height:0; padding:22px 0; border-right:0; border-bottom:1px solid var(--line); }.value-grid article:last-child { border-bottom:0; }.faq { gap:28px; }.closing { min-height:300px; margin-bottom:46px; }.site-footer { gap:22px; padding-top:30px; padding-bottom:30px; }.site-footer nav { justify-content:flex-start; }.footer-contact { text-align:left; }.collection-page { padding-top:48px; padding-bottom:70px; }.collection-products { grid-template-columns:1fr; gap:34px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; } }

/* Shop-first homepage: show the current edit before category navigation. */
main { display:flex; flex-direction:column; }
.featured { order:1; padding-top:42px; }
.collection-intro { order:2; padding-top:42px; padding-bottom:42px; }
.story { order:3; }.custom-order { order:4; }.values { order:5; }.faq { order:6; }.closing { order:7; }
.collection-intro__heading { align-items:center; }
.collection-intro__heading h1 { font-size:clamp(38px,4.3vw,58px); }
.collection-intro__heading > p { font-size:12px; }
.category-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:25px; }
.category-card { min-height:112px; padding:13px; }.category-card h2 { font-size:20px; }.category-card p { margin:3px 0 9px; font-size:9px; }.category-card b { font-size:9px; }
@media (max-width:820px) { .category-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px) { .featured { padding-top:34px; }.collection-intro { padding-top:36px; padding-bottom:36px; }.category-grid { grid-template-columns:repeat(2,1fr); gap:7px; }.category-card { min-height:116px; }.collection-intro__heading h1 { font-size:39px; } }

/* Compact collection navigation, inspired by editorial shop filter bars. */
.collection-intro { order:1; padding-top:12px; padding-bottom:12px; }
.featured { order:2; padding-top:18px; }
.collection-intro .section-kicker { display:none; }
.collection-intro__heading { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.category-grid { display:flex; gap:0; margin-top:0; overflow-x:auto; border:1px solid var(--line); scrollbar-width:thin; }
.category-card { flex:1 0 178px; min-height:60px; height:60px; padding:10px 15px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; border:0; border-right:1px solid var(--line); background:rgba(219,238,246,.9); }
.category-card:last-child { border-right:0; }.category-card > span,.category-card p { display:none; }.category-card h2 { margin:0; color:var(--indigo); font-size:19px; line-height:1; white-space:nowrap; }.category-card b { margin:0; color:var(--indigo); font-size:9px; }.category-card b { font-size:0; }.category-card b i { font-size:17px; padding:0; }
.category-card:hover { background:#f8fcfe; transform:none; }
.category-tooltip { position:fixed; z-index:30; max-width:210px; padding:8px 10px; background:var(--indigo); color:#fff; border-radius:2px; box-shadow:0 7px 18px rgba(23,58,98,.18); font-size:11px; line-height:1.35; opacity:0; pointer-events:none; transform:translate(-50%,-4px); transition:opacity .15s ease,transform .15s ease; }.category-tooltip.is-visible { opacity:1; transform:translate(-50%,0); }
.missing-image { display:none; }

/* Four featured pieces fit cleanly on desktop and stay readable on smaller screens. */
.product-grid { grid-template-columns:repeat(4,1fr); }
@media (max-width:1050px) and (min-width:641px) { .product-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .collection-intro { padding-top:8px; padding-bottom:8px; }.featured { padding-top:18px; }.category-grid { margin-left:-24px; margin-right:-24px; border-left:0; border-right:0; }.category-card { flex-basis:155px; min-height:56px; height:56px; padding:10px 13px; }.category-card h2 { font-size:17px; }.brand-essence { gap:17px; }.brand-essence section { grid-template-columns:1fr; gap:5px; } }

.footer-contact { display:grid; justify-items:end; gap:5px; }.footer-contact p { margin-top:2px; }
@media (max-width:640px) { .footer-contact { justify-items:start; } }

.featured .section-heading { margin-bottom:18px; }
.featured .section-heading h2 { font-size:clamp(28px,3vw,42px); }
.featured .section-heading > p { font-size:11px; }

/* Responsive layout safeguards — kept last so they override earlier desktop rules. */
html, body { max-width:100%; overflow-x:clip; }
main, .site-header, .header-inner, .section-shell, .site-footer, .product-grid, .collection-products { min-width:0; }

@media (max-width:640px) {
  .announcement { padding:8px 16px; font-size:9px; line-height:1.45; letter-spacing:.08em; }
  .header-inner { min-height:72px; gap:12px; padding-left:20px; padding-right:20px; }
  .brand img { width:48px; height:48px; }
  .menu-toggle { min-height:44px; margin-left:auto; padding:10px 4px 10px 12px; }
  .header-cta { min-width:116px; min-height:42px; padding:0 12px; font-size:9px; }
  .site-nav { padding-left:20px; padding-right:20px; }

  .category-grid { overscroll-behavior-inline:contain; scroll-snap-type:inline proximity; }
  .category-card { scroll-snap-align:start; }

  .featured { padding-top:22px; padding-bottom:48px; }
  .featured .section-heading { display:grid; gap:13px; margin-bottom:24px; }
  .featured .section-heading h2 { font-size:clamp(30px,9vw,39px); line-height:1; }
  .featured .section-heading > p { max-width:30rem; margin:0; font-size:12px; line-height:1.55; }

  .product-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px 14px; }
  .product-card { min-width:0; }
  .product-image { aspect-ratio:3 / 4; }
  .product-copy { padding:11px 0 7px; }
  .product-copy h3 { font-size:20px; line-height:1.02; letter-spacing:-.035em; }
  .product-copy p { font-size:10px; line-height:1.45; }
  .product-card .text-action { gap:5px; font-size:8px; line-height:1.35; }

  .story-art { min-height:240px; }
  .story-copy { padding-top:30px; }
  .custom-order__grid { gap:32px; }
  .collection-page { padding-left:20px; padding-right:20px; }
  .collection-products { grid-template-columns:1fr; gap:38px; }
}

@media (max-width:380px) {
  .header-inner { gap:8px; }
  .header-cta { min-width:104px; padding:0 10px; }
  .product-grid { gap:24px 12px; }
  .product-copy h3 { font-size:18px; }
}

.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin:0 0 14px; color:var(--blue); font:10px "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }
.breadcrumbs a { color:var(--blue); text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; transition:color .2s ease,text-decoration-color .2s ease; }
.breadcrumbs a:hover,.breadcrumbs a:focus-visible { color:var(--indigo); text-decoration-color:currentColor; }
.breadcrumbs [aria-current="page"] { color:var(--indigo); }
.collection-product .product-note { margin:0 0 14px; color:var(--muted); font-size:11px; line-height:1.55; }

/* Compact collection introductions so the products appear sooner on every subpage. */
.collection-page { padding-top:24px; }
.collection-page__intro { max-width:620px; }
.collection-page__intro h1 { font-size:clamp(38px,3.8vw,52px); line-height:.94; }
.collection-page__intro > p:last-child { max-width:540px; margin:10px 0 0; line-height:1.48; }
.collection-page .back-link { margin:12px 0 18px; }

@media (min-width:641px) {
  .collection-page__intro h1 { white-space:nowrap; }
}

@media (max-width:640px) {
  .collection-page { padding-top:22px; }
  .collection-page__intro h1 { font-size:clamp(32px,9vw,40px); }
  .collection-page__intro > p:last-child { margin-top:9px; }
  .collection-page .back-link { margin:11px 0 18px; }
}

/* Show every shop category on small screens instead of clipping them in a horizontal strip. */
@media (max-width:640px) {
  .category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0; overflow:visible; border:0; scroll-snap-type:none; }
  .category-card { min-width:0; min-height:58px; height:auto; padding:10px 12px; border:1px solid var(--line); }
  .category-card:last-child { grid-column:span 2; border-right:1px solid var(--line); }
  .category-card h2 { font-size:16px; }
}

/* Header shop menu replaces the large homepage collection strip. */
.collection-intro.section-shell { display:none; }
.shop-menu-item { position:relative; }
.shop-menu { position:absolute; z-index:20; top:calc(100% + 16px); left:-16px; width:230px; display:none; padding:10px 0; background:var(--indigo); border:1px solid rgba(255,255,255,.16); box-shadow:0 16px 32px rgba(23,58,98,.2); }
.shop-menu-item.is-open .shop-menu { display:grid; }
.shop-menu a { padding:11px 17px; color:#fff; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.shop-menu a:hover,.shop-menu a:focus-visible { background:rgba(255,255,255,.12); color:#fff; }

@media (max-width:640px) {
  .shop-menu-item { display:contents; }
  .shop-menu { position:static; width:auto; margin:0; padding:2px 0 8px 16px; background:transparent; border:0; box-shadow:none; }
  .shop-menu a { padding:9px 0 9px 14px; color:var(--blue); font-size:9px; border-bottom:0; }
  .shop-menu a:hover,.shop-menu a:focus-visible { background:transparent; color:var(--indigo); }
}
