
    :root{
      --paper:#f4f3ee;--ink:#17211d;--muted:#66716b;--line:#d8dcd4;
      --green:#c7f36b;--green-dark:#263b25;--white:#fffefa;--dark:#17211d;
      --serif: "DM Serif Display", Georgia, serif;
      --sans: "Manrope", "Helvetica Neue", sans-serif;
      --mono: "IBM Plex Mono", monospace;
      --radius:22px;--max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:90px}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}
    a{color:inherit;text-decoration:none}
    button,input,textarea{font:inherit}
    button,a{-webkit-tap-highlight-color:transparent}
    button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #709b2b;outline-offset:3px}
    .wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
    .eyebrow{font:600 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#5d6b5e}
    .topbar{position:sticky;top:0;z-index:20;background:rgba(244,243,238,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,220,212,.8)}
    .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:11px;font-weight:750;letter-spacing:-.04em}
    .brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--green);font:700 13px var(--mono)}
    .navlinks{display:flex;align-items:center;gap:26px;font-size:13px;color:#58635b}
    .navlinks a:hover{color:var(--ink)}
    .nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 17px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:white;font-size:13px;font-weight:650;transition:transform .2s,background .2s,color .2s}
    .nav-cta:hover,.button:hover{transform:translateY(-2px);background:var(--green);color:var(--ink)}
    .menu-toggle{display:none;border:1px solid var(--line);background:transparent;border-radius:50%;width:42px;height:42px;font-size:20px}
    .hero{padding:92px 0 76px;position:relative;overflow:hidden}
    .hero:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:var(--green);filter:blur(100px);opacity:.19;right:-170px;top:-200px;pointer-events:none}
    .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;position:relative}
    .availability{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);padding:7px 11px;border-radius:999px;background:rgba(255,254,250,.7);font:11px var(--mono);color:#58635b}
    .dot{width:7px;height:7px;background:#79a832;border-radius:50%;box-shadow:0 0 0 4px rgba(121,168,50,.12)}
    h1{font-size:clamp(48px,7vw,88px);line-height:.98;letter-spacing:-.075em;margin:25px 0 23px;font-weight:720;max-width:750px}
    h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.07em}
    .hero-copy{font-size:17px;line-height:1.75;color:#5b665f;max-width:570px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
    .button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
    .button.secondary:hover{border-color:var(--ink);background:var(--white)}
    .hero-foot{display:flex;gap:32px;margin-top:52px;padding-top:22px;border-top:1px solid var(--line);max-width:560px}
    .hero-stat strong{display:block;font-size:21px;letter-spacing:-.05em}
    .hero-stat span{display:block;font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:3px}
    .visual{min-height:410px;position:relative;display:grid;place-items:center}
    .orb{width:min(100%,390px);aspect-ratio:1;border-radius:50%;background:var(--green);position:relative;display:grid;place-items:center;overflow:hidden}
    .orb:before,.orb:after{content:"";position:absolute;border:1px solid rgba(23,33,29,.22);border-radius:50%;width:76%;height:76%}
    .orb:after{width:52%;height:52%}
    .orb-word{font-size:clamp(55px,8vw,94px);font-weight:800;letter-spacing:-.1em;z-index:1;transform:rotate(-8deg)}
    .orbit-label{position:absolute;background:var(--white);border:1px solid var(--line);padding:13px 16px;border-radius:14px;box-shadow:0 14px 35px #17211d0c;font:11px var(--mono)}
    .orbit-label b{display:block;font:650 13px var(--sans);margin-bottom:3px}
    .label-one{top:45px;left:-8px}.label-two{right:-10px;top:145px}.label-three{bottom:32px;left:12px}
    .spark{position:absolute;right:45px;bottom:50px;font-size:34px}
    .hero-art{min-height:0;display:block;position:relative;isolation:isolate;border-radius:28px;overflow:hidden;background:#f4f3ee;box-shadow:0 24px 70px rgba(23,33,29,.08)}
    .hero-art-image{display:block;width:100%;height:auto;aspect-ratio:1.22;object-fit:cover;object-position:center;border-radius:28px;mix-blend-mode:multiply}
    .hero-art-caption{position:absolute;left:18px;bottom:16px;display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid rgba(216,220,212,.85);border-radius:999px;background:rgba(255,254,250,.82);backdrop-filter:blur(12px);font:10px var(--mono);letter-spacing:.06em;color:#58635b}
    .hero-art-caption span{color:#739d2d;font-size:14px}
    .section{padding:90px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}
    h2{font-size:clamp(34px,4.5vw,52px);letter-spacing:-.065em;line-height:1.03;margin:10px 0 0}
    .section-intro{max-width:390px;color:var(--muted);font-size:14px}
    .projects{background:var(--white);border-block:1px solid var(--line)}
    .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
    .filter{border:1px solid var(--line);background:transparent;padding:9px 14px;border-radius:999px;color:#5e6961;font-size:12px;cursor:pointer}
    .filter[aria-pressed="true"],.filter:hover{background:var(--ink);border-color:var(--ink);color:white}
    .project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
    .project{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);transition:transform .25s,border-color .25s}
    .project:hover{transform:translateY(-4px);border-color:#9ca99a}
    .project-art{min-height:245px;display:grid;place-items:center;position:relative;overflow:hidden;background:#e4e8dc}
    .project:nth-child(2) .project-art{background:#e4e5f1}
    .project:nth-child(3) .project-art{background:#e8e0d3}
    .project:nth-child(4) .project-art{background:#dce9e8}
    .art-window{width:76%;height:170px;background:rgba(255,254,250,.9);border:1px solid rgba(23,33,29,.12);border-radius:12px;box-shadow:0 20px 50px #17211d12;transform:rotate(-3deg);padding:12px}
    .window-top{display:flex;gap:4px;padding-bottom:10px;border-bottom:1px solid #dfe2db}
    .window-top i{width:5px;height:5px;border-radius:50%;background:#c0c8bc}
    .mock-content{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
    .mock-block{height:48px;background:#dce6ce;border-radius:5px}
    .mock-block:nth-child(2){background:#263b25}
    .mock-line{height:5px;background:#d8ddd4;border-radius:5px;margin-top:8px;width:75%}
    .mock-line.short{width:46%}
    .project:nth-child(2) .mock-block{background:#d4d6ee}.project:nth-child(2) .mock-block:nth-child(2){background:#4e4e7e}
    .project:nth-child(3) .mock-block{background:#e6c9a9}.project:nth-child(3) .mock-block:nth-child(2){background:#8a5c38}
    .project:nth-child(4) .mock-block{background:#b8d8d4}.project:nth-child(4) .mock-block:nth-child(2){background:#1f6662}
    .art-tag{position:absolute;right:18px;bottom:16px;font:10px var(--mono);color:#56635a}
    .project-body{padding:23px}
    .project-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em}
    .project h3{font-size:24px;letter-spacing:-.05em;margin:15px 0 8px}
    .project p{font-size:13px;color:var(--muted);line-height:1.7;margin:0;max-width:490px}
    .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
    .tag{font:10px var(--mono);padding:6px 8px;border:1px solid var(--line);border-radius:6px;color:#59645b}
    .project-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin-top:20px}
    .project-link span{font-size:17px;transition:transform .2s}.project-link:hover span{transform:translate(3px,-3px)}
    .about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
    .about-sticky{align-self:start;position:sticky;top:110px}
    .about-note{font:italic 25px/1.4 var(--serif);letter-spacing:-.025em;margin-top:26px;max-width:300px}
    .about-content p{color:#5c675f;font-size:15px;line-height:1.9;margin:0 0 20px}
    .principles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}
    .principle{padding:20px;border:1px solid var(--line);border-radius:16px}
    .principle-num{font:11px var(--mono);color:#71806f}
    .principle h3{font-size:16px;margin:13px 0 6px;letter-spacing:-.03em}
    .principle p{font-size:12px;line-height:1.65;margin:0}
    .stack{background:var(--dark);color:var(--white)}
    .stack .eyebrow{color:var(--green)}.stack .section-intro{color:#b0bcb2}
    .stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .stack-card{border:1px solid #3a4540;border-radius:18px;padding:24px;background:#1d2923}
    .stack-card h3{font-size:17px;margin:0 0 15px}
    .stack-card p{font-size:12px;line-height:1.8;color:#b0bcb2;margin:0}
    .stack-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
    .stack-list span{font:10px var(--mono);padding:7px 9px;border:1px solid #46524a;border-radius:7px;color:#e4eadf}
    .contact{padding:90px 0}
    .contact-panel{background:var(--green);border-radius:28px;padding:clamp(28px,6vw,68px);display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
    .contact-panel .eyebrow{color:#3e552b}
    .contact-panel h2{max-width:580px}
    .contact-panel p{max-width:460px;color:#43513a;font-size:14px;line-height:1.8}
    .contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
    .contact-actions .button{background:var(--ink);color:white;border-color:var(--ink)}
    .contact-actions .button.secondary{background:transparent;color:var(--ink);border-color:#879e5d}
    .contact-actions .button.secondary:hover{background:#e0f8a7}
    footer{padding:26px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:10px var(--mono)}
    .footer-links{display:flex;gap:18px}
    .footer-links a:hover{color:var(--ink)}
    .toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 16px;border-radius:12px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:50}
    .toast.show{opacity:1;transform:translate(-50%,0)}
    .reveal{opacity:1;transform:none}
    .reveal.visible{opacity:1;transform:none}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
    @media(max-width:850px){
      .hero{padding:65px 0 55px}.hero-grid{grid-template-columns:1fr;gap:25px}.visual{min-height:0;max-width:500px;width:100%;margin:auto}.orb{width:300px}.label-one{left:0}.label-two{right:0}.hero-foot{margin-top:35px}
      .about-grid{grid-template-columns:1fr;gap:30px}.about-sticky{position:static}.about-note{max-width:600px}.stack-grid{grid-template-columns:1fr}.contact-panel{grid-template-columns:1fr;gap:20px}
    }
    @media(max-width:620px){
      .wrap{width:min(var(--max),calc(100% - 32px))}.nav{height:66px}.menu-toggle{display:block}.nav-cta{display:none}
      .navlinks{display:none;position:absolute;top:65px;left:0;right:0;background:var(--paper);padding:18px 24px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:17px}
      .navlinks.open{display:flex}.hero{padding:52px 0 45px}h1{font-size:clamp(46px,13vw,70px)}.hero-copy{font-size:15px}.hero-foot{gap:18px}.hero-stat strong{font-size:18px}.hero-stat span{font-size:9px}
      .visual{min-height:0}.hero-art-image{aspect-ratio:1.08}.hero-art-caption{left:12px;bottom:12px;font-size:9px}
      .section{padding:65px 0}.section-head{display:block}.section-intro{margin-top:18px}.project-grid{grid-template-columns:1fr}.project-art{min-height:220px}.art-window{height:155px}
      .principles{grid-template-columns:1fr}.contact{padding:65px 0}.contact-panel{border-radius:22px}footer{flex-direction:column}.footer-links{flex-wrap:wrap}
    }
  
/* Multi-page polish */
.navlinks a{display:inline-flex;align-items:center;gap:8px;position:relative;transition:color .2s}
.navlinks a i,.nav-cta i,.button i{font-size:12px}
.navlinks a[aria-current="page"]{color:var(--ink);font-weight:800}
.navlinks a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#9bcf3b;border-radius:2px}
.brand-mark{font-family:var(--sans);font-weight:800;letter-spacing:-.07em}
.hero-art-image{mix-blend-mode:multiply}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Technology page: contained editorial panel instead of a hard-edged slab */
.page-content .stack {
  margin: 28px 0 36px;
  padding: clamp(32px, 5vw, 64px);
  border-radius: 28px;
  overflow: hidden;
}
.page-content .stack > .wrap {
  width: 100%;
}
.page-content .stack .section-head {
  align-items: flex-start;
  margin-bottom: 38px;
}
.page-content .stack h2 {
  max-width: 650px;
}
.page-content .stack .section-intro {
  max-width: 360px;
  margin-top: 2px;
}
.page-content .stack .stack-grid {
  align-items: stretch;
}
.page-content .stack .stack-card {
  min-height: 220px;
  display: flex;
  flex-direction: column;
}
.page-content .stack .stack-list {
  margin-top: auto;
  padding-top: 20px;
}
@media (max-width: 760px) {
  .page-content .stack {
    margin: 18px 0 26px;
    padding: 28px 20px;
    border-radius: 20px;
  }
  .page-content .stack .section-head {
    display: block;
    margin-bottom: 26px;
  }
  .page-content .stack .section-intro {
    margin-top: 18px;
  }
  .page-content .stack .stack-grid {
    grid-template-columns: 1fr;
  }
  .page-content .stack .stack-card {
    min-height: 0;
  }
  .page-content .stack .stack-list {
    margin-top: 0;
    padding-top: 18px;
  }
}

/* Relationship note — personal, warm, and visually in the site's design language */
.love-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 12px 0 76px;
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid rgba(35, 54, 42, .12);
  border-radius: 30px;
  background: linear-gradient(135deg, #fffaf0 0%, #f6f1e6 48%, #eaf1dc 100%);
  color: #19251e;
  box-shadow: 0 22px 70px rgba(27, 41, 31, .07);
}
.love-glow {
  position: absolute; z-index: -1; width: 430px; height: 430px; right: -110px; top: -180px;
  border-radius: 50%; background: radial-gradient(circle, rgba(193, 239, 92, .38), rgba(193,239,92,0) 68%);
  pointer-events: none;
}
.love-topline { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font:500 11px var(--mono); letter-spacing:.12em; color:#52624d; }
.love-topline > span:first-child { display:flex; gap:9px; align-items:center; }
.love-topline > span:first-child i { color:#e06a76; font-size:14px; }
.love-status { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(42,66,43,.15); background:rgba(255,255,255,.55); border-radius:999px; padding:9px 13px; letter-spacing:.02em; text-transform:none; font-family:var(--sans); font-size:12px; }
.love-dot { width:7px; height:7px; border-radius:50%; background:#83b735; box-shadow:0 0 0 4px rgba(131,183,53,.14); }
.love-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(28px,5vw,70px); align-items:center; padding:48px 0 42px; }
.love-kicker { margin:0 0 14px; color:#657b47; font:500 12px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.love-copy h2 { margin:0 0 22px; font:400 clamp(36px,5vw,62px)/1.02 var(--serif); letter-spacing:-.045em; }
.love-copy h2 em { color:#5d7a38; font-weight:400; }
.love-message { margin:0 0 18px; font-size:15px; line-height:1.8; color:#344237; }
.love-message span { font-weight:800; color:#5a7834; }
.love-letter { max-width:600px; margin:0; color:#526052; font-size:14px; line-height:1.95; }
.love-signoff { margin-top:24px; color:#526d37; font:italic 16px var(--serif); }
.love-signoff span { color:#df7780; padding-left:5px; }
.love-counter-card { position:relative; padding:32px 25px 24px; border:1px solid rgba(36,55,38,.13); border-radius:24px; background:rgba(255,255,255,.66); box-shadow:0 16px 45px rgba(49,67,40,.08); text-align:center; backdrop-filter:blur(10px); }
.love-heart { width:54px; height:54px; margin:0 auto 20px; display:grid; place-items:center; border-radius:18px; background:#e8f4c9; color:#6b8e39; font-size:22px; transform:rotate(-7deg); }
.counter-label { margin:0 0 22px; color:#78826f; font:500 10px var(--mono); letter-spacing:.14em; }
.love-counter { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.counter-unit { padding:16px 8px 13px; border-radius:14px; background:#f5f6ef; border:1px solid rgba(45,63,39,.08); }
.counter-unit strong { display:block; font:600 clamp(28px,3.2vw,38px)/1 var(--sans); letter-spacing:-.06em; color:#243c27; font-variant-numeric:tabular-nums; }
.counter-unit span { display:block; margin-top:9px; color:#78826f; font-size:11px; }
.counter-caption { margin:18px 0 0; color:#657260; font:italic 14px var(--serif); }
.love-date { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:22px; padding-top:18px; border-top:1px solid rgba(45,63,39,.12); color:#718066; font:11px var(--mono); }
.love-date i { font-size:13px; color:#7e9e4c; }
.love-bottom-note { display:flex; align-items:center; gap:14px; border-top:1px solid rgba(45,63,39,.12); padding-top:20px; color:#7a8672; font:10px var(--mono); letter-spacing:.08em; }
.love-bottom-note span:nth-child(2) { flex:1; text-align:right; letter-spacing:0; }
.love-bottom-note i { color:#df7780; }
@media(max-width:850px) {
  .love-layout { grid-template-columns:1fr; padding:34px 0 30px; }
  .love-counter-card { max-width:520px; width:100%; margin:0 auto; }
}
@media(max-width:560px) {
  .love-section { margin:8px 0 42px; padding:24px 18px; border-radius:22px; }
  .love-topline { align-items:flex-start; }
  .love-layout { gap:28px; }
  .love-copy h2 { font-size:42px; }
  .love-letter { font-size:13px; line-height:1.85; }
  .love-counter-card { padding:25px 16px 20px; }
  .counter-unit strong { font-size:30px; }
  .love-bottom-note { flex-wrap:wrap; }
  .love-bottom-note span:nth-child(2) { text-align:left; }
}


/* Final mobile pass: touch-friendly navigation, readable layouts, no horizontal overflow */
html { -webkit-text-size-adjust: 100%; }
img, svg, video { max-width: 100%; }
body { overflow-wrap: break-word; }
button, a { touch-action: manipulation; }
button, .button, .nav-cta, .filter { min-height: 42px; }
.nav { min-width: 0; }
.brand { min-width: 0; }
.brand > span:last-child { white-space: nowrap; }
.page-content { min-width: 0; }
.hero-grid > *, .about-grid > *, .section-head > *, .contact-panel > * { min-width: 0; }
.project-grid, .stack-grid, .principles { min-width: 0; }
.project, .stack-card, .principle { min-width: 0; }
.project-meta { flex-wrap: wrap; }
.project h3 { overflow-wrap: anywhere; }
.stack-list span { overflow-wrap: anywhere; }
footer { align-items: center; }
.footer-links { flex-wrap: wrap; }

/* Make the relationship section easy to discover from the top of About */
.relationship-jump {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  padding: 11px 15px;
  border: 1px solid rgba(98, 125, 61, .35);
  border-radius: 999px;
  background: #fffefa;
  color: #49632e;
  font-size: 12px;
  font-weight: 800;
  transition: transform .2s, background .2s;
}
.relationship-jump:hover { transform: translateY(-2px); background: #edf6dc; }
.relationship-jump i { color: #d86f7d; }

@media (max-width: 620px) {
  .wrap { width: calc(100% - 32px); }
  .topbar { backdrop-filter: blur(14px); }
  .nav { gap: 10px; }
  .brand { gap: 8px; font-size: 14px; }
  .brand-mark { width: 33px; height: 33px; flex: 0 0 33px; }
  .menu-toggle { flex: 0 0 42px; display: grid; place-items: center; cursor: pointer; }
  .navlinks { z-index: 25; box-shadow: 0 18px 28px rgba(23,33,29,.08); }
  .navlinks a { min-height: 40px; }
  .hero { padding-top: 38px; }
  h1 { font-size: clamp(42px, 12vw, 64px); line-height: .99; letter-spacing: -.07em; }
  h2 { font-size: clamp(32px, 9vw, 44px); }
  .hero-copy { font-size: 15px; line-height: 1.7; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero-actions .button { width: 100%; }
  .hero-foot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
  .hero-stat strong { font-size: 18px; }
  .hero-stat span { font-size: 8px; line-height: 1.5; letter-spacing: .02em; }
  .hero-art { border-radius: 20px; }
  .hero-art-image { aspect-ratio: 1 / 1; object-position: center; border-radius: 20px; }
  .hero-art-caption { max-width: calc(100% - 24px); white-space: normal; line-height: 1.4; }
  .section { padding: 52px 0; }
  .section-head { margin-bottom: 26px; }
  .project-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .project-art { min-height: 190px; }
  .art-window { width: 82%; height: 145px; }
  .project-body { padding: 19px; }
  .project h3 { font-size: 22px; }
  .project-meta { font-size: 9px; }
  .about-grid { gap: 22px; }
  .about-note { font-size: 22px; }
  .about-content p { font-size: 14px; line-height: 1.8; }
  .principles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .principle { padding: 18px; }
  .page-content .stack { padding: 25px 18px; margin-top: 16px; }
  .page-content .stack .section-head { margin-bottom: 22px; }
  .page-content .stack .stack-card { padding: 20px; }
  .stack-list span { font-size: 10px; padding: 7px 8px; }
  .contact { padding: 48px 0; }
  .contact-panel { padding: 25px 20px; gap: 18px; border-radius: 20px; }
  .contact-panel p { font-size: 13px; }
  .contact-actions .button { width: 100%; }
  footer { align-items: flex-start; gap: 14px; padding: 22px 0 28px; font-size: 9px; line-height: 1.7; }
  .footer-links { gap: 14px; }
  .toast { width: calc(100% - 32px); bottom: 12px; text-align: center; }

  /* Relationship card: stacked, spacious, and readable on narrow screens */
  .love-section { margin: 8px 0 34px; padding: 23px 17px; border-radius: 22px; }
  .love-topline { gap: 10px; font-size: 9px; letter-spacing: .08em; }
  .love-status { padding: 8px 10px; font-size: 11px; }
  .love-layout { padding: 30px 0 25px; gap: 26px; }
  .love-copy h2 { font-size: clamp(36px, 10vw, 44px); line-height: 1.04; }
  .love-message { font-size: 14px; line-height: 1.75; }
  .love-letter { font-size: 13px; line-height: 1.85; }
  .love-signoff { font-size: 15px; line-height: 1.6; }
  .love-counter-card { padding: 23px 14px 18px; border-radius: 19px; }
  .love-heart { width: 46px; height: 46px; border-radius: 15px; margin-bottom: 16px; }
  .counter-label { font-size: 9px; margin-bottom: 16px; letter-spacing: .1em; }
  .love-counter { gap: 8px; }
  .counter-unit { padding: 15px 5px 12px; border-radius: 12px; }
  .counter-unit strong { font-size: clamp(27px, 8vw, 34px); }
  .counter-unit span { font-size: 10px; margin-top: 7px; }
  .counter-caption { font-size: 13px; line-height: 1.5; }
  .love-date { font-size: 10px; flex-wrap: wrap; }
  .love-bottom-note { gap: 9px; font-size: 9px; line-height: 1.5; }
  .love-bottom-note span:nth-child(2) { flex-basis: 100%; order: 3; text-align: left; }
}
@media (max-width: 360px) {
  .wrap { width: calc(100% - 24px); }
  .brand { font-size: 13px; }
  .hero-foot { gap: 8px; }
  .hero-stat strong { font-size: 16px; }
  .love-section { padding: 20px 13px; }
  .love-topline { align-items: flex-start; flex-direction: column; }
  .love-copy h2 { font-size: 35px; }
  .love-counter-card { padding-inline: 10px; }
}
