/* Isolated ad-destination sites — tokens from the LRW design system (frontend-design skill). Standalone file. */
:root { --navy:#0a0f2e; --navy-2:#0d1b5e; --blue:#1a3de4; --blue-hover:#1230c0; --cyan:#00d4ff; --orange:#ff5c1a;
  --orange-hover:#e5500f; --whatsapp:#25d366; --whatsapp-hover:#1ebc57; --white:#ffffff; --off:#f0f4ff; --gray:#6b7a99;
  --navy-gray:#4a5570; --light-gray:#e8edf8; --border:rgba(26,61,228,.12); --card-shadow:0 4px 24px rgba(10,15,46,.08); --radius:14px; }
* { box-sizing:border-box; } html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--white); color:var(--navy); font-family:'Nunito',system-ui,sans-serif; font-size:16px; line-height:1.6; }
h1,h2,h3,.brand,.btn,label { font-family:'Outfit',system-ui,sans-serif; }
h1,h2,h3 { margin:0 0 12px; line-height:1.2; color:var(--navy); }
h1 { font-size:clamp(1.9rem,4.6vw,2.8rem); font-weight:900; } h2 { font-size:clamp(1.45rem,3.2vw,2rem); font-weight:800; } h3 { font-size:1.08rem; font-weight:800; }
p { margin:0 0 12px; color:var(--navy-gray); } a { color:var(--blue); } a:hover { color:var(--blue-hover); }
.container { width:100%; max-width:1160px; margin:0 auto; padding:0 16px; }
.topbar { background:var(--blue); color:var(--white); text-align:center; font-weight:700; font-size:.9rem; padding:8px 16px; }
.site-header { background:var(--navy); position:sticky; top:0; z-index:10; }
.site-header .container { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; }
.brand { color:var(--white); text-decoration:none; font-weight:900; font-size:1.2rem; } .brand span { color:var(--cyan); }
.brand:hover, .brand:focus-visible { color:var(--white); } .brand:hover span, .brand:focus-visible span { color:var(--cyan); }   /* logo keeps its colours; a:hover must not turn it blue */
.brand { display:inline-flex; align-items:center; } .brand-logo { display:block; height:44px; width:auto; }
@media (max-width:600px) { .brand-logo { height:38px; } }
.site-nav { display:flex; gap:18px; flex-wrap:wrap; } .site-nav a { color:rgba(255,255,255,.85); text-decoration:none; font-weight:700; font-size:.95rem; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color:var(--cyan); }
.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:999px; font-weight:800; font-size:1rem; text-decoration:none; border:0; cursor:pointer; }
.btn-orange { background:var(--orange); color:var(--white); } .btn-orange:hover { background:var(--orange-hover); color:var(--white); }
.btn-blue { background:var(--blue); color:var(--white); } .btn-blue:hover { background:var(--blue-hover); color:var(--white); }
.btn-whatsapp { background:var(--whatsapp); color:var(--white); } .btn-whatsapp:hover { background:var(--whatsapp-hover); color:var(--white); }
.btn-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.hero { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); padding:56px 0 48px; }
.hero h1 { color:var(--white); } .hero p { color:rgba(255,255,255,.85); font-size:1.06rem; max-width:760px; } .hero .eyebrow { color:var(--cyan); }
.hero a:not(.btn) { color:var(--cyan); }
.hero-points { list-style:none; margin:16px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 18px; }
.hero-points li { color:rgba(255,255,255,.85); font-weight:600; } .hero-points i { color:var(--cyan); margin-right:6px; }
.crumbs { font-size:.9rem; margin-bottom:10px; color:rgba(255,255,255,.75); } .crumbs a { color:var(--cyan); text-decoration:none; }
.section { padding:52px 0; background:var(--white); } .section.alt { background:var(--off); }
section[id] { scroll-margin-top:72px; }   /* in-page links (#proposal) land below the sticky header */
.eyebrow { display:inline-block; font-family:'Outfit',system-ui,sans-serif; font-weight:800; font-size:.8rem; letter-spacing:1.2px; text-transform:uppercase; color:var(--blue); margin-bottom:8px; }
.section-title { max-width:780px; margin:0 0 26px; }
.grid { display:grid; gap:16px; } .grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); } .grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } .grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:20px; box-shadow:var(--card-shadow); }
a.card { text-decoration:none; display:block; } a.card:hover { border-color:rgba(26,61,228,.3); }
.card h3 i { color:var(--blue); margin-right:8px; } .card p { font-size:.95rem; margin:0; } .card .meta { display:block; color:var(--blue); font-weight:800; font-size:.9rem; margin-bottom:6px; }
.step-no { display:inline-flex; width:34px; height:34px; border-radius:50%; background:var(--blue); color:var(--white); align-items:center; justify-content:center; font-family:'Outfit',sans-serif; font-weight:900; margin-bottom:10px; }
ul.ticks { list-style:none; margin:0; padding:0; display:grid; gap:8px; } ul.ticks li { color:var(--navy-gray); padding-left:26px; position:relative; } ul.ticks li i { position:absolute; left:0; top:5px; color:var(--blue); }
.faq { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.faq details { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); }
.faq summary { display:block; padding:16px 20px; cursor:pointer; font-family:'Outfit',sans-serif; font-weight:800; color:var(--navy); list-style:none; } .faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; float:right; color:var(--blue); font-weight:900; } .faq details[open] summary::after { content:'−'; } .faq details p { margin:-6px 0 0; padding:0 20px 16px; }
.cta-band { background:var(--navy); padding:44px 0; } .cta-band h2 { color:var(--white); } .cta-band p { color:rgba(255,255,255,.85); }
.site-footer { background:var(--navy); border-top:1px solid rgba(255,255,255,.12); padding:28px 0 90px; }
.site-footer p, .site-footer a { color:rgba(255,255,255,.75); font-size:.92rem; } .site-footer a:hover { color:var(--cyan); }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:10px; }
.prose { max-width:820px; } .prose h2 { margin-top:26px; font-size:1.3rem; } .prose ul { color:var(--navy-gray); padding-left:20px; }
.container.prose { max-width:1160px; } .container.prose > * { max-width:820px; }   /* left edge lines up with the hero; text stays readable */
form.lead { display:grid; gap:14px; max-width:760px; }
form.lead .row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
form.lead label { display:block; font-weight:800; font-size:.92rem; color:var(--navy); margin-bottom:4px; }
form.lead input, form.lead select, form.lead textarea { width:100%; padding:12px 14px; border:1px solid var(--light-gray); border-radius:10px; font:inherit; color:var(--navy); background:var(--white); }
form.lead input:focus, form.lead select:focus, form.lead textarea:focus { outline:2px solid var(--blue); border-color:var(--blue); }
form.lead .checks { display:flex; flex-wrap:wrap; gap:8px 18px; } form.lead .checks label { font-family:'Nunito',sans-serif; font-weight:600; display:inline-flex; gap:6px; align-items:center; }
form.lead .checks input { width:auto; }
.form-msg { font-weight:700; margin:0; } .form-msg.ok { color:#11804a; } .form-msg.err { color:#b42318; }
.small { font-size:.88rem; color:var(--navy-gray); }
table.specs { width:100%; border-collapse:collapse; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
table.specs th, table.specs td { text-align:left; padding:10px 14px; border-bottom:1px solid var(--light-gray); vertical-align:top; }
table.specs th { width:34%; color:var(--navy); font-family:'Outfit',sans-serif; font-weight:800; background:var(--off); } table.specs td { color:var(--navy-gray); }
.price { font-family:'Outfit',sans-serif; font-weight:900; font-size:1.8rem; color:var(--navy); margin:0 0 4px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; } .chips a { display:inline-block; padding:8px 14px; border-radius:999px; background:var(--white); border:1px solid var(--border); text-decoration:none; font-weight:700; color:var(--blue); }
ul.plist { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; } ul.plist a { font-weight:700; text-decoration:none; } ul.plist span { color:var(--navy-gray); font-size:.9rem; }
.float-cta { display:none; }
@media (max-width:1000px) { .grid-4, .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } .grid-4 > :last-child:nth-child(odd), .grid-3 > :last-child:nth-child(odd) { grid-column:1 / -1; } }
@media (max-width:640px) { .grid-2, .grid-3, .grid-4, ul.plist, form.lead .row { grid-template-columns:1fr; } .site-nav { gap:12px; } .site-nav a.hide-sm { display:none; }
  .hero { padding:40px 0 36px; }
  .float-cta { display:flex; position:fixed; left:0; right:0; bottom:0; gap:8px; padding:10px 12px; background:var(--white); box-shadow:0 -4px 16px rgba(10,15,46,.12); z-index:20; }
  .float-cta .btn { flex:1; justify-content:center; padding:12px; } }

/* Shop by part: category cards with line-art icons (scripts/adsites/shop_icons.py) */
.cat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
a.cat-card { display:flex; align-items:center; gap:16px; padding:18px 20px; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
a.cat-card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(26,61,228,.12); }
a.cat-card h3 { margin:0 0 2px; }
a.cat-card p { color:var(--navy-gray); }
.cat-ico { flex:none; width:64px; height:64px; border-radius:16px; background:var(--off); color:var(--blue); display:grid; place-items:center; }
a.cat-card:hover .cat-ico { background:#e3eaff; }
.cat-ico svg { width:46px; height:46px; }
.cat-ico .acc { fill:var(--cyan); fill-opacity:.28; stroke:none; }
@media (max-width:1000px) { .cat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .cat-grid { grid-template-columns:1fr; } .cat-ico { width:56px; height:56px; } .cat-ico svg { width:40px; height:40px; } }
@media (prefers-reduced-motion:reduce) { a.cat-card { transition:none; } a.cat-card:hover { transform:none; } }

/* ── shop layer (scripts/adsites/shop_ui.py) ─────────────────────────────────────────────── */
:root { --hairline:#eef1f8; --ink-2:#4a5570; --focus:0 0 0 3px rgba(26,61,228,.28); --r-md:10px; --r-lg:14px; --r-xl:18px; }
body { background:#fbfcff; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.skip { position:absolute; left:12px; top:-60px; z-index:100; background:var(--white); color:var(--navy); padding:10px 14px; border-radius:var(--r-md); font-weight:700; }
.skip:focus { top:12px; }
:focus-visible { outline:none; box-shadow:var(--focus); border-radius:6px; }
.btn { border-radius:var(--r-md); padding:12px 20px; transition:background .2s, transform .2s cubic-bezier(.22,1,.36,1); }
.btn:active { transform:translateY(1px); }
.btn-ghost { background:var(--white); color:var(--navy); border:1.5px solid var(--light-gray); }
.btn-ghost:hover { border-color:var(--blue); color:var(--blue); }
.btn-block { width:100%; justify-content:center; }

/* header: brand · search · nav · WhatsApp */
.sh-header { background:var(--navy); position:sticky; top:0; z-index:30; box-shadow:0 1px 0 rgba(255,255,255,.08); }
.sh-bar { display:flex; align-items:center; gap:18px; min-height:68px; }
.sh-header .brand { font-family:'Outfit',sans-serif; font-size:1.25rem; flex:none; }
.sh-search { position:relative; flex:1; max-width:560px; }
.sh-search input { width:100%; height:44px; padding:0 48px 0 16px; border-radius:var(--r-md); border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08); color:var(--white); font:inherit; font-size:.98rem; transition:background .2s, border-color .2s; }
.sh-search input::placeholder { color:rgba(255,255,255,.62); }
.sh-search input:focus { outline:none; background:var(--white); color:var(--navy); border-color:var(--white); box-shadow:var(--focus); }
.sh-search input:focus::placeholder { color:#8a95b0; }
.sh-search button { position:absolute; right:4px; top:4px; width:36px; height:36px; border:0; border-radius:8px; background:var(--blue); color:var(--white); cursor:pointer; }
.sh-nav { display:flex; gap:4px; }
.sh-nav a { color:rgba(255,255,255,.86); text-decoration:none; font-family:'Outfit',sans-serif; font-weight:700; font-size:.94rem; padding:8px 12px; border-radius:8px; }
.sh-nav a:hover, .sh-nav a[aria-current="page"] { color:var(--cyan); background:rgba(255,255,255,.06); }
.sh-wa { padding:10px 16px; font-size:.94rem; flex:none; }
/* search results panel */
.sh-results { position:absolute; left:0; right:0; top:calc(100% + 8px); background:var(--white); border-radius:var(--r-lg); box-shadow:0 18px 48px rgba(10,15,46,.22);
  overflow:hidden; z-index:40; max-height:min(70vh,560px); overflow-y:auto; }
.sh-results a { display:grid; grid-template-columns:1fr auto; gap:2px 14px; padding:11px 16px; text-decoration:none; border-bottom:1px solid var(--hairline); }
.sh-results a:hover, .sh-results a[aria-selected="true"] { background:var(--off); }
.sh-results .r-name { color:var(--navy); font-weight:700; line-height:1.35; }
.sh-results .r-meta { grid-column:1; color:var(--ink-2); font-size:.84rem; }
.sh-results .r-price { grid-row:1 / span 2; grid-column:2; align-self:center; font-family:'Outfit',sans-serif; font-weight:800; color:var(--navy); white-space:nowrap; font-size:.95rem; }
.sh-results .r-all { display:block; text-align:center; color:var(--blue); font-weight:700; padding:12px; }
.sh-results .r-none { padding:16px; color:var(--ink-2); }
.sh-results .r-none a { display:inline; padding:0; border:0; color:var(--blue); }
mark { background:rgba(0,212,255,.22); color:inherit; border-radius:3px; padding:0 1px; }

/* hero */
.sh-hero { background:var(--navy); background-image:radial-gradient(900px 420px at 85% -10%, rgba(0,212,255,.12), transparent 60%), linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);
  padding:44px 0 40px; color:var(--white); }
.sh-hero h1 { color:var(--white); font-size:clamp(1.85rem,4.4vw,3rem); letter-spacing:-.5px; max-width:900px; margin-bottom:10px; }
.sh-hero p { color:rgba(255,255,255,.8); max-width:680px; font-size:1.04rem; }
.sh-hero .crumbs { margin-bottom:12px; }
.sh-hero .count { color:var(--cyan); font-family:'Outfit',sans-serif; font-weight:800; }
.hero-search { margin-top:22px; max-width:720px; position:relative; }
.hero-search input { width:100%; height:58px; border-radius:var(--r-lg); border:0; padding:0 64px 0 52px; font:inherit; font-size:1.08rem; color:var(--navy); box-shadow:0 10px 32px rgba(0,0,0,.25); }
.hero-search .s-ico { position:absolute; left:18px; top:19px; color:var(--ink-2); }
.hero-search button { position:absolute; right:6px; top:6px; height:46px; padding:0 18px; border:0; border-radius:var(--r-md); background:var(--orange); color:var(--white); font-family:'Outfit',sans-serif; font-weight:800; cursor:pointer; }
.hero-search button:hover { background:var(--orange-hover); }
.hero-search .sh-results { top:calc(100% + 10px); }
.quick { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.quick a { color:var(--white); text-decoration:none; font-weight:700; font-size:.88rem; padding:7px 13px; border-radius:100px; border:1px solid rgba(255,255,255,.22); }
.quick a:hover { border-color:var(--cyan); color:var(--cyan); }
.facts { list-style:none; display:flex; flex-wrap:wrap; gap:10px 22px; padding:0; margin:22px 0 0; }
.facts li { color:rgba(255,255,255,.85); font-weight:600; font-size:.95rem; } .facts i { color:var(--cyan); margin-right:7px; }

/* sections */
.sec { padding:48px 0; } .sec.tint { background:var(--off); } .sec.tight { padding:32px 0; }
.sec-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.sec-head h2 { margin:0; font-size:clamp(1.35rem,2.6vw,1.8rem); }
.sec-head a { font-weight:700; text-decoration:none; white-space:nowrap; }
.kicker { font-family:'Outfit',sans-serif; font-weight:800; font-size:.78rem; letter-spacing:1.4px; text-transform:uppercase; color:var(--blue); display:block; margin-bottom:6px; }

/* brand + category tiles */
.tiles { display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); }
.tile { display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--white); border:1px solid var(--light-gray); border-radius:var(--r-lg); text-decoration:none; color:var(--navy);
  transition:border-color .2s, transform .2s cubic-bezier(.22,1,.36,1), box-shadow .2s; }
.tile:hover { border-color:var(--blue); transform:translateY(-2px); box-shadow:0 8px 24px rgba(26,61,228,.10); color:var(--navy); }
.tile b { font-family:'Outfit',sans-serif; font-weight:800; display:block; line-height:1.2; }
.tile small { color:var(--ink-2); font-weight:600; }
.tile .ti { width:40px; height:40px; flex:none; color:var(--blue); background:var(--off); border-radius:10px; display:grid; place-items:center; }
.tile .ti svg { width:28px; height:28px; }
.tile.feature { background:var(--navy); border-color:var(--navy); color:var(--white); } .tile.feature small { color:rgba(255,255,255,.72); } .tile.feature:hover { color:var(--white); border-color:var(--cyan); }
.tile.feature .ti { background:rgba(255,255,255,.08); color:var(--cyan); }

/* MacBook strip + model rows */
.mac-models { display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.model { background:var(--white); border:1px solid var(--light-gray); border-radius:var(--r-xl); padding:18px; }
.model h3 { font-size:1.05rem; margin:0 0 4px; } .model .sub { color:var(--ink-2); font-size:.86rem; margin:0 0 12px; }
.pchips { display:flex; flex-wrap:wrap; gap:6px; }
.pchips a { display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:100px; background:var(--off); color:var(--navy); text-decoration:none; font-weight:700; font-size:.85rem; }
.pchips a:hover { background:var(--blue); color:var(--white); }
.pchips a span { color:var(--ink-2); font-weight:600; } .pchips a:hover span { color:rgba(255,255,255,.8); }
.tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.tabs a { padding:9px 16px; border-radius:100px; background:var(--white); border:1px solid var(--light-gray); text-decoration:none; color:var(--navy); font-family:'Outfit',sans-serif; font-weight:700; }
.tabs a:hover { border-color:var(--blue); color:var(--blue); }
.gen { margin:28px 0 12px; font-size:1.15rem; } .gen:first-child { margin-top:0; }

/* steps */
.steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; counter-reset:s; }
.steps li { position:relative; padding-top:46px; }
.steps li::before { counter-increment:s; content:counter(s); position:absolute; top:0; left:0; width:34px; height:34px; border-radius:50%; background:var(--blue); color:var(--white);
  font-family:'Outfit',sans-serif; font-weight:900; display:grid; place-items:center; }
.steps li::after { content:''; position:absolute; top:17px; left:44px; right:-12px; height:2px; background:var(--light-gray); }
.steps li:last-child::after { display:none; }
.steps b { font-family:'Outfit',sans-serif; font-weight:800; display:block; margin-bottom:4px; } .steps p { margin:0; font-size:.95rem; }
.info3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.info3 h3 { font-size:1rem; margin-bottom:6px; } .info3 p { font-size:.95rem; margin:0; }

/* list pages: toolbar + grouped rows */
.toolbar { position:sticky; top:68px; z-index:20; background:rgba(251,252,255,.96); backdrop-filter:saturate(1.2) blur(6px); border-bottom:1px solid var(--hairline); padding:12px 0; }
.toolbar .container { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.filter { position:relative; flex:1 1 260px; max-width:440px; }
.filter input { width:100%; height:42px; border-radius:var(--r-md); border:1.5px solid var(--light-gray); padding:0 14px 0 38px; font:inherit; color:var(--navy); background:var(--white); }
.filter input:focus { outline:none; border-color:var(--blue); box-shadow:var(--focus); }
.filter i { position:absolute; left:13px; top:13px; color:var(--ink-2); }
.jump { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; flex:1 1 100%; padding-bottom:2px; } .jump::-webkit-scrollbar { display:none; }
.jump a { flex:none; padding:6px 12px; border-radius:100px; background:var(--white); border:1px solid var(--light-gray); text-decoration:none; color:var(--navy); font-weight:700; font-size:.86rem; }
.jump a:hover { border-color:var(--blue); color:var(--blue); }
.fcount { color:var(--ink-2); font-weight:600; font-size:.9rem; }
.grp { padding-top:26px; scroll-margin-top:150px; }
.grp h2 { font-size:1.15rem; display:flex; align-items:baseline; gap:8px; margin-bottom:8px; } .grp h2 span { color:var(--ink-2); font-family:'Nunito',sans-serif; font-weight:600; font-size:.9rem; }
.prows { list-style:none; margin:0; padding:0; background:var(--white); border:1px solid var(--light-gray); border-radius:var(--r-lg); overflow:hidden; }
.prows li + li { border-top:1px solid var(--hairline); }
.prows a { display:grid; grid-template-columns:1fr auto 14px; gap:14px; align-items:center; padding:12px 16px; text-decoration:none; color:var(--navy); }
.prows a:hover { background:var(--off); }
.prows .pn { font-weight:700; line-height:1.35; } .prows .ps { display:block; color:var(--ink-2); font-size:.84rem; font-weight:600; }
.prows .pp { font-family:'Outfit',sans-serif; font-weight:800; white-space:nowrap; font-size:.96rem; }
.prows .pc { color:var(--ink-2); font-size:.8rem; }
.empty { display:none; padding:24px; background:var(--white); border:1px dashed var(--light-gray); border-radius:var(--r-lg); color:var(--ink-2); margin-top:24px; }

/* product page */
.pd { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:36px; align-items:start; padding:28px 0 8px; }
.pd .crumbs { color:var(--ink-2); font-size:.9rem; margin-bottom:10px; } .pd .crumbs a { color:var(--blue); text-decoration:none; }
.pd h1 { font-size:clamp(1.55rem,3.4vw,2.3rem); letter-spacing:-.3px; margin-bottom:8px; }
.pd .fits { color:var(--ink-2); font-size:1rem; margin-bottom:16px; }
.mbuy { display:none; }
.pd .visual { display:flex; align-items:center; gap:16px; padding:18px; background:var(--off); border-radius:var(--r-xl); margin-bottom:22px; }
.pd .visual .ti { width:72px; height:72px; flex:none; display:grid; place-items:center; color:var(--blue); background:var(--white); border-radius:16px; }
.pd .visual .ti svg { width:52px; height:52px; }
.keyspecs { list-style:none; display:flex; flex-wrap:wrap; gap:8px 18px; margin:0; padding:0; }
.keyspecs li { color:var(--ink-2); font-size:.95rem; } .keyspecs b { color:var(--navy); font-family:'Outfit',sans-serif; font-weight:800; margin-right:4px; }
.pd h2 { font-size:1.2rem; margin:28px 0 10px; }
.buy { position:sticky; top:88px; background:var(--white); border:1px solid var(--light-gray); border-radius:var(--r-xl); padding:22px; box-shadow:0 14px 40px rgba(10,15,46,.08); }
.buy .price { font-size:2rem; margin:0; letter-spacing:-.5px; } .buy .gst { font-size:.95rem; color:var(--ink-2); font-weight:700; }
.buy .pnote { font-size:.9rem; color:var(--ink-2); margin:6px 0 14px; }
.buy dl { display:grid; grid-template-columns:auto 1fr; gap:6px 12px; margin:0 0 16px; padding:14px 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); font-size:.92rem; }
.buy dt { color:var(--ink-2); font-weight:700; } .buy dd { margin:0; color:var(--navy); font-weight:600; }
.buy .btn { margin-top:8px; } .buy .call { display:block; text-align:center; margin-top:12px; font-weight:700; text-decoration:none; }
.buy .terms { font-size:.84rem; color:var(--ink-2); margin:12px 0 0; text-align:center; } .buy .terms a { color:var(--ink-2); }
.order { background:var(--off); padding:48px 0 56px; margin-top:36px; }
.order .container { max-width:840px; }
.order .sec-head { display:block; margin-bottom:22px; }
.order .sec-head h2 { margin:0 0 8px; } .order .sec-head p { margin:0; }
.order form.lead { max-width:none; gap:18px; background:var(--white); padding:28px; border-radius:var(--r-xl); border:1px solid var(--light-gray); box-shadow:var(--card-shadow); }
form.lead .row { gap:18px; }
form.lead label { margin-bottom:6px; }
form.lead input, form.lead select, form.lead textarea { border-radius:var(--r-md); border:1.5px solid var(--light-gray); font-size:1rem; line-height:1.4; }
form.lead input, form.lead select { height:50px; }
form.lead select { -webkit-appearance:none; appearance:none; padding-right:42px; cursor:pointer;
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234a5570' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center / 12px 8px; }
form.lead textarea { resize:vertical; min-height:96px; } form.lead .addr textarea { min-height:76px; }
form.lead ::placeholder { color:var(--gray); opacity:1; }
form.lead input:focus, form.lead select:focus, form.lead textarea:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,61,228,.18); }
.order form.lead button[type=submit] { min-width:220px; justify-content:center; }
@media (max-width:640px) { .order { padding:36px 0 44px; } .order form.lead { padding:18px; gap:16px; } .order form.lead button[type=submit] { width:100%; } }

/* info pages: delivery, returns, contact */
.panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.panel { background:var(--white); border:1px solid var(--light-gray); border-radius:var(--r-xl); padding:24px; }
.panel h2 { font-size:1.2rem; margin:12px 0 12px; } .panel p { color:var(--ink-2); }
.panel .pi { width:44px; height:44px; border-radius:12px; background:var(--off); color:var(--blue); display:grid; place-items:center; font-size:1.15rem; }
.panel .big { font-family:'Outfit',sans-serif; font-weight:900; font-size:1.5rem; margin:0 0 4px; } .panel .big a { color:var(--navy); text-decoration:none; }
.panel .btn { margin-top:6px; }
.terms-dl { display:grid; grid-template-columns:max-content 1fr; gap:10px 18px; margin:0 0 16px; }
.terms-dl dt { font-weight:700; color:var(--ink-2); } .terms-dl dd { margin:0; color:var(--navy); font-weight:600; }
.note { margin:18px 0 0; padding:14px 18px; background:var(--off); border:1px solid var(--light-gray); border-radius:var(--r-lg); color:var(--navy); font-weight:600; }
.note i { color:var(--blue); margin-right:8px; }
.prose { max-width:760px; } .prose p, .prose li { color:var(--ink-2); }

/* footer */
.sh-footer { background:var(--navy); color:rgba(255,255,255,.72); padding:44px 0 96px; margin-top:0; }
.sh-footer .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; }
.sh-footer h3 { color:var(--white); font-size:.95rem; margin-bottom:12px; }
.sh-footer a { color:rgba(255,255,255,.72); text-decoration:none; display:block; padding:3px 0; font-size:.92rem; } .sh-footer a:hover { color:var(--cyan); }
.sh-footer p { color:rgba(255,255,255,.72); font-size:.92rem; }
.sh-footer .legal { border-top:1px solid rgba(255,255,255,.1); margin-top:28px; padding-top:18px; font-size:.84rem; color:rgba(255,255,255,.6); }
.sh-footer .brand { color:var(--white); font-family:'Outfit',sans-serif; font-weight:900; font-size:1.2rem; display:inline-block; margin-bottom:8px; } .sh-footer .brand span { color:var(--cyan); }

@media (max-width:1000px) { .pd { grid-template-columns:1fr; gap:20px; } .buy { position:static; }
  .mbuy { display:block; background:var(--white); border:1px solid var(--light-gray); border-radius:var(--r-xl); padding:16px; margin:0 0 18px; }
  .mbuy .price { font-size:1.7rem; margin:0; } .mbuy .gst { font-size:.9rem; color:var(--ink-2); } .mbuy .pnote { font-size:.88rem; color:var(--ink-2); margin:4px 0 10px; } .steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .steps li::after { display:none; }
  .sh-footer .cols { grid-template-columns:1fr 1fr; } .sh-nav { display:none; } }
@media (max-width:640px) {
  .panels { grid-template-columns:1fr; } .terms-dl { grid-template-columns:1fr; gap:2px; } .terms-dl dd { margin-bottom:10px; }
  .sh-bar { flex-wrap:wrap; gap:10px 12px; padding:10px 16px; min-height:0; }
  .sh-header .brand { flex:1; }
  .sh-search { order:3; flex:1 1 100%; max-width:none; }
  .sh-wa { padding:8px 12px; }
  body.home .sh-header .sh-search { display:none; }
  .sh-hero { padding:30px 0 28px; } .hero-search input { height:54px; font-size:1rem; padding-left:46px; } .hero-search button { height:42px; padding:0 14px; }
  .toolbar { top:112px; } body.home .toolbar { top:60px; }
  .grp { scroll-margin-top:210px; }
  .prows a { grid-template-columns:1fr auto; } .prows .pc { display:none; }
  .info3, .steps { grid-template-columns:1fr; gap:18px; }
  .sh-footer .cols { grid-template-columns:1fr; }
  .tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick a:nth-child(n+7) { display:none; }
  .mac-models { grid-template-columns:1fr; } }
@media (min-width:641px) { body.home .sh-header .sh-search { visibility:hidden; } }
@media (max-width:640px) { .hide-xs { display:none; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; animation:none !important; } }
.tiles.bal { grid-template-columns:repeat(var(--cols),minmax(0,1fr)); }@media (max-width:1000px) { .tiles.bal { grid-template-columns:repeat(2,minmax(0,1fr)); } .tiles.bal > :last-child:nth-child(odd) { grid-column:1 / -1; } }