/* Illustrated storefront: bold type and product-specific hover/focus motion. */
[data-page="shop"] { --shop-accent:#128e9d; --shop-accent-dark:#087b8a; --shop-spring:cubic-bezier(.22,1.2,.36,1); background:#f5f7fb; }
[data-page="shop"]:before { content:""; position:absolute; inset:0 0 auto; height:80px; background:#fff; border-bottom:1px solid #e6ebf2; }
[data-page="shop"] .wrap { width:min(1400px,calc(100% - 112px)); }
[data-page="shop"] .topbar { position:relative; border-bottom:0; min-height:80px; }
[data-page="shop"] .brand strong { font-size:18px; font-weight:700; }
[data-page="shop"] .brand small { font:10px/1.8 var(--ds-font); letter-spacing:.09em; }
[data-page="shop"] .logo { background:#e9f5f6; color:var(--shop-accent-dark); font-weight:700; box-shadow:0 4px 14px #118da00c; }
[data-page="shop"] .nav { gap:8px; }
[data-page="shop"] .nav a,[data-page="shop"] .nav button { display:flex!important; align-items:center; gap:7px; min-height:40px; padding:8px 10px; border:0; border-radius:10px; background:none; font-size:12px; font-weight:500; color:#738098; white-space:nowrap; }
[data-page="shop"] .nav .active { background:#e8f5f5; color:var(--shop-accent-dark); font-weight:650; }
[data-page="shop"] .nav a:hover,[data-page="shop"] .nav button:hover { color:var(--shop-accent-dark); }
[data-page="shop"] .nav svg,[data-page="shop"] .account svg { width:17px; height:17px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
[data-page="shop"] .account { display:flex; align-items:center; gap:8px; font-size:12px; border:1px solid #e8ecf2; border-radius:12px; padding:10px 12px; background:#fff; }
.storefront { padding-top:36px; }
.shop-masthead { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; padding-bottom:30px; }
.masthead-copy { min-width:0; }
.storefront .eyebrow { color:var(--shop-accent-dark); font:650 11px/1.5 var(--ds-font); letter-spacing:.12em; }
.masthead-copy h1 { margin:10px 0 12px; font-size:40px; line-height:1.25; font-weight:800; letter-spacing:-.025em; }
.masthead-copy h1 span { display:inline; margin-left:6px; color:#657287; }
.masthead-copy>p { margin:0; font-size:14px; color:#7a879b; }
.masthead-tools { display:flex; align-items:center; gap:10px; flex-shrink:0; padding-bottom:3px; width:420px; }
.catalog-search { display:flex; align-items:center; gap:10px; min-width:0; flex:1; min-height:48px; padding:0 14px; border:1px solid #e4eaf2; border-radius:13px; background:#fff; box-shadow:0 8px 24px #263d6206; transition:border-color var(--ds-micro) var(--ds-ease),box-shadow var(--ds-micro) var(--ds-ease); }
.catalog-search:focus-within { border-color:#82c3ce; box-shadow:0 0 0 3px #128e9d13; }
.catalog-search>svg,.share-store svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; color:#8090a8; flex:none; }
.catalog-search input[type="search"] { flex:1; min-height:46px; min-width:0; padding:10px 0; border:0; background:none; border-radius:0; font-size:13px; }
.catalog-search input:focus { box-shadow:none; }
.catalog-search input::-webkit-search-cancel-button { display:none; }
.catalog-search button { border:0; background:none; color:#8190a7; font-size:21px; padding:4px; }
.share-store { display:flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:10px 16px; border:1px solid #e4eaf2; border-radius:13px; background:#fff; box-shadow:0 8px 24px #263d6206; color:var(--shop-accent-dark); font-size:12px; font-weight:650; white-space:nowrap; }
.share-store svg { color:var(--shop-accent); width:18px; }
.share-store:hover { border-color:#b7dfe4; background:#fafdfe; }
.share-store:active { transform:translateY(1px); }
.catalog-workspace { padding-bottom:40px; }
.catalog-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:4px; }
.catalog-heading h2 { margin:6px 0 0; font-size:26px; font-weight:750; letter-spacing:-.02em; }
.catalog-toolbar .filters { display:flex; flex-wrap:nowrap; align-items:center; gap:6px; margin:0; border:0; overflow-x:auto; padding:2px; }
.catalog-toolbar .filter { display:flex; flex-shrink:0; gap:7px; align-items:center; min-height:36px; padding:6px 11px; border:1px solid transparent; border-radius:8px; background:none; color:#79869b; font-size:12px; font-weight:550; }
.filter-mark { display:grid; place-items:center; width:15px; height:15px; }
.filter-mark .brand-logo,.filter-mark svg { width:15px; height:15px; }
.filter small { display:none; }
.catalog-toolbar .filter.selected { background:#e5f3f4; border-color:#d6eaed; color:var(--shop-accent-dark); }
.catalog-toolbar .filter:hover { color:var(--shop-accent-dark); }
.catalog-result-meta { display:flex; justify-content:flex-end; margin-top:8px; margin-bottom:24px; min-height:17px; color:#8b98ad; font-size:11px; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.service-tile { position:relative; display:flex; flex-direction:column; min-width:0; padding:28px; background:#fff; border:1px solid #e4e9f0; border-radius:24px; box-shadow:0 8px 28px #223b6005; transform:translateY(0); transition:transform 420ms var(--shop-spring),border-color 240ms var(--ds-ease),box-shadow 350ms var(--ds-ease); overflow:visible; }
/* Keep the pointer within the card's hit area as the surface lifts. */
.service-tile:after { content:""; position:absolute; top:100%; left:0; right:0; height:12px; }
.tile-heading h3 { margin:0 0 8px; font-size:28px; font-weight:800; line-height:1.3; letter-spacing:-.025em; }
.tile-heading h3 em { font-style:normal; color:var(--shop-accent); }
[data-brand="gemini"] .tile-heading h3 em { color:#7667df; }
[data-brand="claude"] .tile-heading h3 em { color:#c1804d; }
.tile-description { margin:0; font-size:14px; color:#7e8b9e; line-height:1.75; min-height:25px; }
.product-art { position:relative; display:grid; place-items:center; height:220px; flex-shrink:0; margin:22px 0 24px; border-radius:20px; overflow:hidden; isolation:isolate; }
.tile-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; }
.tile-price { color:#1d2a3c; font-size:38px; line-height:1.2; font-weight:800; letter-spacing:-.025em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tile-price small { display:inline-block; color:#8b98ac; font-size:12px; margin-left:4px; font-weight:400; letter-spacing:0; }
.tile-action { display:flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:12px 20px; background:#0c7f8e; color:#fff; font-size:14px; font-weight:700; border-radius:14px; white-space:nowrap; transition:background var(--ds-micro) var(--ds-ease),transform var(--ds-micro) var(--ds-ease); }
.tile-action svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform 220ms var(--ds-ease); }
.tile-availability { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; font-size:12px; color:#8b98ad; }
.tile-availability .status { display:flex; align-items:center; gap:5px; color:#8090a2; }
.tile-availability i { width:4px; height:4px; background:#5e9c92; border-radius:50%; }
.tile-availability [data-stock="empty"] i { background:#99a4b3; }
.service-tile:focus-visible { z-index:2; transform:translateY(-8px); border-color:#a6dfe5; box-shadow:0 22px 46px #223b6014,0 5px 14px #223b6008; }
.service-tile:is(:hover,:focus-visible) .tile-action { background:#086b78; }
.service-tile:is(:hover,:focus-visible) .tile-action svg { transform:translateX(3px); }
@media(hover:hover) and (pointer:fine) { .service-tile:hover { z-index:2; transform:translateY(-8px); border-color:#a6dfe5; box-shadow:0 22px 46px #223b6014,0 5px 14px #223b6008; } .service-tile:active { transform:translateY(-3px); transition-duration:120ms; } }
.service-tile:active .tile-action { transform:translateY(1px); }
.product-grid[data-visible="1"] { grid-template-columns:1fr; max-width:780px; }

/* Tier faces stay stacked at rest and open on pointer or keyboard focus. */
.art-chatgpt { grid-template-columns:minmax(0,1fr); background:radial-gradient(ellipse at 50% 65%,#e4efef80,transparent 72%); }
.gpt-plan-board { position:relative; width:min(338px,calc(100% - 24px)); height:214px; }
.gpt-plan-card { display:flex; flex-direction:column; position:absolute; left:50%; top:50%; width:calc(50% - 11px); height:100px; padding:12px 13px; border:1px solid #ffffffb3; border-radius:14px; color:var(--gpt-ink); background:linear-gradient(135deg,var(--gpt-light),var(--gpt-color)); box-shadow:0 9px 17px #24414f14; transform:translate(calc(-50% + var(--gpt-stack-x)),calc(-50% + var(--gpt-stack-y))) rotate(var(--gpt-rotation)) scale(1.35); transition:transform 560ms var(--shop-spring),box-shadow 380ms var(--ds-ease); }
.gpt-tier-0 { z-index:4; --gpt-ink:#2a584a; --gpt-light:#e4f3ec; --gpt-color:#c6e2d4; --gpt-rotation:-8deg; --gpt-stack-x:-20px; --gpt-stack-y:14px; --gpt-open:translate(calc(-100% - 11px),calc(-100% - 7px)); }
.gpt-tier-1 { z-index:3; --gpt-ink:#31506b; --gpt-light:#e6eff9; --gpt-color:#cbdced; --gpt-rotation:-2deg; --gpt-stack-x:-5px; --gpt-stack-y:4px; --gpt-open:translate(11px,calc(-100% - 7px)); }
.gpt-tier-2 { z-index:2; --gpt-ink:#5c4a74; --gpt-light:#eee8f6; --gpt-color:#ddd0eb; --gpt-rotation:5deg; --gpt-stack-x:10px; --gpt-stack-y:-7px; --gpt-open:translate(calc(-100% - 11px),7px); }
.gpt-tier-3 { z-index:1; --gpt-ink:#695432; --gpt-light:#f6efde; --gpt-color:#e8d8b5; --gpt-rotation:11deg; --gpt-stack-x:22px; --gpt-stack-y:-17px; --gpt-open:translate(11px,7px); }
.gpt-card-brand { display:block; font-size:10px; line-height:1.2; opacity:.8; }
.gpt-plan-card>strong { display:block; margin:4px 0; font-size:20px; font-weight:750; line-height:1.1; letter-spacing:-.035em; white-space:nowrap; }
.gpt-card-footer { margin-top:auto; display:flex; align-items:baseline; justify-content:flex-end; gap:4px; white-space:nowrap; }
.gpt-card-footer b { font-size:23px; line-height:1.15; font-weight:750; letter-spacing:-.04em; }
.gpt-card-footer>span { font-size:10px; opacity:.8; }
.service-tile:is(:hover,:focus-visible) .gpt-plan-card { transform:var(--gpt-open); box-shadow:0 12px 20px #24414f1c; }
.service-tile:is(:hover,:focus-visible) .gpt-tier-1 { transition-delay:30ms; }
.service-tile:is(:hover,:focus-visible) .gpt-tier-2 { transition-delay:60ms; }
.service-tile:is(:hover,:focus-visible) .gpt-tier-3 { transition-delay:90ms; }
.art-pro { background:radial-gradient(ellipse at 50% 58%,#dae6f1,transparent 69%),#f4f7fb; }
.pro-pass { position:relative; z-index:2; width:264px; height:166px; padding:20px; border:1px solid #424d5a; border-radius:18px; background:linear-gradient(145deg,#283240,#151c28); color:#f0f5fa; box-shadow:0 20px 22px #16293f24; transform:perspective(700px) rotateY(-10deg) rotateZ(-7deg); transition:transform 520ms var(--shop-spring); }
.pro-pass-top { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:#c3d0e1; }
.pro-pass-top .brand-logo { width:25px; height:25px; }
.pro-pass>strong { display:block; font-size:38px; font-weight:750; letter-spacing:-.025em; line-height:1.25; margin:14px 0 12px; }
.pro-pass-bottom { display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#c3d0e1; }
.pro-pass-bottom b { font-size:20px; color:#fff; }
.pro-orbit { position:absolute; width:280px; height:140px; border:1px solid #a4bdce80; border-radius:50%; transform:rotate(-24deg); transition:transform 700ms var(--ds-ease); }
.orbit-two { width:220px; height:190px; transform:rotate(20deg); opacity:.45; }
.pro-caption { position:absolute; bottom:12px; font:8px var(--ds-mono); letter-spacing:.12em; color:#8495aa; }
.service-tile:is(:hover,:focus-visible) .pro-pass { transform:perspective(700px) rotateY(7deg) rotateZ(3deg) translateY(-5px); }
.service-tile:is(:hover,:focus-visible) .orbit-one { transform:rotate(0deg); }
.service-tile:is(:hover,:focus-visible) .orbit-two { transform:rotate(-12deg); }
.art-gemini { background:radial-gradient(ellipse at 46% 48%,#e3dcff,transparent 55%),linear-gradient(120deg,#f4f0ff,#faf8ff); }
.gemini-star { position:absolute; top:52px; left:calc(50% - 56px); color:#7d6be6; transition:transform 600ms var(--shop-spring); }
.gemini-star .brand-logo { width:112px; height:112px; filter:drop-shadow(0 12px 20px #8b78eb24); }
.gemini-orbit { position:absolute; top:34px; left:calc(50% - 111px); width:222px; height:152px; border:1px solid #d6ccff; border-radius:50%; transform:rotate(44deg); transition:transform 650ms var(--ds-ease); }
.gemini-orbit:after { content:""; width:7px; height:7px; background:#9274f2; border-radius:50%; position:absolute; top:12px; left:50px; box-shadow:0 0 14px #ad8efb66; }
.orbit-second { opacity:.3; transform:rotate(-42deg) scale(.9); }
.gemini-plan { position:absolute; bottom:18px; right:18px; display:flex; flex-direction:column; align-items:flex-end; gap:2px; color:#7b6bcf; }
.gemini-plan strong { font-size:18px; font-weight:750; letter-spacing:-.035em; }
.gemini-plan>span { font-size:10px; color:#9a91b6; }
.art-annual .gemini-plan strong { font-size:42px; line-height:1; }
.gemini-plan small { font-size:16px; margin-left:4px; font-weight:550; }
.art-spark { position:absolute; color:#b49cf8; font-size:12px; transition:transform 650ms var(--ds-ease),opacity 650ms var(--ds-ease); }
.spark-one { top:37px; right:23%; font-size:10px; }
.spark-two { bottom:38px; left:22%; }
.spark-three { top:76px; left:16%; font-size:9px; opacity:.55; }
.service-tile:is(:hover,:focus-visible) .gemini-orbit { transform:rotate(8deg); }
.service-tile:is(:hover,:focus-visible) .orbit-second { transform:rotate(-70deg) scale(.9); }
.service-tile:is(:hover,:focus-visible) .gemini-star { transform:rotate(16deg) scale(1.05); }
.service-tile:is(:hover,:focus-visible) .spark-one { transform:translate(6px,-6px); }
.service-tile:is(:hover,:focus-visible) .spark-two { transform:translate(-4px,5px); }
.art-claude { background:radial-gradient(ellipse at 60% 50%,#f6e0c5,transparent 62%),#fcf4e9; }
.claude-sun { position:absolute; top:26px; left:23px; transition:transform 750ms var(--ds-ease); }
.claude-sun .brand-logo { width:60px; height:60px; opacity:.36; }
.idea-paper { position:absolute; width:150px; height:160px; border:1px solid #e4d6c6; border-radius:14px; background:#fffcf7; padding:16px; box-shadow:0 12px 22px #7c54261a; transition:transform 550ms var(--shop-spring); }
.paper-back { top:24px; left:calc(50% - 32px); transform:rotate(11deg); background:#f0e2cf; }
.paper-back>span { font:7px var(--ds-mono); letter-spacing:.08em; color:#a58966; }
.paper-back i { display:block; height:3px; border-radius:2px; background:#ddc9ae; margin-top:16px; }
.paper-back i:last-child { width:65%; }
.paper-front { top:32px; left:calc(50% - 96px); transform:rotate(-7deg); }
.paper-top { display:flex; justify-content:space-between; align-items:center; color:#94724f; font-size:11px; }
.paper-top b { color:#d18b63; font-size:20px; line-height:1; }
.paper-front>strong { display:block; font:750 36px/1.2 Georgia,var(--ds-font); letter-spacing:-.025em; margin-top:10px; color:#5e442f; }
.paper-front p { font-size:10px; color:#a2886c; margin:4px 0 10px; }
.paper-period { font-size:9px; color:#957656; border-top:1px solid #eee0cf; padding-top:8px; display:block; }
.idea-chip { position:absolute; padding:7px 11px; border-radius:9px; background:#fff9f1; color:#a9754e; box-shadow:0 5px 12px #8965360c; font-size:11px; font-weight:650; transition:transform 650ms var(--ds-ease); }
.chip-one { top:24px; right:16px; transform:rotate(8deg); }
.chip-two { bottom:21px; left:16px; transform:rotate(-8deg); }
.art-max { background:radial-gradient(ellipse at center,#f2dcc0,transparent 68%),#fbf4e9; }
.art-max .paper-front>strong { font-size:36px; }
.service-tile:is(:hover,:focus-visible) .paper-front { transform:translate(-7px,-7px) rotate(-12deg); }
.service-tile:is(:hover,:focus-visible) .paper-back { transform:translate(12px,-4px) rotate(17deg); }
.service-tile:is(:hover,:focus-visible) .claude-sun { transform:rotate(25deg); }
.service-tile:is(:hover,:focus-visible) .chip-one { transform:translate(4px,-5px) rotate(2deg); }
.service-tile:is(:hover,:focus-visible) .chip-two { transform:translate(-4px,4px) rotate(-12deg); }
.service-tile:is(:hover,:focus-visible) .paper-back { transition-delay:35ms; }
.service-tile:is(:hover,:focus-visible) .idea-chip { transition-delay:55ms; }
.art-generic { background:var(--ds-soft); color:var(--ds-caption); }
.art-generic .brand-logo { width:80px; height:80px; }
.art-generic b { font:11px var(--ds-mono); letter-spacing:.1em; }
.catalog-assurance { display:flex; flex-wrap:wrap; align-items:center; gap:24px; padding-top:24px; font-size:11px; color:#8b98ad; }
.catalog-assurance span { display:flex; align-items:center; gap:7px; }
.catalog-assurance svg { width:14px; height:14px; fill:none; stroke:#659b92; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.buying-guide { border-top:1px solid var(--ds-line); padding:40px 0; }
.guide-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.guide-heading h2 { font-size:28px; font-weight:750; margin:8px 0 0; }
.guide-heading>a { font-size:12px; color:var(--ds-secondary); }
.guide-heading>a:hover,.help-heading>a:hover { color:var(--shop-accent-dark); }
.buying-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.buying-steps article { display:flex; gap:16px; padding-right:24px; }
.buying-steps article+article { border-left:1px solid var(--ds-line); padding-left:24px; }
.buying-steps article>span { color:var(--shop-accent); font:600 12px/26px var(--ds-mono); }
.buying-steps h3 { font-size:17px; font-weight:700; margin:0 0 8px; }
.buying-steps p { font-size:12px; margin:0; }
.shop-help { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; padding:36px; margin-bottom:40px; border-radius:24px; background:#edf2f7; }
.help-heading h2 { font-size:29px; font-weight:750; margin:12px 0 16px; }
.help-heading p { font-size:12px; max-width:300px; margin-bottom:20px; }
.help-heading>a { font-size:12px; }
.shop-help .faq-list summary { padding:17px 32px 17px 0; font-size:13px; font-weight:550; }
.shop-help .faq-list p { font-size:12px; }
.shop-help .faq-list details:last-child { border-bottom:0; }
.customer-float { position:fixed; right:9px; bottom:100px; z-index:25; display:flex; flex-direction:column; align-items:center; gap:10px; width:44px; padding:14px 6px; border:1px solid #e3eaf2; border-radius:20px; background:#fff; box-shadow:0 12px 24px #20374f08; color:#728097; font-size:12px; line-height:1.8; }
.customer-float svg { width:23px; height:23px; fill:none; stroke:var(--shop-accent); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.customer-float:hover { border-color:#a6dfe5; }

@media(min-width:1680px) {
 .masthead-copy h1 { font-size:42px; }
}
@media(max-width:1280px) {
 [data-page="shop"] .wrap { width:calc(100% - 96px); }
 .masthead-tools { width:360px; }
 .masthead-copy h1 { font-size:36px; }
 [data-page="shop"] .nav { gap:2px; }
 [data-page="shop"] .nav a,[data-page="shop"] .nav button { padding:8px; gap:5px; font-size:11px; }
 .product-grid { gap:32px; }
 .tile-heading h3 { font-size:28px; }
}
@media(max-width:1024px) {
 [data-page="shop"] .wrap { width:calc(100% - 64px); }
 .shop-masthead { align-items:flex-start; flex-direction:column; gap:24px; }
 .masthead-copy h1 span { display:inline; margin-left:8px; }
 .masthead-tools { width:100%; max-width:560px; }
 .product-grid { gap:28px; }
 .service-tile { padding:28px; }
 .product-art { height:216px; }
 .pro-pass { width:256px; }
 .tile-heading h3 { font-size:26px; }
 .tile-price { font-size:38px; }
 [data-page="shop"] .nav svg { display:none; }
 [data-page="shop"] .account span { display:none; }
 .buying-steps { gap:16px; }
 .buying-steps article { padding-right:8px; }
 .buying-steps article+article { padding-left:16px; }
}
@media(max-width:900px) {
 .product-grid { grid-template-columns:1fr; gap:32px; }
 .service-tile { padding:28px; }
 .product-art { height:220px; }
 .catalog-toolbar { align-items:flex-start; flex-direction:column; gap:20px; }
 .catalog-toolbar .filters { max-width:100%; }
}
@media(max-width:768px) {
 [data-page="shop"] .wrap { width:calc(100% - 48px); }
 [data-page="shop"] .brand strong { font-size:16px; }
 [data-page="shop"] .brand small { font-size:8px; }
 [data-page="shop"] .topbar { gap:12px; }
 [data-page="shop"] .nav a,[data-page="shop"] .nav button { font-size:10px; padding:8px 6px; }
 .storefront { padding-top:30px; }
 .masthead-copy h1 { font-size:34px; }
 .masthead-copy h1 span { display:block; margin:0; }
 .product-grid { gap:28px; }
 .product-art { height:220px; }
 .customer-float { display:none; }
 .buying-steps { grid-template-columns:1fr; gap:24px; }
 .buying-steps article,.buying-steps article+article { padding:0; border:0; gap:20px; }
 .shop-help { gap:32px; padding:28px; }
}
@media(max-width:580px) {
 [data-page="shop"]:before { height:126px; }
 [data-page="shop"] .wrap { width:calc(100% - 32px); }
 [data-page="shop"] .topbar { padding:16px 0 12px; gap:12px; }
 [data-page="shop"] .brand small { font-size:9px; }
 [data-page="shop"] .account { margin-left:auto; padding:8px 10px; }
 [data-page="shop"] .nav { order:3; width:100%; overflow-x:auto; flex-wrap:nowrap; justify-content:flex-start; gap:2px; }
 [data-page="shop"] .nav a,[data-page="shop"] .nav button { flex-shrink:0; font-size:11px; min-height:36px; padding:8px 11px; }
 .storefront { padding-top:28px; }
 .shop-masthead { gap:20px; padding-bottom:28px; }
 .masthead-copy h1 { font-size:30px; line-height:1.3; margin:10px 0 12px; }
 .masthead-copy>p { font-size:12px; }
 .masthead-tools { gap:8px; }
 .catalog-search { padding:0 12px; min-height:44px; border-radius:12px; }
 .catalog-search input[type="search"] { font-size:16px; min-height:44px; }
 .catalog-search input::placeholder { font-size:12px; }
 .share-store { min-height:44px; padding:10px 12px; border-radius:12px; }
 .share-store>span { display:none; }
 .catalog-toolbar .filter { padding:7px 10px; gap:6px; font-size:11px; }
 .filter-mark,.filter-mark svg,.filter-mark .brand-logo { width:14px; height:14px; }
 .catalog-result-meta { font-size:10px; margin-top:10px; margin-bottom:24px; }
 .product-grid { gap:24px; }
 .service-tile { padding:24px; border-radius:24px; }
 .tile-heading h3 { font-size:26px; }
 .tile-description { font-size:12px; }
 .tile-price { font-size:36px; }
 .tile-action { min-height:48px; font-size:13px; padding:12px 18px; gap:10px; }
 .tile-availability { font-size:11px; margin-top:18px; }
 .product-art { height:210px; margin:22px 0 24px; }
 .gpt-plan-board { height:202px; width:min(338px,calc(100% - 16px)); }
 .gpt-plan-card { height:94px; padding:10px; }
 .gpt-plan-card>strong { font-size:18px; }
 .gpt-card-footer b { font-size:21px; }
 .pro-pass { width:250px; height:170px; }
 .pro-pass>strong { font-size:38px; }
 .paper-front { top:34px; }
 .paper-back { top:24px; }
 .gemini-star { top:48px; left:calc(50% - 56px); }
 .gemini-orbit { top:29px; }
 .catalog-assurance { gap:8px 16px; font-size:10px; padding-top:28px; }
 .catalog-workspace { padding-bottom:36px; }
 .buying-guide { padding:32px 0; }
 .guide-heading { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:24px; }
 .guide-heading h2 { font-size:25px; }
 .guide-heading>a { font-size:11px; }
 .buying-steps h3 { font-size:16px; }
 .shop-help { grid-template-columns:1fr; gap:12px; padding:28px 24px; margin-bottom:28px; }
 .help-heading h2 { font-size:27px; }
 .help-heading h2 br { display:none; }
 .help-heading p { font-size:12px; }
 .shop-help .faq-list summary { font-size:13px; }
}
/* Touch gets press feedback without keeping hover poses after a tap. */
.tile-price.is-pending { font-size:22px; letter-spacing:0; }
[data-brand="duolingo"] .tile-heading h3 em { color:#72a83b; }
.art-duolingo { background:linear-gradient(135deg,#f0f9ed 0%,#e5f5eb 52%,#edf4ff 100%); }
.language-glow { position:absolute; width:310px; height:210px; border-radius:50%; background:radial-gradient(ellipse,#aee89e6b,transparent 70%); }
.language-scene { position:absolute; left:50%; top:50%; width:340px; max-width:calc(100% - 20px); height:210px; transform:translate(-50%,-50%); }
.language-pass-back { position:absolute; top:27px; right:8px; width:210px; height:152px; border:1px solid #ffffffcf; border-radius:19px; background:linear-gradient(135deg,#aedcf0,#cfcef6); transform:rotate(13deg); transition:transform 650ms var(--shop-spring); }
.language-pass { position:absolute; z-index:2; top:35px; right:18px; width:210px; height:152px; padding:16px 18px; border:1px solid #40575d; border-radius:18px; background:linear-gradient(140deg,#254846,#142b36 70%,#26304e); box-shadow:0 18px 26px #153b3626; color:#fff; transform:rotate(6deg); transition:transform 650ms var(--shop-spring),box-shadow 500ms var(--ds-ease); }
.language-pass>span:first-child { display:block; text-align:right; font-size:8px; letter-spacing:.18em; color:#bfd2cd; }
.language-super { display:block; margin:6px 0 0; text-align:right; font-size:23px; line-height:1; font-weight:800; letter-spacing:-.05em; color:#bcf878; }
.language-super>span { margin-left:4px; font-size:14px; color:#a9dff2; vertical-align:top; }
.language-pass strong { display:block; margin:14px 0 0; text-align:right; font-size:37px; line-height:1; font-weight:800; letter-spacing:-.04em; }
.language-pass strong small { font-size:14px; margin-left:5px; font-weight:650; }
.language-member { display:block; margin-top:7px; text-align:right; font-size:10px; color:#bdd0cd; font-weight:550; }
.language-pass-line { position:absolute; top:17px; bottom:17px; left:24px; width:1px; background:linear-gradient(transparent,#8ad1ad55,transparent); }
.language-owl { position:absolute; z-index:3; left:0; top:43px; width:205px; filter:drop-shadow(0 12px 13px #2d681e24); transform:translateY(0) rotate(-5deg); transition:transform 650ms var(--shop-spring),filter 500ms var(--ds-ease); }
.language-owl img { display:block; width:100%; height:auto; }
.language-ground { position:absolute; bottom:9px; left:34px; width:145px; height:12px; border-radius:50%; background:#467a4029; filter:blur(9px); transition:transform 650ms var(--shop-spring),opacity 500ms var(--ds-ease); }
.language-star { position:absolute; color:#81b470; transition:transform 650ms var(--shop-spring); }
.star-near { top:29px; left:28px; font-size:19px; }
.star-far { bottom:18px; right:3px; font-size:26px; color:#9cb7cf; }
.language-cdk { position:absolute; left:18px; bottom:16px; font-size:9px; font-weight:650; letter-spacing:.1em; color:#759c7a; }
@media(max-width:580px) { .language-scene { width:290px; } .language-owl { width:183px; left:3px; top:54px; } .language-pass,.language-pass-back { width:184px; } .language-pass { right:13px; } .language-pass-back { right:2px; } .language-super { font-size:21px; } .language-pass strong { font-size:34px; } .star-far { right:3px; } }
[data-brand="sms"] .tile-heading h3 em { color:#447eab; }
.art-sms { background:radial-gradient(ellipse at 40% 70%,#c7e4e7,transparent 65%),linear-gradient(135deg,#edf3fb,#f3fafa); }
.sms-halo { position:absolute; width:250px; height:156px; border:1px solid #bdd4e4; border-radius:50%; transform:rotate(-18deg); }
.sms-console { position:absolute; width:190px; height:130px; left:calc(50% - 25px); top:38px; padding:15px; border:1px solid #496270; border-radius:14px; color:#c2efdc; background:linear-gradient(135deg,#29414d,#152b36); box-shadow:0 17px 24px #1e3f521c; transform:rotate(7deg); transition:transform 600ms var(--shop-spring); }
.sms-console-top { display:flex; align-items:center; gap:4px; }
.sms-console-top i { width:4px; height:4px; background:#8fc6bc; border-radius:50%; }
.sms-console-top b { margin-left:auto; font-size:6px; letter-spacing:.05em; }
.sms-console-brand { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:21px; color:#fff; }
.sms-console-brand img { display:block; width:36px; height:36px; object-fit:contain; flex-shrink:0; }
.sms-console-brand b { font-size:19px; font-weight:700; letter-spacing:-.03em; }
.sms-console-label { display:block; margin-top:11px; text-align:right; font-size:8px; letter-spacing:.1em; }
.sms-sim { position:relative; z-index:2; width:104px; height:144px; margin-left:-100px; padding:15px; border:1px solid #ffffffd9; border-radius:13px 30px 13px 13px; color:#385672; background:linear-gradient(145deg,#f8fcff,#cde0ee); box-shadow:0 17px 23px #263f541f; transform:rotate(-9deg); transition:transform 600ms var(--shop-spring),box-shadow 500ms var(--ds-ease); }
.sms-sim>span { display:block; font-size:9px; font-weight:700; letter-spacing:.09em; }
.sms-sim svg { display:block; width:52px; height:43px; margin:15px auto 10px; color:#a59261; }
.sms-sim strong { display:flex; justify-content:center; align-items:baseline; gap:4px; font-size:24px; line-height:1; }
.sms-sim small { font-size:10px; font-weight:600; }
.sms-tag { position:absolute; right:18px; bottom:16px; color:#688f9b; font-size:10px; font-weight:600; }
@media(hover:hover) and (pointer:fine) { .service-tile:hover .sms-sim { transform:translate(-5px,-9px) rotate(-3deg); box-shadow:0 24px 30px #263f5420; } .service-tile:hover .sms-console { transform:translate(6px,-5px) rotate(2deg); } }
.service-tile:focus-visible .sms-sim { transform:translate(-5px,-9px) rotate(-3deg); }
.service-tile:focus-visible .sms-console { transform:translate(6px,-5px) rotate(2deg); }
@media(max-width:580px) { .sms-console { width:166px; left:calc(50% - 35px); } .sms-sim { margin-left:-112px; } }
@media(prefers-reduced-motion:reduce) { .service-tile:is(:hover,:focus-visible) .sms-sim { transform:rotate(-9deg); } .service-tile:is(:hover,:focus-visible) .sms-console { transform:rotate(7deg); } }
[data-brand="antigravity"] .tile-heading h3 { color:#5367ac; }
[data-brand="gmail"] .tile-heading h3 { color:#366c65; }
.art-antigravity { background:radial-gradient(ellipse at center,#dde4fd 0, #f3f5fc 65%); }
.gravity-orbit { position:absolute; width:240px; height:170px; border:1px solid #cdd6f5; border-radius:50%; transform:rotate(-24deg); transition:transform 600ms var(--shop-spring); }
.gravity-pass { position:relative; z-index:2; width:190px; height:136px; padding:18px 22px; border:1px solid #ffffff70; border-radius:18px; background:linear-gradient(135deg,#596fb0,#304777); color:white; box-shadow:0 18px 26px #2e427b26; transform:rotate(-8deg); transition:transform 600ms var(--shop-spring),box-shadow 500ms var(--ds-ease); }
.gravity-brand { display:block; font-size:9px; letter-spacing:.13em; opacity:.8; }
.gravity-symbol { position:absolute; top:25px; right:9px; width:88px; height:88px; object-fit:contain; }
.gravity-pass strong { display:block; margin-top:16px; font-size:32px; font-weight:800; line-height:1.1; }
.gravity-pass small { display:block; margin-top:8px; font-size:11px; opacity:.8; }
.gravity-spark { position:absolute; top:30px; right:20%; color:#a2afe0; font-size:20px; }
.gravity-shadow { position:absolute; bottom:24px; width:140px; height:16px; border-radius:50%; background:#3c528626; filter:blur(10px); transition:transform 500ms var(--ds-ease); }
.art-gmail { background:radial-gradient(ellipse at 50% 65%,#e2e9fc,transparent 68%),linear-gradient(145deg,#f3f7fe,#fbf5ef); }
.gmail-envelope { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:210px; height:144px; border:1px solid #e8edf6; border-radius:20px; background:linear-gradient(135deg,#fff,#fcfdff); transform:rotate(-7deg); box-shadow:0 18px 24px #344a7220; transition:transform 600ms var(--shop-spring); }
.gmail-envelope img { display:block; width:104px; height:82px; object-fit:contain; }
.gmail-envelope strong { color:#465164; font-size:17px; font-weight:650; letter-spacing:-.025em; }
.gmail-paper { position:absolute; z-index:1; top:24px; left:calc(50% - 77px); width:156px; height:120px; padding:16px 18px; border:1px solid #dde5f3; border-radius:14px; background:#eaf0fb; color:#8a9bbc; transform:rotate(7deg); transition:transform 600ms var(--shop-spring); }
.gmail-paper span { font-size:9px; font-weight:650; letter-spacing:.12em; }
.gmail-paper i { display:block; height:4px; margin-top:12px; background:#d6e0f2; border-radius:4px; }
.gmail-paper i:last-child { width:68%; }
.gmail-chip { position:absolute; z-index:3; right:24px; bottom:26px; padding:7px 12px; border:1px solid #fff; border-radius:9px; background:#ffffffd9; color:#66907b; font-size:11px; transform:rotate(5deg); transition:transform 600ms var(--shop-spring); }
@media(hover:hover) and (pointer:fine) {
 .service-tile:hover .language-owl { transform:translate(-9px,-10px) rotate(-1deg); }
 .service-tile:hover .language-pass { transform:translate(7px,-5px) rotate(1deg); box-shadow:0 23px 30px #153b3623; }
 .service-tile:hover .language-pass-back { transform:translate(9px,-9px) rotate(10deg); }
 .service-tile:hover .language-ground { transform:scale(.8); opacity:.7; }
 .service-tile:hover .star-near { transform:translate(-4px,-6px) rotate(20deg); }
 .service-tile:hover .star-far { transform:translate(4px,-5px) rotate(-15deg); }
 .service-tile:hover .gravity-pass { transform:translateY(-10px) rotate(3deg); box-shadow:0 26px 32px #2e427b20; }
 .service-tile:hover .gravity-orbit { transform:rotate(12deg); }
 .service-tile:hover .gravity-shadow { transform:scale(.85); }
 .service-tile:hover .gmail-envelope { transform:translateY(5px) rotate(2deg); }
 .service-tile:hover .gmail-paper { transform:translateY(-16px) rotate(-4deg); }
 .service-tile:hover .gmail-chip { transform:translateY(-5px) rotate(-3deg); }
}
.service-tile:focus-visible .gravity-pass { transform:translateY(-10px) rotate(3deg); }
.service-tile:focus-visible .language-owl { transform:translate(-9px,-10px) rotate(-1deg); }
.service-tile:focus-visible .language-pass { transform:translate(7px,-5px) rotate(1deg); }
.service-tile:focus-visible .language-pass-back { transform:translate(9px,-9px) rotate(10deg); }
.service-tile:focus-visible .gmail-envelope { transform:translateY(5px) rotate(2deg); }
.service-tile:focus-visible .gmail-paper { transform:translateY(-16px) rotate(-4deg); }
@media(prefers-reduced-motion:reduce) {
 .service-tile:is(:hover,:focus-visible) .language-owl { transform:rotate(-5deg); }
 .service-tile:is(:hover,:focus-visible) .language-pass { transform:rotate(6deg); }
 .service-tile:is(:hover,:focus-visible) .language-pass-back { transform:rotate(13deg); }
 .service-tile:hover .language-ground { transform:none; opacity:1; }
 .service-tile:hover .star-near,.service-tile:hover .star-far { transform:none; }
 .service-tile:is(:hover,:focus-visible) .gravity-pass { transform:rotate(-8deg); }
 .service-tile:hover .gravity-orbit { transform:rotate(-24deg); }
 .service-tile:hover .gravity-shadow { transform:none; }
 .service-tile:is(:hover,:focus-visible) .gmail-envelope { transform:rotate(-7deg); }
 .service-tile:is(:hover,:focus-visible) .gmail-paper { transform:rotate(7deg); }
 .service-tile:hover .gmail-chip { transform:rotate(5deg); }
}
@media(hover:none) {
 .gpt-plan-card,.service-tile:hover:not(:focus-visible) .gpt-plan-card { transform:var(--gpt-open); box-shadow:0 9px 17px #24414f14; }
 .service-tile:active { transform:scale(.992); transition-duration:120ms; }
 .service-tile:hover:not(:focus-visible) .pro-pass { transform:perspective(700px) rotateY(-10deg) rotateZ(-7deg); }
 .service-tile:hover:not(:focus-visible) .orbit-one { transform:rotate(-24deg); }
 .service-tile:hover:not(:focus-visible) .orbit-two { transform:rotate(20deg); }
 .service-tile:hover:not(:focus-visible) .gemini-orbit { transform:rotate(44deg); }
 .service-tile:hover:not(:focus-visible) .orbit-second { transform:rotate(-42deg) scale(.9); }
 .service-tile:hover:not(:focus-visible) .gemini-star,.service-tile:hover:not(:focus-visible) .art-spark,.service-tile:hover:not(:focus-visible) .claude-sun { transform:none; }
 .service-tile:hover:not(:focus-visible) .paper-front { transform:rotate(-7deg); }
 .service-tile:hover:not(:focus-visible) .paper-back { transform:rotate(11deg); }
 .service-tile:hover:not(:focus-visible) .chip-one { transform:rotate(8deg); }
 .service-tile:hover:not(:focus-visible) .chip-two { transform:rotate(-8deg); }
 .service-tile:hover:not(:focus-visible) .tile-action svg { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .gpt-plan-card,.service-tile:is(:hover,:focus-visible,:active) .gpt-plan-card { transform:var(--gpt-open); box-shadow:0 9px 17px #24414f14; }
 .service-tile,.service-tile:is(:hover,:focus-visible,:active) { transform:none; }
 .service-tile:is(:hover,:focus-visible) .tile-action svg { transform:none; }
 .service-tile:is(:hover,:focus-visible) .pro-pass { transform:perspective(700px) rotateY(-10deg) rotateZ(-7deg); }
 .service-tile:is(:hover,:focus-visible) .orbit-one { transform:rotate(-24deg); }
 .service-tile:is(:hover,:focus-visible) .orbit-two { transform:rotate(20deg); }
 .service-tile:is(:hover,:focus-visible,:active) .gemini-orbit { transform:rotate(44deg); }
 .service-tile:is(:hover,:focus-visible) .orbit-second { transform:rotate(-42deg) scale(.9); }
 .service-tile:is(:hover,:focus-visible) .gemini-star,.service-tile:is(:hover,:focus-visible) .art-spark,.service-tile:is(:hover,:focus-visible) .claude-sun { transform:none; }
 .service-tile:is(:hover,:focus-visible,:active) .paper-front { transform:rotate(-7deg); }
 .service-tile:is(:hover,:focus-visible) .paper-back { transform:rotate(11deg); }
 .service-tile:is(:hover,:focus-visible) .chip-one { transform:rotate(8deg); }
 .service-tile:is(:hover,:focus-visible) .chip-two { transform:rotate(-8deg); }
}
.service-tile.is-out-of-stock { filter:grayscale(1); background:#f5f6f8; border-color:#dfe3e8; }
.service-tile.is-out-of-stock .tile-heading h3,.service-tile.is-out-of-stock .tile-heading h3 em,.service-tile.is-out-of-stock .tile-price { color:#626c78; }
.service-tile.is-out-of-stock .tile-description { color:#7b848f; }
.service-tile.is-out-of-stock .tile-action { background:#e5e8ed; color:#68727e; }
.service-tile.is-out-of-stock:is(:hover,:focus-visible) .tile-action { background:#dce1e7; color:#4e5a68; }
