@import url("./tokens.css");
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--colour-paper); color: var(--colour-ink); font-family: var(--font-sans); line-height: var(--leading-body); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body { margin: 0; background: var(--colour-paper); color: var(--colour-ink); }
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 2px solid var(--colour-deep-teal); outline-offset: 4px; }
::selection { background: rgba(11, 75, 69, .18); }
.pw-page { min-height: 100vh; background: var(--colour-paper); }
.pw-container { width: min(100% - calc(var(--gutter-mobile) * 2), var(--container-page)); margin-inline: auto; }
.pw-container--wide { max-width: var(--container-wide); }
.pw-container--reading { max-width: var(--container-reading); }
.pw-section { padding-block: var(--space-8); }
.pw-section--large { padding-block: var(--space-10); }
.pw-eyebrow { margin: 0 0 var(--space-3); color: var(--colour-deep-teal); font-size: var(--text-label); font-weight: 800; letter-spacing: var(--tracking-label); line-height: var(--leading-caption); text-transform: uppercase; }
.pw-heading { margin: 0; font-family: var(--font-serif); font-weight: 400; letter-spacing: 0; line-height: var(--leading-tight); }
.pw-heading--hero { font-size: var(--text-hero); }
.pw-heading--display { font-size: var(--text-display); }
.pw-heading--1 { font-size: var(--text-heading-1); }
.pw-heading--2 { font-size: var(--text-heading-2); }
.pw-heading--3 { font-size: var(--text-heading-3); line-height: var(--leading-heading); }
.pw-standfirst { margin: 0; color: var(--colour-ink-soft); font-size: var(--text-body-large); line-height: 1.5; }
.pw-copy { margin: 0; color: var(--colour-muted); font-size: var(--text-body); }
.pw-caption { margin: var(--space-3) 0 0; color: var(--colour-faint); font-size: var(--text-caption); letter-spacing: .06em; line-height: var(--leading-caption); text-transform: uppercase; }
.pw-link { color: var(--colour-deep-teal); display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-label); font-weight: 800; letter-spacing: .08em; line-height: 1; text-decoration: none; text-transform: uppercase; }
.pw-link::after { content: ""; width: 2.25rem; height: 1px; background: currentColor; transform-origin: left center; transition: transform var(--duration-medium) var(--ease-editorial); }
.pw-link:hover::after { transform: scaleX(1.28); }
.pw-button { min-height: 44px; border: 1px solid var(--colour-line-dark); border-radius: var(--radius-pill); background: transparent; color: var(--colour-ink-soft); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); padding: .8rem 1.15rem; font-size: var(--text-label); font-weight: 800; letter-spacing: .08em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: background-color var(--duration-medium) var(--ease-editorial), border-color var(--duration-medium) var(--ease-editorial), color var(--duration-medium) var(--ease-editorial); }
.pw-button:hover { border-color: var(--colour-deep-teal); color: var(--colour-deep-teal); }
.pw-button--filled { border-color: var(--colour-forest-shadow); background: var(--colour-forest-shadow); color: var(--colour-white); }
.pw-button--filled:hover { background: var(--colour-deep-teal); color: var(--colour-white); }
.pw-image { overflow: hidden; border-radius: var(--radius-subtle); background: var(--colour-linen); }
.pw-image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease-editorial); }
a:hover .pw-image img { transform: scale(1.025); }
@media (min-width: 48rem) { .pw-container { width: min(100% - calc(var(--gutter-tablet) * 2), var(--container-page)); } }
@media (min-width: 75rem) { .pw-container { width: min(100% - calc(var(--gutter-desktop) * 2), var(--container-page)); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }