/* HK Fragrance v3: soft, rounded, photo-led. Warm light theme.
   Tokens first, then base, layout, components, pages. Maps to theme.json + style.css in the WordPress theme. */

@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format("woff2")}

:root{
  --bg:#FBF8F4;
  --white:#FFFFFF;
  --sand:#F2EAE0;
  --blush:#F6E3DA;
  --sage:#E4EADF;
  --ink:#2B211C;
  --slate:#7B6F66;
  --line:#EBE0D4;
  --gold:#B08648;
  --gold-deep:#8C6A36;
  --danger:#A03E32;

  --r-xl:48px;
  --r-lg:32px;
  --r-md:20px;
  --r-sm:14px;
  --shadow:0 18px 50px -26px rgba(43,33,28,.35);
  --shadow-sm:0 8px 26px -16px rgba(43,33,28,.4);

  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(18px,3.6vw,56px);
  --max:1440px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--white);padding:10px 16px;z-index:200;border-radius:99px}
.skip:focus{top:12px}
[hidden]{display:none!important}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(64px,8vw,120px)}
.section--tight{padding-block:clamp(40px,5vw,72px)}
.band{background:var(--sand);border-radius:var(--r-xl);margin-inline:calc(var(--gutter) / 2)}

/* Type */
.display{font-weight:600;font-size:clamp(50px,6.6vw,108px);line-height:.98;letter-spacing:-.04em}
.display--md{font-size:clamp(42px,5.4vw,88px)}
.h2{font-weight:600;font-size:clamp(32px,4vw,64px);line-height:1.02;letter-spacing:-.035em}
.h3{font-weight:600;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.02em}
.lead{font-size:clamp(17px,1.3vw,19px);line-height:1.65;color:var(--slate);max-width:44ch}
.small{font-size:13.5px;color:var(--slate)}
.num{font-variant-numeric:tabular-nums}

/* Buttons and links: pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 34px;font-weight:600;font-size:15px;border-radius:99px;border:1.5px solid var(--ink);background:var(--ink);color:var(--white);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn--block{width:100%}
.btn[disabled]{background:var(--sand);border-color:var(--sand);color:var(--slate);cursor:not-allowed;transform:none}
.link{display:inline-block;font-weight:600;padding-bottom:3px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;transition:background-size .3s var(--ease)}
.link:hover{background-size:0 1.5px;background-position:100% 100%}
.link-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.chip-s{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:99px;background:var(--white);box-shadow:var(--shadow-sm);font-size:13.5px;font-weight:500}
.chip-s svg{width:16px;height:16px;stroke:var(--gold-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Image frame: photo on top, tinted fallback underneath */
.im{position:relative;overflow:hidden;background:var(--sand)}
.im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,var(--t) 55%,#fff),var(--t))}
.ph b{font-weight:600;font-size:clamp(26px,3vw,46px);letter-spacing:-.04em;color:rgba(255,255,255,.92);text-align:center;padding:0 12px}

/* Announcement + floating pill header */
.announce{background:var(--sand);color:var(--ink);font-size:13px;text-align:center;padding:9px var(--gutter)}
.announce a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.header{position:sticky;top:0;z-index:60;padding:12px var(--gutter) 0;pointer-events:none}
.header .wrap{pointer-events:auto;max-width:1360px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;gap:20px;padding:0 12px 0 28px;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.5) blur(18px);-webkit-backdrop-filter:saturate(1.5) blur(18px);border-radius:99px;border:1px solid rgba(235,224,212,.9);box-shadow:var(--shadow-sm)}
.logo{font-weight:700;font-size:15px;letter-spacing:.2em;line-height:1;white-space:nowrap;text-transform:uppercase}
.nav{display:flex;gap:clamp(20px,2.6vw,40px);align-items:center;height:100%}
.nav>li{height:100%;display:flex;align-items:center;position:relative}
.nav a,.nav button{font-size:14.5px;font-weight:500;padding:8px 0;position:relative;color:var(--ink)}
.nav a::after,.nav button::after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold);transform:scale(0);transition:transform .3s var(--ease)}
.nav a:hover::after,.nav button:hover::after,.nav a[aria-current="page"]::after,.nav li:hover>button::after{transform:scale(1)}
.mega{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,8px);width:min(780px,92vw);background:var(--white);border-radius:var(--r-lg);padding:26px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 28px;opacity:0;visibility:hidden;transition:opacity .2s,transform .25s var(--ease),visibility .2s;box-shadow:var(--shadow)}
.nav li:hover>.mega,.nav li:focus-within>.mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega a{display:block;padding:12px 14px;border-radius:var(--r-md)}
.mega a::after{display:none}
.mega a:hover{background:var(--sand)}
.mega b{display:block;font-weight:600;font-size:16px;letter-spacing:-.01em}
.mega span{display:block;font-size:13.5px;color:var(--slate);font-weight:400;margin-top:2px}
.tools{display:flex;justify-content:flex-end;align-items:center;gap:2px}
.icon-btn{position:relative;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.icon-btn:hover{background:var(--sand)}
.icon-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gold-deep);color:var(--white);font-size:11px;font-weight:600;display:grid;place-items:center;transform:scale(0);transition:transform .25s var(--ease)}
.badge.on{transform:scale(1)}
.burger{display:none}
.mobile-nav{display:none}

/* Drawer, overlay */
.scrim{position:fixed;inset:0;background:rgba(43,33,28,.4);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:90}
.scrim.on{opacity:1;visibility:visible}
.drawer{position:fixed;top:10px;right:10px;bottom:10px;width:min(440px,calc(100vw - 20px));background:var(--white);border-radius:var(--r-lg);z-index:100;transform:translateX(108%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s linear .5s;display:flex;flex-direction:column;overflow:hidden}
.drawer.on{transform:none;visibility:visible;transition:transform .5s var(--ease),visibility 0s}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 18px 28px;border-bottom:1px solid var(--line)}
.drawer__body{flex:1;overflow:auto;padding:8px 28px}
.drawer__foot{padding:22px 28px 28px;border-top:1px solid var(--line);display:grid;gap:12px;background:var(--bg)}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.line-item{display:grid;grid-template-columns:88px 1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.line-item:last-child{border-bottom:0}
.line-item__img{display:block;aspect-ratio:1;position:relative;overflow:hidden;background:var(--sand);border-radius:var(--r-md)}
.line-item__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.line-item__img .ph b{font-size:15px}
.line-item h4{font-weight:600;font-size:17px;line-height:1.2;letter-spacing:-.01em}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:99px;height:40px;margin-top:12px;background:var(--white);padding-inline:4px}
.qty button{width:34px;height:100%;font-size:18px;line-height:1;color:var(--slate);border-radius:50%}
.qty button:hover{color:var(--ink)}
.qty span{min-width:26px;text-align:center;font-size:14px;font-weight:600}
.remove{font-size:13px;color:var(--slate);text-decoration:underline;text-underline-offset:3px;margin-top:10px;display:inline-block}
.empty{text-align:center;padding:64px 12px;color:var(--slate)}
.empty .h3{color:var(--ink);margin-bottom:10px}
.empty .btn{margin-top:22px}

/* Search */
.search{position:fixed;inset:0;z-index:110;background:rgba(251,248,244,.98);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow:auto}
.search.on{opacity:1;visibility:visible}
.search__inner{max-width:920px;margin:0 auto;padding:clamp(24px,6vh,72px) var(--gutter)}
.search__bar{display:flex;align-items:center;gap:16px;background:var(--white);border-radius:99px;padding:10px 12px 10px 28px;box-shadow:var(--shadow)}
.search__bar input{flex:1;background:none;border:0;outline:0;font-weight:600;font-size:clamp(22px,3vw,32px);letter-spacing:-.03em;min-width:0}
.search__bar input::placeholder{color:#C4B8AB}
.search__results{margin-top:24px}
.search__item{display:grid;grid-template-columns:72px 1fr auto;gap:20px;align-items:center;padding:12px;border-radius:var(--r-md);transition:background .2s}
.search__item .line-item__img{width:72px}
.search__item:hover{background:var(--white)}

/* Hero: arch photo, floating chips, soft colour behind */
.hero{position:relative;padding-block:clamp(20px,3vw,48px) clamp(56px,7vw,110px);overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);z-index:0;pointer-events:none}
.hero::before{width:min(560px,60vw);aspect-ratio:1;background:var(--blush);right:-6%;top:6%;opacity:.8}
.hero::after{width:min(420px,46vw);aspect-ratio:1;background:var(--sage);left:-8%;bottom:-18%;opacity:.9}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,72px);align-items:center}
.hero__copy .lead{margin-top:clamp(20px,2.2vw,30px)}
.hero__cta{display:flex;gap:12px;align-items:center;margin-top:clamp(26px,3vw,40px);flex-wrap:wrap}
.hero__chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:clamp(28px,3.4vw,52px)}
.hero__visual{position:relative;justify-self:center;width:min(100%,540px);padding:0 0 26px 0}
.hero__visual::before{content:"";position:absolute;inset:26px -24px -2px 24px;border:1.5px solid var(--gold);border-radius:999px 999px var(--r-lg) var(--r-lg);opacity:.55}
.hero__arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px var(--r-lg) var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.hero__arch .im{position:absolute;inset:0}
.hero__arch .im img{animation:reveal 2s var(--ease) both}
@keyframes reveal{from{transform:scale(1.12)}to{transform:scale(1)}}
.float{position:absolute;background:var(--white);box-shadow:var(--shadow);border-radius:var(--r-md);transition:transform .35s var(--ease)}
.float--tag{left:-28px;bottom:0;padding:14px 20px 14px 14px;display:flex;gap:14px;align-items:center;border-radius:99px}
.float--tag:hover{transform:translateY(-4px)}
.float--tag .im{width:54px;height:54px;border-radius:50%;flex:none}
.float--tag .im .ph b{font-size:11px}
.float--tag h3{font-weight:600;font-size:17px;line-height:1.1;letter-spacing:-.02em}
.float--tag p{font-size:12.5px;color:var(--slate)}
.float--tag span.price{margin:0 0 0 8px}
.float--badge{right:-18px;top:18%;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:10px;font-size:12px;line-height:1.25;font-weight:600;background:var(--gold-deep);color:var(--white)}
.float--badge b{display:block;font-size:22px;letter-spacing:-.03em;line-height:1}

/* Section headings */
.head-split{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:clamp(28px,3.4vw,52px);flex-wrap:wrap}

/* Collection tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,22px);align-items:start}
.tile{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;border-radius:var(--r-lg);background:var(--sand)}
.tile:nth-child(2){margin-top:clamp(0px,3.4vw,52px)}
.tile--wide{aspect-ratio:16/11}
.tile .im{position:absolute;inset:0}
.tile:hover .im img{transform:scale(1.06)}
.tile__txt{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:99px;padding:8px 8px 8px 22px}
.tile__txt h3{font-weight:600;font-size:clamp(16px,1.4vw,19px);letter-spacing:-.02em}
.tile__txt span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--white);font-size:13px;font-weight:600;transition:background .25s}
.tile:hover .tile__txt span{background:var(--gold-deep)}

/* Product grid and cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px)}
.card{position:relative;background:var(--white);border-radius:var(--r-lg);padding:10px 10px 22px;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.card__media{aspect-ratio:1;position:relative;overflow:hidden;background:var(--sand);border-radius:calc(var(--r-lg) - 8px)}
.card__link{position:absolute;inset:0;display:block}
.card__link .im{position:absolute;inset:0}
.card:hover .card__link img{transform:scale(1.06)}
.card__flag{position:absolute;left:12px;top:12px;font-size:12.5px;font-weight:600;color:var(--white);background:var(--gold-deep);padding:5px 12px;border-radius:99px;z-index:2}
.card__flag--out{background:var(--white);color:var(--slate)}
.wish{position:absolute;right:10px;top:10px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;z-index:2;background:rgba(255,255,255,.9);transition:background .2s,transform .2s}
.wish:hover{background:var(--white);transform:scale(1.08)}
.wish svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linejoin:round;transition:fill .2s}
.wish[aria-pressed="true"] svg{fill:var(--gold-deep);stroke:var(--gold-deep)}
.card__quick{position:absolute;right:10px;bottom:10px;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--white);display:grid;place-items:center;z-index:2;transition:background .2s,transform .3s var(--ease)}
.card__quick:hover:not([disabled]){background:var(--gold-deep);transform:scale(1.1)}
.card__quick svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.card__quick[disabled]{background:var(--sand);color:var(--slate);cursor:not-allowed}
.card__body{padding:16px 12px 0;display:grid;gap:3px}
.card__body h3{font-weight:600;font-size:clamp(17px,1.4vw,20px);line-height:1.2;letter-spacing:-.02em}
.card__body h3 a:hover{color:var(--gold-deep)}
.card__body .inspired{font-size:13.5px;color:var(--slate);line-height:1.4}
.price{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:6px;display:flex;gap:10px;align-items:baseline}
.price s{color:var(--slate);font-weight:400;font-size:13.5px}
.price--lg{font-size:26px;align-items:center}
.price--lg s{font-size:16px}
.rail{display:flex;gap:clamp(12px,1.4vw,22px);overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 24px;margin-inline:-4px;scrollbar-width:thin}
.rail .card{flex:0 0 clamp(250px,24vw,330px);scroll-snap-align:start}

/* Signature */
.sig{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,72px);align-items:center}
.sig__img{grid-column:1/7;aspect-ratio:4/5;border-radius:999px 999px var(--r-lg) var(--r-lg)}
.sig__copy{grid-column:8/13}
.sig__copy .lead{margin-top:22px}
.sig__list{margin-top:32px;display:grid;gap:10px}
.sig__list a{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:10px 24px 10px 10px;background:var(--white);border-radius:99px;transition:transform .3s var(--ease),box-shadow .3s}
.sig__list a:hover{transform:translateX(6px);box-shadow:var(--shadow-sm)}
.sig__list .im{width:64px;aspect-ratio:1;border-radius:50%}
.sig__list b{font-weight:600;font-size:18px;letter-spacing:-.02em}

/* Notes: three soft cards */
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,22px)}
.notes>div{border-radius:var(--r-xl);padding:clamp(28px,3vw,44px);min-height:clamp(240px,26vw,360px);display:flex;flex-direction:column;justify-content:space-between}
.notes>div:nth-child(1){background:var(--sand)}
.notes>div:nth-child(2){background:var(--blush)}
.notes>div:nth-child(3){background:var(--sage)}
.notes h3{font-weight:600;font-size:clamp(40px,5vw,84px);letter-spacing:-.045em;line-height:.95}
.notes p{color:var(--ink);opacity:.72;max-width:26ch;font-size:16px}

/* Testers */
.testers{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,72px);align-items:center;padding-block:clamp(32px,4vw,64px)}
.testers__img{grid-column:1/7;aspect-ratio:1;border-radius:var(--r-xl)}
.testers__copy{grid-column:8/13}
.testers__copy .lead{margin-top:18px}
.testers__list{margin-top:28px;display:grid;gap:10px}
.testers__list li{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:14px 18px 14px 26px;background:var(--white);border-radius:99px}
.testers__list a{font-weight:600;font-size:17px;letter-spacing:-.02em}
.testers__list a:hover{color:var(--gold-deep)}
.pill{font-size:12.5px;font-weight:600;color:var(--slate);background:var(--sand);padding:6px 14px;border-radius:99px}

/* Forms */
.field{display:grid;gap:8px}
.field label{font-size:13.5px;font-weight:600}
.input{width:100%;height:56px;padding:0 20px;background:var(--white);border:1.5px solid var(--line);border-radius:99px;transition:border-color .2s,box-shadow .2s}
textarea.input{height:auto;padding:16px 20px;min-height:150px;resize:vertical;border-radius:var(--r-md)}
.input:hover{border-color:#D9CBBB}
.input:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 4px rgba(176,134,72,.15)}
.inline-form{display:flex;gap:10px}
.inline-form .input{flex:1}
.msg{font-size:14px;color:var(--gold-deep);margin-top:12px;min-height:22px;font-weight:600}
.msg--err{color:var(--danger)}
.news{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,3vw,48px);align-items:center;background:var(--blush);border-radius:var(--r-xl);padding:clamp(32px,5vw,80px)}
.news>div:first-child{grid-column:1/7}
.news form{grid-column:8/13}

/* Footer: soft sand, rounded top */
.footer{background:var(--sand);border-radius:var(--r-xl) var(--r-xl) 0 0;padding-top:clamp(52px,6vw,88px);margin-top:clamp(40px,5vw,72px)}
.footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:clamp(28px,4vw,64px);padding-bottom:clamp(44px,5vw,72px)}
.footer h4{font-size:14px;font-weight:700;margin-bottom:16px}
.footer li{margin-bottom:10px;font-size:15px;color:var(--slate)}
.footer li a:hover{color:var(--ink)}
.footer__brand p{color:var(--slate);max-width:32ch;margin-top:18px;font-size:15px}
.footer__bar{border-top:1px solid #E2D5C5;padding-block:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--slate)}

/* Inner pages */
.page-head{padding-block:clamp(36px,5vw,72px) clamp(24px,3vw,40px)}
.crumbs{font-size:13.5px;color:var(--slate);margin-bottom:20px}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.crumbs span{margin-inline:8px}
.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 14px;background:var(--white);border-radius:99px;margin-bottom:clamp(24px,3vw,40px);flex-wrap:wrap;box-shadow:var(--shadow-sm)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{height:42px;padding:0 20px;border-radius:99px;font-size:14px;font-weight:500;background:transparent;transition:all .2s}
.chip:hover{background:var(--sand)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.tools-r{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.tools-r .input{height:42px;font-size:14px;background:var(--bg)}
.select{height:42px;padding:0 38px 0 18px;border:0;border-radius:99px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%232B211C' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center;appearance:none;-webkit-appearance:none;font-size:14px}
.toggle{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.toggle input{appearance:none;-webkit-appearance:none;width:40px;height:24px;border-radius:99px;background:var(--stone-2,#E3D8C9);position:relative;cursor:pointer;transition:background .2s;margin:0}
.toggle input::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--white);transition:transform .25s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle input:checked{background:var(--gold-deep)}
.toggle input:checked::after{transform:translateX(16px)}
.count{font-size:14px;color:var(--slate);padding-right:8px}

.pdp{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,72px);padding-bottom:clamp(56px,7vw,100px)}
.pdp__media{grid-column:1/8;aspect-ratio:1;position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
.pdp__media .im{position:absolute;inset:0}
.pdp__info{grid-column:8/13;position:sticky;top:110px;align-self:start;display:grid;gap:22px}
.pdp__info h1{font-weight:600;font-size:clamp(40px,4.6vw,72px);line-height:.98;letter-spacing:-.04em}
.pdp__info>div:first-child p{margin-bottom:10px}
.rating{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--slate)}
.stars{display:inline-flex;gap:2px}
.stars svg{width:15px;height:15px;fill:var(--gold)}
.stars svg.off{fill:#E3D8C9}
.buy{display:flex;gap:10px;align-items:stretch}
.buy .qty{margin:0;height:56px;padding-inline:6px}
.buy .btn{flex:1}
.buy .wish-lg{width:56px;height:56px;border:1.5px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:border-color .2s;background:var(--white)}
.buy .wish-lg:hover{border-color:var(--ink)}
.buy .wish-lg svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linejoin:round}
.buy .wish-lg[aria-pressed="true"] svg{fill:var(--gold-deep);stroke:var(--gold-deep)}
.facts{margin:0;background:var(--white);border-radius:var(--r-lg);padding:6px 26px}
.facts div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
.facts div:last-child{border-bottom:0}
.facts dt{color:var(--slate)}
.facts dd{margin:0;text-align:right;font-weight:600}

.cart{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,72px);padding-bottom:clamp(56px,7vw,100px);align-items:start}
.cart__items{grid-column:1/8}
.cart__items .line-item{grid-template-columns:112px 1fr auto}
.cart__sum{grid-column:9/13;background:var(--white);border-radius:var(--r-xl);padding:34px;display:grid;gap:16px;position:sticky;top:110px;box-shadow:var(--shadow)}
.cart__sum hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.total{font-size:30px;font-weight:600;letter-spacing:-.03em}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
.fieldset{display:grid;gap:18px;margin-bottom:44px}
.fieldset h2{font-weight:600;font-size:26px;letter-spacing:-.03em}
.radio{display:flex;gap:14px;align-items:flex-start;border:1.5px solid var(--line);padding:20px 22px;background:var(--white);border-radius:var(--r-md);cursor:pointer}
.radio input{margin-top:4px;accent-color:var(--ink)}
.radio b{display:block;font-weight:600}
.done{max-width:620px;margin:clamp(24px,5vw,72px) auto;text-align:center}
.done .h2{margin-bottom:16px}
.done .lead{margin-inline:auto}
.done .btn{margin-top:28px}

.finder{max-width:920px}
.step{display:none}
.step.on{display:block;animation:stepin .5s var(--ease)}
@keyframes stepin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.opt{background:var(--white);padding:32px 26px;text-align:left;border-radius:var(--r-lg);transition:background .25s,transform .3s var(--ease),box-shadow .3s}
.opt:hover{background:var(--sand);transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.opt b{display:block;font-weight:600;font-size:24px;letter-spacing:-.03em;line-height:1.1}
.opt span{display:block;color:var(--slate);font-size:14px;margin-top:8px}
.progress{display:flex;gap:6px;margin-bottom:30px}
.progress i{height:5px;border-radius:99px;flex:1;background:var(--line);transition:background .3s}
.progress i.on{background:var(--gold)}
.back{font-size:14px;color:var(--slate);margin-top:26px;text-decoration:underline;text-underline-offset:3px}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}

.contact{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,72px);padding-bottom:clamp(56px,7vw,100px)}
.contact__info{grid-column:1/6;align-content:start;display:grid;gap:10px}
.contact__info div{padding:22px 28px;background:var(--white);border-radius:var(--r-lg)}
.contact__info dt{font-size:13.5px;color:var(--slate);margin-bottom:4px}
.contact__info dd{font-weight:600;font-size:21px;line-height:1.25;letter-spacing:-.02em}
.contact__info dd a:hover{color:var(--gold-deep)}
.contact form{grid-column:7/13;display:grid;gap:18px;align-content:start;background:var(--white);padding:clamp(24px,3vw,40px);border-radius:var(--r-xl)}
.account{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);padding-bottom:clamp(56px,7vw,100px);max-width:1040px}
.account form{display:grid;gap:18px;align-content:start;background:var(--white);padding:clamp(24px,3vw,40px);border-radius:var(--r-xl)}

@media (max-width:1100px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .pdp__media,.pdp__info{grid-column:1/13}
  .pdp__info{position:static}
  .cart__items,.cart__sum{grid-column:1/13}
  .cart__sum{position:static}
  .sig__img,.sig__copy,.testers__img,.testers__copy,.news>div:first-child,.news form,.contact__info,.contact form{grid-column:1/13}
  .sig__img{max-width:520px;justify-self:center;width:100%}
}
@media (max-width:860px){
  .header{padding-top:8px}
  .header .wrap{grid-template-columns:auto 1fr auto;gap:6px;height:60px;padding:0 8px 0 8px}
  .nav{display:none}
  .burger{display:grid}
  .header .tools a[href="account.html"]{display:none}
  .icon-btn{width:42px;height:42px}
  .logo{font-size:13px;letter-spacing:.16em}
  .hero__grid{grid-template-columns:1fr}
  .hero__visual{width:min(100%,440px);margin-top:12px}
  .float--tag{left:-6px}
  .float--badge{right:-6px;width:88px;height:88px;font-size:11px}
  .float--badge b{font-size:18px}
  .tiles{grid-template-columns:1fr 1fr}
  .tile:nth-child(2){margin-top:0}
  .tile,.tile--wide{aspect-ratio:4/5}
  .grid{grid-template-columns:repeat(2,1fr)}
  .notes{grid-template-columns:1fr}
  .notes>div{min-height:200px}
  .opts,.result-grid{grid-template-columns:1fr}
  .account{grid-template-columns:1fr}
  .testers__list li{grid-template-columns:1fr auto}
  .testers__list li .pill{display:none}
  .band{border-radius:var(--r-lg)}
  .mobile-nav{display:block;position:fixed;inset:0;background:var(--bg);z-index:120;transform:translateY(-100%);transition:transform .5s var(--ease);overflow:auto;padding:0 var(--gutter) 40px}
  .mobile-nav.on{transform:none}
  .mobile-nav__top{height:68px;display:flex;align-items:center;justify-content:space-between}
  .mobile-nav ul{margin-top:12px}
  .mobile-nav li a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:26px;letter-spacing:-.04em}
  .mobile-nav .sub a{font-weight:400;font-size:16px;letter-spacing:0;padding:12px 0 12px 16px;color:var(--slate)}
}
@media (max-width:520px){
  .form-grid,.tiles{grid-template-columns:1fr}
  .tiles .tile{aspect-ratio:5/4}
  .grid{gap:10px}
  .card{padding:6px 6px 16px;border-radius:24px}
  .card__media{border-radius:18px}
  .card__body{padding:12px 8px 0}
  .card__quick{width:42px;height:42px}
  .footer__grid{grid-template-columns:1fr}
  .line-item{grid-template-columns:72px 1fr auto;gap:14px}
  .cart__items .line-item{grid-template-columns:84px 1fr auto}
  .inline-form{flex-direction:column}
  .toolbar{border-radius:var(--r-lg)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Service cards */
.strip{padding-block:clamp(40px,5vw,72px) 0}
.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,20px)}
.strip .wrap>div{background:var(--white);border-radius:var(--r-lg);padding:26px 30px}
.strip b{display:block;font-weight:600;font-size:18px;letter-spacing:-.02em;margin-bottom:4px}
.strip span{font-size:14.5px;color:var(--slate)}
@media (max-width:860px){.strip .wrap{grid-template-columns:1fr}}

/* v3.1 home additions */
.quick{padding-block:6px 4px}
.quick .wrap{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-block:6px}
.quick .wrap::-webkit-scrollbar{display:none}
.quick a{flex:none;height:44px;padding:0 22px;display:inline-flex;align-items:center;border-radius:99px;background:var(--white);box-shadow:var(--shadow-sm);font-size:14.5px;font-weight:500;transition:background .2s var(--ease),color .2s var(--ease)}
.quick a:hover{background:var(--ink);color:var(--white)}
.finder-cta,.outlet{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:var(--blush);border-radius:var(--r-xl);padding:clamp(28px,4vw,56px)}
.outlet{background:var(--sage)}
.finder-cta>div,.outlet>div{min-width:0;max-width:52ch}
.finder-cta .lead,.outlet .lead{margin-top:8px}
.outlet .lead a{text-decoration:underline;text-underline-offset:3px}

/* v4: cleaner white page, near-black accents, dark photo hero, always-visible add to cart.
   Direction taken from scentsnstories.pk, muskalmahalpakistan.com and scentsnsecrets.com: black announcement bar,
   large hero photography, uppercase section titles, buttons that say what they do. */
:root{--bg:#FFFFFF;--sand:#F5F3F0;--blush:#F5F3F0;--sage:#F5F3F0;--ink:#141110;--slate:#6B645E;--line:#E7E2DC;--gold:#B08648;--gold-deep:#9A7338}
.announce{background:var(--ink);color:#fff;font-weight:500;letter-spacing:.02em}
.announce a{color:#fff}
.hero{padding-block:14px clamp(40px,5vw,72px);overflow:visible}
.hero::before,.hero::after{display:none}
.hero__panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--ink);color:#fff;border-radius:clamp(28px,3.4vw,48px);overflow:hidden;min-height:clamp(480px,44vw,640px)}
.hero__panel .hero__copy{align-self:center;padding:clamp(32px,5.5vw,88px)}
.hero__panel .display{color:#fff}
.hero__panel .lead{color:rgba(255,255,255,.76)}
.hero__panel .btn{background:#fff;color:var(--ink);border-color:#fff}
.hero__panel .btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.hero__panel .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.hero__panel .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero__panel .chip-s{background:rgba(255,255,255,.1);box-shadow:none;color:#fff}
.hero__panel .chip-s svg{stroke:var(--gold)}
.hero__panel .hero__visual{width:100%;justify-self:stretch;padding:0;min-height:100%}
.hero__panel .hero__visual::before{display:none}
.hero__panel .hero__arch{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;box-shadow:none}
.hero__panel .float--tag{left:20px;bottom:20px}
.hero__panel .float--badge{right:20px;top:20px}
.head-split .h2,.section>.wrap>.h2{font-size:clamp(22px,2.1vw,30px);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.card{border:1px solid var(--line);box-shadow:none}
.band .card{border-color:transparent}
.card__add{margin-top:14px;width:100%;height:46px;border-radius:99px;background:var(--ink);color:#fff;font-weight:600;font-size:14px;transition:background .2s}
.card__add:hover:not([disabled]){background:var(--gold-deep)}
.card__add[disabled]{background:var(--sand);color:var(--slate);cursor:not-allowed}
.card__body{padding:16px 10px 0}
.price{color:var(--ink)}
.price s{color:var(--slate)}
.quick a{background:var(--sand);box-shadow:none}
.footer{background:var(--ink);color:rgba(255,255,255,.8)}
.footer a{color:#fff}
.footer h4{color:#fff}
.footer .logo{color:#fff}
.footer__bar{border-color:rgba(255,255,255,.14)}
@media (max-width:860px){
  .hero__panel{grid-template-columns:1fr}
  .hero__panel .hero__visual{order:-1;aspect-ratio:1/1;min-height:0}
  .hero__panel .hero__copy{padding:28px 22px 34px}
}

/* v5: real photos, tighter rhythm, photo note cards */
.section{padding-block:clamp(36px,5vw,76px)}
.notes>div{position:relative;overflow:hidden;color:#fff;min-height:clamp(300px,30vw,440px);justify-content:flex-end;gap:10px}
.notes>div>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .8s var(--ease)}
.notes>div:hover>img{transform:scale(1.05)}
.notes>div::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,16,.78) 0%,rgba(20,17,16,.25) 55%,rgba(20,17,16,0) 100%);z-index:1}
.notes>div>h3,.notes>div>p{position:relative;z-index:2}
.notes p{color:#fff;opacity:.9}
.notes h3{font-size:clamp(34px,4vw,64px)}
.footer p,.footer li,.footer span,.footer__brand p{color:rgba(255,255,255,.74)}
.footer h4{color:#fff}

/* v6: hero slides, gradient collection labels, rail arrows, note cards, service cards */
.hslide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}
.hslide.on{opacity:1}
.hero__dots{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;display:flex;gap:8px;z-index:3}
.hero__panel .float--tag{left:20px;bottom:20px;right:auto}
.hero__dots{left:auto;right:24px;transform:none;bottom:34px}
.hero__dots button{width:9px;height:9px;border-radius:99px;background:rgba(255,255,255,.55);transition:width .3s var(--ease),background .3s}
.hero__dots button[aria-current="true"]{width:28px;background:#fff}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,16,.7) 0%,rgba(20,17,16,0) 45%);z-index:1;pointer-events:none}
.tile__txt{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff;z-index:2;left:22px;right:18px;bottom:20px}
.tile__txt h3{font-size:clamp(19px,1.7vw,24px)}
.tile__txt span{background:#fff;color:var(--ink)}
.tile:hover .tile__txt span{background:var(--gold);color:#fff}
.rail-nav{display:flex;gap:8px;margin-left:auto;margin-right:12px}
.rail-nav button{width:46px;height:46px;border-radius:50%;background:var(--white);display:grid;place-items:center;transition:background .2s,color .2s}
.rail-nav button:hover{background:var(--ink);color:#fff}
.rail-nav svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notes>div{min-height:clamp(380px,36vw,520px)}
.notes>div>img{object-position:50% 12%}
.notes>div::after{background:linear-gradient(to top,rgba(20,17,16,.86) 0%,rgba(20,17,16,.5) 34%,rgba(20,17,16,0) 62%)}
.strip .wrap>div{background:var(--sand)}
@media (max-width:520px){.rail-nav{display:none}.hero__dots{right:18px;bottom:22px}}
.float--tag h3{color:var(--ink)}
.notes>div{background:var(--ink)}
.notes>div>img{height:76%;bottom:auto;object-position:50% 20%}
.notes>div::after{background:linear-gradient(to top,var(--ink) 0%,var(--ink) 22%,rgba(20,17,16,0) 42%)}
.strip{padding-block:clamp(20px,3vw,40px) 0}
.notes>div>img{height:68%}.notes>div::after{background:linear-gradient(to top,var(--ink) 0%,var(--ink) 30%,rgba(20,17,16,0) 40%)}
@media (max-width:860px){
  .hero__panel .float--tag{left:12px;bottom:12px;padding:8px 18px 8px 8px;gap:10px}
  .hero__panel .float--tag .im{width:42px;height:42px}
  .hero__panel .float--tag h3{font-size:15px}
  .hero__panel .float--tag p{display:none}
  .hero__dots{left:20px;right:auto;top:26px;bottom:auto}
  .hero__panel .float--badge{width:88px;height:88px;right:14px;top:14px}
  .hero__panel .float--badge b{font-size:18px}
}

/* v7: warm cream bands, espresso ink, eyebrows, finder band, footer wordmark */
:root{--sand:#F7F1E8;--blush:#F7F1E8;--sage:#F7F1E8;--ink:#17110D;--line:#EADFD0;--slate:#6F655C;--gold-deep:#8F6B33}
.eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px}
.hero__panel{background:#1A130E}
.hero__panel .eyebrow{color:var(--gold)}
.display{font-size:clamp(44px,5.4vw,88px);line-height:1;letter-spacing:-.045em}
.card__cat{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:4px}
.card__body h3{font-size:clamp(18px,1.5vw,21px)}
.card__body{gap:2px}
.card{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(23,17,13,.5)}
.card__media img{transition:transform .9s var(--ease)}
.card:hover .card__media img{transform:scale(1.05)}
.announce{background:#17110D;overflow:hidden;white-space:nowrap}
.announce__msg{display:inline-block;transition:opacity .35s,transform .35s}
.announce__msg.out{opacity:0;transform:translateY(-6px)}
.finder-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#1A130E;color:#fff;border-radius:clamp(28px,3.4vw,48px);overflow:hidden;min-height:clamp(380px,34vw,500px)}
.finder-band__copy{align-self:center;padding:clamp(32px,5vw,80px);display:grid;gap:18px;justify-items:start}
.finder-band .eyebrow{color:var(--gold);margin:0}
.finder-band .h2{color:#fff;text-transform:none;font-size:clamp(32px,3.8vw,58px);letter-spacing:-.04em}
.finder-band .lead{color:rgba(255,255,255,.76)}
.finder-band .btn{background:#fff;color:var(--ink);border-color:#fff;margin-top:8px}
.finder-band .btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.finder-band__img{position:relative;min-height:300px}
.finder-band__img .im{position:absolute;inset:0}
.sig__copy .eyebrow,.testers__copy .eyebrow,.outlet .eyebrow{margin-bottom:14px}
.footer{background:#17110D}
.footer__mark{font-weight:700;font-size:clamp(44px,13.4vw,210px);letter-spacing:-.055em;line-height:.8;text-align:center;white-space:nowrap;overflow:hidden;text-transform:uppercase;color:rgba(255,255,255,.07);padding-bottom:clamp(14px,2vw,30px);user-select:none}
.band{background:var(--sand)}
.quick a{background:var(--sand)}
@media (max-width:860px){
  .finder-band{grid-template-columns:1fr}
  .finder-band__img{order:-1;min-height:0;aspect-ratio:4/3}
  .display{font-size:clamp(40px,11vw,60px)}
}
.head-split .h2,.section>.wrap>.h2{text-transform:none;font-size:clamp(30px,3.4vw,52px);letter-spacing:-.04em;line-height:1.02}
.head-split .eyebrow{margin-bottom:10px}
.announce{line-height:1.2;min-height:34px;display:flex;align-items:center;justify-content:center;gap:10px}
.outlet a[href^="tel"]{white-space:nowrap}
.news{background:var(--sand)}
.strip .wrap>div{background:none;border-radius:0;border-top:1px solid var(--line);padding:22px 4px 0}
.outlet{background:#fff;border:1px solid var(--line)}
@media (max-width:860px){.outlet{padding:28px 22px}}

/* v8: signature section as three tall photo cards */
.sig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.sigcard{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--sand)}
.sigcard__link{position:absolute;inset:0;display:block}
.sigcard__link .im{position:absolute;inset:0}
.sigcard__link .im img{transition:transform 1s var(--ease)}
.sigcard:hover .sigcard__link .im img{transform:scale(1.05)}
.sigcard::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,17,13,.82) 0%,rgba(23,17,13,.35) 30%,rgba(23,17,13,0) 52%);pointer-events:none}
.sigcard__txt{position:absolute;left:clamp(18px,2vw,28px);right:clamp(18px,2vw,28px);bottom:clamp(18px,2vw,26px);z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;color:#fff;pointer-events:none}
.sigcard__tag{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.sigcard__txt h3{font-weight:600;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.035em;line-height:1}
.sigcard__txt .price{margin-top:8px;color:#fff}
.sigcard__txt .price s{color:rgba(255,255,255,.7)}
.sigcard__add{pointer-events:auto;flex:none;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;transition:background .2s,color .2s,transform .3s var(--ease)}
.sigcard__add:hover{background:var(--gold);color:#fff;transform:scale(1.08)}
.sigcard__add svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
@media (max-width:860px){.sig-grid{grid-template-columns:1fr 1fr 1fr;overflow-x:auto;scroll-snap-type:x mandatory;display:flex;gap:12px;padding-bottom:6px}.sigcard{flex:0 0 min(78vw,340px);scroll-snap-align:start}}
.sigcard__tag{color:rgba(255,255,255,.82)}

/* v9: ticker, budget cards, ratings, FAQ, Instagram */
.ticker{overflow:hidden;padding-block:clamp(18px,2.4vw,30px);border-block:1px solid var(--line);margin-block:clamp(28px,4vw,56px)}
.ticker__track{display:flex;gap:clamp(24px,3vw,48px);width:max-content;align-items:center;animation:tick 38s linear infinite;font-weight:600;font-size:clamp(26px,3.6vw,52px);letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}
.ticker__track i{font-style:normal;color:var(--gold);font-size:.5em}
.ticker__track span:nth-of-type(even){color:transparent;-webkit-text-stroke:1.3px var(--ink)}
@keyframes tick{to{transform:translateX(-25%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.pricecard{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:56px;min-height:clamp(260px,24vw,340px);padding:clamp(24px,2.4vw,36px);border-radius:var(--r-lg);background:var(--sand);transition:background .35s var(--ease),color .35s var(--ease),transform .4s var(--ease)}
.pricecard:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}
.pricecard__thumbs{display:flex}
.pricecard__thumbs .im{position:relative;width:clamp(56px,5vw,72px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid var(--sand);margin-left:-14px;transition:border-color .35s var(--ease)}
.pricecard__thumbs .im:first-child{margin-left:0}
.pricecard:hover .pricecard__thumbs .im{border-color:var(--ink)}
.pricecard__n{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px}
.pricecard:hover .pricecard__n{color:var(--gold)}
.pricecard h3{font-weight:600;font-size:clamp(28px,3vw,44px);letter-spacing:-.04em;line-height:1.02}
.pricecard__go{position:absolute;right:clamp(20px,2.2vw,32px);bottom:clamp(22px,2.4vw,34px);width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center}
.pricecard__go svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.ratecard{display:grid;justify-items:start;gap:8px;padding:clamp(20px,2vw,28px);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .3s,transform .4s var(--ease)}
.ratecard:hover{border-color:var(--ink);transform:translateY(-4px)}
.ratecard__img{position:relative;width:64px;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:10px}
.ratecard__n{font-weight:600;font-size:clamp(48px,5vw,76px);letter-spacing:-.05em;line-height:1}
.ratecard__name{font-weight:600;font-size:17px;letter-spacing:-.02em}
.rating-note{margin-top:18px;color:var(--slate)}
.faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}
.faq__head{position:sticky;top:110px;display:grid;gap:16px;justify-items:start}
.faq__head .h2{text-transform:none;font-size:clamp(30px,3.4vw,52px)}
.faq__head .lead a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.faq__list details{border-top:1px solid var(--line)}
.faq__list details:last-child{border-bottom:1px solid var(--line)}
.faq__list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-weight:600;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary i{flex:none;position:relative;width:38px;height:38px;border-radius:50%;background:var(--sand);transition:background .25s,transform .35s var(--ease)}
.faq__list summary i::before,.faq__list summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.8px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .3s var(--ease),background .25s}
.faq__list summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__list details[open] summary i{background:var(--ink)}
.faq__list details[open] summary i::before,.faq__list details[open] summary i::after{background:#fff}
.faq__list details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq__list details p{padding:0 56px 26px 0;color:var(--slate);max-width:60ch}
.ig-links{display:flex;gap:10px;flex-wrap:wrap}
.ig-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.igtile{position:relative;display:block;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--sand)}
.igtile .im{position:absolute;inset:0}
.igtile .im img{transition:transform .9s var(--ease)}
.igtile:hover .im img{transform:scale(1.08)}
@media (max-width:1100px){.rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.price-grid{grid-template-columns:1fr}.pricecard{min-height:200px;gap:36px}.faq{grid-template-columns:1fr}.faq__head{position:static}.faq__list details p{padding-right:8px}}

/* v10: hero with colour-matched blurred backdrop, framed photo stage, thumbnail nav, stats */
.hero__panel{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(20px,3vw,56px);align-items:center;min-height:clamp(580px,46vw,700px);padding:clamp(28px,4.4vw,72px);isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-1;background:#1A130E;overflow:hidden}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,10,.82) 0%,rgba(20,14,10,.5) 55%,rgba(20,14,10,.2) 100%)}
.hbg{position:absolute;left:-12%;top:-12%;width:124%;height:124%;object-fit:cover;filter:blur(64px) saturate(1.5) brightness(.62);opacity:0;transition:opacity 1.4s var(--ease)}
.hbg.on{opacity:1}
.hero__panel .hero__copy{padding:0;align-self:center}
.hero__panel .hero__copy .lead{max-width:40ch}
.hero__stats{display:flex;gap:clamp(22px,3.2vw,48px);margin-top:clamp(30px,3.6vw,52px);padding-top:clamp(20px,2.4vw,30px);border-top:1px solid rgba(255,255,255,.18)}
.hero__stats dt{font-weight:600;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em;line-height:1;color:#fff}
.hero__stats dd{margin:6px 0 0;font-size:12.5px;color:rgba(255,255,255,.62);letter-spacing:.04em}
.hero__panel .hero__visual{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;min-height:0;padding:0 18px 0 0;justify-self:center}
.hero__frame{position:relative;width:min(100%,470px)}
.hero__stage{position:relative;aspect-ratio:4/5;border-radius:clamp(26px,2.6vw,38px);overflow:hidden;background:#2a2019;box-shadow:0 44px 90px -34px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.14);inset:auto}
.hero__panel .hero__stage{position:relative;inset:auto;aspect-ratio:4/5;border-radius:clamp(26px,2.6vw,38px)}
.hslide .im img{transform:scale(1.12);transition:transform 7s var(--ease)}
.hslide.on .im img{transform:scale(1)}
.hero__panel .float--tag{left:14px;bottom:14px;right:auto;max-width:calc(100% - 28px)}
.hero__panel .float--badge{right:-20px;top:24px;left:auto;width:92px;height:92px}
.hero__panel .float--badge b{font-size:19px}
.hero__panel .hero__dots{position:static;transform:none;left:auto;right:auto;top:auto;bottom:auto;display:flex;gap:12px;justify-content:center;z-index:3}
.hero__dots button{position:relative;width:56px;height:56px;border-radius:16px;overflow:hidden;padding:0;background:#2a2019;opacity:.5;transition:opacity .3s,transform .35s var(--ease);box-shadow:0 0 0 2px transparent}
.hero__dots button:hover{opacity:.85;transform:translateY(-2px)}
.hero__dots button img{width:100%;height:100%;object-fit:cover;display:block}
.hero__dots button[aria-current="true"]{opacity:1;width:56px;height:56px;border-radius:16px;background:#2a2019;box-shadow:0 0 0 2px #fff}
.hero__dots button[aria-current="true"]::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--gold);transform-origin:left;animation:hprog 5.2s linear forwards}
.hero__visual:hover .hero__dots button[aria-current="true"]::after{animation-play-state:paused}
@keyframes hprog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.hero__dots button[aria-current="true"]::after{animation:none}.hslide .im img{transition:none;transform:none}}
@media (max-width:860px){
  .hero__panel{grid-template-columns:1fr;padding:22px 22px 28px;gap:26px;min-height:0}
  .hero__panel .hero__visual{order:-1;aspect-ratio:auto;padding:0}
  .hero__frame{width:min(100%,380px)}
  .hero__panel .float--badge{right:-8px;top:14px;width:78px;height:78px}
  .hero__panel .float--badge b{font-size:16px}
  .hero__panel .float--tag p{display:none}
  .hero__stats{gap:22px}
  .hero__dots button{width:48px;height:48px;border-radius:13px}
}

/* ==========================================================================
   WordPress and WooCommerce additions
   Everything below styles markup that WordPress or WooCommerce prints.
   ========================================================================== */

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.site-main{display:block}
.crumbs-tight .crumbs{margin:0}
.float--tag[hidden]{display:none}

/* ---- header and footer ---- */
.logo__img{height:34px;width:auto;display:block}
.footer__legal{display:flex;gap:6px 22px;flex-wrap:wrap;align-items:center}
.footer__legal a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ---- cart drawer ---- */
.drawer .widget_shopping_cart_content{display:contents}
.drawer .widget_shopping_cart_content.updating{opacity:.6}
.drawer__foot .ship{display:grid;gap:8px;font-size:13.5px}
.drawer__foot .ship p{color:var(--ink)}
.drawer__foot .ship b{font-weight:600}
.ship__bar{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.ship__bar i{display:block;height:100%;border-radius:99px;background:var(--gold);transition:width .45s var(--ease)}
.ship.is-free .ship__bar i{background:var(--gold-deep)}
.line-item .price{font-size:15px;margin-top:0}
.line-item .qty button[disabled]{opacity:.35;cursor:not-allowed}
.line-item .woocommerce-mini-cart-item__data,.line-item dl.variation{font-size:13px;color:var(--slate);margin-top:6px}
.line-item dl.variation dt,.line-item dl.variation dd{display:inline;margin:0}

/* ---- cards and buttons printed as links ---- */
.card__add,a.card__add{display:flex;align-items:center;justify-content:center;text-align:center}
.card__add.loading{opacity:.6;pointer-events:none}
.card__add.is-out{background:var(--sand);color:var(--slate);cursor:not-allowed}
.card__add.is-out:hover{background:var(--sand)}
.added_to_cart{display:none!important}
.btn.loading,.single_add_to_cart_button.loading{opacity:.7;pointer-events:none}
a.pill:hover{background:var(--ink);color:#fff}
.sigcard__add.loading{opacity:.6;pointer-events:none}

/* ---- shop ---- */
a.chip{display:inline-flex;align-items:center}
a.chip[aria-current="page"]{background:var(--ink);color:var(--white)}
.tools-r{flex-wrap:wrap}
.tools-r .count{font-size:13.5px;color:var(--slate);white-space:nowrap}
.woocommerce-pagination{margin-top:clamp(32px,4vw,56px)}
.woocommerce-pagination ul{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;border:0}
.woocommerce-pagination li{border:0;float:none;display:block}
.woocommerce-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:99px;background:var(--white);font-weight:600;font-size:14px;transition:background .2s,color .2s}
.woocommerce-pagination a.page-numbers:hover{background:var(--sand)}
.woocommerce-pagination .page-numbers.current{background:var(--ink);color:var(--white)}
.grid.products .empty{grid-column:1/-1}

/* ---- product page ---- */
.pdp__media .im img{width:100%;height:100%;object-fit:cover}
.pdp__thumbs{position:absolute;left:50%;transform:translateX(-50%);bottom:16px;display:flex;gap:8px;z-index:3;padding:6px;border-radius:99px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pdp__thumbs button{width:52px;height:52px;border-radius:50%;overflow:hidden;opacity:.6;box-shadow:0 0 0 2px transparent;transition:opacity .2s,box-shadow .2s}
.pdp__thumbs button:hover{opacity:1}
.pdp__thumbs button[aria-current="true"]{opacity:1;box-shadow:0 0 0 2px var(--ink)}
.pdp__thumbs img{width:100%;height:100%;object-fit:cover}
.pdp__info a.rating:hover span{text-decoration:underline;text-underline-offset:3px}
.pdp__info .price--lg .card__flag{position:static}
.pdp__info .stock{font-size:14px;color:var(--gold-deep);font-weight:600}
form.cart.buy{margin:0}
.quantity.qty input{width:48px;height:100%;border:0;background:none;text-align:center;font-weight:600;font-size:15px;padding:0;-moz-appearance:textfield;appearance:textfield}
.quantity.qty input::-webkit-outer-spin-button,.quantity.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quantity.qty input:focus{outline:0}
.buy .qty button{width:42px}
.pdp-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,22px)}
.pdp-notes>div{background:var(--white);border-radius:var(--r-lg);padding:clamp(24px,2.6vw,36px)}
.pdp-notes>div:nth-child(1){background:var(--sand)}
.pdp-notes>div:nth-child(2){background:var(--blush)}
.pdp-notes>div:nth-child(3){background:var(--sage)}
.pdp-notes h3{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px}
.pdp-notes p{font-size:17px;line-height:1.5;max-width:34ch}

/* ---- reviews ---- */
.hkf-reviews{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(24px,4vw,72px);align-items:start}
.hkf-reviews #comments{grid-column:1/8}
.hkf-reviews #review_form_wrapper{grid-column:8/13;background:var(--white);border-radius:var(--r-xl);padding:clamp(24px,3vw,40px);position:sticky;top:110px}
.hkf-reviews .head-split{margin-bottom:clamp(20px,2.4vw,32px)}
.commentlist{display:grid;gap:12px}
.commentlist>li{background:var(--white);border-radius:var(--r-lg);padding:clamp(20px,2.2vw,30px)}
.commentlist .children{margin-top:12px;padding-left:20px;display:grid;gap:12px}
.review__head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:10px}
.review__author{font-weight:600}
.review__date{font-size:13px;color:var(--slate);margin-left:auto}
.review__stars .stars svg{width:14px;height:14px}
.review__text{font-size:15.5px;line-height:1.6}
.review__text p+p{margin-top:10px}
.woocommerce-noreviews,.woocommerce-verification-required,.must-log-in{color:var(--slate)}
#review_form .comment-reply-title{display:block;margin-bottom:18px}
#review_form .comment-form{display:grid;gap:16px}
#review_form .comment-form p{margin:0}
#review_form .required{color:var(--gold-deep)}
#review_form .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--slate)}
#review_form .comment-form-cookies-consent input{margin-top:4px;accent-color:var(--ink)}
.select--field{width:100%;height:56px;padding:0 44px 0 20px;border:1.5px solid var(--line);background-color:var(--white);border-radius:99px}
.form-submit .btn{cursor:pointer}

/* ---- notices (classic and block) ---- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 24px;padding:16px 22px;border-radius:var(--r-md);background:var(--white);border:1.5px solid var(--line);font-size:15px;list-style:none}
.woocommerce-message,.wc-block-components-notice-banner.is-success{border-color:#CFE0C9;background:#F3F8F1}
.woocommerce-error,.wc-block-components-notice-banner.is-error{border-color:#E8C4BE;background:#FBF1EF;color:var(--danger)}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.woocommerce-error li{list-style:none}

/* ---- text pages ---- */
.prose{max-width:760px;font-size:17px;line-height:1.7}
.prose h2{font-weight:600;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;line-height:1.15;margin:2em 0 .6em}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 1.1em}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin-bottom:.4em}
.prose a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--ink)}
.entry--wide{max-width:none}
.posts{display:grid;gap:14px;max-width:760px}
.post-card{background:var(--white);border-radius:var(--r-lg);padding:clamp(22px,2.4vw,34px)}
.post-card .h3 a:hover{color:var(--gold-deep)}
.post-card__excerpt{margin-top:10px;color:var(--slate)}
.navigation.pagination{margin-top:32px}
.navigation.pagination .nav-links{display:flex;gap:6px;flex-wrap:wrap}
.navigation.pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:99px;background:var(--white);font-weight:600;font-size:14px}
.navigation.pagination .page-numbers.current{background:var(--ink);color:var(--white)}

/* ---- my account (classic forms) ---- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-MyAccount-navigation ul{display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 20px;border-radius:99px;background:var(--white);font-weight:500;font-size:15px;transition:background .2s,color .2s}
.woocommerce-MyAccount-navigation a:hover{background:var(--sand)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:var(--white)}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-account .u-columns,.woocommerce-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);max-width:1040px}
.woocommerce form.woocommerce-form-login,.woocommerce form.woocommerce-form-register,.woocommerce form.lost_reset_password,.woocommerce form.edit-account{display:grid;gap:16px;background:var(--white);padding:clamp(24px,3vw,40px);border-radius:var(--r-xl);margin:0}
.woocommerce form .form-row{display:grid;gap:8px;margin:0}
.woocommerce form .form-row label{font-size:13.5px;font-weight:600}
.woocommerce form .form-row .required{color:var(--gold-deep);text-decoration:none}
.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea{width:100%;height:56px;padding:0 20px;background:var(--white);border:1.5px solid var(--line);border-radius:99px}
.woocommerce form textarea{height:auto;padding:16px 20px;border-radius:var(--r-md)}
.woocommerce form .input-text:focus,.woocommerce form select:focus,.woocommerce form textarea:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 4px rgba(176,134,72,.15)}
.woocommerce form .button,.woocommerce .woocommerce-Button,.woocommerce a.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;border-radius:99px;border:1.5px solid var(--ink);background:var(--ink);color:var(--white);font-weight:600;font-size:15px;cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease)}
.woocommerce form .button:hover,.woocommerce .woocommerce-Button:hover,.woocommerce a.button:hover{background:var(--gold-deep);border-color:var(--gold-deep)}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-lg);overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px 22px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}
.woocommerce table.shop_table tr:last-child td,.woocommerce table.shop_table tr:last-child th{border-bottom:0}
.woocommerce-order-received .woocommerce-order{max-width:760px}
.woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:12px 36px;margin:0 0 28px;padding:22px 26px;background:var(--white);border-radius:var(--r-lg);font-size:14px;color:var(--slate)}
.woocommerce ul.order_details li strong{display:block;color:var(--ink);font-size:16px}

/* ---- block cart and checkout ---- */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:inherit;color:var(--ink);font-size:15.5px}
.wp-block-woocommerce-cart a:not(.wc-block-components-button),.wp-block-woocommerce-checkout a:not(.wc-block-components-button){color:inherit}
.wc-block-components-button:not(.is-link){background:var(--ink);color:var(--white);border:1.5px solid var(--ink);border-radius:99px;min-height:56px;padding:0 30px;font-weight:600;font-size:15px;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.wc-block-components-button:not(.is-link):hover:not(:disabled){background:var(--gold-deep);border-color:var(--gold-deep);color:var(--white)}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text{color:inherit}
.wc-block-components-button.outlined:not(.is-link){background:transparent;color:var(--ink)}
.wc-block-components-text-input input[type="text"],.wc-block-components-text-input input[type="email"],.wc-block-components-text-input input[type="tel"],.wc-block-components-text-input input[type="password"],.wc-block-components-text-input input[type="number"],.wc-block-components-textarea,.wc-blocks-components-select .wc-blocks-components-select__select,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--white);color:var(--ink);box-shadow:none}
.wc-block-components-text-input input:focus,.wc-block-components-textarea:focus,.wc-blocks-components-select .wc-blocks-components-select__select:focus,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(176,134,72,.15);outline:0}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]{border-radius:6px;border-color:var(--line)}
.wc-block-components-radio-control .wc-block-components-radio-control__option{border-radius:var(--r-sm)}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 1.5px var(--ink)}
.wc-block-components-radio-control__input:checked::before{background:var(--ink)}
.wc-block-components-radio-control__input:checked{border-color:var(--ink)}
.wc-block-components-title.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-cart__totals-title{font-family:inherit;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.wc-block-components-checkout-step__title{font-size:24px}
.wc-block-cart__totals-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.wc-block-cart-items,.wc-block-cart-items th,.wc-block-cart-items td{border-color:var(--line)}
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img{border-radius:var(--r-sm);background:var(--sand)}
.wc-block-components-product-name{font-weight:600;color:var(--ink)}
.wc-block-components-product-price,.wc-block-formatted-money-amount{font-variant-numeric:tabular-nums}
.wc-block-components-quantity-selector{border:1.5px solid var(--line);border-radius:99px;background:var(--white)}
.wc-block-components-quantity-selector::after{border:0}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{font-weight:600}
.wc-block-cart__sidebar .wc-block-components-sidebar,.wc-block-checkout__sidebar .wc-block-components-sidebar{background:var(--white);border-radius:var(--r-xl);padding:clamp(20px,2.4vw,32px)}
.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block{border:0}
.wc-block-components-totals-wrapper{border-color:var(--line)}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:26px;font-weight:600;letter-spacing:-.03em}
.wc-block-components-totals-coupon-link,.wc-block-components-panel__button{font-weight:600}
.wc-block-components-chip{border-radius:99px;background:var(--sand);border-color:var(--line)}
.wc-block-components-form .wc-block-components-checkout-step{border-color:var(--line)}
.wc-block-components-order-summary{padding:0}
.wc-block-components-checkout-return-to-cart-button{font-weight:600}
.wc-block-components-sale-badge{background:var(--gold-deep);color:var(--white);border:0;border-radius:99px;font-weight:600}
.wc-block-components-payment-method-label,.wc-block-components-radio-control__label{font-weight:500}

/* ---- responsive ---- */
@media (max-width:1100px){
  .hkf-reviews #comments,.hkf-reviews #review_form_wrapper{grid-column:1/13}
  .hkf-reviews #review_form_wrapper{position:static}
}
@media (max-width:860px){
  .pdp-notes{grid-template-columns:1fr}
  .woocommerce-account .woocommerce,.woocommerce-account .u-columns,.woocommerce-account #customer_login{grid-template-columns:1fr}
  .tools-r .input{width:100%!important}
  .tools-r{width:100%}
  .toolbar{border-radius:var(--r-lg)}
  .pdp__thumbs button{width:44px;height:44px}
}

/* ==========================================================================
   Mobile fixes (v10)
   ========================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
.drawer__body,.search,.mobile-nav{overscroll-behavior:contain}

/* Cards: buttons line up across a row, whatever the text length above them */
.card{display:flex;flex-direction:column}
.card__body{flex:1;display:flex;flex-direction:column}
.card__body .price{margin-bottom:14px}
.card__body .card__add{margin-top:auto}

.card,.card__body{min-width:0}
.card__body .price{flex-wrap:wrap;row-gap:2px}

/* Newsletter and other stacked inline forms: keep the input full height */
.inline-form .input{flex:1 1 auto;min-width:0}

/* Long emails and links never push the page wider */
.contact__info dd,.footer li,.prose,.facts dd{overflow-wrap:anywhere}

/* Big footer word fits the width instead of being cut off */
.footer__mark{font-size:min(210px,calc((min(100vw,var(--max)) - 2 * var(--gutter)) / 7.25));overflow:visible}

/* Touch screens: no sticky hover lifts after a tap */
@media (hover:none){
  .card:hover{transform:none;box-shadow:none}
  .card:hover .card__media img,.card:hover .card__link img{transform:none}
  .wish:hover{transform:none}
  .card__quick:hover:not([disabled]){transform:none}
}

@media (max-width:860px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact,.news{grid-template-columns:minmax(0,1fr)}
  .contact>*,.news>*{grid-column:1/-1!important;min-width:0}
  .contact__info dd{font-size:18px}
  /* iOS zooms into any field under 16px; keep every field at 16px */
  .input,select,textarea,.tools-r .input,.tools-r select,input[type="search"],input[type="email"],input[type="tel"],input[type="text"]{font-size:16px}
  /* Footer: two short link columns side by side */
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .footer__brand,.footer__grid>div:last-child{grid-column:1/-1}
  .footer li{margin-bottom:2px}
  .footer li a{display:inline-block;padding:7px 0}
  /* Checkout: show the order summary before the form */
  .cart:has(> form) .cart__sum,.cart:has(form.cart__items) .cart__sum{order:-1}
  .search{background:var(--bg)}
}
@media (max-width:520px){
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .inline-form .btn{width:100%}
  .facts{padding:4px 20px}
  .buy .btn{min-width:0}
  .card__body .price{gap:6px;font-size:14.5px}
  .card__body .price s{font-size:12.5px}
  form .btn[type="submit"]{width:100%}
}
@media (max-width:380px){
  .header .wrap{gap:2px;padding:0 4px}
  .header .tools{gap:0}
  .icon-btn{width:38px;height:38px}
  .logo{font-size:12px;letter-spacing:.1em;white-space:nowrap}
  .grid{gap:8px}
  .card__body .inspired{font-size:12.5px}
  .card__add{font-size:13px}
}
/* Theme-only mobile fixes */
@media (max-width:860px){
  .header .tools .tools__account{display:none}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
  .woocommerce-account .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  .woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 14px;font-size:14px}
  .woocommerce table.shop_table{display:block;overflow-x:auto}
  .wc-block-components-text-input input,.wc-block-components-textarea,.wc-blocks-components-select select{font-size:16px!important}
  .hkf-reviews #review_form_wrapper{border-radius:var(--r-lg)}
  .pdp__thumbs{bottom:10px}
}

/* Cart, checkout and account pages (commerce.php) */
.commerce-page{padding-bottom:clamp(56px,7vw,110px)}
.commerce-page .wp-block-woocommerce-cart,.commerce-page .wp-block-woocommerce-checkout{margin:0}
.commerce-page .wc-block-components-sidebar-layout{margin-bottom:0}
.commerce-page .wc-block-cart__submit-container{margin-top:8px}
.commerce-page .wc-block-checkout__actions_row{gap:12px}
.commerce-page .wc-block-components-checkout-place-order-button{width:auto;min-width:220px}
.commerce-page .is-loading{min-height:240px}
@media (max-width:860px){.commerce-page .wc-block-components-checkout-place-order-button{width:100%}}

/* Mobile fixes (v11): one-column layouts never wider than the screen, and a tidy buy row */
@media (max-width:1100px){
  .pdp,div.cart,.contact,.sig,.testers,.news,.hkf-reviews{grid-template-columns:minmax(0,1fr)}
  .pdp>*,div.cart>*,.contact>*,.sig>*,.testers>*,.news>*,.hkf-reviews>*,.hkf-reviews #comments,.hkf-reviews #review_form_wrapper{grid-column:1/-1!important;min-width:0}
}
.buy{min-width:0}
.buy .btn{white-space:nowrap;min-width:0}
.buy .wish-lg{flex:0 0 56px}
@media (max-width:520px){
  .buy .btn{padding:0 18px}
  .buy .qty{padding-inline:2px}
  .buy .qty button{width:34px}
  .buy .quantity.qty input{width:32px}
}
@media (max-width:380px){
  .buy{flex-wrap:wrap}
  .buy .qty{flex:1 1 auto;justify-content:space-between}
  .buy .btn{order:3;flex:1 1 100%}
}
.review__text,.commentlist>li,.post-card,.prose,.lead{overflow-wrap:anywhere}
.commentlist,.commentlist>li{min-width:0}

/* WooCommerce's add-to-cart form also has the class "cart": keep it a single row, not the cart page grid */
form.cart.buy{display:flex;grid-template-columns:none;gap:10px;align-items:stretch;padding:0;margin:0}
/* WooCommerce's quantity field also has the class "qty": style it as the number inside the stepper, not a stepper */
.quantity.qty input.qty{display:block;height:100%;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;flex:0 0 auto}
form.cart:not(.buy){display:block;padding:0;grid-template-columns:none}

/* ==========================================================================
   v1.2 features: WhatsApp, gift wrap, bundle deals, restock alerts, photo reviews, order tracking
   ========================================================================== */
:root{--wa:#1E7B4F;--wa-deep:#155C3A}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;flex:0 0 auto}
.btn--wa{background:var(--wa);border-color:var(--wa);color:#fff}
.btn--wa:hover{background:var(--wa-deep);border-color:var(--wa-deep);color:#fff}
.pdp__info .btn--wa{margin-top:-10px}
.wa-float{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 14px 30px -12px rgba(21,92,58,.6);transition:transform .25s var(--ease),background .2s}
.wa-float:hover{background:var(--wa-deep);transform:translateY(-2px)}
.wa-float svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.wa-confirm{display:flex;gap:18px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 28px;padding:22px 26px;border-radius:var(--r-lg);background:#EEF5F0;border:1.5px solid #CFE3D6}
.wa-confirm p{color:var(--slate);margin-top:4px}

/* Cart drawer: deal hint, gift box, fee lines */
.deal{display:flex;gap:10px;align-items:center;font-size:13.5px;font-weight:600;color:var(--gold-deep);background:#FBF3E6;border-radius:var(--r-sm);padding:10px 14px}
.deal svg,.alert-form__title svg,.track__ship svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;flex:0 0 auto}
.row--fee{font-size:14px;color:var(--gold-deep)}
.gift{border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--white);padding:12px 14px;display:grid;gap:10px;transition:border-color .2s}
.gift.is-on{border-color:var(--gold)}
.gift.is-busy{opacity:.6;pointer-events:none}
.gift__toggle{display:flex;gap:12px;align-items:center;cursor:pointer}
.gift__toggle input{width:20px;height:20px;accent-color:var(--ink);flex:0 0 auto}
.gift__icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--sand);flex:0 0 auto}
.gift__icon svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.gift__text{display:grid;gap:1px;line-height:1.3}
.gift__text b{font-weight:600;font-size:14.5px}
.gift__text small{font-size:13px;color:var(--slate)}
.gift__note{display:grid;gap:8px}
.gift__note textarea.input{min-height:64px;border-radius:var(--r-sm);font-size:15px;padding:10px 14px}
.gift__note .link{justify-self:start;font-size:13.5px}
.commerce-page .gift{max-width:560px;margin-bottom:24px}

/* Restock alert form */
.alert-form{display:grid;gap:12px;padding:18px 20px;border-radius:var(--r-lg);background:var(--sand)}
.alert-form__title{display:flex;gap:8px;align-items:center;font-size:15px}
.alert-form .inline-form .input{background:var(--white)}

/* Photo reviews */
.review__photo{display:block;width:128px;aspect-ratio:1;margin-top:12px;border-radius:var(--r-sm);overflow:hidden;background:var(--sand)}
.review__photo img{width:100%;height:100%;object-fit:cover}
.comment-form-photo small{color:var(--slate);font-size:13px}
.input--file{height:auto;padding:12px 16px;border-radius:var(--r-sm);font-size:14px}

/* Track your order */
.track{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);align-items:start}
.track__form{display:grid;gap:16px;background:var(--white);border-radius:var(--r-xl);padding:clamp(24px,3vw,40px)}
.track__result{display:grid;gap:22px;background:var(--white);border-radius:var(--r-xl);padding:clamp(24px,3vw,40px)}
.track__head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-end}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:s}
.steps li{position:relative;display:grid;gap:10px;font-size:13.5px;color:var(--slate)}
.steps li span{height:6px;border-radius:99px;background:var(--line)}
.steps li.is-done{color:var(--ink);font-weight:600}
.steps li.is-done span{background:var(--gold)}
.track__ship{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px 18px;border-radius:var(--r-md);background:var(--sand)}
.track__ship div{display:grid;flex:1;min-width:160px}
.track__ship span{font-size:14px;color:var(--slate)}
.track__items{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px}
.track__items li{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.track__total{border-top:1px solid var(--line);padding-top:12px;font-weight:600}
.tracking-line{margin:16px 0}
@media (max-width:860px){.track{grid-template-columns:minmax(0,1fr)}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}}
.pdp__info .btn--wa{width:100%}
.alert-form .msg:empty,.track__form .msg:empty{display:none}

/* Smooth fast scrolling (v12) */
/* While a photo loads, show only the soft tint: the name inside is for perfumes that have no photo at all. */
.im:has(img) .ph b,.line-item__img:has(img) .ph b{visibility:hidden}
/* Frosted-glass blur is redrawn on every scroll frame, which phones cannot keep up with: use solid colours on touch screens. */
@media (hover:none),(max-width:860px){
  .header .wrap{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.97)}
  .pdp__thumbs{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.94)}
  .hero::before,.hero::after{filter:blur(40px)}
  .hbg{filter:blur(36px) saturate(1.5) brightness(.62)}
}


/* Agency credit */
.footer__credit{white-space:nowrap}
.footer__credit a{text-decoration:underline;text-underline-offset:3px}
.footer__credit a:hover{color:var(--gold)}


/* Footer links: light gold on hover, never the same colour as the footer */
.footer a:hover,.footer li a:hover,.footer__legal a:hover,.footer__credit a:hover{color:#D9B67E}
.footer a:focus-visible{outline:2px solid #D9B67E;outline-offset:3px;border-radius:4px}


/* Logo mark (the built-in HK Fragrance logo, drawn in the text colour) */
.logo--mark{display:inline-flex;align-items:center;letter-spacing:0;line-height:0}
.logo__svg{display:block;height:auto}
.footer .logo--mark{color:#fff}
.footer .logo--mark .logo__svg{width:150px}
.footer .logo--mark:hover{color:#D9B67E}
.header .logo--mark .logo__svg,.mobile-nav .logo--mark .logo__svg{height:46px;width:auto}
.header .logo--mark .logo__img,.mobile-nav .logo--mark .logo__img{height:46px;width:auto}
@media (max-width:860px){.footer .logo--mark .logo__svg{width:130px}.header .logo--mark .logo__svg{height:40px}}

/* Footer: give the contact column room for the full email address */
@media (min-width:1101px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.3fr}}
.footer li a[href^="mailto:"]{overflow-wrap:normal;word-break:normal}
@media (max-width:420px){.footer li a[href^="mailto:"]{overflow-wrap:anywhere}}

