/* Shared finishing layer: no content depends on animation or JavaScript. */
:root{--tc-ink:#12243b;--tc-accent:#007aab;--tc-line:#dce6ef;--tc-shadow:0 12px 36px -24px rgba(13,45,76,.35)}
html{scroll-padding-top:110px}
body{background-color:#f7f9fc;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}p{ text-wrap:pretty }
h1{letter-spacing:-.045em}h2{letter-spacing:-.025em}
::selection{background:#b7ecff;color:#102c45}
a,button,input,select,textarea{transition:color .18s,background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #008ebf;outline-offset:4px}
body>header{background:rgba(250,252,255,.96);box-shadow:0 4px 24px -18px #173953;border-bottom:1px solid #dce6ef}
body>header nav a{font-size:.9rem;line-height:1.4}
body>header nav a[aria-current=page]{color:#00698f;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
body>header nav a:hover{color:#007aab}
.mobile-navigation{border-top:1px solid #dce6ef;background:#fff;padding:16px 24px;box-shadow:var(--tc-shadow)}
.mobile-navigation a{padding:10px 12px;border-radius:8px}
.mobile-navigation a:hover{background:#eef8fc}
main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:12px}
main :is(input,select,textarea):focus{border-color:#079bd0;box-shadow:0 0 0 3px #0aaee81a}
main :is(a,button)[class*=bg-primary-container],.store-button{box-shadow:0 5px 16px -10px #008ab8}
body>footer{background:linear-gradient(125deg,#14263d,#20344d);border-top:3px solid #0daae0}
body>footer nav{align-items:center;row-gap:16px}
body>footer a{color:#c7d6e3}
body>footer a:hover{color:#7ee2ff}
body>footer p{line-height:1.7}
body>footer img{max-width:190px}
.store-main{max-width:1320px;padding-top:40px}
.store-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(32px,6vw,76px);border:1px solid #254869;background:radial-gradient(ellipse at 100% 0%,#076892 0,transparent 55%),linear-gradient(120deg,#10243c,#183d5d);box-shadow:0 18px 50px -32px #092e4b}
.store-hero:after{content:'';position:absolute;z-index:-1;width:360px;height:360px;border:1px solid #7adfff30;border-radius:50%;right:-70px;top:15%;box-shadow:0 0 0 55px #75d7ff08,0 0 0 110px #75d7ff06;pointer-events:none}
.store-hero h1{max-width:800px;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.12}
.store-hero p{color:#d1e4f0;font-size:1.05rem}
.store-hero .eyebrow{color:#7ce3ff}
.store-main .eyebrow{font-size:.7rem;letter-spacing:.16em}
.filters{padding:24px;border:1px solid var(--tc-line);background:#fff;border-radius:18px;box-shadow:var(--tc-shadow)}
.filters label{font-size:.85rem;color:#455970}.filters input,.filters select{margin-bottom:0!important}
.product-grid{gap:24px;align-items:stretch}
.product-grid>.store-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:22px;box-shadow:var(--tc-shadow);transition:transform .2s,box-shadow .2s,border-color .2s}
.product-grid>.store-card>img{aspect-ratio:3/2;object-fit:cover;margin-bottom:16px;background:#eef4f9}
.product-grid>.store-card>h3{font-size:1.1rem;line-height:1.45;letter-spacing:-.025em}
.product-grid>.store-card>h3 a{text-decoration:none;color:var(--tc-ink)}
.product-grid>.store-card>p:not(.price):not(.eyebrow){color:#516175;font-size:.9rem;line-height:1.75}
.product-grid>.store-card>.price{margin-top:auto;padding-top:16px;font-size:1.45rem;letter-spacing:-.035em}
.product-grid>.store-card>.store-button{justify-content:center;margin:8px 0 0;min-height:46px}
.store-button,.store-main button{border-radius:11px;min-height:44px}
.store-main .store-card{border-color:var(--tc-line)}
.store-main .product-detail>.store-card{box-shadow:var(--tc-shadow);padding:32px}
.store-main .price{font-variant-numeric:tabular-nums}
.store-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding:20px 0;border-top:1px solid var(--tc-line);font-size:.9rem}
.store-pagination span{color:#526174}.store-pagination a{padding:10px 16px;background:white;border:1px solid var(--tc-line);border-radius:10px;text-decoration:none!important}
.account-header{box-shadow:var(--tc-shadow)}
body:has(.account-header){background:radial-gradient(ellipse at 10% 0%,#dff5ff,transparent 55%),#f7f9fc}
body:has(.account-header) .card{border:1px solid var(--tc-line);border-radius:20px;box-shadow:var(--tc-shadow)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.product-grid>.store-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px #15395870;border-color:#96cbe0}.store-button:hover,main a[class*=bg-primary-container]:hover{transform:translateY(-2px)}}
@media(max-width:760px){.store-main{padding:24px 18px 48px}.store-hero{border-radius:20px;margin-bottom:32px}.filters{padding:18px}.filters label{margin-bottom:16px}.product-grid{gap:18px}.store-main .product-detail>.store-card{padding:22px}.store-pagination{flex-wrap:wrap}body>footer nav{gap:14px 22px}body>footer{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Editorial pages keep their original section structure and imagery. */
body:not(:has(.account-header)) main:not(.store-main) h2{line-height:1.2}
main:not(.store-main) :is(.grid>.bg-surface-container-lowest,.grid>.bg-surface,.grid>.bg-surface-container-low){border-radius:20px;box-shadow:var(--tc-shadow);border:1px solid #dce6ef;transition:box-shadow .2s,transform .2s}
main:not(.store-main) :is(.faq-item,details){border-color:#dce6ef;border-radius:16px;box-shadow:0 4px 16px -14px #132e4a}
main:not(.store-main) section[id]{scroll-margin-top:100px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){main:not(.store-main) .grid>.bg-surface-container-lowest:hover{transform:translateY(-3px);box-shadow:0 18px 34px -24px #183e6260}}

body>footer .text-outline{color:#b4c5d5}
body>footer .footer-rights{flex-shrink:0;white-space:nowrap}
.blog-article{max-width:820px;margin:0 auto}.blog-article>img{width:100%;height:auto;border-radius:20px;margin:24px 0}.blog-intro{font-size:1.2rem;color:#526174}.blog-body{font-size:1.05rem;line-height:1.85}.blog-body h2,.blog-body h3{margin-top:2em}.blog-body ul,.blog-body ol{padding-left:1.5em;margin:1em 0}.blog-body ul{list-style:disc}.blog-body ol{list-style:decimal}.blog-body img{max-width:100%;height:auto}.blog-body iframe{max-width:100%}
