:root {
  --brand:#1473e6;
  --brand-hover:#0d66d0;
  --ink:#2c2c2c;
  --muted:#6e6e6e;
  --line:#e1e1e1;
  --canvas:#f5f5f5;
  --surface:#fff;
  --success:#12805c;
  --radius:6px;
  --shadow:0 2px 12px rgb(0 0 0 / 8%);
}

* { box-sizing:border-box; }
html { background:var(--surface); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
body { margin:0; font-size:16px; line-height:1.5; }
button,input { font:inherit; }
a { color:inherit; }
img { max-width:100%; }
.skip { position:absolute; left:-9999px; }
.skip:focus { z-index:100; left:16px; top:16px; padding:10px 14px; background:var(--surface); }
.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; }

.site-header { position:relative; z-index:20; border-bottom:1px solid var(--line); background:var(--surface); }
.header-main { max-width:1600px; height:64px; margin:auto; padding:0 32px; display:flex; align-items:center; gap:34px; }
.brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; white-space:nowrap; }
.brand strong { font-size:19px; letter-spacing:-.02em; }
.brand-mark { width:28px; height:28px; display:grid; grid-template-columns:1fr 1fr; gap:2px; padding:2px; border-radius:4px; background:#1f1f1f; }
.brand-mark i { display:block; border-radius:1px; background:var(--surface); }
.brand-mark i:nth-child(2),.brand-mark i:nth-child(3) { opacity:.65; }
.header-main nav { display:flex; align-items:center; gap:26px; }
.header-main nav a,.single-link { color:#444; text-decoration:none; font-size:14px; font-weight:600; }
.header-main nav a:hover,.single-link:hover { color:var(--brand); }
.single-link { margin-left:auto; }
.catalog-search { max-width:1100px; height:50px; margin:0 auto -25px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding-left:17px; border:1px solid #c8c8c8; border-radius:5px; background:var(--surface); box-shadow:var(--shadow); }
.catalog-search span { color:var(--muted); font-size:25px; line-height:1; }
.catalog-search input { min-width:0; height:100%; border:0; outline:0; font-size:16px; }
.catalog-search button { align-self:stretch; padding:0 25px; border:0; border-left:1px solid var(--line); border-radius:0 4px 4px 0; background:var(--brand); color:white; font-weight:700; cursor:pointer; }
.catalog-search button:hover { background:var(--brand-hover); }

.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:10px 22px; border:1px solid transparent; border-radius:22px; text-decoration:none; font-weight:700; cursor:pointer; }
.button-primary { background:var(--brand); color:white; }
.button-primary:hover { background:var(--brand-hover); }
.button-secondary { border-color:#b5b5b5; background:var(--surface); color:var(--ink); }
.eyebrow,.product-type,.pack-category { margin:0 0 8px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.marketplace-hero { min-height:470px; padding:105px max(32px,calc((100vw - 1480px)/2)) 70px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr); align-items:center; gap:80px; background:linear-gradient(115deg,#eef4fb,#f9fafb 62%,#edf4ff); }
.hero-copy { max-width:780px; }
.hero-copy h1 { margin:8px 0 20px; max-width:760px; font-size:clamp(44px,5.4vw,76px); line-height:1.02; letter-spacing:-.045em; }
.hero-copy>p:not(.eyebrow) { max-width:680px; margin:0 0 28px; color:#555; font-size:20px; line-height:1.55; }
.hero-specs { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid #d7e2ef; border-radius:10px; background:rgb(255 255 255 / 80%); box-shadow:0 14px 38px rgb(30 70 110 / 10%); }
.hero-specs div { min-height:155px; display:flex; flex-direction:column; justify-content:center; padding:24px; border-right:1px solid #d7e2ef; }
.hero-specs div:last-child { border:0; }
.hero-specs strong { color:var(--brand); font-size:36px; letter-spacing:-.04em; }
.hero-specs span { color:#565656; font-size:13px; line-height:1.35; }
.use-case-strip { max-width:1600px; margin:auto; padding:22px 32px; display:flex; align-items:center; gap:12px; overflow-x:auto; border-bottom:1px solid var(--line); }
.use-case-strip span { margin-right:8px; color:var(--muted); font-size:13px; white-space:nowrap; }
.use-case-strip a { padding:8px 16px; border:1px solid #d3d3d3; border-radius:20px; text-decoration:none; font-size:14px; white-space:nowrap; }
.use-case-strip a:hover { border-color:var(--brand); color:var(--brand); }

.pack-section { max-width:1600px; margin:auto; padding:64px 32px 84px; }
.catalog-toolbar { margin-bottom:28px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.catalog-toolbar h2 { margin:0; font-size:32px; letter-spacing:-.025em; }
.catalog-meta { display:flex; align-items:center; gap:20px; color:var(--muted); font-size:14px; }
.catalog-meta a { color:var(--brand); font-weight:700; text-decoration:none; }
.pack-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 20px; }
.pack-card { min-width:0; }
.pack-card-preview { position:relative; display:grid; grid-template-columns:1fr 1fr; aspect-ratio:1; overflow:hidden; border-radius:var(--radius); background:#eee; color:inherit; }
.pack-card-preview img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.pack-card-preview:hover img { transform:scale(1.025); }
.asset-count { position:absolute; right:10px; bottom:10px; padding:5px 9px; border-radius:3px; background:rgb(20 20 20 / 78%); color:white; font-size:12px; }
.pack-card-copy { padding:14px 2px 0; }
.pack-card-copy h2 { margin:2px 0 4px; overflow:hidden; font-size:17px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.pack-card-copy h2 a { text-decoration:none; }
.pack-card-copy h2 a:hover { color:var(--brand); }
.pack-card-copy>p:not(.pack-category) { margin:0; color:var(--muted); font-size:13px; }
.pack-card-foot { margin-top:12px; display:flex; align-items:center; justify-content:space-between; }
.pack-card-foot strong { font-size:18px; }
.pack-card-foot a { color:var(--brand); font-size:13px; font-weight:700; text-decoration:none; }
.empty-pack { grid-column:1/-1; min-height:260px; padding:50px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:var(--radius); background:var(--canvas); text-align:center; }
.empty-pack strong { font-size:24px; }
.empty-pack p { color:var(--muted); }
.buyer-benefits { max-width:1600px; margin:0 auto 88px; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); }
.buyer-benefits article { padding:35px; border:1px solid var(--line); border-right:0; }
.buyer-benefits article:last-child { border-right:1px solid var(--line); }
.buyer-benefits span { color:var(--brand); font-size:13px; font-weight:700; }
.buyer-benefits h2 { margin:18px 0 8px; font-size:21px; }
.buyer-benefits p { margin:0; color:var(--muted); }

.product-breadcrumbs { max-width:1600px; margin:0 auto; padding:54px 32px 20px; display:flex; gap:9px; color:var(--muted); font-size:13px; }
.product-breadcrumbs a { text-decoration:none; }
.product-breadcrumbs a:hover { color:var(--brand); }
.product-layout { display:grid; max-width:1600px; margin:0 auto; padding:0 32px 80px; grid-template-columns:minmax(0,1fr) 390px; gap:44px; align-items:start; }
.product-gallery { min-width:0; }
.product-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pattern-piece { min-width:0; }
.piece-preview { position:relative; width:100%; display:block; padding:0; overflow:hidden; border:0; border-radius:4px; background:#eee; cursor:zoom-in; }
.piece-preview img { display:block; width:100%; aspect-ratio:1; object-fit:cover; transition:transform .25s ease; }
.piece-preview:hover img { transform:scale(1.025); }
.piece-preview>span { position:absolute; left:10px; bottom:10px; padding:6px 9px; border-radius:3px; background:rgb(0 0 0 / 78%); color:white; font-size:11px; opacity:0; transform:translateY(5px); transition:.2s; }
.piece-preview:hover>span,.piece-preview:focus-visible>span { opacity:1; transform:none; }
.pattern-piece>div { padding:7px 1px 2px; display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:12px; }
.pattern-piece>div a { color:var(--brand); text-decoration:none; }
.gallery-help { margin:18px 0 0; color:var(--muted); font-size:13px; }
.purchase-panel { position:sticky; top:28px; padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.purchase-panel h1 { margin:5px 0 14px; font-size:32px; line-height:1.15; letter-spacing:-.03em; }
.product-description { margin:0; color:#565656; line-height:1.55; }
.product-price { margin:26px 0 16px; display:flex; align-items:baseline; justify-content:space-between; gap:15px; }
.product-price strong { font-size:30px; }
.product-price span { color:var(--muted); font-size:12px; }
.product-buy { width:100%; border-radius:4px; }
.secure-note { margin:10px 0 24px; color:var(--muted); text-align:center; font-size:11px; }
.product-specs { margin:0; border-top:1px solid var(--line); }
.product-specs div { padding:12px 0; display:grid; grid-template-columns:90px 1fr; gap:12px; border-bottom:1px solid var(--line); font-size:13px; }
.product-specs dt { color:var(--muted); }
.product-specs dd { margin:0; font-weight:600; }
.license-summary { margin-top:24px; padding:18px; border-radius:4px; background:var(--canvas); }
.license-summary h2 { margin:0 0 6px; font-size:15px; }
.license-summary p { margin:0 0 10px; color:var(--muted); font-size:12px; }
.license-summary a { color:var(--brand); font-size:12px; font-weight:700; text-decoration:none; }
.product-information { padding:70px max(32px,calc((100vw - 1536px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:80px; background:var(--canvas); }
.product-information h2 { max-width:600px; margin:4px 0 0; font-size:38px; letter-spacing:-.035em; }
.product-information ul { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; list-style:none; }
.product-information li { position:relative; padding:0 0 14px 25px; border-bottom:1px solid #d8d8d8; }
.product-information li::before { content:'✓'; position:absolute; left:0; color:var(--success); font-weight:700; }

.seamless-dialog,.paypal-dialog { width:min(1120px,calc(100vw - 30px)); max-width:none; margin:auto; padding:0; overflow:hidden; border:0; border-radius:8px; background:var(--surface); color:var(--ink); box-shadow:0 22px 80px rgb(0 0 0 / 35%); }
.seamless-dialog::backdrop,.paypal-dialog::backdrop { background:rgb(0 0 0 / 70%); backdrop-filter:blur(4px); }
.checker-shell>header { padding:17px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.checker-shell h2 { margin:0; font-size:20px; }
.micro { margin:0; color:var(--muted); font-size:11px; text-transform:uppercase; }
.checker-close,[data-paypal-close] { width:36px; height:36px; border:1px solid var(--line); border-radius:50%; background:var(--surface); font-size:22px; cursor:pointer; }
.seamless-stage { height:min(70vh,720px); background-color:#ddd; background-repeat:repeat; cursor:grab; touch-action:none; outline-offset:-4px; }
.seamless-stage:active { cursor:grabbing; }
.checker-tools { padding:13px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); background:var(--surface); }
.checker-tools p { margin:0; color:var(--muted); font-size:13px; }
.checker-tools div { display:flex; align-items:center; gap:8px; }
.checker-tools button { min-width:36px; height:36px; border:1px solid #bbb; border-radius:4px; background:var(--surface); cursor:pointer; }
.checker-tools output { min-width:55px; text-align:center; font-size:13px; font-weight:700; }
.paypal-dialog { width:min(520px,calc(100vw - 30px)); }
.paypal-dialog>div { position:relative; padding:34px; }
.paypal-dialog [data-paypal-close] { position:absolute; right:18px; top:18px; }
.paypal-dialog h2 { max-width:400px; margin:4px 45px 18px 0; font-size:27px; line-height:1.2; }
.paypal-dialog strong { display:block; margin:15px 0 25px; font-size:32px; }
[data-paypal-status] { min-height:24px; color:var(--muted); font-size:13px; }

.archive-hero,.editorial-page { max-width:1600px; margin:auto; padding:90px 32px 45px; }
.archive-hero { border-bottom:1px solid var(--line); }
.archive-hero h1,.editorial-page>h1 { margin:5px 0 16px; font-size:clamp(42px,6vw,72px); line-height:1.05; letter-spacing:-.045em; }
.archive-hero>p:last-child,.editorial-lead { max-width:800px; color:var(--muted); font-size:19px; }
.process-grid { margin:60px 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; list-style:none; }
.process-grid li { padding:32px; border:1px solid var(--line); border-radius:6px; background:var(--surface); }
.process-grid b { color:var(--brand); }
.process-grid h2 { font-size:23px; }
.process-grid p { color:var(--muted); }
.editorial-callout { padding:45px; border-radius:8px; background:var(--canvas); }
.editorial-callout h2 { margin:0; font-size:34px; }
.editorial-callout p { color:var(--muted); }
.license-grid { margin-top:50px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.license-grid section { padding:32px; border:1px solid var(--line); border-radius:6px; }
.license-grid span { color:var(--brand); font-weight:700; }
.license-grid h2 { font-size:24px; }
.license-grid li { margin:10px 0; }
.license-note { padding:20px; border-radius:5px; background:var(--canvas); }

.site-footer { margin-top:30px; border-top:1px solid var(--line); background:#262626; color:#eee; }
.footer-main { max-width:1600px; margin:auto; padding:55px 32px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; }
.brand-footer .brand-mark { background:#eee; }
.brand-footer .brand-mark i { background:#262626; }
.footer-main p { max-width:430px; color:#aaa; }
.footer-main nav { display:flex; flex-direction:column; gap:10px; }
.footer-main nav strong { margin-bottom:5px; font-size:13px; }
.footer-main nav a { color:#bbb; font-size:13px; text-decoration:none; }
.footer-main nav a:hover { color:white; }
.footer-legal { max-width:1600px; margin:auto; padding:18px 32px; display:flex; justify-content:space-between; border-top:1px solid #444; color:#999; font-size:12px; }

@media(max-width:1200px) {
  .pack-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .marketplace-hero { grid-template-columns:1fr; gap:35px; }
  .hero-specs { max-width:700px; }
}

@media(max-width:900px) {
  .header-main { padding:0 20px; }
  .header-main nav { display:none; }
  .catalog-search { width:calc(100% - 40px); }
  .marketplace-hero { padding:90px 24px 55px; }
  .pack-section { padding-left:20px; padding-right:20px; }
  .pack-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-layout { grid-template-columns:1fr; padding-left:20px; padding-right:20px; }
  .purchase-panel { position:static; }
  .product-information { grid-template-columns:1fr; gap:30px; padding:55px 24px; }
  .buyer-benefits { grid-template-columns:1fr; padding:0 20px; }
  .buyer-benefits article { border-right:1px solid var(--line); border-bottom:0; }
  .buyer-benefits article:last-child { border-bottom:1px solid var(--line); }
}

@media(max-width:620px) {
  .header-main { height:58px; }
  .single-link { display:none; }
  .catalog-search button { padding:0 16px; }
  .hero-copy h1 { font-size:43px; }
  .hero-copy>p:not(.eyebrow) { font-size:17px; }
  .hero-specs { grid-template-columns:1fr; }
  .hero-specs div { min-height:86px; border-right:0; border-bottom:1px solid #d7e2ef; }
  .use-case-strip { padding-left:20px; padding-right:20px; }
  .catalog-toolbar { align-items:start; flex-direction:column; }
  .pack-grid { grid-template-columns:1fr; }
  .product-breadcrumbs { padding-left:20px; padding-right:20px; overflow:hidden; white-space:nowrap; }
  .product-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .product-information ul { grid-template-columns:1fr; }
  .checker-tools { align-items:flex-start; flex-direction:column; }
  .checker-tools div { width:100%; justify-content:space-between; }
  .seamless-stage { height:58vh; }
  .process-grid,.license-grid { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1fr; gap:35px; padding-left:20px; padding-right:20px; }
  .footer-legal { align-items:flex-start; flex-direction:column; gap:8px; padding-left:20px; padding-right:20px; }
}
