/* ============================================================
   First Hello Design — shared styles
   Oat & Ember design system
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: #e0d8cc;
  display: flex;
  justify-content: center;
  padding: 40px 0;
}

a { color: inherit; text-decoration: none; }

/* ===== Shell ===== */
.warm {
  --paper:#fdfaf6; --paper-2:#f2ece4; --ink:#1c1410; --soft-ink:#483824;
  --muted:#9c8468; --clay:#d14010; --honey:#e0a060; --cream:#fff;
  background:var(--paper); color:var(--ink);
  font-family:'Instrument Serif',Georgia,serif;
  width:1280px; max-width:100%; position:relative; overflow:hidden;
}
.warm::before {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  mix-blend-mode:multiply; opacity:.04;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");
}
.warm > * { position:relative; z-index:2; }

/* ===== Header ===== */
.warm-top { display:flex; justify-content:space-between; align-items:center; padding:24px 40px; border-bottom:1px solid rgba(28,20,16,.07); }
.warm-top .mark { display:inline-flex; align-items:center; gap:10px; }
.warm-top .mark img.nav-icon { height:72px; width:auto; display:block; }
.warm-top .mark .nav-wordmark { font-family:'Inter',sans-serif; font-size:22px; font-weight:700; color:var(--ink); letter-spacing:-.01em; line-height:1; }
.warm-top .mark .nav-wordmark .nav-accent { color:#d14010; }
.warm-top ul { display:flex; gap:32px; list-style:none; padding:0; margin:0; font-family:'Inter',sans-serif; font-size:13px; color:var(--muted); letter-spacing:.01em; }
.warm-top ul li { padding-bottom:2px; border-bottom:1px solid transparent; }
.warm-top ul li a { display:inline-block; }
.warm-top ul li.on { border-bottom-color:var(--clay); color:var(--ink); }
.warm-top ul li:hover { color:var(--ink); border-bottom-color:rgba(28,20,16,.2); }
.warm-top .cta { font-family:'Inter',sans-serif; font-size:13px; font-weight:600; padding:10px 20px; border-radius:6px; background:var(--clay); color:var(--cream); letter-spacing:.01em; }

/* ===== Hero ===== */
.warm-hero { padding:52px 40px 36px; display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; }
.warm-h { font-family:'Instrument Serif',serif; font-weight:400; font-size:100px; line-height:.92; letter-spacing:-.02em; margin:0 0 16px; color:var(--ink); }
.warm-h em { font-style:normal; color:var(--clay); }
.warm-kicker { font-family:'Inter',sans-serif; font-size:18px; font-weight:600; color:var(--ink); letter-spacing:.01em; margin:0 0 24px; }
.warm-sub { font-family:'Inter',sans-serif; font-size:16px; line-height:1.6; max-width:460px; color:var(--soft-ink); margin:0 0 32px; }
.warm-btns { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.warm-btn { font-family:'Inter',sans-serif; font-size:14px; font-weight:600; padding:13px 24px; border-radius:6px; background:var(--ink); color:var(--cream); display:inline-flex; align-items:center; gap:8px; cursor:pointer; letter-spacing:.01em; }
.warm-btn.alt { background:var(--clay); }
.warm-btn.ghost { background:transparent; color:var(--ink); border:1px solid rgba(28,20,16,.2); }

/* ===== Phone mockup ===== */
.warm-phone { display:flex; justify-content:center; align-items:center; }

.phone-frame {
  width:256px; height:524px;
  background:#1c1410;
  border-radius:40px;
  padding:12px;
  position:relative;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.07),
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 28px 72px rgba(28,20,16,.32),
    0 8px 24px rgba(28,20,16,.2);
}
.phone-island {
  position:absolute; top:20px; left:50%; transform:translateX(-50%);
  width:76px; height:22px; background:#1c1410; border-radius:11px; z-index:10;
}
.phone-screen {
  width:100%; height:100%;
  background:#fdfaf6;
  border-radius:30px;
  overflow:hidden;
  position:relative;
}
.phone-home {
  position:absolute; bottom:8px; left:50%; transform:translateX(-50%);
  width:72px; height:4px; background:rgba(255,255,255,.25); border-radius:2px;
  z-index:10;
}

/* the scrolling inner content */
.phone-scroll {
  animation: pscroll 14s cubic-bezier(.4,0,.2,1) infinite;
  will-change: transform;
}
@keyframes pscroll {
  0%, 10%   { transform: translateY(0); }
  40%, 58%  { transform: translateY(-220px); }
  88%, 100% { transform: translateY(0); }
}

/* mini site — nav */
.pm-nav {
  display:flex; justify-content:space-between; align-items:center;
  padding:40px 16px 10px;
  border-bottom:1px solid rgba(28,20,16,.07);
  background:#fdfaf6;
}
.pm-nav .pm-mark {
  font-family:'Instrument Serif',serif; font-style:italic;
  font-size:15px; color:#1c1410; letter-spacing:-.01em;
}
.pm-nav .pm-burger {
  display:flex; flex-direction:column; gap:3px;
}
.pm-nav .pm-burger span {
  display:block; width:16px; height:1.5px; background:#1c1410; border-radius:1px;
}

/* mini site — hero */
.pm-hero {
  padding:20px 16px 18px;
}
.pm-eye {
  font-family:'Inter',sans-serif; font-size:7px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#9c8468; margin-bottom:8px;
}
.pm-h {
  font-family:'Instrument Serif',serif; font-size:24px; line-height:1.08;
  letter-spacing:-.02em; color:#1c1410; margin:0 0 10px;
}
.pm-h em { font-style:italic; color:#b84020; }
.pm-h .pm-punch { color:#b84020; }
.pm-sub {
  font-family:'Inter',sans-serif; font-size:8.5px; line-height:1.6;
  color:#483824; margin:0 0 14px;
}
.pm-btn {
  display:inline-block; font-family:'Inter',sans-serif; font-size:8px;
  font-weight:700; letter-spacing:.05em;
  padding:8px 14px; background:#b84020; color:#fff; border-radius:4px;
}

/* mini site — strip */
.pm-strip {
  display:flex; gap:0; border-top:1px solid rgba(28,20,16,.08);
  border-bottom:1px solid rgba(28,20,16,.08); background:#f2ece4;
  padding:8px 16px; overflow:hidden;
}
.pm-strip span {
  font-family:'Inter',sans-serif; font-size:7px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:#9c8468;
  white-space:nowrap; padding-right:16px;
}

/* mini site — service cards */
.pm-section {
  padding:18px 16px 0;
}
.pm-label {
  font-family:'Inter',sans-serif; font-size:7px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#9c8468; margin-bottom:12px;
}
.pm-cards { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:16px; }
.pm-card {
  background:#f2ece4; border-radius:4px; padding:10px;
  border:1px solid rgba(28,20,16,.07);
}
.pm-card .pm-num {
  font-family:'Inter',sans-serif; font-size:7px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:#b84020; margin-bottom:5px;
}
.pm-card .pm-ct {
  font-family:'Instrument Serif',serif; font-size:11px;
  color:#1c1410; margin:0 0 4px; letter-spacing:-.01em;
}
.pm-card .pm-cd {
  font-family:'Inter',sans-serif; font-size:7.5px; line-height:1.5; color:#9c8468;
}

/* mini site — CTA band */
.pm-cta {
  margin:0 16px 16px;
  background:#1c1410; border-radius:4px;
  padding:20px 16px; text-align:center;
}
.pm-cta .pm-ch {
  font-family:'Instrument Serif',serif; font-size:16px; line-height:1.1;
  color:#fdfaf6; margin:0 0 10px; letter-spacing:-.01em;
}
.pm-cta .pm-ch em { font-style:italic; color:#b84020; }
.pm-cta .pm-cbtn {
  display:inline-block; font-family:'Inter',sans-serif; font-size:7.5px;
  font-weight:700; padding:7px 14px; background:#b84020; color:#fff;
  border-radius:4px; letter-spacing:.04em;
}

/* mini site — footer */
.pm-foot {
  padding:10px 16px; border-top:1px solid rgba(28,20,16,.07);
  font-family:'Inter',sans-serif; font-size:7px; color:#9c8468;
  display:flex; justify-content:space-between;
}

/* ===== Client mini-site ===== */
.ms-nav { display:flex; justify-content:space-between; align-items:center; padding:40px 14px 12px; background:#fff; border-bottom:1px solid rgba(0,0,0,.07); }
.ms-mark { font-family:'Inter',sans-serif; font-weight:800; font-size:12px; color:#2c3d2e; letter-spacing:-.01em; }
.ms-burger { display:flex; flex-direction:column; gap:3px; }
.ms-burger span { display:block; width:16px; height:1.5px; background:#2c3d2e; border-radius:1px; }
.ms-hero { padding:24px 14px 22px; background:#2c3d2e; }
.ms-eyebrow { font-family:'Inter',sans-serif; font-size:7px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:10px; }
.ms-h { font-family:'Inter',sans-serif; font-weight:800; font-size:26px; line-height:1.05; color:#fff; margin:0 0 8px; letter-spacing:-.02em; }
.ms-sub { font-family:'Inter',sans-serif; font-size:8px; line-height:1.6; color:rgba(255,255,255,.6); margin:0 0 16px; }
.ms-btn { display:inline-block; font-family:'Inter',sans-serif; font-size:8px; font-weight:700; letter-spacing:.04em; padding:9px 16px; background:#5a8a42; color:#fff; border-radius:5px; }
.ms-services { background:#fff; padding:14px; display:flex; flex-direction:column; gap:8px; }
.ms-svc { display:flex; align-items:flex-start; gap:10px; padding:10px; background:#f0f4ee; border-radius:5px; border:1px solid rgba(26,46,28,.08); }
.ms-snum { font-family:'Inter',sans-serif; font-size:8px; font-weight:800; color:#5a8a42; flex-shrink:0; padding-top:1px; }
.ms-sname { font-family:'Inter',sans-serif; font-size:9px; font-weight:700; color:#2c3d2e; margin-bottom:2px; }
.ms-sdesc { font-family:'Inter',sans-serif; font-size:7.5px; color:#5a7a5c; line-height:1.4; }
.ms-band { display:grid; grid-template-columns:1fr 1fr; background:#2c3d2e; }
.ms-band-stat { padding:14px 12px; text-align:center; display:flex; flex-direction:column; gap:2px; border-right:1px solid rgba(255,255,255,.08); }
.ms-band-stat:last-child { border-right:none; }
.ms-big { font-family:'Inter',sans-serif; font-weight:800; font-size:18px; color:#5a8a42; letter-spacing:-.02em; }
.ms-blab { font-family:'Inter',sans-serif; font-size:7px; font-weight:500; color:rgba(255,255,255,.5); letter-spacing:.05em; text-transform:uppercase; }
.ms-review { margin:12px 12px 0; background:#fff; border-radius:5px; padding:12px; border:1px solid rgba(26,46,28,.08); box-shadow:0 1px 6px rgba(0,0,0,.05); }
.ms-stars { font-size:10px; color:#5a8a42; margin-bottom:5px; letter-spacing:.05em; }
.ms-rq { font-family:'Inter',sans-serif; font-size:8px; font-weight:500; line-height:1.55; color:#2c3d2e; margin-bottom:5px; }
.ms-ra { font-family:'Inter',sans-serif; font-size:7px; color:#5a7a5c; font-weight:600; }
.ms-cta { margin:12px 12px 12px; background:#5a8a42; border-radius:5px; padding:18px 14px; text-align:center; }
.ms-ch { font-family:'Inter',sans-serif; font-weight:800; font-size:14px; line-height:1.2; color:#fff; margin:0 0 12px; }
.ms-cbtn { display:inline-block; font-family:'Inter',sans-serif; font-size:7.5px; font-weight:700; padding:8px 16px; background:#2c3d2e; color:#fff; border-radius:4px; letter-spacing:.04em; }
.ms-foot { padding:10px 14px; border-top:1px solid rgba(26,46,28,.08); font-family:'Inter',sans-serif; font-size:7px; color:#5a7a5c; display:flex; justify-content:space-between; background:#fff; }

/* ===== Divider strip ===== */
.warm-strip { display:flex; justify-content:center; align-items:stretch; border-top:1px solid rgba(28,20,16,.08); border-bottom:1px solid rgba(28,20,16,.08); background:var(--paper-2); overflow:hidden; }
.warm-strip span { font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:14px 32px; border-right:1px solid rgba(28,20,16,.08); white-space:nowrap; }
.warm-strip span:last-child { border-right:none; }

/* ===== Sections ===== */
.warm-eyebrow { font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.warm-section { padding:40px 40px; }
.warm-section-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:32px; gap:16px; flex-wrap:wrap; }
.warm-section-head h2 { font-family:'Instrument Serif',serif; font-weight:400; font-size:42px; letter-spacing:-.02em; margin:0; color:var(--ink); }

/* ===== Service cards ===== */
.warm-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.warm-card { background:var(--paper-2); border-radius:6px; padding:28px; position:relative; border:1px solid rgba(28,20,16,.07); }
.warm-card .num { font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); margin-bottom:16px; }
.warm-card h3 { font-family:'Instrument Serif',serif; font-weight:400; font-size:24px; margin:0 0 8px; letter-spacing:-.01em; }
.warm-card p { font-family:'Inter',sans-serif; font-size:13px; line-height:1.6; color:var(--soft-ink); margin:0; }

/* ===== Stat pull quote ===== */
.warm-stat { margin:0 40px 24px; padding:28px 36px; display:flex; align-items:center; gap:28px; border-top:1px solid rgba(28,20,16,.08); border-bottom:1px solid rgba(28,20,16,.08); }
.warm-stat-num { font-family:'Instrument Serif',serif; font-size:72px; line-height:1; color:var(--clay); letter-spacing:-.03em; flex-shrink:0; }
.warm-stat-text { font-family:'Inter',sans-serif; font-size:15px; line-height:1.55; color:var(--soft-ink); max-width:360px; }
.warm-stat-cite { font-size:11px; font-weight:600; letter-spacing:.03em; color:var(--muted); text-decoration:none; display:block; margin-top:6px; }
.warm-stat-cite:hover { color:var(--clay); }

/* ===== Testimonial ===== */
.warm-promise { margin:0 40px 24px; padding:32px 36px; background:var(--cream); border:1px solid rgba(28,20,16,.07); border-radius:6px; display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; box-shadow:0 2px 16px rgba(28,20,16,.05); }
.warm-promise .body { font-family:'Instrument Serif',serif; font-size:19px; font-style:normal; line-height:1.45; color:var(--soft-ink); }
.warm-promise .body b { color:var(--ink); font-style:normal; font-weight:400; }
.warm-promise .sig { font-family:'Inter',sans-serif; font-size:12px; font-weight:600; color:var(--ink); text-align:right; white-space:nowrap; }
.warm-promise .sig small { display:block; font-weight:400; color:var(--muted); margin-top:3px; font-size:11px; letter-spacing:.06em; }

/* ===== CTA band ===== */
.warm-cta { position:relative; padding:48px 40px 64px; text-align:center; color:var(--ink); }
.warm-cta-setup { font-family:'Inter',sans-serif; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin:0; }
.warm-cta h2 { font-family:'Instrument Serif',serif; font-weight:400; font-size:52px; line-height:1.05; letter-spacing:-.02em; margin:0; }
.warm-cta-setup + h2 { padding-top:56px; }
.warm-cta h2 em { font-style:normal; color:var(--clay); }
.warm-cta p { font-family:'Inter',sans-serif; font-size:15px; color:var(--muted); margin:14px 0 0; }
.warm-cta .warm-btn { margin-top:28px; background:var(--clay); }

/* ===== Footer ===== */
.warm-foot { padding:20px 40px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; font-family:'Inter',sans-serif; font-size:11px; color:var(--muted); border-top:1px solid rgba(28,20,16,.08); letter-spacing:.02em; }

/* ============================================================
   Portfolio page
   ============================================================ */
.warm-pagehead { padding:52px 40px 0; margin-bottom:0; }
.warm-pagehead h1 { font-family:'Instrument Serif',serif; font-weight:400; font-size:96px; line-height:.95; letter-spacing:-.03em; margin:16px 0 0; color:var(--ink); }
.warm-pagehead h1 em { font-style:italic; color:var(--clay); }
.warm-pagehead .lead { font-family:'Inter',sans-serif; font-size:15px; line-height:1.6; max-width:480px; margin:22px 0 40px; color:var(--soft-ink); }

.warm-work-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:rgba(28,20,16,.07); border-top:1px solid rgba(28,20,16,.07); }
.warm-work { position:relative; background:var(--paper); overflow:hidden; transition:background .2s ease; }
.warm-work:hover { background:var(--paper-2); }
.warm-work .thumb { height:320px; display:flex; align-items:flex-end; justify-content:flex-start; padding:20px 24px; position:relative; }
.warm-work .thumb .badge { font-family:'Inter',sans-serif; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); background:rgba(255,255,255,.9); padding:5px 12px; border-radius:4px; }
.warm-work .thumb .glyph { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:'Instrument Serif',serif; font-style:italic; font-size:84px; color:rgba(255,255,255,.4); }
.warm-work .meta { padding:24px; border-top:1px solid rgba(28,20,16,.07); }
.warm-work .meta h3 { font-family:'Instrument Serif',serif; font-weight:400; font-size:26px; margin:0 0 4px; letter-spacing:-.01em; }
.warm-work .meta .cat { font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--clay); margin:0 0 10px; }
.warm-work .meta p { font-family:'Inter',sans-serif; font-size:13px; line-height:1.6; color:var(--soft-ink); margin:0 0 14px; }
.warm-work .meta .tags { display:flex; flex-wrap:wrap; gap:6px; }
.warm-work .meta .tags span { font-family:'Inter',sans-serif; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border:1px solid rgba(28,20,16,.12); padding:4px 10px; border-radius:4px; }
.thumb-preview { background:#f0ece8; overflow:hidden; }
.thumb-preview iframe { position:absolute; top:0; left:0; width:200%; height:200%; border:none; transform:scale(.5); transform-origin:top left; }

/* ===== Device mockup (portfolio cards) ===== */
.device-wrap { background:var(--paper-2); height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:16px; }
.device-toggle-bar { display:flex; gap:3px; background:rgba(28,20,16,.08); border-radius:6px; padding:3px; }
.device-tog { font-family:'Inter',sans-serif; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 14px; border:none; background:transparent; color:var(--muted); border-radius:4px; cursor:pointer; transition:all .15s; }
.device-tog.active { background:var(--cream); color:var(--ink); box-shadow:0 1px 4px rgba(28,20,16,.12); }
.device-view { display:none; align-items:center; justify-content:center; flex:1; width:100%; }
.device-view.active { display:flex; }
/* Monitor */
.monitor { display:flex; flex-direction:column; align-items:center; }
.monitor-body { background:#1e1e1e; border-radius:8px; padding:8px 8px 6px; width:460px; box-shadow:0 4px 24px rgba(0,0,0,.2); }
.monitor-cam { width:5px; height:5px; background:#444; border-radius:50%; margin:0 auto 5px; }
.monitor-screen { border-radius:3px; overflow:hidden; height:270px; position:relative; background:#fff; }
.monitor-screen iframe { position:absolute; top:0; left:0; width:270%; height:400%; border:none; transform:scale(.37); transform-origin:top left; }
.monitor-neck { width:28px; height:16px; background:#1e1e1e; }
.monitor-base { width:100px; height:5px; background:#1e1e1e; border-radius:3px; }
/* Phone mini — matches landing page phone-frame style */
.phone-mini { background:#1c1410; border-radius:26px; padding:7px; width:152px; height:308px; position:relative; box-shadow:0 0 0 1px rgba(255,255,255,.07),inset 0 0 0 1px rgba(255,255,255,.04),0 8px 32px rgba(28,20,16,.3); }
.phone-mini-island { position:absolute; top:13px; left:50%; transform:translateX(-50%); width:46px; height:13px; background:#1c1410; border-radius:7px; z-index:10; }
.phone-mini-screen { width:100%; height:100%; background:#fff; border-radius:20px; overflow:hidden; position:relative; }
.phone-mini-screen iframe { position:absolute; top:0; left:0; width:300%; height:300%; border:none; transform:scale(.33); transform-origin:top left; }
.phone-mini-bar { position:absolute; bottom:5px; left:50%; transform:translateX(-50%); width:44px; height:3px; background:rgba(255,255,255,.25); border-radius:2px; z-index:10; }
.warm-work-link { display:inline-block; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; color:var(--clay); text-decoration:none; margin-top:4px; letter-spacing:.01em; }
.warm-work-link:hover { text-decoration:underline; }
.thumb-a { background:linear-gradient(135deg,#c8823a,#a04020); }
.thumb-b { background:linear-gradient(135deg,#6a8a60,#3e5e3c); }
.thumb-c { background:linear-gradient(135deg,#a84030,#742a20); }
.thumb-d { background:linear-gradient(135deg,#c89e44,#a07e2c); }
.thumb-e { background:linear-gradient(135deg,#506090,#303858); }
.thumb-f { background:linear-gradient(135deg,#905870,#604050); }

/* ============================================================
   About page
   ============================================================ */
.warm-about { padding:52px 40px 8px; display:grid; grid-template-columns:1fr 1.4fr; gap:64px; align-items:center; }
.warm-portrait { border-radius:8px; overflow:hidden; position:relative; }
.warm-portrait img { width:100%; height:auto; display:block; }
.warm-portrait-credit { position:absolute; bottom:0; left:0; right:0; padding:24px 12px 10px; font-family:'Inter',sans-serif; font-size:10px; color:rgba(255,255,255,.7); letter-spacing:.03em; background:linear-gradient(transparent,rgba(0,0,0,.35)); }
.warm-about .story h2 { font-family:'Instrument Serif',serif; font-weight:400; font-size:36px; letter-spacing:-.02em; margin:0 0 18px; color:var(--ink); line-height:1.15; }
.warm-about .story h2 em { font-style:normal; color:var(--clay); }
.warm-about .story p { font-family:'Inter',sans-serif; font-size:15px; line-height:1.7; color:var(--soft-ink); margin:0 0 16px; }
.warm-about .story p b { color:var(--ink); font-weight:600; }
.warm-about .story .quote { font-family:'Instrument Serif',serif; font-style:italic; font-size:21px; line-height:1.45; color:var(--ink); border-left:2px solid var(--clay); padding-left:20px; margin:28px 0; }

.warm-values { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(28,20,16,.07); border-top:1px solid rgba(28,20,16,.07); border-bottom:1px solid rgba(28,20,16,.07); margin:0 0 2px; }
.warm-value { background:var(--paper); padding:32px 28px; }
.warm-value .ico { font-size:18px; margin-bottom:14px; opacity:.7; }
.warm-value h4 { font-family:'Instrument Serif',serif; font-weight:400; font-size:22px; margin:0 0 8px; }
.warm-value p { font-family:'Inter',sans-serif; font-size:13px; line-height:1.6; color:var(--soft-ink); margin:0; }

.warm-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding:40px 40px 8px; }
.warm-step { padding:0 24px; border-left:1px solid rgba(28,20,16,.1); }
.warm-step:first-child { border-left:none; padding-left:0; }
.warm-step .n { font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--clay); margin-bottom:10px; }
.warm-step h4 { font-family:'Instrument Serif',serif; font-weight:400; font-size:20px; margin:0 0 8px; }
.warm-step p { font-family:'Inter',sans-serif; font-size:13px; line-height:1.55; color:var(--soft-ink); margin:0; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 900px) {
  body { padding:0; }
  .warm-top { flex-wrap:wrap; gap:14px; padding:18px 22px; }
  .warm-top ul { order:3; width:100%; gap:20px; }
  .warm-hero { grid-template-columns:1fr; padding:36px 22px 40px; gap:32px; }
  .warm-h { font-size:60px; }
  .warm-pagehead { padding:36px 22px 8px; }
  .warm-pagehead h1 { font-size:48px; }
  .warm-section { padding:40px 22px; }
  .warm-strip { flex-wrap:wrap; justify-content:center; }
  .warm-strip span { padding:10px 20px; border-right:none; border-bottom:1px solid rgba(28,20,16,.08); width:50%; text-align:center; box-sizing:border-box; }
  .warm-strip span:nth-last-child(-n+2) { border-bottom:none; }
  .warm-grid-4 { grid-template-columns:repeat(2,1fr); }
  .warm-promise { grid-template-columns:1fr; margin:0 22px 24px; }
  .warm-promise .sig { text-align:left; }
  .warm-cta { margin:12px 22px 32px; padding:44px 24px; }
  .warm-cta h2 { font-size:36px; }
  .warm-foot { padding:18px 22px; }
  .warm-work-grid { grid-template-columns:1fr; }
  .warm-about { grid-template-columns:1fr; padding:36px 22px 8px; gap:32px; }
  .warm-values { grid-template-columns:1fr; }
  .warm-steps { grid-template-columns:1fr; padding:32px 22px 8px; gap:0; }
  .warm-step { border-left:none; padding:18px 0 0; border-top:1px solid rgba(28,20,16,.1); }
  .warm-step:first-child { border-top:none; padding-top:0; }
}
@media (max-width: 480px) {
  .warm-h { font-size:46px; }
  .warm-grid-4 { grid-template-columns:1fr; }
}
