:root {
  color-scheme: light dark;
  --bg: #fbf8f3;
  --paper: #f4efe7;
  --ink: #273039;
  --muted: #59646a;
  --line: #ded9d1;
  --accent: #9d553e;
  --accent-hover: #773923;
  --art-bg: #f1dfcd;
  --art-ring: #e8cdb2;
  --deep: #1c2c3c;
  --deep-ink: #f8f2e9;
  --deep-muted: #d8d6d0;
  --body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --display: Iowan Old Style, Baskerville, Georgia, serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #18232c;
    --paper: #22313c;
    --ink: #f4f0e8;
    --muted: #c0c8c8;
    --line: #45525b;
    --accent: #e5a184;
    --accent-hover: #f1b99e;
    --art-bg: #30404b;
    --art-ring: #4f5a60;
    --deep: #111b23;
    --deep-ink: #f4f0e8;
    --deep-muted: #c3cbca;
  }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.65 var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { color: var(--accent-hover); }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; border-radius: 3px; }
::selection { background: var(--accent); color: var(--bg); }
h1,h2,h3,p,figure { margin: 0; }
h1,h2 { font-family: var(--display); font-weight: 400; letter-spacing: -.035em; text-wrap: balance; }
h3 { font-weight: 650; letter-spacing: -.025em; }
p { text-wrap: pretty; }
.shell { width: min(1180px, calc(100% - 88px)); margin-inline: auto; }
.skip-link { position: absolute; top: -80px; left: 24px; z-index: 10; padding: 10px 16px; background: var(--bg); }
.skip-link:focus { top: 12px; }
.eyebrow { color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.site-header { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); }
.wordmark { font-size: 22px; font-weight: 720; letter-spacing: -.055em; line-height: 1; text-decoration: none; white-space: nowrap; }
.wordmark span,.footer-main strong span { color: var(--accent); }
.site-nav { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 32px); font-size: 14px; font-weight: 570; }
.site-nav > a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.language-switch { display: flex; align-items: center; gap: 2px; border-left: 1px solid var(--line); padding-left: 12px; }
.language-switch a { min-width: 40px; min-height: 44px; display: grid; place-items: center; font-size: 12px; text-decoration: none; }
.language-switch [aria-current] { color: var(--accent); font-weight: 750; text-decoration: underline; text-underline-offset: 5px; }
.hero { min-height: 610px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(34px, 6vw, 90px); padding-block: 62px 82px; }
.hero-copy { max-width: 580px; }
.hero h1 { margin: 23px 0 28px; font-size: clamp(58px, 7vw, 106px); line-height: .98; }
.hero h1 em { color: var(--accent); font-weight: 400; }
.lead { max-width: 530px; font-size: clamp(18px, 1.7vw, 21px); line-height: 1.57; }
.primary-link { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; margin-top: 34px; padding: 10px 22px; border-radius: 999px; background: var(--deep); color: var(--deep-ink); font-weight: 650; text-decoration: none; }
.primary-link:hover { background: var(--accent-hover); color: #fff; }
.hero-art { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; }
.art-circle { width: min(100%, 450px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--art-ring); border-radius: 50%; background: radial-gradient(circle at 34% 25%, var(--bg), var(--art-bg) 75%); }
.art-circle picture { display: block; width: 82%; }
.art-circle img { display: block; width: 100%; height: auto; }
.hero-art figcaption { max-width: 300px; color: var(--muted); font-size: 13px; text-align: center; }
.story-section { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(46px, 8vw, 130px); padding-block: 90px 100px; border-top: 1px solid var(--line); }
.section-intro h2,.about-grid h2,.contact-section h2 { margin-top: 16px; font-size: clamp(42px, 5vw, 72px); line-height: 1.08; }
.story-copy { max-width: 540px; padding-top: 6px; }
.story-copy > p:first-child { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.65; }
.detail-list { list-style: none; margin: 26px 0; padding: 0; border-top: 1px solid var(--line); }
.detail-list li { position: relative; padding: 12px 0 12px 25px; border-bottom: 1px solid var(--line); font-size: 15px; }
.detail-list li::before { position: absolute; left: 0; top: 17px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); content: ""; }
.status { max-width: 460px; color: var(--muted); font-size: 14px; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; margin-top: 17px; color: var(--accent); font-weight: 650; }
.about-section { background: var(--deep); color: var(--deep-ink); }
.about-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(46px, 8vw, 130px); padding-block: 92px 96px; }
.about-grid .eyebrow { color: #eeb195; }
.about-grid p:not(.eyebrow) { max-width: 530px; color: var(--deep-muted); font-size: 19px; }
.about-grid p + p { margin-top: 17px; }
.about-grid a { color: var(--deep-ink); font-weight: 650; }
.about-grid a:hover { color: #eeb195; }
.contact-section { display: flex; justify-content: space-between; align-items: end; gap: 34px; padding-block: 94px 100px; }
.contact-section h2 { max-width: 650px; }
.contact-section p:not(.eyebrow) { margin-top: 20px; color: var(--muted); }
.contact-email { display: inline-flex; align-items: baseline; gap: 10px; min-height: 44px; font-size: clamp(21px, 2.6vw, 30px); letter-spacing: -.04em; white-space: nowrap; }
.site-footer { padding-block: 28px 34px; border-top: 1px solid var(--line); }
.footer-main { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.footer-main strong { font-size: 19px; letter-spacing: -.05em; }
.footer-main nav { display: flex; flex-wrap: wrap; gap: 8px 25px; font-size: 14px; }
.footer-main nav a { min-height: 44px; display: inline-flex; align-items: center; }
.legal,.site-note { max-width: 1000px; margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.site-note { margin-top: 8px; }
.feature-section { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding-block: 0 96px; }
.feature-section article { padding-top: 22px; border-top: 1px solid var(--line); }
.feature-mark { color: var(--accent); font-family: var(--display); font-size: 28px; line-height: 1; }
.feature-section h3 { margin: 20px 0 10px; font-size: 19px; }
.feature-section p { max-width: 320px; color: var(--muted); font-size: 15px; }
.product-hero .text-link { margin-top: 28px; }
.product-page .contact-section .text-link { margin-top: 14px; }
.legal-page { max-width: 900px; padding-block: 82px 110px; }
.legal-page h1 { max-width: 800px; margin: 20px 0 28px; font-size: clamp(48px, 6vw, 82px); line-height: 1.05; }
.legal-amp { color: var(--accent); font-style: italic; }
.legal-lead { max-width: 710px; font-size: clamp(18px, 1.7vw, 21px); }
.legal-page section { margin-top: 68px; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-page h2 { margin-bottom: 24px; font-size: clamp(32px, 3.5vw, 46px); }
.legal-page section > p { max-width: 750px; margin-top: 16px; }
.info-list { margin: 0; }
.info-list div { display: grid; grid-template-columns: 175px 1fr; gap: 20px; padding: 15px 0; border-top: 1px solid var(--line); }
.info-list dt { color: var(--muted); font-size: 14px; }
.info-list dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .shell { width: min(100% - 56px, 1180px); }
  .hero { min-height: 0; gap: 28px; padding-block: 70px; }
  .hero h1 { font-size: clamp(56px, 7vw, 80px); }
  .story-section,.about-grid { gap: 45px; }
  .contact-section { display: block; }
  .contact-email { margin-top: 25px; }
}
@media (max-width: 680px) {
  .shell { width: calc(100% - 40px); }
  .site-header { min-height: 0; flex-wrap: wrap; gap: 0; padding-block: 19px 8px; }
  .wordmark { font-size: 20px; min-height: 34px; display: inline-flex; align-items: center; }
  .site-nav { width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; padding-top: 5px; font-size: 13px; }
  .language-switch { margin-left: auto; padding-left: 5px; border-left: 0; }
  .language-switch a { min-width: 34px; }
  .hero { grid-template-columns: 1fr; gap: 42px; padding-block: 50px 60px; }
  .hero h1 { margin: 19px 0 22px; font-size: clamp(52px, 12vw, 76px); }
  .lead { font-size: 18px; }
  .primary-link { margin-top: 25px; }
  .art-circle { width: min(100%, 340px); }
  .hero-art { gap: 12px; }
  .story-section,.about-grid { grid-template-columns: 1fr; gap: 24px; padding-block: 65px; }
  .section-intro h2,.about-grid h2,.contact-section h2 { font-size: clamp(40px, 10vw, 60px); }
  .story-copy > p:first-child,.about-grid p:not(.eyebrow) { font-size: 17px; }
  .feature-section { grid-template-columns: 1fr; gap: 30px; padding-bottom: 65px; }
  .feature-section h3 { margin-top: 10px; }
  .contact-section { padding-block: 65px 70px; }
  .contact-email { font-size: clamp(20px, 5vw, 28px); white-space: normal; overflow-wrap: anywhere; }
  .legal-page { padding-block: 60px 75px; }
  .legal-page section { margin-top: 48px; }
  .info-list div { grid-template-columns: 1fr; gap: 2px; }
  .footer-main { display: block; }
  .footer-main nav { margin-top: 8px; gap: 4px 20px; }
}
@media (max-width: 380px) { .site-nav { gap: 2px 8px; font-size: 12px; } .language-switch a { min-width: 30px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { :root { color-scheme: light; } body { background: #fff; color: #000; } .about-section { background: #fff; color: #000; } .about-grid p:not(.eyebrow) { color: #000; } .hero-art,.skip-link { display: none; } .hero { min-height: 0; } }
