/* iCalm / Editorial Commerce. Loaded last: shared tokens, not a second app. */
:root {
  --bg:#f7f9fc; --surface:#fff; --ink:#17283b; --muted:#526478;
  --line:#d9e2eb; --accent:#2c587e; --soft:#edf3f8;
  --button:#203f5c; --on-button:#fff; --focus:#22659d;
  --control-border:#8599ae; --error:#a52637; --success:#285e6f;
  --radius:6px; --panel:#fff; --panel-shadow:0 12px 36px #18334d08;
  --header-bg:#f7f9fcf5; --note-bg:#edf4fa; --note-line:#bed3e5;
  --section-space:clamp(3.5rem,6vw,5.5rem);
  --nm-photo-brand:#456480; --nm-photo-line:#d8e4ed;
  --nm-photo-backdrop:linear-gradient(145deg,#f2f7fc,#e5eef6);
}
:root[data-theme=dark] {
  --bg:#0c1420; --surface:#111e2c; --ink:#edf4fc; --muted:#a9bdd0;
  --line:#2c4054; --accent:#b8dcff; --soft:#1a2b3e;
  --button:#c1dfff; --on-button:#11263a; --focus:#91cdff;
  --control-border:#69839c; --error:#ffb0ba; --success:#a1d9e7;
  --panel:#142334; --panel-shadow:0 16px 40px #0002;
  --header-bg:#0c1420f5; --note-bg:#152b3e; --note-line:#355570;
  --nm-photo-brand:#bbd7ef; --nm-photo-line:#2d455c;
  --nm-photo-backdrop:linear-gradient(145deg,#1b3045,#111d2c);
}
@media(prefers-color-scheme:dark) {
 :root:not([data-theme]) {
  --bg:#0c1420; --surface:#111e2c; --ink:#edf4fc; --muted:#a9bdd0;
  --line:#2c4054; --accent:#b8dcff; --soft:#1a2b3e;
  --button:#c1dfff; --on-button:#11263a; --focus:#91cdff;
  --control-border:#69839c; --error:#ffb0ba; --success:#a1d9e7;
  --panel:#142334; --panel-shadow:0 16px 40px #0002;
  --header-bg:#0c1420f5; --note-bg:#152b3e; --note-line:#355570;
  --nm-photo-brand:#bbd7ef; --nm-photo-line:#2d455c;
  --nm-photo-backdrop:linear-gradient(145deg,#1b3045,#111d2c);
 }
}
html {scroll-padding-top:130px; scrollbar-gutter:stable}
body {line-height:1.65; text-rendering:optimizeLegibility}
main {min-height:55vh}
img {max-width:100%}
h1,h2,h3 {text-wrap:balance}
h1,h2 {letter-spacing:-.038em}
h1 {font-size:clamp(2.5rem,4.9vw,4.7rem); line-height:1.08; margin-bottom:1.35rem}
h2 {font-size:clamp(1.9rem,3vw,3rem); margin-bottom:1.65rem}
p {text-wrap:pretty}
.container {width:min(1200px,calc(100% - 80px))}
.section {padding:var(--section-space) 0}
.section-heading {align-items:center; margin-bottom:2rem}
.section-heading>a,.text-link {min-height:44px; display:inline-flex; align-items:center; gap:.6rem}
.lead,.block-intro {font-size:1rem; line-height:1.75; max-width:60ch}
.eyebrow,.card-index,.product-card-eyebrow,.art-label,.art-note,.hero-minor {font-size:.73rem; line-height:1.6; letter-spacing:.12em}
.quiet,.fineprint {font-size:.875rem; line-height:1.65}
.prose {max-width:800px}
.prose p {font-size:1rem; line-height:1.85}
.page-title {min-height:0}
.page-title .lead {margin-bottom:0}
:where(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--focus); outline-offset:4px}
.button {min-height:48px; border-radius:var(--radius); font-size:.875rem; line-height:1.35; padding:.85rem 1.2rem; gap:.9rem; transition:background .18s,border-color .18s,box-shadow .18s}
.button:hover {text-decoration:none; box-shadow:0 4px 14px #2448641c}
.button-outline {border-color:var(--control-border); background:transparent}
.button-outline:hover {background:var(--soft)}
.button:active {transform:translateY(1px)}
.button:disabled {box-shadow:none; transform:none; opacity:1}
.site-header {position:sticky; top:0; z-index:30; background:var(--header-bg); backdrop-filter:blur(14px)}
.header-inner {min-height:84px; flex-wrap:nowrap; gap:2rem}
.brand {font-size:1.7rem; line-height:1; min-height:44px; display:inline-flex; align-items:center; flex-shrink:0}
.brand-mark {color:var(--ink)}
.main-nav {gap:1.7rem; flex-wrap:nowrap; margin-inline:auto}
.main-nav a {font-size:.875rem; position:relative; gap:.4rem; white-space:nowrap}
.main-nav a[aria-current] {text-decoration:none}
.main-nav a[aria-current]::after {content:""; position:absolute; left:0; right:0; bottom:3px; height:2px; background:var(--accent)}
.theme-control select {font-size:.8rem; border:1px solid var(--line); background:var(--surface); border-radius:var(--radius); padding:.5rem .65rem; min-height:44px; max-width:126px}
.cart-nav-count {min-width:1.35rem; height:1.35rem; display:inline-grid; place-items:center; padding:0 .25rem; line-height:1; border-radius:50%; font-size:.72rem; background:var(--button); color:var(--on-button)}
.storefront-status {background:var(--soft); color:var(--muted); text-align:center; font-size:.78rem; line-height:1.5; padding:.55rem 1.25rem; border-bottom:1px solid var(--line)}
.storefront-status span {color:var(--ink); font-weight:600}
.hero-inner {min-height:600px; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:7%; padding-block:3.25rem}
.hero-content {padding:1.5rem 0}
.hero-content h1 {max-width:15ch}
.hero-content .eyebrow {margin-bottom:1.5rem}
.hero-content .lead {max-width:46ch}
.hero-minor {margin-top:2rem; margin-bottom:0}
.hero-actions {margin-top:1.6rem; gap:.75rem}
.hero-product-visual {min-height:480px; margin:0; padding:1.4rem; border:1px solid var(--nm-photo-line); border-radius:10px; position:relative; overflow:hidden; box-shadow:var(--panel-shadow)}
.hero-product-visual::before,.hero-product-visual::after {display:none}
.hero-product-visual .art-label,.hero-product-visual .art-note {position:relative; line-height:1.6; max-width:100%; color:var(--nm-photo-brand)}
.hero-product-visual .art-note {font-size:.7rem; letter-spacing:.06em; margin-top:1rem; text-transform:none}
.hero-product-photo {display:flex; justify-content:center; align-items:center; flex:1; min-height:0; width:100%; margin-block:1rem}
#home-hero .hero-product-photo img,#magnesium-hero .hero-product-photo img {max-height:390px; width:100%; height:100%; max-width:100%; object-fit:contain; filter:none; border:0; box-shadow:none; border-radius:5px}
.theme-photo {display:block; width:100%; line-height:0}
.theme-photo img {display:block; width:100%; height:auto}
.hero-product-photo .theme-photo {width:auto; max-width:100%; height:390px}
#home-campaign .gallery-item {grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(2rem,6vw,5rem); padding-top:1.5rem}
#home-campaign .gallery-item>a {width:100%; max-width:480px; margin:0; border-radius:10px; box-shadow:var(--panel-shadow)}
#home-campaign .gallery-item img {max-height:540px; width:100%; height:auto; object-fit:contain}
#home-campaign .gallery-item figcaption strong {font-size:clamp(2rem,3vw,3rem)}
#home-campaign .gallery-item figcaption span {font-size:1rem}
#magnesium-creative-gallery .gallery-item {border:0; padding:0}
#magnesium-creative-gallery .gallery-item>a {border-radius:8px}
#magnesium-creative-gallery .gallery-item figcaption span {font-size:.875rem; line-height:1.65}
.editorial-link-card {padding:1.4rem; min-height:250px; background:var(--panel); border:1px solid var(--line); border-radius:8px}
.editorial-card-body {margin:1.3rem 0}
.editorial-card-body h3 {font-size:1.65rem; line-height:1.25}
.editorial-card-body p {font-size:.9rem; margin-bottom:0}
.editorial-card-link {min-height:44px; padding-top:.8rem}
.block-card-grid,.feature-grid,.trust-grid {gap:1.5rem}
.block-steps {gap:1.5rem; grid-template-columns:repeat(3,minmax(0,1fr))}
.block-steps:has(>li:nth-child(4):last-child) {grid-template-columns:repeat(4,minmax(0,1fr))}
.block-steps li {padding:1.4rem 0 0}
.step-number {width:2rem; height:2rem; display:grid; place-items:center; background:var(--soft); border:1px solid var(--line); border-radius:50%; margin-bottom:1.2rem; font-size:.8rem; font-variant-numeric:tabular-nums}
.block-steps h3 {font-size:1rem; margin-bottom:.7rem}
.block-steps p {font-size:.9rem; margin-bottom:0}
.comparison-scroll {border:1px solid var(--line); border-radius:8px; background:var(--panel)}
.comparison-table {font-size:.925rem; line-height:1.6}
.comparison-table th,.comparison-table td {padding:1.15rem 1.25rem; overflow-wrap:break-word}
.comparison-table tbody tr:last-child>* {border-bottom:0}
.comparison-table th:first-child {width:24%}
.comparison-table tbody th {font-weight:600}
.comparison-table tbody td {color:var(--muted)}
.faq,.ui-accordion {background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:1.2rem 0}
.faq summary,.ui-accordion summary {font-size:1rem; font-weight:550; min-height:44px; display:flex; align-items:center; padding:.2rem 3rem .2rem 0; line-height:1.55}
.faq summary::after,.ui-accordion summary::after {width:1.9rem; height:1.9rem; display:grid; place-items:center; top:50%; transform:translateY(-50%); background:var(--soft); border:1px solid var(--line); border-radius:50%; font-size:1.1rem}
.faq p,.ui-accordion p {font-size:.95rem; line-height:1.75; margin:.9rem 0 .4rem; max-width:76ch}
.block-cta {border:1px solid var(--line); border-radius:10px; background:var(--panel); padding:2.5rem; gap:2rem}
.block-cta h2 {font-size:clamp(1.9rem,2.9vw,2.8rem); margin-bottom:.75rem}
.block-cta p {font-size:.925rem}
.catalog-showcase-intro {padding-top:2rem; margin-top:2.25rem; gap:2rem}
.catalog-showcase-intro h2 {font-size:clamp(1.85rem,3vw,2.9rem)}
.catalog-showcase-intro p {font-size:.875rem; max-width:34ch; line-height:1.7}
.product-preview-grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; align-items:stretch}
.product-preview-card {display:flex; flex-direction:column; border:0; padding:0; margin:0; background:var(--panel); border-radius:9px; box-shadow:0 0 0 1px var(--line); overflow:hidden; min-width:0}
.product-preview-card .product-preview-media {display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/5; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:0; box-shadow:none; background:var(--nm-photo-backdrop); overflow:hidden; position:relative; text-decoration:none}
.product-preview-media::before,.product-preview-media::after {display:none}
.product-preview-media img {width:100%; height:100%; object-fit:cover; object-position:center; max-width:100%; padding:0; filter:none; transform:none}
.product-preview-media .theme-photo {height:100%; width:100%}
.product-preview-card:hover .product-preview-media img {transform:none}
.product-preview-media:focus-visible {outline-offset:-4px; z-index:1}
.product-preview-size {position:absolute; top:.75rem; right:.75rem; z-index:2; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:4px; padding:.25rem .55rem; font-size:.8rem; font-weight:600; line-height:1.6; box-shadow:0 2px 6px #1527370d}
.product-preview-zoom {position:absolute; bottom:.7rem; left:.7rem; z-index:2; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--surface); font-size:1rem; line-height:1}
.product-preview-card .product-info {padding:1.25rem; display:flex; flex-direction:column; flex:1; min-width:0}
.product-preview-card .product-card-eyebrow {font-size:.68rem; letter-spacing:.09em; margin-bottom:.5rem}
.product-preview-card h3 {font:400 clamp(1.25rem,1.65vw,1.55rem)/1.25 var(--serif); letter-spacing:-.025em; margin:0 0 .75rem; text-wrap:balance}
.product-preview-card .product-preview-description {font-size:.875rem; line-height:1.6; max-width:none; margin:0 0 1rem; color:var(--muted)}
.product-preview-card .product-preview-price {font:400 1.6rem/1.3 var(--serif); letter-spacing:-.02em; font-variant-numeric:tabular-nums; margin:auto 0 .65rem; color:var(--ink)}
.product-preview-card .product-preview-provenance {font-size:.75rem; line-height:1.6; margin:0 0 1rem; color:var(--muted)}
.product-preview-buy-form {margin:0; display:block; width:100%}
.product-preview-buy-form .button {width:100%; justify-content:space-between}
.product-preview-card .product-preview-trial-note {font-size:.75rem; line-height:1.6; margin:.75rem 0 0; color:var(--muted)}
.showcase-note {font-size:.8rem; line-height:1.7; margin-top:1.8rem; padding-top:1.25rem; color:var(--muted); border-top:1px solid var(--line)}
.product-breadcrumb {font-size:.8rem; margin-bottom:1.4rem; align-items:center}
.product-breadcrumb a {min-height:36px; display:inline-flex; align-items:center}
.commerce-progress {display:flex; flex-wrap:wrap; list-style:none; margin:0 0 1.75rem; padding:0; gap:1.3rem; font-size:.8rem; color:var(--muted)}
.commerce-progress li {display:flex; align-items:center; gap:.5rem; min-height:36px}
.commerce-progress span {display:inline-grid; place-items:center; border:1px solid var(--line); border-radius:50%; width:1.6rem; height:1.6rem; font-size:.72rem; font-variant-numeric:tabular-nums}
.commerce-progress [aria-current] {color:var(--ink); font-weight:600}
.commerce-progress [aria-current] span {background:var(--button); color:var(--on-button); border-color:var(--button)}
.commerce-heading {margin-bottom:2rem}
.commerce-heading h1 {margin-bottom:.8rem}
.commerce-heading p {margin:0; color:var(--muted); font-size:.95rem}
.checkout-cart-page>.container {max-width:1200px}
.cart-layout,.checkout-columns {display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:2.5rem; align-items:start}
.cart-main,.checkout-primary {min-width:0}
.cart-preview-notice {padding:1rem 1.2rem; margin:0 0 1.6rem; border:1px solid var(--note-line); border-left:3px solid var(--accent); border-radius:6px; background:var(--note-bg); color:var(--ink)}
.cart-preview-notice strong {font-size:.875rem; line-height:1.5; display:block}
.cart-preview-notice p {font-size:.85rem; color:var(--muted); line-height:1.65; margin:.4rem 0 0}
.cart-items-list {border-top:1px solid var(--line)}
.cart-order-item {display:grid; grid-template-columns:100px minmax(0,1fr) auto; gap:1.2rem; padding:1.5rem 0; align-items:start; border-bottom:1px solid var(--line)}
.cart-order-media {width:100px; height:125px; aspect-ratio:4/5; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--soft)}
.cart-order-media img,.cart-order-media .theme-photo {width:100%; height:100%; object-fit:cover}
.cart-order-info {min-width:0}
.cart-order-info h2 {font:400 1.45rem/1.3 var(--serif); letter-spacing:-.025em; margin:0 0 .4rem}
.cart-order-info>p {font-size:.85rem; color:var(--muted); margin:0 0 .85rem}
.cart-order-amount {font-size:.95rem; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; padding-top:.2rem}
.cart-quantity-form {display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0}
.cart-quantity-form label {font-size:.8rem; color:var(--muted); margin-right:.25rem}
.cart-quantity-form select {min-height:44px; padding:.45rem .6rem; width:68px; border:1px solid var(--control-border); border-radius:5px; background:var(--surface)}
.cart-quantity-form .button {min-height:44px; padding:.6rem .8rem; font-size:.8rem}
.cart-remove-form {margin-top:.35rem}
.cart-remove-form .text-link {padding:.35rem 0; min-height:40px; border:0; background:transparent; color:var(--muted); cursor:pointer; font-size:.8rem; font-weight:400; text-decoration:underline; text-underline-offset:3px}
.cart-order-actions {display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem}
.order-panel,.checkout-summary {background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:1.6rem; box-shadow:var(--panel-shadow); position:sticky; top:110px; min-width:0}
.order-panel h2,.checkout-summary h2 {font:400 1.8rem/1.2 var(--serif); letter-spacing:-.025em; margin:0 0 1.5rem}
.order-panel .button {width:100%; margin-top:1.25rem; justify-content:space-between}
.order-panel .quiet,.checkout-summary .quiet {font-size:.8rem; line-height:1.7; margin:.9rem 0 0}
.order-panel dl {font-size:.875rem; margin:0}
.order-panel dl>div {display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0}
.order-panel dd {margin:0; text-align:right}
.order-panel dt {color:var(--muted)}
.cart-order-total,.checkout-summary-total {display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:.7rem; margin:1rem 0 0; padding-top:1.1rem; border-top:1px solid var(--line); font-size:.85rem}
.cart-order-total strong,.checkout-summary-total strong {font:400 1.85rem/1.25 var(--serif); white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.02em}
.cart-empty {max-width:660px; margin:1rem auto; text-align:center; padding:3rem 2rem; background:var(--panel); border:1px solid var(--line); border-radius:12px}
.cart-empty svg {width:52px; height:52px; color:var(--accent); margin-bottom:1.25rem}
.cart-empty h2 {font-size:2rem; margin-bottom:.9rem}
.cart-empty p {max-width:42ch; color:var(--muted); margin:0 auto 1.5rem; font-size:.95rem}
.checkout-primary .checkout-form {padding:1.6rem; border:1px solid var(--line); border-radius:10px; background:var(--panel); gap:1.3rem}
.checkout-form h2 {font:400 1.7rem/1.2 var(--serif); margin:0 0 .2rem; letter-spacing:-.025em}
.checkout-form>p {font-size:.875rem; color:var(--muted); margin:0}
.checkout-form fieldset {display:grid; gap:.6rem; border:0; padding:0; margin:0; min-inline-size:0}
.checkout-form fieldset input {margin-bottom:.65rem}
.checkout-form fieldset .quiet {margin:.6rem 0 1rem}
.checkout-form fieldset:disabled {opacity:1}
.checkout-form input:not([type=checkbox]),.checkout-form textarea {font-size:1rem; min-height:50px; border-radius:5px; background:var(--surface); border-color:var(--control-border); padding:.8rem .9rem; box-shadow:none}
.checkout-form input::placeholder {color:var(--muted); opacity:1}
.checkout-form input:disabled {background:var(--soft); color:var(--muted); -webkit-text-fill-color:var(--muted); opacity:1; cursor:not-allowed}
.checkout-form .checkline {line-height:1.65; font-size:.85rem!important; display:block!important; position:relative; padding-left:1.9rem}
.checkout-form .checkline input {position:absolute; top:.12rem; left:0; margin:0; width:1.1rem; height:1.1rem; accent-color:var(--accent)}
.checkout-summary-line {display:flex; gap:1rem; justify-content:space-between; padding:1rem 0; border-bottom:1px solid var(--line); font-size:.875rem; align-items:start}
.checkout-summary-line>strong {font-variant-numeric:tabular-nums; font-size:.85rem; white-space:nowrap}
.checkout-summary-line p {font-size:.8rem; line-height:1.5; margin:.4rem 0 0; color:var(--muted)}
.ui-error-summary {border:1px solid var(--error); border-radius:6px; padding:1rem; color:var(--error); background:var(--panel)}
.site-footer {padding:3rem 0 1.6rem}
.footer-inner {gap:2rem}
.footer-inner>div:first-child {max-width:48ch}
.footer-inner p,.footer-inner a,.footnote {font-size:.8rem; line-height:1.7}
.footer-inner>div:last-child {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem 2rem}
.footer-inner a {min-height:36px; display:inline-flex; align-items:center}
.footnote {margin-top:2rem; padding-top:1.25rem; display:flex; flex-wrap:wrap; gap:.5rem 2rem; justify-content:space-between}
.toast {z-index:60; border-radius:8px; box-shadow:0 8px 28px #0002; font-size:.875rem}
[aria-busy=true] {cursor:progress}
@media(min-width:1001px) {#home-intro,#magnesium-intro {padding-block:3.5rem}}
@media(max-width:1100px) {
 .header-inner{gap:1rem}.main-nav{gap:1.15rem}.theme-control>span{display:none}
 .product-preview-grid{gap:1rem}.product-preview-card .product-info{padding:1rem}
 .cart-layout,.checkout-columns{grid-template-columns:minmax(0,1fr) 310px;gap:1.5rem}
 .cart-order-item{grid-template-columns:88px minmax(0,1fr);gap:1rem}.cart-order-media{width:88px;height:110px}.cart-order-amount{grid-column:2;padding:0}
 .block-steps:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px) {
 .container{width:calc(100% - 48px)}.hero-inner{gap:5%;min-height:520px;padding-block:2.5rem}
 .hero-product-visual{min-height:400px;padding:1rem}.hero-product-photo .theme-photo{height:310px}
 #home-hero .hero-product-photo img,#magnesium-hero .hero-product-photo img{max-height:310px}
 .product-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
 .product-preview-card .product-info{padding:1.3rem}.product-preview-card h3{font-size:1.6rem}
 .product-preview-card .product-preview-media{aspect-ratio:1}
 .block-card-grid{gap:1rem}.editorial-link-card{padding:1.1rem}.editorial-card-body h3{font-size:1.45rem}
 .cart-layout{grid-template-columns:minmax(0,1fr) 290px;gap:1.25rem}
 .checkout-columns{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .checkout-summary{position:static}
 .order-panel,.checkout-summary{padding:1.25rem}
}
@media(max-width:760px) {
 html{scroll-padding-top:150px}.container{width:calc(100% - 40px)}.section{padding:3rem 0}
 .header-inner{min-height:0;flex-wrap:wrap;padding:.65rem 0 .35rem;gap:.2rem 1rem}.brand{font-size:1.5rem}.theme-control{margin-left:auto;order:2}.main-nav{order:3;flex:0 0 100%;justify-content:space-between;gap:.6rem;margin:0}.main-nav a{font-size:.82rem;min-height:44px}
 .storefront-status{font-size:.72rem;padding:.5rem 1.25rem}.storefront-status span{display:inline}
 .hero-inner{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem}.hero-content{padding:0}.hero-content h1{font-size:clamp(2.5rem,9vw,3.6rem);max-width:18ch}.hero-content .eyebrow{margin-bottom:1rem}.hero-actions{margin-top:1.3rem}.hero-actions .button{flex:0 1 auto}.hero-minor{margin-top:1.4rem}
 .hero-product-visual{max-width:480px;width:100%;margin-inline:auto;min-height:0;padding:1rem}.hero-product-photo .theme-photo{height:340px}.hero-product-photo{margin:.5rem 0}
 #home-hero .hero-product-photo img,#magnesium-hero .hero-product-photo img{max-height:340px}
 .hero-product-visual .art-label{font-size:.68rem}.hero-product-visual .art-note{margin-top:.6rem}
 #home-campaign .gallery-item{grid-template-columns:1fr;gap:1.5rem;padding-top:1.25rem}.block-intro{margin-bottom:1.75rem}
 #home-campaign .gallery-item>a{max-width:480px;margin-inline:auto}.gallery-item figcaption{padding:.5rem 0}.gallery-item figcaption span{font-size:.9rem}
 #magnesium-creative-gallery .block-gallery{gap:1rem}
 #magnesium-creative-gallery .gallery-item figcaption span{font-size:.8rem}
 .block-card-grid,.feature-grid,.trust-grid{grid-template-columns:1fr}.editorial-link-card{min-height:0;padding:1.4rem}.editorial-card-body{margin:.9rem 0}.editorial-card-body h3{font-size:1.65rem}
 .block-steps{grid-template-columns:1fr;gap:1.3rem}.block-steps:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.block-steps li{padding-top:1.2rem}.step-number{margin-bottom:.8rem}
 .section-heading{flex-direction:row;align-items:center;gap:1rem}.section-heading h2{max-width:19ch}.section-heading>a{font-size:.8rem;flex-shrink:0}
 .block-cta{padding:1.7rem;gap:1.3rem;flex-direction:column;align-items:start}.block-cta .button{width:100%}
 .comparison-table{font-size:.825rem}.comparison-table th,.comparison-table td{padding:.85rem .65rem}.comparison-table th:first-child{width:23%}
 .catalog-showcase-intro{padding-top:1.5rem;margin-top:1.75rem;gap:.8rem}.catalog-showcase-intro p{max-width:none}
 .product-preview-grid{gap:1rem}.product-preview-card .product-info{padding:1rem}.product-preview-card h3{font-size:1.3rem}.product-preview-card .product-preview-description{font-size:.8rem}.product-preview-card .product-preview-price{font-size:1.4rem}.product-preview-card .product-preview-provenance,.product-preview-card .product-preview-trial-note{font-size:.75rem}
 .product-preview-size{top:.5rem;right:.5rem;font-size:.75rem}.product-preview-card .product-card-eyebrow{font-size:.66rem;letter-spacing:.05em}.product-preview-buy-form .button{font-size:.85rem;padding:.8rem;gap:.5rem}
 .cart-layout,.checkout-columns{grid-template-columns:1fr;gap:1.5rem}.order-panel,.checkout-summary{position:static;padding:1.5rem}.cart-order-item{grid-template-columns:90px minmax(0,1fr);gap:.9rem;padding:1.2rem 0}.cart-order-media{width:90px;height:112px}.cart-order-info h2{font-size:1.3rem}.cart-order-amount{grid-column:2}
 .commerce-heading{margin-bottom:1.5rem}.commerce-progress{gap:.7rem;margin-bottom:1.2rem;font-size:.75rem}.commerce-progress li{gap:.35rem}.commerce-progress span{width:1.45rem;height:1.45rem;font-size:.65rem}
 .checkout-primary .checkout-form{padding:1.3rem}.checkout-demo-form{margin-top:0}.cart-preview-notice{padding:.9rem 1rem;margin-bottom:1.25rem}.cart-empty{padding:2.5rem 1.4rem}
 .footer-inner{flex-direction:column;gap:1.4rem}.footer-inner>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px;gap:0 1.5rem}.site-footer{padding-top:2rem}.footnote{margin-top:1.5rem;font-size:.75rem}
}
@media(max-width:420px) {
 .container{width:calc(100% - 32px)}.product-preview-grid{gap:.8rem}.product-preview-card .product-info{padding:.85rem}.product-preview-card h3{font-size:1.25rem}.product-preview-card .product-preview-price{font-size:1.3rem}.product-preview-card .product-preview-media{aspect-ratio:4/5}
 .hero-product-photo .theme-photo{height:300px}#home-hero .hero-product-photo img,#magnesium-hero .hero-product-photo img{max-height:300px}
 .comparison-scroll{overflow-x:auto}.comparison-table{min-width:580px}.comparison-scroll:focus-visible{outline-offset:3px}
 .cart-quantity-form label{flex-basis:100%}.cart-quantity-form{gap:.4rem}.cart-order-info h2{font-size:1.2rem}
 .section-heading{flex-direction:column;align-items:start;gap:.3rem}.section-heading h2{max-width:none}
 .block-steps:has(>li:nth-child(4):last-child){grid-template-columns:1fr}
}
@media(max-width:359px) {
 .product-preview-grid{grid-template-columns:1fr}.product-preview-card .product-preview-media{aspect-ratio:1}.product-preview-card h3{font-size:1.55rem}.product-preview-card .product-info{padding:1.25rem}.product-preview-card .product-preview-description{font-size:.875rem}.product-preview-card .product-preview-price{font-size:1.6rem}
 .main-nav a{font-size:.75rem}.main-nav{gap:.4rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.commerce-progress{gap:.45rem;font-size:.7rem}.commerce-progress span{display:none}.cart-order-item{grid-template-columns:76px minmax(0,1fr)}.cart-order-media{width:76px;height:95px}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}.button,.theme-photo img{transition:none;animation:none}}
@media print {.site-header,.storefront-status,.site-footer,.cart-order-actions,.theme-control,.toast{display:none!important}.section{padding:1rem 0}.container{width:100%}.order-panel,.checkout-summary{position:static;box-shadow:none}}

/* Reviewed against legacy commerce rules: no clipped controls or competing widths. */
.product-preview-card .product-preview-buy-form {margin:0;width:100%}
.product-preview-card .product-preview-buy-form .button {min-width:0;width:100%;max-width:100%}
.cart-order-media {min-width:0}
.cart-quantity-form select {min-width:0}
.checkout-primary .checkout-form {max-width:none;margin-top:0}
.checkout-columns {margin-top:0}
.checkout-form .button {max-width:none;width:100%}
.checkout-primary .checkline {padding:.4rem 0 .4rem 1.9rem}
.checkout-primary .checkline input {top:.6rem}
.summary-edit {margin-top:.75rem;font-size:.85rem}
.hero-product-photo .theme-photo {width:100%;max-height:none}
#home-hero .hero-product-photo img,#magnesium-hero .hero-product-photo img {height:100%;width:100%;aspect-ratio:auto}
#home-overview,#magnesium-overview {padding-block:3.5rem}
.ui-photo-dialog {max-width:780px;border-radius:12px;padding:1.3rem;box-shadow:0 20px 90px #0005}
.ui-photo-dialog h2 {padding-right:7rem;font-size:1.05rem;line-height:1.5;letter-spacing:0;font-family:var(--sans);text-wrap:pretty}
.ui-photo-dialog form {position:absolute;right:1.2rem;top:1rem;margin:0}
.ui-photo-dialog .button {min-height:40px;font-size:.8rem;padding:.5rem .8rem}
.ui-photo-dialog img {max-height:72dvh;width:auto;max-width:100%;border-radius:6px}
.ui-photo-dialog::backdrop {background:rgba(3,12,23,.78);backdrop-filter:blur(5px)}
@media(max-width:760px){
 .checkout-summary {order:0}
 #home-overview,#magnesium-overview {padding-block:2.5rem}
 .hero-product-photo {min-height:0;max-height:none;padding:0}
}
@media(max-width:420px){.product-preview-card .product-card-eyebrow{display:none}.product-preview-card h3{font-size:1.2rem}.product-preview-card .product-preview-description{font-size:.8rem;line-height:1.55}}
@media(min-width:421px){.product-preview-card .product-preview-description{min-height:2.8em}}
.product-preview-card .product-preview-media {aspect-ratio:4/5}

/* iCalm brand monogram: dark-backed mark readable in Light and Dark. */
.brand{gap:.42rem;color:var(--ink);font-weight:650;letter-spacing:-.055em;text-decoration:none}
.brand:hover,.footer-brand:hover{text-decoration:none}
.brand-symbol{display:block;width:38px;height:38px;flex:0 0 auto;border-radius:10px}
.brand-name{display:inline-block;transform:translateY(-.5px)}
.footer-brand{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;color:var(--ink);font-size:1.28rem;font-weight:650;line-height:1;letter-spacing:-.055em;text-decoration:none}
.footer-brand img{width:30px;height:30px;border-radius:8px}
@media(max-width:760px){.brand-symbol{width:34px;height:34px}.brand{gap:.35rem}}

/* Refined owner-approved identity, independent of system serif fallback. */
.brand-image, .footer-brand-image {text-decoration:none; padding:0; flex-shrink:0; min-width:0}
.brand-image .brand-picture{display:block;width:clamp(142px,12vw,176px);line-height:0}
.footer-brand-image .brand-picture{display:block;width:162px;line-height:0}
.brand-image .brand-picture img,.footer-brand-image .brand-picture img{display:block;width:100%;height:auto;object-fit:contain;border:0;filter:none}
.brand-image:hover img,.footer-brand-image:hover img{opacity:.92}
:root[data-theme="dark"] { --bg:#0d1723;--surface:#162538;--panel:#152437;--ink:#f1f6fc;
 --muted:#bdccda;--line:#30475d;--soft:#1b3045;--accent:#b6d4eb;
 --header-bg:#0d1723ef;--note-bg:#152b40;--nm-photo-line:#38536a;
 --nm-photo-backdrop:linear-gradient(145deg,#172a3c,#101b2b)}
:root[data-theme="dark"] .product-preview-card,.checkout-summary,.order-panel{box-shadow:0 12px 38px #02081340}
:root[data-theme="dark"] .site-header{border-bottom-color:#304457}
.hero-product-visual{border-color:var(--nm-photo-line);background:var(--nm-photo-backdrop);box-shadow:0 22px 62px #101e2b19}
:root[data-theme="dark"] .hero-product-visual{box-shadow:0 22px 72px #0107116b}
.hero-product-photo .theme-photo img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.hero-product-photo .theme-photo {height:390px;min-height:0;overflow:hidden;border-radius:7px}
@media(max-width:760px){.brand-image .brand-picture{width:137px}.footer-brand-image .brand-picture{width:148px}.hero-product-photo .theme-photo{height:340px}}
@media(max-width:390px){.brand-image .brand-picture{width:124px}}

/* Mobile-first editorial navigation / October 2026 */
.theme-native-choice{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.theme-control{display:flex;align-items:center;margin-left:auto}
.theme-icon-switch{display:flex;align-items:center;gap:3px;border:1px solid var(--line);background:var(--surface);padding:3px;border-radius:999px}
.theme-icon-button{appearance:none;border:0;border-radius:50%;background:transparent;color:var(--muted);width:40px;height:40px;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.theme-icon-button svg{width:19px;height:19px}
.theme-icon-button[aria-pressed="true"]{background:var(--button);color:var(--on-button)}
.theme-icon-button:hover:not([aria-pressed="true"]){background:var(--soft);color:var(--ink)}
.mobile-menu-toggle{display:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);width:46px;height:46px;border-radius:50%;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.mobile-menu-toggle span{width:18px;height:1.7px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
.mobile-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.7px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.7px) rotate(-45deg)}
/* Editorial photography is not a boxed widget. */
.hero-product-visual{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible}
.hero-product-photo{margin:0!important}
.hero-product-photo .theme-photo{height:auto!important;aspect-ratio:4/5;border-radius:0!important;overflow:hidden}
.hero-product-photo .theme-photo img{height:100%!important;max-height:none!important;object-fit:cover!important;border-radius:0!important}
#home-campaign .gallery-item>a{border-radius:0;box-shadow:none;overflow:hidden}
#home-campaign .gallery-item img{max-height:none;object-fit:cover}
@media(max-width:760px){
 .site-header{overflow:visible}
 .header-inner{min-height:70px;display:flex;flex-wrap:nowrap;gap:10px;padding:10px 0;position:relative}
 .brand-image{margin-right:auto}
 .brand-image .brand-picture{width:clamp(106px,30vw,145px)}
 .theme-control{margin:0 0 0 auto;order:1}
 .theme-icon-switch{padding:2px;gap:0}
 .theme-icon-button{width:35px;height:40px}
 .theme-icon-button svg{width:18px;height:18px}
 .mobile-menu-toggle{display:flex;flex-shrink:0;order:2}
 .main-nav{display:none;position:absolute;top:calc(100% - 1px);left:-20px;right:-20px;background:var(--surface);border:1px solid var(--line);border-top:0;box-shadow:0 18px 30px #0002;padding:14px 20px 24px;z-index:31;flex-direction:column;align-items:stretch;gap:0;margin:0;width:auto}
 .main-nav[data-open="true"]{display:flex}
 .main-nav a{min-height:52px;display:flex;align-items:center;justify-content:space-between;font-size:1rem;padding:8px 4px;border-bottom:1px solid var(--line)}
 .main-nav a[aria-current]::after{left:0;right:auto;bottom:0;width:36px;height:2px}
 .hero-inner{padding-top:1.5rem;gap:1.8rem}
 .hero-content h1{font-size:clamp(2.5rem,10.5vw,4rem);line-height:1.04}
 .hero-product-visual{width:100%;max-width:620px;min-height:0}
 .hero-product-photo .theme-photo{height:auto!important;aspect-ratio:4/5}
 .hero-product-photo .theme-photo img{height:100%!important;max-height:none!important}
 .hero-actions{display:flex;flex-wrap:wrap}
 .hero-actions .button{min-height:48px}
 #home-campaign .gallery-item>a{max-width:100%}
 .footer-inner>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){
 .brand-image .brand-picture{width:105px}
 .theme-icon-button{width:31px;height:38px}
 .mobile-menu-toggle{width:42px;height:42px}
 .header-inner{gap:6px}
}
@media(prefers-reduced-motion:reduce){.theme-icon-button,.mobile-menu-toggle span{transition:none}}

/* Two perfectly circular controls; system remains the initial automatic preference. */
.theme-icon-switch{border-radius:999px;gap:4px;padding:4px}
.theme-icon-button{width:42px;height:42px;min-width:42px;min-height:42px;flex:0 0 42px;aspect-ratio:1;border-radius:50%;padding:0;line-height:1}
.theme-icon-button[aria-pressed="true"]{border-radius:50%}
@media(max-width:760px){
 .theme-icon-switch{gap:3px;padding:3px}
 .theme-icon-button{width:40px;height:40px;min-width:40px;min-height:40px;flex-basis:40px}
}
@media(max-width:380px){
 .theme-icon-button{width:38px;height:38px;min-width:38px;min-height:38px;flex-basis:38px}
}


/* 2026-10 editorial finish: one visible Light / Dark / System control.
   Tablet navigation uses the same accessible menu as mobile, never hides links. */
.theme-icon-switch{gap:2px;padding:3px}
.theme-icon-button{width:38px;height:38px;min-width:38px;min-height:38px;flex:0 0 38px}
.theme-icon-button:focus-visible,.mobile-menu-toggle:focus-visible,
.product-preview-buy-form .button:focus-visible,.product-preview-detail-link:focus-visible {
  outline:3px solid var(--focus);outline-offset:3px;
}
@media (min-width:761px) and (max-width:1120px){
  .site-header{overflow:visible}
  .header-inner{display:flex;flex-wrap:nowrap;position:relative;gap:12px}
  .brand-image{margin-right:auto}
  .brand-image .brand-picture{width:clamp(128px,17vw,164px)}
  .theme-control{margin-left:auto;flex:0 0 auto}
  .mobile-menu-toggle{display:flex;flex:0 0 46px}
  .main-nav{display:none;position:absolute;top:calc(100% - 1px);right:0;left:auto;
    width:min(360px,100%);margin:0;padding:12px 20px 20px;z-index:35;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--surface);border:1px solid var(--line);
    box-shadow:0 18px 48px rgba(8,18,28,.16)}
  .main-nav[data-open="true"]{display:flex}
  .main-nav a{display:flex;min-height:50px;align-items:center;padding:10px 4px;
    border-bottom:1px solid var(--line);font-size:.95rem}
}
@media (max-width:760px){
  .theme-icon-switch{gap:2px;padding:2px}
  .theme-icon-button{width:38px;height:38px;min-width:38px;min-height:38px;flex-basis:38px}
}
@media (max-width:380px){
  .theme-icon-switch{gap:1px;padding:2px}
  .theme-icon-button{width:36px;height:36px;min-width:36px;min-height:36px;flex-basis:36px}
  .theme-icon-button svg{width:16px;height:16px}
}
/* Product details remain accessible on all devices; no false overlays on real photos. */
.product-preview-photo-fallback{display:none}
.product-preview-media.photo-unavailable .product-preview-photo-fallback{display:block}
.product-preview-card .product-info{display:flex;flex-direction:column;align-items:stretch}
.product-preview-card .product-preview-price{margin:auto 0 .85rem;font-variant-numeric:tabular-nums}
.product-preview-card .product-preview-buy-form{margin:0 0 .45rem}
.product-preview-card .product-preview-buy-form .button{min-height:48px}
.product-preview-card .product-preview-detail-link{min-height:44px;justify-content:center;margin:0}
.product-preview-card .product-preview-provenance{margin:.35rem 0 0;text-align:center;color:var(--muted);font-size:.72rem}
.variant-editorial-actions .product-preview-buy-form{margin:0;display:flex}
.variant-editorial-actions .product-preview-buy-form .button{min-height:48px}
.checkout-primary .checkout-form{border:1px solid var(--line);border-radius:8px;
  background:var(--surface);padding:clamp(1.3rem,3vw,2.1rem)}
.checkout-primary .checkout-form .button{min-height:50px}
.checkout-primary .checkout-form textarea{min-height:108px;resize:vertical}
:root[data-theme="dark"] .checkout-primary .checkout-form{
  border-color:var(--line);box-shadow:0 14px 42px rgba(0,0,0,.14)}
@media(max-width:760px){
 .checkout-primary .checkout-form{padding:1.3rem}
 .variant-editorial-actions .product-preview-buy-form,
 .variant-editorial-actions .product-preview-buy-form .button{flex:1 1 auto}
}
