
:root{--paper:#fff9ef;--ink:#2c2c2c;--graph:#3b3f44;--peach:#ffb088;--aqua:#7bd8d3;--citrus:#f5d14c;--line:#202020}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background-image:linear-gradient(rgba(32,32,32,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(32,32,32,.045) 1px,transparent 1px);background-size:42px 42px}a{color:inherit}.top{position:sticky;top:0;z-index:5;background:rgba(255,249,239,.88);backdrop-filter:blur(14px);border-bottom:1.5px solid var(--line)}.bar{max-width:1180px;margin:auto;padding:14px 18px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:900;letter-spacing:-.05em;text-decoration:none}.nav{display:flex;gap:18px;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.nav a{text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 18px}.hero{padding:44px 18px 20px}.atlas{max-width:1180px;margin:auto;border:2px solid var(--line);border-radius:34px;background:#fff;box-shadow:12px 12px 0 var(--aqua);overflow:hidden}.heroImg{height:420px;position:relative}.heroImg img{width:100%;height:100%;object-fit:cover;display:block}.badge{position:absolute;left:24px;bottom:24px;background:var(--paper);border:2px solid var(--line);border-radius:999px;padding:10px 15px;font-weight:900}.heroText{display:grid;grid-template-columns:1.15fr .85fr;border-top:2px solid var(--line)}.heroText h1{font-size:clamp(54px,10vw,128px);line-height:.82;letter-spacing:-.09em;margin:0;padding:30px}.heroText p{font-size:19px;line-height:1.4;margin:0;padding:34px;border-left:2px solid var(--line);display:flex;align-items:center}.cta{display:flex;gap:12px;flex-wrap:wrap;padding:0 30px 30px}.btn{border:2px solid var(--line);border-radius:999px;background:var(--graph);color:white;text-decoration:none;padding:13px 18px;font-weight:900;box-shadow:4px 4px 0 var(--citrus)}.btn.alt{background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--peach)}.routebar{max-width:1180px;margin:34px auto;padding:0 18px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.routebar a{text-align:center;text-decoration:none;border:2px solid var(--line);border-radius:999px;background:#fff;padding:13px 10px;font-weight:900}.routebar a:nth-child(2n){background:#fff0e8}.routebar a:nth-child(3n){background:#eafffd}.spool{max-width:1180px;margin:52px auto;padding:0 18px}.spoolHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.spoolHead h2{font-size:clamp(40px,7vw,86px);line-height:.86;letter-spacing:-.08em;margin:0}.spoolHead p{max-width:350px;line-height:1.45}.strips{display:grid;gap:18px}.strip{display:grid;grid-template-columns:1fr 1.05fr;min-height:280px;border:2px solid var(--line);border-radius:32px;overflow:hidden;background:white;text-decoration:none}.strip:nth-child(even){grid-template-columns:1.05fr 1fr}.strip:nth-child(even) .visual{order:2}.visual{min-height:280px}.visual img{width:100%;height:100%;object-fit:cover;display:block}.copy{padding:26px;display:flex;flex-direction:column;justify-content:space-between}.copy h3{font-size:clamp(34px,5vw,68px);line-height:.86;letter-spacing:-.07em;margin:0}.copy p{font-size:17px;line-height:1.4}.stamp{align-self:flex-start;background:var(--citrus);border:2px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:900}.specs{max-width:1180px;margin:56px auto;padding:0 18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.spec{border:2px solid var(--line);border-radius:28px;background:#fff;padding:24px;min-height:190px}.spec:nth-child(2){background:#eafffd}.spec:nth-child(3){background:#fff0e8}.spec b{font-size:30px;display:block;margin-bottom:10px;letter-spacing:-.05em}.page{max-width:1180px;margin:auto;padding:52px 18px}.crumb{text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.pageHero{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch;margin-top:18px}.pageHero .panel{border:2px solid var(--line);border-radius:32px;background:white;padding:30px;box-shadow:10px 10px 0 var(--peach)}.pageHero h1{font-size:clamp(48px,8vw,106px);line-height:.84;letter-spacing:-.08em;margin:20px 0}.pageHero img{width:100%;height:540px;object-fit:cover;border:2px solid var(--line);border-radius:32px;box-shadow:10px 10px 0 var(--aqua)}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.check{background:#fff;border:2px solid var(--line);border-radius:26px;padding:20px}.shop{margin:30px 0;border:2px solid var(--line);border-radius:30px;background:var(--graph);color:#fff;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer{border-top:2px solid var(--line);margin-top:56px;background:rgba(255,249,239,.9)}.foot{max-width:1180px;margin:auto;padding:28px 18px;display:flex;justify-content:space-between;gap:24px}.disc{max-width:620px;color:#555}@media(max-width:900px){.heroText,.strip,.strip:nth-child(even),.pageHero,.specs{grid-template-columns:1fr}.heroText p{border-left:0;border-top:2px solid var(--line)}.routebar{grid-template-columns:1fr 1fr}.strip:nth-child(even) .visual{order:0}.spoolHead{display:block}.checks{grid-template-columns:1fr}.shop{display:block}.foot{display:block}.nav{display:none}.heroImg{height:300px}.pageHero img{height:auto}}@media(max-width:480px){.atlas,.strip,.spec,.pageHero .panel,.pageHero img,.shop{border-radius:22px}.heroText h1{font-size:58px;padding:24px}.heroText p{padding:24px}.cta{padding:0 24px 24px}.btn{width:100%;justify-content:center;text-align:center}.routebar{grid-template-columns:1fr}.copy h3{font-size:38px}.hero{padding-top:28px}}

/* Mobile QA fix 2026-07-11: make inner-page CTA panels fully readable on phones. */
@media(max-width:600px){
  .spoolHead h2{font-size:42px;line-height:.95;letter-spacing:-.065em;}
  .spoolHead p{font-size:17px;line-height:1.4;}
  .page{padding:42px 18px;}
  .pageHero{gap:18px;}
  .pageHero .panel{padding:28px 30px 30px;box-shadow:9px 9px 0 var(--peach);}
  .pageHero h1{font-size:clamp(42px,14vw,58px);line-height:.93;letter-spacing:-.07em;word-break:normal;overflow-wrap:normal;}
  .pageHero .panel p{font-size:18px;line-height:1.34;}
  .shop{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:24px;border-radius:26px;min-height:auto;overflow:visible;}
  .shop div{font-size:17px;line-height:1.34;}
  .shop .btn{display:block;width:100%;text-align:center;margin:0;white-space:normal;line-height:1.2;padding:15px 16px;}
  .checks{gap:16px;}
  .check{padding:22px;font-size:17px;line-height:1.3;}
}
@media(max-width:380px){
  .heroText h1{font-size:52px;line-height:.86;}
  .copy{padding:24px;}
  .copy h3{font-size:35px;line-height:.92;}
  .pageHero h1{font-size:44px;}
  .pageHero .panel{padding:26px 28px 30px;}
}


/* Mobile tap-target fix 2026-07-11: make logo/back links easy to tap. */
@media(max-width:600px){
  .bar{min-height:52px;padding:8px 18px;}
  .brand{display:inline-flex;align-items:center;min-height:44px;}
  .crumb{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin-bottom:8px;}
}


/* Portfolio QA upgrade 2026-07-12: clickability, tap targets, mobile stability */
a.image-link{display:block;text-decoration:none;color:inherit;border-radius:inherit}a.image-link img{transition:transform .18s ease,filter .18s ease}a.image-link:focus-visible{outline:4px solid #f7c94b;outline-offset:4px}a.image-link:hover img{transform:scale(1.012);filter:saturate(1.05)}a,button,.btn,.button,[class*="btn"],[class*="cta"]{min-height:44px}img,svg,video,canvas{max-width:100%;height:auto}html,body{max-width:100%;overflow-x:clip}.qa-upgrade-section{margin:clamp(28px,5vw,64px) auto;padding:clamp(22px,4vw,40px);border-radius:28px;background:rgba(255,255,255,.82);border:2px solid rgba(20,30,32,.12);box-shadow:0 20px 70px rgba(20,30,32,.08)}.qa-upgrade-section h2{font-size:clamp(28px,4vw,48px);line-height:.95;letter-spacing:-.04em;margin:0 0 12px}.qa-upgrade-section p{font-size:clamp(16px,1.7vw,19px);line-height:1.65}.qa-upgrade-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.qa-upgrade-list li{list-style:none;padding:14px 16px;border-radius:18px;background:rgba(250,250,246,.92);border:1px solid rgba(20,30,32,.14);font-weight:700}@media(max-width:760px){.qa-upgrade-list{grid-template-columns:1fr}.qa-upgrade-section{border-radius:22px}.nav,.navlinks{max-width:100%}}


/* Portfolio QA final hardening 2026-07-12 */
a[href*="creativefabrica.com"], .table a, table a, .footer a, footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px!important;padding:10px 12px;border-radius:12px}.swatchline{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:18px!important;overflow:visible!important;transform:none!important}.swatchline a{width:auto!important;min-width:0!important;max-width:100%!important}.specimens{overflow:visible!important}.specimen{max-width:100%!important}@media(max-width:900px){.specimens{grid-template-columns:1fr!important}.swatchline{grid-template-columns:1fr!important}}
