@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--paper:#f6f3ef;--ink:#20231f;--muted:#777b73;--line:#dcd9d2;--olive:#737a62;--clay:#c5a18a;--cream:#e9e1d6;--white:#fffdfa;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-header{height:84px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,35,31,.12);background:rgba(246,243,239,.92);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:var(--serif);font-size:25px;letter-spacing:-2px;line-height:1}.brand-mark span{color:var(--clay);font-size:18px}.brand-name{font-size:10px;font-weight:700;letter-spacing:2.5px}.desktop-nav{display:flex;gap:30px;color:#5f625b;font-size:12px}.desktop-nav a:hover,.footer-links a:hover{color:#a67d62}.header-actions{display:flex;align-items:center;gap:20px}.lang-toggle{background:transparent;border:1px solid var(--line);border-radius:100px;padding:8px 13px;cursor:pointer;font-size:11px}.header-cta{font-size:12px;font-weight:600}.header-cta span{margin-left:7px}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);margin:5px}
.hero{min-height:660px;display:grid;grid-template-columns:1fr 1fr;padding:60px 5.5vw 72px;gap:5vw;align-items:center;overflow:hidden}.hero-copy{padding:30px 0 20px;max-width:600px}.eyebrow,.section-label,.product-kicker{font-size:10px;letter-spacing:2px;font-weight:700}.eyebrow{color:var(--olive);margin:0 0 24px}.hero h1{font-size:clamp(42px,5.2vw,74px);line-height:1.08;letter-spacing:-2.6px;font-weight:500;margin:0 0 26px}.hero h1 em,h2 em{font-family:var(--serif);font-weight:500}.hero-description{max-width:420px;color:#686b64;font-size:15px;line-height:1.9}.hero-buttons{display:flex;align-items:center;gap:28px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 19px;border-radius:2px;border:1px solid transparent;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.2px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:#41463b}.btn-outline{background:transparent;border-color:#b9b9ae;color:var(--ink)}.text-link{font-size:12px;border-bottom:1px solid #a7a79b;padding-bottom:5px}.text-link span{margin-left:10px}.hero-footnote{display:flex;align-items:center;gap:9px;margin-top:52px;color:#777b73;font-size:10px}.dot{width:6px;height:6px;border-radius:50%;background:var(--olive)}
.hero-art{height:510px;position:relative;background:#e9e3d9;overflow:hidden;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.36),transparent 45%),radial-gradient(ellipse at 50% 100%,#d1c4b2,transparent 60%)}.art-sun{position:absolute;width:260px;height:260px;right:10%;top:9%;border-radius:50%;background:#d7bda4;opacity:.7}.art-orbit{position:absolute;border:1px solid rgba(109,112,98,.3);border-radius:50%;z-index:2;transform:rotate(-28deg)}.orbit-one{width:430px;height:220px;left:6%;top:27%}.orbit-two{width:350px;height:160px;left:14%;top:35%;transform:rotate(37deg)}.sculpture{position:absolute;z-index:3;bottom:14%;box-shadow:inset -20px -8px 35px rgba(70,54,44,.12),inset 12px 10px 22px rgba(255,255,255,.45);filter:drop-shadow(20px 22px 12px rgba(67,53,43,.12))}.sculpture-back{width:180px;height:320px;left:24%;border-radius:48% 48% 32% 32%/28% 28% 18% 18%;background:linear-gradient(90deg,#b18f78,#e2cbb8 42%,#c9aa92);transform:rotate(-8deg)}.sculpture-front{width:170px;height:275px;right:21%;bottom:10%;border-radius:45% 45% 35% 35%/24% 24% 18% 18%;background:linear-gradient(90deg,#d2b6a1,#f0ddca 48%,#c8a48c);transform:rotate(8deg)}.art-caption{position:absolute;z-index:4;bottom:18px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.7px;color:#6d6c62}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 5.5vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:20px}.trust-strip>div{display:flex;align-items:center;gap:14px;font-size:11px}.trust-number{color:#999b90;font-family:var(--serif);font-size:18px}.section{padding:105px 8vw}.philosophy{display:grid;grid-template-columns:1fr 2.5fr;gap:6vw}.section-label{color:#72766b;white-space:nowrap}.section-label span:first-child{color:#b2a391;margin-right:9px}.philosophy h2,.collection h2,.feature-copy h2,.privacy h2,.contact h2{font-size:clamp(34px,4vw,54px);line-height:1.18;letter-spacing:-1.5px;font-weight:500;margin:0}.philosophy-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:36px}.philosophy-bottom p{max-width:480px;color:#72766d;line-height:1.9;margin:0}.philosophy-bottom .text-link{flex-shrink:0}
.collection{background:var(--white);padding-top:90px;padding-bottom:100px}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:40px}.collection h2{margin-top:18px}.collection-heading>p{max-width:350px;color:#777b73;font-size:12px;line-height:1.8;margin:0 0 4px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{min-width:0}.product-visual{height:340px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.visual-one{background:#e9e0d5}.visual-two{background:#e4e6df}.visual-three{background:#e9e2dc}.visual-index{position:absolute;top:17px;left:17px;font-family:var(--serif);font-size:15px;color:#7c7e73}.visual-tag{position:absolute;bottom:15px;right:15px;font-size:8px;letter-spacing:1.6px;color:#797b72}.object{width:120px;height:215px;border-radius:48% 48% 36% 36%;position:relative;box-shadow:inset -12px -7px 22px rgba(72,56,44,.12),inset 9px 6px 18px rgba(255,255,255,.5),0 18px 20px rgba(55,49,40,.09)}.object:before{content:"";position:absolute;width:90px;height:80px;top:-48px;left:15px;border-radius:47% 47% 42% 42%;background:inherit;box-shadow:inset -7px -5px 15px rgba(72,56,44,.08),inset 6px 5px 12px rgba(255,255,255,.4)}.object-one{background:linear-gradient(90deg,#b89984,#e2c8b2 48%,#c4a18a);transform:rotate(-7deg)}.object-two{background:linear-gradient(90deg,#a5a99b,#d9d9c9 48%,#aeb1a1);transform:rotate(5deg);height:230px}.object-three{background:linear-gradient(90deg,#c1a99a,#ead7c7 48%,#c4a38d);transform:rotate(-3deg);height:205px}.product-info{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.product-kicker{font-size:8px;color:#8b8e83;margin:0 0 5px;letter-spacing:1.4px}.product-info h3{font-size:22px;font-family:var(--serif);font-weight:500;margin:0}.arrow-round{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:14px}.product-description{color:#777b73;font-size:11px;line-height:1.8;margin:10px 0 0;max-width:310px}.disclaimer{font-size:10px;color:#96988e;margin:30px 0 0}
.feature-band{display:grid;grid-template-columns:1fr 1fr;background:#e7e4dc}.feature-image{min-height:630px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#d5d0c4,#b9b9a9)}.material-card{width:min(68%,360px);height:420px;background:linear-gradient(145deg,#f1ece4,#d4c9b9);padding:24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 25px 60px rgba(42,45,37,.13);transform:rotate(-3deg)}.material-label{font-size:9px;letter-spacing:1.7px;color:#77796e}.material-swatch{height:220px;border-radius:48% 48% 42% 42%;background:radial-gradient(ellipse at 35% 25%,#f2dfcc,#c5a58c 58%,#b28e76);box-shadow:inset -15px -12px 25px rgba(73,51,40,.15),inset 8px 7px 16px rgba(255,255,255,.4)}.material-card p{font-family:var(--serif);font-size:19px;line-height:1.45;margin:0}.feature-copy{padding:90px 8vw 80px 6vw}.feature-copy h2{margin:22px 0}.feature-copy>p{color:#6f736a;font-size:12px;line-height:1.9;max-width:450px}.feature-list{list-style:none;padding:12px 0 15px;margin:0 0 15px}.feature-list li{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:18px 0;border-bottom:1px solid #c9c9bd}.feature-list li>span{font-family:var(--serif);color:#a29e8e}.feature-list strong{font-size:12px;font-weight:600}.feature-list p{font-size:11px;color:#777b73;margin:4px 0 0;line-height:1.7}
.privacy{text-align:center;background:#f0ede7;padding-top:100px;padding-bottom:110px}.privacy-symbol{font-size:36px;color:#929582;margin-bottom:16px}.privacy .eyebrow{margin-bottom:18px}.privacy h2{font-size:clamp(32px,3.6vw,48px)}.privacy>p:last-child{max-width:560px;margin:25px auto 0;color:#74776f;font-size:12px;line-height:1.9}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--white)}.contact h2{margin:24px 0}.contact-copy>p{color:#777b73;max-width:350px;line-height:1.9}.contact-meta{display:flex;flex-direction:column;gap:10px;margin-top:60px;color:#8b8d83;font-size:10px;letter-spacing:.4px}.contact-meta span:last-child{letter-spacing:1.8px}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#5e6259}.contact-form input,.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid #d7d5cd;background:transparent;padding:10px 0;outline:none;color:var(--ink);border-radius:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#8a8e7a}.contact-form .btn{align-self:flex-start;margin-top:5px}.form-note{font-size:10px;color:#999b91;margin:0}.footer{padding:30px 5.5vw 25px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;border-top:1px solid var(--line)}.footer>p{font-size:10px;color:#898b81;margin:0}.footer-links{display:flex;justify-content:flex-end;gap:18px;font-size:10px;color:#777b73}.copyright{grid-column:1/-1!important;border-top:1px solid var(--line);padding-top:20px;margin-top:12px!important;font-size:9px!important;letter-spacing:.4px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#20231f;color:#fff;padding:12px 18px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:30;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(31,33,29,.75);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(10px)}.age-gate.hidden{display:none}.age-card{width:min(100%,440px);background:var(--paper);padding:42px;text-align:center;box-shadow:0 20px 70px #0003}.small-mark{font-size:31px;margin-bottom:30px}.age-card .eyebrow{margin-bottom:12px;font-size:9px}.age-card h1{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.2;margin:0 0 15px}.muted{color:#777b73}.age-card>p:not(.eyebrow){font-size:12px;line-height:1.8}.gate-actions{display:flex;gap:10px;margin:25px 0 16px}.gate-actions .btn{flex:1;padding:13px 8px}.tiny{font-size:9px!important}
@media(max-width:900px){.site-header{padding:0 5vw}.desktop-nav{gap:16px}.hero{padding-left:5vw;padding-right:5vw;gap:3vw;min-height:580px}.hero-art{height:430px}.section{padding:80px 6vw}.feature-copy{padding:70px 6vw}.product-visual{height:280px}.contact{gap:6vw}.footer{padding-left:5vw;padding-right:5vw}}
@media(max-width:700px){.site-header{height:72px}.brand-name{letter-spacing:1.8px}.desktop-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:22px 6vw 28px;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.desktop-nav.open{display:flex}.header-actions{gap:13px}.header-cta{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:50px 6vw 40px;gap:35px}.hero-copy{padding:0}.hero h1{font-size:clamp(42px,11vw,60px);letter-spacing:-1.8px}.hero-description{font-size:13px}.hero-footnote{margin-top:34px}.hero-art{height:390px}.trust-strip{grid-template-columns:1fr 1fr;padding:22px 6vw;gap:18px}.trust-strip>div{font-size:10px}.section{padding:65px 6vw}.philosophy{grid-template-columns:1fr;gap:25px}.philosophy h2,.collection h2,.feature-copy h2,.contact h2{font-size:37px}.philosophy-bottom{display:block;margin-top:24px}.philosophy-bottom p{margin-bottom:23px;font-size:12px}.collection-heading{display:block}.collection-heading>p{margin-top:18px}.product-grid{grid-template-columns:1fr;gap:35px}.product-visual{height:350px}.product-description{max-width:none}.feature-band{grid-template-columns:1fr}.feature-image{min-height:440px}.material-card{height:340px;width:min(72%,330px)}.material-swatch{height:160px}.feature-copy{padding:65px 6vw}.privacy{padding-top:75px;padding-bottom:80px}.contact{grid-template-columns:1fr;gap:40px}.contact-meta{margin-top:30px}.footer{grid-template-columns:1fr 1fr;gap:18px}.footer>p{grid-column:1/-1;grid-row:2}.footer-links{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.copyright{grid-row:4}.age-card{padding:32px 24px}.gate-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Brand identity and replaceable product concept assets */
.brand-logo{display:block;width:38px;height:38px;flex:0 0 auto;border-radius:50%}
.brand-positioning{max-width:380px;color:#8a8d82;font-size:11px;line-height:1.75;margin:15px 0 0}
.product-concept-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;mix-blend-mode:multiply}
.product-visual .visual-index,.product-visual .visual-tag{z-index:2}
.product-visual{isolation:isolate}
@media(max-width:700px){.brand-logo{width:34px;height:34px}.brand-positioning{font-size:10px;margin-top:12px}}

/* User-provided product photography: hero + two collection cards */
.hero-photo{background:#e8ded4}
.hero-main-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}
.hero-photo-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(25,25,24,.02) 45%,rgba(25,25,24,.35) 100%)}
.hero-photo .art-caption{z-index:3;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.28)}
.product-concept-image{mix-blend-mode:normal;object-fit:cover;object-position:center 25%}
@media(max-width:900px){.hero-main-image{object-position:center 24%}}


/* Full-image display fix: preserve the complete original portrait photos.
   Original uploads are 1365 x 2048 (2:3 portrait ratio). */
.hero-art.hero-photo{
  width:min(100%, 430px);
  height:auto;
  aspect-ratio:2 / 3;
  justify-self:center;
  background:#e8ded4;
}
.hero-main-image{
  object-fit:contain !important;
  object-position:center center !important;
  background:#e8ded4;
}
.hero-photo-shade{
  /* Keep caption legible without hiding/cropping the photo. */
  background:linear-gradient(180deg,rgba(25,25,24,0) 68%,rgba(25,25,24,.28) 100%);
}
.product-visual{
  height:auto !important;
  aspect-ratio:2 / 3;
  background:#e8e2da;
}
.product-concept-image{
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent;
}
@media(max-width:700px){
  .hero-art.hero-photo{
    width:min(100%, 430px);
    height:auto;
    aspect-ratio:2 / 3;
  }
  .product-visual{
    height:auto !important;
    aspect-ratio:2 / 3;
  }
}


/* Refined hero composition: use the quiet space beside the portrait intentionally. */
.hero-visual-wrap{
  position:relative;
  width:100%;
  min-height:650px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  isolation:isolate;
}
.hero-visual-wrap::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:2%;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(115,122,98,.22);
  border-radius:50%;
  pointer-events:none;
}
.hero-visual-wrap::after{
  content:"";
  position:absolute;
  width:245px;
  height:245px;
  right:10%;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(197,161,138,.28);
  border-radius:50%;
  pointer-events:none;
}
.hero-art.hero-photo{
  z-index:2;
  width:min(78%, 390px);
  flex:0 0 auto;
  aspect-ratio:2 / 3;
  height:auto;
  margin-right:1%;
  box-shadow:0 24px 65px rgba(51,43,34,.13);
}
.hero-main-image{object-fit:contain!important;object-position:center!important}
.hero-detail-card{
  position:absolute;
  z-index:4;
  left:0;
  top:50%;
  transform:translateY(-34%);
  width:218px;
  min-height:278px;
  padding:19px 20px 17px;
  background:rgba(255,253,250,.96);
  border:1px solid rgba(220,217,210,.9);
  box-shadow:0 18px 50px rgba(49,43,35,.10);
  backdrop-filter:blur(12px);
}
.detail-card-top{display:flex;align-items:center;gap:9px;color:#8b8d82}
.detail-index{font-family:var(--serif);font-size:17px;color:var(--clay)}
.detail-rule{height:1px;background:#d8d4ca;flex:1}
.detail-season{font-size:7px;letter-spacing:1.2px;white-space:nowrap}
.detail-sun{position:absolute;right:18px;top:48px;font-size:22px;color:#c5a18a;line-height:1}
.detail-eyebrow{font-size:8px;letter-spacing:1.8px;color:var(--olive);font-weight:700;margin:25px 0 9px}
.hero-detail-card h2{font-family:var(--serif);font-size:28px;line-height:1.05;font-weight:500;letter-spacing:-.7px;margin:0 0 13px}
.hero-detail-card h2 em{font-weight:500}
.detail-description{font-size:10px;line-height:1.8;color:#73766d;margin:0;max-width:175px}
.detail-card-bottom{display:flex;align-items:center;gap:7px;margin-top:18px;padding-top:12px;border-top:1px solid #e5e1d8;font-size:7px;letter-spacing:1.15px;color:#85877d;white-space:nowrap}
.detail-dot{width:5px;height:5px;background:var(--olive);border-radius:50%;flex:0 0 auto}
.hero-edition-stamp{
  position:absolute;
  z-index:5;
  right:0;
  top:7%;
  width:78px;
  height:78px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#737a62;
  color:#fffdfa;
  box-shadow:0 10px 24px rgba(44,47,39,.14);
  transform:rotate(9deg);
}
.hero-edition-stamp span{font-family:var(--serif);font-size:23px;line-height:1}
.hero-edition-stamp i{display:block;width:23px;height:1px;background:#c5a18a;margin:5px 0}
.hero-edition-stamp small{font-size:5px;letter-spacing:.7px}
@media(max-width:1100px) and (min-width:701px){
  .hero-visual-wrap{min-height:590px}
  .hero-art.hero-photo{width:min(76%,350px)}
  .hero-detail-card{width:190px;padding:16px;min-height:260px}
  .hero-detail-card h2{font-size:25px}
  .detail-season{font-size:6px;letter-spacing:.8px}
  .hero-edition-stamp{width:66px;height:66px;right:-2px}
}
@media(max-width:700px){
  .hero-visual-wrap{min-height:0;display:flex;flex-direction:column;align-items:center;gap:0;padding:8px 0 0}
  .hero-visual-wrap::before{width:270px;height:270px;right:4%;top:34%}
  .hero-visual-wrap::after{width:200px;height:200px;right:12%;top:34%}
  .hero-art.hero-photo{width:min(82%,360px);margin:0 auto;align-self:flex-end}
  .hero-detail-card{position:relative;top:auto;left:auto;transform:none;width:min(88%,340px);min-height:0;margin:-28px auto 0 0;padding:17px 18px;align-self:flex-start}
  .detail-eyebrow{margin-top:17px}
  .hero-detail-card h2{font-size:25px}
  .detail-description{max-width:260px}
  .detail-card-bottom{margin-top:13px}
  .hero-edition-stamp{width:62px;height:62px;right:-2px;top:3%}
  .hero-edition-stamp span{font-size:19px}
}


/* Expanded editorial image story: give customer-provided photos a larger role. */
.photo-story{
  background:#f1eee8;
  padding-top:84px;
  padding-bottom:92px;
}
.photo-story-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:42px;
  margin-bottom:34px;
}
.photo-story-heading h2{
  font-size:clamp(32px,3.8vw,50px);
  line-height:1.15;
  letter-spacing:-1.4px;
  font-weight:500;
  margin:18px 0 0;
}
.photo-story-heading>p{
  max-width:330px;
  margin:0 0 4px;
  color:#777b73;
  font-size:12px;
  line-height:1.9;
}
.photo-story-grid{
  display:grid;
  grid-template-columns:1.08fr 1fr 1fr;
  gap:16px;
  align-items:stretch;
}
.story-photo{
  position:relative;
  min-width:0;
  margin:0;
  overflow:hidden;
  background:#e2d8cd;
  aspect-ratio:3/4;
}
.story-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#e2d8cd;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.story-photo:hover img{transform:scale(1.025)}
.story-photo figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:30px 16px 14px;
  color:#fff;
  font-size:9px;
  letter-spacing:1px;
  background:linear-gradient(180deg,transparent,rgba(26,27,25,.62));
}
.story-photo figcaption span:last-child{
  text-align:right;
  font-size:10px;
  letter-spacing:.2px;
}
.product-visual .product-concept-image{object-fit:contain!important}
@media(max-width:900px){
  .photo-story{padding:70px 6vw}
  .photo-story-grid{gap:12px}
  .photo-story-heading{gap:24px}
}
@media(max-width:700px){
  .photo-story{padding:62px 6vw}
  .photo-story-heading{display:block;margin-bottom:24px}
  .photo-story-heading>p{margin-top:14px}
  .photo-story-grid{grid-template-columns:1fr 1fr;gap:10px}
  .story-photo:first-child{grid-column:1/-1;aspect-ratio:4/3}
  .story-photo:not(:first-child){aspect-ratio:3/4}
  .story-photo figcaption{padding:28px 10px 10px;font-size:8px}
  .story-photo figcaption span:last-child{font-size:9px}
}

/* Expandable multi-series product catalogue */
.catalogue-toolbar{display:flex;flex-direction:column;gap:18px;margin:0 0 30px}
.catalogue-count{margin:0;color:#777b73;font-size:11px;letter-spacing:.04em}
.series-filters{display:flex;flex-wrap:wrap;gap:9px}
.series-filter{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 16px;border-radius:999px;font:inherit;font-size:11px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.series-filter:hover,.series-filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.catalogue-card .product-visual{height:clamp(300px,32vw,430px);background:#eee9e2;border-radius:7px}
.catalogue-card .product-concept-image{object-fit:contain;background:#eee9e2}
.catalogue-card .visual-tag{background:rgba(246,243,239,.9);padding:7px 9px;border-radius:3px;letter-spacing:.04em}
.catalogue-card .product-detail-cta{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:10px 13px;border:1px solid var(--line);font-size:11px;color:var(--ink);text-decoration:none;transition:background .2s,color .2s}
.catalogue-card .product-detail-cta:hover{background:var(--ink);color:var(--paper)}
.catalogue-card .product-card-hitarea{z-index:1}
.catalogue-card .product-detail-cta{position:relative;z-index:2}
@media(min-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:42px;column-gap:24px}}
@media(max-width:700px){.catalogue-toolbar{gap:14px}.series-filters{gap:7px}.series-filter{padding:9px 12px;font-size:10px}.catalogue-card .product-visual{height:390px}}

/* Companion Doll Factory — refined midnight-plum / champagne luxury palette. */
:root{--paper:#17151c;--ink:#f6eee9;--muted:#bdb0b9;--line:#443640;--olive:#d4b29b;--clay:#d5a98e;--cream:#32252f;--white:#241d27}
body{background:var(--paper);color:var(--ink)}
.site-header{background:rgba(23,21,28,.95);border-bottom-color:#493943}
.desktop-nav,.hero-description,.philosophy-bottom p,.collection-heading>p,.feature-copy>p,.contact-copy>p,.contact-meta,.footer>p,.footer-links,.form-note,.product-description{color:#c9bbc4}
.eyebrow,.section-label,.trust-number,.brand-positioning{color:#d5a98e}
.hero{background:radial-gradient(ellipse at 80% 40%,#38232e 0%,#17151c 62%)}
.hero-photo,.hero-art.hero-photo,.hero-main-image{background:#382a33}
.hero-visual-wrap::before,.hero-visual-wrap::after{border-color:rgba(213,169,142,.24)}
.trust-strip,.footer{border-color:#493943}
.collection{background:#211a23}.product-visual,.visual-one,.visual-two,.visual-three{background:#352a33}.product-visual .visual-index,.product-visual .visual-tag{color:#f4e8e2}
.feature-band{background:#2c222d}.feature-image{background:radial-gradient(ellipse,#51404a,#261e28)}
.privacy{background:#33252f}.privacy>p:last-child,.feature-list p{color:#c9bac2}
.contact{background:#211a23}.contact-form label{color:#e2cbd0}
.contact-form input,.contact-form textarea,.contact-form select{border-bottom-color:#725762;color:#fff5ef;color-scheme:dark}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9e8d98}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#e5bda0}
.btn-dark{background:#cda58e;color:#20161e}.btn-dark:hover{background:#e8c5a9}
.btn-outline{border-color:#af8e94;color:#f6eee9}.lang-toggle{color:#f6eee9;border-color:#69525f}
.text-link,.product-card .product-detail-cta{color:#efd6c7;border-color:#b99283}
.hero-footnote,.section-label,.feature-list li>span,.detail-breadcrumb{color:#c6acb6}
.toast{background:#e1b79c;color:#20161e}
@media(max-width:700px){.desktop-nav{background:#211a23}}

/* Product catalogue: four compact cards per desktop row. */
@media (min-width:1100px){
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;row-gap:32px}
  .catalogue-card .product-visual{height:clamp(220px,23vw,310px)}
  .catalogue-card .product-info h3{font-size:19px}
}
@media (min-width:701px) and (max-width:1099px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .catalogue-card .product-visual{height:clamp(220px,28vw,320px)}
}
@media (max-width:700px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .catalogue-card .product-visual{height:clamp(170px,55vw,270px)}
  .catalogue-card .product-info h3{font-size:16px}
  .catalogue-card .product-description{font-size:10px}
  .catalogue-card .product-detail-cta{font-size:10px;padding:8px 10px}
}

/* Four-photo visual story; balanced, compact desktop gallery */
.photo-story-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.story-photo{aspect-ratio:3/4}
.story-photo img{object-fit:cover;background:#211a23}
.story-photo-new img{object-position:center top}
.direct-contacts{margin-top:30px;padding:24px;border:1px solid #705363;border-radius:10px;background:rgba(255,255,255,.035)}
.direct-contacts h3{margin:0 0 16px;font-size:16px;color:#f6eee9;font-weight:500}
.direct-contacts-label{margin:14px 0 7px;color:#d5a98e;font-weight:600;letter-spacing:.04em}
.direct-contacts-links{display:flex;flex-wrap:wrap;gap:10px 18px;color:#f6eee9}
.direct-contacts-links a{text-decoration:underline;text-underline-offset:4px}
.direct-contacts-links a:hover{color:#d5a98e}
.direct-contacts-note{margin:10px 0 0;font-size:12px;color:#c9bbc4}
@media(max-width:900px){.photo-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.photo-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-photo:first-child{grid-column:auto;aspect-ratio:3/4}.story-photo:not(:first-child){aspect-ratio:3/4}}

.telegram-contacts{align-items:stretch}.telegram-contact{display:flex;flex-direction:column;gap:5px;padding:12px 14px;background:rgba(255,255,255,.045);border:1px solid rgba(213,169,142,.22);border-radius:8px;min-width:180px}.telegram-contact strong{font-weight:500;color:#f6eee9}.telegram-contact span{color:#d5a98e;font-size:14px}

/* Six-image visual story: three columns desktop, two columns mobile. */
.photo-story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.photo-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-story-grid .story-photo:first-child{grid-column:auto;aspect-ratio:3/4}}

.series-empty{grid-column:1/-1;text-align:center;padding:64px 24px;border:1px solid var(--line);border-radius:12px;width:100%}.series-empty h3{font-size:24px;margin:0 0 12px}.series-empty p{margin:0 auto 22px;max-width:460px}.series-empty .product-detail-cta{display:inline-block}

/* Visual story: all six images in a single compact row on desktop. */
@media (min-width: 901px) {
  .photo-story-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
  .photo-story-grid .story-photo { grid-column: auto; aspect-ratio: 3 / 4; }
  .photo-story-grid .story-photo figcaption { padding: 8px 6px; font-size: 10px; }
}

/* Homepage visual upgrade: premium B2B hero while preserving the Companion Doll Factory palette. */
:root{--accent-gold:#d5a98e;--plum-deep:#17151c;--plum-card:#261e29}
.hero{
  position:relative;
  isolation:isolate;
  min-height:690px;
  padding-top:54px;
  padding-bottom:64px;
  background:radial-gradient(ellipse at 78% 42%,rgba(83,47,64,.55) 0%,rgba(37,28,40,.35) 34%,#17151c 72%);
}
.hero::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.28;
  background:linear-gradient(115deg,transparent 0 48%,rgba(213,169,142,.08) 48.1%,transparent 48.35%),linear-gradient(25deg,transparent 0 72%,rgba(213,169,142,.07) 72.1%,transparent 72.3%);
}
.hero-copy{max-width:620px;padding-top:22px}
.hero-kicker{display:flex;align-items:center;gap:10px;color:#d5a98e!important;font-size:9px;letter-spacing:2.1px;line-height:1.7}
.hero-kicker::before{content:"";display:inline-block;width:28px;height:1px;background:#d5a98e;flex:0 0 auto}
.hero h1{max-width:680px;font-size:clamp(43px,4.8vw,68px);line-height:1.08;letter-spacing:-2.3px;margin-bottom:24px}
.hero h1 em{color:#e2bda5;text-shadow:0 8px 30px rgba(213,169,142,.08)}
.hero-description{max-width:465px;color:#d0c2ca;font-size:14px;line-height:1.95}
.brand-positioning{max-width:440px;color:#a99aa5;font-size:11px;line-height:1.9;margin-top:13px}
.hero-buttons{gap:24px;margin-top:30px}
.hero-buttons .btn-dark{min-height:48px;padding:15px 20px;box-shadow:0 8px 28px rgba(205,165,142,.12)}
.hero-secondary-cta{color:#f0d8c9;border-color:rgba(213,169,142,.55)}
.hero-footnote{margin-top:37px;color:#b8aab5;font-size:9px;letter-spacing:.35px}
.hero-footnote .dot{background:#d5a98e;box-shadow:0 0 0 4px rgba(213,169,142,.1)}
.hero-visual-wrap{min-height:630px}
.hero-visual-wrap::before{width:380px;height:380px;border-color:rgba(213,169,142,.22);box-shadow:0 0 70px rgba(213,169,142,.035)}
.hero-visual-wrap::after{width:285px;height:285px;border-color:rgba(213,169,142,.34)}
.hero-art.hero-photo{border:1px solid rgba(231,199,177,.26);box-shadow:0 30px 80px rgba(0,0,0,.38),0 0 0 8px rgba(255,255,255,.015)}
.hero-main-image{background:#211a23}
.hero-detail-card{background:linear-gradient(145deg,rgba(45,33,47,.98),rgba(31,24,34,.98));border:1px solid rgba(213,169,142,.34);box-shadow:0 24px 70px rgba(0,0,0,.32);color:#f6eee9}
.detail-index,.detail-sun{color:#d5a98e}
.detail-rule,.detail-card-bottom{border-color:rgba(213,169,142,.22)}
.detail-rule{background:rgba(213,169,142,.4)}
.detail-season,.detail-description,.detail-card-bottom{color:#c9bbc4}
.detail-eyebrow{color:#d5a98e}
.hero-detail-card h2{color:#f6eee9}
.hero-edition-stamp{background:#d5a98e;color:#211720;box-shadow:0 14px 35px rgba(0,0,0,.3)}
.hero-edition-stamp i{background:#6e4a57}
.trust-strip{background:#1d1821;border-top-color:#493943;border-bottom-color:#493943}
.trust-strip>div{color:#e4d9df}
.trust-number{color:#d5a98e}
@media(max-width:1100px) and (min-width:701px){.hero{min-height:620px}.hero-visual-wrap{min-height:590px}.hero h1{font-size:clamp(40px,4.8vw,58px)}}
@media(max-width:700px){
  .hero{padding-top:38px;padding-bottom:42px;gap:25px;background:radial-gradient(ellipse at 70% 36%,rgba(83,47,64,.48),#17151c 68%)}
  .hero-kicker{font-size:8px;letter-spacing:1.5px;margin-bottom:19px}
  .hero h1{font-size:clamp(39px,10.5vw,54px);letter-spacing:-1.7px;line-height:1.1;margin-bottom:20px}
  .hero-description{font-size:13px;line-height:1.85}
  .hero-buttons{align-items:flex-start;flex-wrap:wrap;gap:18px;margin-top:25px}
  .hero-buttons .btn{min-height:46px;gap:12px}
  .hero-footnote{margin-top:27px;align-items:flex-start;line-height:1.8}
  .hero-visual-wrap{min-height:0}
  .hero-detail-card{background:linear-gradient(145deg,rgba(45,33,47,.99),rgba(31,24,34,.99));border-color:rgba(213,169,142,.34)}
  .hero-visual-wrap::before{width:260px;height:260px;right:4%;top:30%}
  .hero-visual-wrap::after{width:200px;height:200px;right:12%;top:30%}
  .hero-edition-stamp{right:-2px;top:2%}
}


/* In-page quick contact panel: no redirect away from the current product/page. */
.contact-quick-dialog{width:min(560px,calc(100% - 28px));max-height:min(88vh,820px);overflow:auto;border:1px solid rgba(213,169,142,.38);border-radius:18px;padding:clamp(20px,4vw,34px);background:#211a23;color:#f6eee9;box-shadow:0 28px 90px rgba(0,0,0,.5)}
.contact-quick-dialog::backdrop{background:rgba(10,8,12,.72);backdrop-filter:blur(5px)}
.contact-quick-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.contact-quick-head h2{font-size:clamp(25px,4vw,34px);margin:8px 0}.contact-quick-head p:not(.section-label){color:#c9bbc4;margin:0}.contact-quick-close{border:1px solid #66505d;background:transparent;color:#f6eee9;width:38px;height:38px;border-radius:50%;font-size:25px;cursor:pointer;flex-shrink:0}
.contact-quick-selection{margin-top:20px;padding:12px 14px;border:1px solid rgba(213,169,142,.35);border-radius:10px;color:#e4c0a8;font-size:14px}.contact-quick-group{margin-top:24px}.contact-quick-group h3{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#d5a98e;margin:0 0 10px}.contact-quick-link,.contact-quick-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #493743;color:#f6eee9;text-decoration:none}.contact-quick-link span{color:#d5a98e;font-size:13px}.contact-quick-person>div{display:grid;gap:4px}.contact-quick-person span,.contact-quick-note{font-size:13px;color:#c9bbc4}.contact-copy{border:1px solid #806477;color:#e4c0a8;background:transparent;border-radius:20px;padding:8px 12px;cursor:pointer;font-size:12px}.contact-quick-note{line-height:1.6}.contact-quick-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.contact-quick-actions .btn{cursor:pointer}.contact-quick-dialog .section-label{color:#d5a98e;font-size:11px;letter-spacing:.16em}
button.header-cta,button.hero-secondary-cta{cursor:pointer;font:inherit}button.hero-secondary-cta{border:0;background:transparent}
@media(max-width:480px){.contact-quick-actions{flex-direction:column}.contact-quick-actions .btn{width:100%;text-align:center}.contact-quick-link{font-size:14px}}


/* Header product-series dropdown */
.nav-series-wrap{position:relative;display:inline-flex;align-items:center}
.nav-series-wrap>a{display:inline-flex;align-items:center;gap:7px}
.nav-chevron{font-size:13px;opacity:.75;transition:transform .2s}
#navCollectionToggle[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}
.nav-series-menu{position:absolute;z-index:1000;top:calc(100% + 18px);left:-16px;min-width:190px;padding:8px;background:#241d27;border:1px solid #594450;border-radius:8px;box-shadow:0 16px 36px rgba(0,0,0,.28)}
.nav-series-menu[hidden]{display:none!important}
.nav-series-menu button{display:block;width:100%;padding:12px 13px;text-align:left;border:0;border-radius:5px;background:transparent;color:#f6eee9;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.nav-series-menu button:hover,.nav-series-menu button:focus-visible{background:#3b2b38;color:#d5a98e;outline:none}
@media(max-width:700px){.nav-series-wrap{display:block;width:100%}.nav-series-wrap>a{width:100%;padding:12px 0}.nav-series-menu{position:static;min-width:0;margin:0 0 8px 10px;box-shadow:none}.nav-series-menu button{white-space:normal}}

/* Craftsmanship & Detail: full-width editorial composition */
.craft-editorial{background:#1d171d;padding:0;overflow:hidden}
.craft-editorial-image{display:block;width:100%;height:auto;object-fit:contain}
.craft-editorial-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 6vw 28px;color:#d6ad92;font-size:11px;letter-spacing:1.7px}
.craft-editorial-footer .btn{color:#f5e9e2;border-color:#967b87}
@media(max-width:700px){.craft-editorial-footer{flex-direction:column;align-items:flex-start;padding:20px 6vw}.craft-editorial-footer span{font-size:9px;letter-spacing:1px}}

/* Compact editorial showcase: keep the artwork at a comfortable reading size. */
.craft-editorial{padding:64px 24px 24px}
.craft-editorial-image{width:100%;max-width:1020px;margin:0 auto;border-radius:8px}
.craft-editorial-footer{max-width:1020px;margin:0 auto;padding:22px 0 10px}
@media(max-width:700px){.craft-editorial{padding:34px 16px 16px}.craft-editorial-image{border-radius:5px}.craft-editorial-footer{padding:18px 0 8px}}

/* Refined two-chapter editorial composition */
.craft-luxe{background:#1b161d;color:#f3e9e5;padding:92px 6vw 72px}
.craft-luxe-inner{max-width:1120px;margin:auto}
.craft-luxe-heading{max-width:720px;margin:0 0 52px}
.craft-luxe-heading h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5vw,66px);line-height:1.08;letter-spacing:-1.5px;margin:20px 0 18px}
.craft-luxe-heading h2 em{font-weight:400;color:#d6ad92}
.craft-luxe-heading>p{color:#bcb0b9;font-size:14px;line-height:1.8}
.craft-luxe-material{display:grid;grid-template-columns:1.35fr .82fr;gap:36px;align-items:start}
.craft-luxe-photo{margin:0;overflow:hidden;background:#34262d}
.craft-luxe-photo img{width:100%;height:100%;object-fit:cover;display:block}
.craft-luxe-photo-main{height:470px}
.craft-luxe-side{padding-top:50px;display:flex;flex-direction:column;gap:26px}
.craft-luxe-photo-detail{height:250px}
.craft-luxe-number{color:#d6ad92;font-size:11px;letter-spacing:2px}
.craft-luxe-caption h3,.craft-luxe-making-copy h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(27px,3vw,42px);line-height:1.15;margin:14px 0}
.craft-luxe-caption p,.craft-luxe-making-copy p{color:#bcb0b9;font-size:13px;line-height:1.85;max-width:330px}
.craft-luxe-divider{height:1px;background:#54414b;margin:82px 0 64px}
.craft-luxe-making{display:grid;grid-template-columns:.75fr 1.05fr .58fr;gap:24px;align-items:center}
.craft-luxe-making-copy{padding-right:16px}
.craft-luxe-photo-making{height:390px}
.craft-luxe-photo-accent{height:245px;align-self:end;margin-bottom:-26px}
.craft-luxe-fineprint{display:block;font-size:10px;line-height:1.6;color:#988c96;margin-top:30px}
.craft-luxe-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:90px;padding-top:22px;border-top:1px solid #54414b;color:#d6ad92;font-size:10px;letter-spacing:1.5px}
.craft-luxe-bottom .btn{color:#f3e9e5;border-color:#806773}
@media(max-width:800px){.craft-luxe{padding:62px 5vw 48px}.craft-luxe-material{gap:18px}.craft-luxe-photo-main{height:360px}.craft-luxe-side{padding-top:30px}.craft-luxe-photo-detail{height:190px}.craft-luxe-making{grid-template-columns:1fr 1.2fr}.craft-luxe-photo-accent{display:none}.craft-luxe-photo-making{height:310px}.craft-luxe-divider{margin:56px 0 44px}}
@media(max-width:560px){.craft-luxe-heading{margin-bottom:30px}.craft-luxe-material{grid-template-columns:1fr;gap:18px}.craft-luxe-photo-main{height:320px}.craft-luxe-side{padding:0;display:grid;grid-template-columns:.82fr 1.18fr;gap:15px;align-items:center}.craft-luxe-photo-detail{height:170px}.craft-luxe-caption h3{font-size:24px}.craft-luxe-caption p{font-size:12px}.craft-luxe-making{grid-template-columns:1fr;gap:22px}.craft-luxe-making-copy{padding:0}.craft-luxe-photo-making{height:300px}.craft-luxe-bottom{margin-top:45px;align-items:flex-start;flex-direction:column}.craft-luxe-bottom span{font-size:9px}}

/* Visual Story — six-panel hover accordion, retains the original six images. */
.photo-story .photo-story-grid{display:flex;gap:4px;align-items:stretch;width:100%;height:clamp(250px,34vw,490px);overflow:hidden}
.photo-story .photo-story-grid .story-photo{flex:1 1 0;min-width:0;width:0;height:100%;aspect-ratio:auto;grid-column:auto;transition:flex-grow .55s cubic-bezier(.22,1,.36,1);isolation:isolate}
.photo-story .photo-story-grid .story-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.22,1,.36,1);background:#1b151d}
@media(hover:hover) and (pointer:fine){
  .photo-story .photo-story-grid .story-photo:hover{flex-grow:5;z-index:1;background:#1b151d}
  .photo-story .photo-story-grid .story-photo:hover img{object-fit:contain;transform:none}
}
.photo-story .photo-story-grid .story-photo figcaption{padding:28px 9px 12px;gap:4px;flex-wrap:wrap;font-size:9px;overflow:hidden}
.photo-story .photo-story-grid .story-photo figcaption span:last-child{opacity:0;transition:opacity .25s;white-space:nowrap}
.photo-story .photo-story-grid .story-photo:hover figcaption span:last-child,.photo-story .photo-story-grid .story-photo:focus-within figcaption span:last-child{opacity:1}
@media(max-width:700px){.photo-story .photo-story-grid{height:280px;gap:3px}.photo-story .photo-story-grid .story-photo{aspect-ratio:auto;grid-column:auto}.photo-story .photo-story-grid .story-photo figcaption{padding:20px 4px 8px;font-size:8px}.photo-story .photo-story-grid .story-photo figcaption span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.photo-story .photo-story-grid .story-photo,.photo-story .photo-story-grid .story-photo img{transition:none}}

/* Touch accessibility: tap a panel to reveal its full uncropped image. */
@media(hover:none){.photo-story .photo-story-grid .story-photo:focus-within{flex-grow:5}.photo-story .photo-story-grid .story-photo:focus-within img{object-fit:contain}}


/* Unified responsive system: identical sections and content on all screens */
html,body{max-width:100%;overflow-x:clip}
img,video,svg{max-width:100%}
button,a,select,input,textarea{touch-action:manipulation}
.hero,.hero-copy,.hero-visual-wrap,.photo-story,.collection,.craft-luxe,.contact,.detail-layout{min-width:0}
.hero h1,.photo-story-heading h2,.craft-luxe h2,.collection h2,.detail-summary h1{overflow-wrap:break-word}
/* Six-photo accordion, shared across mouse, touch and keyboard */
.photo-story .photo-story-grid{display:flex;flex-wrap:nowrap;gap:4px;width:100%;height:clamp(260px,34vw,490px);overflow:hidden;align-items:stretch}
.photo-story .photo-story-grid .story-photo{flex:1 1 0;width:0;min-width:0;max-width:none;height:100%;aspect-ratio:auto;overflow:hidden;cursor:pointer;transition:flex-grow .5s cubic-bezier(.22,1,.36,1);background:#1b151d}
.photo-story .photo-story-grid .story-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;background:#1b151d}
.photo-story .photo-story-grid .story-photo:is(:hover,:focus-visible,.is-expanded){flex-grow:5;z-index:1}
.photo-story .photo-story-grid .story-photo:is(:hover,:focus-visible,.is-expanded) img{object-fit:contain;transform:none}
.photo-story .photo-story-grid .story-photo:is(:hover,:focus-visible,.is-expanded) figcaption span:last-child{opacity:1}
.story-mobile-controls{display:none!important}
@media(hover:none),(pointer:coarse){
 .photo-story .photo-story-grid .story-photo:hover{flex-grow:1}
 .photo-story .photo-story-grid .story-photo:hover img{object-fit:cover}
 .photo-story .photo-story-grid .story-photo.is-expanded{flex-grow:5}
 .photo-story .photo-story-grid .story-photo.is-expanded img{object-fit:contain}
}
@media(max-width:700px){
 .site-header{padding-inline:4vw;gap:8px}
 .brand{gap:7px}.brand-name{font-size:10px;letter-spacing:1.2px}
 .header-actions{gap:8px}.lang-toggle{padding:8px 10px}
 .section{padding:clamp(46px,10vw,70px) 5vw}
 .hero{padding:35px 5vw 48px;gap:25px}
 .hero h1{font-size:clamp(34px,9.5vw,54px);line-height:1.12}
 .hero-description{font-size:14px;line-height:1.8}
 .hero-buttons{flex-wrap:wrap;gap:18px}
 .hero-visual-wrap{width:100%;max-width:100%}
 .hero-art{height:clamp(300px,96vw,470px)}
 .photo-story-heading{gap:14px}
 .photo-story-heading h2{font-size:clamp(28px,8vw,40px)}
 .photo-story .photo-story-grid{display:flex;flex-wrap:nowrap;gap:3px;height:clamp(230px,78vw,390px);overflow:hidden;scroll-snap-type:none;touch-action:pan-y}
 .photo-story .photo-story-grid .story-photo,.photo-story .photo-story-grid .story-photo:hover,.photo-story .photo-story-grid .story-photo:focus-within{flex:1 1 0;min-width:0;width:0;max-width:none;height:100%;aspect-ratio:auto;scroll-snap-align:none;transition:flex-grow .45s cubic-bezier(.22,1,.36,1)}
 .photo-story .photo-story-grid .story-photo.is-expanded{flex-grow:5}
 .photo-story .photo-story-grid .story-photo img{object-fit:cover}
 .photo-story .photo-story-grid .story-photo.is-expanded img{object-fit:contain}
 .photo-story .photo-story-grid .story-photo figcaption{padding:14px 4px 7px;font-size:8px}
 .photo-story .photo-story-grid .story-photo figcaption span:last-child{display:none}
 .photo-story .photo-story-grid .story-photo.is-expanded figcaption span:last-child{display:inline;opacity:1;white-space:normal}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 .product-grid .product-card{min-width:0}
 .catalogue-card .product-visual{height:clamp(180px,56vw,290px)}
 .catalogue-card .product-info h3{font-size:clamp(15px,4vw,19px)}
 .craft-luxe{padding:55px 5vw}
 .craft-luxe-material,.craft-luxe-making{min-width:0}
 .craft-luxe-photo-main{height:clamp(260px,78vw,390px)}
 .craft-luxe-photo-making{height:clamp(260px,78vw,390px)}
 .contact{grid-template-columns:minmax(0,1fr)}
 .footer{padding-inline:5vw}
 .btn,.gallery-arrow,.menu-toggle,.story-photo{min-height:40px}
}
@media(max-width:380px){
 .brand-logo{width:30px;height:30px}.brand-name{font-size:9px}
 .hero h1{font-size:34px}
 .photo-story .photo-story-grid{height:240px}
 .catalogue-card .product-visual{height:190px}
 .catalogue-card .product-description{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.photo-story .photo-story-grid .story-photo{transition:none}}
/* Mobile product page retains the same navigation links as desktop */
@media(max-width:700px){
 .product-detail-page .desktop-nav{background:#211a23}
 .product-detail-page .menu-toggle{display:block}
 .product-detail-page .header-cta{display:none}
}


/* Editorial hero collage: a lead portrait with two supporting collection photographs. */
.hero-visual-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(112px,.48fr);
  gap:14px;
  align-items:center;
  justify-content:stretch;
  min-height:650px;
  padding:18px 0;
}
.hero-visual-wrap::before{right:4%;width:330px;height:330px}
.hero-visual-wrap::after{right:11%;width:240px;height:240px}
.hero-art.hero-photo{
  grid-column:1;
  grid-row:1;
  justify-self:end;
  width:min(100%,350px);
  margin:0;
  align-self:center;
}
.hero-supporting-photos{
  grid-column:2;
  grid-row:1;
  align-self:center;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  position:relative;
  z-index:3;
  padding:20px 0 10px;
}
.hero-support-photo{
  position:relative;
  margin:0;
  width:100%;
  overflow:hidden;
  background:#e8ded4;
  border:1px solid rgba(115,122,98,.2);
  box-shadow:0 14px 35px rgba(51,43,34,.12);
}
.hero-support-photo-top{aspect-ratio:4/5;transform:translateX(-3px)}
.hero-support-photo-bottom{aspect-ratio:4/5;transform:translateX(5px)}
.hero-support-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 25%;
}
.hero-support-photo figcaption{
  position:absolute;
  inset:auto 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:20px 9px 9px;
  color:#fff;
  font-size:7px;
  letter-spacing:.9px;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
  background:linear-gradient(180deg,transparent,rgba(25,25,24,.58));
}
.hero-support-photo figcaption span:first-child{
  font-family:var(--serif);
  font-size:15px;
  letter-spacing:0;
}
.hero-detail-card{left:-2px;width:202px}
.hero-edition-stamp{right:-2px;top:5%}
@media(max-width:1100px) and (min-width:701px){
  .hero-visual-wrap{grid-template-columns:minmax(0,1fr) minmax(95px,.42fr);gap:10px;min-height:590px}
  .hero-art.hero-photo{width:min(100%,315px)}
  .hero-supporting-photos{gap:10px}
  .hero-detail-card{width:178px;padding:14px;min-height:240px}
  .hero-detail-card h2{font-size:23px}
  .hero-support-photo figcaption{font-size:6px;padding:16px 6px 7px}
}
@media(max-width:700px){
  .hero-visual-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(88px,.43fr);
    align-items:center;
    gap:9px;
    min-height:0;
    padding:8px 0 0;
  }
  .hero-visual-wrap::before{width:230px;height:230px;right:5%;top:35%}
  .hero-visual-wrap::after{width:175px;height:175px;right:12%;top:35%}
  .hero-art.hero-photo{
    grid-column:1;
    grid-row:1;
    width:100%;
    max-width:none;
    aspect-ratio:2/3;
    margin:0;
    justify-self:stretch;
    align-self:center;
  }
  .hero-supporting-photos{
    grid-column:2;
    grid-row:1;
    gap:9px;
    padding:8px 0;
    align-self:center;
  }
  .hero-support-photo-top,.hero-support-photo-bottom{transform:none}
  .hero-support-photo figcaption{font-size:5px;letter-spacing:.3px;padding:15px 5px 6px}
  .hero-support-photo figcaption span:first-child{font-size:12px}
  .hero-detail-card{
    grid-column:1/-1;
    grid-row:2;
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    width:min(92%,340px);
    min-height:0;
    margin:-18px auto 0 0;
    padding:15px 16px;
    align-self:start;
  }
  .hero-detail-card h2{font-size:24px}
  .detail-eyebrow{margin-top:15px}
  .detail-description{max-width:260px}
  .detail-card-bottom{margin-top:12px}
  .hero-edition-stamp{width:54px;height:54px;right:-3px;top:0}
  .hero-edition-stamp span{font-size:17px}
  .hero-edition-stamp small{font-size:4px}
}


/* Final hero refinement: two photographs total (lead image + one inset). */
.hero-supporting-photos{justify-content:center}
.hero-support-photo-top{aspect-ratio:4/5;transform:translateX(-3px)}
@media(max-width:1100px) and (min-width:701px){
  .hero-support-photo-top{aspect-ratio:4/5}
}
@media(max-width:700px){
  .hero-support-photo-top{aspect-ratio:4/5;transform:none}
}



/* Hip Collection listing card: render the landscape product image at its natural ratio.
   Do not force it into the portrait 2:3 catalogue frame, which creates blank bands. */
.catalogue-card.hip-catalogue-card .product-visual{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  display:block;
  overflow:hidden;
  background:#211a23;
}
.catalogue-card.hip-catalogue-card .product-concept-image{
  position:relative !important;
  inset:auto !important;
  display:block;
  width:100%;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  mix-blend-mode:normal;
}
