:root {
  color-scheme: light;
  --paper: #f7f5ee;
  --paper-deep: #eeece2;
  --ink: #172822;
  --ink-muted: #5e6d66;
  --pine: #123d34;
  --pine-deep: #0b2a25;
  --mint: #c9f46f;
  --lime: #d4f875;
  --coral: #ff806d;
  --lilac: #ded3fa;
  --teal: #83d8cb;
  --line: rgba(23, 40, 34, .14);
  --serif: 'Iowan Old Style', 'Baskerville', 'Palatino Linotype', 'Book Antiqua', Georgia, serif;
  --sans: 'Avenir Next', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --ease: cubic-bezier(.22, .72, .18, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--mint); color: var(--pine-deep); }
.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; padding: 10px 16px; transform: translateY(-160%); border-radius: 3px; background: var(--mint); color: var(--pine-deep); font-weight: 700; transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
.section-anchor { scroll-margin-top: 86px; }

.announcement { min-height: 35px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 6px 26px; background: var(--pine-deep); color: #f3f3e7; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.announcement p { margin: 0; }
.announcement-dot, .live-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(212, 248, 117, .13); }
.announcement-divider { margin: 0 7px; color: var(--coral); }
.announcement-side { position: absolute; right: max(24px, calc((100vw - 1320px) / 2)); color: #b7c9bd; font-size: 8px; letter-spacing: .16em; }
.announcement-side span { color: var(--mint); margin-left: 4px; }

.site-header { position: sticky; z-index: 50; top: 0; background: rgba(247, 245, 238, .93); border-bottom: 1px solid rgba(23, 40, 34, .08); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.header-inner { height: 76px; width: min(1320px, calc(100% - 56px)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-mark { position: relative; display: inline-flex; width: 35px; height: 35px; align-items: center; justify-content: center; flex: 0 0 35px; border-radius: 11px; background: var(--pine); transform: rotate(-7deg); box-shadow: 3px 4px 0 var(--mint); }
.brand-mark span { position: absolute; width: 15px; height: 6px; border-radius: 7px; background: var(--mint); transform: rotate(-42deg); }
.brand-mark span:first-child { top: 10px; left: 10px; }
.brand-mark span:nth-child(2) { right: 8px; bottom: 10px; background: #ff8a75; }
.brand-mark i { width: 3px; height: 22px; border-radius: 3px; background: #fff9e7; transform: rotate(-42deg); }
.brand-wording { display: flex; flex-direction: column; align-items: flex-start; line-height: .93; letter-spacing: -.04em; }
.brand-wording strong { font-size: 17px; font-weight: 800; }
.brand-wording strong span { color: #fb816e; }
.brand-wording small { padding-top: 5px; color: var(--ink-muted); font-size: 8px; font-weight: 700; letter-spacing: .21em; text-transform: uppercase; }
.primary-nav { height: 100%; display: flex; align-items: center; gap: 36px; }
.nav-link { position: relative; padding: 9px 0; color: #5e6d66; font-size: 12px; font-weight: 650; text-decoration: none; transition: color .2s ease; }
.nav-link::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 2px; content: ''; background: linear-gradient(90deg, var(--coral), var(--mint)); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }
.nav-link:hover, .nav-link:focus-visible, .nav-link.active { color: var(--ink); }
.nav-link:hover::after, .nav-link:focus-visible::after, .nav-link.active::after { transform: scaleX(1); }
.nav-cta { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 0 17px; border: 1px solid rgba(18, 61, 52, .18); border-radius: 3px; background: transparent; color: var(--pine); font-size: 11px; font-weight: 750; text-decoration: none; transition: color .25s ease, background .25s ease, border .25s ease, transform .25s ease; }
.nav-cta span { font-size: 15px; }
.nav-cta:hover, .nav-cta:focus-visible { transform: translateY(-2px); border-color: var(--pine); background: var(--pine); color: white; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: 650px; overflow: hidden; isolation: isolate; padding: 71px 0 0; background: radial-gradient(ellipse at 79% 14%, rgba(222, 211, 250, .54), transparent 26%), radial-gradient(ellipse at 92% 75%, rgba(255, 128, 109, .14), transparent 29%), var(--paper); }
.hero::before { position: absolute; z-index: -1; top: -85px; right: 3%; width: 53vw; height: 640px; border: 1px solid rgba(18, 61, 52, .08); border-radius: 49%; content: ''; transform: rotate(-24deg); }
.hero-inner { position: relative; z-index: 1; width: min(1220px, calc(100% - 72px)); min-height: 520px; margin: 0 auto; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 18px; }
.hero-copy { position: relative; z-index: 3; max-width: 580px; padding: 7px 0 64px; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #718078; font-size: 9px; font-weight: 800; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; }
.eyebrow-line { width: 29px; height: 1px; background: var(--coral); }
.hero h1, .section-heading h2, .services-title-block h2, .about-heading h2, .contact-intro h2 { margin: 23px 0 19px; font-family: var(--serif); font-size: clamp(62px, 7.4vw, 100px); font-weight: 500; letter-spacing: -.074em; line-height: .92; }
.hero h1 em, .section-heading h2 em, .services-title-block h2 em, .contact-intro h2 em { color: #e47765; font-weight: 500; }
.hero-deck { max-width: 455px; margin: 0; color: #5b6a63; font-size: 15px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; margin-top: 30px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 25px; padding: 0 19px; border: 0; border-radius: 3px; cursor: pointer; font-size: 11px; font-weight: 800; text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s ease, background .25s ease, color .25s ease; }
.button span { font-size: 16px; transition: transform .25s var(--ease); }
.button:hover { transform: translateY(-3px); box-shadow: 0 10px 23px rgba(11, 42, 37, .17); }
.button:hover span { transform: translate(3px, -2px); }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #ed806f; outline-offset: 3px; }
.button-dark { background: var(--pine); color: white; }
.button-dark:hover { background: #1b5748; }
.text-link { color: var(--pine); font-size: 11px; font-weight: 750; text-decoration-color: rgba(18, 61, 52, .35); text-underline-offset: 5px; transition: color .2s ease, text-decoration-color .2s ease; }
.text-link span { margin-left: 6px; color: #e47765; }
.text-link:hover { color: #d76e5c; text-decoration-color: currentColor; }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 43px; }
.proof-orbit { position: relative; width: 38px; height: 38px; display: block; border: 1px solid rgba(18, 61, 52, .23); border-radius: 50%; }
.proof-orbit i { position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); transform: translate(-50%, -50%); }
.proof-orbit i:nth-child(2) { top: 12px; left: 11px; width: 5px; height: 5px; background: var(--teal); }
.proof-orbit i:nth-child(3) { top: 24px; left: 25px; width: 4px; height: 4px; background: #a58bdc; }
.hero-proof p { margin: 0; color: #738079; font-size: 10px; line-height: 1.65; }
.hero-proof strong { color: var(--ink); font-size: 11px; }
.hero-art { position: relative; width: 100%; max-width: 575px; height: 490px; margin: -5px 0 10px auto; }
.hero-glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(1px); }
.hero-glow-one { top: 145px; left: 48%; width: 320px; height: 320px; background: radial-gradient(circle, rgba(201, 244, 111, .38), rgba(131, 216, 203, .16) 52%, transparent 73%); }
.hero-glow-two { right: -75px; bottom: 39px; width: 240px; height: 240px; background: radial-gradient(circle, rgba(255, 128, 109, .18), transparent 69%); }
.orbit { position: absolute; border: 1px solid rgba(18, 61, 52, .14); border-radius: 50%; }
.orbit-large { top: 45px; left: 52px; width: 455px; height: 382px; transform: rotate(-29deg); }
.orbit-small { top: 76px; right: 26px; width: 352px; height: 320px; border-style: dashed; border-color: rgba(18, 61, 52, .16); transform: rotate(34deg); }
.hero-card { position: absolute; top: 74px; left: 85px; width: min(386px, 78%); min-height: 328px; padding: 25px 27px 21px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 10px; background: linear-gradient(140deg, rgba(255, 255, 255, .93), rgba(247, 245, 238, .83)); box-shadow: 0 26px 70px rgba(39, 58, 50, .14), inset 0 1px 0 #fff; transform: rotate(-4deg); animation: card-float 7s ease-in-out infinite; backdrop-filter: blur(12px); }
.hero-card-top { display: flex; align-items: center; gap: 8px; color: #839087; font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.card-menu { margin-left: auto; color: #5c6d64; font-size: 13px; letter-spacing: .15em; }
.hero-amount-label { margin-top: 31px; color: #758279; font-size: 10px; }
.hero-amount { margin-top: 3px; color: var(--pine); font-family: var(--serif); font-size: 37px; letter-spacing: -.06em; }
.hero-amount span { margin-right: 7px; color: #dc7766; font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .15em; vertical-align: middle; }
.hero-card-rule { height: 1px; margin: 17px 0 13px; background: rgba(18, 61, 52, .13); }
.hero-card-line { display: flex; justify-content: space-between; margin: 8px 0; color: #77847b; font-size: 9px; }
.hero-card-line b { color: #32463d; font-size: 9px; }
.hero-mini-chart { height: 50px; display: flex; align-items: end; gap: 6px; margin-top: 18px; padding: 0 4px; }
.hero-mini-chart i { flex: 1; height: 24%; border-radius: 4px 4px 1px 1px; background: linear-gradient(180deg, var(--teal), rgba(131, 216, 203, .2)); }
.hero-mini-chart i:nth-child(2n) { height: 39%; background: linear-gradient(180deg, var(--coral), rgba(255, 128, 109, .2)); }
.hero-mini-chart i:nth-child(3n) { height: 54%; }
.hero-mini-chart i:nth-child(4n) { height: 42%; background: linear-gradient(180deg, #b8a2eb, rgba(184, 162, 235, .2)); }
.hero-mini-chart i:nth-child(5n) { height: 73%; }
.hero-mini-chart i:nth-child(7n) { height: 90%; background: linear-gradient(180deg, var(--mint), rgba(212, 248, 117, .2)); }
.hero-mini-chart i:nth-child(11n) { height: 100%; }
.hero-card-foot { display: flex; justify-content: space-between; margin-top: 11px; color: #89968c; font-size: 7px; letter-spacing: .11em; text-transform: uppercase; }
.hero-sticker { position: absolute; z-index: 2; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(18, 61, 52, .12); box-shadow: 0 10px 28px rgba(39, 58, 50, .1); }
.sticker-top { top: 30px; right: 54px; width: 107px; height: 88px; align-items: center; border-radius: 50%; background: var(--lilac); color: var(--pine); transform: rotate(11deg); }
.sticker-top span, .sticker-top small { font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.sticker-top b { margin: 1px 0; font-family: var(--serif); font-size: 28px; line-height: 1; }
.sticker-top small { color: #79718e; font-size: 5px; }
.sticker-bottom { right: 2px; bottom: 37px; width: 201px; height: 115px; flex-direction: row; align-items: center; gap: 10px; padding: 11px; border-radius: 6px; background: #fffefa; transform: rotate(4deg); }
.sticker-spark { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: var(--coral); color: white; font-size: 29px; }
.sticker-bottom b { display: block; color: var(--pine); font-family: var(--serif); font-size: 17px; font-weight: 600; letter-spacing: -.04em; line-height: 1.02; }
.sticker-bottom small { display: block; margin-top: 8px; color: #849188; font-size: 6px; font-weight: 800; letter-spacing: .12em; }
.hero-side-note { position: absolute; top: 220px; right: -52px; color: #718078; font-size: 7px; font-weight: 800; letter-spacing: .21em; writing-mode: vertical-rl; }
.hero-bottom-line { width: min(1320px, calc(100% - 56px)); min-height: 48px; display: flex; align-items: center; justify-content: space-between; margin: 0 auto; border-top: 1px solid var(--line); color: #748078; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.hero-bottom-line b { margin-left: 6px; color: #e47765; font-size: 12px; }

.stat-ribbon { padding: 29px 0 21px; background: #eaece1; }
.stat-ribbon-inner { width: min(1180px, calc(100% - 72px)); display: grid; grid-template-columns: 1.08fr 1fr 1fr 1fr; align-items: center; gap: 28px; margin: 0 auto; }
.stat-intro { display: flex; flex-direction: column; gap: 5px; }
.tiny-index { color: #869189; font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.stat-intro b { color: var(--pine); font-family: var(--serif); font-size: 23px; font-weight: 500; letter-spacing: -.04em; }
.stat-item { display: flex; align-items: center; gap: 13px; }
.stat-symbol { width: 37px; height: 37px; display: grid; flex: 0 0 37px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--pine); font-family: var(--serif); font-size: 24px; }
.stat-symbol-coral { background: var(--coral); color: white; font-family: var(--sans); font-size: 20px; }
.stat-symbol-lime { background: var(--lilac); font-family: var(--sans); font-size: 17px; }
.stat-item p { margin: 0; line-height: 1.45; }
.stat-item strong, .stat-item small { display: block; }
.stat-item strong { color: var(--pine); font-size: 10px; }
.stat-item small { margin-top: 2px; color: #77837c; font-size: 8px; }
.ribbon-footnote { width: min(1180px, calc(100% - 72px)); margin: 18px auto 0; padding-top: 11px; border-top: 1px solid rgba(18, 61, 52, .11); color: #7c8980; font-size: 8px; }

.calculator-section { position: relative; overflow: hidden; isolation: isolate; padding: 86px 0 0; background: radial-gradient(ellipse at 91% 83%, rgba(29, 98, 78, .26), transparent 27%), var(--pine-deep); color: white; }
.calculator-backdrop { position: absolute; z-index: -1; top: 7%; right: -60px; width: 470px; height: 470px; pointer-events: none; }
.calculator-backdrop span { position: absolute; inset: 0; border: 1px solid rgba(212, 248, 117, .14); border-radius: 50%; transform: rotate(34deg) scaleX(1.3); }
.calculator-backdrop span:nth-child(2) { inset: 54px -30px; border-color: rgba(255, 128, 109, .2); transform: rotate(-45deg) scaleX(.8); }
.calculator-backdrop span:nth-child(3) { inset: 126px; border-style: dashed; border-color: rgba(131, 216, 203, .22); }
.section-heading { width: min(1120px, calc(100% - 72px)); display: flex; align-items: end; justify-content: space-between; gap: 45px; margin: 0 auto 39px; }
.section-heading h2 { margin: 20px 0 0; font-size: clamp(50px, 6vw, 72px); line-height: .98; }
.section-heading h2 em { color: var(--mint); }
.eyebrow-light { color: #abc0b4; }
.eyebrow-light .eyebrow-line { background: var(--mint); }
.section-heading > p { max-width: 338px; margin: 0 0 5px; color: #adc0b5; font-size: 12px; line-height: 1.8; }
.calculator-layout { position: relative; width: min(1120px, calc(100% - 72px)); display: grid; grid-template-columns: 1.04fr .96fr; gap: 23px; margin: 0 auto; }
.calculator-form { padding: 30px 32px 27px; border: 1px solid rgba(232, 247, 230, .15); border-radius: 8px; background: rgba(240, 248, 238, .06); box-shadow: 0 18px 60px rgba(0, 0, 0, .12); backdrop-filter: blur(18px); }
.form-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 21px; }
.step-marker { width: 29px; height: 29px; display: grid; flex: 0 0 29px; place-items: center; border: 1px solid rgba(212, 248, 117, .55); border-radius: 50%; color: var(--mint); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.form-heading h3 { margin: 0; color: #f4f6e9; font-family: var(--serif); font-size: 19px; font-weight: 500; letter-spacing: -.02em; line-height: 1.3; }
.form-heading p { margin: 3px 0 0; color: #91a79a; font-size: 9px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 13px; }
.field { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.field-wide { grid-column: 1 / -1; }
.field label { display: flex; align-items: center; justify-content: space-between; gap: 9px; color: #e7eee5; font-size: 10px; font-weight: 700; }
.label-note { color: #8fa79b; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; min-width: 0; min-height: 43px; padding: 0 12px; border: 1px solid rgba(230, 241, 226, .19); border-radius: 3px; background: rgba(244, 250, 239, .08); color: #f6f6eb; font-size: 11px; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.field input::placeholder, .field textarea::placeholder { color: #839b8e; opacity: 1; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: rgba(212, 248, 117, .55); background: rgba(244, 250, 239, .12); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--mint); outline: 0; box-shadow: 0 0 0 3px rgba(212, 248, 117, .13); }
.field input[type="date"] { color-scheme: dark; }
.field select { appearance: none; padding-right: 36px; background-image: linear-gradient(45deg, transparent 50%, var(--mint) 50%), linear-gradient(135deg, var(--mint) 50%, transparent 50%); background-position: calc(100% - 17px) 18px, calc(100% - 12px) 18px; background-repeat: no-repeat; background-size: 5px 5px, 5px 5px; }
.field select option { background: #123d34; color: white; }
.input-with-prefix { position: relative; }
.input-with-prefix > span { position: absolute; top: 50%; left: 12px; color: var(--mint); font-size: 8px; font-weight: 800; letter-spacing: .1em; transform: translateY(-50%); }
.input-with-prefix input { padding-left: 48px; }
.field-help { display: block; color: #829a8c; font-size: 8px; line-height: 1.5; }
.form-heading-secondary { margin: 29px 0 17px; padding-top: 18px; border-top: 1px solid rgba(230, 241, 226, .13); }
.step-marker-coral { border-color: rgba(255, 128, 109, .6); color: #ff9682; }
.field-grid-compact { gap: 13px; }
.form-error { margin-top: 17px; padding: 10px 12px; border-left: 2px solid var(--coral); background: rgba(255, 128, 109, .1); color: #ffd6cc; font-size: 10px; }
.calculate-button { width: 100%; margin-top: 22px; background: var(--mint); color: var(--pine-deep); }
.calculate-button:hover { background: #e5ff9c; }
.privacy-note { margin: 12px 0 0; color: #8aa094; font-size: 8px; text-align: center; }
.privacy-note span { margin-right: 5px; color: var(--mint); }

.result-panel { position: relative; min-height: 675px; display: flex; flex-direction: column; overflow: hidden; padding: 27px 29px 19px; border: 1px solid rgba(18, 61, 52, .1); border-radius: 8px; background: linear-gradient(156deg, #f4f3e9, #e9eddd 79%); color: var(--pine); box-shadow: 0 22px 60px rgba(0, 0, 0, .13); }
.result-panel::before { position: absolute; right: -100px; bottom: 116px; width: 280px; height: 280px; border: 1px solid rgba(18, 61, 52, .11); border-radius: 50%; content: ''; }
.result-panel::after { position: absolute; right: -30px; bottom: 34px; width: 190px; height: 190px; border: 1px dashed rgba(18, 61, 52, .11); border-radius: 50%; content: ''; }
.result-panel-top, .result-foot { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; }
.result-kicker { display: flex; align-items: center; gap: 9px; color: #6f8176; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.live-dot-lime { background: #70b457; box-shadow: 0 0 0 4px rgba(112, 180, 87, .13); }
.result-seal { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(18, 61, 52, .24); border-radius: 50%; color: var(--pine); font-size: 7px; font-weight: 800; letter-spacing: .06em; }
.result-placeholder { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px 29px 24px; text-align: center; }
.placeholder-orbit { position: absolute; top: 50%; left: 50%; width: 174px; height: 174px; border: 1px solid rgba(18, 61, 52, .15); border-radius: 50%; transform: translate(-50%, -59%); }
.placeholder-orbit::before, .placeholder-orbit::after { position: absolute; inset: 17px -26px; border: 1px solid rgba(255, 128, 109, .22); border-radius: 50%; content: ''; transform: rotate(55deg); }
.placeholder-orbit::after { inset: 36px -43px; border-color: rgba(91, 143, 127, .2); transform: rotate(-50deg); }
.placeholder-mark { position: relative; z-index: 1; width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid rgba(18, 61, 52, .16); border-radius: 50%; background: rgba(250, 250, 241, .85); color: #e47765; font-family: var(--serif); font-size: 37px; box-shadow: 0 9px 22px rgba(18, 61, 52, .08); }
.result-placeholder h3 { position: relative; z-index: 1; margin: 23px 0 8px; color: var(--pine); font-family: var(--serif); font-size: 25px; font-weight: 500; letter-spacing: -.04em; }
.result-placeholder > p { position: relative; z-index: 1; max-width: 285px; margin: 0; color: #77857b; font-size: 10px; line-height: 1.75; }
.placeholder-caption { width: 100%; display: flex; justify-content: space-between; margin-top: 52px; padding-top: 11px; border-top: 1px solid rgba(18, 61, 52, .13); color: #849087; font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.result-content { position: relative; z-index: 2; padding-top: 32px; }
.result-label { margin: 0; color: #728178; font-size: 10px; }
.result-total { margin: 0; color: var(--pine); font-family: var(--serif); font-size: clamp(38px, 5vw, 56px); font-weight: 500; letter-spacing: -.07em; line-height: 1.2; overflow-wrap: anywhere; }
.result-period { margin: 5px 0 28px; color: #78867d; font-size: 9px; }
.result-divider { display: flex; align-items: center; gap: 10px; color: #77857c; font-size: 7px; font-weight: 800; letter-spacing: .17em; }
.result-divider i { height: 1px; flex: 1; background: rgba(18, 61, 52, .14); }
.breakdown-list { margin: 13px 0 0; }
.breakdown-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid rgba(18, 61, 52, .1); }
.breakdown-list dt { color: #62746a; font-size: 9px; }
.breakdown-list dd { margin: 0; color: var(--pine); font-size: 10px; font-weight: 750; font-variant-numeric: tabular-nums; text-align: right; }
.breakdown-deduction dd { color: #d76e5c; }
.award-note { margin: 15px 0 0; padding: 10px 11px; border-left: 2px solid #e47d6d; background: rgba(255, 255, 255, .48); color: #617168; font-size: 8px; line-height: 1.6; }
.reset-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; padding: 3px 0; border: 0; background: transparent; color: #5c7466; cursor: pointer; font-size: 9px; font-weight: 750; }
.reset-link:hover { color: #d76e5c; }
.reset-link span { font-size: 15px; }
.result-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(18, 61, 52, .15); color: #819087; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.formula-strip { width: min(1120px, calc(100% - 72px)); display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 18px; margin: 0 auto; padding: 24px 0 26px; }
.formula-index { color: var(--mint); font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.formula-strip p { margin: 0; color: #a7bcb0; font-size: 9px; line-height: 1.65; }
.formula-strip a { color: var(--mint); font-size: 9px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.formula-strip a span { margin-left: 5px; }
.formula-strip a:hover { color: white; }

.services-section { padding: 99px 0 48px; }
.services-intro { width: min(1190px, calc(100% - 72px)); display: grid; grid-template-columns: 45px 1.2fr .8fr; align-items: end; gap: 40px; margin: 0 auto 41px; }
.services-vertical { height: 147px; display: flex; flex-direction: column; justify-content: space-between; padding: 7px 0; border-right: 1px solid rgba(18, 61, 52, .22); color: #829087; font-size: 7px; font-weight: 800; letter-spacing: .18em; writing-mode: vertical-rl; }
.services-vertical span { color: #e47765; }
.services-title-block h2 { margin: 16px 0 0; font-size: clamp(50px, 6vw, 68px); line-height: .98; }
.services-title-block h2 em { color: #5f9e8e; }
.services-lead { max-width: 310px; margin: 0 0 7px; color: #64746b; font-size: 12px; line-height: 1.85; }
.service-cards { width: min(1190px, calc(100% - 72px)); display: grid; grid-template-columns: 1.05fr .92fr 1fr; gap: 14px; margin: 0 auto; }
.service-card { position: relative; min-height: 265px; display: flex; flex-direction: column; overflow: hidden; padding: 22px 23px 21px; border: 1px solid rgba(18, 61, 52, .08); border-radius: 7px; transition: transform .3s var(--ease), box-shadow .3s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 16px 35px rgba(41, 65, 54, .1); }
.service-card-mint { background: linear-gradient(145deg, #e5f3d0, #d9ebca); }
.service-card-lilac { background: linear-gradient(145deg, #ede5fb, #e1d9f6); }
.service-card-peach { background: linear-gradient(145deg, #ffebe0, #f6dfd4); }
.service-card-top { display: flex; align-items: center; justify-content: space-between; color: #78887c; font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.service-arrow { color: var(--pine); font-size: 16px; transition: transform .25s var(--ease); }
.service-card:hover .service-arrow { transform: translate(3px, -3px); }
.service-glyph { position: absolute; top: 50px; right: 28px; width: 80px; height: 73px; opacity: .87; }
.glyph-bars { display: flex; align-items: end; gap: 7px; padding: 5px 7px; }
.glyph-bars i { width: 8px; height: 31px; border-radius: 8px; background: #619682; transform: rotate(9deg); }
.glyph-bars i:nth-child(2) { height: 48px; background: #f0856c; }
.glyph-bars i:nth-child(3) { height: 63px; background: #a997d5; }
.glyph-bars i:nth-child(4) { height: 43px; background: #6c9f83; }
.glyph-bars i:nth-child(5) { height: 56px; background: #e38372; }
.glyph-orbit i { position: absolute; inset: 10px 2px; border: 1px solid #9986c9; border-radius: 50%; transform: rotate(32deg); }
.glyph-orbit i:nth-child(2) { inset: 0 14px; border-color: #ff806d; transform: rotate(-41deg); }
.glyph-orbit i:nth-child(3) { inset: 27px 22px; border: 0; background: #bcaee9; }
.glyph-check { display: flex; flex-direction: column; justify-content: center; gap: 9px; padding-left: 6px; }
.glyph-check i { position: relative; width: 49px; height: 1px; background: #82a08e; }
.glyph-check i::before { position: absolute; top: -4px; left: -5px; width: 8px; height: 8px; border: 1px solid #e37c68; border-radius: 50%; content: ''; background: #f7dfd5; }
.service-card h3 { max-width: 230px; margin: auto 0 9px; color: var(--pine); font-family: var(--serif); font-size: 27px; font-weight: 500; letter-spacing: -.05em; line-height: 1.1; }
.service-card p { max-width: 305px; margin: 0 0 16px; color: #65756b; font-size: 10px; line-height: 1.7; }
.card-link { display: inline-flex; width: fit-content; align-items: center; gap: 8px; color: var(--pine); font-size: 9px; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(18, 61, 52, .3); text-underline-offset: 4px; }
.card-link:hover { color: #d76e5c; }
.service-footnote { width: min(1190px, calc(100% - 72px)); display: flex; justify-content: space-between; margin: 26px auto 0; padding-top: 14px; border-top: 1px solid var(--line); color: #89948c; font-size: 7px; font-weight: 800; letter-spacing: .16em; }

.article-section { display: grid; grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr); gap: 38px; padding: 90px max(36px, calc((100vw - 1190px) / 2)) 110px; background: #ecece1; }
.article-aside { position: relative; min-height: 500px; display: flex; flex-direction: column; align-items: flex-start; padding: 12px 0 5px; }
.article-aside .eyebrow { font-size: 8px; }
.article-aside-number { margin: 24px 0 0; color: rgba(18, 61, 52, .12); font-family: var(--serif); font-size: 93px; letter-spacing: -.1em; line-height: 1; }
.article-aside-number span { color: #e47765; }
.article-aside > p { margin: 3px 0 0; color: var(--pine); font-family: var(--serif); font-size: 22px; line-height: 1.2; }
.article-aside-stamp { width: 132px; height: 132px; display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: center; gap: 4px; margin: 37px 25px 0 0; border: 1px solid rgba(18, 61, 52, .29); border-radius: 50%; color: var(--pine); text-align: center; transform: rotate(-9deg); }
.article-aside-stamp span { color: #d76e5c; font-size: 7px; font-weight: 800; letter-spacing: .19em; }
.article-aside-stamp b { font-family: var(--serif); font-size: 17px; font-weight: 500; line-height: 1.02; }
.article-aside-bottom { margin-top: auto; color: #89948c; font-size: 7px; font-weight: 800; letter-spacing: .15em; line-height: 1.8; }
.article-card { position: relative; padding: 46px clamp(25px, 5vw, 67px) 48px; border: 1px solid rgba(18, 61, 52, .1); border-radius: 7px; background: #fcfbf6; box-shadow: 0 17px 42px rgba(25, 52, 41, .06); }
.article-meta { display: flex; align-items: center; gap: 10px; color: #829087; font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.meta-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--coral); }
.article-date { margin-left: auto; color: #d87867; }
.article-card h2 { max-width: 760px; margin: 26px 0 23px; color: var(--pine); font-family: var(--serif); font-size: clamp(36px, 4.6vw, 59px); font-weight: 500; letter-spacing: -.06em; line-height: 1.06; }
.article-rule { display: flex; align-items: center; gap: 8px; margin-bottom: 28px; }
.article-rule span { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.article-rule i { width: 61px; height: 1px; background: #8bb6a4; }
.article-rule span:last-child { width: 4px; height: 4px; background: #a899d3; }
.article-body { max-width: 760px; color: #52645a; font-family: var(--sans); font-size: 12px; line-height: 1.95; }
.article-body p { margin: 0 0 19px; }
.article-body a { color: #287865; font-weight: 750; text-decoration-color: rgba(40, 120, 101, .45); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.article-body a:hover { color: #d76e5c; text-decoration-color: currentColor; }
.article-body h3 { margin: 31px 0 10px; color: var(--pine); font-family: var(--serif); font-size: 22px; font-weight: 500; letter-spacing: -.03em; line-height: 1.35; }
.article-closing { display: flex; align-items: center; gap: 13px; margin-top: 28px; padding: 18px 0 0; border-top: 1px solid rgba(18, 61, 52, .14); }
.closing-star { width: 35px; height: 35px; display: grid; flex: 0 0 35px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--pine); font-size: 20px; }
.article-closing p { margin: 0; color: #6c7a71; font-size: 10px; line-height: 1.65; }
.article-closing strong { color: var(--pine); }
.closing-index { margin-left: auto; color: #89948c; font-size: 7px; font-weight: 800; letter-spacing: .15em; white-space: nowrap; }

.about-section { position: relative; overflow: hidden; padding: 72px max(36px, calc((100vw - 1190px) / 2)) 82px; background: var(--pine); color: #f7f5ee; }
.about-section::after { position: absolute; right: -180px; bottom: -300px; width: 620px; height: 620px; border: 1px solid rgba(212, 248, 117, .15); border-radius: 50%; content: ''; box-shadow: 0 0 0 47px rgba(212, 248, 117, .025), 0 0 0 96px rgba(212, 248, 117, .025); pointer-events: none; }
.about-topline { position: relative; z-index: 1; display: flex; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid rgba(235, 244, 227, .16); color: #9ab0a2; font-size: 7px; font-weight: 800; letter-spacing: .17em; }
.about-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .96fr 1.04fr; gap: 65px; padding: 70px 0 49px; }
.about-heading { position: relative; }
.about-heading h2 { margin: 22px 0 0; color: #f7f5ee; font-size: clamp(69px, 9vw, 108px); line-height: .85; }
.about-heading h2 em { color: var(--mint); font-weight: 500; }
.about-scribble { display: block; margin: 22px 0 0 83px; color: var(--coral); font-family: var(--serif); font-size: 24px; letter-spacing: .08em; transform: rotate(-7deg); }
.about-copy { max-width: 505px; align-self: center; padding-top: 6px; }
.about-copy p { color: #adc0b5; font-size: 11px; line-height: 1.9; }
.about-copy .about-lead { margin: 0 0 18px; color: #f0f2e8; font-family: var(--serif); font-size: 21px; line-height: 1.5; }
.about-principles { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 26px 0; border-top: 1px solid rgba(235, 244, 227, .16); border-bottom: 1px solid rgba(235, 244, 227, .16); }
.about-principles > div { display: flex; flex-direction: column; gap: 5px; }
.about-principles span { color: var(--coral); font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.about-principles b { color: #f3f2e5; font-family: var(--serif); font-size: 18px; font-weight: 500; }
.about-principles small { color: #91a89a; font-size: 8px; }
.about-legal-note { position: relative; z-index: 1; display: flex; gap: 12px; align-items: flex-start; max-width: 760px; margin-top: 25px; }
.legal-note-mark { width: 22px; height: 22px; display: grid; flex: 0 0 22px; place-items: center; border: 1px solid rgba(212, 248, 117, .55); border-radius: 50%; color: var(--mint); font-family: var(--serif); font-size: 13px; }
.about-legal-note p { margin: 0; color: #a7bcb0; font-size: 9px; line-height: 1.8; }
.about-legal-note strong { color: #eef4e6; }

.contact-section { position: relative; overflow: hidden; display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; padding: 93px max(36px, calc((100vw - 1150px) / 2)) 98px; background: radial-gradient(ellipse at 6% 97%, rgba(201, 244, 111, .4), transparent 30%), #ded3fa; }
.contact-decoration { position: absolute; right: -125px; bottom: -140px; width: 485px; height: 485px; pointer-events: none; }
.contact-decoration span { position: absolute; inset: 0; border: 1px solid rgba(18, 61, 52, .13); border-radius: 50%; transform: scaleX(1.35) rotate(25deg); }
.contact-decoration span:nth-child(2) { inset: 43px; border-color: rgba(255, 128, 109, .3); transform: scaleX(.75) rotate(-43deg); }
.contact-decoration span:nth-child(3) { inset: 120px; border-style: dashed; border-color: rgba(18, 61, 52, .2); transform: rotate(45deg); }
.contact-intro, .contact-form { position: relative; z-index: 1; }
.contact-intro { display: flex; flex-direction: column; align-items: flex-start; }
.contact-intro .eyebrow { color: #6c7e72; }
.contact-intro h2 { margin: 24px 0 17px; color: var(--pine); font-size: clamp(52px, 6vw, 74px); line-height: .98; }
.contact-intro h2 em { color: #9b82ce; }
.contact-intro > p { max-width: 395px; margin: 0; color: #617168; font-size: 11px; line-height: 1.8; }
.contact-coordinate { display: flex; flex-direction: column; gap: 7px; margin-top: auto; padding-top: 40px; color: #708076; font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.contact-coordinate b { color: var(--pine); font-family: var(--serif); font-size: 16px; font-weight: 500; letter-spacing: 0; line-height: 1.2; }
.contact-form { padding: 28px 30px 24px; border: 1px solid rgba(18, 61, 52, .13); border-radius: 6px; background: rgba(250, 249, 243, .75); box-shadow: 0 20px 60px rgba(41, 52, 45, .1); backdrop-filter: blur(10px); }
.contact-form-head { display: flex; justify-content: space-between; margin-bottom: 23px; padding-bottom: 14px; border-bottom: 1px solid rgba(18, 61, 52, .13); color: #7a887e; font-size: 7px; font-weight: 800; letter-spacing: .17em; }
.contact-form .field { margin-bottom: 15px; }
.contact-form .field label { color: var(--pine); font-size: 9px; }
.contact-form .field input, .contact-form .field textarea { border-color: rgba(18, 61, 52, .19); background: rgba(255, 255, 255, .57); color: var(--pine); font-size: 10px; }
.contact-form .field input::placeholder, .contact-form .field textarea::placeholder { color: #92a097; }
.contact-form .field input:focus, .contact-form .field textarea:focus { border-color: #6caa97; box-shadow: 0 0 0 3px rgba(108, 170, 151, .12); }
.contact-form .field textarea { min-height: 94px; padding: 11px 12px; resize: vertical; }
.contact-submit { width: 100%; min-height: 44px; }
.contact-form-note, .contact-feedback { margin: 11px 0 0; color: #7e8a80; font-size: 8px; text-align: center; }
.contact-feedback { padding: 10px 11px; border: 1px solid rgba(72, 133, 103, .24); border-radius: 3px; background: rgba(201, 244, 111, .22); color: var(--pine); line-height: 1.6; }

.closing-banner { position: relative; min-height: 198px; display: flex; align-items: center; justify-content: center; overflow: hidden; gap: 22px; background: var(--coral); color: var(--pine-deep); }
.closing-spark { position: relative; z-index: 1; color: #fff3db; font-size: 40px; animation: spark-turn 16s linear infinite; }
.closing-banner > p { position: relative; z-index: 1; margin: 0; font-family: var(--serif); font-size: clamp(28px, 4vw, 45px); letter-spacing: -.05em; line-height: 1.04; }
.closing-banner > p em { color: #fff8e7; font-weight: 500; }
.closing-banner > a { position: absolute; z-index: 1; right: max(36px, calc((100vw - 1150px) / 2)); bottom: 32px; color: var(--pine-deep); font-size: 9px; font-weight: 800; text-decoration: none; }
.closing-banner > a span { margin-left: 6px; font-size: 13px; }
.closing-banner > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.closing-banner-lines { position: absolute; top: -132px; right: 12%; width: 390px; height: 390px; border: 1px solid rgba(255, 246, 226, .32); border-radius: 50%; transform: scaleX(1.5) rotate(29deg); }
.closing-banner-lines::before, .closing-banner-lines::after { position: absolute; inset: 31px -36px; border: 1px solid rgba(18, 61, 52, .13); border-radius: 50%; content: ''; transform: rotate(-52deg); }
.closing-banner-lines::after { inset: 98px -20px; transform: rotate(57deg); }

.site-footer { padding: 34px max(36px, calc((100vw - 1190px) / 2)) 16px; background: var(--pine-deep); color: white; }
.footer-main { display: grid; grid-template-columns: .9fr 1.2fr 1.6fr auto; align-items: center; gap: 30px; padding-bottom: 29px; }
.brand-footer .brand-mark { background: #f2f4e7; box-shadow: 3px 4px 0 var(--coral); }
.brand-footer .brand-mark span:first-child { background: var(--pine); }
.brand-footer .brand-mark span:nth-child(2) { background: #72b29d; }
.brand-footer .brand-mark i { background: #dd7765; }
.brand-footer .brand-wording strong { color: #f6f4e9; }
.brand-footer .brand-wording small { color: #9bb2a3; }
.footer-main > p { margin: 0; color: #9cb2a4; font-size: 9px; line-height: 1.7; }
.footer-main nav { display: flex; align-items: center; justify-content: center; gap: 19px; flex-wrap: wrap; }
.footer-main nav a { color: #c2cec3; font-size: 8px; text-decoration: none; transition: color .2s ease; }
.footer-main nav a:hover { color: var(--mint); }
.back-to-top { color: var(--mint); font-size: 7px; font-weight: 800; letter-spacing: .11em; text-decoration: none; white-space: nowrap; }
.back-to-top span { margin-left: 5px; font-size: 12px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 14px; border-top: 1px solid rgba(240, 246, 234, .13); color: #7f9989; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.footer-bottom b { margin-left: 3px; color: var(--coral); font-size: 11px; }

@keyframes card-float { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-10px) rotate(-2.4deg); } }
@keyframes spark-turn { to { transform: rotate(360deg); } }

@media (max-width: 1050px) {
  .hero { min-height: 600px; }
  .hero-inner { width: min(100% - 52px, 960px); grid-template-columns: 1fr .9fr; }
  .hero h1 { font-size: clamp(62px, 8vw, 86px); }
  .hero-art { height: 450px; transform: scale(.88); transform-origin: center right; }
  .hero-side-note { right: -4px; }
  .stat-ribbon-inner { width: calc(100% - 52px); gap: 15px; }
  .calculator-layout, .section-heading, .formula-strip { width: calc(100% - 52px); }
  .calculator-form { padding: 26px 22px; }
  .result-panel { padding: 24px 22px 18px; }
  .services-intro, .service-cards, .service-footnote { width: calc(100% - 52px); }
  .services-intro { gap: 25px; }
  .service-card { padding: 20px 18px; }
  .article-section { grid-template-columns: minmax(180px, .3fr) minmax(0, 1fr); gap: 25px; padding-right: 26px; padding-left: 26px; }
  .about-section { padding-right: 36px; padding-left: 36px; }
  .contact-section { gap: 45px; }
  .footer-main { grid-template-columns: .8fr 1.1fr 1.6fr; }
  .back-to-top { display: none; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 73px; }
  .announcement { min-height: 32px; padding: 6px 12px; font-size: 7px; }
  .announcement-side { display: none; }
  .header-inner { width: calc(100% - 36px); height: 66px; }
  .menu-toggle { width: 42px; height: 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(18, 61, 52, .17); border-radius: 50%; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 15px; height: 1px; background: var(--pine); transition: transform .25s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: absolute; top: 66px; right: 0; left: 0; height: auto; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 22px 22px; border-bottom: 1px solid rgba(18, 61, 52, .1); background: rgba(247, 245, 238, .98); box-shadow: 0 17px 28px rgba(21, 53, 41, .08); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .22s ease, visibility .22s ease, transform .22s ease; }
  .primary-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .nav-link { padding: 13px 4px; border-bottom: 1px solid rgba(18, 61, 52, .09); }
  .nav-link::after { display: none; }
  .nav-cta { margin-top: 15px; }
  .section-anchor { scroll-margin-top: 73px; }
  .hero { min-height: 0; padding: 57px 0 0; }
  .hero-inner { width: calc(100% - 40px); display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .hero-copy { max-width: 570px; padding: 0 0 4px; }
  .hero h1 { margin: 20px 0 17px; font-size: clamp(58px, 15vw, 83px); }
  .hero-deck { max-width: 470px; font-size: 13px; }
  .hero-actions { gap: 17px; margin-top: 24px; }
  .button { min-height: 46px; }
  .hero-proof { margin-top: 28px; }
  .hero-art { width: min(100%, 480px); height: 390px; align-self: center; margin: -6px auto 3px; transform: scale(.83); transform-origin: top center; }
  .hero-card { top: 55px; left: 50%; width: 336px; transform: translateX(-50%) rotate(-4deg); animation: card-float-mobile 7s ease-in-out infinite; }
  .orbit-large { top: 20px; left: 50%; width: 385px; height: 330px; transform: translateX(-50%) rotate(-29deg); }
  .orbit-small { top: 43px; right: 20px; width: 310px; height: 275px; }
  .sticker-top { top: 17px; right: 15px; width: 85px; height: 72px; }
  .sticker-top b { font-size: 22px; }
  .sticker-bottom { right: 0; bottom: 30px; width: 174px; height: 98px; }
  .sticker-spark { width: 45px; height: 45px; font-size: 24px; }
  .sticker-bottom b { font-size: 15px; }
  .hero-side-note { top: 194px; right: -7px; font-size: 6px; }
  .hero-bottom-line { width: calc(100% - 40px); min-height: 42px; font-size: 6px; letter-spacing: .1em; }
  .hero-bottom-line span:nth-child(2) { display: none; }
  .stat-ribbon { padding-top: 23px; }
  .stat-ribbon-inner { width: calc(100% - 40px); grid-template-columns: 1fr 1fr; gap: 20px 11px; }
  .stat-intro { grid-column: 1 / -1; flex-direction: row; align-items: baseline; justify-content: space-between; }
  .stat-intro b { font-size: 20px; }
  .stat-item { gap: 9px; }
  .stat-symbol { width: 31px; height: 31px; flex-basis: 31px; font-size: 20px; }
  .stat-item strong { font-size: 9px; }
  .stat-item small { font-size: 7px; }
  .ribbon-footnote { width: calc(100% - 40px); line-height: 1.55; }
  .calculator-section { padding-top: 61px; }
  .section-heading { width: calc(100% - 40px); display: block; margin-bottom: 27px; }
  .section-heading h2 { font-size: clamp(46px, 12vw, 64px); }
  .section-heading > p { max-width: 450px; margin-top: 18px; font-size: 11px; }
  .calculator-layout { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 15px; }
  .calculator-form { padding: 23px 18px 21px; }
  .form-heading { gap: 10px; }
  .form-heading h3 { font-size: 18px; }
  .field-grid { gap: 14px 10px; }
  .field-grid-compact { gap: 12px 10px; }
  .field label { font-size: 9px; }
  .field input, .field select { min-height: 42px; font-size: 10px; }
  .field-help { font-size: 7px; }
  .form-heading-secondary { margin-top: 25px; }
  .result-panel { min-height: 490px; padding: 22px 19px 17px; }
  .result-placeholder { padding-right: 16px; padding-left: 16px; }
  .placeholder-caption { margin-top: 38px; }
  .result-content { padding-top: 27px; }
  .result-total { font-size: 45px; }
  .formula-strip { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 8px; padding: 20px 0 23px; }
  .formula-strip p { font-size: 8px; }
  .formula-strip a { margin-top: 5px; }
  .services-section { padding: 67px 0 37px; }
  .services-intro { width: calc(100% - 40px); grid-template-columns: 25px 1fr; align-items: start; gap: 15px; margin-bottom: 27px; }
  .services-vertical { height: 127px; font-size: 6px; }
  .services-title-block h2 { font-size: clamp(44px, 11vw, 58px); }
  .services-lead { grid-column: 2; max-width: 420px; margin-top: -4px; font-size: 10px; }
  .service-cards { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 11px; }
  .service-card { min-height: 226px; padding: 19px 20px; }
  .service-glyph { top: 46px; right: 29px; transform: scale(.85); transform-origin: top right; }
  .service-card h3 { max-width: 245px; font-size: 25px; }
  .service-card p { max-width: 420px; font-size: 9px; }
  .service-footnote { width: calc(100% - 40px); gap: 15px; font-size: 6px; line-height: 1.6; }
  .service-footnote span:last-child { text-align: right; }
  .article-section { display: block; padding: 55px 16px 64px; }
  .article-aside { min-height: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 12px; padding: 0 4px 20px; }
  .article-aside .eyebrow { grid-column: 1; }
  .article-aside-number { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 56px; }
  .article-aside > p { grid-column: 1; margin: 9px 0 0; font-size: 17px; }
  .article-aside-stamp, .article-aside-bottom { display: none; }
  .article-card { padding: 29px 21px 30px; }
  .article-meta { flex-wrap: wrap; gap: 7px; font-size: 6px; }
  .article-date { font-size: 6px; }
  .article-card h2 { margin: 19px 0 19px; font-size: clamp(32px, 9vw, 43px); }
  .article-body { font-size: 11px; line-height: 1.85; }
  .article-body p { margin-bottom: 17px; }
  .article-body h3 { margin-top: 27px; font-size: 20px; }
  .article-closing { gap: 9px; }
  .article-closing p { font-size: 9px; }
  .closing-index { font-size: 6px; }
  .about-section { padding: 43px 22px 54px; }
  .about-topline { font-size: 6px; }
  .about-layout { grid-template-columns: 1fr; gap: 27px; padding: 43px 0 30px; }
  .about-heading h2 { font-size: clamp(65px, 17vw, 88px); }
  .about-copy .about-lead { font-size: 18px; }
  .about-copy p { font-size: 10px; }
  .about-principles { grid-template-columns: 1fr; gap: 16px; padding: 20px 0; }
  .about-principles > div { display: grid; grid-template-columns: 30px 1fr; gap: 2px 6px; }
  .about-principles span { grid-row: 1 / 3; padding-top: 4px; }
  .about-principles b { font-size: 16px; }
  .about-principles small { font-size: 8px; }
  .about-legal-note p { font-size: 8px; }
  .contact-section { grid-template-columns: 1fr; gap: 30px; padding: 61px 20px 60px; }
  .contact-intro h2 { font-size: clamp(48px, 12vw, 64px); }
  .contact-intro > p { max-width: 480px; }
  .contact-coordinate { display: none; }
  .contact-form { padding: 22px 18px 19px; }
  .closing-banner { min-height: 180px; justify-content: flex-start; gap: 13px; padding: 0 20px 27px; }
  .closing-spark { font-size: 29px; }
  .closing-banner > p { font-size: clamp(27px, 8vw, 37px); }
  .closing-banner > a { right: 20px; bottom: 22px; font-size: 8px; }
  .closing-banner-lines { right: -12%; width: 260px; height: 260px; }
  .site-footer { padding: 27px 20px 15px; }
  .footer-main { grid-template-columns: 1fr; gap: 14px; align-items: start; padding-bottom: 23px; }
  .footer-main > p { font-size: 8px; }
  .footer-main nav { justify-content: flex-start; gap: 9px 17px; }
  .footer-main nav a { font-size: 8px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; font-size: 6px; }
}

@media (max-width: 390px) {
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 13px; }
  .hero-art { height: 340px; transform: scale(.72); transform-origin: top left; width: 135%; margin-left: 0; }
  .hero-side-note { right: -4px; }
  .field-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .result-panel { min-height: 470px; }
  .article-card { padding-right: 17px; padding-left: 17px; }
  .article-date { width: 100%; margin-left: 0; }
  .closing-index { display: none; }
}

@keyframes card-float-mobile { 0%, 100% { transform: translateX(-50%) translateY(0) rotate(-4deg); } 50% { transform: translateX(-50%) translateY(-8px) rotate(-2deg); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
