:root{--ink:#173d40;--muted:#5c6d69;--cream:#fffaf0;--paper:#f4f7f1;--mint:#e9f2ed;--gold:#f8b957;--line:#cad6cb;--coral:#df785f;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%}[hidden],.hidden{display:none!important}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;top:10px;left:10px;z-index:50;background:var(--ink);color:white;padding:9px;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}.brand{display:flex;align-items:center;gap:9px;font-size:15px;line-height:.94;letter-spacing:-.04em;font-weight:750}.brand strong{font-size:24px}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:700}.site-header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}.bag-link{display:flex;align-items:center;gap:9px;font-weight:800}.bag-link span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--gold)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:850}.hero{background:var(--mint);overflow:hidden}.hero-grid{min-height:580px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.hero h1{font-size:clamp(70px,9vw,138px);line-height:.85;letter-spacing:-.075em;margin:20px 0 30px;max-width:650px}.lede{font-size:18px;color:var(--muted);max-width:480px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:11px 22px;border:1.5px solid var(--ink);border-radius:100px;background:var(--gold);color:var(--ink);font-weight:800;text-align:center}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--ink);color:white}.button.outline{background:transparent}.button.small{min-height:42px;padding:8px 17px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero-art{position:relative;min-height:480px;border-radius:48% 48% 14px 14px;background:#f4ddba;overflow:hidden;box-shadow:inset 0 -80px 0 #e6a977}.hero-art .sun{position:absolute;display:block;width:340px;height:340px;border-radius:50%;background:var(--gold);top:30px;left:calc(50% - 170px)}.frame,.art-glasses{position:absolute;display:flex;gap:18px;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-8deg);z-index:2}.frame:before,.art-glasses:before{content:"";position:absolute;left:45%;top:28px;width:13%;height:10px;border-radius:100%;border-top:8px solid var(--ink)}.frame i,.art-glasses i{display:block;width:150px;height:115px;background:rgba(26,65,65,.88);border:12px solid #183a3f;border-radius:32% 32% 52% 52%;box-shadow:inset 0 0 0 4px rgba(255,255,255,.14)}.hero-caption{position:absolute;right:24px;bottom:20px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}.intro{padding:105px 0 35px}.intro-row{display:flex;justify-content:space-between;gap:40px;align-items:end}.intro-row h2{font-size:clamp(36px,5vw,66px);line-height:1;letter-spacing:-.06em;margin:0}.intro-row p{max-width:380px;color:var(--muted)}.collection{padding-bottom:95px}.product-family{margin-top:35px}.product-family h3{font-size:18px;margin-bottom:16px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.product-art{height:245px;position:relative;background:#e8eee0;overflow:hidden}.product-card:nth-child(2n) .product-art{background:#f2dcc6}.product-card:nth-child(3n) .product-art{background:#d6e9e8}.art-sun{position:absolute;width:180px;height:180px;border-radius:50%;background:#fbc477;top:30px;left:calc(50% - 90px)}.art-glasses{gap:10px;top:55%;transform:translate(-50%,-50%) rotate(-10deg)}.art-glasses i{width:84px;height:64px;border-width:7px;border-radius:30% 30% 48% 48%}.art-glasses:before{top:15px;border-top-width:5px}.product-copy{padding:22px}.product-copy h4{font-size:27px;letter-spacing:-.04em;margin:6px 0}.product-copy>p:not(.eyebrow){color:var(--muted);margin:0}.product-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.product-action strong{font-size:24px}.empty-products{color:var(--muted)}.basket-panel{background:var(--ink);color:white;border-radius:var(--radius);padding:38px 44px;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:90px}.basket-panel h2{font-size:40px;margin:4px 0 10px;letter-spacing:-.05em}.basket-panel .button{background:var(--gold);color:var(--ink)}.basket-list{list-style:none;padding:0;margin:0}.basket-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.basket-panel .basket-list li{border-color:#5d7775}.basket-controls{display:flex;gap:4px}.basket-controls button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:50%;width:30px;height:30px}.promise{background:#e6ede5;padding:60px 0}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.promise-grid span{font-size:12px;font-weight:900}.promise-grid h3{font-size:23px;letter-spacing:-.04em;margin:12px 0 4px}.promise-grid p,.muted{color:var(--muted)}.site-footer{padding:40px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px}.checkout-page,.account-page{padding-bottom:90px}.page-title{padding:65px 0 36px}.page-title h1{font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-.07em;margin:10px 0}.page-title p:last-child{color:var(--muted)}.checkout-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:26px;align-items:start}.order-card,.form-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:30px}.order-card h2,.form-card h2{font-size:30px;line-height:1.1;letter-spacing:-.045em;margin:5px 0 20px}.order-card{position:sticky;top:20px}.order-card .basket-list{margin-bottom:22px}.summary-total{display:flex;justify-content:space-between;align-items:center;font-size:18px}.summary-total strong{font-size:25px}.text-link{font-weight:800}.coupon{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.coupon h3{margin:0 0 12px}.coupon label{display:block;font-weight:700;font-size:14px}.coupon-row{display:flex;gap:7px}.coupon-row input{min-width:0;flex:1}.coupon .button{border-radius:10px}.text-button{border:0;background:none;text-decoration:underline;color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field.wide{grid-column:1/-1}.field label{font-size:14px;font-weight:750}.field input,.field select,.coupon input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #aebeb4;border-radius:10px;background:white;color:var(--ink)}.choice-group{border:0;padding:0;margin:24px 0}.choice-group legend{font-weight:850;margin-bottom:12px}.shipping-choice,.gateway-choice{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer}.shipping-choice:has(input:checked),.gateway-choice:has(input:checked){border-color:var(--ink);background:#edf4ed}.shipping-choice input,.gateway-choice input{accent-color:var(--ink)}.pay-button{width:100%}.status{min-height:20px;color:var(--muted);font-size:14px}.payment-ui{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.success-page{padding:80px 0 120px}.success-card{max-width:760px;margin:auto;text-align:center;padding:55px}.success-card h1{font-size:clamp(36px,6vw,65px);letter-spacing:-.06em}.success-sun{font-size:58px;color:var(--coral)}.success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:30px 0}.setup-panel{border-top:1px solid var(--line);padding-top:24px}.setup-panel h2{font-size:23px}.auth-card{max-width:540px}.auth-card hr{border:0;border-top:1px solid var(--line);margin:26px 0}.account-welcome{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.account-welcome h2{font-size:48px;letter-spacing:-.06em;margin:0}.account-stats{display:flex;gap:14px;margin-bottom:22px}.account-stats>div{background:var(--mint);border-radius:15px;padding:15px 22px;min-width:130px}.account-stats span,.account-stats strong{display:block}.account-stats strong{font-size:28px}.record{border-top:1px solid var(--line);padding:18px 0}.record-row,.record-actions{display:flex;justify-content:space-between;gap:20px;align-items:center}.record-row p{margin:3px 0;color:var(--muted)}.record-actions{justify-content:flex-start;margin-top:12px}.record-actions button{border:0;background:none;color:var(--ink);padding:0;text-decoration:underline;font-weight:750}.record-detail{padding-top:12px}.security-card{margin-top:24px}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}@media(max-width:900px){.hero-grid,.checkout-grid{grid-template-columns:1fr}.hero-grid{padding-top:45px;padding-bottom:45px}.hero-art{min-height:360px}.product-grid{grid-template-columns:repeat(2,1fr)}.order-card{position:static}}@media(max-width:600px){.shell{width:min(100% - 28px,1180px)}.site-header{min-height:72px}.site-header nav{display:none}.hero h1{font-size:70px}.hero-art{min-height:300px}.frame i{width:95px;height:75px;border-width:8px}.intro{padding-top:70px}.intro-row,.basket-panel{display:block}.product-grid,.promise-grid,.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.basket-panel{padding:26px}.basket-panel .button{margin-top:20px}.order-card,.form-card{padding:23px}.record-row{align-items:flex-start}}

/* Store catalog and payment step. Product photos and prices come from the public contract. */
.collection-toolbar{display:flex;align-items:end;gap:18px;padding-top:15px;padding-bottom:8px}
.collection-toolbar>div{margin-right:auto}.collection-toolbar strong{display:block;font-size:25px;letter-spacing:-.04em}
.catalog-search,.catalog-sort{display:grid;gap:5px;font-size:13px;font-weight:750}
.catalog-search input,.catalog-sort select{min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);padding:9px 13px}
.catalog-search input{width:min(340px,40vw)}.catalog-sort select{min-width:190px}
.collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.collection .empty-products{grid-column:1/-1}.product-family{margin-top:20px}.product-grid{display:grid;grid-template-columns:1fr;gap:18px}.product-card{height:100%;display:flex;flex-direction:column;border-radius:20px;box-shadow:0 9px 25px rgba(23,61,64,.05);transition:transform .2s,box-shadow .2s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(23,61,64,.12)}
.product-art{height:310px;background:#e6ece6}.product-art>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.product-art-fallback{position:absolute;inset:0}.product-image-label{position:absolute;top:15px;left:15px;padding:6px 10px;border-radius:20px;background:rgba(255,250,240,.92);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:850}
.product-copy{display:flex;flex-direction:column;flex:1;padding:23px}.product-kicker{display:flex;gap:8px;min-height:18px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800;color:var(--muted)}
.product-kicker span+span:before{content:'·';margin-right:8px}.product-copy h3{font-size:29px;line-height:1.1;letter-spacing:-.05em;margin:8px 0 12px}.product-description{color:var(--muted);margin:0 0 8px}.product-sku{color:var(--muted);font-size:12px;margin:0}.product-sku:before{content:'SKU '}
.product-buy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:22px}.product-price{display:flex;align-items:baseline;gap:8px}.product-price strong{font-size:25px}.product-price s{font-size:14px;color:var(--muted)}.product-availability{display:flex;align-items:center;gap:6px;margin:13px 0 0;font-size:12px;color:var(--muted)}.stock-dot{width:7px;height:7px;border-radius:50%;background:#54a073}
.product-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;color:var(--muted);font-size:13px}.product-details summary{color:var(--ink);font-weight:800;cursor:pointer}.product-details p{margin:9px 0}.product-gallery{display:flex;gap:8px;overflow:auto;margin-top:12px}.product-gallery img{width:75px;height:75px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.basket-addons{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.basket-addons h3{margin:0 0 14px;font-size:22px;letter-spacing:-.04em}.addon-field{display:grid;gap:7px;margin-bottom:13px;font-size:14px;font-weight:750}.addon-field input:not([type=checkbox]),.addon-field select{min-height:46px;border:1px solid var(--line);border-radius:10px;padding:10px;background:white;color:var(--ink)}.addon-field input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}
[data-sc-payment-stage=active] .basket-controls{display:none}.payment-ui{margin-top:5px;border-top:0;padding-top:0}.payment-ui h3{font-size:22px;letter-spacing:-.04em;margin:0 0 20px}.payment-ui #provider-container{min-height:110px}.payment-ui .sc-payment-button{display:block;width:100%;min-height:54px;margin-top:24px;padding:12px 24px;border:1px solid var(--ink);border-radius:100px;background:var(--ink);color:#fff;font-weight:800;font-size:16px;line-height:1.2;font-family:inherit;cursor:pointer;transition:background .2s,transform .2s}.payment-ui .sc-payment-button:hover{background:#24565a;transform:translateY(-2px)}.payment-ui .sc-payment-button:disabled{opacity:.55;cursor:wait}
@media(max-width:900px){.collection{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-toolbar{flex-wrap:wrap}.collection-toolbar>div{width:100%}.catalog-search input{width:min(500px,65vw)}}
@media(max-width:600px){.collection{grid-template-columns:1fr}.collection-toolbar{display:grid}.catalog-search input,.catalog-sort select{width:100%}.product-art{height:280px}.product-copy h3{font-size:27px}.product-buy{align-items:end}.product-buy .button{min-width:120px}}

.product-art:has(img[src]) .product-art-fallback{display:none}.product-description:empty,.product-sku:empty,.product-price s:empty,.product-kicker span:empty,.product-details p:empty{display:none}
