@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,800&display=swap');
:root { --ink: #0a0a0a; --paper: #f5f4f0; --white: #fff; --blue: #006aa7; --yellow: #fecc02; --line: #d9d8d2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Poppins", sans-serif; overflow-x: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.announcement { height: 32px; display: flex; align-items: center; justify-content: center; gap: 16px; background: var(--ink); color: white; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.announcement span { color: var(--yellow); }
.site-header { height: 86px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 3.5vw; background: white; border-bottom: 1px solid var(--ink); position: relative; z-index: 30; }
.header-logo { width: 122px; height: 58px; display: block; overflow: hidden; }
.header-logo img { width: 122px; max-width: none; height: auto; display: block; transform: translateY(-14px); }
.nav { display: flex; gap: 32px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.nav a { position: relative; }
.nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--ink); transition: right .25s; }
.nav a:hover::after { right: 0; }
.header-actions { justify-self: end; display: flex; gap: 10px; align-items: center; }
.language-label select { appearance: none; border: 0; background: transparent; padding: 10px 20px 10px 8px; font-size: 11px; font-weight: 700; background-image: linear-gradient(45deg, transparent 50%, #000 50%), linear-gradient(135deg, #000 50%, transparent 50%); background-position: calc(100% - 8px) 50%, calc(100% - 4px) 50%; background-size: 4px 4px; background-repeat: no-repeat; cursor: pointer; }
.cart-button { height: 42px; border: 1px solid var(--ink); background: var(--ink); color: white; padding: 0 10px 0 17px; display: flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 700; cursor: pointer; }
.cart-button b { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); color: var(--ink); }
.menu-button { display: none; border: 0; background: none; font-size: 25px; }

.hero { min-height: 680px; display: grid; grid-template-columns: 47% 53%; border-bottom: 1px solid var(--ink); background: white; }
.hero-copy { padding: 104px 5vw 70px 7vw; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.eyebrow { margin: 0 0 22px; font-size: 10px; font-weight: 800; letter-spacing: .18em; display: flex; align-items: center; gap: 10px; }
.eyebrow i { width: 26px; height: 2px; background: var(--ink); display: inline-block; }
.hero h1 { font-size: clamp(46px, 5.7vw, 84px); line-height: .96; letter-spacing: -.065em; margin: 0; font-weight: 900; }
.hero h1 span { color: var(--blue); }
.hero-body { max-width: 560px; margin: 30px 0 34px; font-size: 15px; line-height: 1.75; }
.hero-buttons { display: flex; align-items: center; gap: 30px; }
.button { min-height: 52px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; border: 1px solid var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .06em; cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--ink); color: white; }
.button.primary:hover { background: var(--blue); }
.text-link { font-size: 11px; font-weight: 800; border-bottom: 1px solid var(--ink); padding-bottom: 5px; display: inline-flex; gap: 24px; }
.hero-product { position: relative; overflow: hidden; background: var(--blue); min-height: 590px; }
.hero-product::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 12px 12px; }
.arena-lines { position: absolute; inset: 9% 8%; border: 1px solid rgba(255,255,255,.5); border-radius: 48%; transform: rotate(-9deg); }
.arena-lines::before, .arena-lines::after { content: ""; position: absolute; background: rgba(255,255,255,.45); }
.arena-lines::before { width: 1px; top: -15%; bottom: -15%; left: 50%; }.arena-lines::after { height: 1px; left: -15%; right: -15%; top: 50%; }
.blanket-shadow { position: absolute; width: 61%; height: 28%; left: 20%; bottom: 14%; background: rgba(0,0,0,.45); filter: blur(30px); transform: rotate(-5deg); border-radius: 50%; }
.blanket { position: absolute; width: min(68%, 500px); aspect-ratio: 4/5; left: 17%; top: 8%; transform: rotate(-7deg); border-radius: 12px 18px 28px 15px; overflow: visible; box-shadow: -14px 16px 0 rgba(0,0,0,.18), 0 30px 55px rgba(0,0,0,.26); }
.blanket.sweden { background: linear-gradient(90deg, transparent 29%, var(--yellow) 29%, var(--yellow) 42%, transparent 42%), linear-gradient(0deg, transparent 43%, var(--yellow) 43%, var(--yellow) 57%, transparent 57%), var(--blue); }
.fold { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.fold.one { background: linear-gradient(105deg, transparent 0 47%, rgba(255,255,255,.16) 50%, transparent 53% 100%); }
.fold.two { background: linear-gradient(175deg, transparent 0 75%, rgba(0,0,0,.18) 77%, transparent 80%); }
.fringe { position: absolute; left: 1%; right: 1%; bottom: -20px; height: 22px; background: repeating-linear-gradient(90deg, var(--blue) 0 3px, transparent 3px 7px); filter: drop-shadow(0 5px 2px rgba(0,0,0,.2)); }
.product-sticker { position: absolute; right: 4%; bottom: 5%; width: 176px; padding: 14px; background: var(--yellow); color: var(--ink); transform: rotate(3deg); box-shadow: 6px 6px 0 var(--ink); display: grid; }
.product-sticker small { font-size: 8px; font-weight: 900; letter-spacing: .15em; }.product-sticker strong { font-size: 16px; line-height: 1.1; margin: 4px 0 10px; }.product-sticker span { font-size: 13px; font-weight: 800; }
.edition { position: absolute; left: 3%; bottom: 4%; color: white; font-size: 9px; font-weight: 800; letter-spacing: .18em; writing-mode: vertical-rl; }
.spec-strip { min-height: 82px; background: white; display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--ink); }
.spec-strip span { display: flex; justify-content: center; align-items: center; gap: 18px; border-right: 1px solid var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .08em; }.spec-strip span:last-child { border: 0; }.spec-strip b { font-size: 9px; color: #999; }
.ticker { height: 45px; overflow: hidden; background: var(--yellow); border-bottom: 1px solid var(--ink); display: flex; align-items: center; white-space: nowrap; }
.ticker div { font-size: 11px; font-weight: 900; letter-spacing: .1em; animation: ticker 26s linear infinite; }
@keyframes ticker { to { transform: translateX(-50%); } }
.trust-row { min-height: 84px; display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); background: var(--paper); }
.trust-row div { display: flex; align-items: center; justify-content: center; gap: 15px; border-right: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .08em; }.trust-row span { width: 28px; height: 28px; border: 1px solid var(--ink); border-radius: 50%; display: grid; place-items: center; font-size: 12px; }

.section { padding: 110px 6vw; }
.section-heading { display: grid; grid-template-columns: 1fr 430px; align-items: end; gap: 40px; margin-bottom: 56px; }
.section-heading h2, .story h2, .about h2, .faq h2, .newsletter h2 { margin: 0; font-size: clamp(38px, 5vw, 70px); line-height: .98; letter-spacing: -.055em; font-weight: 900; }
.section-heading > p { margin: 0; font-size: 13px; line-height: 1.7; max-width: 410px; }
.filter-row { display: flex; gap: 7px; margin-bottom: 28px; border-bottom: 1px solid var(--ink); }
.filter-row button { border: 0; background: transparent; padding: 12px 18px 14px; font-size: 11px; font-weight: 700; cursor: pointer; position: relative; }.filter-row button.active { background: var(--ink); color: white; }.filter-row sup { font-size: 7px; margin-left: 4px; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.product-card { min-width: 0; background: white; border: 1px solid var(--line); transition: transform .25s, box-shadow .25s; }.product-card:hover { transform: translateY(-5px); box-shadow: 0 12px 25px rgba(0,0,0,.08); }.product-card.featured { border-color: var(--blue); }
.product-card-link { display: block; }
.product-visual { height: 300px; position: relative; overflow: hidden; display: grid; place-items: center; background: #eae9e4; }
.product-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(115deg, rgba(255,255,255,.55), transparent 45%); }
.mini-blanket { width: 66%; aspect-ratio: 4/5; position: relative; transform: rotate(-5deg); filter: drop-shadow(-8px 12px 8px rgba(0,0,0,.2)); border-radius: 5px 8px 12px 6px; overflow: hidden; background: white; }
.flag-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mini-fold { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 0 44%, rgba(255,255,255,.3) 49%, rgba(0,0,0,.15) 51%, transparent 55%), linear-gradient(180deg, transparent 72%, rgba(0,0,0,.16)); }
.badge { position: absolute; z-index: 3; top: 14px; left: 14px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); font-size: 9px; font-weight: 900; }.card-index { position: absolute; bottom: 12px; right: 13px; font-size: 8px; color: #777; font-weight: 700; }
.product-info { display: flex; align-items: flex-end; justify-content: space-between; padding: 18px; min-height: 108px; }.product-info small { display: block; color: #777; font-size: 7px; font-weight: 700; letter-spacing: .1em; }.product-info h3 { margin: 5px 0 3px; text-transform: uppercase; font-size: 18px; line-height: 1; letter-spacing: -.03em; }.product-info div > span { font-size: 10px; font-weight: 700; }.product-info button { width: 39px; height: 39px; border: 1px solid var(--ink); background: var(--ink); color: white; font-size: 22px; cursor: pointer; transition: background .2s; }.product-info button:hover { background: var(--blue); }
.show-all { margin: 42px auto 0; background: transparent; }
.story { min-height: 720px; padding: 100px 7vw; background: var(--ink); color: white; display: grid; grid-template-columns: .8fr 1.5fr .7fr; align-items: center; gap: 7vw; position: relative; overflow: hidden; }
.story::before { content: ""; position: absolute; width: 440px; height: 440px; border: 1px solid #333; border-radius: 50%; left: -180px; top: 50%; transform: translateY(-50%); box-shadow: 0 0 0 80px #101010, 0 0 0 81px #282828, 0 0 0 160px #101010, 0 0 0 161px #222; }
.story-mark { position: relative; z-index: 1; width: 230px; height: 230px; border-radius: 50%; background: var(--blue); color: var(--yellow); display: grid; place-items: center; font-size: 84px; font-weight: 900; letter-spacing: -.1em; transform: rotate(-9deg); box-shadow: 12px 12px 0 var(--yellow); }
.story-copy { position: relative; z-index: 1; }.eyebrow.light i { background: white; }.story-copy > p:not(.eyebrow) { max-width: 580px; color: #bbb; font-size: 14px; line-height: 1.8; margin: 28px 0 35px; }.light-button { border-color: white; background: white; color: var(--ink); }
.story-stats { border-left: 1px solid #444; position: relative; z-index: 1; }.story-stats div { padding: 25px 0 25px 30px; border-bottom: 1px solid #333; display: grid; }.story-stats strong { font-size: 27px; }.story-stats span { font-size: 8px; color: #999; font-weight: 700; letter-spacing: .15em; }
.section-heading.compact { grid-template-columns: 1fr; }
.moment-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ink); }.moment-grid article { min-height: 310px; padding: 27px; border-right: 1px solid var(--ink); position: relative; display: flex; flex-direction: column; justify-content: flex-end; transition: background .2s, color .2s; }.moment-grid article:last-child { border: 0; }.moment-grid article:hover { background: var(--yellow); }.moment-number { position: absolute; top: 24px; left: 25px; font-size: 9px; font-weight: 800; }.moment-icon { font-size: 58px; position: absolute; right: 26px; top: 28px; filter: grayscale(1); }.moment-grid h3 { margin: 0 0 10px; font-size: 22px; }.moment-grid p { margin: 0; max-width: 270px; font-size: 12px; line-height: 1.6; }
.about { border-top: 1px solid var(--ink); display: grid; grid-template-columns: 1fr 1.1fr; min-height: 680px; gap: 8vw; align-items: center; background: white; }
.about-brand { height: 420px; background: var(--yellow); border: 1px solid var(--ink); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; position: relative; box-shadow: 12px 12px 0 var(--blue); }.about-brand img { width: 150%; max-width: none; transform: translate(-17%, -20%); mix-blend-mode: multiply; }.about-brand span { padding: 24px; font-size: 9px; font-weight: 900; line-height: 1.7; letter-spacing: .15em; }
.about-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; max-width: 600px; margin: 30px 0; }.text-link.dark { font-size: 10px; }
.faq { display: grid; grid-template-columns: .65fr 1.35fr; column-gap: 7vw; background: var(--paper); }.faq > .eyebrow { grid-column: 1; }.faq > h2 { grid-column: 1; grid-row: 2; }.faq-list { grid-column: 2; grid-row: 1 / span 3; border-top: 1px solid var(--ink); }.faq-list details { border-bottom: 1px solid var(--ink); }.faq-list summary { min-height: 78px; list-style: none; display: grid; grid-template-columns: 45px 1fr 25px; align-items: center; cursor: pointer; font-size: 14px; font-weight: 700; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { font-size: 8px; color: #888; }.faq-list summary b { font-size: 20px; transition: transform .2s; }.faq-list details[open] summary b { transform: rotate(45deg); }.faq-list details p { margin: -5px 25px 25px 45px; color: #555; font-size: 12px; line-height: 1.7; max-width: 640px; }
.newsletter { background: var(--blue); color: white; padding: 75px 7vw; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 7vw; }.newsletter h2 { max-width: 700px; }.newsletter div > p:not(.eyebrow) { font-size: 12px; color: #c9e9ff; }.newsletter form { display: flex; border-bottom: 2px solid white; }.newsletter input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: white; padding: 20px 0; font-size: 14px; }.newsletter input::placeholder { color: rgba(255,255,255,.7); }.newsletter button { border: 0; background: var(--yellow); padding: 0 22px; font-size: 10px; font-weight: 900; cursor: pointer; }
footer { background: var(--ink); color: white; padding: 75px 7vw 25px; }.footer-top { display: grid; grid-template-columns: 2.2fr repeat(3, 1fr); gap: 5vw; padding-bottom: 75px; }.footer-logo { width: min(100%, 340px); height: 170px; display: block; overflow: hidden; }.footer-logo img { width: 340px; max-width: none; height: auto; display: block; transform: translateY(-39px); filter: invert(1); }.footer-top > div { display: flex; flex-direction: column; gap: 12px; }.footer-top small { color: #777; font-size: 8px; letter-spacing: .15em; margin-bottom: 8px; }.footer-top a:not(.footer-logo) { font-size: 11px; color: #ccc; }.footer-top a:hover { color: var(--yellow); }.footer-bottom { border-top: 1px solid #333; padding-top: 22px; display: flex; justify-content: space-between; color: #777; font-size: 8px; letter-spacing: .1em; }
.cart-overlay { position: fixed; inset: 0; z-index: 60; background: rgba(0,0,0,.48); opacity: 0; pointer-events: none; transition: opacity .25s; }.cart-overlay.visible { opacity: 1; pointer-events: auto; }.cart-drawer { position: fixed; z-index: 61; top: 0; right: 0; bottom: 0; width: min(440px, 100%); background: white; transform: translateX(100%); transition: transform .3s ease; display: flex; flex-direction: column; }.cart-drawer.open { transform: translateX(0); }.cart-head { height: 90px; padding: 0 25px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--ink); }.cart-head h2 { font-size: 22px; }.cart-head button { border: 0; background: transparent; font-size: 29px; cursor: pointer; }.cart-content { padding: 24px; flex: 1; overflow: auto; }.cart-content > p { color: #777; font-size: 13px; }.cart-item { display: grid; grid-template-columns: 58px 1fr 25px; align-items: center; gap: 15px; padding: 15px 0; border-bottom: 1px solid var(--line); }.cart-item > span { width: 58px; height: 58px; background: #eee; display: grid; place-items: center; font-size: 34px; overflow: hidden; }.cart-item div { display: grid; }.cart-item strong { font-size: 12px; text-transform: uppercase; }.cart-item small { font-size: 9px; }.cart-item button { border: 0; background: none; cursor: pointer; }.cart-footer { padding: 24px; border-top: 1px solid var(--ink); }.cart-footer > div { display: flex; justify-content: space-between; margin-bottom: 18px; font-size: 11px; }.cart-footer .button { width: 100%; }.cart-footer .button:disabled { opacity: .4; cursor: not-allowed; }
.toast { position: fixed; z-index: 80; bottom: 28px; left: 50%; transform: translate(-50%, 30px); background: var(--yellow); border: 1px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); padding: 14px 20px; font-size: 11px; font-weight: 800; opacity: 0; pointer-events: none; transition: .25s; }.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Product detail and simulated checkout */
.commerce-page { background: #f4f3ef; }
.commerce-header .cart-button { text-decoration: none; }
.product-page-shell { background: #f4f3ef; }
.product-breadcrumb { min-height: 58px; padding: 0 5vw; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.product-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.product-detail-hero { min-height: 690px; display: grid; grid-template-columns: 58% 42%; border-bottom: 1px solid var(--ink); }
.product-gallery { position: relative; min-height: 690px; background: #e5e4df; display: grid; place-items: center; overflow: hidden; }
.product-gallery::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.85), transparent 55%); }
.detail-blanket { position: relative; width: min(47%, 390px); aspect-ratio: 4 / 5; overflow: hidden; transform: rotate(-5deg); border-radius: 8px 12px 18px 9px; box-shadow: -14px 20px 0 rgba(0,0,0,.12), 0 40px 55px rgba(0,0,0,.2); }
.detail-blanket img { width: 100%; height: 100%; object-fit: cover; }
.detail-fold { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 0 44%, rgba(255,255,255,.35) 49%, rgba(0,0,0,.16) 51%, transparent 56%), linear-gradient(180deg, transparent 75%, rgba(0,0,0,.18)); }
.gallery-code, .gallery-note { position: absolute; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.gallery-code { left: 25px; top: 24px; }.gallery-note { right: 25px; bottom: 23px; writing-mode: vertical-rl; }
.product-buy-panel { background: white; padding: 70px 5vw; display: flex; flex-direction: column; align-items: stretch; }
.rating-line { display: flex; gap: 12px; align-items: center; margin-bottom: 25px; }.rating-line > span { color: #f0b800; letter-spacing: .08em; font-size: 13px; }.rating-line a { font-size: 9px; text-decoration: underline; text-underline-offset: 4px; }
.product-buy-panel h1 { margin: 0; font-size: clamp(42px, 4.8vw, 72px); line-height: .9; letter-spacing: -.06em; font-weight: 900; overflow-wrap: anywhere; }
.detail-price { font-size: 22px; font-weight: 800; margin: 25px 0 20px; }.detail-price small { font-size: 8px; font-weight: 500; color: #777; margin-left: 6px; }
.detail-lead { font-size: 13px; line-height: 1.75; margin: 0 0 20px; max-width: 530px; }
.stock-line { display: flex; align-items: center; gap: 9px; padding: 13px 0 22px; font-size: 9px; font-weight: 700; }.stock-line span { width: 7px; height: 7px; border-radius: 50%; background: #1e9c4b; box-shadow: 0 0 0 3px #dcf2e3; }
.quantity-row { display: grid; grid-template-columns: 1fr 90px; align-items: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 58px; margin-bottom: 14px; font-size: 9px; font-weight: 800; letter-spacing: .1em; }.quantity-row select { height: 38px; border: 1px solid var(--ink); background: white; padding: 0 12px; }
.detail-add, .detail-checkout { width: 100%; margin-bottom: 9px; }.detail-checkout { background: white; }
.buy-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 15px; }.buy-benefits span { padding: 12px 7px; background: #f1f0ec; font-size: 7px; font-weight: 700; text-align: center; }
.product-meta-section { padding: 110px 6vw; display: grid; grid-template-columns: .7fr 1.3fr; gap: 7vw; border-bottom: 1px solid var(--ink); }.product-meta-section h2 { font-size: clamp(42px, 5vw, 72px); line-height: .95; letter-spacing: -.06em; margin: 0; }.meta-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); }.meta-grid > div { min-height: 190px; padding: 25px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }.meta-grid > div:nth-child(even) { border-right: 0; }.meta-grid small { display: block; color: #888; font-size: 8px; font-weight: 800; letter-spacing: .12em; }.meta-grid strong { display: block; margin: 25px 0 9px; font-size: 17px; text-transform: uppercase; }.meta-grid p { font-size: 10px; line-height: 1.7; color: #555; max-width: 280px; }
.review-section { background: var(--ink); color: white; display: grid; grid-template-columns: .65fr 1.35fr; }.review-score { padding: 85px 6vw; background: var(--blue); }.review-score > strong { font-size: 100px; line-height: 1; letter-spacing: -.07em; }.review-score > span { display: block; color: var(--yellow); font-size: 20px; letter-spacing: .1em; }.review-score > p:last-child { font-size: 10px; color: #ccecff; }.review-list { padding: 55px 6vw; }.review-list article { padding: 30px 0; border-bottom: 1px solid #333; }.review-list article > div { display: flex; justify-content: space-between; }.review-list article > div span { color: var(--yellow); }.review-list article small { color: #777; font-size: 7px; }.review-list h3 { font-size: 20px; margin: 16px 0 7px; }.review-list p { max-width: 650px; color: #bbb; font-size: 11px; line-height: 1.75; }.review-list footer { padding: 0; background: none; color: #777; font-size: 8px; letter-spacing: .1em; }

.checkout-body { min-height: 100vh; background: #f4f3ef; }
.checkout-header { height: 86px; background: white; border-bottom: 1px solid var(--ink); padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; }.secure-label { font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.test-banner { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--yellow); border-bottom: 1px solid var(--ink); font-size: 9px; letter-spacing: .08em; }.test-banner strong { background: var(--ink); color: white; padding: 4px 7px; }
.checkout-shell { display: grid; grid-template-columns: 1.2fr .8fr; max-width: 1450px; margin: 0 auto; min-height: calc(100vh - 124px); }
.checkout-flow { padding: 55px 7vw 100px 5vw; border-right: 1px solid var(--ink); }.checkout-back { display: inline-block; font-size: 8px; font-weight: 800; letter-spacing: .12em; margin-bottom: 38px; text-decoration: underline; text-underline-offset: 4px; }
.checkout-progress { display: flex; align-items: center; margin-bottom: 65px; }.checkout-progress span { display: flex; align-items: center; gap: 7px; color: #aaa; font-size: 8px; font-weight: 800; text-transform: uppercase; }.checkout-progress span b { width: 28px; height: 28px; border: 1px solid #bbb; border-radius: 50%; display: grid; place-items: center; }.checkout-progress span.active { color: var(--ink); }.checkout-progress span.active b { background: var(--ink); border-color: var(--ink); color: white; }.checkout-progress i { flex: 1; height: 1px; background: #ccc; margin: 0 10px; }
.checkout-step { display: none; }.checkout-step.active { display: block; }.checkout-step h1 { margin: 0 0 42px; font-size: clamp(42px, 5.4vw, 78px); line-height: .92; letter-spacing: -.06em; font-weight: 900; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.field-grid label { display: grid; gap: 7px; font-size: 8px; font-weight: 800; letter-spacing: .1em; }.field-grid label.full { grid-column: 1 / -1; }.field-grid input, .field-grid select { width: 100%; height: 52px; padding: 0 14px; border: 1px solid #aaa; background: white; outline: none; font-size: 12px; }.field-grid input:focus, .field-grid select:focus { border: 2px solid var(--blue); }
.check-line { display: flex; align-items: center; gap: 9px; margin: 23px 0; font-size: 9px; }.check-line input { accent-color: var(--ink); }
.checkout-next { width: 100%; }.step-actions { display: grid; grid-template-columns: auto 1fr; gap: 10px; margin-top: 28px; }
.delivery-options { display: grid; gap: 10px; }.delivery-options label { min-height: 86px; display: grid; grid-template-columns: 22px 42px 1fr auto; align-items: center; gap: 13px; padding: 14px 18px; border: 1px solid #aaa; background: white; cursor: pointer; }.delivery-options label.selected { border: 2px solid var(--ink); }.delivery-options input { accent-color: var(--ink); }.delivery-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--ink); font-weight: 900; }.delivery-options label > span:nth-of-type(2) { display: grid; }.delivery-options small { color: #777; font-size: 8px; margin-top: 4px; }.delivery-options b { font-size: 10px; }
.payment-choice label { min-height: 65px; padding: 0 18px; display: grid; grid-template-columns: 22px 35px 1fr auto; align-items: center; border: 2px solid var(--ink); background: white; }.payment-choice small { font-size: 8px; color: #777; }.dummy-card-note { display: grid; gap: 3px; background: #fff3b8; border: 1px solid #e4bc00; padding: 13px; margin: 16px 0; font-size: 8px; }.dummy-card-note span { color: #655500; }
.card-mockup { aspect-ratio: 1.62; max-width: 390px; padding: 28px; background: var(--ink); color: white; border-radius: 16px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 9px 9px 0 var(--blue); margin: 25px 0 32px; }.card-chip { width: 42px; height: 30px; border-radius: 5px; background: var(--yellow); }.card-mockup > span { font-size: 8px; letter-spacing: .15em; }.card-mockup > strong { font-size: 20px; letter-spacing: .08em; }.card-mockup > div:last-child { display: flex; justify-content: space-between; font-size: 10px; }.card-fields { margin-bottom: 18px; }
.order-summary { background: white; padding: 55px 4vw; position: sticky; top: 0; height: 100vh; overflow: auto; }.summary-heading { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ink); padding-bottom: 18px; }.summary-heading h2 { font-size: 22px; margin: 0; }.summary-heading button { border: 0; background: none; font-size: 8px; text-decoration: underline; cursor: pointer; }.summary-item { display: grid; grid-template-columns: 65px 1fr auto; align-items: center; gap: 15px; padding: 18px 0; border-bottom: 1px solid var(--line); }.summary-item > div { width: 65px; height: 78px; position: relative; overflow: hidden; background: #eee; }.summary-item img { width: 100%; height: 100%; object-fit: cover; }.summary-item > div span { position: absolute; right: 3px; bottom: 3px; font-size: 15px; }.summary-item p { display: grid; margin: 0; }.summary-item strong { font-size: 11px; text-transform: uppercase; }.summary-item small { font-size: 8px; color: #777; }.summary-item button { width: max-content; border: 0; background: none; padding: 5px 0 0; font-size: 7px; text-decoration: underline; cursor: pointer; }.summary-item > b { font-size: 9px; }.empty-summary { color: #777; font-size: 11px; padding: 30px 0; }
.promo-row { display: flex; margin-top: 24px; }.promo-row input { min-width: 0; flex: 1; height: 45px; padding: 0 12px; border: 1px solid #aaa; }.promo-row button { border: 1px solid var(--ink); background: var(--ink); color: white; padding: 0 15px; font-size: 8px; font-weight: 800; }.order-summary > small { color: #187b3a; font-size: 8px; }
.summary-totals { margin-top: 28px; border-top: 1px solid var(--ink); padding-top: 20px; }.summary-totals > div { display: flex; justify-content: space-between; padding: 6px 0; font-size: 10px; }.summary-totals .grand-total { border-top: 1px solid var(--line); margin-top: 10px; padding-top: 18px; align-items: baseline; }.grand-total strong { font-size: 22px; }.summary-totals p { text-align: right; color: #888; font-size: 7px; }.summary-trust { display: grid; gap: 7px; margin-top: 30px; padding: 18px; background: #f2f1ed; font-size: 8px; }
.confirmation { text-align: left; max-width: 700px; }.confirmation-mark { width: 82px; height: 82px; display: grid; place-items: center; background: var(--yellow); border: 1px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); font-size: 34px; margin-bottom: 45px; }.confirmation > p:not(.eyebrow) { font-size: 13px; line-height: 1.8; max-width: 570px; }.confirmation-card { margin: 35px 0; border: 1px solid var(--ink); display: grid; grid-template-columns: 1fr 1fr; }.confirmation-card > div { padding: 25px; display: grid; gap: 5px; border-right: 1px solid var(--ink); }.confirmation-card > div:last-child { border: 0; }.confirmation-card small { font-size: 7px; color: #888; }.confirmation-card strong { font-size: 12px; }.confirmation-card span { font-size: 9px; line-height: 1.6; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }.nav { position: absolute; top: 86px; left: 0; right: 0; background: white; border-bottom: 1px solid var(--ink); flex-direction: column; padding: 25px; display: none; }.nav.open { display: flex; }.menu-button { display: block; }.cart-button span { display: none; }
  .hero { grid-template-columns: 1fr; }.hero-copy { padding: 80px 7vw; }.hero-product { min-height: 620px; }.product-grid { grid-template-columns: repeat(2, 1fr); }.section-heading { grid-template-columns: 1fr; }.story { grid-template-columns: 1fr 1.5fr; }.story-stats { grid-column: 1 / -1; border-left: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #333; }.story-stats div { padding-left: 0; }.faq { grid-template-columns: 1fr; }.faq-list { grid-column: 1; grid-row: auto; margin-top: 45px; }.newsletter { grid-template-columns: 1fr; }.footer-top { grid-template-columns: 1.7fr repeat(3, 1fr); }
  .product-detail-hero { grid-template-columns: 1fr; }.product-gallery { min-height: 600px; }.product-meta-section { grid-template-columns: 1fr; }.review-section { grid-template-columns: 1fr; }.checkout-shell { grid-template-columns: 1fr; }.checkout-flow { border-right: 0; padding-right: 5vw; }.order-summary { position: static; height: auto; border-top: 1px solid var(--ink); }.checkout-progress { max-width: 700px; }
}
@media (max-width: 640px) {
  .announcement { font-size: 8px; padding: 0 10px; text-align: center; }.site-header { height: 72px; padding: 0 18px; }.header-logo { width: 102px; height: 50px; }.header-logo img { width: 102px; transform: translateY(-12px); }.nav { top: 72px; }.language-label select { padding-right: 14px; }.hero { min-height: 0; }.hero-copy { padding: 65px 23px 55px; }.hero h1 { font-size: 47px; }.hero-body { font-size: 13px; }.hero-buttons { align-items: flex-start; flex-direction: column; gap: 20px; }.hero-product { min-height: 490px; }.blanket { width: 70%; left: 13%; }.product-sticker { width: 150px; }.spec-strip { grid-template-columns: 1fr; }.spec-strip span { min-height: 58px; border-right: 0; border-bottom: 1px solid var(--line); }.trust-row { grid-template-columns: 1fr; padding: 12px 20px; }.trust-row div { min-height: 56px; border-right: 0; justify-content: flex-start; }.section { padding: 80px 20px; }.section-heading { margin-bottom: 38px; }.section-heading h2, .story h2, .about h2, .faq h2, .newsletter h2 { font-size: 40px; }.filter-row { overflow-x: auto; }.filter-row button { white-space: nowrap; }.product-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.product-visual { height: 190px; }.product-info { min-height: 98px; padding: 12px; }.product-info h3 { font-size: 13px; }.product-info button { width: 32px; height: 32px; }.product-info small { max-width: 90px; white-space: nowrap; overflow: hidden; }.story { padding: 90px 22px; grid-template-columns: 1fr; gap: 60px; }.story-mark { width: 160px; height: 160px; font-size: 58px; }.story-stats { grid-column: 1; }.story-stats strong { font-size: 20px; }.story-stats span { font-size: 6px; }.moment-grid { grid-template-columns: 1fr; }.moment-grid article { border-right: 0; border-bottom: 1px solid var(--ink); min-height: 250px; }.about { grid-template-columns: 1fr; }.about-brand { height: 320px; }.faq-list summary { grid-template-columns: 35px 1fr 20px; font-size: 12px; }.newsletter { padding: 70px 22px; }.newsletter form { flex-direction: column; border-bottom: 0; }.newsletter input { border-bottom: 2px solid white; }.newsletter button { height: 50px; margin-top: 12px; }.footer-top { grid-template-columns: 1fr 1fr; }.footer-logo { grid-column: 1 / -1; margin-bottom: 30px; width: 250px; height: 126px; }.footer-logo img { width: 250px; transform: translateY(-29px); }.footer-bottom { flex-direction: column; gap: 12px; }.footer-bottom a { order: -1; }
  .commerce-header .nav { display: none; }.product-detail-hero { min-height: 0; }.product-gallery { min-height: 440px; }.detail-blanket { width: 58%; }.product-buy-panel { padding: 55px 22px; }.buy-benefits { grid-template-columns: 1fr; }.product-meta-section { padding: 75px 22px; }.meta-grid { grid-template-columns: 1fr; }.meta-grid > div { border-right: 0; }.review-score, .review-list { padding: 65px 22px; }.review-score > strong { font-size: 82px; }.checkout-header { height: 72px; padding: 0 18px; }.secure-label { font-size: 6px; }.checkout-flow { padding: 35px 20px 70px; }.checkout-progress { margin-bottom: 45px; }.checkout-progress span { font-size: 0; }.checkout-progress i { margin: 0 5px; }.checkout-step h1 { font-size: 46px; }.field-grid { grid-template-columns: 1fr; }.field-grid label.full { grid-column: 1; }.step-actions { grid-template-columns: 1fr; }.delivery-options label { grid-template-columns: 20px 36px 1fr; }.delivery-options label > b { grid-column: 3; }.order-summary { padding: 45px 20px; }.card-mockup { padding: 22px; }.card-mockup > strong { font-size: 16px; }.confirmation-card { grid-template-columns: 1fr; }.confirmation-card > div { border-right: 0; border-bottom: 1px solid var(--ink); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
