/* fonts.css */
/* Brand fonts: Adobe Fonts kit kkx7kgg (noto-serif 400-700 + italics; work-sans 100-900, no italics).
   The kit is domain-restricted; Google Fonts loads the identical families as a fallback for previews and non-whitelisted domains. */
@import url("https://use.typekit.net/kkx7kgg.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Work+Sans:wght@300;400;500;600;700&display=swap");

/* colors.css */
:root {
  /* Brand palette (Section 3.1). Only these five hues exist. */
  --tpw-green: #00430e;      /* confirmed: logo SVG + PDF, PANTONE 2411 CP */
  --tpw-black: #00000b;      /* confirmed: logo SVG + PDF, PANTONE Black 6 CP */
  --tpw-white: #ffffff;      /* confirmed */
  --tpw-white-gray: #F3F2EE; /* PROVISIONAL, NOT SOURCED: replace with RFG-supplied value */
  --tpw-yellow: #D9B650;     /* PROVISIONAL, NOT SOURCED: replace with RFG-supplied value */

  /* Derived tints (from variables only: dividers, hover, disabled) */
  --tpw-green-90: color-mix(in srgb, var(--tpw-green) 90%, black);
  --tpw-green-80: color-mix(in srgb, var(--tpw-green) 82%, white);
  --tpw-green-20: color-mix(in srgb, var(--tpw-green) 20%, transparent);
  --tpw-green-12: color-mix(in srgb, var(--tpw-green) 12%, transparent);
  --tpw-green-06: color-mix(in srgb, var(--tpw-green) 6%, transparent);
  --tpw-green-tint: color-mix(in srgb, var(--tpw-green) 8%, white);
  --tpw-black-70: color-mix(in srgb, var(--tpw-black) 72%, white);
  --tpw-white-70: color-mix(in srgb, var(--tpw-white) 78%, transparent);
  --tpw-white-20: color-mix(in srgb, var(--tpw-white) 20%, transparent);

  /* Semantic aliases */
  --surface-page: var(--tpw-white);
  --surface-alt: var(--tpw-white-gray);
  --surface-card: var(--tpw-white);
  --surface-brand: var(--tpw-green);
  --surface-accent: var(--tpw-yellow);

  --text-body: var(--tpw-black);
  --text-heading: var(--tpw-green);
  --text-muted: var(--tpw-black-70);
  --text-on-brand: var(--tpw-white);
  --text-accent-on-brand: var(--tpw-yellow);
  --text-link: var(--tpw-green);
  --text-disclosure: var(--tpw-black); /* Rule 4: matches body color, never muted */

  --border-hairline: var(--tpw-green-12);
  --border-strong: var(--tpw-green-20);
  --border-on-brand: var(--tpw-white-20);

  --focus-on-light: var(--tpw-green);
  --focus-on-dark: var(--tpw-yellow);

  --overlay-photo: linear-gradient(90deg, color-mix(in srgb, var(--tpw-green) 70%, transparent) 0%, color-mix(in srgb, var(--tpw-green) 55%, transparent) 45%, transparent 100%); /* @kind color */
  --overlay-photo-flat: color-mix(in srgb, var(--tpw-green) 62%, transparent); /* @kind color */
}

/* typography.css */
:root {
  --font-serif: "noto-serif", "Noto Serif", Georgia, "Times New Roman", serif; /* @kind font */
  --font-sans: "work-sans", "Work Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; /* @kind font */

  /* Fluid scale (Section 4.1) */
  --fs-display: clamp(2.5rem, 5vw + 1rem, 4.75rem); /* @kind other */
  --fs-h2: clamp(2rem, 3vw + 1rem, 3.25rem); /* @kind other */
  --fs-h3: clamp(1.375rem, 1.5vw + 1rem, 1.75rem); /* @kind other */
  --fs-lead: 1.25rem; /* @kind other */
  --fs-body: 1.0625rem; /* @kind other */
  --fs-button: 0.9375rem; /* @kind other */
  --fs-eyebrow: 0.8125rem; /* @kind other */
  --fs-caption: 0.8125rem; /* @kind other */ /* 13px; never below 12px web / 9pt print */
  --fs-numeral: clamp(3.5rem, 6vw + 1rem, 6rem); /* @kind other */

  --lh-display: 1.08; /* @kind other */
  --lh-h2: 1.15; /* @kind other */
  --lh-h3: 1.25; /* @kind other */
  --lh-lead: 1.6; /* @kind other */
  --lh-body: 1.65; /* @kind other */
  --lh-eyebrow: 1.3; /* @kind other */
  --lh-caption: 1.5; /* @kind other */

  --fw-serif-display: 400; /* @kind other */
  --fw-serif-heading: 500; /* @kind other */
  --fw-sans-body: 400; /* @kind other */
  --fw-sans-ui: 500; /* @kind other */
  --fw-sans-strong: 600; /* @kind other */

  --tracking-eyebrow: 0.14em; /* @kind other */
  --tracking-nav: 0.06em; /* @kind other */
  --tracking-display: -0.01em; /* @kind other */

  --measure: 68ch; /* @kind spacing */

  /* Semantic */
  --type-heading-family: var(--font-serif); /* @kind font */
  --type-body-family: var(--font-sans); /* @kind font */
}

/* spacing.css */
:root {
  --space-1: 4px; /* @kind spacing */
  --space-2: 8px; /* @kind spacing */
  --space-3: 12px; /* @kind spacing */
  --space-4: 16px; /* @kind spacing */
  --space-5: 24px; /* @kind spacing */
  --space-6: 32px; /* @kind spacing */
  --space-7: 48px; /* @kind spacing */
  --space-8: 64px; /* @kind spacing */
  --space-9: 96px; /* @kind spacing */
  --space-10: 128px; /* @kind spacing */

  --section-pad-y: clamp(4rem, 8vw, 8rem); /* @kind spacing */
  --container-max: 1200px; /* @kind spacing */
  --container-media-max: 1360px; /* @kind spacing */
  --gutter: 24px; /* @kind spacing */
  --gutter-mobile: 16px; /* @kind spacing */
  --grid-columns: 12; /* @kind other */

  /* Shape */
  --radius-card: 16px; /* @kind radius */
  --radius-feature: 24px; /* @kind radius */
  --radius-input: 12px; /* @kind radius */
  --radius-pill: 999px; /* @kind radius */

  --border-width-hairline: 1px; /* @kind spacing */
  --border-width-outline: 1.5px; /* @kind spacing */

  /* Elevation: single soft shadow only */
  --shadow-soft: 0 8px 24px rgba(0, 0, 11, 0.08); /* @kind shadow */
  --shadow-none: none; /* @kind shadow */

  --btn-min-height: 48px; /* @kind spacing */
  --header-height: 88px; /* @kind spacing */
  --header-height-compact: 76px; /* @kind spacing */
}

/* motion.css */
:root {
  --ease-default: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --dur-micro: 200ms; /* @kind other */
  --dur-micro-max: 240ms; /* @kind other */
  --dur-reveal: 650ms; /* @kind other */
  --dur-reveal-max: 800ms; /* @kind other */
  --dur-sequence: 1200ms; /* @kind other */
  --stagger: 100ms; /* @kind other */
  --stagger-tight: 80ms; /* @kind other */
  --reveal-distance: 24px; /* @kind other */
  --hover-lift: 4px; /* @kind other */
  --link-arrow-shift: 4px; /* @kind other */
  --marquee-duration: 40s; /* @kind other */
  --crossfade-interval: 6s; /* @kind other */
  --mark-assemble-duration: 900ms; /* @kind other */
  --mark-assemble-stagger: 150ms; /* @kind other */
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-reveal: 0ms; /* @kind other */
    --dur-reveal-max: 0ms; /* @kind other */
    --dur-sequence: 0ms; /* @kind other */
    --reveal-distance: 0px; /* @kind other */
    --hover-lift: 0px; /* @kind other */
  }
}

/* base.css */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-sans); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text-body); background: var(--surface-page); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--font-serif); color: var(--text-heading); font-weight: var(--fw-serif-display); margin: 0; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
a { color: var(--text-link); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--tpw-green-90); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--focus-on-light); outline-offset: 2px; }
img { max-width: 100%; display: block; }
.tpw-on-brand :focus-visible { outline-color: var(--focus-on-dark); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* components.css */
/* Component classes used by the React primitives in /components. Tokens only. */

/* Buttons */
.tpw-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--btn-min-height);padding:0 28px;border-radius:var(--radius-pill);font:var(--fw-sans-ui) var(--fs-button)/1 var(--font-sans);text-decoration:none;cursor:pointer;border:var(--border-width-outline) solid transparent;transition:background-color var(--dur-micro) var(--ease-default),color var(--dur-micro) var(--ease-default),border-color var(--dur-micro) var(--ease-default);white-space:nowrap}
.tpw-btn:hover{text-decoration:none}
.tpw-btn--lg{min-height:56px;padding:0 34px;font-size:1rem}
.tpw-btn--sm{min-height:44px;padding:0 20px;font-size:.875rem}
.tpw-btn--primary{background:var(--tpw-green);color:var(--tpw-white)}
.tpw-btn--primary:hover{background:var(--tpw-green-90);color:var(--tpw-white)}
.tpw-btn--primary::after{content:"";position:absolute;left:28px;right:28px;bottom:12px;height:2px;background:var(--tpw-yellow);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-micro-max) var(--ease-default)}
.tpw-btn--primary:hover::after{transform:scaleX(1)}
.tpw-btn--secondary{background:transparent;color:var(--tpw-green);border-color:var(--tpw-green)}
.tpw-btn--secondary:hover{background:var(--tpw-green-tint);color:var(--tpw-green)}
.tpw-btn--on-brand{background:var(--tpw-white);color:var(--tpw-green)}
.tpw-btn--on-brand:hover{background:var(--tpw-white-gray);color:var(--tpw-green)}
.tpw-btn--outline-on-brand{background:transparent;color:var(--tpw-white);border-color:var(--tpw-white)}
.tpw-btn--outline-on-brand:hover{background:var(--tpw-white-20);color:var(--tpw-white)}
.tpw-btn--on-brand:focus-visible,.tpw-btn--outline-on-brand:focus-visible{outline-color:var(--focus-on-dark)}
.tpw-btn[disabled],.tpw-btn[aria-disabled="true"]{background:var(--tpw-green-12);color:var(--tpw-black-70);border-color:transparent;cursor:not-allowed}
.tpw-btn[disabled]::after{display:none}
.tpw-btn__arrow{transition:transform var(--dur-micro) var(--ease-default)}
.tpw-btn:hover .tpw-btn__arrow{transform:translateX(var(--link-arrow-shift))}

/* Text link with arrow */
.tpw-link{display:inline-flex;align-items:center;gap:8px;color:var(--tpw-green);font:var(--fw-sans-ui) var(--fs-button)/1.4 var(--font-sans);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.tpw-link:hover{text-decoration-thickness:2px;color:var(--tpw-green)}
.tpw-link__arrow{display:inline-block;transition:transform var(--dur-micro) var(--ease-default)}
.tpw-link:hover .tpw-link__arrow{transform:translateX(var(--link-arrow-shift))}
.tpw-link--on-brand,.tpw-link--on-brand:hover{color:var(--tpw-white)}

/* Eyebrow */
.tpw-eyebrow{display:inline-flex;align-items:center;gap:12px;font:var(--fw-sans-strong) var(--fs-eyebrow)/var(--lh-eyebrow) var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--tpw-green)}
.tpw-on-brand .tpw-eyebrow,.tpw-eyebrow--on-brand{color:var(--tpw-yellow)}

/* Section heading stack */
.tpw-heading{display:flex;flex-direction:column;gap:16px;max-width:760px}
.tpw-heading--center{align-items:center;text-align:center;margin-inline:auto}
.tpw-heading__title{font-family:var(--font-serif);font-weight:var(--fw-serif-display);color:var(--tpw-green);letter-spacing:var(--tracking-display)}
.tpw-heading__title em{font-style:italic;font-weight:400}
.tpw-heading__title--display{font-size:var(--fs-display);line-height:var(--lh-display)}
.tpw-heading__title--h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}
.tpw-heading__title--h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-serif-heading)}
.tpw-heading__lead{font:var(--fw-sans-body) var(--fs-lead)/var(--lh-lead) var(--font-sans);color:var(--tpw-black);max-width:60ch}
.tpw-on-brand .tpw-heading__title{color:var(--tpw-white)}
.tpw-on-brand .tpw-heading__lead{color:var(--tpw-white)}

/* Cards */
.tpw-card{display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:var(--radius-card);border:1px solid var(--border-hairline);background:var(--tpw-white);color:var(--tpw-black);transition:transform var(--dur-micro-max) var(--ease-default),box-shadow var(--dur-micro-max) var(--ease-default);text-decoration:none}
.tpw-card--gray{background:var(--tpw-white-gray)}
.tpw-card--brand{background:var(--tpw-green);border-color:transparent;color:var(--tpw-white)}
.tpw-card--interactive{cursor:pointer}
.tpw-card--interactive:hover{transform:translateY(calc(var(--hover-lift) * -1));box-shadow:var(--shadow-soft)}
.tpw-card__title{font:var(--fw-serif-heading) var(--fs-h3)/var(--lh-h3) var(--font-serif);color:var(--tpw-green);margin:0}
.tpw-card--brand .tpw-card__title{color:var(--tpw-white)}
.tpw-card__body{font:400 var(--fs-body)/var(--lh-body) var(--font-sans);margin:0}

/* Photo card */
.tpw-photo-card{position:relative;display:block;border-radius:var(--radius-card);overflow:hidden;color:var(--tpw-white);text-decoration:none;isolation:isolate;background:var(--tpw-green)}
.tpw-photo-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-reveal) var(--ease-default)}
.tpw-photo-card:hover img{transform:scale(1.04)}
.tpw-photo-card__band{position:absolute;left:12px;right:12px;bottom:12px;padding:20px 22px;border-radius:12px;background:var(--tpw-green);display:flex;flex-direction:column;gap:6px}
.tpw-photo-card__title{font:400 1.5rem/1.2 var(--font-serif);color:var(--tpw-white);margin:0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.tpw-photo-card__text{font:400 .9375rem/1.5 var(--font-sans);color:var(--tpw-white);margin:0}
.tpw-photo-card:hover .tpw-link__arrow{transform:translateX(var(--link-arrow-shift))}

/* Badge */
.tpw-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--radius-pill);font:var(--fw-sans-strong) .75rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}
.tpw-badge--accent{background:var(--tpw-yellow);color:var(--tpw-green)}
.tpw-badge--outline{border:1px solid var(--border-strong);color:var(--tpw-green)}
.tpw-badge--brand{background:var(--tpw-green);color:var(--tpw-white)}
.tpw-badge--draft{background:var(--tpw-black);color:var(--tpw-white)}

/* Forms */
.tpw-field{display:flex;flex-direction:column;gap:8px}
.tpw-field__label{font:var(--fw-sans-ui) .9375rem/1.3 var(--font-sans);color:var(--tpw-black)}
.tpw-field__req{color:var(--tpw-green);margin-left:2px}
.tpw-field__hint{font:400 .8125rem/1.5 var(--font-sans);color:var(--tpw-black)}
.tpw-field__error{font:500 .8125rem/1.4 var(--font-sans);color:var(--tpw-black);display:flex;gap:6px;align-items:center}
.tpw-field__error::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tpw-yellow);box-shadow:0 0 0 2px var(--tpw-green)}
.tpw-input{width:100%;min-height:52px;padding:14px 16px;border-radius:var(--radius-input);border:1px solid var(--border-strong);background:var(--tpw-white);font:400 1rem/1.4 var(--font-sans);color:var(--tpw-black);transition:border-color var(--dur-micro) var(--ease-default),box-shadow var(--dur-micro) var(--ease-default)}
.tpw-input:hover{border-color:var(--tpw-green)}
.tpw-input:focus{outline:none;border-color:var(--tpw-green);box-shadow:0 0 0 3px var(--tpw-green-20)}
.tpw-input[aria-invalid="true"]{border-color:var(--tpw-green);border-width:2px}
.tpw-input:disabled{background:var(--tpw-white-gray);color:var(--tpw-black-70)}
textarea.tpw-input{min-height:132px;resize:vertical}
select.tpw-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tpw-green) 50%),linear-gradient(135deg,var(--tpw-green) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.tpw-check{display:flex;gap:12px;align-items:flex-start;font:400 .9375rem/1.5 var(--font-sans);color:var(--tpw-black);cursor:pointer}
.tpw-check input{appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--tpw-green);border-radius:6px;background:var(--tpw-white);display:grid;place-content:center;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-default)}
.tpw-check input::after{content:"";width:10px;height:6px;border-left:2px solid var(--tpw-white);border-bottom:2px solid var(--tpw-white);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.tpw-check input:checked{background:var(--tpw-green)}
.tpw-check input:checked::after{opacity:1}

/* Header */
.tpw-header{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent}
.tpw-header__inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px;transition:height var(--dur-micro-max) var(--ease-default)}
.tpw-header--compact .tpw-header__inner{height:var(--header-height-compact)}
.tpw-header--stacked .tpw-header__inner{height:auto;padding-top:28px;padding-bottom:20px;align-items:flex-start}
.tpw-header--stacked .tpw-header__nav,.tpw-header--stacked .tpw-header__cta,.tpw-header--stacked .tpw-header__menu{margin-top:32px}
.tpw-header__logo{display:flex;align-items:center;flex:none}
.tpw-header__nav{display:flex;align-items:center;gap:32px}
.tpw-header__nav a{font:var(--fw-sans-ui) .9375rem/1 var(--font-sans);color:var(--tpw-black);text-decoration:none;padding:8px 0;position:relative}
.tpw-header__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tpw-yellow);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-micro-max) var(--ease-default)}
.tpw-header__nav a:hover::after,.tpw-header__nav a[aria-current="page"]::after{transform:scaleX(1)}
.tpw-header__nav a[aria-current="page"]{color:var(--tpw-green)}
.tpw-header--dark .tpw-header__nav a,.tpw-header--dark .tpw-header__nav a[aria-current="page"]{color:var(--tpw-white)}
.tpw-header--dark .tpw-header__menu{border-color:var(--tpw-white);color:var(--tpw-white)}
.tpw-header__menu{display:none;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:var(--radius-pill);border:1.5px solid var(--tpw-green);background:transparent;color:var(--tpw-green);font:500 .9375rem/1 var(--font-sans);cursor:pointer}
@media (max-width: 980px){.tpw-header__nav,.tpw-header__cta{display:none}.tpw-header__menu{display:inline-flex}}
.tpw-mobile-menu{position:fixed;inset:0;z-index:100;background:var(--tpw-green);color:var(--tpw-white);display:flex;flex-direction:column;padding:24px}
.tpw-mobile-menu__top{display:flex;justify-content:space-between;align-items:center}
.tpw-mobile-menu nav{display:flex;flex-direction:column;gap:8px;margin-top:48px}
.tpw-mobile-menu nav a{font:400 2.25rem/1.2 var(--font-serif);color:var(--tpw-white);text-decoration:none;padding:6px 0}

/* Marquee */
.tpw-marquee{overflow:hidden;padding:18px 0;display:flex;user-select:none}
.tpw-marquee--light{background:var(--tpw-white-gray);color:var(--tpw-green)}
.tpw-marquee--brand{background:var(--tpw-green);color:var(--tpw-white-gray)}
.tpw-marquee__track{display:flex;flex:none;align-items:center;gap:40px;padding-right:40px;animation:tpw-marquee var(--marquee-duration) linear infinite}
.tpw-marquee:hover .tpw-marquee__track,.tpw-marquee:focus-within .tpw-marquee__track,.tpw-marquee[data-paused="true"] .tpw-marquee__track{animation-play-state:paused}
.tpw-marquee__item{font:var(--fw-sans-strong) .9375rem/1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
@keyframes tpw-marquee{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion: reduce){.tpw-marquee__track{animation:none}}

/* Footer */
.tpw-footer{background:var(--tpw-green);color:var(--tpw-white)}
.tpw-footer__inner{max-width:var(--container-max);margin:0 auto;padding:var(--space-9) var(--gutter) var(--space-7)}
.tpw-footer__top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:40px}
@media (max-width: 900px){.tpw-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tpw-footer__col h4{font:var(--fw-sans-strong) var(--fs-eyebrow)/1.3 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--tpw-yellow);margin:0 0 16px}
.tpw-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.tpw-footer__col a,.tpw-footer__col li{font:400 .9375rem/1.5 var(--font-sans);color:var(--tpw-white);text-decoration:none}
.tpw-footer__col a:hover{text-decoration:underline;color:var(--tpw-white)}
.tpw-footer__legal{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-on-brand);display:flex;flex-direction:column;gap:20px}
.tpw-footer__links{display:flex;flex-wrap:wrap;gap:8px 24px}
.tpw-footer__links a{font:500 .875rem/1.4 var(--font-sans);color:var(--tpw-white)}
.tpw-footer :focus-visible{outline-color:var(--focus-on-dark)}

/* Disclosure */
.tpw-disclosure{font:400 .8125rem/1.6 var(--font-sans);color:var(--text-disclosure);margin:0;max-width:none}
.tpw-disclosure p{margin:0 0 10px}
.tpw-disclosure--on-brand{color:var(--tpw-white)}
.tpw-disclosure--body{font-size:var(--fs-body);line-height:var(--lh-body)}

/* Brand mark assembly */
.tpw-mark path{transition:transform var(--mark-assemble-duration) var(--ease-default),opacity var(--mark-assemble-duration) var(--ease-default)}

/* Reveal helper */
/* Progressive enhancement: hidden state only applies once JS adds .tpw-js to <html> */
.tpw-js .tpw-reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-reveal) var(--ease-default),transform var(--dur-reveal) var(--ease-default)}
.tpw-js .tpw-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.tpw-js .tpw-reveal{opacity:1;transform:none}}

