/* Shared readability roles. Display art direction remains in editorial.css. */
:root {
  --type-body:clamp(1rem,.96rem + .15vw,1.125rem);
  --type-secondary:clamp(.9375rem,.91rem + .1vw,1rem);
  --type-label:.875rem;
  --type-caption:.8125rem;
  --type-price:clamp(1rem,.96rem + .15vw,1.125rem);
  --type-control:.875rem;
  --type-product:clamp(1.625rem,1.4rem + .5vw,2rem);
  --leading-body:1.8;
  --leading-label:1.6;
  --muted:#5f5b51;
  --gold-dark:#715b32;
  --on-dark:#faf8f3;
  --muted-on-dark:#d9d3c5;
  --control-border:#898174;
  --focus-color:#715b32;
  font-size:16px;
}
body{font-size:var(--type-body);line-height:var(--leading-body)}
/* These repeated source rules now use roles rather than viewport-specific tiny sizes. */
html body :is(.eyebrow,.product-family,.filter-row label,.field-label,.size-options legend,.product-badge,.collection-number,.collection-cta){
  font-size:var(--type-label);font-weight:500;line-height:var(--leading-label);letter-spacing:.055em;
}
html body :is(.button,.text-button,.underlined-link,.discover-product){
  font-size:var(--type-control);font-weight:600;line-height:1.6;letter-spacing:.035em;
}
html body :is(.button,.underlined-link){gap:16px}
html body .button{white-space:normal;text-align:center}
html body :is(.campaign-description,.cabinet-copy,.atlas-copy,.detail-description,.information p,.story-content>p:not(.eyebrow),.contact-page>p:not(.eyebrow),.empty-state p,.ritual>p:not(.eyebrow)){
  font-size:var(--type-body);line-height:var(--leading-body);
}
html body :is(.section-copy,.page-intro>p:last-child:not(.eyebrow),.product-tagline,.collection-card p,.cart-summary>p:not(.eyebrow)){
  font-size:var(--type-secondary);line-height:var(--leading-body);
}
html body :is(.detail-description,.cabinet-copy,.atlas-copy,.story-content>p:not(.eyebrow),.contact-page>p:not(.eyebrow),.ritual>p:not(.eyebrow)){max-width:60ch}
html body :is(.small-muted,.image-caption,.detail-demo,.demo-caption,.results-meta,.search-result small,.detail-price>span,.contact-status){
  font-size:var(--type-label);line-height:var(--leading-label);color:var(--muted);
}
html body :is(.demo-caption,.detail-demo){margin-top:24px}
html body .announcement{
  height:auto;min-height:44px;padding-block:8px;display:grid;grid-template-columns:1fr auto;
  font-size:var(--type-caption);line-height:1.65;letter-spacing:.025em;gap:8px 24px;
}
html body .announcement-tagline{position:static;transform:none;display:none;font-size:inherit}
html body .announcement>span:last-child{font-size:inherit;white-space:nowrap}
html body :is(.desktop-nav a,.language-button){font-size:var(--type-control);font-weight:500;line-height:1.6;letter-spacing:.015em}
html body .language-button[lang="ar"]{font-family:'Noto Sans Arabic',Tahoma,sans-serif;letter-spacing:normal;line-height:1.85}
html body .language-button[lang="en"]{font-family:'Manrope',Arial,sans-serif;letter-spacing:normal}
html body .count{font-size:var(--type-caption);min-width:22px;height:22px;padding-inline:3px;top:0}
html body :is(.campaign,.scent-atlas,.site-footer){
  --focus-color:var(--gold);color:var(--on-dark);
}
html body :is(.campaign-description,.campaign-signature,.campaign-caption,.campaign-bottom,.atlas-copy,.atlas-footnote,.atlas-detail>p:not(.eyebrow),.atlas-notes span,.footer-brand small,.footer-bottom){color:var(--muted-on-dark)}
html body :is(.campaign-copy>.eyebrow,.atlas-intro>.eyebrow,.cabinet-intro>.eyebrow,.product-chapter,.ritual>.eyebrow,.atlas-detail>.eyebrow){
  font-size:var(--type-label);line-height:var(--leading-label);letter-spacing:.055em;font-weight:500;
}
html body :is(.campaign-signature,.campaign-caption,.campaign-bottom,.atlas-footnote,.atlas-edition,.product-chapter){
  font-size:var(--type-caption);line-height:1.7;letter-spacing:.035em;
}
html body .campaign-signature{align-items:flex-start}
html body .campaign-caption{flex-wrap:wrap}
html body .campaign-bottom{gap:20px;flex-wrap:wrap}
html body .campaign-bottom a{font-size:var(--type-label);min-height:44px}
html body .campaign-seal{width:132px;height:132px;inset-inline-start:-40px;transform:rotate(-8deg)}
html body .campaign-seal span{font-size:var(--type-caption);font-weight:500;line-height:1.4;letter-spacing:0;max-width:112px}
html body .campaign-seal>.icon{width:24px;height:24px}
html body .cabinet-intro{grid-template-columns:.75fr 1.55fr 1.2fr;gap:32px}
html body .product-name{font-size:var(--type-product);font-weight:500;line-height:1.3;overflow-wrap:anywhere}
html body .signatures-section .product-name{font-size:clamp(1.875rem,1.5rem + 1vw,2.375rem)}
html body .product-family>span{display:block;margin-inline:0;margin-top:4px}
html body .product-tagline{min-height:0;margin-block:12px 18px}
html body .product-bottom{align-items:flex-start;flex-direction:column;gap:8px;padding-top:15px}
html body .product-bottom>span{font-size:var(--type-price);line-height:1.6}
html body .product-bottom bdi{font-weight:500}
html body .product-bottom>.text-button{width:100%;justify-content:space-between;min-height:44px}
html body .product-badge{
  background:var(--cream);color:var(--ink);padding:7px 10px;top:12px;inset-inline-start:12px;
  max-width:calc(100% - 80px);line-height:1.5;letter-spacing:.025em;
}
html body .save-button{background:var(--cream);top:10px;inset-inline-end:10px;width:44px;height:44px;color:var(--ink)}
html body .discover-product{background:var(--cream);padding:16px}
html body :is(.collection-card,.story-image){--focus-color:var(--gold)}
html body .collection-card{min-height:440px;height:auto;overflow:visible}
html body .collection-card img,html body .collection-card::after{border-radius:inherit}
html body .collection-number{background:#151512f5;color:var(--on-dark);padding:7px 10px;align-self:flex-start}
html body .collection-card>div{background:#151512f5;padding:18px;color:var(--on-dark)}
html body .collection-card p{color:var(--muted-on-dark);max-width:none}
html body .collection-cta{color:var(--gold);gap:12px}
html body .collection-card h3{line-height:1.15;overflow-wrap:anywhere}
html body .mood-button{min-height:72px;color:var(--muted-on-dark)}
html body .mood-number{font-size:var(--type-label);line-height:1.6}
html body .atlas-detail h3{font-weight:500;line-height:1.2;overflow-wrap:anywhere}
html body .atlas-detail>p:not(.eyebrow){font-size:var(--type-secondary);line-height:var(--leading-body)}
html body .atlas-notes span{font-size:var(--type-label);line-height:var(--leading-label)}
html body .atlas-notes b{font-size:var(--type-secondary);line-height:var(--leading-body);color:var(--on-dark)}
html body .atlas-detail .underlined-link{font-size:var(--type-control);line-height:1.7;gap:12px}
html body .atlas-edition{background:var(--black);color:var(--on-dark)}
html body .atlas-image{min-height:500px}
html body .footer-brand small{font-size:var(--type-label);letter-spacing:0}
html body .footer-links h2{font-size:var(--type-label);line-height:1.6;letter-spacing:.055em}
html body .footer-links a{font-size:var(--type-secondary);line-height:1.65;color:var(--muted-on-dark);padding-block:4px}
html body .footer-bottom{font-size:var(--type-label);letter-spacing:0;line-height:1.8;flex-wrap:wrap}
html body .search-field input{font-size:var(--type-body);line-height:1.7;min-height:44px}
html body .search-field input::placeholder{color:var(--muted);opacity:1}
html body .filter-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:24px}
html body .filter-row select{font-size:var(--type-secondary);line-height:1.6;min-height:44px;padding-block:8px}
html body .results-meta{align-items:flex-start;flex-wrap:wrap;gap:12px 24px}
html body .results-meta>span:last-child{max-width:none}
html body .breadcrumb{font-size:var(--type-label);line-height:1.8;flex-wrap:wrap;gap:8px 13px}
html body .detail-tagline{color:#615a49;font-size:clamp(1.5rem,1.3rem + .4vw,1.75rem);font-weight:500;line-height:1.6}
html body .detail-price{font-size:var(--type-price);line-height:1.7;flex-wrap:wrap;gap:8px 18px}
html body .detail-price>bdi{font-weight:600}
html body .size-option{font-size:var(--type-secondary);font-weight:500;line-height:1.7;border-color:var(--control-border)}
html body :is(.quantity-control,.detail-save){border-color:var(--control-border)}
html body .quantity-control output{font-size:var(--type-secondary);line-height:1.7;min-width:30px}
html body .quantity-control .icon-button{width:44px;height:44px}
html body .purchase-row{flex-wrap:wrap}
html body .purchase-row>.button{flex:1 1 180px}
html body .notes>div>span{font-size:var(--type-label);line-height:1.7}
html body .notes p{font-size:var(--type-body);line-height:var(--leading-body)}
html body .notes small{font-size:var(--type-label);line-height:1.7;letter-spacing:.035em;margin-bottom:4px}
html body :is(.cart-item-info,.cart-summary,.detail-content,.atlas-detail,.footer-links){min-width:0}
html body .cart-item-info h2{font-size:var(--type-product);font-weight:500;line-height:1.3}
html body .cart-item-info>p:not(.eyebrow){font-size:var(--type-secondary);line-height:1.8}
html body .cart-item-info .small-muted{font-size:var(--type-label)}
html body .cart-item-actions{flex-wrap:wrap;gap:12px 20px}
html body .cart-item-actions .quantity-control{height:48px}
html body .line-total{font-size:var(--type-price);line-height:1.7;font-weight:500}
html body .summary-total{flex-wrap:wrap}
html body .summary-total h2{font-size:var(--type-secondary);line-height:1.7;font-weight:500}
html body .summary-total>bdi{font-size:var(--type-price);line-height:1.7;font-weight:600}
html body .cart-summary>.underlined-link{font-size:var(--type-control)}
html body .overlay>p:not(.eyebrow){font-size:var(--type-secondary);line-height:var(--leading-body)}
html body .search-result>span:not(.directional){min-width:0}
html body .search-result b{font-size:var(--type-product);font-weight:500;line-height:1.3;overflow-wrap:anywhere}
html body .field-label textarea,html body .field-label textarea[readonly]{font-size:var(--type-body);line-height:1.8;border-color:var(--control-border)}
html body .field-label textarea::placeholder{color:var(--muted);opacity:1}
html body .order-actions .button{font-size:var(--type-control)}
html body .toast{font-size:var(--type-secondary);line-height:1.7}
html body :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--focus-color);outline-offset:5px}
html[lang="ar"]{--leading-body:1.95;--leading-label:1.85}
html[lang="ar"] body #app *,html[lang="ar"] body #overlay *,html[lang="ar"] body #toast{letter-spacing:normal;word-spacing:normal}
html[lang="ar"] body :is(.product-name,.cart-item-info h2,.atlas-detail h3,.search-result b){font-weight:500;line-height:1.65}
html[lang="ar"] body .product-name{font-size:var(--type-product)}
html[lang="ar"] body .signatures-section .product-name{font-size:clamp(1.75rem,1.4rem + .7vw,2.125rem)}
html[lang="ar"] body .detail-tagline{font-size:var(--type-body);line-height:1.95}
@media(min-width:1300px){
  html body .announcement{grid-template-columns:1fr auto 1fr}
  html body .announcement-tagline{display:block}
  html body .announcement>span:last-child{justify-self:end}
}
@media(max-width:1100px){
  html body .nav-wrap{display:grid;grid-template-columns:44px minmax(54px,1fr) auto;gap:8px;height:auto;min-height:88px;padding-block:12px}
  html body .desktop-nav{display:none}
  html body .mobile-menu{display:inline-flex;margin:0}
  html body .brand{position:static;transform:none;justify-self:center}
  html body .nav-actions{margin:0;gap:0}
  html body .nav-actions .icon-button{width:44px;height:44px}
  html body .nav-actions .wishlist-nav{display:none}
  html body .language-button{font-size:var(--type-control);margin-inline-end:5px;padding:4px;white-space:nowrap}
  html body .cabinet-intro{grid-template-columns:.7fr 1.3fr;gap:26px}
  html body .cabinet-copy{grid-column:2}
  html body .atlas-layout{grid-template-columns:1fr 1fr;gap:36px}
  html body .scent-chapter{grid-template-columns:minmax(0,1fr)}
  html body .atlas-image{height:380px;min-height:0}
  html body .atlas-notes{display:block}
  html body .section-heading{flex-wrap:wrap}
  html body .section-heading>.underlined-link{max-width:none}
  html body .collection-card{min-height:500px}
  html body .cart-layout{grid-template-columns:minmax(0,1fr)}
  html body .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .reset-filters{grid-column:1/-1;justify-self:start}
}
@media(max-width:800px){
  html body .campaign{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  html body .campaign-seal{width:126px;height:126px;inset-inline-start:-20px}
  html body .campaign-caption{flex-direction:column;gap:8px}
  html body .story-panel{grid-template-columns:minmax(0,1fr)}
  html body .story-image{min-height:400px}
  html body .story-full .story-image{min-height:480px}
  html body .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .signatures-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  html body .product-name{font-size:var(--type-product)}
  html body .signatures-section .product-name{font-size:var(--type-product)}
  html body .collection-grid,html body .collections-section .collection-grid{grid-template-columns:minmax(0,1fr)}
  html body .collections-section .collection-card:nth-child(n){margin-top:0}
  html body .collection-card,html body .collections-section .collection-card{aspect-ratio:5/4;min-height:470px}
  html body .collections-section .collection-card:nth-child(2){border-radius:44% 44% 0 0}
  html body .product-detail{grid-template-columns:minmax(0,1fr)}
  html body .detail-description{max-width:65ch}
}
@media(max-width:600px){
  html body .announcement{grid-template-columns:minmax(0,1fr);text-align:center;gap:2px}
  html body .announcement>span:last-child{white-space:normal}
  html body .campaign{grid-template-columns:minmax(0,1fr)}
  html body .campaign-copy>.eyebrow{margin-bottom:28px}
  html body .campaign-description{margin-block:26px}
  html body .campaign-description br{display:initial}
  html body .campaign-art{margin-top:38px}
  html body .campaign-seal{width:120px;height:120px;inset-inline-start:-20px;top:48%}
  html body .campaign-seal span{max-width:100px}
  html body .campaign-bottom{align-items:flex-start;gap:8px}
  html body .campaign-bottom>a{width:100%;justify-content:space-between}
  html body .cabinet-intro{display:block}
  html body .cabinet-copy{margin-top:26px}
  html body .signatures-section .product-bottom{flex-direction:column;align-items:flex-start}
  html body .signatures-section .product-bottom>.text-button{width:100%}
  html body .signatures-section .product-bottom>span{font-size:var(--type-price)}
  html body .product-grid:not(.related-grid)>.product-card:last-child:nth-child(odd){max-width:none;grid-column:auto}
  html body .catalog .product-grid,html body .wishlist-section .product-grid,html body .related-grid{grid-template-columns:minmax(0,1fr)}
  html body .related-grid>.product-card:last-child:nth-child(odd){max-width:none}
  html body .product-badge{position:absolute;margin:0;top:12px;inset-inline-start:12px}
  html[lang="ar"] body .product-badge{margin:0}
  html body .atlas-layout{grid-template-columns:minmax(0,1fr);gap:36px}
  html body .atlas-image{height:400px;min-height:0}
  html body .scent-chapter{gap:26px}
  html body .atlas-detail h3{font-size:2rem}
  html body .atlas-notes li{padding-block:14px}
  html body .atlas-edition{padding-block:12px}
  html body .collection-card,html body .collections-section .collection-card:nth-child(n){aspect-ratio:auto;min-height:500px;gap:100px}
  html body .collection-card h3{font-size:40px}
  html body .collection-card>div{padding:16px}
  html body .footer-top{grid-template-columns:minmax(0,1fr);gap:36px}
  html body .footer-brand{grid-column:auto}
  html body .footer-links{gap:8px}
  html body .footer-links a{min-height:44px}
  html body .footer-bottom{flex-direction:column}
  html body .filter-row{gap:18px}
  html body .page-intro>p:last-child:not(.eyebrow){max-width:40ch}
  html body .cart-item{grid-template-columns:70px minmax(0,1fr);gap:18px}
  html body .cart-item>a img{width:70px;height:105px}
  html body .cart-item-actions{gap:8px}
  html body .cart-item-actions .quantity-control{grid-column:1/-1}
  html body .cart-summary{padding:24px}
  html body .cart-summary>.button{padding-inline:12px}
  html body .order-actions .button{width:100%}
  html body .search-result{gap:14px}
  html body .search-result>img{width:54px;height:75px}
  html body .search-result>.directional{display:none}
  html body .search-result b{font-size:1.625rem}
  html body .information article{grid-template-columns:minmax(0,1fr);gap:10px}
}
@media(max-width:360px){
  html body .nav-wrap{gap:4px}
  html body .language-button{margin-inline-end:0;padding-inline:2px}
  html body .nav-actions .icon-button{width:44px}
  html body .filter-row{grid-template-columns:minmax(0,1fr)}
  html body .cart-item{grid-template-columns:60px minmax(0,1fr);gap:14px}
  html body .cart-item>a img{width:60px;height:95px}
  html body .cart-item-actions{margin-inline-start:-74px}
}
