/*
Theme Name: Tawashi — GeneratePress Child
Theme URI: https://tawashi.co.uk/
Description: Full-width GeneratePress supporting-site theme for Tawashi.co.uk.
Author: Smiley Starfish
Template: generatepress
Version: 0.1.11
Text Domain: tawashi-gp
*/

/* Tawashi-only design system. GeneratePress supplies the WordPress shell. */
:root {
  --tw-brown: #6c370f;
  --tw-brown-deep: #4b250b;
  --tw-green: #739a4b;
  --tw-green-deep: #557737;
  --tw-cream: #fcf5ed;
  --tw-sand: #efe2d2;
  --tw-leaf: #edf3e7;
  --tw-charcoal: #2d2925;
  --tw-muted: #675f58;
  --tw-white: #ffffff;
  --tw-line: rgba(108, 55, 15, .16);
  --tw-shadow: 0 14px 34px rgba(75, 37, 11, .10);
  --tw-radius: 16px;
  --tw-wrap: 1360px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--tw-cream); color: var(--tw-charcoal); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
img { max-width: 100%; height: auto; }
/* Static pages have precisely one content owner: the child page.php. */
body.page #page.grid-container, body.page .site.grid-container,
body.page #content.site-content, body.page #primary.content-area,
body.page .site-main { width:100%; max-width:none; float:none; margin:0; padding:0; }
body.page .widget-area, body.page .entry-header, body.page .page-header { display:none; }
body.page .site-content { display:block; }

/* Shared header: WordPress owns Primary menu and Site Identity/logo width.
   One adaptive flex allocation lets a 600px configured logo fit at full desktop
   width; the WordPress 3x2 menu gives up its formerly excessive 770px share.
   At narrower widths both flex items yield space without clipping.
   The mobile menu is the existing disclosure backed by the same WP menu. */
.tw-site-header { position:relative; z-index:20; background:#fffdf9; border-bottom:1px solid var(--tw-line); }
.tw-site-header__inner { width:min(calc(100% - 42px), 1320px); min-height:104px; margin:auto; padding:8px 0; display:flex; align-items:center; justify-content:space-between; gap:clamp(14px, 1.8vw, 26px); }
.tw-site-header__brand { display:block; flex:0 1 auto; width:auto; max-width:600px; min-width:0; }
.tw-site-header__brand img { display:block; width:auto; max-width:100%; height:auto; object-fit:contain; }
.tw-site-header__text-logo { display:block; font-size:clamp(20px,3vw,32px); font-weight:800; line-height:1.2; color:var(--tw-brown); }
.tw-nav { margin-left:auto; min-width:0; }
.tw-desktop-nav { flex:1 1 560px; min-width:0; max-width:610px; }
.tw-desktop-nav .tw-nav-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:4px 5px; margin:0; padding:0; list-style:none; }
.tw-nav-list li { margin:0; min-width:0; list-style:none; }
.tw-desktop-nav .tw-nav-list li { display:flex; }
.tw-nav-list a { display:flex; align-items:center; justify-content:center; min-height:42px; padding:9px 5px; color:var(--tw-brown-deep); font-size:clamp(11px,.85vw,12px); font-weight:800; line-height:1.25; text-align:center; text-decoration:none; transition:background-color .15s,color .15s; }
.tw-desktop-nav .tw-nav-list a { width:100%; }
.tw-nav-list a:hover, .tw-nav-list a:focus-visible, .tw-nav-list .current-menu-item > a { color:var(--tw-green-deep); background:var(--tw-leaf); }
.tw-nav-list .tw-menu-buy > a { border-radius:6px; background:var(--tw-brown); color:#fff; padding-inline:12px; }
.tw-nav-list .tw-menu-buy > a:hover, .tw-nav-list .tw-menu-buy > a:focus-visible { background:var(--tw-green-deep); color:#fff; }
.tw-mobile-menu { display:none; }
.tw-site-header a:focus-visible, .tw-mobile-menu summary:focus-visible { outline:3px solid var(--tw-green); outline-offset:3px; }
/* Hide GeneratePress's independent navigation renderer: the custom header owns the one menu. */
#site-navigation { display:none; }

/* Child theme outputs exactly one footer via the native GeneratePress footer hook. */
.site-footer { background:var(--tw-brown-deep); color:#fff; }
.tw-site-footer { display:flex; align-items:center; justify-content:space-between; gap:12px 28px; width:min(calc(100% - 42px), 1320px); margin:auto; padding:21px 0; font-size:13px; }
.tw-site-footer__copy { margin:0; font-weight:700; }
.tw-site-footer__links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px 18px; }
.tw-site-footer a { color:#fff; text-decoration:none; }
.tw-site-footer a:hover, .tw-site-footer a:focus-visible { color:#dce8d0; text-decoration:underline; text-underline-offset:3px; }

/* Existing Tawashi page components, carried from the approved live child theme. */
/* =========================================================
   TAWASHI GLOBAL PAGE SYSTEM
   ========================================================= */

.tw-page {
    overflow: hidden;
    margin: 0;
    color: var(--tw-charcoal);
    font-size: 16px;
    line-height: 1.64;
}

.tw-wrap {
    width: min(var(--tw-wrap), calc(100% - 36px));
    margin-right: auto;
    margin-left: auto;
}

.tw-section {
    position: relative;
    padding: clamp(62px, 6.4vw, 88px) 0;
}

/* Every section is already full-width; no viewport-offset hacks. */

.tw-section--cream {
    background:
        radial-gradient(circle at 86% 14%, rgba(115, 154, 75, .13), transparent 25%),
        linear-gradient(135deg, #fcf5ed 0%, #fffaf5 100%);
}

.tw-section--leaf {
    background:
        radial-gradient(circle at 12% 18%, rgba(108, 55, 15, .07), transparent 26%),
        linear-gradient(135deg, #edf3e7 0%, #f6f8f1 100%);
}

.tw-section--sand {
    background:
        radial-gradient(circle at 88% 80%, rgba(115, 154, 75, .10), transparent 28%),
        linear-gradient(135deg, #efe2d2 0%, #f8eee4 100%);
}

/* All opening sections share the same top baseline, regardless of page copy. */
.tw-page > .tw-section:first-child {
    padding-top: clamp(44px, 4.8vw, 64px);
    padding-bottom: clamp(48px, 5vw, 68px);
    border-bottom: 1px solid var(--tw-line);
}

.tw-page h1,
.tw-page h2 {
    margin-top: 0;
    color: var(--tw-brown-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: -.025em;
}

.tw-page h1 {
    margin-bottom: 20px;
    font-size: clamp(42px, 5vw, 64px);
    line-height: .96;
}

body.home .tw-page h1 {
    max-width: 9.4ch;
}

.tw-page h2 {
    margin-bottom: 16px;
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.08;
}

.tw-page h3 {
    margin-top: 0;
    color: var(--tw-brown-deep);
    font-size: 21px;
    line-height: 1.25;
}

.tw-page p:last-child {
    margin-bottom: 0;
}

.tw-kicker {
    display: inline-block;
    margin: 0 0 13px;
    color: var(--tw-green-deep);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.3;
    text-transform: uppercase;
}

.tw-lead {
    color: #514942;
    font-size: clamp(18px, 1.8vw, 21px);
    line-height: 1.56;
}

.tw-muted {
    color: var(--tw-muted);
}

.tw-grid {
    display: grid;
    gap: clamp(20px, 3vw, 34px);
}

.tw-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tw-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tw-grid--hero {
    grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr);
    gap: clamp(34px, 5vw, 64px);
    align-items: start;
}

/* SINGLE OWNER — opening hero geometry on every Tawashi content page.
   This targets the actual first-section grid, whether the page uses
   .tw-grid--hero or .tw-grid--2. It overrides legacy inline Home/How-to
   grid declarations; without that those pages use different column widths
   and align-items:center. Never add per-page hero alignment declarations. */
.tw-page > .tw-section:first-child > .tw-wrap > .tw-grid {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
    gap: clamp(30px, 4vw, 68px) !important;
    align-items: start !important;
}
.tw-page > .tw-section:first-child > .tw-wrap > .tw-grid > :nth-child(2) {
    align-self: start;
    min-width: 0;
}

.tw-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.tw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 2px solid var(--tw-brown);
    border-radius: 7px;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.tw-btn--primary {
    background: var(--tw-brown);
    color: var(--tw-white) !important;
}

.tw-btn--primary:hover {
    border-color: var(--tw-green-deep);
    background: var(--tw-green-deep);
}

.tw-btn--secondary {
    background: transparent;
    color: var(--tw-brown-deep) !important;
}

.tw-btn--secondary:hover {
    background: var(--tw-white);
}

.tw-proof-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    gap: 8px 22px;
    margin-top: 24px;
    padding: 16px 0 0;
    border-top: 1px solid var(--tw-line);
    color: var(--tw-brown-deep);
    font-size: 13px;
    font-weight: 750;
}

.tw-proof-rail span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.tw-proof-rail span::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--tw-green);
    box-shadow: 0 0 0 3px rgba(115, 154, 75, .12);
}

.tw-card {
    height: 100%;
    padding: clamp(22px, 2.6vw, 30px);
    border: 1px solid var(--tw-line);
    border-top: 4px solid var(--tw-brown);
    border-radius: var(--tw-radius);
    background: var(--tw-white);
    box-shadow: 0 12px 28px rgba(75, 37, 11, .07);
}

.tw-card--cream {
    border-top-color: var(--tw-brown);
    background: rgba(252, 245, 237, .92);
}

.tw-card--leaf {
    border-top-color: var(--tw-green-deep);
    background: rgba(237, 243, 231, .94);
}

.tw-card--brown {
    border-color: var(--tw-brown-deep);
    background: var(--tw-brown-deep);
    color: var(--tw-white);
}

.tw-card--brown h2,
.tw-card--brown h3,
.tw-card--brown a {
    color: var(--tw-white) !important;
}

.tw-photo {
    display: block;
    overflow: hidden;
    margin: 0;
    border: 8px solid rgba(255, 255, 255, .72);
    border-radius: calc(var(--tw-radius) + 5px);
    background: var(--tw-cream);
    box-shadow: 0 22px 48px rgba(75, 37, 11, .14);
}

/* Hero frames stay upright; decorative rotation previously moved the top edge. */

.tw-photo img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

/* The first hero image uses one stable frame (including its 8px border).
   576px accommodates the legacy Home image's inline 560px minimum height.
   Cropping occurs inside the frame, never by changing its vertical position. */
.tw-page > .tw-section:first-child .tw-photo {
    height: 576px;
}
.tw-page > .tw-section:first-child .tw-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.tw-photo--hero img {
    min-height: 520px;
}

.tw-photo--editorial img {
    min-height: 340px;
}

.tw-photo--wide img {
    aspect-ratio: 16 / 7;
    min-height: 280px;
}

.tw-band {
    padding: clamp(30px, 4.5vw, 54px);
    border-radius: calc(var(--tw-radius) + 2px);
}

.tw-band--brown {
    background:
        radial-gradient(circle at 90% 18%, rgba(255,255,255,.08), transparent 24%),
        linear-gradient(130deg, var(--tw-brown-deep), var(--tw-brown));
    color: var(--tw-white);
    box-shadow: var(--tw-shadow);
}

.tw-band--brown h2,
.tw-band--brown h3,
.tw-band--brown p {
    color: var(--tw-white);
}

.tw-band--brown .tw-kicker {
    color: #dce8d0;
}

.tw-band--brown .tw-btn--secondary {
    border-color: var(--tw-white);
    color: var(--tw-white) !important;
}

.tw-band--brown .tw-btn--secondary:hover {
    background: var(--tw-white);
    color: var(--tw-brown-deep) !important;
}

.tw-quote {
    margin: 0;
    padding: clamp(26px, 4vw, 44px);
    border-left: 6px solid var(--tw-green);
    border-radius: 0 var(--tw-radius) var(--tw-radius) 0;
    background: var(--tw-cream);
    color: var(--tw-brown-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.22;
}

.tw-list-check {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.tw-list-check li {
    position: relative;
    margin: 0 0 12px;
    padding-left: 28px;
}

.tw-list-check li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--tw-green-deep);
    font-weight: 900;
}

.tw-route-link {
    color: var(--tw-brown-deep);
    font-weight: 800;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.tw-page a:focus-visible,
.tw-page summary:focus-visible {
    outline: 3px solid var(--tw-green);
    outline-offset: 4px;
}

/* CONTACT FORM COMPONENT — theme-owned, consistent with the wide Tawashi page system. */
.tw-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(28px, 5vw, 76px);
    align-items: start;
}
.tw-contact-intro, .tw-contact-panel { min-width: 0; }
.tw-contact-note {
    margin-top: clamp(24px, 3vw, 38px);
    padding: clamp(22px, 2.6vw, 30px);
    border-left: 5px solid var(--tw-brown);
    border-radius: 0 var(--tw-radius) var(--tw-radius) 0;
    background: #fffdf9;
    box-shadow: var(--tw-shadow);
}
.tw-contact-note--alt { border-left-color: var(--tw-green-deep); }
.tw-contact-note h3 { margin-bottom: 12px; }
.tw-contact-note p { margin: 0 0 16px; }
.tw-contact-panel {
    padding: clamp(22px, 3.7vw, 52px);
    background: #fffdf9;
    border: 1px solid var(--tw-line);
    border-top: 7px solid var(--tw-green);
    border-radius: var(--tw-radius);
    box-shadow: 0 23px 48px rgba(75, 37, 11, .14);
}
.tw-contact-panel h2 { margin-bottom: 12px; }
.tw-contact-panel > p:not(.tw-kicker) { max-width: 62ch; }
.tw-contact-panel .sscf-form { margin: 26px 0 0; }
.tw-contact-panel .sscf-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.8vw, 24px);
}
.tw-contact-panel .sscf-field { margin: 0 0 20px; min-width: 0; }
.tw-contact-panel .sscf-field label {
    display: block;
    margin: 0 0 7px;
    color: var(--tw-brown-deep);
    font-size: 14px;
    font-weight: 800;
}
.tw-contact-panel .sscf-form input:not([type="hidden"]),
.tw-contact-panel .sscf-form textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 13px 15px;
    border: 2px solid #d7cbbb;
    border-radius: 8px;
    background: #fff;
    color: var(--tw-charcoal);
    font: inherit;
    line-height: 1.4;
}
.tw-contact-panel .sscf-form textarea { min-height: 170px; resize: vertical; }
.tw-contact-panel .sscf-form input:focus-visible,
.tw-contact-panel .sscf-form textarea:focus-visible {
    outline: 3px solid var(--tw-green);
    outline-offset: 2px;
    border-color: var(--tw-green-deep);
}
.tw-contact-panel .sscf-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.tw-contact-panel .sscf-hcaptcha { overflow: visible; }
.tw-contact-panel .sscf-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 12px 26px;
    border: 2px solid var(--tw-brown);
    border-radius: 7px;
    background: var(--tw-brown);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .18s, border-color .18s;
}
.tw-contact-panel .sscf-submit:hover,
.tw-contact-panel .sscf-submit:focus-visible {
    background: var(--tw-green-deep);
    border-color: var(--tw-green-deep);
}
.tw-contact-panel .sscf-status {
    margin: 18px 0;
    padding: 14px 18px;
    border-left: 5px solid var(--tw-brown);
    border-radius: 6px;
    background: var(--tw-cream);
    color: var(--tw-charcoal);
}
.tw-contact-panel .sscf-status.success {
    border-left-color: var(--tw-green-deep);
    background: var(--tw-leaf);
}
.tw-contact-panel .tw-contact-privacy { margin-top: 25px; font-size: 13px; color: var(--tw-muted); }
.tw-contact-bottom { align-items: center; }
.tw-contact-bottom__actions { display: grid; gap: 12px; justify-items: stretch; }
@media (max-width: 900px) {
    .tw-contact-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .tw-contact-panel .sscf-form-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .tw-contact-panel .sscf-submit { width: 100%; }
}
@media (max-width: 420px) {
    .tw-contact-panel .h-captcha { transform: scale(.82); transform-origin: top left; }
    .tw-contact-panel .sscf-hcaptcha { margin-bottom: -10px; }
}

/* =========================================================
   LEGAL / CONTACT CONTAINMENT
   Policy pages use exactly the same 1360px site frame as other content.
   The hero and body share one gutter; no nested horizontal padding.
   ========================================================= */

.tw-legal-page .tw-legal-hero {
    margin: 0;
    padding: 68px 0 58px;
    border-bottom: 1px solid var(--tw-line);
    background: var(--tw-cream);
}

.tw-legal-page .tw-legal-hero__inner,
.tw-legal-page .tw-legal-body {
    width: min(var(--tw-wrap), calc(100% - 36px));
    margin-right: auto;
    margin-left: auto;
}

.tw-legal-page .tw-legal-body {
    padding-top: 54px;
    padding-bottom: 72px;
}

/* The policy source is naturally flowing HTML. Some WordPress editors add
   explicit <br> tags at the source's formatting-only newlines. Ignore these
   inside legal paragraphs so every paragraph fills its available column. */
.tw-legal-page .tw-legal-hero__inner p,
.tw-legal-page .tw-legal-body p {
    width: 100%;
    max-width: none;
    white-space: normal;
    overflow-wrap: break-word;
}
.tw-legal-page .tw-legal-hero__inner p br,
.tw-legal-page .tw-legal-body p br {
    display: none;
}

.tw-contact-page .tw-contact-hero__inner,
.tw-contact-page .tw-contact-body {
    width: min(960px, calc(100% - 40px));
    margin-right: auto;
    margin-left: auto;
}


/* Equal-height cards from the existing SSG components, without Flatsome selectors. */
.ssg-equal-row { align-items:stretch; }
.ssg-equal-card { display:flex; flex-direction:column; min-width:0; }
.ssg-card-title { min-height:2.65em; }
.ssg-card-body { flex:1 1 auto; }
.ssg-card-action { margin-top:auto; }
.ssg-card-title--single { min-height:1.35em; }
/* Standard mobile breakpoint: content and image stack rather than being squeezed. */
@media(max-width:900px) {
  .tw-site-header__inner { min-height:78px; padding:10px 0; }
  .tw-site-header__brand { flex:0 1 auto; max-width:min(540px,calc(100% - 112px)); }
  .tw-desktop-nav { display:none; }
  .tw-mobile-menu { display:block; flex:0 0 auto; position:relative; }
  .tw-mobile-menu > summary { display:flex; align-items:center; min-height:46px; padding:9px 15px; border:2px solid var(--tw-brown); border-radius:6px; background:var(--tw-brown); color:#fff; font-size:14px; font-weight:800; cursor:pointer; list-style:none; }
  .tw-mobile-menu > summary::-webkit-details-marker { display:none; }
  .tw-mobile-menu[open] > .tw-nav { position:absolute; top:calc(100% + 8px); right:0; min-width:min(320px,calc(100vw - 30px)); padding:10px; border:1px solid var(--tw-line); border-radius:10px; background:#fffdf9; box-shadow:var(--tw-shadow); }
  .tw-mobile-menu .tw-nav-list { display:flex; flex-direction:column; align-items:stretch; gap:2px; }
  .tw-mobile-menu .tw-nav-list a { display:flex; justify-content:flex-start; width:100%; }
  .tw-site-footer { flex-direction:column; text-align:center; }
  .tw-site-footer__links { justify-content:center; }
  .tw-grid--2, .tw-grid--3, .tw-grid--hero { grid-template-columns:1fr; }
  /* On stacked layouts, the picture is visually FIRST for a stable hero
     image baseline across pages of different copy lengths. Otherwise, placing
     the picture below variable copy necessarily makes it jump up and down.
     Nested media wrappers are flattened only for the first hero grid so the
     media callout stays AFTER the introductory text instead of before it. */
  .tw-page > .tw-section:first-child > .tw-wrap > .tw-grid {
      grid-template-columns:minmax(0,1fr) !important;
  }
  .tw-page > .tw-section:first-child > .tw-wrap > .tw-grid > :first-child { grid-row:2; }
  .tw-page > .tw-section:first-child > .tw-wrap > .tw-grid > :nth-child(2).tw-photo { grid-row:1; }
  .tw-page > .tw-section:first-child > .tw-wrap > .tw-grid > :nth-child(2):not(.tw-photo) { display:contents; }
  .tw-page > .tw-section:first-child > .tw-wrap > .tw-grid > :nth-child(2) > .tw-photo { grid-row:1; }
  .tw-page > .tw-section:first-child > .tw-wrap > .tw-grid > :nth-child(2) > .tw-card { grid-row:3; }
  .tw-page > .tw-section:first-child .tw-photo { height:auto; aspect-ratio:4/3; }
  .tw-page > .tw-section:first-child .tw-photo img { min-height:0 !important; }
  .tw-photo--hero img, .tw-photo--editorial img { min-height:0; aspect-ratio:4/3; }
  .tw-photo--wide img { min-height:0; aspect-ratio:4/3; }
  .tw-proof-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tw-actions { flex-direction:column; align-items:stretch; }
  .tw-btn { width:100%; }
  .ssg-card-title, .ssg-card-title--single { min-height:0; }
}
@media(max-width:549px) {
  .tw-site-header__inner { width:calc(100% - 26px); }
  .tw-site-header__brand { max-width:calc(100% - 104px); }
  .tw-wrap,
  .tw-legal-page .tw-legal-hero__inner,
  .tw-legal-page .tw-legal-body { width:calc(100% - 28px); }
  .tw-section { padding:48px 0; }
  .tw-page h1 { font-size:clamp(38px,12vw,52px); }
  body.home .tw-page h1 { max-width:100%; }
  .tw-proof-rail { grid-template-columns:1fr 1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .tw-page *, .tw-page *::before, .tw-page *::after { transition:none !important; } }
