/* A short editorial introduction, followed by practical product choices. */
.brand-hero { background:#f6f3ed; }
.brand-hero__image { aspect-ratio:1.2; object-position:center; }
.brand-text-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; border-bottom:1px solid currentColor; color:var(--forest); font-size:16px; font-weight:650; margin-top:22px; }
.brand-intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }
.brand-intro h2,.brand-guide h2,.brand-products-heading h2 { font-size:clamp(27px,3vw,36px); line-height:1.45; letter-spacing:-.045em; font-weight:700; }
.brand-intro-copy { max-width:650px; }
.brand-intro-copy > p { font-size:18px; line-height:1.85; color:var(--text); word-break:keep-all; overflow-wrap:anywhere; }
.brand-intro-copy > p + p { margin-top:20px; }
.brand-intro-copy .brand-naming { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 24px; font-size:21px; font-weight:700; color:var(--forest); }
.brand-naming span:nth-child(2) { color:var(--gold-dark); font-weight:400; }
.brand-guide { padding:64px 0; color:#faf9f5; background:var(--forest); }
.brand-guide .eyebrow { color:#c9d1c4; }
.brand-guide-heading > p { color:#d0d6cc; font-size:17px; line-height:1.7; margin-top:12px; }
.brand-guide-grid { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:0; margin:38px 0 0; }
.brand-guide-grid li { border-top:1px solid #697b6a; padding-top:24px; }
.brand-guide-number { display:block; font-size:15px; color:#c9d1c4; margin-bottom:15px; }
.brand-guide-grid h3 { color:#fff; font-size:23px; font-weight:650; margin-bottom:13px; }
.brand-guide-grid p { color:#d5dbd2; font-size:17px; line-height:1.85; word-break:keep-all; }
.brand-products-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.brand-products-heading .brand-text-link { flex-shrink:0; }
.routine-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.routine-grid-single { grid-template-columns:minmax(0,640px); }
.routine-card { display:grid; grid-template-columns:160px minmax(0,1fr); border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; }
.routine-visual { display:block; aspect-ratio:1; align-self:center; background:#f3f3ed; }
.routine-visual .product-photo { display:block; width:100%; height:100%; object-fit:cover; padding:0; }
.routine-body { min-width:0; padding:22px; }
.routine-body .r-time { display:block; font-size:13px; color:var(--muted); margin-bottom:5px; }
.routine-body h3 { font-size:21px; font-weight:700; line-height:1.4; }
.routine-body p { font-size:15px; line-height:1.65; color:var(--muted); margin-top:8px; word-break:keep-all; }
.routine-body .btn { padding:9px 12px; min-height:44px; font-size:15px; margin-top:15px; }
.brand-help { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:36px; padding:26px; background:#f4f5ef; border-radius:14px; }
.brand-help p { font-size:17px; }
@media(max-width:900px) {
  .brand-intro-grid { grid-template-columns:1fr; gap:26px; }
  .brand-guide-grid { grid-template-columns:1fr; gap:28px; }
  .brand-guide-number { margin-bottom:8px; }
  .routine-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  body[data-page="brand"] .section { padding:46px 0; }
  .brand-hero h1 { font-size:34px; }
  .brand-hero p { margin-inline:0; max-width:none; }
  .brand-hero__image { aspect-ratio:1.3; border-radius:14px; }
  .brand-intro-copy > p { font-size:17px; line-height:1.8; }
  .brand-intro h2 br { display:none; }
  .brand-guide { padding:44px 0; }
  .brand-guide-grid { margin-top:28px; }
  .brand-guide-grid h3 { font-size:22px; }
  .brand-products-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .brand-products-heading .brand-text-link { margin-top:0; }
  .routine-card { grid-template-columns:104px minmax(0,1fr); }
  .routine-body { padding:17px 14px; }
  .routine-body h3 { font-size:20px; }
  .routine-body p { font-size:15px; }
  .brand-help { padding:22px; }
}
