:root { --trs-offwhite:   #F5F2EB;
--trs-black:      #1C1C1C;
--trs-terracotta: #C47A53;
--trs-beige:      #F5EBD6;
--trs-red:        #7B3F29;
--trs-yellow:     #D6A756; --trs-header-h:  66px;
--trs-spacing-h: clamp(16px, 5.5vw, 80px);  --trs-font-display: 'TT Firs Neue Trial Var Roman', sans-serif;
--trs-font-nav:     'TT Firs Neue Trial Var Roman', sans-serif;
--trs-font-body:    'Lato', sans-serif;  --trs-fs-h1: clamp(28px, calc(28px + 28 * ((100vw - 375px) / 1065)), 56px);
--trs-fs-h2: clamp(22px, calc(22px + 18 * ((100vw - 375px) / 1065)), 36px);
--trs-fs-h3: clamp(18px, calc(18px + 12 * ((100vw - 375px) / 1065)), 30px);
--trs-fs-h4: clamp(16px, calc(16px +  8 * ((100vw - 375px) / 1065)), 24px); --trs-fs-p-lg:  clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1065)), 24px); --trs-fs-p:     clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1065)), 18px); --trs-fs-p-sm:  clamp(13px, calc(13px + 3 * ((100vw - 375px) / 1065)), 16px); --trs-fs-p-xs:  clamp(11px, calc(11px + 2 * ((100vw - 375px) / 1065)), 13px);  --trs-fs-nav:    clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1065)), 20px);
--trs-fs-btn:    clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1065)), 20px);
--trs-fs-label:  clamp(11px, calc(11px + 3 * ((100vw - 375px) / 1065)), 14px); --trs-fs-menu-link: clamp(22px, calc(22px + 10 * ((100vw - 375px) / 1065)), 32px);
--trs-fs-topbar:    clamp(13px, calc(13px +  7 * ((100vw - 375px) / 1065)), 20px);
--trs-fs-submenu:   clamp(13px, calc(13px +  3 * ((100vw - 375px) / 1065)), 16px); --trs-fs-logo:   clamp(13px, calc(13px + 5 * ((100vw - 375px) / 1065)), 18px);
--trs-logo-w:    clamp(120px, calc(120px + 125.7 * ((100vw - 375px) / 1065)), 245.7px); --trs-fs-hero-headline: clamp(16px, calc(16px + 10 * ((100vw - 375px) / 1065)), 26px);
--trs-fs-hero-scroll:   clamp(12px, calc(12px +  4 * ((100vw - 375px) / 1065)), 16px); --trs-lh-tight:  1.1;
--trs-lh-snug:   1.25;
--trs-lh-normal: 1.5;
--trs-lh-relaxed:1.65;
--trs-lh-loose:  1.8; --trs-ls-tight:  -.01em;
--trs-ls-normal:  0;
--trs-ls-wide:    .04em;
--trs-ls-wider:   .08em;
--trs-ls-widest:  .12em; --trs-space-xs:  clamp( 8px, calc( 8px +  4 * ((100vw - 375px) / 1065)),  12px);
--trs-space-sm:  clamp(12px, calc(12px +  8 * ((100vw - 375px) / 1065)),  20px);
--trs-space-md:  clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1065)),  40px);
--trs-space-lg:  clamp(32px, calc(32px + 48 * ((100vw - 375px) / 1065)),  80px);
--trs-space-xl:  clamp(48px, calc(48px + 72 * ((100vw - 375px) / 1065)), 120px);
--trs-space-2xl: clamp(64px, calc(64px + 96 * ((100vw - 375px) / 1065)), 160px); --trs-dur-fast:   200ms;
--trs-dur-med:    400ms;
--trs-dur-slow:   700ms;
--trs-dur-trait:  350ms;
--trs-ease:       cubic-bezier(0.25, 0.46, 0.45, 0.94);
--trs-ease-trait: cubic-bezier(0.4, 0, 0.2, 1);
--trs-ease-out:   cubic-bezier(0.0, 0.0, 0.2, 1.0);
} *, *::before, *::after { box-sizing: border-box; }
body {
font-family: var(--trs-font-body);
font-size: var(--trs-fs-p);
line-height: var(--trs-lh-relaxed);
color: var(--trs-black);
background: var(--trs-offwhite);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} h1 {
font-family: var(--trs-font-display);
font-size: var(--trs-fs-h1);
font-weight: 400;
line-height: var(--trs-lh-tight);
letter-spacing: var(--trs-ls-wide);
text-transform: uppercase;
margin: 0;
color: var(--trs-black);
}
h2 {
font-family: var(--trs-font-display);
font-size: var(--trs-fs-h2);
font-weight: 500;
line-height: var(--trs-lh-snug);
letter-spacing: var(--trs-ls-normal);
text-transform: uppercase;
margin: 0;
color: var(--trs-black);
}
h3 {
font-family: var(--trs-font-display);
font-size: var(--trs-fs-h3);
font-weight: 500;
line-height: var(--trs-lh-snug);
letter-spacing: var(--trs-ls-normal);
text-transform: uppercase;
margin: 0 ;
color: var(--trs-black);
}
h4 {
font-family: var(--trs-font-display);
font-size: var(--trs-fs-h4);
font-weight: 500;
line-height: var(--trs-lh-normal);
letter-spacing: var(--trs-ls-normal);
margin: 0;
color: var(--trs-black);
} p {
font-family: var(--trs-font-body);
font-size: var(--trs-fs-p);
font-weight: 400;
line-height: var(--trs-lh-normal);
margin: 0 0 var(--trs-space-sm);
color: var(--trs-black);
}
p:last-child { margin-bottom: 0; }
p.trs-chapo {
font-family: var(--trs-font-display);
font-size: var(--trs-fs-p-lg);
line-height: var(--trs-lh-normal);
}
p.trs-small {
font-size: var(--trs-fs-p-sm);
}
p.trs-meta {
font-size: var(--trs-fs-p-xs);
letter-spacing: var(--trs-ls-wide);
text-transform: uppercase;
} a {
color: inherit;
text-decoration: none;
transition: opacity var(--trs-dur-fast) ease;
} img, svg { max-width: 100%; height: auto; display: block; } .trs-btn-trait { background: none;
border: none;
outline: none;
cursor: pointer;
text-decoration: none; font-family: var(--trs-font-nav);
font-size: var(--trs-fs-btn);
font-weight: 500;
text-transform: uppercase;
letter-spacing: var(--trs-ls-wider);
line-height: 1;
color: currentColor; position: relative;
display: inline-block;
padding: 0 5px;
align-self: flex-start;
} .trs-btn-trait::before,
.trs-btn-trait::after {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 1.5px;
height: 1.5px;
background: currentColor;
transition: height var(--trs-dur-trait) var(--trs-ease-trait);
}
.trs-btn-trait::before { left: 0; }
.trs-btn-trait::after  { right: 0; }
.trs-btn-trait:hover::before,
.trs-btn-trait:hover::after,
.trs-btn-trait:focus-visible::before,
.trs-btn-trait:focus-visible::after { height: 1em; } .trs-btn-trait--white { color: var(--trs-offwhite); }
.trs-btn-trait--dark  { color: var(--trs-black); }
.trs-btn-trait--beige { color: var(--trs-beige); } .trs-btn-trait--white:hover { color: var(--trs-offwhite) !important; }
.trs-btn-trait--dark:hover  { color: var(--trs-black) !important; }
.trs-btn-trait--beige:hover { color: var(--trs-beige) !important; } .trs-btn-trait--sm { font-size: var(--trs-fs-p-sm); }
.trs-btn-trait--lg { font-size: var(--trs-fs-p-lg); } .trs-btn-trait:focus-visible {
outline: 2px solid currentColor;
outline-offset: 6px;
border-radius: 2px;
} .trs-fade-up {
opacity: 0;
transform: translateY(24px);
transition:
opacity   600ms var(--trs-ease),
transform 600ms var(--trs-ease);
}
.trs-fade-up.is-visible {
opacity: 1;
transform: translateY(0);
}
.trs-fade-up:nth-child(2) { transition-delay: 100ms; }
.trs-fade-up:nth-child(3) { transition-delay: 200ms; }
.trs-fade-up:nth-child(4) { transition-delay: 300ms; }
.trs-fade-up:nth-child(5) { transition-delay: 400ms; }
@media (prefers-reduced-motion: reduce) {
.trs-fade-up { opacity: 1; transform: none; transition: none; }
}  .trs-section {
padding-top: var(--trs-space-xl);
padding-bottom: var(--trs-space-xl);
padding-left: var(--trs-spacing-h);
padding-right: var(--trs-spacing-h);
} .trs-container {
width: 100%;
max-width: 1440px;
margin: 0 auto;
} .trs-separation {
display: none;
} @media (min-width: 768px) {
.trs-separation {
display: block;
width: 3px;
background: var(--trs-black);
flex-shrink: 0;
align-self: stretch;
margin: 0 var(--trs-space-lg);
}
}