/* Round 02 (05.10.2026) — retainer, portfolio, products. New r02-* classes only; no global overrides.
   Widths: base = all widths; @media (max-width:900px) tablet/phone; @media (max-width:600px) phone. */

/* Hero additions (all widths) */
.r02-hero .p26-hero-content h1{min-height:0;}
.r02-hero-price{margin-top:16px;font-size:14px;color:var(--text-dim);}
.r02-hero-works{position:relative;z-index:2;display:flex;justify-content:center;gap:22px;width:100%;max-width:1240px;margin-top:56px;perspective:1400px;}
.r02-hero-works a{display:block;flex:0 1 380px;min-width:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.6);transition:transform .35s var(--ease);}
.r02-hero-works img{display:block;width:100%;height:auto;aspect-ratio:16/10;}
.r02-hero-works a:nth-child(1){transform:rotateY(-12deg) translateY(24px);}
.r02-hero-works a:nth-child(3){transform:rotateY(12deg) translateY(24px);}
.r02-hero-works a:hover{transform:none;}
@media (max-width:900px){
  .r02-hero-works{margin-top:40px;}
  .r02-hero-works a:nth-child(1),.r02-hero-works a:nth-child(3){display:none;}
  .r02-hero-works a{flex-basis:520px;}
}

/* Lists (all widths) */
.r02-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.r02-list li{position:relative;padding-inline-start:24px;line-height:1.5;color:var(--text);}
.r02-list li::before{content:'';position:absolute;inset-inline-start:0;top:.5em;width:12px;height:7px;border-inline-start:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg);}
.r02-list-x li{color:var(--text-dim);}
.r02-list-x li::before{width:10px;height:2px;border:0;background:var(--gray);transform:none;top:.7em;}
.r02-list-gift li::before{border-color:var(--blue);}

/* Retainer plans (all widths: 2 columns; phone: 1) */
.r02-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;}
.r02-plan{display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:20px;background:var(--card);border:1px solid var(--border);}
.r02-plan.is-featured{border-color:rgba(42,172,226,.55);box-shadow:0 0 0 1px rgba(42,172,226,.25),0 24px 60px rgba(0,0,0,.35);}
.r02-plan header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.r02-plan h3{font-size:24px;margin:0;}
.r02-plan header span{color:var(--text-dim);font-size:15px;}
.r02-plan-price{display:flex;align-items:baseline;gap:6px;margin:0;}
.r02-plan-price b{font-size:44px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;}
.r02-plan-price small{color:var(--text-dim);font-size:15px;}
.r02-plan-split{margin:0;font-size:14px;color:var(--text-dim);}
.r02-gift-title{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--blue);}
.r02-plan .p26-btn{margin-top:auto;justify-content:center;}
.r02-fineprint{max-width:960px;margin-top:20px;font-size:14px;line-height:1.6;color:var(--text-dim);}
@media (max-width:600px){
  .r02-plans{grid-template-columns:1fr;}
  .r02-plan{padding:24px 20px;}
  .r02-plan-price b{font-size:38px;}
}

/* Portfolio cards (desktop 3 cols, tablet 2, phone 1). Whole screenshot, never cropped. */
.r02-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.r02-work{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:transform .3s var(--ease),border-color .3s var(--ease);}
.r02-work:hover{transform:translateY(-4px);border-color:rgba(42,172,226,.5);}
.r02-work:focus-visible{outline:3px solid var(--blue);outline-offset:3px;}
.r02-work-shot{display:block;background:#05070a;}
.r02-work-shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;}
.r02-work-meta{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px;}
.r02-work-meta b{font-size:17px;}
.r02-work-meta small{font-size:14px;color:var(--text-dim);line-height:1.5;}
@media (max-width:900px){.r02-works{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}}
@media (max-width:600px){.r02-works{grid-template-columns:1fr;}}

/* Product cards on home (desktop 4 cols, tablet 2, phone 1) */
.r02-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.r02-product{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:16px;background:var(--card);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:border-color .3s var(--ease),transform .3s var(--ease);}
.r02-product:hover{border-color:rgba(34,166,74,.55);transform:translateY(-3px);}
.r02-product h3{margin:0;font-size:20px;}
.r02-product p{margin:0;color:var(--text-dim);line-height:1.55;font-size:15px;}
.r02-product-type{font-size:13px;font-weight:700;color:var(--green);}
.r02-product-price{margin-top:auto;padding-top:8px;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;}
.r02-product-price small{font-size:14px;font-weight:400;color:var(--text-dim);}
@media (max-width:1100px){.r02-products{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.r02-products{grid-template-columns:1fr;}}

/* Products page rows (desktop: head + body side by side; ≤900: stacked) */
.r02-product-rows{display:grid;gap:24px;}
.r02-product-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;padding:32px;border-radius:20px;background:var(--card);border:1px solid var(--border);scroll-margin-top:110px;}
.r02-product-head{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.r02-product-head h3{margin:0;font-size:26px;}
.r02-product-head p{margin:0;color:var(--text-dim);line-height:1.6;}
.r02-product-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.r02-product-body h4{margin:0 0 12px;font-size:15px;color:var(--text-dim);font-weight:700;}
.r02-addons ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.r02-addons li{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:15px;}
.r02-addons b{white-space:nowrap;font-variant-numeric:tabular-nums;}
@media (max-width:900px){
  .r02-product-row{grid-template-columns:1fr;gap:22px;padding:24px 20px;}
  .r02-product-body{grid-template-columns:repeat(2,minmax(0,1fr));}
  .r02-addons{grid-column:1/-1;}
}
@media (max-width:600px){.r02-product-body{grid-template-columns:1fr;}}

@media (prefers-reduced-motion:reduce){.r02-work,.r02-product,.r02-hero-works a{transition:none;}}
