@font-face {
    font-family:Inter;
    src:url('../fonts/inter-400.woff2') format('woff2');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:Inter;
    src:url('../fonts/inter-600.woff2') format('woff2');
    font-weight:600;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:'Barlow Condensed';
    src:url('../fonts/barlow-condensed-700.woff2') format('woff2');
    font-weight:700;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:Rajdhani;
    src:url('../fonts/rajdhani-600.woff2') format('woff2');
    font-weight:600;
    font-style:normal;
    font-display:swap;
}

:root {
    --color-primary:#c40000;
    --color-secondary:#1f1f1f;
    --color-accent:#f2b100;
    --color-text:#171717;
    --color-text-light:#595959;
    --color-background:#fff;
    --color-surface:#f3f3f3;
    --color-border:#d7d7d7;
    --color-success:#246630;
    --color-info:#165575;
    --color-warning:#785300;
    --color-error:#b00000;
    --font-primary:Inter,Arial,sans-serif;
    --font-secondary:'Barlow Condensed',Impact,sans-serif;
    --container-width:144rem;
    --border-radius:.3rem;
    --section-spacing:6.4rem;
    --space-xs:.8rem;
    --space-sm:1.6rem;
    --space-md:2.4rem;
    --space-lg:4rem;
    --space-xl:6.4rem;
}

*,*::before,*::after {
    box-sizing:border-box;
}

html {
    font-size:62.5%;
    scroll-padding-top:10rem;
}

body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure {
    margin:0;
}

body {
    font-family:var(--font-primary);
    font-size:1.6rem;
    line-height:1.65;
    color:var(--color-text);
    background:var(--color-background);
    overflow-wrap:break-word;
}

img,picture,svg {
    display:block;
    max-width:100%;
}

img {
    height:auto;
}

button,input,select,textarea {
    font:inherit;
}

button,a,input,select,textarea {
    -webkit-tap-highlight-color:transparent;
}

button {
    cursor:pointer;
}

a {
    color:inherit;
    text-underline-offset:.35rem;
}

button {
    border:0;
}

input,select,textarea {
    min-width:0;
}

ul,ol {
    padding-left:2.2rem;
}

h1,h2,h3,h4 {
    font-family:var(--font-secondary);
    font-weight:700;
    line-height:1.08;
    text-wrap:balance;
}

h1 {
    font-size:4.6rem;
    max-width:105rem;
    letter-spacing:-.04rem;
}

h2 {
    font-size:3.6rem;
    margin-bottom:2rem;
}

h3 {
    font-size:2.7rem;
    margin-bottom:1.2rem;
}

p+p {
    margin-top:1.5rem;
}

strong {
    font-weight:600;
}

svg {
    width:2.4rem;
    height:2.4rem;
    flex-shrink:0;
}

:focus-visible {
    outline:.3rem solid #1666c1;
    outline-offset:.5rem;
}

::selection {
    background:#f8d265;
    color:#171717;
}

.container {
    width:min(calc(100% - 4rem),var(--container-width));
    margin-inline:auto;
}

.section {
    padding-block:var(--section-spacing);
}

.skip-link {
    position:fixed;
    left:2rem;
    top:1rem;
    padding:1rem 2rem;
    background:#fff;
    z-index:100;
    transform:translateY(-200%);
}

.skip-link:focus {
    transform:translateY(0);
}

.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:1.8rem;
    min-height:4.8rem;
    padding:1.2rem 2rem;
    background:var(--color-primary);
    color:#fff;
    text-decoration:none;
    font-weight:600;
    font-size:1.4rem;
    border:.1rem solid transparent;
    border-radius:var(--border-radius);
    transition:background .2s;
}

.button:hover {
    background:#980000;
}

.button svg {
    width:2rem;
    transition:transform .2s;
}

.button:hover svg {
    transform:translateX(.4rem);
}

.button-secondary {
    background:transparent;
    color:var(--color-text);
    border-color:currentColor;
}

.button-secondary:hover {
    background:var(--color-secondary);
    color:#fff;
}

.site-header {
    background:#fff;
    position:sticky;
    top:0;
    z-index:30;
    box-shadow:0 .1rem 0 #00000018;
}

.header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1.6rem;
    padding-block:1.2rem;
}

.brand {
    width:10rem;
    flex-shrink:0;
}

.brand img {
    width:100%;
    height:auto;
}

.site-nav {
    width:100%;
    display:flex;
    flex-direction:column;
    gap:.3rem;
    padding-block:1rem;
}

.site-nav>a:not(.button) {
    padding:1rem 0;
    font-size:1.4rem;
    font-weight:600;
    text-decoration:none;
}

.site-nav>a:hover,.site-nav>a[aria-current] {
    color:var(--color-primary);
}

.site-nav>.button:hover {
    color:#fff;
}

.nav-toggle {
    display:none;
    background:transparent;
    align-items:center;
    gap:1.2rem;
    min-height:4.8rem;
    padding:1rem 0 1rem 1.5rem;
}

.nav-toggle-label {
    font-size:1.3rem;
    font-weight:600;
}

.nav-toggle-bars {
    width:2.4rem;
    height:1.6rem;
    border-block:.2rem solid;
    position:relative;
}

.nav-toggle-bars::before {
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:.5rem;
    border-top:.2rem solid;
}

.nav-toggle {
    display:flex;
}

.site-nav {
    display:none;
    max-height:calc(100dvh - 12rem);
    overflow-y:auto;
    overscroll-behavior:contain;
}

.site-nav.is-open {
    display:flex;
}

.solutions-toggle {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    min-height:4.8rem;
    padding:1rem 0;
    list-style:none;
    cursor:pointer;
    font-size:1.4rem;
    font-weight:600;
}

.solutions-toggle::-webkit-details-marker { display:none; }
.solutions-toggle:hover,.solutions-toggle.is-current,.nav-solutions[open]>.solutions-toggle { color:var(--color-primary); }
.solutions-chevron { width:.7rem;height:.7rem;border-right:.15rem solid;border-bottom:.15rem solid;transform:rotate(45deg);margin-bottom:.4rem;margin-right:.3rem; }
.nav-solutions[open] .solutions-chevron { transform:rotate(225deg);margin-bottom:0; }
.solutions-menu { padding:1.6rem .6rem;background:#fff;border-top:.3rem solid var(--color-primary); }
.solutions-heading { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;margin-bottom:1.6rem; }
.solutions-eyebrow { font-family:Rajdhani,Arial,sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:.16rem;color:var(--color-text-light); }
.solutions-heading p { font-family:var(--font-secondary);font-size:2.8rem;line-height:1.15;margin-top:.3rem; }
.solutions-heading>a { display:inline-flex;align-items:center;gap:.8rem;font-size:1.3rem;font-weight:600;text-decoration:none;min-height:4.4rem; }
.solutions-heading>a:hover { color:var(--color-primary);text-decoration:underline; }
.solutions-grid { list-style:none;padding:0;display:grid;gap:1.2rem; }
.solutions-grid li { min-width:0; }
.solution-link { display:grid;grid-template-columns:8.8rem 1fr;gap:1.2rem;align-items:center;height:100%;padding:.6rem;text-decoration:none;border:.1rem solid var(--color-border);transition:background .2s,border-color .2s; }
.solution-link:hover,.solution-link[aria-current] { border-color:var(--color-primary);background:#fff7f5; }
.solution-photo { display:block;height:8.8rem;background:#f4f4f2; }
.solution-photo img { width:100%;height:100%;object-fit:contain; }
.solution-copy { display:block;min-width:0; }
.solution-name { display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-family:var(--font-secondary);font-size:2.2rem;line-height:1.1; }
.solution-name svg { width:1.7rem;height:1.7rem;color:var(--color-primary); }
.solution-description { display:block;margin-top:.6rem;font-size:1.2rem;line-height:1.5;color:var(--color-text-light); }
.solutions-footer { display:flex;flex-direction:column;gap:1.6rem;margin-top:2rem;padding:1.6rem;background:var(--color-surface);border-left:.3rem solid var(--color-accent); }
.solutions-builder { display:flex;align-items:center;gap:1rem;min-height:4.4rem;font-weight:600;font-size:1.4rem;text-decoration:none; }
.solutions-builder>svg:first-child { color:var(--color-primary); }
.solutions-builder>span>span { display:block;font-size:1.2rem;font-weight:400;color:var(--color-text-light); }
.solutions-builder:hover { color:var(--color-primary); }
.solutions-contact { display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem; }
.solutions-contact>a:not(.button) { display:flex;align-items:center;gap:.8rem;min-height:4.4rem;font-size:1.3rem;text-decoration:none; }
.solutions-contact>a:not(.button):hover { color:var(--color-primary);text-decoration:underline; }

@media(min-width:768px) {
    .solutions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(min-width:1024px) {
    .solutions-toggle { padding-block:1.4rem;white-space:nowrap; }
    .solutions-menu { position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(calc(100% - 4rem),136rem);max-height:calc(100dvh - 10rem);overflow-y:auto;overscroll-behavior:contain;padding:2rem;background:#fff;box-shadow:0 1.6rem 3.2rem #17202c24;border-inline:.1rem solid var(--color-border);border-bottom:.1rem solid var(--color-border); }
    .solutions-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem; }
    .solution-link { grid-template-columns:1fr;gap:0;align-content:start;padding:0; }
    .solution-photo { height:9rem; }
    .solution-copy { padding:1.2rem; }
    .solution-name { font-size:2.4rem; }
    .solutions-heading { margin-bottom:1.8rem; }
    .solutions-footer { flex-direction:row;align-items:center;justify-content:space-between;gap:2rem; }
}

.reading-progress {
    display:none;
    position:absolute;
    bottom:-.2rem;
    left:0;
    width:100%;
    height:.2rem;
    appearance:none;
    border:0;
    background:transparent;
    color:var(--color-primary);
}

.js .reading-progress {
    display:block;
}

.reading-progress::-webkit-progress-bar {
    background:transparent;
}

.reading-progress::-webkit-progress-value {
    background:var(--color-primary);
}

.reading-progress::-moz-progress-bar {
    background:var(--color-primary);
}

.home-intro {
    padding-block:3.4rem 2.8rem;
}

.home-intro h1 {
    font-size:4.2rem;
}

.home-intro h1 span {
    color:var(--color-primary);
}

.home-intro p {
    max-width:120rem;
    margin-top:1.8rem;
    color:var(--color-text-light);
    font-size:1.7rem;
}

.home-hero {
    position:relative;
    background:#303130;
    max-width:192rem;
    margin-inline:auto;
}

.home-hero picture {
    height:30rem;
    overflow:hidden;
}

.home-hero img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 48%;
}

.hero-action {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    position:relative;
    background:var(--color-primary);
    color:#fff;
    padding:2rem;
    text-decoration:none;
    font-family:var(--font-secondary);
    font-size:2.6rem;
    line-height:1.1;
}

.hero-action::before {
    content:'';
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:.6rem;
    background:var(--color-accent);
}

.hero-action svg {
    width:3.2rem;
    height:3.2rem;
    transition:transform .2s;
}

.hero-action:hover svg {
    transform:translateX(.5rem);
}

.hero-action:hover {
    background:#a90000;
}

.facts-bar {
    background:var(--color-surface);
    padding-block:2rem;
    font-family:Rajdhani,var(--font-primary);
    font-size:1.8rem;
    font-weight:600;
}

.home-facts {
    padding:0;
    background:white;
    border-bottom:.1rem solid var(--color-border);
}

.fact-list {
    list-style:none;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
}

.fact-list li {
    display:flex;
    align-items:center;
    gap:1.2rem;
    padding:2rem 1rem 2rem 0;
    line-height:1.2;
}

.fact-list svg {
    width:2.8rem;
    height:2.8rem;
}

.fact-list span {
    display:block;
    font-family:Inter,sans-serif;
    font-weight:400;
    font-size:1.2rem;
    margin-top:.5rem;
    color:var(--color-text-light);
}

.section-heading {
    display:flex;
    gap:2rem;
    justify-content:space-between;
    align-items:end;
    margin-bottom:2.8rem;
    flex-wrap:wrap;
}

.section-heading h2 {
    margin-bottom:0;
}

.section-heading p {
    max-width:48rem;
    color:var(--color-text-light);
}

.family-mosaic {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
}

.family-tile {
    position:relative;
    display:block;
    overflow:hidden;
    background:var(--color-surface);
    min-height:20rem;
    text-decoration:none;
}

.family-tile picture,.family-tile img {
    height:100%;
    width:100%;
    object-fit:cover;
}

.family-tile picture {
    position:absolute;
    inset:0;
}

.family-tile span {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.4rem;
    background:#171717;
    font-family:var(--font-secondary);
    font-size:2.3rem;
    line-height:1.1;
    color:#fff;
}

.family-tile svg {
    width:1.8rem;
    height:1.8rem;
    transition:transform .2s;
}

.family-tile:hover svg {
    transform:translateX(.4rem);
}

.family-tile:hover span {
    background:var(--color-primary);
}

.family-tile-major {
    grid-column:span 2;
    min-height:27rem;
}

.family-extras {
    display:grid;
    gap:1rem;
    margin-top:1rem;
}

.family-extras .family-tile {
    min-height:23rem;
}

.family-extras .family-tile img {
    object-position:center 42%;
}

.family-extras .tile-chariots img {
    object-fit:contain;
    background:white;
    padding:1rem 0 4rem;
}

.advice-section {
    background:var(--color-surface);
}

.advice-grid {
    display:grid;
    gap:3.2rem;
}

.advice-photo img {
    width:100%;
    height:30rem;
    object-fit:cover;
}

.preparation-list {
    margin-block:2rem;
    list-style:none;
    padding:0;
    counter-reset:prepare;
}

.preparation-list>li {
    position:relative;
    padding:1.8rem 0 1.8rem 4.8rem;
    border-top:.1rem solid var(--color-border);
    counter-increment:prepare;
}

.preparation-list>li::before {
    content:'0' counter(prepare);
    font-family:Rajdhani,sans-serif;
    font-weight:600;
    font-size:2.2rem;
    position:absolute;
    left:0;
    top:1.5rem;
    color:var(--color-primary);
}

.preparation-list h3 {
    font-size:2.5rem;
    margin-bottom:.5rem;
}

.preparation-list p {
    color:var(--color-text-light);
    font-size:1.5rem;
}

.related-link {
    display:block;
    width:fit-content;
    margin-top:1.5rem;
    font-weight:600;
    color:var(--color-primary);
    text-decoration-thickness:.1rem;
}

.related-link:hover {
    text-decoration-thickness:.2rem;
}

.guide-links {
    display:grid;
    gap:0;
    border-top:.1rem solid var(--color-border);
    margin-top:3rem;
}

.guide-links a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    padding:1.8rem 0;
    border-bottom:.1rem solid var(--color-border);
    font-weight:600;
    text-decoration:none;
}

.guide-links a:hover {
    color:var(--color-primary);
}

.quote-band {
    position:relative;
    background:var(--color-primary);
    color:#fff;
    padding-block:4.5rem;
    overflow:hidden;
}

.quote-band::after {
    display:none;
    content:'';
    position:absolute;
    right:-5rem;
    top:0;
    bottom:0;
    width:9rem;
    background:var(--color-accent);
    transform:skew(-30deg);
    opacity:.95;
}

.quote-band>.container {
    position:relative;
    z-index:1;
    padding-right:2rem;
}

.quote-band h2 {
    max-width:90rem;
    margin-bottom:1.2rem;
}

.quote-band p {
    max-width:80rem;
}

.quote-band .button {
    background:#fff;
    color:var(--color-primary);
    margin-top:2.4rem;
}

.quote-band .button:hover {
    background:#ffe49a;
    color:#171717;
}

.home-quote h2 {
    font-size:4rem;
}

.site-footer {
    background:#171717;
    color:#fff;
    padding-top:4rem;
}

.footer-main {
    display:grid;
    gap:3rem;
    padding-bottom:3.5rem;
}

.footer-brand>a {
    font-family:var(--font-secondary);
    font-size:3.8rem;
    letter-spacing:.12rem;
    text-decoration:none;
}

.footer-brand p {
    font-size:1.4rem;
    color:#c7c7c7;
    margin-top:.6rem;
}

.footer-contact {
    display:flex;
    flex-direction:column;
    gap:1.2rem;
    font-size:1.4rem;
}

.footer-contact a,.footer-contact p {
    display:flex;
    align-items:start;
    gap:1rem;
    margin:0;
}

.footer-contact svg {
    width:1.9rem;
    height:1.9rem;
    margin-top:.2rem;
    color:var(--color-accent);
}

.footer-contact a {
    text-decoration:none;
}

.footer-contact a:hover {
    text-decoration:underline;
}

.footer-nav {
    display:flex;
    flex-wrap:wrap;
    gap:1.2rem 2.4rem;
    font-size:1.4rem;
}

.footer-nav a {
    text-decoration:none;
}

.footer-nav a:hover {
    text-decoration:underline;
}

.footer-bottom {
    display:flex;
    flex-wrap:wrap;
    gap:1rem 2.4rem;
    border-top:.1rem solid #ffffff30;
    padding-block:2rem;
    color:#d1d1d1;
    font-size:1.2rem;
}

.footer-bottom a {
    text-decoration:none;
}

.footer-bottom a:hover {
    text-decoration:underline;
}

.footer-bottom p {
    width:100%;
}

.breadcrumbs {
    margin-bottom:2.6rem;
    font-size:1.2rem;
    color:var(--color-text-light);
}

.breadcrumbs ol {
    list-style:none;
    padding:0;
    display:flex;
    gap:.7rem 1rem;
    flex-wrap:wrap;
}

.breadcrumbs li+li::before {
    content:'/';
    margin-right:1rem;
    color:#767676;
}

.breadcrumbs a {
    text-decoration:none;
}

.breadcrumbs a:hover {
    text-decoration:underline;
}

.page-intro {
    padding-block:2.8rem 3.5rem;
}

.page-intro h1 {
    margin-bottom:2rem;
}

.page-lead {
    max-width:88rem;
    font-size:1.8rem;
    color:var(--color-text-light);
}

.page-intro .button {
    margin-top:2.4rem;
}

.page-photo {
    display:block;
    min-width:0;
}

.page-photo picture {
    display:block;
}

.page-photo img {
    width:100%;
    height:34rem;
    object-fit:contain;
    background:var(--color-surface);
}

figure.page-photo {
    padding-bottom:2.4rem;
}

figcaption {
    font-size:1.2rem;
    color:var(--color-text-light);
    margin-top:.9rem;
    line-height:1.5;
}

.editorial-grid {
    display:grid;
    gap:3.5rem;
    align-items:start;
}

.editorial-copy {
    max-width:78rem;
}

.editorial-copy p a,.section p a {
    color:var(--color-primary);
}

.editorial-grid p+ul {
    margin-top:1.6rem;
}

.section+.section {
    border-top:.1rem solid #e8e8e8;
}

.table-scroll {
    max-width:100%;
    overflow-x:auto;
    margin-bottom:2rem;
}

.specification-table {
    border-collapse:collapse;
    width:100%;
    font-size:1.5rem;
}

.specification-table caption {
    text-align:left;
    font-size:1.2rem;
    color:var(--color-text-light);
    margin-bottom:1.2rem;
}

.specification-table th,.specification-table td {
    padding:1.3rem;
    text-align:left;
    border-bottom:.1rem solid var(--color-border);
    vertical-align:top;
}

.specification-table thead {
    background:var(--color-secondary);
    color:#fff;
}

.specification-table tbody th {
    font-weight:600;
}

.specification-table tbody tr:nth-child(even) {
    background:var(--color-surface);
}

.question-list dt {
    font-family:var(--font-secondary);
    font-size:2.6rem;
    line-height:1.2;
    margin-top:2.8rem;
    margin-bottom:1rem;
}

.question-list dd {
    max-width:90rem;
}

.related-grid {
    display:grid;
    gap:3.2rem;
    margin-top:3rem;
}

.related-grid article {
    padding-bottom:2.4rem;
    border-bottom:.1rem solid var(--color-border);
}

.related-grid .page-photo {
    margin-bottom:2rem;
}

.related-grid .page-photo img {
    height:24rem;
    object-fit:contain;
}

.related-grid p {
    font-size:1.5rem;
}

.related-grid h3 {
    font-size:2.9rem;
}

.page-legal .editorial-copy h2 {
    margin-top:3.8rem;
}

.page-legal .editorial-copy h2:first-child {
    margin-top:0;
}

.page-legal li+li {
    margin-top:.7rem;
}

.page-legal .editorial-copy {
    max-width:94rem;
}

.about-photo img {
    object-fit:cover;
}

.contact-layout {
    display:grid;
    gap:4rem;
}

.contact-details {
    display:flex;
    flex-direction:column;
    gap:2.2rem;
}

.contact-details>a {
    display:flex;
    align-items:center;
    gap:1.4rem;
    font-family:var(--font-secondary);
    font-size:2.8rem;
    text-decoration:none;
}

.contact-details>a:hover {
    color:var(--color-primary);
}

.contact-details>a svg {
    color:var(--color-primary);
}

.contact-address {
    border-top:.1rem solid var(--color-border);
    padding-top:2.4rem;
    font-style:normal;
}

.contact-address strong {
    display:block;
}

.preview-note {
    background:#fff4d6;
    border-left:.4rem solid var(--color-accent);
    padding:1.6rem;
    margin-bottom:2.4rem;
    font-size:1.4rem;
}

.contact-form {
    display:grid;
    gap:2rem;
}

.field {
    display:flex;
    flex-direction:column;
    gap:.6rem;
}

.field label {
    font-size:1.4rem;
    font-weight:600;
}

.field label span {
    font-weight:400;
    color:var(--color-text-light);
}

.field input,.field select,.field textarea {
    width:100%;
    padding:1.2rem;
    border:.1rem solid #929292;
    border-radius:var(--border-radius);
    background:#fff;
    color:var(--color-text);
    min-height:4.8rem;
}

.field textarea {
    resize:vertical;
    min-height:14rem;
}

.field input:user-invalid,.field textarea:user-invalid {
    border-color:var(--color-error);
}

.contact-form button:disabled {
    background:#dedede;
    color:#555;
    cursor:not-allowed;
    border-color:#aaa;
}

.form-note {
    font-size:1.3rem;
    color:var(--color-text-light);
}

.error-page .page-intro {
    min-height:55vh;
    padding-block:6rem;
}

.error-page h1 {
    margin-bottom:2rem;
}

@media(min-width:480px) {
    .container {
        width:min(calc(100% - 5.6rem),var(--container-width));
    }
    .home-hero picture {
        height:36rem;
    }
    .family-extras {
        grid-template-columns:1fr 1fr;
    }
    .home-intro h1 {
        font-size:4.6rem;
    }
    .hero-action {
        padding:2rem 2.8rem;
    }
}

@media(min-width:768px) {
    :root {
        --section-spacing:7.2rem;
    }
    h1 {
        font-size:6.4rem;
    }
    h2 {
        font-size:4.2rem;
    }
    .home-intro {
        padding-block:4.2rem 3.5rem;
    }
    .home-intro h1 {
        font-size:5.2rem;
    }
    .home-intro p {
        font-size:1.8rem;
    }
    .hero-action {
        position:absolute;
        bottom:0;
        right:0;
        min-width:36rem;
        font-size:3rem;
        padding:2.6rem 3.6rem;
    }
    .hero-action::before {
        left:-1.2rem;
        width:2.4rem;
        transform:skew(-24deg);
    }
    .fact-list {
        grid-template-columns:repeat(4,1fr);
    }
    .fact-list li {
        padding-block:2.6rem;
        padding-right:1.5rem;
    }
    .fact-list li+li {
        border-left:.1rem solid var(--color-border);
        padding-left:1.8rem;
    }
    .family-mosaic {
        gap:1.6rem;
        grid-template-columns:1.35fr 1fr 1.35fr 1fr;
        grid-template-rows:18rem 18rem;
    }
    .family-tile {
        min-height:0;
    }
    .family-tile-major {
        grid-column:auto;
        grid-row:span 2;
    }
    .tile-industriel {
        grid-column:1;
        grid-row:1/span 2;
    }
    .tile-archives {
        grid-column:2;
        grid-row:1;
    }
    .tile-pneus {
        grid-column:2;
        grid-row:2;
    }
    .tile-palettes {
        grid-column:3;
        grid-row:1/span 2;
    }
    .tile-showroom {
        grid-column:4;
        grid-row:1;
    }
    .tile-textile {
        grid-column:4;
        grid-row:2;
    }
    .family-tile span {
        font-size:2.4rem;
    }
    .family-extras {
        grid-template-columns:repeat(2,1fr);
        gap:1.6rem;
        margin-top:1.6rem;
    }
    .family-extras .family-tile:last-child {
        grid-column:auto;
    }
    .advice-grid {
        grid-template-columns:1fr 1fr;
        align-items:center;
        gap:4rem;
    }
    .advice-photo,.advice-photo img {
        height:100%;
        min-height:46rem;
    }
    .guide-links {
        grid-template-columns:1fr 1fr;
        column-gap:4rem;
    }
    .footer-main {
        grid-template-columns:1fr 1.6fr;
    }
    .footer-nav {
        grid-column:span 2;
    }
    .footer-bottom p {
        width:auto;
        margin-right:auto;
    }
    .related-grid {
        grid-template-columns:1fr 1fr;
    }
    .page-photo img {
        height:44rem;
    }
    .contact-form {
        grid-template-columns:1fr 1fr;
    }
    .field-wide,.contact-form>.form-note,.contact-form>button {
        grid-column:span 2;
    }
    .home-quote h2 {
        font-size:5rem;
    }
    .page-intro {
        padding-block:3.2rem 4.5rem;
    }
}

@media(min-width:920px) {
    .editorial-grid {
        grid-template-columns:1fr 1fr;
        gap:5rem;
    }
    .editorial-grid .page-photo img {
        height:42rem;
    }
    .contact-layout {
        grid-template-columns:.8fr 1.2fr;
        gap:7rem;
    }
    .home-intro h1 {
        font-size:5.4rem;
    }
    .home-intro h1 span {
        display:inline;
    }
    .home-hero picture {
        height:44rem;
    }
    .home-quote .container {
        padding-right:20rem;
    }
    .quote-band::after {
        display:block;
        right:2rem;
        width:6rem;
    }
}

@media(min-width:1024px) {
    .header-inner {
        flex-wrap:nowrap;
        padding-block:1.4rem;
    }
    .brand {
        width:10.5rem;
    }
    .nav-toggle {
        display:none;
    }
    .site-nav,.js .site-nav,.js .site-nav.is-open {
        width:auto;
        display:flex;
        flex-direction:row;
        align-items:center;
        gap:2.4rem;
        padding:0;
        max-height:none;
        overflow:visible;
    }
    .site-nav>a:not(.button) {
        padding-block:1.4rem;
    }
    .site-nav>.button {
        margin-left:.8rem;
    }
    .footer-main {
        grid-template-columns:1fr 1.6fr .7fr;
    }
    .footer-nav {
        grid-column:auto;
        flex-direction:column;
        gap:.7rem;
    }
    .home-hero picture {
        height:46rem;
    }
    .related-grid {
        gap:4rem;
    }
}

@media(min-width:1280px) {
    .container {
        width:min(calc(100% - 10rem),var(--container-width));
    }
    .home-intro {
        padding-block:4.8rem 3.8rem;
    }
    .home-intro h1 {
        font-size:6.4rem;
        max-width:none;
    }
    .home-hero picture {
        height:49rem;
    }
    .hero-action {
        right:max(5rem,calc((100vw - var(--container-width))/2));
        min-width:43rem;
    }
    .family-mosaic {
        grid-template-rows:21rem 21rem;
    }
    .family-tile span {
        font-size:2.8rem;
        padding:1.6rem;
    }
    .family-extras .family-tile {
        min-height:26rem;
    }
    .advice-grid {
        gap:7rem;
    }
    .fact-list li {
        gap:2rem;
        font-size:2rem;
    }
    .fact-list span {
        font-size:1.3rem;
    }
    .fact-list li+li {
        padding-left:3rem;
    }
    .page-intro h1 {
        font-size:7.2rem;
    }
    .page-catalogue .related-grid {
        grid-template-columns:repeat(3,1fr);
    }
}

@media(min-width:1600px) {
    .home-hero picture {
        height:54rem;
    }
    .hero-action {
        right:calc((100% - var(--container-width))/2);
    }
    .home-intro {
        padding-top:5.6rem;
    }
    .home-intro h1 {
        font-size:6.8rem;
    }
}

@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation:none;
        scroll-behavior:auto;
    }
    .button,.button svg,.hero-action svg,.family-tile svg {
        transition:none;
    }
    .button:hover svg,.hero-action:hover svg,.family-tile:hover svg {
        transform:none;
    }
    .reading-progress {
        display:none;
    }
    .js .reading-progress {
        display:none;
    }
}

.table-scroll.is-scrollable::before {
    content:"Faites défiler le tableau horizontalement →";
    display:block;
    position:sticky;
    left:0;
    font-size:1.2rem;
    color:var(--color-text-light);
    padding-bottom:1rem;
    background:var(--color-background);
}

.page-legal p+h3 {
    margin-top:2rem;
}

.home-page #solutions-title::after {
    content:'';
    display:block;
    width:4.5rem;
    height:.3rem;
    margin-top:1.4rem;
    background:var(--color-primary);
}

.quote-band a:focus-visible {
    outline-color:#fff;
}

.quote-photo {
    display:none;
}

@media(min-width:768px) {
    .home-page .section {
        padding-block:3.6rem;
    }
    .home-intro {
        padding-block:2.4rem 2rem;
    }
    .home-intro p {
        margin-top:1.2rem;
        font-size:1.6rem;
    }
    .home-hero picture {
        height:35rem;
    }
    .home-facts .fact-list li {
        padding-block:1.8rem;
    }
    .home-page .family-mosaic {
        grid-template-rows:15rem 15rem;
    }
    .home-page .family-extras .family-tile {
        min-height:19rem;
    }
    .home-page .advice-photo,.home-page .advice-photo img {
        min-height:30rem;
    }
    .home-page .advice-grid {
        gap:3.2rem;
    }
    .home-page .guide-links {
        margin-top:1.4rem;
    }
    .home-page .section-heading {
        margin-bottom:2rem;
    }
    .home-quote {
        padding-block:3rem;
    }
    .home-quote h2 {
        font-size:4.2rem;
    }
}

@media(min-width:920px) {
    .home-page .preparation-list {
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:1.4rem;
    }
    .home-page .preparation-list>li {
        padding:4rem 0 0;
        border-top:0;
    }
    .home-page .preparation-list>li+li {
        border-left:.1rem solid var(--color-border);
        padding-left:1.4rem;
    }
    .home-page .preparation-list>li::before {
        top:0;
        left:0;
    }
    .home-page .preparation-list>li+li::before {
        left:1.4rem;
    }
    .home-page .preparation-list h3 {
        font-size:2.2rem;
    }
    .home-page .preparation-list p {
        font-size:1.3rem;
    }
    .home-quote .container {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:3rem;
        padding-right:17rem;
    }
    .home-quote .container>div {
        max-width:80rem;
    }
    .home-quote .button {
        flex-shrink:0;
        margin-top:0;
    }
    .home-quote .quote-photo {
        display:block;
        position:absolute;
        right:0;
        top:0;
        bottom:0;
        width:18rem;
        mix-blend-mode:multiply;
    }
    .quote-photo img {
        height:100%;
        width:100%;
        object-fit:cover;
    }
    .home-quote::after {
        right:16rem;
        width:3.2rem;
        z-index:1;
    }
    .home-quote h2 {
        font-size:3.8rem;
    }
    .home-quote p {
        font-size:1.4rem;
    }
}

@media(min-width:1280px) {
    .home-hero picture {
        height:40rem;
    }
    .home-page .family-mosaic {
        grid-template-rows:18rem 18rem;
    }
    .home-page .family-extras .family-tile {
        min-height:23rem;
    }
    .home-intro h1 {
        font-size:6.2rem;
    }
    .home-page .advice-grid {
        gap:5rem;
    }
    .home-page .preparation-list h3 {
        font-size:2.6rem;
    }
    .home-page .preparation-list p {
        font-size:1.4rem;
    }
}

@media(min-width:1600px) {
    .home-hero picture {
        height:44rem;
    }
}

.home-page .preparation-list>li::before {
    display:none;
}

.home-page .preparation-list>li>svg {
    position:absolute;
    left:0;
    top:2rem;
    width:3rem;
    height:3rem;
}

@media(min-width:920px) {
    .home-page .preparation-list>li>svg {
        top:0;
    }
    .home-page .preparation-list>li+li>svg {
        left:1.4rem;
    }
}
