:root {
	--ink: #20211f;
	--muted: #65665f;
	--paper: #f7f5f0;
	--white: #fff;
	--line: #dcd8cf;
	--accent: #c94f2d;
	--accent-dark: #9c351c;
	--green: #33594a;
	--article: 790px;
	--wide: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 18px; line-height: 1.7; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; line-height: 1.08; text-wrap: balance; }
h1 { margin-bottom: 1.5rem; font-size: clamp(2.35rem, 6vw, 5rem); letter-spacing: -.045em; }
h2 { margin-bottom: 1.2rem; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.035em; }
h3 { font-size: 1.35rem; }
p { margin-bottom: 1.25rem; }
:focus-visible { outline: 3px solid #1676d2; outline-offset: 4px; }
.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 100; padding: .7rem 1rem; background: var(--ink); color: white; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.article-width { width: min(calc(100% - 2rem), var(--article)); margin-inline: auto; }
.wide-width { width: min(calc(100% - 2rem), var(--wide)); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.95); }
.header-inner { width: min(calc(100% - 2rem), 1240px); min-height: 72px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; font-family: Georgia, "Times New Roman", serif; font-weight: 700; text-decoration: none; }
.brand-mark { width: 16px; height: 16px; border: 4px solid var(--accent); transform: rotate(45deg); }
.header-inner nav, .site-footer nav { display: flex; gap: 1.5rem; font-size: .78rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.header-inner nav a, .site-footer nav a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.header-inner nav span { color: var(--muted); }
.hero { padding-top: clamp(2.5rem, 7vw, 6.5rem); background: var(--paper); }
.disclosure-label, .eyebrow, .section-kicker { color: var(--accent-dark); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.disclosure-label { display: inline-block; margin-bottom: 2rem; padding: .3rem .6rem; border: 1px solid #b9b4aa; color: #585851; }
.eyebrow { margin-bottom: 1rem; }
.dek { max-width: 720px; color: #484943; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.18rem, 2vw, 1.5rem); line-height: 1.55; }
.hero-media { margin-top: clamp(2rem, 5vw, 4rem); }
.hero-media img, .supporting-image img { width: 100%; border-radius: 2px; object-fit: cover; }
.hero-media figcaption, .supporting-image figcaption { padding-top: .65rem; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.disclosure-copy { padding-block: 1.4rem 2rem; color: var(--muted); font-size: .75rem; }
.disclosure-copy p { margin: 0; }
article > section { padding-block: clamp(3.8rem, 8vw, 7rem); }
article > section + section:not(.feature-section):not(.space-section):not(.explore-section):not(.final-cta) { border-top: 1px solid var(--line); }
.lead-section { padding-top: clamp(3.5rem, 8vw, 6.5rem); }
.movement-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 2rem 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.movement-list li { padding: 1rem .5rem 1rem 0; border-bottom: 1px solid var(--line); font-weight: 700; }
.movement-list span { display: block; color: var(--accent); font-size: .68rem; letter-spacing: .1em; }
.feature-section { background: var(--ink); color: white; }
.feature-section .section-kicker { color: #ef8a69; }
.feature-section > div > p:not(.section-kicker) { color: #c7c8c3; }
.principle-grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 2.5rem; border-top: 1px solid #494a47; border-left: 1px solid #494a47; }
.principle-grid > div { padding: 1.5rem; border-right: 1px solid #494a47; border-bottom: 1px solid #494a47; }
.principle-grid span, .card-number { color: #ef8a69; font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.principle-grid h3 { margin: .5rem 0; }
.principle-grid p { margin: 0; color: #c7c8c3; font-size: .92rem; }
.priority-list { padding: 0; list-style: none; counter-reset: core; }
.priority-list li { counter-increment: core; display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.priority-list li::before { content: counter(core, decimal-leading-zero); color: var(--accent); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.priority-list h3, .priority-list p { margin-bottom: .35rem; }
.priority-list p { color: var(--muted); }
.callout { display: flex; gap: 1.5rem; margin-block: 1rem 5rem; padding: 2rem; border: 1px solid #d8c8bd; border-left: 5px solid var(--accent); background: #fbf5f0; }
.callout-icon { color: var(--accent); font-size: 2rem; line-height: 1; }
.callout h2 { margin-bottom: .5rem; font-size: 1.5rem; }
.callout p { margin: 0; }
.section-heading { margin-bottom: 2.5rem; }
.equipment-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.equipment-grid section { min-height: 285px; padding: clamp(1.5rem, 4vw, 2.5rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.equipment-grid h3 { margin: .5rem 0 1rem; font-size: 1.75rem; }
.equipment-grid p:last-child { margin: 0; color: var(--muted); }
.equipment-note { margin-top: 2.5rem; }
.card-number { color: var(--accent); }
.table-section { padding-top: 1rem; }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); }
table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: .86rem; line-height: 1.4; }
th, td { padding: 1rem; border-bottom: 1px solid var(--line); text-align: left; }
thead { background: var(--ink); color: white; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
tbody tr:nth-child(even) { background: var(--paper); }
.priority { display: inline-block; padding: .25rem .55rem; border-radius: 2rem; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.priority.high { background: #dcece5; color: #254c3c; }
.priority.medium { background: #f3e8ce; color: #674f18; }
.priority.optional, .priority.depends { background: #e8e8e5; color: #555650; }
.text-link { display: inline-block; margin-top: .5rem; color: var(--accent-dark); font-weight: 800; text-underline-offset: 5px; }
.supporting-image { margin-block: 1rem 3rem; }
.supporting-image img { aspect-ratio: 3 / 2; }
.compact-table { margin-top: 2rem; }
.compact-table table { min-width: 620px; }
.fine-print { margin-top: .8rem; color: var(--muted); font-size: .78rem; }
.space-section { background: var(--paper); }
.split-layout { display: grid; grid-template-columns: 1.4fr .8fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.checklist { padding: 2rem; background: var(--ink); color: white; }
.checklist h3 { font-size: 1.7rem; }
.checklist ul { margin: 0; padding: 0; list-style: none; }
.checklist li { padding: .55rem 0 .55rem 1.8rem; border-bottom: 1px solid #494a47; position: relative; }
.checklist li::before { content: "✓"; position: absolute; left: 0; color: #ef8a69; font-weight: 900; }
.preflight { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.preflight h3 { font-size: 1.4rem; }
.preflight ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem 2rem; padding-left: 1.2rem; }
.setup-types { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 2rem; }
.setup-types div { padding: 1.5rem; background: var(--paper); border-top: 3px solid var(--ink); }
.setup-types h3 { margin-bottom: .6rem; }
.setup-types p { margin: 0; color: var(--muted); }
.questions ol { padding: 0; list-style: none; counter-reset: questions; border-top: 1px solid var(--ink); }
.questions li { counter-increment: questions; position: relative; padding: 1rem 1rem 1rem 3.5rem; border-bottom: 1px solid var(--line); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.questions li::before { content: counter(questions, decimal-leading-zero); position: absolute; left: .4rem; color: var(--accent); font: 800 .7rem/2 system-ui, sans-serif; letter-spacing: .08em; }
.explore-section { background: #e9e2d8; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 52px; margin-top: .6rem; padding: .8rem 1.2rem; border: 2px solid var(--ink); background: var(--ink); color: white; font-size: .86rem; font-weight: 800; text-decoration: none; }
.button:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.bottom-line { text-align: center; }
.bottom-line p:not(.section-kicker) { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; }
.final-cta { background: var(--accent-dark); color: white; text-align: center; }
.final-cta-inner { width: min(calc(100% - 2rem), 760px); margin: auto; }
.final-cta .eyebrow { color: #ffd5c8; }
.final-cta p { color: #f4ded8; }
.button-light { border-color: white; background: white; color: var(--ink); }
.button-light:hover { background: var(--paper); border-color: var(--paper); }
.final-cta small { display: block; margin-top: 1.2rem; color: #f2ccc1; }
.site-footer { padding: 4rem 1rem 1.5rem; background: var(--ink); color: white; }
.footer-grid { width: min(100%, var(--wide)); margin: auto; display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 2fr); gap: 3rem; }
.footer-column { min-width: 0; }
.footer-column h2, .footer-column h3, .retailer-information > h2 { margin: 0 0 .8rem; color: #d6d7d2; font: 800 .73rem/1.4 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.retailer-information { padding-left: 3rem; border-left: 1px solid #424340; }
.retailer-information > h2 { margin-bottom: 1.4rem; color: #ef8a69; }
.retailer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.footer-column p, .footer-column address { margin: 0; color: #aeb0aa; font-size: .84rem; font-style: normal; line-height: 1.75; overflow-wrap: anywhere; }
.footer-identity p { max-width: 260px; margin-top: .8rem; }
.footer-column strong { color: #dadbd7; font-weight: 700; }
.footer-column a { color: #d6d7d2; text-decoration-color: #6d6f69; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.footer-column a:hover { color: white; text-decoration-color: white; }
.footer-brand .brand-mark { border-color: #ef8a69; }
.footer-bottom { width: min(100%, var(--wide)); margin: 3rem auto 0; padding-top: 1.25rem; border-top: 1px solid #424340; }
.footer-legal { display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; }
.footer-legal-link { padding: 0; border: 0; background: transparent; color: #d6d7d2; font: 700 .74rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: .06em; text-decoration: underline; text-decoration-color: #6d6f69; text-decoration-thickness: 1px; text-underline-offset: 4px; text-transform: uppercase; cursor: pointer; }
.footer-legal-link:hover { color: white; text-decoration-color: white; }
.copyright { margin: 1.2rem 0 0; color: #8f918b; font-size: .72rem; }
.modal-open { overflow: hidden; }
.legal-modal { width: min(calc(100% - 2rem), 720px); max-height: min(80vh, 800px); margin: auto; padding: 0; border: 1px solid var(--line); border-radius: 2px; background: var(--white); color: var(--ink); overflow: hidden; }
.legal-modal::backdrop { background: rgba(0, 0, 0, .65); }
.legal-modal-inner { display: flex; max-height: min(80vh, 800px); flex-direction: column; }
.legal-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 1.5rem 1rem; border-bottom: 1px solid var(--line); }
.legal-modal-header h2 { margin: 0; font-size: clamp(1.7rem, 5vw, 2.4rem); }
.modal-close-icon { flex: 0 0 44px; width: 44px; height: 44px; margin: -.55rem -.55rem 0 0; padding: 0; border: 0; background: transparent; color: var(--muted); font: 300 2rem/1 sans-serif; cursor: pointer; }
.modal-close-icon:hover { color: var(--ink); }
.legal-modal-content { overflow-y: auto; padding: 1.5rem; }
.legal-modal-content { font-size: 1rem; line-height: 1.7; }
.legal-modal-content h3 { margin: 2rem 0 .7rem; font-size: 1.35rem; }
.legal-modal-content h3:first-of-type { margin-top: 1.5rem; }
.legal-modal-content ul { margin: 0 0 1.25rem; padding-left: 1.4rem; }
.legal-modal-content li { margin-bottom: .35rem; }
.legal-modal-content a { color: var(--accent-dark); overflow-wrap: anywhere; }
.legal-modal-content code { font-size: .9em; overflow-wrap: anywhere; }
.legal-modal-content p:last-child { margin-bottom: 0; }
.legal-modal-actions { padding: 1rem 1.5rem 1.5rem; border-top: 1px solid var(--line); text-align: right; }
.modal-close-button { min-width: 96px; min-height: 44px; padding: .65rem 1rem; border: 2px solid var(--ink); background: var(--ink); color: white; font: 800 .82rem/1 sans-serif; cursor: pointer; }
.modal-close-button:hover { background: var(--accent-dark); border-color: var(--accent-dark); }

@media (max-width: 900px) {
	.footer-grid { grid-template-columns: 1fr; }
	.retailer-information { padding: 2rem 0 0; border-top: 1px solid #424340; border-left: 0; }
	.retailer-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
	body { font-size: 17px; line-height: 1.65; }
	.header-inner { min-height: 58px; }
	.header-inner nav span { display: none; }
	.header-inner nav { font-size: .68rem; }
	.hero { padding-top: 2.5rem; }
	h1 { font-size: clamp(2.35rem, 11.5vw, 3.2rem); }
	.hero-media { width: 100%; }
	.hero-media img { min-height: 310px; border-radius: 0; object-fit: cover; }
	.hero-media figcaption { padding-inline: 1rem; }
	.movement-list { grid-template-columns: repeat(2, 1fr); }
	.principle-grid, .equipment-grid, .split-layout, .setup-types { grid-template-columns: 1fr; }
	.principle-grid > div { padding: 1.25rem; }
	.equipment-grid section { min-height: 0; }
	.callout { margin-bottom: 3rem; padding: 1.3rem; }
	.table-scroll { margin-right: -1rem; border-right: 0; }
	.preflight ul { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr; gap: 2.25rem; }
	.retailer-grid { grid-template-columns: 1fr; gap: 2.25rem; }
	.legal-modal { max-height: calc(100dvh - 2rem); }
	.legal-modal-inner { max-height: calc(100dvh - 2rem); }
}

@media (max-width: 380px) {
	.brand { font-size: .88rem; }
	.header-inner nav { display: none; }
	.movement-list { grid-template-columns: 1fr; }
	.callout { gap: .8rem; }
	.footer-bottom { margin-top: 2.5rem; }
	.footer-legal { flex-direction: column; align-items: flex-start; }
	.legal-modal-header, .legal-modal-content { padding-inline: 1rem; }
	.legal-modal-actions { padding: .9rem 1rem 1rem; }
	.legal-modal-content { font-size: .95rem; }
}

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