/* Editorial structure adapted from the St Ives club-brand-book template.
   Albatross's original marks, selected type and palette remain authoritative. */
:root { --book-pad: 5vw; --scene: calc(100svh - 80px); }
main { overflow: visible; }
html { scroll-padding-top:calc(var(--header) + 16px); }
section[id],div[id] { scroll-margin-top:0; }
.site-header { grid-template-columns: 170px 1fr auto; }
.site-header .act-navigation { display: flex; gap: 26px; justify-self: center; }
.act-navigation a { text-decoration: none; padding: 9px 0; border-bottom: 1px solid transparent; }
.act-navigation a[aria-current] { border-bottom-color: currentColor; }
.act-green :focus-visible,.book-method :focus-visible,.book-hero :focus-visible,.system-intro :focus-visible,footer :focus-visible { outline-color:var(--yellow); }
.swatch.dark-green:focus-visible,.swatch.ink:focus-visible,.swatch.green:focus-visible { outline-color:var(--ink);box-shadow:inset 0 0 0 3px white,0 0 0 3px white; }
.header-actions { gap: 20px; }
.chapter-rail { z-index: 8; margin: 0; }
.book-hero { position: relative; background: var(--dark); color: white; }
.book-hero-stage { position: relative; height: var(--scene); min-height: 600px; overflow: hidden; z-index: 2; background: var(--dark); }
.book-hero-photo { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; object-position: 50% 57%; }
.book-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#0b231a90,transparent 90%),linear-gradient(0deg,#10261ed9,transparent 95%); }
.book-hero-copy { position: absolute; inset: auto var(--book-pad) 65px; }
.book-hero-copy .eyebrow { color: var(--yellow); margin-bottom: 44px; }
.book-hero h1 { font: 750 clamp(70px,10.8vw,176px)/.92 Bricolage,Arial,sans-serif; letter-spacing: -.035em; font-variation-settings: 'wdth' 85, 'opsz' 48; margin: 0; max-width: 12ch; }
.book-hero-bottom { display: flex; align-items: end; justify-content: space-between; margin-top: 50px; gap: 25px; }
.book-hero-bottom a { font-size: 14px; font-weight: 650; text-decoration: none; padding-bottom: 8px; border-bottom: 1px solid #fff8; }
.book-hero-bottom a span { margin-left: 50px; }
.book-hero-bottom p { font-size: 16px; line-height: 1.55; margin: 0 8vw 0 0; }
.book-image-credit { position: absolute; bottom: 18px; right: var(--book-pad); color: white; font-size: 11px; }
.book-hero-panel { min-height: 500px; padding: 80px var(--book-pad); display: flex; align-items: center; }
.demand-panel { background: var(--dark); color: white; }
.opportunity-panel { background: var(--mist); color: var(--ink); }
.book-hero-panel img { width: 200px; max-height: 62px; object-fit: contain; object-position: left; margin-bottom: 48px; }
.opportunity-panel img { width:240px;max-height:72px;background:var(--ink);padding:12px 20px; }
.book-thesis { font: 750 clamp(72px,11.5vw,186px)/.94 Bricolage,Arial,sans-serif; letter-spacing: -.035em; font-variation-settings: 'wdth' 85,'opsz' 48; margin: 0; }
.book-panel-note { font-size: 18px; line-height: 1.5; margin: 42px 0 0; }
.book-continue { display: inline-block; font-weight: 650; font-size: 14px; margin-top: 24px; text-underline-offset: 5px; }
.book-preface { padding: 75px var(--book-pad); display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: start; gap: 5vw; background: white; }
.book-preface .eyebrow { margin-top: 7px; }
.book-preface>p:nth-child(2) { font-size: 23px; line-height: 1.4; margin: 0; letter-spacing: -.02em; }
.book-preface>a { font-size: 14px; font-weight: 650; padding-top: 7px; text-underline-offset: 5px; }
.book-act { padding: 80px var(--book-pad) 55px; min-height: 540px; display: flex; flex-direction: column; justify-content: space-between; gap: 70px; }
.act-green { background: var(--dark); color: white; }
.act-pink { background: var(--pink); color: var(--ink); }
.act-yellow { background: var(--yellow); color: var(--ink); }
.book-act-heading { display: grid; grid-template-columns: 1fr 3fr; gap: 5vw; }
.book-act-number { font: 500 100px/1 Bricolage,sans-serif; letter-spacing: -.05em; opacity: .62; }
.book-act .eyebrow { color: inherit; margin-bottom: 26px; }
.book-act h2 { font: 750 clamp(66px,9.5vw,148px)/.95 Bricolage,sans-serif; letter-spacing: -.04em; font-variation-settings:'wdth' 85,'opsz' 48; margin: 0; }
.book-act-bottom { margin-left: calc(25% + 1.25vw); display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; }
.book-act-bottom p { max-width: 36ch; font-size: 20px; line-height: 1.45; margin: 0; }
.book-act-bottom nav { display: flex; align-content: start; flex-wrap: wrap; gap: 14px 25px; }
.book-act-bottom a { font-size: 14px; font-weight: 650; text-underline-offset: 5px; }
.book-depth { padding: 110px var(--book-pad); background: white; display: grid; grid-template-columns: 1fr 1fr; gap: 12vw; }
.book-depth .eyebrow { margin-bottom: 30px; }
.book-depth h3,.book-method h3,.book-messaging h3 { font: 700 clamp(40px,4.4vw,66px)/1.04 Bricolage,sans-serif; letter-spacing:-.03em; margin:0; }
.book-depth>div>p:not(.eyebrow) { max-width: 34ch; font-size: 19px; margin-top: 30px; }
.book-depth-rules article { padding: 26px 0; border-top: 1px solid var(--line); }
.book-depth-rules article:first-child { padding-top: 0; border-top: 0; }
.book-depth-rules h4 { font: 700 25px/1.15 Bricolage,sans-serif; letter-spacing:-.02em; margin:0 0 13px; }
.book-depth-rules p { font-size:16px;line-height:1.6; margin:0; }
.foundation-depth { background: var(--mist); }
.system-intro { padding-top: 115px; padding-bottom: 100px; }
.system-intro h2 { font-size: clamp(50px,5.6vw,86px); }
.system-copy p { font-size: 21px; }
.architecture { padding-top: 85px; padding-bottom: 85px; }
.architecture-map { gap: 18px; }
.architecture .connection { font-weight: 400; }
.architecture-map article { border-radius: 0; }
.capture-card img { filter:none; }
.capture-card { color:white; }
.outcomes { padding-top: 110px; padding-bottom: 110px; }
.book-method { padding: 90px var(--book-pad); background:var(--ink);color: white; }
.book-method .eyebrow { color:var(--pink); }
.book-method header { margin-bottom: 60px; }
.method-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; }
.method-grid article { border-top: 1px solid #ffffff50; padding-top: 22px; }
.method-grid span { color:var(--yellow);font-size:12px; }
.method-grid h4 { font:650 32px/1.1 Bricolage,sans-serif;letter-spacing:-.02em;margin:28px 0 20px; }
.method-grid p { font-size:16px;color:#d5ded8;max-width:28ch; }
.book-method>a { font-size:14px;display:inline-block;margin-top:40px;text-underline-offset:5px; }
.identity-intro { padding-top:115px;padding-bottom:55px; }
.logo-stage { min-height:500px; }
.logo-boundary img { width:min(720px,66vw); }
.swatch.green { color:var(--ink); }
.swatch.green>span { background:var(--mist);padding:4px 8px;width:fit-content; }
.swatch.green>strong { font-weight:750; }
.logo-stage[data-background=green] .stage-caption { background:var(--mist);color:var(--ink);padding:3px 8px; }
.colour-application { min-height:420px; background:var(--dark);color:white;margin:65px 0; padding:38px; position:relative; overflow:hidden; }
.colour-application .eyebrow { color:var(--yellow); }
.colour-statement { font:750 clamp(48px,6.4vw,88px)/.97 Bricolage,sans-serif;margin:50px 0;letter-spacing:-.035em; }
.colour-application-note { display:flex;gap:24px;flex-wrap:wrap;font-size:13px; }
.colour-application-note span:nth-child(2) { color:var(--ink);background:var(--pink);padding:3px 9px; }
.colour-application-note span:nth-child(3) { color:var(--ink);background:var(--yellow);padding:3px 9px; }
.image-study { position:relative; min-height:720px; display:block; padding:80px var(--book-pad);overflow:hidden; }
.image-study figure { position:absolute;inset:0;margin:0; }
.image-study figure:after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d281fd9 0%,#0d281f40 75%); }
.image-study figure img { width:100%;height:100%;object-fit:cover; }
.image-study .image-study-copy { position:relative;z-index:1;max-width:650px; }
.image-study h2 { font-size:clamp(64px,7.5vw,116px);max-width:11ch; }
.image-study .eyebrow { color:var(--yellow); }
.image-study-copy>p:last-child { max-width:37ch; font-size:18px; margin-top:35px; }
.image-study figure figcaption { position:absolute;z-index:2;bottom:22px;right:var(--book-pad);font-size:12px;color:white; }
.photo-lab { padding-top:100px; }
.film-library { padding-top:20px; }
.film-library h3 { font-size:52px; }
.film-poster { border-radius:0; }
.film-poster img { transition:transform .4s ease; }
.film-poster:hover img { transform:scale(1.025); }
.application-grid { display:grid;grid-template-columns:1fr 1fr;gap:55px 35px; }
.application-grid article { min-width:0; }
.application-grid article:first-child { grid-column:1/-1; display:grid;grid-template-columns:2fr 1fr;gap:20px 60px;align-items:start; }
.application-grid article:first-child>span { grid-column:2;grid-row:1;align-self:end;margin-top:20px; }
.application-grid article:first-child>a { grid-column:1;grid-row:1/5; }
.application-grid article:first-child>h3,.application-grid article:first-child>p { grid-column:2; margin:0; }
.application-grid article:first-child>p { max-width:32ch; }
.application-grid .work-zoom { display:block;background:var(--mist);aspect-ratio:auto; }
.application-grid article:first-child .work-zoom img { width:100%;height:auto;aspect-ratio:4/3;object-position:top;object-fit:cover; }
.application-grid article:not(:first-child) .work-zoom img { width:100%;aspect-ratio:4/3;object-fit:cover; }
.application-grid h3 { font-size:36px; }
.application-grid article p { font-size:16px; }
.applications header { margin-bottom:60px; }
.applications { padding-top:110px;padding-bottom:110px; }
.voice-section { padding-top:110px; }
.voice-intro h2 { font-size:clamp(54px,5.8vw,86px); }
.book-messaging { padding:100px var(--book-pad);background:var(--pink);display:grid;grid-template-columns:1fr 1.5fr;gap:9vw; }
.book-messaging .eyebrow { color:var(--ink); }
.book-messaging dl { margin:0; }
.book-messaging dl>div { border-top:1px solid #19191950;padding:25px 0; }
.book-messaging dt { font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:650;margin-bottom:15px; }
.book-messaging dd { font:650 32px/1.15 Bricolage,sans-serif;letter-spacing:-.02em;margin:0; }
.book-messaging dd small { display:block;font:400 15px/1.6 Inter,sans-serif;letter-spacing:0;max-width:48ch;margin-top:16px; }
.downloads { padding-top:110px; }
.checks { background:var(--mist); }
footer { padding:80px var(--book-pad); }
footer>img { width:clamp(200px,30vw,450px); }
.has-js .lab-toolbar { display:flex!important; }.has-js .choice-group { display:flex!important; }
.has-js .type-controls { display:grid!important; }.has-js .contrast-lab { display:grid!important; }
.has-js .motion-actions,.has-js .motion-steps { display:flex!important; }

@media (min-width:901px) and (prefers-reduced-motion:no-preference) {
  .book-scroll .book-hero { height:calc(var(--scene) * 3); min-height:1800px; }
  .book-scroll .book-hero-stage { position:absolute;inset:0 0 auto;height:var(--scene);min-height:600px; }
  .book-scroll .book-hero-sticky { position:sticky;top:80px;height:var(--scene);min-height:600px;overflow:hidden; }
  .book-scroll .book-hero-panel { position:absolute;inset:0;min-height:0;padding-top:36px;padding-bottom:36px; }
  .book-scroll .opportunity-panel { transform:translateX(var(--wipe,100%));padding:0;overflow:hidden; }
  .book-scroll .book-panel-inner { position:absolute;inset:0;transform:translateX(var(--counter-wipe,-100%));padding:36px var(--book-pad);display:flex;flex-direction:column;justify-content:center;align-items:flex-start; }
  .book-scroll .book-hero-panel img { margin-bottom:32px; }
  .book-scroll .book-panel-note { margin-top:30px; }
  .book-scroll .book-continue { margin-top:20px; }
}
@media(max-width:1150px) {
 .site-header .act-navigation { gap:16px;font-size:13px; }.header-actions { gap:14px; }.header-actions .asset-link { display:none; }
 .book-hero-bottom p { margin-right:0; }
 .book-act-number { font-size:80px; }
 .book-depth { gap:7vw; }.application-grid article:first-child { gap:20px 30px; }
 .application-grid h3 { font-size:30px; }
}
@media(max-width:900px) {
 :root { --scene:calc(100svh - 72px);--book-pad:6vw;--header:120px; }
 .site-header { height:72px;grid-template-columns:1fr auto;padding:0 var(--book-pad); }
 .site-header .act-navigation { display:none; }.header-actions .text-button { display:none!important; }
 .chapter-rail { top:72px;padding-left:var(--book-pad); }
 .book-hero-stage { min-height:630px; }.book-hero-copy { bottom:65px; }
 .book-hero h1 { font-size:clamp(72px,12vw,105px); }
 .book-hero-bottom { display:block;margin-top:32px; }.book-hero-bottom p { margin-top:28px;font-size:15px; }
 .book-hero-panel { min-height:500px; padding:65px var(--book-pad); }
 .book-thesis { font-size:clamp(70px,12vw,112px); }.book-panel-note { font-size:17px; }
 .book-preface { grid-template-columns:1fr;gap:22px;padding:50px var(--book-pad); }
 .book-preface .eyebrow { margin:0; }.book-preface>p:nth-child(2) { font-size:21px;max-width:36ch; }
 .book-act { min-height:480px;gap:55px;padding:65px var(--book-pad) 45px; }
 .book-act-heading { grid-template-columns:70px 1fr;gap:22px; }.book-act-number { font-size:52px; }
 .book-act h2 { font-size:clamp(56px,9.8vw,80px); }.book-act .eyebrow { margin-bottom:22px; }
 .book-act-bottom { margin:0;gap:32px;grid-template-columns:1fr; }.book-act-bottom p { font-size:18px; }
 .book-depth { padding:65px var(--book-pad);grid-template-columns:1fr;gap:45px; }
 .book-depth h3 { font-size:42px;max-width:20ch; }.book-depth-rules { max-width:65ch; }
 .book-method { padding:65px var(--book-pad); }.method-grid { grid-template-columns:1fr 1fr;gap:28px; }
 .method-grid h4 { font-size:29px; }
 .identity-intro { padding-top:75px; }.logo-stage { min-height:340px; }
 .logo-boundary { padding:24px; }.logo-boundary img { width:min(600px,69vw); }
 .logo-stage.show-space .logo-boundary:before { font-size:10px;white-space:normal; }
 .colour-application { padding:25px;min-height:400px; }.colour-statement { font-size:clamp(45px,8vw,75px); }
 .colour-application-note { gap:12px;flex-direction:column;align-items:flex-start; }
 .image-study { min-height:680px;padding:65px var(--book-pad); }.image-study h2 { font-size:80px; }
 .image-study-copy>p:last-child { font-size:17px; }.image-study figure img { object-position:62% 50%; }
 .photo-lab { padding-top:70px; }.film-library h3 { font-size:40px; }
 .application-grid { grid-template-columns:1fr;gap:45px; }.application-grid article:first-child { display:block; }
 .application-grid article:first-child>span { display:block;margin:0 0 16px; }
 .application-grid article:first-child>h3 { margin-top:24px; }.application-grid article:first-child>p { margin-top:16px;max-width:45ch; }
 .applications,.voice-section,.downloads { padding-top:70px;padding-bottom:70px; }
 .voice-intro h2 { font-size:54px; }.book-messaging { padding:65px var(--book-pad);grid-template-columns:1fr;gap:40px; }
 .book-messaging dd { font-size:29px; }footer { padding:50px var(--book-pad); }
}
@media(max-width:480px) {
 .brand-mark img { width:130px; }.chapter-toggle { padding:10px 12px;font-size:12px; }.chapter-toggle span { margin-left:8px; }
 .book-hero-copy .eyebrow { font-size:10px;margin-bottom:30px; }.book-hero h1 { font-size:clamp(60px,16.5vw,79px); }
 .book-act-heading { grid-template-columns:44px 1fr;gap:18px; }.book-act-number { font-size:35px; }.book-act h2 { font-size:56px; }
 .book-act { min-height:430px; }.method-grid { gap:25px 18px; }.method-grid h4 { font-size:25px; }.method-grid p { font-size:16px; }
 .image-study h2 { font-size:69px; }.image-study { min-height:650px; }.image-study-copy>p:last-child { max-width:28ch; }
 .book-messaging dd { font-size:27px; }.book-panel-note br { display:none; }.book-panel-note { max-width:28ch; }
 .book-hero-panel { min-height:460px; }.book-hero-panel img { width:165px; }.book-thesis { font-size:72px; }
 .colour-application-note { font-size:12px; }.logo-stage { min-height:285px; }.stage-caption { left:15px;font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 .book-hero-photo,.film-poster img { transform:none!important;transition:none!important; }
}
@media print {
 :root { --book-pad:0; }
 main { overflow:visible; }.book-hero { height:auto!important;min-height:0!important;break-after:page; }
 .book-hero-stage { position:relative!important;height:155mm!important;min-height:0!important; }
 .book-hero-copy { inset:auto 12mm 15mm; }.book-hero-copy .eyebrow { font-size:10pt; }
 .book-hero h1 { font-size:56pt; }.book-hero-bottom { margin-top:9mm; }.book-hero-bottom a,.book-image-credit { display:none; }
 .book-hero-bottom p { font-size:11pt; }.book-hero-sticky { position:static!important;height:auto!important;min-height:0!important;display:grid;grid-template-columns:1fr 1fr; }
 .book-hero-panel { position:relative!important;inset:auto!important;min-height:0!important;padding:10mm!important;transform:none!important; }
 .book-panel-inner { position:static!important;padding:0!important;transform:none!important; }
 .book-hero-panel img { width:100px;margin-bottom:5mm!important; }.book-thesis { font-size:32pt; }.book-panel-note { font-size:10pt;margin-top:5mm!important; }.book-continue { display:none; }
 .book-preface { display:block;padding:8mm 0; }.book-preface>p:nth-child(2) { font-size:14pt; }.book-preface>a { display:none; }
 .book-act { min-height:0;padding:12mm 8mm;gap:10mm;break-before:page;break-after:avoid; }
 .book-act-heading { grid-template-columns:20mm 1fr;gap:7mm; }.book-act-number { font-size:32pt; }.book-act h2 { font-size:44pt; }
 .book-act-bottom { margin:0;display:block; }.book-act-bottom p { font-size:12pt; }.book-act nav { display:none; }
 .book-depth,.book-method,.book-messaging { padding:10mm 0;gap:8mm;break-inside:auto; }
 .book-depth h3,.book-method h3,.book-messaging h3 { font-size:27pt; }.book-depth-rules h4 { font-size:16pt; }
 .book-depth p,.book-depth-rules p,.method-grid p,.book-messaging small { font-size:10pt!important; }
 .book-depth-rules article { padding:4mm 0;break-inside:avoid; }.book-method { padding:10mm; }
 .book-method header { margin-bottom:8mm; }.method-grid { gap:5mm; }.method-grid h4 { font-size:18pt; }.book-method>a { display:none; }
 .logo-stage { min-height:55mm; }.logo-boundary img { width:110mm; }
 .colour-application { min-height:0;padding:8mm;margin:8mm 0; }.colour-statement { font-size:32pt;margin:8mm 0; }
 .colour-application-note { font-size:8pt; }.image-study { min-height:125mm;padding:10mm; }.image-study h2 { font-size:42pt; }.image-study-copy>p:last-child { font-size:11pt;max-width:38ch; }
 .application-grid { grid-template-columns:1fr 1fr;gap:7mm; }.application-grid article:first-child { display:grid;grid-template-columns:1.5fr 1fr;gap:5mm; }
 .application-grid h3 { font-size:20pt; }.applications,.voice-section,.downloads { padding:10mm 0; }
 .book-messaging { padding:10mm;grid-template-columns:1fr 1.5fr; }.book-messaging dd { font-size:18pt; }.book-messaging dl>div { padding:5mm 0; }
 .book-messaging dt { font-size:8pt; }footer { padding:10mm; }footer>img { width:60mm; }
}
@media print {
 body.has-js .js-only.js-only { display:none!important; }
 .book-preface { display:none!important; }
 main>section { padding:8mm 0!important; }
 main>.book-hero { padding:0!important; }
 .book-act { padding:12mm 8mm!important;break-after:avoid; }
 .book-act-heading { grid-template-columns:20mm 1fr!important; }
 .identity-intro,.voice-section { break-before:auto!important; }
 .book-depth { display:grid!important;grid-template-columns:1fr 1fr!important;break-inside:avoid; }
 .book-depth h3 { font-size:25pt; }
 .book-method { padding:8mm!important;break-inside:avoid; }
 .method-grid { grid-template-columns:repeat(4,1fr)!important; }
 .method-grid h4 { font-size:16pt;margin:5mm 0; }
 .book-messaging { padding:10mm!important;break-inside:avoid; }
 .book-messaging dl>div { padding:4mm 0; }
 .book-messaging small { margin-top:3mm!important; }
 .image-study { padding:10mm!important;min-height:120mm; }
 .image-study figure img { height:100%!important; }
 .image-study-copy,.image-study-copy>p:last-child { color:white!important; }
 .image-study .eyebrow { color:var(--yellow)!important; }
 .photo-lab { break-inside:avoid; }
 .film-library { break-inside:avoid; }
 .film-library h3 { font-size:26pt; }
 .grain-field { min-height:290px; }
 .interface-card { transform:none!important; }
 .application-grid { grid-template-columns:1fr 1fr!important; }
 .application-grid article:first-child { display:grid!important; }
 .application-grid article:first-child>span { margin-top:0; }
 .application-grid article:first-child .work-zoom img { height:62mm; }
 .application-grid article:not(:first-child) .work-zoom img { height:46mm; }
 .application-grid h3 { font-size:18pt!important;margin-top:4mm!important; }
 .applications header { margin-bottom:7mm; }
 .checks { break-inside:avoid; }
 footer { break-inside:avoid; }
}
