/* Site frame. Geometry belongs here; paper, light and ink belong to the live kit. */
.f-page { margin:0; background:var(--color-surface-page); }
.f-page [hidden] { display:none !important; }
.f-wrap { width:calc(100% - 96px); max-width:1344px; margin-inline:auto !important; }
.f-page a { color:inherit; text-underline-offset:4px; }
.f-page button,.f-page input,.f-page textarea { font:inherit; }
.f-page button { cursor:pointer; }
.f-page :focus-visible { outline:3px solid var(--color-focus-ring); outline-offset:4px; }
.f-page p { text-wrap:pretty; }
.f-page h1,.f-page h2 { font-family:var(--p-font-family-display); font-weight:400; }
.f-h1 { font-size:50px; line-height:56px; letter-spacing:-.025em; max-width:888px; text-wrap:balance; }
.f-page h2 { font-size:28px; line-height:32px; letter-spacing:-.012em; }
.f-skip { position:absolute; z-index:100; left:16px; top:0; padding:12px 20px; background:var(--color-paper); transform:translateY(-120%); }
.f-skip:focus { transform:translateY(8px); }
.f-button { font:500 16px/24px var(--p-font-family-working); padding:12px 24px; min-height:48px; border:0; background:var(--color-text-primary); color:var(--color-paper) !important; border-radius:999px; white-space:nowrap; }
.f-button:hover { box-shadow:none; }
.f-text-link { color:var(--color-accent-text) !important; font-size:16px; }
.f-action { margin-top:32px; }
.f-action .f-action-line { margin-top:16px; font-size:16px; line-height:24px; color:var(--color-text-secondary); }
.f-opening { padding-top:96px; }
.f-opening .f-h1 { margin-top:24px; }
.f-lead { font-size:21px; line-height:28px; color:var(--color-text-secondary); max-width:660px; margin-top:24px !important; }
.f-opening-sample { padding-bottom:96px; }
.f-opening-sample + .f-opening-sample { border-top:1px solid var(--color-line-construction); }
.f-page > main > .k-fiction { padding-bottom:32px; }
.f-letterhead,.f-page .k-letterhead { white-space:nowrap; }
.f-object .k-figure,.f-object time,.f-object .k-inline-person { white-space:nowrap; }

/* The header, including actual disclosure states. */
.f-header { position:relative; border-bottom:1px solid var(--color-line-construction); background:var(--color-surface-page); z-index:50; }
.f-header-inner { height:74px; display:flex; align-items:center; gap:32px; }
.f-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; white-space:nowrap; font-size:16px; line-height:24px; flex:none; }
.f-ring { width:31px; height:32px; }
.f-navigation { display:flex; align-items:center; justify-content:space-between; flex:1; gap:24px; margin-left:calc(100% / 12); }
.f-nav-links { display:flex; align-items:center; gap:24px; }
.f-nav-link { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:none; text-decoration:none; font-size:16px; line-height:24px; white-space:nowrap; position:relative; }
.f-nav-link > svg { width:10px; height:10px; fill:none; stroke:var(--color-text-primary); stroke-width:1.5px; }
.f-nav-link[aria-expanded="true"] > svg { rotate:180deg; }
.f-nav-link[aria-current],.f-current { position:relative; }
.f-nav-link[aria-current]::after,.f-current::after { content:""; position:absolute; left:calc(50% - 4px); bottom:-28px; width:8px; height:8px; background:var(--color-text-primary); }
.f-nav-link:hover { text-decoration:underline; }
.f-phone-toggle { display:none; }
.f-menu-panel { border-top:1px solid var(--color-line-construction); padding:32px 0 48px; }
.f-mega-heading { display:flex; align-items:baseline; justify-content:space-between; padding-bottom:24px; }
.f-menu-all { font:400 28px/32px var(--p-font-family-display); text-decoration:none; }
.f-service-register { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.f-menu-stage { min-height:220px; display:grid; grid-template-columns:1fr 280px; align-items:center; column-gap:24px; padding:16px 0; border-top:1px solid var(--color-line-construction); }
.f-menu-title { font:400 28px/32px var(--p-font-family-display); text-decoration:none; display:inline-block; }
.f-menu-title[aria-current]::before { content:""; width:7px; height:7px; background:var(--color-text-primary); display:inline-block; margin-right:8px; vertical-align:middle; }
.f-menu-words p { font-size:16px; line-height:24px; color:var(--color-text-secondary); margin-top:8px; max-width:240px; }
.f-menu-drawing { display:flex; justify-content:center; align-items:center; min-height:180px; position:relative; --k-lx:.6; }
.f-menu-drawing > .f-object { position:relative; }
.f-mini-note { width:220px; rotate:-4deg; }
.f-mini-note .k-body { padding:12px; }
.f-mini-note .f-note-contents li { padding-block:5px; font-size:8px; line-height:11px; }
.f-mini-pack { margin-right:60px; width:220px; min-height:208px; --k-body-size:7px; --k-body-leading:10px; }
.f-mini-pack .k-body { padding:12px 12px 12px 30px; }
.f-mini-pack .k-doc-title { font-size:11px; line-height:16px; }
.f-mini-pack .k-pack__job { margin-top:8px; padding-block:6px; }
.f-mini-pack .k-register { font-size:7px; line-height:9px; }
.f-mini-pack .k-register td { padding-block:2px; }
.f-mini-pack .k-key { font-size:8px; line-height:11px; }
.f-mini-pack .k-signature { margin-top:8px !important; padding-top:6px; }
.f-mini-pack .k-stamp { display:none; }
.f-mini-pack .k-pack__spine { width:14px; }
.f-mini-pack .k-tabs { right:-60px; top:44px; }
.f-mini-pack .k-tabs span { width:76px; padding:4px 4px 4px 32px; font-size:7px; line-height:10px; white-space:nowrap; }
.f-mini-month { width:218px; rotate:3deg; }
.f-mini-roadmap { width:240px; }
.f-mini-roadmap .k-roadmap__axis,.f-mini-roadmap .k-roadmap__run { grid-template-columns:74px repeat(5,1fr); }
.f-mini-roadmap .k-roadmap__axis { font-size:7px; line-height:10px; margin-top:20px; }
.f-mini-roadmap .k-roadmap__run { min-height:28px; }
.f-mini-roadmap .k-roadmap__run > span:first-child { font-size:7px; line-height:9px; padding-right:6px; }
.f-mini-roadmap .k-roadmap__now { left:calc(74px + (100% - 74px) / 5); }
.f-mini-backlog { width:208px; rotate:-2deg; }
.f-mini-week { width:240px; rotate:2deg; }
.f-header-context { padding-block:96px 112px; }
.f-header-context h1 { margin-top:24px; }
.f-header-state { margin-top:64px; border-top:1px solid var(--color-line-construction); }
.f-header-state:last-of-type { margin-bottom:48px; }
.f-audience-register { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; }
.f-audience-register > li { border-top:1px solid var(--color-line-construction); padding-top:24px; }
.f-audience-title { font:400 28px/32px var(--p-font-family-display); text-decoration:none; display:block; max-width:300px; }
.f-audience-object { position:relative; height:296px; display:flex; justify-content:center; align-items:center; margin-top:24px; }
.f-mini-blueprint { width:232px; rotate:-3deg; }
.f-mini-blueprint .k-body { padding:16px 16px 16px 36px; }
.f-cover-list { margin-top:12px !important; }
.f-cover-list li { padding:6px 0; box-shadow:inset 0 calc(-1 * var(--k-hair)) var(--color-line-construction); }
.f-mini-folder { width:320px; height:300px; }
.f-mini-folder .k-folder__leaf { width:240px; height:240px; }
.f-mini-folder .k-folder__leaf--quote { left:24px; top:8px; transform:none; }
.f-mini-folder .k-folder__leaf--variation { display:none; }
.f-mini-folder .k-folder__leaf--week { display:none; }
.f-mini-folder .k-folder__pocket { height:104px; padding:12px 16px; }
.f-mini-folder .k-folder__index { gap:8px; }
.f-audience-object > .f-mini-roadmap { width:320px; rotate:2deg; }

.f-mini-folder .k-folder__leaf--quote .k-footline,
.f-preview-trades .k-folder__leaf--quote .k-footline { margin-top:8px !important; }
.f-mini-folder .k-folder__leaf--quote > .k-body > .k-doc-subtitle:last-child,
.f-preview-trades .k-folder__leaf--quote > .k-body > .k-doc-subtitle:last-child { margin-top:24px !important; }

/* A note's five contents are real headings, never empty value fields. */
.f-fit-note .k-body { padding:16px; }
.f-fit-note .k-doc-title { font-size:21px; line-height:28px; }
.f-note-contents { margin:12px 0 8px !important; counter-reset:heading; }
.f-note-contents li { counter-increment:heading; display:grid; grid-template-columns:16px 1fr; gap:8px; padding:6px 0; box-shadow:inset 0 calc(-1 * var(--k-hair)) var(--color-line-construction); font:400 9px/12px var(--p-font-family-display); }
.f-note-contents li::before { content:counter(heading,decimal-leading-zero); font:400 8px/16px var(--p-font-family-working); color:var(--color-text-tertiary); }
.f-fit-note .k-doc-subtitle { font-size:9px; line-height:12px; }
.f-fit-note .k-date { padding-block:4px; }

/* Openings meet their pictures. Light is below the papers, the subject crosses its upper edge. */
.f-preview { margin-top:48px; height:624px; --k-lx:.7; }
.f-preview-light { position:absolute; inset:64px -48px 0 0; border-radius:24px 0 0 24px; --k-pool-x:64%; --k-pool-y:38%; }
.f-preview-field { inset:112px 0 40px 34%; }
.f-preview .f-object { position:absolute; }
.f-preview-name { left:84px; top:78px; }
.f-preview-back { left:232px; top:128px; width:280px; z-index:3; }
.f-preview-subject { left:456px; top:-24px; width:432px; height:520px; z-index:6; }
.f-preview-subject .k-body { height:100%; }
.f-preview-subject .k-doc-title { font-size:38px; line-height:44px; }
.f-preview-side { left:984px; top:256px; width:252px; z-index:4; }
.f-preview-stop { position:absolute; left:calc(100% * 1130 / 1344 - 6px); top:544px; z-index:8; }
.f-route-phone { display:none; }
.f-preview-build { --k-lx:-.5; }
.f-preview-build .f-preview-light { border-radius:0 0 0 48px; --k-pool-x:72%; }
.f-preview-build .f-preview-back { width:352px; left:984px; top:256px; }
.f-preview-build .f-preview-side { width:280px; left:232px; top:136px; }
.f-preview-trades { --k-lx:.9; }
.f-preview-trades .f-preview-light { border-radius:24px 0 0 0; --k-pool-x:32%; }
.f-preview-trades .f-preview-back { left:208px; top:232px; width:360px; height:300px; }
.f-preview-trades .f-preview-back .k-folder__leaf--variation { display:none; }
.f-preview-trades .f-preview-back .k-folder__leaf--week { display:none; }
.f-preview-trades .f-preview-back .k-folder__leaf--quote { width:240px; height:240px; left:16px; top:8px; transform:none; }
.f-preview-trades .f-preview-back .k-folder__pocket { height:104px; padding:12px 16px; }
.f-preview-trades .f-preview-stop { left:calc(100% * 1216 / 1344 - 6px); top:410px; }
.f-preview-trades .f-preview-subject { left:484px; width:480px; height:480px; top:56px; --k-body-size:16px; --k-body-leading:24px; --k-key-size:21px; --k-key-leading:28px; }
.f-preview-trades .f-preview-subject > .k-body { display:flex; flex-direction:column; }
.f-preview-trades .f-preview-subject .k-detail { flex:1; display:flex; flex-direction:column; }
.f-preview-trades .f-preview-subject .k-letterhead { font-size:11px; line-height:16px; }
.f-preview-trades .f-preview-subject .k-register th { font-size:12px; line-height:16px; }
.f-preview-trades .f-preview-subject .k-doc-subtitle,.f-preview-trades .f-preview-subject .k-inline-person { font-size:12px; line-height:16px; }
.f-preview-trades .f-preview-subject .k-signature > .k-inline-person { display:flex; }
.f-invoice-job { font-size:12px; line-height:16px; margin-top:16px !important; }
.f-preview-trades .f-preview-subject .k-register { margin-top:24px; }
.f-preview-trades .f-preview-subject .k-register td { padding-block:12px; }
.f-preview-trades .f-preview-subject .k-signature { margin-top:auto !important; }
.f-preview-trades .f-preview-side { width:176px; left:auto; right:28px; top:112px; min-height:244px; }

/* Long page furniture: four columns of heading, six of text, two of air. */
.f-section { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:min-content 1fr; column-gap:24px; row-gap:0; align-items:start; border-top:1.5px solid var(--color-line-structure); margin-top:96px; padding-top:16px; }
.f-hanging { grid-column:1/5; grid-row:1; padding-right:24px; }
.f-body { grid-column:5/11; grid-row:1 / span 2; font-size:16px; line-height:24px; color:var(--color-text-secondary); }
.f-body > p + p,.f-body > blockquote + p,.f-body > p + blockquote { margin-top:24px; }
.f-body > blockquote + a { display:inline-block; margin-top:16px; }
.f-section > .f-margin { grid-column:1/5; grid-row:2; margin-right:24px; }
.f-body strong { font-weight:500; color:var(--color-text-primary); }
.f-sentence { font:400 28px/36px var(--p-font-family-display); color:var(--color-text-primary); }
.f-list-rows > li { padding:16px 0; border-bottom:1px solid var(--color-line-construction); }
.f-list-rows > li:first-child { padding-top:0; }
.f-margin { margin-top:32px !important; max-width:100%; }
.f-margin-scene { height:264px; margin-top:20px !important; width:358px; max-width:100%; }
.f-fragment { position:absolute; left:16px; top:0; width:240px; z-index:3; }
.f-fragment .k-cite-pin { display:none; }
.f-price-line { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding-right:6px; }
.f-price-line > .k-figure { flex:none; }
.f-margin-stop { position:absolute; left:calc(100% * 186 / 358 - 6px); top:210px; z-index:4; }
.f-margin-stop .k-person__name { font-size:16px; line-height:24px; }
.f-margin-stop .k-person__role { font-size:12px; line-height:16px; }
.f-margin-doc { padding:32px 8px 0; }
.f-fragment-tests { width:100%; max-width:340px; }
.f-fragment-tests .k-body { padding:12px; }
.f-fragment-tests .k-register strong { white-space:nowrap; }
.f-margin-marks { margin-top:24px !important; }
.f-margin-marks li { display:flex; align-items:center; gap:16px; padding:12px 0; box-shadow:inset 0 calc(-1 * var(--k-hair)) var(--color-line-construction); }
.f-pull { margin-top:96px !important; padding-top:16px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; border-top:1.5px solid var(--color-line-structure); }
.f-pull > p { grid-column:1/3; }
.f-pull blockquote { grid-column:3/11; font:400 28px/36px var(--p-font-family-display); }
.f-guarantee-quote { font:400 28px/36px var(--p-font-family-display); color:var(--color-text-primary); padding-block:24px; border-block:1px solid var(--color-line-construction); }

/* The last picture and the complete four-group footer. */
.f-close { margin-top:96px !important; border-top:1.5px solid var(--color-line-structure); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; padding-block:48px 64px; }
.f-close-copy { grid-column:1/7; }
.f-close-copy h2 { font-size:38px; line-height:44px; max-width:570px; }
.f-close-copy > p { margin-top:24px; color:var(--color-text-secondary); max-width:580px; }
.f-close-picture { grid-column:8/13; height:368px; --k-lx:-.6; }
.f-close-light { position:absolute; inset:48px 64px 8px 32px; border-radius:0 0 0 48px; --k-pool-x:66%; --k-pool-y:12%; }
.f-close-note { width:260px; position:absolute; top:-24px; left:112px; z-index:4; rotate:4deg; }
.f-note-folder { position:absolute; width:276px; height:220px; left:48px; top:104px; background:var(--k-stock-cover) var(--k-grain-cover); border-radius:2px; box-shadow:var(--k-sh-base),var(--k-sh-contact); rotate:-5deg; }
.f-folder-tab { position:absolute; left:0; top:-20px; width:80px; height:22px; padding:4px 12px; font:400 9px/12px var(--p-font-family-working); border-radius:8px 12px 0 0; background:var(--k-stock-cover) var(--k-grain-cover); }
.f-note-folder::after { content:""; position:absolute; left:0; right:0; bottom:64px; height:1px; background:var(--k-mat-shade-090); }
.f-folder-title { position:absolute; left:16px; bottom:20px; font:400 16px/24px var(--p-font-family-display); }
.f-close-main .f-close { border-top:0; margin-top:96px !important; padding-top:0; }
.f-footer { border-top:1px solid var(--color-line-construction); padding:40px 0 24px; }
.f-footer-top { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; }
.f-footer-top > a { grid-column:1/5; }
.f-footer-top > p { grid-column:5/11; color:var(--color-text-secondary); }
.f-footer-nav { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; margin-top:48px; }
.f-footer-group { grid-column:span 3; }
.f-footer-group h2 { font-size:16px; line-height:24px; }
.f-footer-group ul { margin-top:16px; }
.f-footer-group li + li { margin-top:8px; }
.f-footer-group a { text-decoration:none; font-size:16px; line-height:24px; }
.f-footer-group a:hover { text-decoration:underline; }
.f-legal { font-size:12px; line-height:16px; color:var(--color-text-tertiary); margin-top:48px !important; padding-top:16px; border-top:1px solid var(--color-line-construction); }

/* Booking: the usable form is the foreground, the note and the diary are tangible. */
.f-booking-layout { padding-top:96px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; }
.f-booking-intro { grid-column:1/7; }
.f-booking-intro .f-h1 { margin-top:24px; }
.f-booking-stage { grid-column:7/13; min-height:840px; --k-lx:.8; }
.f-booking-light { position:absolute; inset:24px -48px 0 80px; border-radius:24px 0 0 24px; --k-pool-x:36%; --k-pool-y:28%; }
.f-booking-field { left:120px; right:0; top:112px; bottom:80px; }
.f-booking-note { position:absolute; width:300px; right:4px; top:-16px; z-index:2; rotate:0deg; }
.f-booking-note .k-body { padding:20px; }
.f-booking-note .f-note-contents li { padding:6px 0; }
.f-booking-form { position:relative; width:408px; margin-top:224px; margin-left:0; z-index:5; background:var(--color-paper) var(--k-grain-paper); border-radius:2px; padding:28px 32px 32px; box-shadow:var(--k-sh-base),var(--k-sh-reach); }
.f-booking-note .k-date,.f-booking-note .k-doc-subtitle { margin-left:100px; }
.f-field + .f-field { margin-top:24px; }
.f-field label { display:block; margin-bottom:8px; font-weight:500; }
.f-field label span { color:var(--color-text-secondary); font-weight:400; }
.f-field input,.f-field textarea { border:1px solid var(--color-input-border); border-radius:2px; background:var(--color-paper); font-size:16px; line-height:24px; padding:10px 12px; min-height:48px; width:100%; display:block; }
.f-field textarea { min-height:96px; resize:vertical; }
.f-field p { margin-top:8px; font-size:12px; line-height:16px; color:var(--color-text-secondary); }
.f-booking-form > .f-button { margin-top:28px; }
.f-booking-review { margin-top:72px !important; padding-top:24px; max-width:432px; border-top:1px solid var(--color-line-construction); }
.f-booking-review blockquote { font-size:28px; line-height:36px; }
.f-booking-review figcaption { font-size:12px; line-height:16px; max-width:none; }
.f-diary-mount { position:absolute; width:280px; right:12px; top:328px; z-index:4; }
.f-diary { width:280px; }
.f-diary .k-body { padding:24px 20px 24px 56px; }
.f-diary .k-doc-title { font-size:28px; line-height:32px; margin-top:0 !important; }
.f-diary-holes { position:absolute; left:10px; top:24px; bottom:24px; display:flex; flex-direction:column; justify-content:space-between; }
.f-diary-holes i { width:6px; height:6px; border-radius:50%; background:var(--color-surface-well-deep); box-shadow:inset 0 1px 1px var(--k-mat-shade-100); }
.f-diary-week,.f-diary-days { display:grid; grid-template-columns:repeat(7,1fr); }
.f-diary-week { margin-top:12px; padding-top:8px; border-top:1px solid var(--color-line-construction); color:var(--color-text-secondary); font-size:9px; line-height:16px; text-align:center; }
.f-diary-days { margin-top:8px; grid-auto-rows:32px; align-items:center; justify-items:center; font-size:12px; line-height:20px; }
.f-diary-days span { width:26px; height:26px; display:grid; place-items:center; }
.f-ringed-day { outline:1.5px solid var(--color-text-primary); outline-offset:-1px; border-radius:50%; rotate:-7deg; }
.f-booking-details { padding-block:64px 96px; }
.f-booking-details > section { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; border-top:1.5px solid var(--color-line-structure); padding-top:16px; }
.f-booking-details > section + section { margin-top:64px; }
.f-booking-details h2 { grid-column:1/5; padding-right:24px; }
.f-detail-copy { grid-column:5/11; }
.f-booking-details > section p { color:var(--color-text-secondary); }

/* Reading registers. Large paper, smaller marginal objects and a supporting stock edge. */
.f-register-stage { margin-top:96px !important; position:relative; padding:48px 0 64px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; --k-lx:.65; }
.f-register-light { position:absolute; inset:80px -48px 0 0; border-radius:24px 0 0 24px; --k-pool-x:68%; --k-pool-y:32%; }
.f-register-back { position:absolute; top:-24px; right:72px; width:276px; z-index:2; }
.f-nine-register { grid-column:5/13; grid-row:1; z-index:3; }
.f-nine-register > .k-body { padding:32px 40px; }
.f-nine-register > .k-body > .k-letterhead,.f-reviewer-paper > .k-body > .k-letterhead { font-size:11px; line-height:16px; }
.f-nine-register h2,.f-reviewer-paper h2 { font-size:38px; line-height:44px; margin-top:24px; }
.f-register-intro { font-size:16px; line-height:24px; color:var(--color-text-secondary); margin-top:16px !important; }
.f-parts-list { margin-top:32px !important; }
.f-part-row { display:grid; grid-template-columns:40px 1fr; gap:20px; padding:24px 0; box-shadow:inset 0 var(--k-hair) var(--color-line-construction); }
.f-part-number { font:400 21px/28px var(--p-font-family-display); color:var(--color-text-tertiary); }
.f-part-copy > strong { font-size:16px; line-height:24px; font-weight:600; }
.f-part-copy > p { font-size:16px; line-height:24px; color:var(--color-text-secondary); margin-top:8px; }
.f-register-figures { grid-column:1/5; grid-row:1; z-index:4; padding:24px 24px 0 0; display:flex; flex-direction:column; justify-content:space-around; }
.f-register-figures .f-margin { width:100%; margin-top:0 !important; }
.f-register-figures .f-margin-scene { width:100%; }
.f-inline-figure { display:none; }
.f-reviewer-stage { margin-top:96px !important; position:relative; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; padding:48px 0 64px; --k-lx:-.6; }
.f-reviewer-light { position:absolute; inset:72px -48px 0 0; border-radius:0 0 0 48px; --k-pool-x:64%; --k-pool-y:24%; }
.f-reviewer-backing { position:absolute; top:-40px; right:64px; width:360px; height:192px; z-index:2; }
.f-reviewer-backing .k-doc-title { font-size:21px; line-height:28px; margin-top:12px !important; }
.f-reviewer-aside { grid-column:1/4; grid-row:1; align-self:start; z-index:3; padding:64px 24px; }
.f-reviewer-aside > p:last-child { margin-top:32px; color:var(--color-text-secondary); font-size:12px; line-height:20px; }
.f-sealed-object { position:relative; width:192px; height:112px; margin-top:32px; padding:52px 16px 16px; border:1px solid var(--color-line-structure); background:var(--k-stock-cover) var(--k-grain-cover); }
.f-sealed-object::before { content:""; position:absolute; left:0; right:0; top:28px; border-top:1px solid var(--color-line-structure); }
.f-sealed-object::after { content:""; position:absolute; top:-1.5px; bottom:-1.5px; right:28px; width:12px; border-inline:1.5px solid var(--color-line-structure); }
.f-sealed-object > .f-seal-label { display:block; position:absolute; left:16px; top:8px; font:400 9px/12px var(--p-font-family-working); }
.f-sealed-object p { font:400 21px/28px var(--p-font-family-display); }
.f-reviewer-paper { grid-column:4/13; grid-row:1; z-index:5; }
.f-reviewer-paper .k-body { padding:32px 40px; }
.f-qa-head,.f-qa-row { display:grid; grid-template-columns:180px 1fr; gap:24px; }
.f-qa-head { margin-top:32px; border-bottom:1.5px solid var(--color-line-structure); padding-bottom:12px; font-size:12px; line-height:16px; color:var(--color-text-tertiary); }
.f-qa-row { padding:24px 0; box-shadow:inset 0 calc(-1 * var(--k-hair)) var(--color-line-construction); }
.f-qa-row dt { font:400 21px/28px var(--p-font-family-display); }
.f-qa-row dd { font-size:16px; line-height:24px; color:var(--color-text-secondary); }
.f-certification { margin-top:32px; padding-top:24px; border-top:1.5px solid var(--color-line-structure); }
.f-certification h3 { font:400 28px/36px var(--p-font-family-display); }
.f-certification p { font-size:16px; line-height:24px; margin-top:12px; }

@media(min-width:768px) {
 .f-preview-services .f-preview-back > .k-body { padding-right:72px; }
 .f-preview-services .f-preview-back .k-letterhead { gap:12px; }
 .f-preview-services .f-preview-back .k-date { justify-content:flex-start; gap:16px; }
 .f-preview-build .f-preview-side > .k-body { padding-right:72px; }
 .f-preview-build .f-preview-side .k-letterhead { gap:12px; }
 .f-mini-pack .k-register { margin-top:4px; }
 .f-mini-pack .k-tick { width:10px; height:10px; }
}

/* Narrow screens are composed again. Documents retain at least 240 px of paper. */
@media(max-width:1199px) {
 .f-navigation { margin-left:auto; }
 .f-nav-links { gap:12px; }
 .f-header-inner { gap:24px; }
 .f-nav-action { padding-inline:16px; }
 .f-wrap { width:calc(100% - 64px); }
 .f-menu-stage { grid-template-columns:1fr 220px; gap:16px; }
 .f-preview-back { left:40%; }
 .f-preview-subject { left:36%; width:400px; }
 .f-preview-side { left:auto; right:0; width:240px; }
 .f-preview-trades .f-preview-subject { left:40%; }
 .f-close-note { left:48px; }
 .f-booking-form { width:90%; margin-left:0; }
}
@media(max-width:1000px) {
 .f-header-inner { justify-content:space-between; }
 .f-phone-toggle { display:block; background:none; border:0; padding:12px 0 12px 20px; font-size:16px; }
 .f-navigation { display:none; }
 .f-navigation.f-navigation-open { display:flex; position:absolute; top:74px; left:0; right:0; padding:24px 32px; background:var(--color-surface-page); border-top:1px solid var(--color-line-construction); z-index:2; }
 .f-nav-links { flex-wrap:wrap; }
 .f-menu-panel { padding-top:112px; }
}
@media(max-width:767px) {
 .f-wrap { width:calc(100% - 32px); }
 .f-h1 { font-size:38px; line-height:44px; letter-spacing:-.025em; }
 .f-page h2 { font-size:21px; line-height:28px; }
 .f-opening { padding-top:48px; }
 .f-opening .f-h1 { margin-top:16px; }
 .f-lead { font-size:21px; line-height:28px; margin-top:24px !important; }
 .f-header-inner { height:74px; }
 .f-header-inner .f-brand { gap:10px; }
 .f-navigation.f-navigation-open { position:static; padding:24px 0 32px; flex-direction:column; align-items:stretch; border:0; width:100%; }
 .f-header-inner:has(.f-navigation-open) { flex-wrap:wrap; height:auto; min-height:74px; padding-top:20px; gap:0; }
 .f-nav-links { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
 .f-nav-link { padding:12px 0; border-top:1px solid var(--color-line-construction); font-size:16px; white-space:normal; }
 .f-nav-link[aria-current]::after,.f-current::after { bottom:4px; left:0; width:5px; height:5px; }
 .f-nav-action { align-self:flex-start; margin-top:8px; }
 .f-menu-panel { padding:24px 0 32px; }
 .f-mega-heading { padding-bottom:24px; }
 .f-mega-heading > .k-smallcaps { display:none; }
 .f-service-register,.f-audience-register { display:block; }
 .f-menu-stage { display:block; padding-block:24px 32px; }
 .f-menu-title,.f-audience-title { font-size:28px; line-height:32px; }
 .f-menu-words p { max-width:100%; }
 .f-menu-drawing { justify-content:flex-end; margin-top:20px; padding-right:16px; }
 .f-menu-drawing > .f-object { width:256px; }
 .f-menu-drawing .f-mini-pack { width:274px; margin-right:48px; --k-body-size:9px; --k-body-leading:12px; }
 .f-mini-pack .k-body { padding:16px 16px 16px 36px; }
 .f-mini-pack .k-register { font-size:9px; line-height:12px; }
 .f-mini-pack .k-register td { padding-block:4px; }
 .f-mini-pack .k-key { font-size:11px; line-height:16px; }
 .f-mini-pack .k-doc-title { font-size:21px; line-height:28px; }
 .f-mini-note { rotate:-3deg; }
 .f-mini-note .k-body { padding:16px; }
 .f-mini-note .f-note-contents li { font-size:10px; line-height:14px; padding-block:7px; }
 .f-mini-week,.f-mini-month { rotate:2deg; }
 .f-audience-register > li { margin-top:32px; }
 .f-audience-object { height:288px; margin-top:16px; }
 .f-mini-blueprint { width:256px; }
 .f-audience-object > .f-mini-roadmap { width:300px; }
 .f-mini-folder { width:300px; height:300px; }
 .f-mini-folder .k-folder__leaf { width:240px; }
 .f-mini-folder .k-folder__leaf--quote { left:24px; top:8px; rotate:0deg; transform:none; }
 .f-mini-folder .k-folder__leaf--variation { display:none; }
 .f-mini-folder .k-folder__pocket { height:104px; }
 .f-header-context { padding-block:48px 64px; }
 .f-header-state { margin-top:32px; }
 .f-preview { height:1152px; margin-top:64px; }
 .f-preview-light { inset:64px -16px 0 0; }
 .f-preview-name { top:18px; left:52px; font-size:16px; line-height:24px; }
 .f-preview-field { inset:112px 0 40px 24px; }
 .f-route-desktop { display:none; }
 .f-route-phone { display:block; width:100%; }
 .f-preview .f-preview-back { width:260px; left:48px; top:88px; z-index:3; }
 .f-preview .f-preview-subject { width:306px; left:16px; top:328px; z-index:6; height:484px; }
 .f-preview-subject .k-doc-title { font-size:28px; line-height:32px; }
 .f-preview .f-preview-side { width:256px; left:48px; right:auto; top:752px; z-index:4; }
 .f-preview-subject .k-tabs { display:none; }
 .f-preview-stop { left:calc(100% * 180 / 358 - 6px); top:1072px; }
 .f-preview-services .f-preview-back .k-date { margin-top:12px; }
 .f-preview-services .f-preview-side > .k-body { padding-top:76px; }
 .f-preview-build .f-preview-side > .k-body { padding-top:72px; }
 .f-preview-build .f-preview-back { width:288px; left:36px; }
 .f-preview-build .f-preview-subject { top:252px; }
 .f-preview-build .f-preview-side { top:692px; }
 .f-preview-trades { height:1260px; }
 .f-preview-trades .f-preview-back { width:300px; height:320px; left:28px; top:64px; }
 .f-preview-trades .f-preview-back .k-folder__leaf { width:240px; height:240px; left:28px; top:8px; transform:none; }
 .f-preview-trades .f-preview-back .k-folder__leaf--variation,.f-preview-trades .f-preview-back .k-folder__leaf--week { display:none; }
 .f-preview-trades .f-preview-back .k-folder__pocket { height:128px; }
 .f-preview-trades .f-preview-subject { left:0; top:336px; width:342px; height:568px; }
 .f-preview-trades .f-preview-subject .k-register td { padding-block:16px; }
 .f-preview-trades .f-preview-side { top:840px; left:58px; min-height:260px; }
 .f-preview-trades .f-preview-side > .k-body { padding-top:80px; }
 .f-preview-trades .f-preview-stop { left:calc(100% * 180 / 358 - 6px); top:1180px; }
 .f-opening-sample { padding-bottom:64px; }
 .f-section { display:flex; flex-direction:column; margin-top:64px; padding-top:16px; }
 .f-hanging { padding-right:0; }
 .f-body { margin-top:32px; }
 .f-sentence { font-size:28px; line-height:36px; }
 .f-margin { margin-top:24px !important; }
 .f-section > .f-margin { margin-right:0; }
 .f-margin-scene { height:264px; }
 .f-margin-doc { max-width:320px; margin-left:24px; }
 .f-margin-marks { max-width:288px; }
 .f-pull { display:block; margin-top:64px !important; }
 .f-pull blockquote { margin-top:24px; font-size:28px; line-height:36px; }
 .f-guarantee-quote { font-size:21px; line-height:28px; }
 .f-close { display:block; margin-top:64px !important; padding:32px 0 48px; }
 .f-close-copy h2 { font-size:38px; line-height:44px; }
 .f-close-picture { height:368px; margin-top:64px; }
 .f-close-light { inset:32px -16px 0 0; }
 .f-close-note { left:64px; width:260px; top:0; }
 .f-note-folder { left:24px; width:276px; top:128px; height:220px; }
 .f-close-main .f-close { margin-top:48px !important; }
 .f-footer { padding-top:32px; }
 .f-footer-top { display:block; }
 .f-footer-top p { margin-top:24px; }
 .f-footer-nav { grid-template-columns:1fr 1fr; gap:40px 24px; margin-top:40px; }
 .f-footer-group { grid-column:auto; }
 .f-footer-group h2 { font-size:16px; line-height:24px; }
 .f-footer-group li+li { margin-top:12px; }
 .f-legal { margin-top:40px !important; }
 .f-booking-layout { display:flex; flex-direction:column; gap:0; padding-top:48px; }
 .f-booking-intro .f-h1 { margin-top:16px; }
 .f-booking-review { margin-top:40px !important; max-width:100%; }
 .f-booking-review blockquote { font-size:21px; line-height:28px; }
 .f-booking-review figcaption { margin-top:16px; padding-top:12px; }
 .f-booking-stage { min-height:0; padding-bottom:40px; margin-top:48px; }
 .f-booking-light { inset:32px -16px 0 0; }
 .f-booking-field { inset:80px 0 48px 32px; }
 .f-booking-note { width:276px; right:22px; top:0; rotate:0deg; }
 .f-booking-note .f-note-contents { margin-top:12px !important; }
 .f-booking-note .f-note-contents li { padding-block:6px; }
 .f-booking-note .k-date,.f-booking-note .k-doc-subtitle { margin-left:0; }
 .f-booking-form { width:342px; max-width:100%; margin:228px 0 0; padding:24px; }
 .f-diary-mount { position:relative; top:auto; right:auto; width:280px; margin:32px 8px 0 auto; }
 .f-diary .k-body { padding-left:40px; }
 .f-booking-details { display:block; padding:48px 0 64px; }
 .f-booking-details > section { display:block; }
 .f-booking-details h2 { padding-right:0; }
 .f-detail-copy { margin-top:24px; }
 .f-booking-details > section+section { margin-top:48px; }
 .f-register-stage { display:flex; flex-direction:column; padding:32px 0 48px; margin-top:64px !important; }
 .f-register-light { inset:80px -16px 0 0; }
 .f-register-back { left:60px; right:auto; top:-40px; width:276px; }
 .f-nine-register { width:calc(100% - 12px); margin-left:12px; }
 .f-nine-register > .k-body { padding:24px; }
 .f-nine-register h2,.f-reviewer-paper h2 { font-size:28px; line-height:32px; }
 .f-part-row { grid-template-columns:24px 1fr; gap:12px; padding:24px 0; }
 .f-part-number { font-size:16px; line-height:24px; }
 .f-part-copy > strong,.f-part-copy > p { font-size:16px; line-height:24px; }
 .f-register-figures { display:none; }
 .f-inline-figure { display:block; grid-column:1/-1; padding:12px 0 8px; }
 .f-inline-figure .f-margin-doc { margin-left:0; padding-inline:0; }
 .f-inline-figure .f-margin { margin-top:0 !important; }
 .f-inline-figure .k-smallcaps { font-size:12px; line-height:16px; }
 .f-inline-figure .f-margin-scene { width:100%; }
 .f-inline-figure .f-fragment { left:0; }
 .f-register-figures .f-margin { max-width:100%; }
 .f-register-figures .f-margin-stop { left:152px; }
 .f-register-figures .f-fragment { left:8px; }
 .f-reviewer-stage { display:block; margin-top:64px !important; padding:0 0 48px; }
 .f-reviewer-light { inset:80px -16px 0 0; }
 .f-reviewer-backing { position:relative; inset:auto; width:280px; margin:0 0 -80px 56px; }
 .f-reviewer-aside { position:relative; padding:24px; max-width:300px; }
 .f-sealed-object { width:192px; margin-top:20px; }
 .f-reviewer-aside > p:last-child { margin-top:20px; }
 .f-reviewer-paper { width:calc(100% - 12px); margin-left:12px; position:relative; }
 .f-reviewer-paper .k-body { padding:24px; }
 .f-qa-head { display:none; }
 .f-reviewer-paper .f-qa { margin-top:24px; border-top:1.5px solid var(--color-line-structure); }
 .f-qa-row { display:block; padding:24px 0; }
 .f-qa-row dt { font-size:21px; line-height:28px; }
 .f-qa-row dd { margin-top:12px; }
 .f-certification h3 { font-size:21px; line-height:28px; }
}
@media(prefers-reduced-motion:reduce) { .f-page * { scroll-behavior:auto !important; transition:none !important; } }
@media print { .f-header,.f-footer,.f-action,.f-skip { display:none; } .f-wrap { width:100%; } }
