:root{--brand:#ff5aa5;--ink:#111827;--muted:#6b7280;--border:#e5e7eb;--accent:#f6f7f9}
html{font-size:100%}
*,:before,:after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial;line-height:1.6;color:var(--ink);background:#fff;max-width:100vw;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#5a59ff;text-decoration:none}
a:focus,button:focus,input:focus,textarea:focus{outline:0.2rem solid #ff5aa5;outline-offset:0.15rem}
.container{width:min(70rem,92vw);margin-inline:auto}
.section{padding-block:2rem}
.flow>*+*{margin-top:1em}
.lead{color:var(--muted)}
.muted{color:var(--muted)}
.card{background:#fff;border:1px solid var(--border);border-radius:1rem;box-shadow:0 .6rem 1.4rem rgba(0,0,0,.06)}
.p-2{padding:1rem}
.mt-1{margin-top:1rem}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0}
.logo{width:auto;max-height:4.875rem;height:auto}
@media (max-width:48em){.logo{max-height:3.75rem}}
.hamburger{display:none;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:.5rem .6rem;cursor:pointer}
.hamburger span{display:block;width:1.375rem;height:.125rem;background:#111;border-radius:.125rem}
.site-menu{display:flex;gap:.75rem;align-items:center}
.site-menu a{padding:.5rem .75rem;border-radius:.6rem}
.site-menu a:hover{background:var(--accent)}
@media (max-width:62em){ /* broader breakpoint to guarantee hamburger on phones/tablets */ 
  .hamburger{display:flex}
  .site-menu{display:none;position:absolute;top:4rem;right:4%;background:#fff;border:1px solid var(--border);border-radius:.9rem;padding:.5rem;flex-direction:column;align-items:stretch;gap:.25rem;box-shadow:0 .8rem 1.4rem rgba(0,0,0,.08)}
  .site-menu.open{display:flex}
}

/* Buttons */
.btn{display:inline-block;border-radius:.75rem;padding:.8em 1.1em;border:1px solid transparent;background:var(--brand);color:#fff;font-weight:700;transition:transform .08s ease, filter .15s ease}
.btn.secondary{background:#fff;color:#111;border-color:#d1d5db}
.btn:hover{transform:translateY(-.07em);filter:brightness(1.02)}
.btn.secondary:hover{background:var(--accent)}
.actions{display:flex;gap:.75rem;flex-wrap:wrap}

/* Hero */
.hero{padding-block:3rem;background:linear-gradient(0deg,#fff,#fafafa)}
.hero-grid{display:grid;gap:1.5rem;grid-template-columns:1.1fr .9fr;align-items:center}
.hero h1{font-size:clamp(1.875rem,4.2vw,3rem);margin:0 0 .75rem}
.hero p{max-width:65ch}
@media (max-width:56em){.hero-grid{grid-template-columns:1fr}}

/* Grid */
.grid-3{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}
@media (max-width:56em){.grid-3{grid-template-columns:1fr}}

/* Table → robust stacked cards on mobile (no horizontal scroll) */
.table-wrap{overflow:hidden}
.table{width:100%;border-collapse:collapse;table-layout:fixed}
.table th,.table td{padding:.9rem .75rem;text-align:left;border-bottom:1px solid var(--border);word-break:break-word}
.table th{background:#fafafa}
@media (max-width:48em){
  .table{border-collapse:separate;border-spacing:0 .6rem}
  .table thead{display:none}
  .table tbody{display:block}
  .table tr{display:block;background:#fff;border:1px solid var(--border);border-radius:.9rem;overflow:hidden;margin-bottom:.75rem}
  .table td{display:grid;grid-template-columns:12ch 1fr;gap:.75rem;border:none;padding:.55rem .75rem;align-items:start}
  .table td::before{content:attr(data-label);font-weight:700;color:#374151}
  .table td a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* AI card (em‑based) */
.ai-card{display:grid;gap:1rem;padding:1rem}
.ai-card .field{display:grid;gap:.5rem}
.ai-card label{font-weight:700}
.ai-card textarea{font:inherit;line-height:1.5;border:1px solid var(--border);border-radius:.85rem;padding:.8em 1em;min-height:8em;width:100%;resize:vertical;box-shadow:0 0 0 .2em rgba(255,90,165,.12) inset}
.ai-card textarea:focus{outline:0.2rem solid #ff5aa5;outline-offset:0.15rem;box-shadow:0 0 0 .2em rgba(255,90,165,.2) inset}

/* Buying guide */
.buy-card{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;padding:1rem}
.buy-media img{border-radius:.8rem}
@media (max-width:56em){.buy-card{grid-template-columns:1fr}.buy-media{order:-1}}

/* Footer */
footer{border-top:1px solid var(--border);padding-block:2rem;color:var(--muted)}
footer .footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
