/* SCENSIA company profile — CI: Gotham, logo red + deep maroon, blush panels, tan accents */

@font-face{font-family:"Montserrat";font-style:italic;font-weight:200 900;src:url(fonts/Montserrat-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:200 900;src:url(fonts/Montserrat-normal.woff2) format("woff2");font-display:swap}

:root{
  --red:#A31F37;        /* logo red */
  --maroon:#8C192E;     /* banners, headings */
  --maroon-d:#6f1324;
  --blush:#F4EEEC;      /* CI panel */
  --blush-2:#EBE1DD;
  --tan:#B89D8F;        /* secondary text */
  --tan-d:#8d7568;
  --line:#D5CDBA;       /* rail line */
  --ink:#241f20;
  --ink-2:#5b5254;
  --white:#fff;
  --rail:96px;
  --wrap:1180px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;font-weight:300;color:var(--ink);background:var(--white);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
ul,ol{list-style:none}
b,strong{font-weight:700}
mark{background:linear-gradient(var(--maroon),var(--maroon)) left/100% 100% no-repeat;color:#fff;padding:.08em .55em;font-weight:400;white-space:nowrap;transition:background-size .9s var(--ease) .5s,color .4s ease .9s}
small{font-size:.8em}

.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.sec{padding:clamp(64px,9vw,120px) 0;position:relative}
.sec-blush{background:var(--blush)}

/* ---------- type ---------- */
.eyebrow{display:flex;align-items:center;gap:14px;font-weight:700;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--maroon);margin-bottom:18px}
.eyebrow::before{content:"";width:40px;height:3px;background:var(--maroon)}
.h2{font-weight:700;color:var(--maroon);font-size:clamp(1.75rem,3.6vw,2.9rem);line-height:1.15;letter-spacing:.01em;margin-bottom:22px;max-width:18em}
.h2.caps{text-transform:uppercase;letter-spacing:.03em;font-size:clamp(2rem,4.8vw,3.6rem);max-width:none;font-weight:900}
.h2.spaced,.h3.spaced{letter-spacing:.16em;text-transform:uppercase}
.h3{font-weight:700;color:var(--maroon);font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.25;margin-bottom:8px}
.lead{font-size:1.1rem;line-height:1.75;color:var(--ink);font-weight:400;margin-bottom:20px}
.lead.sm{font-size:1.02rem}
.lead b{color:var(--maroon)}
.it{font-style:italic;color:var(--tan-d);margin-bottom:18px}
.sub{font-size:clamp(1.05rem,1.8vw,1.35rem);margin-top:22px;color:var(--ink)}
.sub b{color:var(--maroon);font-weight:700}
.sub.plain{font-size:1.02rem;color:var(--ink-2);max-width:46em;margin-top:6px}
p+p{margin-top:14px}

.banner{background:var(--maroon);color:#fff;padding:clamp(14px,2vw,22px) clamp(20px,3vw,48px);margin-top:6px;width:fit-content;max-width:100%}
.banner span{font-weight:200;font-size:clamp(.95rem,2.3vw,2rem);letter-spacing:.07em;text-transform:uppercase;line-height:1.25;display:block}

.btn{display:inline-block;text-decoration:none;font-weight:500;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border:1.5px solid var(--maroon);transition:background .25s,color .25s,transform .25s var(--ease)}
.btn-solid{background:var(--maroon);color:#fff}
.btn-solid:hover{background:var(--maroon-d);transform:translateY(-2px)}
.btn-line{color:var(--maroon);background:transparent}
.btn-line:hover{background:var(--maroon);color:#fff}

/* ---------- CI rail ---------- */
.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:5;pointer-events:none;display:none}
.rail-line{position:absolute;left:74px;top:110px;bottom:34px;width:1px;background:var(--line)}
.rail-text{position:absolute;left:30px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-weight:300;font-size:.95rem;letter-spacing:.32em;color:#cfc8b8;white-space:nowrap}
.rail-mark{position:absolute;left:6px;bottom:8px;width:94px;opacity:.9}
@media (min-width:1200px){
  .rail{display:block}
  main,.foot,.nav{padding-left:var(--rail)}
}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #eee6e3}
.nav-in{width:min(var(--wrap),100% - 40px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;height:68px}
.nav-logo img{height:26px;width:auto}
.nav-links{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav-links a{text-decoration:none;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);transition:color .2s;position:relative;padding:6px 0}
.nav-links a:hover,.nav-links a.on{color:var(--maroon)}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--maroon);transition:right .3s var(--ease)}
.nav-links a.on::after,.nav-links a:not(.nav-cta):hover::after{right:0}
.nav-cta{background:var(--maroon);color:#fff!important;padding:10px 20px!important}
.nav-cta:hover{background:var(--maroon-d)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--maroon);transition:transform .3s,opacity .3s}
.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (max-width:1060px){
  .nav-toggle{display:flex}
  .nav-links{position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;border-bottom:1px solid #eee6e3;display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:15px 0;border-bottom:1px solid #f1eae7;font-size:.78rem}
  .nav-links a::after{display:none}
  .nav-cta{text-align:center;margin-top:14px;padding:15px!important;border:0}
}

/* ---------- hero ---------- */
.hero{padding:clamp(24px,4vw,56px) 0 clamp(40px,6vw,80px)}
.hero-grid{display:grid;grid-template-columns:1fr;position:relative}
.hero-panel{background:var(--blush);padding:clamp(32px,5vw,72px) clamp(24px,5vw,72px);position:relative;z-index:1}
.hero-logo{width:min(440px,78%);margin-bottom:22px}
.former{font-style:italic;color:#a8847c;font-size:1.05rem;margin-bottom:28px}
.hero-lead{font-size:1.12rem;line-height:1.75;max-width:30em;font-weight:400;margin-bottom:34px}
.hero-facts{display:grid;gap:22px 28px;margin-bottom:38px;max-width:34em}
@media (min-width:560px){.hero-facts{grid-template-columns:1fr 1fr}}
.hero-facts li{display:flex;flex-direction:column;border-left:4px solid var(--maroon);padding-left:18px;line-height:1.35}
.hero-facts b{color:var(--maroon);font-size:clamp(1.35rem,2.3vw,1.85rem);font-weight:700;line-height:1.15;letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}
.hero-facts span{color:var(--ink-2);font-size:.95rem;line-height:1.4}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-photo{position:relative;margin:-1px 0 0}
.hero-photo>img{width:100%;aspect-ratio:3/2;object-fit:cover}
.hero-tag{background:var(--blush);color:var(--maroon);font-weight:900;text-transform:uppercase;letter-spacing:.08em;line-height:1.28;font-size:clamp(1.05rem,2.4vw,1.55rem);padding:22px 28px;position:absolute;right:0;bottom:0;transform:translateY(24px)}
@media (min-width:900px){
  .hero-grid{min-height:640px}
  .hero-photo{position:absolute;right:0;top:56px;bottom:56px;width:56%;margin:0}
  .hero-photo>img{height:100%;aspect-ratio:auto}
  .hero-panel{display:flex;flex-direction:column;justify-content:center;width:58%;padding-right:clamp(24px,10vw,140px);z-index:2}
  .hero-tag{right:-24px;bottom:-40px;transform:none;z-index:2;padding:30px 36px}
}
@media (max-width:899px){.hero-tag{transform:translateY(20px);right:12px}.hero{padding-bottom:70px}}

/* ---------- story ---------- */
.story-grid{display:grid;gap:clamp(36px,6vw,80px);align-items:center}
@media (min-width:960px){.story-grid{grid-template-columns:1.05fr .95fr}}
.story-copy p{color:var(--ink-2);font-size:1rem}
.story-copy .lead{color:var(--ink)}
.purpose{margin-top:32px;background:var(--blush);padding:24px 28px;border-left:4px solid var(--maroon)}
.purpose-label{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon)}
.purpose p{margin-top:6px;font-size:1.15rem;font-weight:400;color:var(--ink)}
.story-photo{position:relative;padding-right:clamp(0px,6vw,64px)}
.story-photo::before{content:"";position:absolute;left:-24px;top:-24px;width:70%;height:80%;background:var(--blush);z-index:0}
.story-photo .px{position:relative;z-index:1}
.story-photo img{width:100%;aspect-ratio:4/4.4;object-fit:cover}
.vert-title{display:none;position:absolute;right:0;top:0;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;color:var(--maroon);font-size:clamp(1rem,1.8vw,1.45rem);letter-spacing:.2em;white-space:nowrap;align-items:center;justify-content:center}
@media (min-width:640px){.vert-title{display:flex}}

.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e7dfdc;margin-top:clamp(56px,8vw,96px);border:1px solid #e7dfdc}
.stats div{background:#fff;padding:30px 24px;text-align:center}
.stats b{display:block;font-weight:700;font-size:clamp(2.2rem,5vw,3.6rem);color:var(--maroon);line-height:1.1}
.stats span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
@media (min-width:800px){.stats{grid-template-columns:repeat(4,1fr)}}

.timeline{display:grid;gap:0;margin-top:56px;position:relative}
.timeline li{position:relative;padding:0 0 34px 34px;border-left:2px solid var(--blush-2)}
.timeline li::before{content:"";position:absolute;left:-8px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--maroon)}
.timeline b{font-weight:700;font-size:2.2rem;color:var(--maroon);line-height:1;display:block;margin-bottom:6px}
.timeline h3{font-size:.95rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.timeline p{color:var(--ink-2);font-size:.95rem}
@media (min-width:640px){
  .timeline{grid-template-columns:repeat(2,1fr);gap:34px 28px}
  .timeline li{border-left:0;border-top:2px solid var(--blush-2);padding:34px 0 0}
  .timeline li::before{left:0;top:-8px}
}
@media (min-width:980px){.timeline{grid-template-columns:repeat(4,1fr)}}

/* ---------- ecosystem ---------- */
.cards{display:grid;gap:26px;margin-top:clamp(36px,5vw,60px)}
@media (min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid #eadfdb;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .3s ease-out,box-shadow .35s var(--ease)}
.card:hover{--ty:-6px;box-shadow:0 22px 44px -18px rgba(140,25,46,.4)}
.card-img{position:relative;aspect-ratio:16/10;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card-img img{transform:scale(1.05)}
.pill{position:absolute;left:14px;top:14px;background:var(--maroon);color:#fff;font-style:normal;font-weight:700;font-size:.72rem;letter-spacing:.1em;padding:4px 12px;border-radius:99px}
.card h3{font-variant:small-caps;text-transform:lowercase;font-weight:700;color:var(--maroon);letter-spacing:.1em;font-size:1.15rem;padding:20px 22px 0}
.card h3::first-letter{text-transform:uppercase}
.card p{padding:6px 22px 24px;color:var(--ink-2);font-size:.95rem}
.card-hl{background:var(--maroon);border-color:var(--maroon);color:#fff}
.card-hl-in{padding:32px 28px;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative}
.card-hl .pill{position:static;display:inline-block;background:#fff;color:var(--maroon);width:max-content;margin-bottom:18px}
.card-hl h3{color:#fff;padding:0;font-size:1.4rem}
.card-hl p{color:rgba(255,255,255,.88);padding:8px 0 20px}
.tag{display:inline-block;width:max-content;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);padding:6px 0;margin-bottom:22px}
.link-w{color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.link-w:hover{text-decoration:underline}

/* ---------- perfume bar ---------- */
.ticks li{position:relative;padding-left:22px;margin-bottom:12px;font-size:.98rem;font-weight:400}
.ticks li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--tan)}
.ticks b{color:var(--maroon)}
.pb-cta{margin-top:20px;font-weight:700;color:var(--maroon);border-top:2px solid var(--ink);padding-top:16px;max-width:26em}
.regions{margin-top:30px;font-style:italic;font-weight:700;color:var(--maroon);letter-spacing:.04em}

.gallery{margin-top:clamp(64px,9vw,110px)}
.gallery-head{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}
.gallery-head .h3{margin:0;font-size:clamp(1.3rem,2.6vw,2rem)}
.tabs{display:flex;flex-wrap:wrap;gap:10px}
.tabs button{font:inherit;font-style:italic;font-size:.95rem;font-weight:400;background:none;border:1px solid var(--line);color:var(--ink-2);padding:10px 20px;cursor:pointer;transition:all .25s}
.tabs button:hover{border-color:var(--maroon);color:var(--maroon)}
.tabs button[aria-selected=true]{background:var(--maroon);border-color:var(--maroon);color:#fff}
.masonry{columns:2;column-gap:14px}
.masonry[hidden]{display:none}
.masonry img{width:100%;margin-bottom:14px;break-inside:avoid;cursor:zoom-in;transition:opacity .25s,transform .5s var(--ease)}
.masonry img:hover{opacity:.92;transform:scale(1.015)}
@media (min-width:700px){.masonry{columns:3}.masonry-4{columns:4}}
@media (max-width:699px){.masonry-4{columns:2}}

/* ---------- collection ---------- */
.col-grid{display:grid;gap:clamp(32px,6vw,80px)}
@media (min-width:960px){.col-grid{grid-template-columns:1fr 1fr;align-items:start}}
.col-grid p{color:var(--ink-2)}
.quote{background:var(--maroon);color:#fff;font-weight:200;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.4;padding:34px 36px;margin:30px 0;letter-spacing:.02em}
.dest{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.dest li{padding:18px 0;border-bottom:1px solid #e1d6d2;display:flex;flex-direction:column}
.dest b{color:var(--maroon);font-size:.95rem}
.dest span{color:var(--ink-2);font-size:.88rem}
@media (max-width:480px){.dest{grid-template-columns:1fr}}
.special{background:#fff;border-left:4px solid var(--maroon);padding:22px 26px;margin-top:30px}
.special b{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);margin-bottom:6px}
.special p{color:var(--ink);font-size:.95rem}

/* ---------- workshops ---------- */
.two{display:grid;gap:40px;margin-top:clamp(28px,4vw,48px)}
@media (min-width:860px){.two{grid-template-columns:1fr 1fr}}
.feature .px{margin-bottom:24px}
.feature img{width:100%;aspect-ratio:4/3;object-fit:cover}
.feature h3{font-weight:500;color:var(--maroon);font-size:1.4rem;margin-bottom:10px}
.feature p{color:var(--ink-2)}

/* ---------- OEM ---------- */
.oem-grid{display:grid;gap:clamp(30px,5vw,70px);margin-top:clamp(30px,4vw,50px)}
@media (min-width:960px){.oem-grid{grid-template-columns:1.1fr .9fr;align-items:start}}
.steps li{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid #e1d6d2}
.steps li:first-child{padding-top:0}
.steps b{font-weight:200;font-size:2.1rem;color:var(--tan);line-height:1.1}
.steps h3{font-size:1.1rem;font-weight:700;color:var(--maroon)}
.steps p{color:var(--ink-2);font-size:.95rem}
.oem-side img{width:100%;aspect-ratio:3/2;object-fit:cover}
.note{background:#fff;padding:26px 28px;margin-top:0;border-top:4px solid var(--maroon)}
.note b{display:block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--maroon);margin-bottom:6px}
.note p{color:var(--ink);font-size:.95rem}

/* ---------- stores ---------- */
.store h3{font-weight:500;font-size:clamp(1.3rem,2.4vw,1.75rem);color:var(--ink);line-height:1.3}
.store h3 em{font-style:normal;color:var(--maroon);font-weight:700}
.meta{color:var(--maroon);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin:8px 0 12px}
.store p:last-child{color:var(--ink-2)}
.store small{color:var(--tan-d);display:block;margin-top:8px}

/* ---------- founder ---------- */
.founder{display:grid;gap:clamp(30px,5vw,80px);align-items:center}
@media (min-width:900px){.founder{grid-template-columns:.8fr 1.2fr}}
.founder-photo img{width:100%;max-width:460px;aspect-ratio:3/4;object-fit:cover;object-position:center top;margin-inline:auto}
.name{font-weight:700;font-size:clamp(2rem,4vw,3rem);color:var(--maroon);line-height:1.1;margin-top:8px}
.role{font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;color:var(--maroon);margin:6px 0 22px}
.founder-notes{display:grid;gap:22px;border-top:1px solid #d9ccc7;padding-top:24px;margin-top:26px}
@media (min-width:640px){.founder-notes{grid-template-columns:1fr 1fr;gap:34px}}
.founder-notes h4{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);margin-bottom:6px}
.founder-notes p{color:var(--ink-2);font-size:.95rem}

/* ---------- clientele ---------- */
.logos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:clamp(28px,4vw,48px)}
@media (min-width:560px){.logos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:860px){.logos{grid-template-columns:repeat(5,1fr)}}
@media (min-width:1100px){.logos{grid-template-columns:repeat(6,1fr)}}
.logos li{background:#fff;border:1px solid #f0e9e6;height:96px;display:grid;place-items:center;padding:16px 18px;transition:border-color .25s,box-shadow .25s,transform .3s var(--ease)}
.logos li:hover{border-color:var(--maroon);box-shadow:0 10px 24px -14px rgba(140,25,46,.45);transform:translateY(-3px)}
.logos img{max-height:62px;max-width:100%;width:auto;height:auto;object-fit:contain}
.more{text-align:center;margin:40px auto 0;font-weight:700;color:var(--maroon);letter-spacing:.14em;font-size:clamp(.8rem,1.6vw,1.05rem);text-transform:none}
.artists{margin-top:clamp(56px,8vw,100px)}
.artists .h3{text-align:center;margin-bottom:28px;font-size:clamp(1.2rem,2.2vw,1.6rem);letter-spacing:.14em;text-transform:uppercase}

/* ---------- contact ---------- */
.contact{background:linear-gradient(120deg,#8C192E,#a31f37 40%,#7a1427 70%,#8C192E);background-size:300% 300%;animation:gshift 22s ease infinite;color:#fff;padding:clamp(64px,9vw,120px) 0 clamp(64px,8vw,100px);position:relative;overflow:hidden}
.contact-grid{display:grid;gap:clamp(36px,5vw,72px);align-items:center}
@media (min-width:960px){.contact-grid{grid-template-columns:1.3fr .7fr}}
.contact-logo{width:200px;margin-bottom:34px}
.contact h2{font-weight:200;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.2;max-width:15em;margin-bottom:22px}
.contact-copy>p{color:rgba(255,255,255,.88);max-width:36em;font-weight:300}
.contact-list{margin:36px 0 30px;display:grid;gap:16px;border-top:1px solid rgba(255,255,255,.3);padding-top:30px}
.contact-list li{display:flex;align-items:center;gap:16px;font-size:1.02rem}
.contact-list .soc{gap:10px}
.contact-list .soc div{margin-left:6px}
.contact-list img{border-radius:8px;flex:none}
.contact-list svg{flex:none}
.contact-list a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);transition:border-color .2s}
.contact-list a:hover{border-color:#fff}
.contact-list small{opacity:.7;letter-spacing:.1em}
.reg{font-size:.85rem;color:rgba(255,255,255,.75)}
.contact-photo .px{border:8px solid rgba(255,255,255,.12)}
.contact-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}

.foot{background:#fff;border-top:1px solid #eee}
.foot-in{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding:22px 0;font-size:.68rem;letter-spacing:.14em;color:#8a7f82}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;background:rgba(20,10,12,.92);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}
.lb[hidden]{display:none}
.lb img{max-width:min(92vw,1100px);max-height:88vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:2.6rem;line-height:1;padding:12px 18px;opacity:.8}
.lb button:hover{opacity:1}
.lb-x{top:10px;right:14px}
.lb-prev{left:6px;top:50%;transform:translateY(-50%)}
.lb-next{right:6px;top:50%;transform:translateY(-50%)}


/* =========================================================
   v2 — layout refinements
   ========================================================= */
.wrap{position:relative}
.reg{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.contact-copy>p.reg{max-width:none}
.reg span{white-space:nowrap}
.reg i{font-style:normal;opacity:.6}
@media (max-width:640px){.reg i{display:none}.reg{flex-direction:column;align-items:flex-start;gap:2px}}

/* perfume bar */
.pb-top{display:grid;align-items:center}
@media (min-width:980px){.pb-top{grid-template-columns:5fr 7fr}}
.pb-visual{position:relative}
.pb-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%}
.pb-copy{background:var(--blush);padding:clamp(28px,4.4vw,64px);position:relative;z-index:1}
@media (min-width:980px){.pb-copy{margin-left:-72px;margin-block:56px}}
@media (max-width:979px){.pb-copy{margin:-48px 14px 0}}
.pb-copy .h2{font-size:clamp(1.5rem,3vw,2.3rem);margin-bottom:18px}
.first{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;background:var(--maroon);color:#fff;padding:14px 22px;margin-bottom:22px;font-weight:400;letter-spacing:.02em;line-height:1.45}
.first svg{flex:none;color:#f3c9d0}
.first b{font-weight:700}
.first b:last-child{white-space:nowrap}
.pb-cta{margin-top:20px;font-weight:700;color:var(--maroon);border-top:2px solid var(--ink);padding-top:16px;max-width:26em}
.regions{margin-top:18px}
.seal{position:absolute;left:16px;top:16px;width:128px;height:128px;z-index:3;filter:drop-shadow(0 10px 18px rgba(140,25,46,.3))}
@media (min-width:980px){.seal{left:-30px;top:-30px;width:150px;height:150px}}
.seal-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 26s linear infinite}
.seal-ring text{font-size:12.6px;font-weight:700;fill:var(--maroon)}
.seal-core{position:absolute;inset:27%;border-radius:50%;background:var(--maroon);color:#fff;display:grid;place-content:center;text-align:center;line-height:1}
.seal-core small{font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:3px}
.seal-core b{font-size:1.15rem;font-weight:700}

.pb-3in1{margin-top:clamp(64px,9vw,110px)}
.pb-3in1 .head{text-align:center;margin-bottom:36px}
.pb-3in1 .h3{font-size:clamp(1.5rem,3vw,2.3rem)}
.triple{display:grid;gap:22px}
@media (min-width:760px){.triple{grid-template-columns:repeat(3,1fr)}}
.tri{background:var(--blush);padding:36px 30px 38px;border-top:3px solid var(--maroon);position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.tri:hover{transform:translateY(-8px);box-shadow:0 24px 40px -22px rgba(140,25,46,.45)}
.tri .no{position:absolute;right:16px;top:2px;font-size:5rem;font-weight:900;line-height:1;color:rgba(140,25,46,.07)}
.ico{width:76px;height:76px;border-radius:50%;background:#E4D7C6;display:grid;place-items:center;color:var(--ink);margin-bottom:22px;position:relative}
.ico.alt{background:#D9D6D8}
.ico svg{width:38px;height:38px}
.ico::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(140,25,46,.35);animation:ring 3s ease-out infinite}
.tri:nth-child(2) .ico::after{animation-delay:1s}.tri:nth-child(3) .ico::after{animation-delay:2s}
.tri h4{font-weight:700;font-size:1.4rem;color:var(--maroon);margin-bottom:8px;line-height:1.2}
.tri p{color:var(--ink-2);font-size:.96rem}

/* stores */
.stores{display:grid;gap:clamp(30px,4vw,48px);margin-top:clamp(36px,5vw,60px)}
@media (min-width:960px){.stores{grid-template-columns:1fr 1.45fr;align-items:stretch}}
.store{display:flex;flex-direction:column}
.store-media{height:clamp(240px,34vw,420px);overflow:hidden;display:grid}
.store-media>img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.store:hover .store-media>img{transform:scale(1.05)}
.store-media.pair{grid-template-columns:1fr 1fr;gap:6px}
.store-body{padding-top:24px}

/* =========================================================
   v2 — motion
   ========================================================= */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ring{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.5);opacity:0}}
@keyframes gshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes rise{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
@keyframes wipeIn{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes kb{from{scale:1.14}to{scale:1}}
@keyframes pop{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* scroll progress + nav state */
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:60}
.nav{transition:box-shadow .3s}
.nav-in{transition:height .3s var(--ease)}
.nav.scrolled{box-shadow:0 8px 28px -18px rgba(60,10,20,.35)}
.nav.scrolled .nav-in{height:58px}
.nav-logo{display:block;transition:transform .3s var(--ease),opacity .2s}
.nav-logo:hover{transform:scale(1.04);opacity:.85}

/* hero entrance */
.hero{position:relative;overflow:hidden}
.hero .wrap{z-index:1}
.js .hero-panel>*{opacity:0;animation:rise .95s var(--ease) forwards}
.hero-panel>*:nth-child(1){animation-delay:.2s}
.hero-panel>*:nth-child(2){animation-delay:.38s}
.hero-panel>*:nth-child(3){animation-delay:.52s}
.hero-panel>*:nth-child(4){animation-delay:.66s}
.hero-panel>*:nth-child(5){animation-delay:.82s}
.js .hero-facts li{animation:rise .8s var(--ease) both}
.hero-facts li:nth-child(1){animation-delay:.7s}.hero-facts li:nth-child(2){animation-delay:.8s}
.hero-facts li:nth-child(3){animation-delay:.9s}.hero-facts li:nth-child(4){animation-delay:1s}
.hero-photo{translate:0 var(--hy,0px);will-change:translate}
.js .hero-photo>img{animation:wipeIn 1.5s var(--ease) .15s backwards,kb 2.4s var(--ease) .15s backwards}
.js .hero-tag{animation:pop .9s var(--ease) 1.2s backwards}
.hero-logo{transition:transform .6s var(--ease)}

/* bubbles */
.mist{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.mist span{position:absolute;opacity:0}
.mist .petal{top:-40px;left:var(--x);width:var(--s);height:calc(var(--s)*1.3);border-radius:100% 0 100% 0;
  background:linear-gradient(135deg,#fbdde3,#ec9aa9 65%,#d4687e);box-shadow:inset -2px -3px 5px rgba(163,31,55,.28);
  animation:fall var(--t) linear var(--dl) infinite,sway var(--sw) ease-in-out var(--dl) infinite alternate}
.mist .spark{left:var(--x);top:var(--y);width:var(--s);height:var(--s);background:#e6c27a;
  clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);
  animation:twinkle var(--t) ease-in-out var(--dl) infinite}
.hero .mist{z-index:3}
.contact .mist{opacity:.55}
.contact .mist .petal{background:linear-gradient(135deg,#ffe9ed,#f3b4c0 70%,#e08ea0)}
@keyframes fall{0%{translate:0 0;opacity:0}8%{opacity:.7}88%{opacity:.6}100%{translate:var(--dx) 105vh;opacity:0}}
@keyframes sway{from{transform:rotate3d(1,.4,0,10deg) rotate(-25deg)}to{transform:rotate3d(1,.4,0,70deg) rotate(95deg) translateX(26px)}}
@keyframes twinkle{0%,100%{opacity:0;scale:.3}50%{opacity:.95;scale:1}}
.contact .wrap{z-index:1}

/* marquee band */
.band{background:var(--maroon);color:#fff;overflow:hidden;padding:20px 0;border-block:1px solid rgba(255,255,255,.14)}
.band-track{display:flex;align-items:center;gap:44px;width:max-content;animation:marq 48s linear infinite}
.band:hover .band-track{animation-play-state:paused}
.band-track span{font-weight:200;font-size:clamp(1.3rem,3vw,2.4rem);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.band-track i{font-style:normal;color:#e9b7c0;font-size:1.1rem}

/* reveal system (uses individual transform props so hover transforms still work) */
.js .reveal{opacity:0;translate:0 30px;transition:opacity .9s var(--ease) var(--d,0s),translate .9s var(--ease) var(--d,0s)}
.js .reveal-l{translate:-44px 0}
.js .reveal-r{translate:44px 0}
.js .reveal.in{opacity:1;translate:0 0}
.js .card.reveal{transition:opacity .9s var(--ease) var(--d,0s),translate .9s var(--ease) var(--d,0s),transform .3s ease-out,box-shadow .35s var(--ease)}
.js .logos li.reveal{translate:0 18px;transition:opacity .7s var(--ease) var(--d,0s),translate .7s var(--ease) var(--d,0s),transform .3s var(--ease),box-shadow .25s,border-color .25s}
.js .logos li.reveal.in{translate:0 0}
.js .masonry img.reveal{transition:opacity .9s var(--ease) var(--d,0s),translate .9s var(--ease) var(--d,0s),transform .5s var(--ease)}
.js .tri.reveal{transition:opacity .9s var(--ease) var(--d,0s),translate .9s var(--ease) var(--d,0s),transform .4s var(--ease),box-shadow .4s var(--ease)}
.js .steps li.reveal,.js .dest li.reveal{translate:-26px 0}
.js .dest li.reveal:nth-child(even){translate:26px 0}
.js .steps li.reveal.in,.js .dest li.reveal.in{translate:0 0}
.js .stats div.reveal{translate:0 24px}
.js .stats div.reveal.in{translate:0 0}

/* image curtain wipe + parallax */
.px{overflow:hidden}
.px>img{scale:1.16;translate:0 var(--py,0px);will-change:translate}
.js .wipe{position:relative}
.js .wipe::after{content:"";position:absolute;inset:0;z-index:2;background:var(--blush);transform-origin:50% 100%;transition:transform 1.3s var(--ease);pointer-events:none}
.js .wipe.in::after{transform:scaleY(0)}
.js .store.reveal .store-media{transition-delay:.1s}

/* word-by-word headings */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.07em 0 .16em;margin:-.07em 0 -.16em}
.w>span{display:inline-block}
.js .reveal:not(.in) .w>span{transform:translateY(112%)}
.js .reveal .w>span{transition:transform 1s var(--ease) calc(var(--wi,0)*.07s + .12s)}
.js .reveal.in .w>span{transform:none}

/* eyebrow bar, banner wipe, highlight wipe */
.js .reveal .eyebrow::before{transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) .3s}
.js .reveal.in .eyebrow::before{transform:none}
.js .reveal .banner{clip-path:inset(0 100% 0 0);transition:clip-path 1.2s var(--ease) .3s}
.js .reveal.in .banner{clip-path:inset(0)}
.js .reveal:not(.in) mark{background-size:0% 100%;color:var(--maroon)}

/* timeline dots */
.js .timeline li::before{transform:scale(0);transition:transform .6s var(--ease) calc(var(--d,0s) + .35s)}
.js .timeline li.in::before{transform:scale(1)}
.timeline li:last-child::before{box-shadow:0 0 0 0 rgba(140,25,46,.5);animation:ring-dot 2.4s ease-out 1.5s infinite}
@keyframes ring-dot{0%{box-shadow:0 0 0 0 rgba(140,25,46,.5)}100%{box-shadow:0 0 0 14px rgba(140,25,46,0)}}

/* hover polish */
.btn{position:relative;overflow:hidden}
.btn-solid::after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .7s var(--ease)}
.btn-solid:hover::after{left:130%}
.pill{transition:transform .4s var(--ease)}
.card:hover .pill{transform:scale(1.12) rotate(-4deg)}
.dest li{transition:padding-left .3s var(--ease),border-color .3s}
.dest li:hover{padding-left:12px;border-color:var(--maroon)}
.steps li{transition:padding-left .3s var(--ease)}
.steps li:hover{padding-left:10px}
.steps li:hover b{color:var(--maroon)}
.steps b{transition:color .3s}
.quote{position:relative;overflow:hidden}
.quote::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%);transform:translateX(-100%);animation:shine 6s ease-in-out 2s infinite}
@keyframes shine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.contact-photo{animation:floaty 7s ease-in-out infinite}
.contact-list a{transition:border-color .2s,letter-spacing .3s var(--ease)}
.contact-list a:hover{letter-spacing:.03em}

/* floating WhatsApp */
.wa-float{position:fixed;right:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);z-index:70;display:flex;align-items:center;gap:12px;text-decoration:none;
  opacity:0;translate:0 24px;scale:.8;pointer-events:none;transition:opacity .4s var(--ease),translate .5s var(--ease),scale .5s var(--ease)}
.wa-float.show{opacity:1;translate:0 0;scale:1;pointer-events:auto}
.wa-float img{width:60px;height:60px;border-radius:16px;box-shadow:0 10px 26px -6px rgba(0,0,0,.4);animation:wapulse 2.6s ease-out infinite;transition:transform .3s var(--ease)}
.wa-float:hover img{transform:scale(1.1) rotate(-6deg)}
.wa-tip{background:#fff;color:var(--ink);font-weight:500;font-size:.78rem;letter-spacing:.08em;padding:9px 16px;border-radius:99px;box-shadow:0 8px 22px -8px rgba(0,0,0,.3);opacity:0;translate:10px 0;transition:opacity .3s,translate .3s var(--ease);white-space:nowrap}
.wa-float:hover .wa-tip,.wa-float:focus-visible .wa-tip{opacity:1;translate:0 0}
@media (hover:none){.wa-tip{display:none}}

/* reduced motion: show everything, no movement */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal,.js .reveal-l,.js .reveal-r,.js .logos li.reveal,.js .steps li.reveal,.js .dest li.reveal,.js .stats div.reveal{opacity:1;translate:none;transition:none}
  .js .wipe::after{display:none}
  .js .reveal:not(.in) .w>span,.w>span{transform:none!important;transition:none!important}
  .js .hero-panel>*,.js .hero-facts li,.js .hero-photo>img,.js .hero-tag{animation:none;opacity:1}
  .js .reveal .banner{clip-path:none;transition:none}
  .js .timeline li::before{transform:none}
  .px>img{scale:1;translate:none}
  .band-track,.mist span,.seal-ring,.contact,.contact-photo,.quote::after,.ico::after,.wa-float img{animation:none}
  .mist{display:none}
  *{transition-duration:.01ms!important}
}

:focus-visible{outline:2px solid var(--maroon);outline-offset:3px}
.contact :focus-visible,.card-hl :focus-visible{outline-color:#fff}

@media print{.nav,.rail,.lb{display:none!important}.js .reveal{opacity:1;transform:none}}

/* single-line section title */
.h2.one-line{max-width:none}
@media (min-width:900px){.h2.one-line{white-space:nowrap;font-size:clamp(1.6rem,3.1vw,2.7rem)}}

/* ---------- mobile polish ---------- */
.nw{white-space:nowrap}
.h2,.sub,.banner span{text-wrap:balance}
.phones{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.phones i{font-style:normal;opacity:.6}
.ph{white-space:nowrap}
.tag,.foot-in{font-size:.72rem}
@media (max-width:640px){
  .former{font-size:clamp(.78rem,3.5vw,1rem);white-space:nowrap}
  .banner span{font-size:clamp(.78rem,3.6vw,1rem);letter-spacing:.04em}
  .h2.caps{font-size:clamp(1.7rem,8.4vw,2.4rem)}
  .tabs{flex-direction:column;width:100%}
  .tabs button{width:100%;text-align:center}
  .phones{flex-direction:column;align-items:flex-start;gap:8px}
  .phones i{display:none}
  .wa-float img{width:54px;height:54px}
  .contact{padding-bottom:110px}
  .hero-tag{font-size:1rem;padding:16px 20px}
}
@media (max-width:380px){
  .btn{padding:14px 20px;letter-spacing:.12em}
  .stats b{font-size:2rem}
}

/* ---------- Interactive Signature collection / Malaysia atlas ---------- */
.scent-explorer{min-width:0}
.scent-map-heading{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--tan);padding-top:16px;color:var(--maroon);font-size:.65rem;font-weight:700;letter-spacing:.12em}
.col-grid .scent-instruction{font-size:.9rem;margin:10px 0 0}
.scent-atlas{display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0 0;padding:clamp(14px,2.4vw,24px);border-radius:3px;background:radial-gradient(#ffffff17 1px,transparent 1.3px) 0 0/18px 18px,radial-gradient(120% 90% at 18% 0%,#b02a42 0%,#8C192E 42%,#58101f 100%);box-shadow:0 18px 40px -22px #5e0f20}
.scent-part{position:relative}
.scent-part svg{display:block;width:100%;height:auto;overflow:visible}
.scent-west svg,.scent-east svg{filter:drop-shadow(0 7px 9px #3b081388)}
.scent-state{fill:#f8efeb;stroke:#d9b9bf;stroke-width:.9;stroke-linejoin:round;transition:fill .35s var(--ease),stroke .35s}
.scent-west .scent-state:nth-of-type(3n+1){fill:#f4e6e2}.scent-west .scent-state:nth-of-type(3n+2){fill:#fbf3ef}
.scent-state.is-selected{fill:#f3a8b6!important;stroke:#fff;stroke-width:1.6}
.scent-state.is-hovered:not(.is-selected){fill:#f6d3da!important}
.region-label{font-family:inherit;font-size:9px;letter-spacing:1.6px;fill:#f6dde1;opacity:1}
.inset-bg{fill:#fbf3ef;stroke:#e2b866;stroke-width:1.4}
.inset-grid{fill:none;stroke:#d9b9bf;stroke-width:.5;stroke-dasharray:2 5;opacity:.6}

.scent-pin,.scent-ring{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;font-family:inherit;border-radius:50%;z-index:1}
.scent-dot{display:block;width:12px;height:12px;background:var(--maroon);border:2.5px solid #fff;border-radius:50%;box-shadow:0 1px 5px #5e0f2066;transition:transform .3s var(--ease),box-shadow .3s}
.scent-ring{width:26px;height:26px}
.scent-pin[data-destination=genting]{width:28px;height:28px}
.scent-ring>span:first-child{display:block;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:#e2b86699;transition:transform .3s var(--ease),background .3s}
.scent-ring:hover>span:first-child,.scent-ring[aria-pressed=true]>span:first-child{background:#e2b866;transform:scale(1.15)}
.scent-pin[aria-pressed=true],.scent-ring[aria-pressed=true]{z-index:3}
.scent-pin[aria-pressed=true] .scent-dot{transform:scale(1.45);animation:scent-pulse 2.8s ease-in-out infinite}
.scent-pin:hover .scent-dot{box-shadow:0 0 0 5px #e2b86655}
.edition-pin .scent-dot{background:#e2b866;border-color:#fff;border-radius:2px;transform:rotate(45deg);width:12px;height:12px}
.edition-pin[aria-pressed=true] .scent-dot{transform:rotate(45deg) scale(1.4)}
.scent-pin-label{position:absolute;top:50%;translate:0 -50%;white-space:nowrap;padding:1px 9px;background:#fffaf7e6;color:var(--maroon);font-size:.68rem;font-weight:600;line-height:1.65;letter-spacing:.02em;border-radius:999px;box-shadow:0 1px 5px #5e0f2040;pointer-events:none;transition:background .25s,color .25s,box-shadow .25s}
.scent-pin-label.side-r{left:27px}.scent-pin-label.side-l{right:27px}
.scent-ring .scent-pin-label.side-l{right:21px}
.scent-pin[aria-pressed=true] .scent-pin-label,.scent-ring[aria-pressed=true] .scent-pin-label{background:var(--maroon);color:#fff;box-shadow:0 0 0 2px #e2b866,0 3px 10px #5e0f2066;font-weight:700}
.scent-pin:focus-visible,.scent-ring:focus-visible,.scent-chip:focus-visible{outline:2px solid var(--maroon);outline-offset:1px}

.scent-card{margin-top:12px;display:grid;background:#fff;border-top:4px solid #e2b866;padding:22px 26px 24px;box-shadow:0 20px 40px -26px #5e0f2088}
.scent-card-item{grid-area:1/1;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s}
.scent-card-item.is-active{visibility:visible;opacity:1;transform:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.scent-card h3{color:var(--maroon);font-weight:700;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.25;letter-spacing:.1em;text-transform:uppercase;margin:0}
.col-grid .scent-card p{margin:0}
.col-grid .scent-card .scent-tag{color:var(--ink-2);font-size:1.02rem;font-style:italic;margin-top:4px}
.col-grid .scent-card .scent-soul-label{color:#b08a3a;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-top:16px}
.col-grid .scent-card .scent-soul{margin-top:3px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
.scent-soul b{color:var(--maroon);font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:500;line-height:1.25}
.scent-soul span{color:var(--ink-2);font-size:.9rem}
.col-grid .scent-card .scent-story{color:var(--ink-2);font-size:.9rem;line-height:1.65;margin-top:12px}
.scent-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 0;padding:14px 16px;background:var(--blush);border-radius:3px}
.scent-notes dt{display:flex;align-items:center;gap:8px;color:var(--maroon);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.scent-notes dt::before{content:"";width:16px;height:3px;border-radius:2px;background:#f3a8b6}
.scent-notes>div:nth-child(2) dt::before{background:#d4607a}.scent-notes>div:nth-child(3) dt::before{background:var(--maroon)}
.scent-notes dd{margin:5px 0 0;color:var(--ink);font-size:.82rem;line-height:1.5}
.scent-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.scent-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #e3cfd0;border-radius:999px;background:#fff;color:var(--ink-2);padding:7px 13px;font:inherit;font-size:.72rem;line-height:1.2;cursor:pointer;min-height:36px;transition:background .25s,color .25s,border-color .25s}
.scent-chip span{color:var(--maroon);font-size:.62rem;font-weight:700}
.scent-chip:hover{border-color:var(--tan)}
.scent-chip[aria-pressed=true]{background:var(--maroon);border-color:var(--maroon);color:#fff;box-shadow:0 6px 14px -6px #8c192e99}
.scent-chip[aria-pressed=true] span{color:#fff}
.col-grid .scent-credit{font-size:.58rem;line-height:1.6;color:var(--tan-d);margin-top:12px}
.js .scent-fallback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html:not(.js) .scent-chips,html:not(.js) .scent-pin,html:not(.js) .scent-ring{display:none}
html:not(.js) .scent-fallback{margin-top:20px;list-style:none;font-size:.85rem}
@keyframes scent-pulse{50%{box-shadow:0 0 0 7px #e2b86655}}
@media(min-width:960px){#collection .col-grid{grid-template-columns:.85fr 1.15fr;gap:48px}}
@media(min-width:600px){
  .scent-atlas{grid-template-columns:48fr 52fr;grid-template-rows:auto 1fr;column-gap:4px}
  .scent-west{grid-row:1 / span 2;align-self:start}
  .scent-inset{width:74%;justify-self:end;align-self:end}
}
@media(max-width:599px){
  /* Phone: chips + scent card come first, so a tap never hides the answer below the map */
  .scent-explorer{display:flex;flex-direction:column}
  .scent-explorer>*{order:5}
  .scent-map-heading{order:0}.scent-instruction{order:1}
  .scent-chips{order:2;flex-wrap:nowrap;overflow-x:auto;margin:10px -20px 0;padding:0 20px 6px;scrollbar-width:none}
  .scent-chips::-webkit-scrollbar{display:none}
  .scent-chip{flex:none}
  .scent-card{order:3;margin-top:8px;padding:18px 18px 20px}
  .scent-atlas{margin-top:12px}
  .scent-notes{grid-template-columns:1fr;gap:10px}
  .scent-atlas{order:4}
  .scent-west{width:90%;justify-self:center}
  .scent-pin-label{font-size:.74rem}
}
@media(prefers-reduced-motion:reduce){.scent-pin[aria-pressed=true] .scent-dot{animation:none}.scent-state,.scent-dot,.scent-chip,.scent-ring>span:first-child{transition:none}}

.scent-inset .region-label{fill:var(--maroon);opacity:1}

/* icon badge + auto-tour progress */
.scent-card{position:relative}
.scent-card-item{position:relative}
.scent-card::before{content:"";position:absolute;left:0;top:-4px;height:4px;width:100%;background:#e2b866;transform-origin:left}
.scent-card.is-touring::before{animation:scent-tour var(--tour,8s) linear forwards}
@keyframes scent-tour{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.scent-card{border-top:0}
/* pins pop in, selected pin ripples */
.js .reveal:not(.in) .scent-pin,.js .reveal:not(.in) .scent-ring{opacity:0;scale:.3}
.js .scent-pin,.js .scent-ring{transition:opacity .5s var(--ease) calc(var(--i,0)*70ms+250ms),scale .5s var(--ease) calc(var(--i,0)*70ms+250ms)}
.scent-pin[aria-pressed=true]::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border:2px solid #e2b866;border-radius:50%;animation:scent-ripple 2.4s ease-out infinite;pointer-events:none}
@keyframes scent-ripple{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.scent-pin[aria-pressed=true]::after,.scent-card.is-touring::before{animation:none}.js .reveal:not(.in) .scent-pin{opacity:1;scale:1}}
