.hero {
  position:relative; min-height:auto; display:block; padding:0; overflow:hidden; background:#f4ede2;
}
.hero-backdrop {
  position:absolute; inset:0; background:url('../assets/images/hero/home page background image.jpeg') right center/auto 100% no-repeat; filter:saturate(0.86);
}
.hero-shade {
  position:absolute; inset:0; background:linear-gradient(90deg, rgba(251,248,243,.96), rgba(251,248,243,.82) 38%, rgba(251,248,243,.08) 78%);
}
.hero-content, .hero-caption, .hero-scroll {position:relative; z-index:1; width:var(--container); margin:0 auto;}
.hero-content {padding-top:8rem; max-width:640px;}
.eyebrow + h1, .page-hero-content h1, .simple-page-hero h1 {margin-top:0.8rem;}
.hero-content h1, .page-hero-content h1, .simple-page-hero h1 {
  font-size:clamp(3.7rem, 8vw, 8rem); line-height:0.9; color:var(--text); margin-bottom:1.2rem;
}
.hero-content em, .page-hero-content em, .simple-page-hero em, .section-heading em, .promise-heading em, .testimonial-slider em, .offer-banner em, .not-found em {font-style:italic; color:var(--gold);}
.hero-copy {font-size:clamp(1.05rem, 2vw, 1.3rem); max-width:40ch; color:var(--text-soft);}
.hero-actions {display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.6rem;}
.hero-caption {
  display:flex; justify-content:space-between; gap:1rem; padding-top:3rem; font-size:0.82rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--text-soft);
}
.hero-scroll {
  display:grid; place-items:center; width:52px; height:52px; border:1px solid var(--line); border-radius:50%; margin-top:1.2rem; color:var(--text); font-size:1.6rem;
}

.intro-section, .featured-section, .category-section, .promise-section, .editorial-section, .reviews-section, .story-section, .values-section, .authenticity-section {
  width:var(--container); margin:0 auto;
}
.section-heading {
  display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; margin-bottom:2rem;
}
.section-heading h2, .promise-heading h2, .testimonial-section h2, .offer-banner h2, .not-found h1 {
  font-size:clamp(2.2rem, 5vw, 4rem); line-height:1;
}

.intro-overline {
  display:flex; align-items:center; gap:0.75rem; text-transform:uppercase; letter-spacing:0.2em;
  font-size:0.82rem; color:var(--gold);
}
.product-category-heading > span {color:var(--text-soft); font-size:0.95rem;}

.intro-grid {
  display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; margin-top:2rem; align-items:end;
}
.intro-grid h2 {font-size:clamp(2.2rem, 5vw, 4.4rem); line-height:0.95;}
.intro-copy {padding-left:1rem; border-left:1px solid var(--line);}

.featured-grid {
  display:grid; grid-template-columns:repeat(4, minmax(240px, 1fr)); gap:1.2rem;
}
.product-grid {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1.2rem;}
.catalogue-entry-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem; margin-top:3rem;}
.catalogue-entry-grid[hidden] {display:none;}
.catalogue-entry-card {display:grid; grid-template-columns:minmax(120px, .8fr) minmax(0, 1.2fr); min-height:210px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#fffefa,#f0e9df); color:var(--text); text-decoration:none; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.catalogue-entry-card:hover {transform:translateY(-3px); border-color:rgba(167,124,63,.38); box-shadow:0 16px 38px rgba(75,53,28,.1);}
.catalogue-entry-image {display:grid; place-items:center; min-width:0; padding:.8rem; background:rgba(255,255,255,.42);}
.catalogue-entry-image img {display:block; width:auto; height:auto; max-width:100%; max-height:190px; object-fit:contain;}
.catalogue-entry-copy {display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.55rem; padding:1.25rem;}
.catalogue-entry-copy .eyebrow {margin:0; font-size:.72rem;}
.catalogue-entry-copy strong {font-family:var(--serif); font-size:clamp(1.4rem,2.3vw,2rem); line-height:1.1;}
.catalogue-entry-copy > span:not(.eyebrow):not(.catalogue-entry-link) {color:var(--text-soft); font-size:.92rem;}
.catalogue-entry-link {margin-top:.3rem; color:var(--gold-strong); font-size:.86rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.catalogue-entry-link span {padding-left:.3rem;}
@media (max-width: 1000px) { .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));}} 
@media (max-width: 560px) { .product-grid, .featured-grid {grid-template-columns:1fr;} .intro-grid {grid-template-columns:1fr;} }
.product-carousel {position:relative;}
.product-carousel-track {display:flex; overflow-x:auto; gap:1.2rem; padding:.3rem .15rem 1.2rem; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none;}
.product-carousel-track::-webkit-scrollbar {display:none;}
.product-carousel-track .product-card {flex:0 0 calc((100% - 3.6rem) / 4); min-width:0; scroll-snap-align:start;}
.product-carousel-controls {display:flex; align-items:center; justify-content:center; gap:.8rem; margin-top:.4rem;}
.carousel-arrow {display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--line); border-radius:50%; background:var(--panel-strong); color:var(--text); font-size:1.2rem;}
.carousel-arrow:disabled {opacity:.4; cursor:not-allowed;}
.carousel-pagination {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.45rem; max-width:min(70vw, 560px);}
.carousel-dot {width:10px; height:10px; padding:0; border:0; border-radius:50%; background:#cfc2ae;}
.carousel-dot.active {background:var(--gold-strong); transform:scale(1.2);}
@media (max-width: 1000px) {.product-carousel-track .product-card {flex-basis:calc((100% - 1.2rem) / 2);}}
@media (max-width: 560px) {.product-carousel-track .product-card {flex-basis:100%;}}

.category-grid {
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; margin-top:1.8rem;
}
.category-card {
  position:relative; min-height:240px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:1.5rem; border:1px solid var(--line); border-radius:28px; background:linear-gradient(145deg, #fffefa, #eee5d8);
}
.category-card::before {content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,255,255,.55), transparent 55%); }
.category-card > * {position:relative; z-index:1;}
.category-men {background:linear-gradient(120deg, #fffdfa, #ead9c4);}
.category-women {background:linear-gradient(120deg, #fffdfa, #f1e0d6);}
.category-oud {background:linear-gradient(120deg, #fffdfa, #e8ddc9);}
.category-unisex {background:linear-gradient(120deg, #fffdfa, #eee7d8);}
.category-card span {font-size:0.8rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--text-soft);}
.category-card h3 {font-size:2.1rem;}
.category-arrow {font-size:1.6rem; color:var(--gold); opacity:.8;}

.promise-grid, .values-grid, .faq-section details {display:grid; gap:1rem;}
.promise-grid {grid-template-columns:repeat(3, minmax(0,1fr)); margin-top:2rem;}
.promise-card, .values-grid article {
  padding:1.5rem; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.72);
}
.promise-card h3, .values-grid article h3 {font-size:1.5rem; margin-bottom:0.8rem;}
.values-grid article > span {display:block; margin-bottom:0.5rem; color:var(--gold); font-size:1rem; font-weight:700; letter-spacing:0.12em;}
.promise-icon {display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--gold-soft); border:1px solid rgba(215,177,109,.3); color:var(--gold); margin-bottom:0.9rem; font-size:1.5rem;}

.editorial-section {
  display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; margin-top:3rem;
}
.editorial-image img {border-radius:30px; border:1px solid var(--line); min-height:440px; object-fit:cover;}
.editorial-copy h2 {font-size:clamp(2.4rem, 4vw, 4rem); line-height:0.95; margin-bottom:1rem;}

.reviews-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin:1rem 0 1.6rem;}
.reviews-heading h2 {font-size:clamp(2.2rem,5vw,3.8rem); line-height:1; margin-bottom:.8rem;}
.reviews-heading h2 em {font-style:italic; color:var(--gold);}
.reviews-heading p {margin:0;}
.review-gallery-track {display:flex; gap:1rem; overflow-x:auto; padding:.35rem .15rem 1.1rem; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-inline:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.review-gallery-track::-webkit-scrollbar {display:none;}
.review-image {flex:0 0 calc((100% - 2rem) / 3); min-width:0; height:clamp(300px,36vw,440px); display:flex; align-items:center; justify-content:center; overflow:hidden; padding:.75rem; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#fffefa,#f3ece1); box-shadow:0 12px 36px rgba(75,53,28,.07); scroll-snap-align:start; transition:transform .25s ease, box-shadow .25s ease;}
.review-image:hover {transform:translateY(-3px); box-shadow:0 18px 44px rgba(75,53,28,.12);}
.review-image img {max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:14px;}
.review-gallery-controls {display:flex; align-items:center; justify-content:center; gap:1rem;}
.review-gallery-count {min-width:4rem; color:var(--text-soft); text-align:center; font-variant-numeric:tabular-nums; font-size:.95rem;}
.review-gallery-controls .carousel-arrow:disabled {opacity:.4; cursor:not-allowed;}
.review-lightbox {position:fixed; inset:0; width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:clamp(3.5rem,8vh,5rem) 1rem 1rem; border:0; background:rgba(244,237,226,.97); color:var(--text);}
.review-lightbox[open] {display:grid; place-items:center;}
.review-viewer-stage {display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,min(52vw,800px)) minmax(0,1fr); align-items:center; gap:clamp(.5rem,2vw,2rem); width:min(100%,1600px); height:min(82vh,900px); margin:auto;}
.review-viewer-stage figure {display:grid; justify-items:center; min-width:0; max-width:100%; max-height:100%; margin:0;}
.review-viewer-stage figure img {display:block; width:auto; height:auto; max-width:100%; max-height:76vh; object-fit:contain; border:1px solid var(--line); border-radius:18px; background:var(--panel-strong); transition:opacity .18s ease, transform .18s ease;}
.review-viewer-stage figcaption {padding-top:.7rem; color:var(--text-soft); font-size:.95rem;}
.review-viewer-stage.is-changing figure img {opacity:.7; transform:scale(.985);}
.review-viewer-neighbor {display:grid; place-items:center; min-width:0; width:100%; padding:.35rem; border:0; border-radius:16px; background:transparent; opacity:.66; cursor:pointer; transition:opacity .2s ease, transform .2s ease;}
.review-viewer-neighbor:hover, .review-viewer-neighbor:focus-visible {opacity:1; transform:scale(.96);}
.review-viewer-neighbor img {display:block; width:100%; height:auto; max-height:58vh; object-fit:contain; border:1px solid var(--line); border-radius:14px; background:var(--panel-strong);}
.review-lightbox .lightbox-close, .review-lightbox .lightbox-prev, .review-lightbox .lightbox-next {z-index:1; min-width:46px; min-height:46px;}
.review-lightbox .lightbox-prev {left:1rem;}
.review-lightbox .lightbox-next {right:1rem;}
.review-lightbox::backdrop {background:rgba(244,237,226,.9); backdrop-filter:blur(8px);}
@media (max-width: 900px) {.review-image {flex-basis:calc((100% - 1rem) / 2); height:clamp(320px,55vw,440px);}}
@media (max-width: 620px) {
  .reviews-heading {align-items:flex-start; flex-direction:column;}
  .review-image {flex-basis:88%; height:min(122vw,520px); padding:.55rem;}
  .review-lightbox {padding:4rem .5rem .5rem;}
  .review-viewer-stage {grid-template-columns:minmax(0,1fr); width:100%; height:100%; gap:0;}
  .review-viewer-neighbor {display:none;}
  .review-viewer-stage figure {width:100%;}
  .review-viewer-stage figure img {max-width:100%; max-height:calc(100dvh - 180px);}
  .review-lightbox .lightbox-prev, .review-lightbox .lightbox-next {top:auto; bottom:calc(.5rem + env(safe-area-inset-bottom)); transform:none;}
  .review-lightbox .lightbox-prev {left:calc(50% - 54px);}
  .review-lightbox .lightbox-next {right:calc(50% - 54px);}
}
@media (prefers-reduced-motion: reduce) {
  .review-gallery-track {scroll-behavior:auto;}
  .review-image {transition:none;}
  .review-viewer-stage figure img, .review-viewer-neighbor {transition:none;}
}

.offer-banner {
  width:min(1180px, calc(100% - 2rem)); margin:4rem auto 0; background:linear-gradient(135deg, rgba(215,177,109,.12), rgba(255,255,255,.02)); border:1px solid var(--line); border-radius:32px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; padding:2.2rem 2rem;
}
.offer-banner h2 {margin:0.5rem 0 0.8rem;}
.offer-mark {font-family:var(--serif); font-size:clamp(2rem, 6vw, 5rem); line-height:1; letter-spacing:.12em; color:var(--gold); opacity:.72;}

.form-feedback {min-height:1.2rem; color:var(--gold); font-size:0.9rem;}

.page-hero, .simple-page-hero {position:relative; min-height:320px; display:flex; align-items:flex-end; padding:4rem 0 3rem; background:linear-gradient(135deg, rgba(251,248,243,.93), rgba(251,248,243,.77)), url('../assets/images/hero/home page background image.jpeg') center/cover no-repeat;}
.simple-page-hero {flex-direction:column; align-items:flex-start; justify-content:flex-end;}
.page-hero-shade {position:absolute; inset:0; background:linear-gradient(90deg, rgba(251,248,243,.6), rgba(251,248,243,.16));}
.page-hero-content, .simple-page-hero {width:var(--container); margin:0 auto; position:relative; z-index:1;}
.page-hero-content h1, .simple-page-hero h1 {font-size:clamp(2.5rem, 8vw, 5.5rem);}

.story-section {display:grid; grid-template-columns:160px 1fr; gap:2rem; align-items:start; padding-top:4rem;}
.story-mark {font-family:var(--serif); color:var(--gold); font-size:clamp(2rem,4vw,3.5rem); line-height:1; letter-spacing:.08em; opacity:.8;}
.story-copy h2 {font-size:clamp(2.5rem, 5vw, 4rem); line-height:0.9; margin:0.5rem 0 1rem;}
.founder-section {display:grid; grid-template-columns:minmax(280px, .78fr) minmax(0, 1.22fr); gap:clamp(2rem, 5vw, 5rem); align-items:center; margin:1rem auto 4rem; padding:clamp(1.5rem, 4vw, 3.5rem); border:1px solid var(--line); border-radius:32px; background:linear-gradient(135deg, rgba(215,177,109,.09), rgba(255,255,255,.015));}
.founder-portrait {padding:0.75rem; border:1px solid rgba(167,124,63,.28); border-radius:26px; background:#f3ede4; box-shadow:0 24px 70px rgba(75,53,28,.12);}
.founder-portrait img {display:block; width:100%; height:auto; max-height:720px; object-fit:contain; object-position:center; border-radius:18px;}
.founder-story h2 {font-size:clamp(2.6rem, 5vw, 4.5rem); line-height:.95; margin:.7rem 0 1.2rem;}
.founder-story h2 em {color:var(--gold); font-style:italic;}
.founder-story h3 {font-size:clamp(1.6rem, 2.5vw, 2.1rem); margin:0 0 .3rem;}
.founder-role {color:var(--gold); letter-spacing:.06em; font-size:.88rem; margin:0 0 1.5rem;}
.founder-copy {display:grid; gap:.9rem; color:var(--text-soft); line-height:1.8;}
.founder-copy p {margin:0;}
.founder-signature {display:grid; gap:.2rem; margin-top:1.6rem; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--text-soft); font-size:.9rem; letter-spacing:.06em; text-transform:uppercase;}
.founder-signature strong {font-family:var(--serif); font-size:1.55rem; font-weight:500; letter-spacing:0; text-transform:none; color:var(--white);}
.about-visual {width:var(--container); display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; margin:0 auto 4rem; align-items:end;}
.about-visual img {border-radius:28px; border:1px solid var(--line); min-height:400px; object-fit:cover;}
.values-grid {grid-template-columns:repeat(2, minmax(0,1fr)); margin-top:1.5rem;}
.authenticity-section {display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem; align-items:center; margin-top:4rem;}
.cta-strip {
  width:min(1180px, calc(100% - 2rem)); margin:4rem auto 0; background:linear-gradient(135deg, rgba(215,177,109,.15), rgba(255,255,255,.02)); border:1px solid var(--line); border-radius:28px; padding:2rem; text-align:center;
}
.cta-strip h2 {font-size:clamp(2.2rem, 4vw, 4rem); margin:0.7rem 0 1rem;}

.shop-hero {width:var(--container); margin:3rem auto 0; display:grid; grid-template-columns:1fr .85fr; gap:2rem; align-items:center; padding:2rem 0 0;}
.shop-hero img {border-radius:28px; border:1px solid var(--line); min-height:340px; object-fit:contain; background:rgba(255,255,255,.02);}
.shop-hero h1 {font-size:clamp(3rem, 7vw, 6rem); line-height:0.9; margin:0.8rem 0;}
.shop-section {padding-top:4rem; scroll-margin-top:calc(var(--header-h) + 1rem);}
.shop-toolbar {display:grid; gap:1rem; margin-bottom:1.25rem;}
.shop-toolbar [hidden], .catalogue-intro[hidden], .product-grid[hidden], .product-category-sections[hidden], .results-count[hidden] {display:none;}
.catalogue-intro {margin:2.2rem 0 1.4rem; max-width:58ch;}
.catalogue-intro h2 {font-size:clamp(2.2rem, 4vw, 3.6rem); line-height:1; margin:0.5rem 0;}
.catalogue-intro h2 em {color:var(--gold); font-style:italic;}
.catalogue-intro > p:last-child {color:var(--text-soft);}
.product-category-nav, .catalogue-links {display:flex; flex-wrap:wrap; gap:0.65rem; align-items:center;}
.filter-chip {
  border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--text-soft); padding:0.7rem 1rem; min-height:44px; font-size:0.88rem; letter-spacing:0.08em; text-transform:uppercase;
}
.filter-chip.active {background:var(--gold-soft); border-color:rgba(215,177,109,.45); color:var(--text);}
.product-category-nav .filter-chip {cursor:pointer; transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;}
.product-category-nav .filter-chip:hover {transform:translateY(-1px); border-color:rgba(215,177,109,.45); color:var(--text);}
.catalogue-links {padding-top:0.9rem; border-top:1px solid var(--line); color:var(--text-soft); font-size:0.88rem;}
.catalogue-links > span {margin-right:0.25rem; letter-spacing:0.1em; text-transform:uppercase;}
.catalogue-links a {padding:0.35rem 0.55rem; border-radius:999px; color:var(--text-soft); transition:color .2s ease, background .2s ease;}
.catalogue-links a:hover {color:var(--text); background:var(--gold-soft);}
.product-category-sections {display:grid; gap:3.2rem;}
.product-category-section {min-width:0; scroll-margin-top:calc(var(--header-h) + 1rem);}
.product-category-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.3rem; padding-bottom:0.9rem; border-bottom:1px solid var(--line);}
.product-category-heading .eyebrow {margin:0; color:var(--gold);}
.product-category-heading h2 {font-size:clamp(2rem, 3.5vw, 3rem); line-height:1; margin:0;}
.product-category-section .product-grid {scroll-margin-top:calc(var(--header-h) + 1rem);}
.shared-catalogue-gallery[hidden] {display:none;}
.shared-catalogue-heading {width:min(100%,820px); margin:0 auto 1.3rem; padding-bottom:.9rem; border-bottom:1px solid var(--line);}
.shared-catalogue-heading .eyebrow {margin:0 0 .35rem; color:var(--gold);}
.shared-catalogue-heading h2 {font-size:clamp(2rem,3.5vw,3rem); line-height:1; margin:0;}
.shared-catalogue-product {width:min(100%,820px);}
.shared-catalogue-details {width:100%; padding:clamp(1.2rem,3vw,2rem); border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#fffefa,#f5eee4); box-shadow:0 12px 36px rgba(75,53,28,.06);}
.shared-catalogue-details > .eyebrow {margin:0 0 .45rem; color:var(--gold);}
.shared-catalogue-details h2 {font-size:clamp(1.8rem,4vw,3rem); line-height:1; margin:0 0 .9rem;}
.shared-catalogue-details .product-summary {margin:0; color:var(--text-soft); line-height:1.75;}
.shared-catalogue-size {margin:1rem 0 0; color:var(--text-soft);}
.shared-catalogue-details .product-price {margin:.5rem 0 1rem; color:var(--gold-strong); font-size:1.55rem; font-weight:700;}
.shared-catalogue-details .note-box {margin:1rem 0;}
.shared-catalogue-details .quantity-picker {margin:1.2rem 0;}
.shared-catalogue-details .product-actions {display:flex; flex-wrap:wrap; gap:.7rem;}
.shared-catalogue-details .delivery-copy {margin:1.2rem 0 0;}
.attar-catalogue-video[hidden] {display:none;}
.attar-catalogue-video {width:min(100%,820px); margin:clamp(2.5rem,6vw,4rem) auto 0; animation:attarCatalogueVideoIn .6s ease both;}
.attar-catalogue-video-heading {margin:0 0 1.4rem; padding-bottom:.9rem; border-bottom:1px solid var(--line);}
.attar-catalogue-video-heading .eyebrow {margin:0 0 .35rem; color:var(--gold);}
.attar-catalogue-video-heading h2 {font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.05; margin:0;}
.attar-catalogue-video-figure {margin:0; display:grid; gap:.9rem; justify-items:center;}
.attar-catalogue-video-frame {width:min(100%,520px); overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#141110; box-shadow:0 18px 46px rgba(75,53,28,.16);}
.attar-catalogue-video-frame video {display:block; width:100%; height:auto; max-height:82vh; object-fit:contain; background:#141110;}
.attar-catalogue-video-figure figcaption {width:min(100%,520px); color:var(--text-soft); font-size:.92rem; text-align:center;}
@keyframes attarCatalogueVideoIn {from {opacity:0; transform:translateY(22px);} to {opacity:1; transform:none;}}
@media (prefers-reduced-motion: reduce) { .attar-catalogue-video {animation:none;} }
.shop-controls {display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;}
.search-box {display:flex; align-items:center; gap:0.7rem; min-height:48px; border:1px solid var(--line); border-radius:999px; padding:0 0.8rem; min-width:min(100%, 320px); background:rgba(255,255,255,.02);}
.search-box input, .form-field input, .form-field textarea, .form-field select {width:100%; min-height:52px; border-radius:16px; border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--text); padding:0.9rem 1rem;}
.search-box input {background:transparent; border:none; padding:0; min-height:0;}
.sort-label {font-size:0.86rem; letter-spacing:0.11em; text-transform:uppercase; color:var(--text-soft);}
#product-sort {min-height:48px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--text); padding:0 0.8rem;}
.results-count {margin-bottom:1.2rem; color:var(--text-soft); font-size:0.9rem;}
.no-results {text-align:center; padding:3rem 1rem; border:1px dashed var(--line); border-radius:24px;}
.no-results span {font-size:3rem; color:var(--gold);}
.no-results h2 {font-size:2rem; margin:0.7rem 0;}

.breadcrumbs {display:flex; align-items:center; gap:0.6rem; color:var(--text-soft); font-size:0.88rem; letter-spacing:0.06em; text-transform:uppercase; width:var(--container); margin:2rem auto 0;}
.product-detail {padding-top:1rem;}
.product-detail-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; align-items:start; width:min(100%,1000px); margin:0 auto;}
.product-video-section {margin-top:2rem; padding:clamp(1rem,3vw,2rem); border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.78);}
.product-video-section h2 {margin:0 0 1rem; font-size:clamp(1.5rem,3vw,2.2rem);}
.product-video-section video {display:block; width:100%; max-height:75vh; object-fit:contain; border-radius:16px; background:#1b1814;}
.product-gallery {display:grid; justify-self:center; gap:.8rem; width:min(100%,820px);}
.product-image-frame {position:relative; display:grid; place-items:center; box-sizing:border-box; width:100%; height:clamp(560px,84svh,860px); padding:1.25rem; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:linear-gradient(145deg,#fffefa,#f0e9df); box-shadow:0 12px 36px rgba(75,53,28,.06); touch-action:pan-y;}
.product-image-frame:focus-visible {outline:2px solid var(--gold-strong); outline-offset:3px;}
.product-image-frame img {position:absolute; inset:1.25rem; display:block; width:calc(100% - 2.5rem); height:calc(100% - 2.5rem); object-fit:contain; object-position:center; transition:opacity .18s ease;}
.product-gallery-arrow {position:absolute; top:50%; display:grid; place-items:center; width:48px; height:48px; padding:0 0 4px; transform:translateY(-50%); border:1px solid var(--line); border-radius:50%; background:rgba(255,253,249,.94); color:var(--text); font-family:Arial,sans-serif; font-size:2rem; line-height:1; box-shadow:0 4px 16px rgba(75,53,28,.12);}
.product-gallery-arrow:hover {background:#fff; border-color:rgba(167,124,63,.55);}
.product-gallery-arrow:focus-visible, .product-gallery-dot:focus-visible {outline:2px solid var(--gold-strong); outline-offset:3px;}
.product-gallery-prev {left:clamp(.65rem,2vw,1.2rem);}
.product-gallery-next {right:clamp(.65rem,2vw,1.2rem);}
.product-gallery-count {position:absolute; right:.8rem; bottom:.8rem; padding:.4rem .7rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,253,249,.92); color:var(--text-soft); font-size:.8rem; font-variant-numeric:tabular-nums;}
.product-gallery-pagination {display:flex; justify-content:center; align-items:center; gap:.45rem; min-height:24px;}
.product-gallery-dot {width:10px; height:10px; padding:0; border:0; border-radius:50%; background:#cfc2ae; transition:transform .2s ease, background .2s ease;}
.product-gallery-dot.active {background:var(--gold-strong); transform:scale(1.25);}
.product-info {padding:0.8rem 0;}
.product-info .size-picker {margin-top:1.25rem;}
.product-info .eyebrow {margin-bottom:0.8rem;}
.product-info h1 {font-size:clamp(2.6rem, 5vw, 4.5rem); line-height:0.95; margin-bottom:1rem;}
.product-price {font-size:2rem; color:var(--gold); margin:0.5rem 0 1.2rem; display:flex; align-items:baseline; gap:0.8rem;}
.product-price span {font-size:1rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-soft);}
.product-price .variant-price-prompt {letter-spacing:normal; text-transform:none;}
.variant-description-option {display:block; margin-top:.5rem;}
.variant-description-option strong {color:var(--text);}
.product-summary {margin-bottom:1.2rem; color:var(--text-soft); max-width:56ch;}
.product-detail-notice, .delivery-copy {padding:.8rem 1rem; border-left:2px solid var(--gold); background:rgba(255,255,255,.7); color:var(--text-soft); font-size:.96rem;}
.delivery-copy {margin-top:1rem; border-left-color:#cdb587;}
.size-picker, .quantity-picker {display:flex; align-items:center; gap:0.7rem; margin-bottom:1rem; flex-wrap:wrap;}
.size-options {display:flex; flex-wrap:wrap; gap:0.6rem;}
.size-option {display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0.8rem 1rem; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--text);}
.size-option.active {background:var(--gold-soft); border-color:rgba(167,124,63,.48); color:var(--text);}
.rating {display:flex; align-items:center; gap:0.5rem; color:var(--gold); font-size:1rem; letter-spacing:0.08em;}
.rating span {color:var(--text-soft); font-size:0.95rem;}
.loading-copy {color:var(--text-soft); font-size:1rem;}
.qty-stepper {display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:rgba(255,255,255,.02);}
.qty-stepper button {width:44px; height:44px; background:transparent; color:var(--text); border:none;}
.qty-stepper span {min-width:42px; text-align:center; font-weight:600;}
.product-actions {display:flex; flex-wrap:wrap; gap:0.75rem; margin:1.2rem 0 1rem;}
.note-box {padding:1rem 1.2rem; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.78);}
.fragrance-profile-label {margin-top:.65rem; color:var(--gold-strong); font-size:.88rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;}
.fragrance-profile-text {margin-top:.4rem; color:var(--text-soft); line-height:1.65;}
.note-grid {display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0.8rem; margin-top:1rem;}
.note-item {padding:0.75rem; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.01);}
.note-item small {display:block; letter-spacing:0.08em; text-transform:uppercase; font-size:0.88rem; color:var(--text-soft); margin-bottom:0.3rem;}

.cart-page-section {padding-top:1rem;}
.cart-layout {display:grid; grid-template-columns:1.6fr .7fr; gap:2rem;}
.cart-list {display:grid; gap:1rem;}
.cart-item {
  display:grid; grid-template-columns:100px 1fr auto; gap:1rem; align-items:center; padding:0.9rem; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.82);
}
.cart-item img {width:100px; height:100px; object-fit:contain; border-radius:18px; background:rgba(255,255,255,.03);}
.cart-item .cart-image-unavailable {width:100px; height:100px; min-height:100px; display:grid; place-items:center; padding:0.5rem; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.02); color:var(--text-soft); text-align:center; font-size:0.76rem; letter-spacing:0.02em; text-transform:uppercase;}
.cart-item .meta h3 {font-size:1.2rem;}
.cart-item .meta small {display:block; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-soft); font-size:0.86rem;}
.cart-item .price-tag {font-weight:700; color:var(--gold);}
.cart-summary {padding:1.3rem; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.82); align-self:start;}
.summary-row {display:flex; justify-content:space-between; gap:1rem; padding:0.65rem 0; border-bottom:1px solid var(--line);}
.summary-row:last-of-type {border-bottom:none;}
.empty-cart {text-align:center; padding:3rem 1rem; border:1px dashed var(--line); border-radius:24px;}
.empty-cart h2 {font-size:2.2rem; margin:0.8rem 0;}

.checkout-section {padding-top:1rem;}
.checkout-form {display:grid; grid-template-columns:1.3fr .7fr; gap:2rem;}
.checkout-fields, .checkout-summary {padding:1.4rem; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.82);}
.form-grid {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; margin-top:1rem;}
.form-span {grid-column:1 / -1;}
.form-field {display:grid; gap:0.55rem; font-size:0.88rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-soft);}
.optional-label {font-size:0.84rem; color:var(--text-soft); opacity:.8;}
.checkout-summary .summary-lines {display:grid; gap:0.8rem;}
.checkout-submit {margin-top:1rem; width:100%;}
.secure-copy {margin-top:0.8rem; color:var(--text-soft); font-size:0.9rem;}
.checkout-summary .summary-row {align-items:center; min-width:0;}
.checkout-item-image {width:58px; height:68px; flex:0 0 58px; object-fit:contain; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.04);}
.checkout-item-image.cart-image-unavailable {min-height:68px; font-size:0.72rem;}
.checkout-item-info {flex:1; min-width:0; overflow-wrap:anywhere; font-size:1rem;}
.checkout-item-info small {display:block; color:var(--text-soft); font-size:0.88rem; line-height:1.5;}
.checkout-summary .summary-row > strong {white-space:nowrap;}
.checkout-total {padding-top:1rem; border-top:1px solid var(--gold);}
.checkout-total strong {color:var(--gold); font-size:1.1rem;}
.checkout-edit-cart {width:100%; margin-top:0.8rem; text-align:center;}
.checkout-feedback {min-height:1.4em;}
.order-review {width:min(100%, 1000px); margin:3rem auto 0; padding:clamp(1rem,3vw,2rem); border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.02);}
.order-review[hidden] {display:none;}
.order-review-heading {margin-bottom:1.5rem;}
.order-review-heading h2 {margin:0.25rem 0 0.5rem; font-size:clamp(2rem,4vw,3rem);}
.order-review-heading > p:last-child {color:var(--text-soft);}
.receipt-preview {width:min(100%, 850px); margin:0 auto; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#f7f2ea; box-shadow:0 20px 55px rgba(75,53,28,.14);}
.receipt-preview img {width:100%; height:auto; object-fit:contain;}
.receipt-instructions {max-width:850px; margin:1.25rem auto; color:var(--text-soft); text-align:center;}
.receipt-actions {display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:0.75rem;}
.receipt-actions .button {min-height:48px;}

.contact-section {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr); gap:2rem; align-items:start;}
.contact-details, .contact-form {min-width:0; padding:1.5rem; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.02);}
.contact-detail-link {display:grid; gap:0.2rem; margin-top:1rem; border-bottom:1px solid var(--line); padding-bottom:1rem; color:var(--text-soft);}
.contact-detail-link span {letter-spacing:0.12em; text-transform:uppercase; font-size:0.82rem; color:var(--text-soft);}
.contact-detail-link strong {overflow-wrap:anywhere;}
.contact-detail-link strong {color:var(--white); font-size:1.2rem;}
.social-links {display:flex; flex-wrap:wrap; gap:0.75rem; margin-top:1.25rem;}
.social-links a {padding:0.75rem 1rem; border-radius:999px; border:1px solid var(--line);}
.social-icon-links {align-items:center; gap:0.65rem;}
.social-icon-links a {display:grid; place-items:center; width:44px; height:44px; padding:0.65rem; border:1px solid var(--line); border-radius:50%; color:var(--gold); transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;}
.social-icon-links a:hover {color:var(--text); background:var(--gold-soft); border-color:rgba(215,177,109,.5); transform:translateY(-2px);}
.social-icon-links svg {width:20px; height:20px; fill:currentColor;}
.social-icon-links a[aria-label="Instagram"] svg {fill:none; stroke:currentColor; stroke-width:1.8;}
.social-icon-links a[aria-label="Instagram"] .icon-dot {fill:currentColor; stroke:none;}
.footer-social-links {margin-top:1rem;}
.contact-form {display:grid; gap:1rem;}
.service-options {display:grid; gap:0.75rem; margin:0; padding:0; border:0; color:var(--text-soft); font-size:0.88rem; letter-spacing:0.08em; text-transform:uppercase;}
.service-options legend {margin-bottom:0.55rem;}
.service-options label {display:flex; align-items:center; gap:0.6rem; letter-spacing:normal; text-transform:none; cursor:pointer;}
.service-options input {width:18px; height:18px; accent-color:var(--gold); flex:0 0 auto;}
.faq-section {display:grid; gap:1rem; margin-top:3rem;}
.faq-section details {padding:1rem 1.2rem; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.02);}
.faq-section summary {display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; font-weight:600; color:var(--text);}
.faq-section summary span {color:var(--gold); font-size:1.5rem;}
.faq-section details p {padding-top:0.8rem;}
.map-section {margin-top:3rem; width:var(--container); margin-inline:auto; display:grid; gap:0.8rem;}
.map-section iframe {width:100%; min-height:320px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.02);}
.map-caption {text-align:center;}

.not-found {min-height:60vh; display:grid; place-items:center; text-align:center; width:var(--container); margin:0 auto; padding:4rem 0;}
.not-found-star {font-size:6rem; color:var(--gold); display:block; margin-bottom:1rem;}

.lightbox {position:fixed; inset:0; background:rgba(244,237,226,.96); backdrop-filter:blur(10px); z-index:1400; display:grid; place-items:center; padding:1rem;}
.lightbox[hidden] {display:none;}
.lightbox-close {position:absolute; top:1rem; right:1rem; width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:var(--panel-strong); color:var(--text); font-size:1.5rem;}
.lightbox figure {position:relative;}
.lightbox figure img {width:auto; height:auto; max-height:82vh; max-width:min(1100px, 92vw); object-fit:contain; border-radius:24px; border:1px solid var(--line);}
.lightbox figcaption {text-align:center; padding-top:0.8rem; color:var(--text-soft);}
.lightbox-prev, .lightbox-next {position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:var(--panel-strong); color:var(--text); font-size:1.4rem;}
.lightbox-prev {left:1rem;}
.lightbox-next {right:1rem;}
@media (max-width: 900px) {
  .contact-section, .checkout-form, .cart-layout, .shop-hero, .editorial-section, .about-visual, .authenticity-section, .product-detail-grid, .product-detail-layout, .story-section, .founder-section {
    grid-template-columns:1fr;
  }
  .founder-portrait {max-width:520px; margin:0 auto; width:100%;}
  .featured-grid, .category-grid {grid-template-columns:repeat(2, minmax(0,1fr));}
  .offer-banner {grid-template-columns:1fr; text-align:center;}
  .hero-caption {flex-direction:column;}
}
@media (min-width: 621px) and (max-width: 1000px) {
  .product-gallery {width:min(100%,760px);}
  .product-image-frame {height:clamp(520px,82svh,800px);}
}
@media (max-width: 620px) {
  .breadcrumbs {flex-wrap:wrap;}
  .breadcrumbs > :not(:last-child) {flex:0 0 auto;}
  .breadcrumbs > :last-child {min-width:0; overflow-wrap:anywhere;}
  .category-grid, .featured-grid, .values-grid, .promise-grid, .form-grid {grid-template-columns:1fr;}
  .checkout-fields, .checkout-summary {padding:1rem;}
  .checkout-summary .summary-row {gap:0.55rem;}
  .checkout-item-image {width:48px; height:58px; flex-basis:48px;}
  .checkout-summary .summary-row > strong {font-size:0.9rem;}
  .receipt-actions {display:grid; grid-template-columns:1fr;}
  .receipt-actions .button {width:100%;}
  .order-review {padding:1rem; border-radius:18px;}
  .section-heading {align-items:flex-start; flex-direction:column;}
  .product-category-nav {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));}
  .product-category-nav .filter-chip {padding-inline:0.6rem; letter-spacing:0.06em;}
  .catalogue-links {gap:0.35rem;}
  .catalogue-links > span {width:100%;}
  .product-category-heading {align-items:flex-start; flex-direction:column;}
  .catalogue-entry-grid {grid-template-columns:1fr; margin-top:2rem;}
  .catalogue-entry-card {grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr); min-height:180px;}
  .catalogue-entry-image img {max-height:160px;}
  .menu-toggle {display:grid;}
  .product-gallery {width:100%;}
  .product-image-frame {height:clamp(460px,78svh,700px); padding:1rem; border-radius:20px;}
  .product-image-frame img {inset:1rem; width:calc(100% - 2rem); height:calc(100% - 2rem);}
  .product-gallery-arrow {width:42px; height:42px; font-size:1.8rem;}
  .product-gallery-count {right:.55rem; bottom:.55rem;}
  .product-info h1 {font-size:clamp(2.4rem,10vw,3.5rem);}
  .cart-item {grid-template-columns:80px 1fr;}
  .cart-item .price-tag {grid-column:2;}
}

.hero-poster { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100vh - var(--header-h) - 1px); max-height:calc(100svh - var(--header-h) - 1px); object-fit:contain; object-position:center; margin:0 auto; background:#f4ede2; }
