:root { --ink:#2b2337; --ink-soft:#716779; --paper:#f8f4ec; --lavender:#c5b5e6; --lavender-deep:#8970b5; --coral:#ed7764; --plum:#4b315d; --line:rgba(43,35,55,.16); --white-line:rgba(248,244,236,.25); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.shell { width:min(1160px,calc(100% - 64px)); margin:0 auto; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:20; padding:10px 16px; color:var(--paper); background:var(--ink); }
.skip-link:focus { top:16px; }
.site-header { color:var(--paper); background:var(--ink); }
.header-inner { position:relative; display:flex; min-height:80px; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:.9rem; font-weight:700; letter-spacing:-.03em; }
.brand b { color:var(--lavender); }
.brand-box { display:grid; width:30px; height:30px; place-items:center; color:var(--coral); border:1px solid var(--coral); font-family:Georgia,serif; font-size:1.05rem; transform:rotate(-9deg); }
nav { display:flex; align-items:center; gap:31px; font-size:.71rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
nav > a:not(.nav-call) { color:rgba(248,244,236,.65); }
nav > a:not(.nav-call):hover { color:var(--lavender); }
.nav-call { display:inline-flex; min-height:44px; align-items:center; padding:9px 13px; border:1px solid rgba(248,244,236,.42); border-radius:999px; }
.mobile-header-phone { display:none; }
.hero { background:var(--paper); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(385px,.8fr); min-height:650px; }
.hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:96px 54px 103px 0; }
.eyebrow,.section-kicker,.visual-code,.visual-place,.note-label,.footer-place { font-size:.63rem; font-weight:700; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; }
.eyebrow { display:flex; gap:11px; margin:0 0 19px; color:var(--lavender-deep); }
.eyebrow span { color:var(--coral); font-family:Georgia,serif; font-size:.86rem; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:700; letter-spacing:-.06em; line-height:1.04; }
h1 { max-width:625px; margin-bottom:24px; font-size:clamp(3.35rem,6.1vw,5.55rem); }
h1 em { color:var(--lavender-deep); font-style:normal; }
.hero-lede { max-width:500px; margin-bottom:30px; color:var(--ink-soft); font-size:.97rem; }
.mobile-break { display:none; }
.hero-actions,.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; }
.button { display:inline-flex; min-height:47px; align-items:center; gap:17px; padding:11px 19px; border:1px solid transparent; border-radius:999px; font-size:.76rem; font-weight:700; transition:transform 160ms ease,background 160ms ease; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:1rem; }
.button-plum { color:var(--paper); background:var(--plum); }
.button-plum:hover { background:#644475; }
.button-outline { border-color:var(--ink); }
.button-outline:hover { color:var(--paper); background:var(--ink); }
.hero-note { display:flex; align-items:center; gap:9px; margin:33px 0 0; color:var(--ink-soft); font-size:.72rem; }
.hero-note span { color:var(--coral); font-size:.6rem; }
.hero-visual { position:relative; display:grid; place-items:center; min-height:575px; background:var(--lavender); }
.visual-sheet { position:relative; width:min(355px,72vw); height:425px; overflow:hidden; border:1px solid rgba(43,35,55,.35); background:var(--paper); transform:translateX(-24px) rotate(4deg); }
.visual-grid { position:absolute; inset:27px; opacity:.42; background-image:linear-gradient(rgba(43,35,55,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(43,35,55,.35) 1px,transparent 1px); background-size:29px 29px; }
.visual-bar { position:absolute; background:var(--plum); }
.visual-bar-one { width:162px; height:33px; top:77px; left:52px; transform:rotate(-13deg); }
.visual-bar-two { width:93px; height:138px; right:46px; bottom:68px; background:var(--coral); transform:rotate(15deg); }
.visual-square { position:absolute; width:157px; height:157px; top:121px; left:96px; border:1px solid var(--plum); }
.visual-line { position:absolute; width:207px; height:1px; background:var(--ink); opacity:.67; }
.visual-line-one { top:150px; left:49px; transform:rotate(42deg); }
.visual-line-two { top:292px; left:101px; background:var(--lavender-deep); transform:rotate(-28deg); }
.visual-code { position:absolute; top:25px; right:27px; margin:0; color:var(--lavender-deep); }
.visual-word { position:absolute; left:29px; bottom:73px; margin:0; color:var(--ink); font-size:1.82rem; font-weight:700; letter-spacing:-.07em; line-height:.92; }
.visual-word span { color:var(--coral); }
.visual-place { position:absolute; right:27px; bottom:27px; margin:0; color:var(--ink); font-size:.55rem; line-height:1.5; text-align:right; }
.visual-note { position:absolute; right:29px; bottom:42px; width:170px; padding:16px 17px 15px; color:var(--paper); background:var(--plum); }
.note-label { margin:0 0 10px; color:var(--lavender); font-size:.56rem; }
.note-status { margin:0; font-size:1.25rem; font-weight:700; letter-spacing:-.05em; line-height:1; }
.note-detail { margin:6px 0 15px; color:rgba(248,244,236,.68); font-size:.7rem; }
.visual-note a { display:inline-flex; align-items:center; gap:7px; color:var(--coral); font-size:.68rem; font-weight:700; }
.section { padding:112px 0; }
.section-paper { background:var(--paper); }
.section-lavender { background:var(--lavender); }
.two-column { display:grid; grid-template-columns:minmax(260px,.82fr) minmax(0,1fr); gap:105px; }
.section-kicker { margin-bottom:18px; color:var(--lavender-deep); }
.section h2,.contact-section h2 { max-width:525px; margin-bottom:0; font-size:clamp(2.4rem,4.4vw,3.95rem); }
.copy-column { max-width:590px; padding-top:7px; }
.copy-column p { margin-bottom:20px; font-size:1.06rem; }
.copy-column .muted { color:var(--ink-soft); font-size:.8rem; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:44px; }
.section-aside { max-width:220px; margin:0 0 8px; color:rgba(43,35,55,.64); font-size:.65rem; letter-spacing:.08em; line-height:1.55; text-align:right; text-transform:uppercase; }
.info-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:17px; }
.info-card { position:relative; display:flex; min-height:327px; flex-direction:column; align-items:flex-start; padding:27px 29px 29px; }
.info-card-plum { color:var(--paper); background:var(--plum); }
.info-card-white { background:var(--paper); }
.info-card-coral { background:var(--coral); }
.card-index { align-self:flex-end; margin-bottom:36px; font-family:Georgia,serif; font-size:.88rem; }
.card-mark { display:grid; width:40px; height:40px; place-items:center; margin-bottom:20px; border:1px solid currentColor; border-radius:50%; font-family:Georgia,serif; }
.info-card h3 { margin-bottom:12px; font-size:1.4rem; }
.info-card p { max-width:290px; margin-bottom:22px; color:rgba(43,35,55,.7); font-size:.79rem; line-height:1.7; }
.info-card-plum p { color:rgba(248,244,236,.68); }
.info-card a { display:inline-flex; align-items:center; gap:8px; margin-top:auto; font-size:.73rem; font-weight:700; }
.info-card-plum a { color:var(--lavender); }
.info-card a:hover { color:var(--plum); }
.info-card-plum a:hover { color:var(--coral); }
.contact-section { color:var(--paper); background:var(--ink); }
.contact-grid { display:grid; grid-template-columns:minmax(0,.79fr) minmax(0,1fr); gap:105px; padding:108px 0 115px; }
.section-kicker-light { color:var(--lavender); }
.contact-section h2 { margin-bottom:25px; }
.contact-lede { max-width:350px; color:rgba(248,244,236,.66); font-size:.9rem; }
.contact-list { padding-left:36px; border-left:1px solid var(--white-line); }
.contact-row { display:grid; grid-template-columns:88px 1fr; gap:22px; padding-bottom:23px; margin-bottom:23px; border-bottom:1px solid var(--white-line); }
.contact-row>span { padding-top:4px; color:var(--lavender); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.contact-row p,.contact-row a { margin:0; color:var(--paper); font-size:.9rem; font-weight:700; }
.contact-row a:hover,.light-link:hover { color:var(--coral); }
.contact-row small { display:inline-block; margin-top:7px; color:rgba(248,244,236,.56); font-size:.69rem; font-weight:400; }
.button-coral { color:var(--ink); background:var(--coral); }
.button-coral:hover { background:#ff927e; }
.light-link { display:inline-flex; align-items:center; gap:8px; color:var(--paper); font-size:.75rem; font-weight:700; }
.site-footer { color:rgba(248,244,236,.64); background:var(--plum); }
.footer-inner { display:grid; grid-template-columns:1fr 1.6fr 1fr; align-items:center; gap:25px; min-height:87px; }
.footer-inner p { margin:0; font-size:.66rem; }
.footer-brand { color:var(--paper); font-weight:700; letter-spacing:-.04em; }
.footer-brand span { color:var(--lavender); }
.footer-inner>p:nth-child(2) { text-align:center; }
.footer-place { color:var(--coral); text-align:right; }
@media (max-width:920px) { .hero-grid { grid-template-columns:minmax(0,1fr) minmax(315px,.78fr); } .visual-sheet { transform:translateX(-12px) rotate(4deg) scale(.92); } .visual-note { right:13px; } .info-grid { grid-template-columns:repeat(2,1fr); } .info-card-plum { grid-column:span 2; min-height:280px; } .contact-grid { gap:50px; } }
@media (max-width:680px) {
  .shell { width:calc(100% - 38px); max-width:540px; }
  .header-inner { min-height:70px; }
  nav { display:none; }
  .mobile-header-phone { position:absolute; top:13px; left:250px; z-index:2; display:inline-flex; min-width:54px; min-height:44px; align-items:center; justify-content:center; padding:8px 9px; border:1px solid rgba(248,244,236,.55); border-radius:999px; color:var(--paper); background:var(--ink); font-size:.875rem; font-weight:700; }
  .hero-grid { display:block; min-height:0; }
  .hero-copy { padding:67px 0 31px; }
  h1 { width:100%; max-width:100%; font-size:clamp(2.25rem,9.7vw,4.6rem); }
  .hero-lede { width:100%; max-width:100%; font-size:.9rem; }
  .mobile-break { display:inline; }
  .hero-visual { min-height:485px; margin-top:0; }
  .visual-sheet { width:min(330px,84vw); height:370px; transform:translateX(-12px) rotate(4deg); }
  .visual-note { right:10px; bottom:31px; width:154px; padding:14px; }
  .visual-square { left:82px; top:106px; width:145px; height:145px; }
  .visual-bar-one { left:40px; }
  .visual-place { right:15px; font-size:.49rem; }
  .section { padding:77px 0; }
  .two-column,.contact-grid { grid-template-columns:1fr; gap:39px; }
  .copy-column { padding-top:0; }
  .section-heading { display:block; margin-bottom:34px; }
  .section-aside { margin-top:19px; text-align:left; }
  .info-grid { grid-template-columns:1fr; }
  .info-card-plum { grid-column:auto; }
  .info-card { min-height:300px; }
  .contact-grid { padding:77px 0 84px; }
  .contact-list { padding-left:0; border-left:0; }
  .contact-row { grid-template-columns:82px 1fr; gap:15px; }
  .footer-inner { grid-template-columns:1fr; gap:9px; padding:22px 0; }
  .footer-inner>p:nth-child(2),.footer-place { text-align:left; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; } }


/* Minimal production system */
.minimal-site {
  --minimal-paper: #f7f2e9;
  --minimal-paper-alt: #ece5d8;
  --minimal-ink: #2b2824;
  --minimal-muted: #716b62;
  --minimal-accent: #6b7d49;
  --minimal-accent-ink: #fffdf7;
  --minimal-dark: #292a27;
  --minimal-line: rgba(43, 40, 36, 0.16);
  --minimal-dark-line: rgba(255, 253, 247, 0.2);
  --minimal-serif: Georgia, "Times New Roman", serif;
  margin: 0;
  min-height: 100vh;
  color: var(--minimal-ink);
  background: var(--minimal-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.minimal-site.theme-potato {
  --minimal-paper: #f5efe4;
  --minimal-paper-alt: #eae1d2;
  --minimal-ink: #33271e;
  --minimal-muted: #786d5d;
  --minimal-accent: #66823e;
  --minimal-dark: #2e3a2e;
}
.minimal-site.theme-flower {
  --minimal-paper: #faf6ee;
  --minimal-paper-alt: #eee7dc;
  --minimal-ink: #302b28;
  --minimal-muted: #756d65;
  --minimal-accent: #8b6a4d;
  --minimal-dark: #373934;
}
.minimal-site.theme-pornthip {
  --minimal-paper: #f6f1e9;
  --minimal-paper-alt: #e9e0d4;
  --minimal-ink: #2d3440;
  --minimal-muted: #707987;
  --minimal-accent: #c56f59;
  --minimal-dark: #2d3440;
}
.minimal-site.theme-amy {
  --minimal-paper: #f7f2ec;
  --minimal-paper-alt: #eee7eb;
  --minimal-ink: #342d3a;
  --minimal-muted: #77707b;
  --minimal-accent: #826d90;
  --minimal-dark: #342d3a;
}
.minimal-site.theme-lucky {
  --minimal-paper: #f8f4eb;
  --minimal-paper-alt: #ede5d7;
  --minimal-ink: #203e3e;
  --minimal-muted: #6d7b79;
  --minimal-accent: #bd8a3e;
  --minimal-dark: #183b3c;
}
.minimal-site.theme-harfin {
  --minimal-paper: #f7f1e8;
  --minimal-paper-alt: #eee4d8;
  --minimal-ink: #3b302b;
  --minimal-muted: #786c64;
  --minimal-accent: #b97058;
  --minimal-dark: #3b302b;
}
.minimal-site.theme-noy {
  --minimal-paper: #f7f5ec;
  --minimal-paper-alt: #ebe9dc;
  --minimal-ink: #29322c;
  --minimal-muted: #717970;
  --minimal-accent: #b3c944;
  --minimal-accent-ink: #202a1c;
  --minimal-dark: #26302a;
}
.minimal-site.theme-auto {
  --minimal-paper: #f3f1ed;
  --minimal-paper-alt: #e6e9e8;
  --minimal-ink: #27323a;
  --minimal-muted: #6d7880;
  --minimal-accent: #c67c50;
  --minimal-dark: #203640;
}
.minimal-site.theme-cafe {
  --minimal-paper: #f8f2e9;
  --minimal-paper-alt: #eee4d8;
  --minimal-ink: #3c3029;
  --minimal-muted: #786e66;
  --minimal-accent: #b96e54;
  --minimal-dark: #3c3029;
}
.minimal-site.theme-spa {
  --minimal-paper: #f7f7f0;
  --minimal-paper-alt: #e5ece7;
  --minimal-ink: #243534;
  --minimal-muted: #6b7774;
  --minimal-accent: #4a8177;
  --minimal-dark: #263f3c;
}

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

.minimal-site a {
  color: inherit;
  text-decoration: none;
}

.minimal-site a:focus-visible {
  outline: 3px solid var(--minimal-accent);
  outline-offset: 4px;
  border-radius: 3px;
}

.minimal-site h1,
.minimal-site h2,
.minimal-site h3,
.minimal-site p {
  margin-top: 0;
}

.minimal-site h1,
.minimal-site h2,
.minimal-site h3 {
  font-family: var(--minimal-serif);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 1;
}

.minimal-skip-link {
  position: absolute;
  top: -5rem;
  left: 1rem;
  z-index: 20;
  padding: 0.7rem 1rem;
  color: var(--minimal-paper);
  background: var(--minimal-dark);
}
.minimal-skip-link:focus {
  top: 1rem;
}

.minimal-shell {
  width: min(1160px, calc(100% - 3.5rem));
  margin: 0 auto;
}

.minimal-header {
  position: relative;
  z-index: 2;
  color: var(--minimal-ink);
  background: var(--minimal-paper);
  border-bottom: 1px solid var(--minimal-line);
}

.minimal-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 76px;
}

.minimal-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
  color: var(--minimal-ink);
}

.minimal-brand-mark {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--minimal-accent);
  border-radius: 50%;
  color: var(--minimal-accent);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

.minimal-brand-copy {
  display: grid;
  min-width: 0;
  line-height: 1.05;
}

.minimal-brand-copy strong {
  overflow-wrap: anywhere;
  font-family: var(--minimal-serif);
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.minimal-brand-copy small {
  margin-top: 0.32rem;
  color: var(--minimal-muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.minimal-nav {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.7vw, 2rem);
  font-size: 0.75rem;
  font-weight: 650;
}

.minimal-nav a:not(.minimal-nav-cta) {
  color: var(--minimal-muted);
}
.minimal-nav a:not(.minimal-nav-cta):hover {
  color: var(--minimal-ink);
}

.minimal-nav-cta {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.65rem 0.95rem;
  border-radius: 6px;
  color: var(--minimal-accent-ink) !important;
  background: var(--minimal-accent);
  transition: transform 160ms ease, opacity 160ms ease;
}
.minimal-nav-cta:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.minimal-hero {
  color: var(--minimal-ink);
  background: var(--minimal-paper);
  border-bottom: 1px solid var(--minimal-line);
}

.minimal-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  align-items: center;
  gap: clamp(2.5rem, 8vw, 7rem);
  padding: clamp(4.75rem, 9vw, 8rem) 0;
}

.minimal-hero-copy {
  max-width: 680px;
}

.minimal-eyebrow,
.minimal-kicker,
.minimal-card-label,
.minimal-fact > span {
  margin: 0;
  color: var(--minimal-accent);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.minimal-hero h1 {
  max-width: 12ch;
  margin: 0.85rem 0 1.5rem;
  font-size: clamp(3.5rem, 7.6vw, 7rem);
}

.minimal-hero h1 em,
.minimal-hero-card em,
.minimal-contact h2 em {
  color: var(--minimal-accent);
  font-style: italic;
}

.minimal-lede {
  max-width: 510px;
  margin-bottom: 2rem;
  color: var(--minimal-muted);
  font-size: 1.02rem;
}

.minimal-actions,
.minimal-contact-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.minimal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-height: 48px;
  padding: 0.75rem 1.05rem;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 0.79rem;
  font-weight: 750;
  line-height: 1.2;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

.minimal-button:hover {
  transform: translateY(-2px);
}

.minimal-button-primary {
  color: var(--minimal-accent-ink);
  background: var(--minimal-accent);
}
.minimal-button-primary:hover {
  opacity: 0.88;
}

.minimal-button-secondary {
  color: var(--minimal-ink);
  border-color: var(--minimal-line);
  background: transparent;
}
.minimal-button-secondary:hover {
  border-color: var(--minimal-accent);
  background: var(--minimal-paper-alt);
}

.minimal-hero-card {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.6rem, 4vw, 2.6rem);
  overflow: hidden;
  border: 1px solid var(--minimal-line);
  border-radius: 12px;
  background: var(--minimal-paper-alt);
}

.minimal-hero-card::after {
  width: 4rem;
  height: 4rem;
  align-self: flex-end;
  border: 1px solid var(--minimal-accent);
  border-radius: 50%;
  content: "";
  opacity: 0.55;
}

.minimal-card-title {
  max-width: 9ch;
  margin: 0.8rem 0 0;
  font-family: var(--minimal-serif);
  font-size: clamp(2.5rem, 4.5vw, 4.8rem);
  letter-spacing: -0.06em;
  line-height: 0.94;
}

.minimal-card-meta {
  margin: 0 0 1rem;
  color: var(--minimal-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.minimal-card-link,
.minimal-fact-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--minimal-accent);
  font-size: 0.76rem;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.minimal-information {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background: var(--minimal-paper-alt);
  border-bottom: 1px solid var(--minimal-line);
}

.minimal-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}

.minimal-section-heading h2 {
  margin: 0.8rem 0 0;
  font-size: clamp(2.6rem, 5vw, 5.2rem);
}

.minimal-section-heading > p {
  max-width: 300px;
  margin: 0 0 0.3rem;
  color: var(--minimal-muted);
  font-size: 0.92rem;
}

.minimal-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3.25rem;
  border-top: 1px solid var(--minimal-line);
  border-bottom: 1px solid var(--minimal-line);
}

.minimal-fact {
  display: flex;
  min-height: 170px;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.45rem 1.3rem;
  border-right: 1px solid var(--minimal-line);
}

.minimal-fact:last-child {
  border-right: 0;
}

.minimal-fact strong {
  max-width: 24ch;
  margin-top: 0.75rem;
  color: var(--minimal-ink);
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.35;
}

.minimal-fact-link {
  margin-top: auto;
}

.minimal-contact {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  color: var(--minimal-paper);
  background: var(--minimal-dark);
}

.minimal-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 3rem;
}

.minimal-contact .minimal-kicker {
  color: var(--minimal-accent);
}

.minimal-contact h2 {
  max-width: 12ch;
  margin: 0.8rem 0 1.2rem;
  color: var(--minimal-paper);
  font-size: clamp(3rem, 6vw, 6rem);
}

.minimal-contact p:not(.minimal-kicker) {
  max-width: 430px;
  margin-bottom: 0;
  color: rgba(255, 253, 247, 0.7);
  font-size: 0.98rem;
}

.minimal-contact-actions {
  justify-content: flex-end;
}

.minimal-contact .minimal-button-secondary {
  color: var(--minimal-paper);
  border-color: var(--minimal-dark-line);
}
.minimal-contact .minimal-button-secondary:hover {
  border-color: var(--minimal-accent);
  background: rgba(255, 253, 247, 0.07);
}

.minimal-footer {
  color: rgba(255, 253, 247, 0.68);
  background: var(--minimal-ink);
}

.minimal-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 82px;
  font-size: 0.76rem;
}

.minimal-footer-inner p {
  margin: 0;
}

.minimal-footer-brand {
  color: var(--minimal-paper);
  font-family: var(--minimal-serif);
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.minimal-footer-credit {
  color: rgba(255, 253, 247, 0.58);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
}

.minimal-footer-credit a {
  color: var(--minimal-paper);
  font-weight: 600;
  text-decoration: none;
}

.minimal-footer-credit a:hover,
.minimal-footer-credit a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (max-width: 760px) {
  .minimal-shell {
    width: min(100% - 2rem, 620px);
  }

  .minimal-header-inner {
    flex-wrap: wrap;
    gap: 0.8rem 1.2rem;
    padding: 0.85rem 0;
  }

  .minimal-nav {
    display: flex;
    width: 100%;
    order: 3;
    justify-content: space-between;
    gap: 0.8rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
  }

  .minimal-nav a {
    flex: 0 0 auto;
  }

  .minimal-hero-grid {
    grid-template-columns: 1fr;
    gap: 2.75rem;
    padding: 4.75rem 0 5rem;
  }

  .minimal-hero h1 {
    max-width: 11ch;
    font-size: clamp(3.4rem, 15vw, 5.8rem);
  }

  .minimal-hero-card {
    min-height: 280px;
  }

  .minimal-section-heading,
  .minimal-contact-grid {
    display: block;
  }

  .minimal-section-heading > p {
    margin-top: 1.25rem;
  }

  .minimal-facts {
    grid-template-columns: 1fr;
    margin-top: 2.5rem;
  }

  .minimal-fact {
    min-height: 0;
    padding: 1.25rem 1.1rem;
    border-right: 0;
    border-bottom: 1px solid var(--minimal-line);
  }

  .minimal-fact:last-child {
    border-bottom: 0;
  }

  .minimal-fact-link {
    margin-top: 1rem;
  }

  .minimal-contact h2 {
    max-width: 10ch;
    font-size: clamp(3.2rem, 15vw, 5.6rem);
  }

  .minimal-contact-actions {
    justify-content: flex-start;
    margin-top: 2rem;
  }

  .minimal-button {
    min-height: 50px;
  }

  .minimal-footer-inner {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 0.45rem;
    padding: 1.35rem 0;
  }
}

@media (max-width: 420px) {
  .minimal-actions,
  .minimal-contact-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .minimal-button {
    width: 100%;
  }

  .minimal-brand-copy strong {
    font-size: 0.98rem;
  }

  .minimal-brand-copy small {
    font-size: 0.58rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .minimal-site html {
    scroll-behavior: auto;
  }

  .minimal-site *,
  .minimal-site *::before,
  .minimal-site *::after {
    transition: none !important;
  }
}
