.pilot-page { --pilot-accent: #ab4608; --pilot-focus: #0e2a47; --pilot-muted: #526676; --pilot-field-border: #70808e; background: var(--paper); }
.pilot-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.pilot-header img { width: 210px; height: auto; }
.pilot-header > span { color: #596978; font-size: 13px; }
.pilot-skip { position: absolute; top: -100px; left: 20px; padding: 14px; background: white; z-index: 10; }
.pilot-skip:focus { top: 10px; }
.pilot-page :focus-visible { outline: 3px solid var(--pilot-focus); outline-offset: 5px; }
.pilot-page .site-footer { --pilot-focus: #f3a15e; }
.pilot-header-cta { display: inline-flex; gap: 24px; align-items: center; min-height: 44px; border-bottom: 2px solid var(--pilot-accent); font-size: 15px; font-weight: 650; }
.pilot-header-cta:hover { color: var(--pilot-accent); }
.pilot-title .pilot-kicker { color: var(--pilot-accent); font-size: 13px; font-weight: 650; margin: 0 0 18px; }
.pilot-action-row { display: flex; align-items: center; flex-wrap: wrap; gap: 22px 28px; }
.pilot-offer-summary { display: grid; gap: 4px; margin: 0; font-size: 13px; color: var(--pilot-muted); }
.pilot-offer-summary strong { color: var(--navy); font-size: 16px; }
.pilot-page .button-primary { background: var(--pilot-accent); border-color: var(--pilot-accent); color: white; min-height: 52px; }
.pilot-page .button-primary:hover { background: #893706; border-color: #893706; transform: none; }
.pilot-opening { display: grid; grid-template-columns: 1fr 3.2fr; gap: 48px; padding-block: 80px 86px; }
.pilot-margin { padding-top: 10px; font-size: 15px; color: #526676; }
.pilot-margin p { margin: 0; }
.pilot-margin p:first-child { color: var(--navy); font-weight: 650; }
.pilot-stroke { display: block; width: 42px; height: 3px; margin-block: 20px; background: var(--orange); }
.pilot-title h1 { font-size: clamp(38px, 4.5vw, 64px); letter-spacing: -2px; line-height: 1.12; }
.pilot-title h1 em { color: #b64c08; font-style: normal; }
.pilot-title > p { font-size: 20px; line-height: 1.65; margin: 28px 0; }
.pilot-story { display: grid; grid-template-columns: 1.2fr 1fr; align-items: start; gap: 70px; padding-bottom: 86px; }
.pilot-photo { margin: 0; }
.pilot-photo img { width: 100%; height: 570px; object-fit: cover; object-position: 43% center; }
.pilot-photo figcaption { padding: 16px 20px; border-left: 3px solid var(--pilot-accent); background: var(--sage); color: var(--navy); font-size: 14px; }
.pilot-letter { padding-top: 45px; }
.pilot-letter .eyebrow { font-size: 11px; color: #a5480d; }
.pilot-letter h2 { font-size: clamp(27px, 2.7vw, 36px); line-height: 1.25; letter-spacing: -0.8px; margin-bottom: 28px; }
.pilot-letter > p:not(.eyebrow) { font-size: 17px; line-height: 1.8; margin: 0 0 20px; }
.pilot-invitation { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; border-top: 2px solid var(--navy); padding-block: 54px 78px; }
.pilot-offer-heading .eyebrow { color: #a5480d; }
.pilot-offer-heading h2 { font-size: clamp(36px, 4vw, 54px); line-height: 1.16; letter-spacing: -1.4px; }
.pilot-offer-heading h2 em { color: #b64c08; font-style: normal; }
.pilot-offer-copy { padding-top: 28px; }
.pilot-offer-copy > p { font-size: 18px; line-height: 1.75; margin: 0 0 20px; }
.pilot-terms { border-left: 3px solid var(--orange); padding-left: 22px; margin-top: 28px; color: #526676; font-size: 14px; }
.pilot-terms p { margin: 0 0 10px; }
.pilot-contact { padding-block: 76px; }
.pilot-contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; }
.pilot-contact-intro h2 { color: var(--white); font-size: clamp(36px, 4vw, 52px); line-height: 1.14; margin-bottom: 24px; }
.pilot-contact-intro > p:not(.eyebrow) { font-size: 17px; line-height: 1.75; max-width: 340px; }
.pilot-signoff { margin-top: 50px; color: #d8e0e5; }
.pilot-signoff span { display: block; color: var(--orange-soft); font-weight: 650; margin-top: 8px; }
.pilot-page .footer-copy { display: flex; flex-wrap: wrap; gap: 24px; }
.pilot-page .button { white-space: normal; }
.pilot-next-note { border-left: 2px solid var(--orange-soft); padding-left: 22px; margin-top: 32px; max-width: 340px; }
.pilot-next-note h3 { color: white; font-size: 17px; margin-bottom: 10px; }
.pilot-next-note p { color: #d8e0e5; font-size: 16px; line-height: 1.7; }
.pilot-page .contact-form { align-content: start; background: var(--paper); padding: 36px; border-radius: 6px; gap: 20px; color: var(--navy); }
.pilot-form-heading { grid-column: 1 / -1; font-family: Poppins, sans-serif; font-weight: 700; font-size: 23px; margin: 0; }
.pilot-form-help { grid-column: 1 / -1; font-size: 14px; line-height: 1.6; color: var(--pilot-muted); margin: -8px 0 4px; }
.pilot-page .contact-form label, .pilot-page .contact-method legend { color: var(--navy); font-size: 14px; line-height: 1.5; }
.pilot-page .contact-form input, .pilot-page .contact-form textarea { font-size: 16px; background: white; color: var(--navy); border-color: var(--pilot-field-border); min-height: 48px; }
.pilot-page .contact-form input:focus, .pilot-page .contact-form textarea:focus { border-color: var(--navy); background: white; }
.pilot-page .contact-form textarea::placeholder { color: var(--pilot-muted); opacity: 1; }
.pilot-page .contact-method-options label { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 10px 12px; border: 1px solid var(--pilot-field-border); border-radius: 3px; }
.pilot-page .contact-method-options label:has(input:checked) { border-color: var(--navy); background: var(--sage); }
.pilot-page .contact-method-options input { position: static; width: 18px; height: 18px; min-height: 0; margin: 0; opacity: 1; accent-color: var(--navy); }
.pilot-page .contact-method-options span { padding: 0; border: 0; background: transparent; color: var(--navy); }
.pilot-page .contact-method-options input:checked + span { background: transparent; color: var(--navy); }
.pilot-page .contact-method-options input:focus-visible + span { outline: none; }
.pilot-page .contact-method-options label:focus-within { outline: 3px solid var(--navy); outline-offset: 3px; }
.pilot-page .form-note, .pilot-page .form-privacy { color: var(--pilot-muted); font-size: 13px; line-height: 1.65; }
.pilot-page .form-note { border-top: 1px solid var(--line); padding-top: 16px; }
.pilot-page .form-note[data-state="success"] { color: #205735; }
.pilot-page .form-note[data-state="error"] { color: #9b291b; }
.pilot-page .form-note a, .pilot-page .form-privacy a { color: var(--navy); }
.pilot-page .footer-copy a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
/* One visual story: scattered documents settle around the housing company. */
.pilot-opening { position: relative; padding-block: 72px 84px; }
.pilot-title h1 { font-size: clamp(38px, 4.8vw, 68px); letter-spacing: -.055em; }
.pilot-title h1 em { display: inline-block; }
.pilot-title .button span, .pilot-header-cta span { transition: transform .25s cubic-bezier(.22,1,.36,1); }
.pilot-title .button:hover span, .pilot-header-cta:hover span { transform: translate(3px,-3px); }
.pilot-memory { background: #081d31; color: #f5f3ed; padding: 62px 0 26px; position: relative; overflow: hidden; --pilot-focus: #f3a15e; }
.pilot-memory::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 50% 55%, #193d4b 0, transparent 65%); }
.pilot-memory > .content-wrap { position: relative; }
.memory-heading { display: flex; align-items: start; justify-content: space-between; gap: 35px; }
.memory-heading .eyebrow { color: #f3a15e; max-width: 170px; padding-top: 8px; }
.memory-heading h2 { color: #f5f3ed; font-size: clamp(28px,3.5vw,46px); line-height: 1.2; letter-spacing: -.045em; width: 72%; }
.memory-heading h2 span { color: #b7cbd0; }
.memory-figure { margin: 14px 0 0; }
.memory-scene { position: relative; height: 440px; max-width: 940px; margin: 0 auto; isolation: isolate; }
.memory-scene::before { content: ''; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(#718792 1px,transparent 1px),linear-gradient(90deg,#718792 1px,transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(ellipse,black,transparent 70%); }
.memory-orbit { position: absolute; border: 1px solid #48606c; border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(-18deg); pointer-events: none; }
.memory-orbit-outer { width: 80%; height: 66%; opacity: .45; }
.memory-orbit-inner { width: 61%; height: 49%; border-style: dashed; opacity: .5; }
.memory-building { position: absolute; width: 440px; height: 367px; left: 50%; top: 38%; transform: translate(-50%,-50%); overflow: visible; }
.building-ground { fill: #183544; stroke: #536e79; opacity: .45; transform: translateY(-10px) scale(.88); transform-origin: center; }
.building-left { fill: #223f50; stroke: #8ba5ae; }
.building-right { fill: #284958; stroke: #8ba5ae; }
.building-roof { fill: #1d394b; stroke: #b2c5c9; }
.building-face { fill: #123044; stroke: #8ba5ae; }
.building-lines { fill: #f3a15e; stroke: #ffc08b; stroke-width: .5; }
.building-lines path { opacity: 0; }
@media(prefers-reduced-motion: reduce) { .building-lines path { opacity: 1; } }
.building-windows-unlit { fill: #091c29; stroke: #718792; stroke-width: .5; }
.building-ridge { stroke: #e7b082; stroke-width: 1.3; }
.memory-document { position: absolute; width: 226px; padding: 18px; display: flex; align-items: center; gap: 14px; border: 1px solid #58717e; border-radius: 3px; background: #112d40; box-shadow: 0 18px 40px #0003; color: #f5f3ed; font-size: 16px; }
.memory-document small { display: block; margin-top: 5px; color: #b7cbd0; font-size: 12px; }
.document-mark { display: grid; place-items: center; width: 32px; height: 40px; border: 1px solid #f3a15e; color: #f3a15e; flex-shrink: 0; }
.memory-document i { position: absolute; height: 1px; background: #db8c4b; width: 55px; }
.memory-document-minutes { left: 4%; top: 18%; }
.memory-document-minutes i { right: -55px; }
.memory-document-contract { right: 2%; top: 34%; }
.memory-document-contract i { left: -55px; }
.memory-document-history { left: 12%; bottom: 10%; }
.memory-document-history i { right: -55px; }
.memory-center-label { position: absolute; bottom: 22%; left: 50%; transform: translateX(-50%); color: #f3a15e; font-size: 10px; letter-spacing: .16em; white-space: nowrap; }
.memory-figure figcaption { text-align: center; color: #d7e1e2; line-height: 1.65; font-size: 16px; padding-bottom: 40px; }
.memory-caption-line { display: block; width: 1px; height: 35px; background: #f3a15e; margin: -5px auto 18px; transform-origin: top; }
.memory-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #45606c; padding-top: 16px; color: #b7cbd0; font-size: 13px; }
.memory-bottom a { display: flex; align-items: center; gap: 22px; color: #f5f3ed; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }
.pilot-story { padding-top: 100px; gap: 80px; }
.pilot-photo { position: relative; }
.pilot-photo::before { content: ''; position: absolute; z-index: 1; top: -18px; left: 24px; width: 1px; height: 90px; background: var(--pilot-accent); }
.pilot-photo img { height: 540px; border-radius: 160px 0 0 0; }
.pilot-photo figcaption { background: transparent; padding-left: 0; border-left: 0; border-bottom: 1px solid var(--line); }
.pilot-invitation { position: relative; border-top: 1px solid var(--navy); padding-block: 60px 88px; }
.pilot-days { display: flex; align-items: baseline; gap: 18px; font-size: clamp(100px,12vw,164px); line-height: 1; letter-spacing: -.08em; margin: 8px 0 24px; }
.pilot-days > span { font-size: 25px; letter-spacing: -.02em; }
.pilot-offer-copy { padding-top: 65px; }
.title-mask { display: block; overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
.title-mask > span, .title-mask > em { display: block; }
.memory-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 30px; color: #b7cbd0; font-size: 11px; letter-spacing: .1em; }
.memory-toolbar a { font-size: 13px; letter-spacing: 0; min-height: 44px; display: inline-flex; align-items: center; gap: 20px; text-decoration: underline; text-underline-offset: 5px; }
.memory-halo { position: absolute; inset: 0; background: radial-gradient(ellipse, #cc7b3038, transparent 63%); pointer-events: none; }
.memory-resolution { display: none; position: absolute; inset: 0; align-content: center; text-align: center; z-index: 5; pointer-events: none; }
.pilot-retrieval-question, .memory-found-note { display: none; opacity: 0; position: absolute; pointer-events: none; }
.is-cinematic .pilot-retrieval-question { display: block; inset: 0 0 auto; text-align: center; }
.pilot-retrieval-question > span { font-size: 12px; color: #f3a15e; letter-spacing: .08em; }
.pilot-retrieval-question p { margin: 12px 0 0; font-family: Poppins, sans-serif; font-size: clamp(24px,3vw,38px); line-height: 1.25; letter-spacing: -.035em; color: #f5f3ed; }
.is-cinematic .memory-found-note { display: block; left: calc(50% + 67px); top: calc(46% + 105px); color: #f3a15e; font-size: 15px; line-height: 1.6; }
@media(max-width: 650px) {
 .pilot-retrieval-question p { font-size: clamp(23px,6.2vw,29px); }
 .is-cinematic .memory-found-note { left: 0; right: 0; top: 202px; font-size: 12px; text-align: center; }
}
.resolution-brand { color: #f3a15e; font-size: 12px; letter-spacing: .25em; margin-bottom: 22px; }
.resolution-line { display: block; overflow: hidden; font-family: Poppins, sans-serif; font-size: clamp(36px,6vw,82px); font-weight: 650; letter-spacing: -.055em; line-height: 1.12; padding-block: .06em; }
.resolution-line > span { display: block; }
.resolution-line:nth-of-type(3) { color: #f3a15e; }
.memory-resolution p { font-size: 18px; line-height: 1.6; color: #d7e1e2; margin-top: 26px; }
.memory-progress { display: none; height: 2px; background: #45606c; margin-top: 18px; overflow: hidden; }
.memory-progress > span { display: block; height: 100%; background: #f3a15e; transform-origin: left; }
.memory-scroll-cue { display: none; }
.pilot-memory.is-cinematic { padding: 22px 0; }
.pilot-memory.is-pinned { min-height: 100svh; display: grid; align-content: center; }
.is-cinematic .memory-toolbar { margin-bottom: 16px; }
.is-cinematic .memory-heading h2 { font-size: clamp(28px,3.2vw,42px); }
.is-cinematic .memory-scene { height: clamp(320px,47svh,480px); margin-top: 0; }
.is-cinematic .memory-resolution { display: grid; }
.is-cinematic .memory-figure figcaption { padding-bottom: 16px; font-size: 14px; }
.is-cinematic .memory-caption-line { display: none; }
.is-cinematic .memory-bottom { padding-top: 14px; }
.is-cinematic .memory-progress { display: block; }
.is-cinematic .memory-scroll-cue { display: inline; white-space: nowrap; }
.pilot-photo picture { display: block; overflow: hidden; border-radius: 160px 0 0 0; }
.pilot-photo img { border-radius: 0; }
.pilot-invitation::before { content: ''; position: absolute; inset: 0 auto 0 -6%; width: 40%; background: radial-gradient(ellipse at center, #e7d7bc80, transparent 65%); pointer-events: none; }
.pilot-offer-heading, .pilot-offer-copy { position: relative; }
@media(max-width: 650px) {
 .memory-toolbar { font-size: 9px; letter-spacing: .04em; }
 .memory-toolbar a { font-size: 12px; gap: 10px; }
 .is-cinematic .memory-toolbar { margin-bottom: 8px; }
 .is-cinematic .memory-heading .eyebrow { display: none; }
 .is-cinematic .memory-heading h2 { font-size: clamp(24px,6.7vw,33px); }
 .is-cinematic .memory-scene { height: 370px; margin-top: 30px; }
 .is-cinematic .memory-document { width: 170px; font-size: 13px; padding: 10px; }
 .is-cinematic .memory-building { width: 265px; height: 265px; top: 43%; }
 .is-cinematic .memory-center-label { display: none; }
 .is-cinematic .memory-figure figcaption { padding-top: 18px; font-size: 12px; }
 .is-cinematic .memory-bottom { font-size: 11px; display: flex; }
 .is-cinematic .memory-bottom > span:first-child { max-width: 190px; font-size: 11px; }
 .resolution-line { font-size: clamp(30px,8.6vw,50px); }
 .memory-resolution p { font-size: 16px; }
 .pilot-photo picture { border-radius: 90px 0 0 0; }
}
@media(max-width: 900px) {
 .memory-document { width: 200px; padding: 14px; }
 .memory-document-minutes { left: 0; }
 .memory-document-contract { right: 0; }
 .memory-document-history { left: 4%; }
 .memory-document i { display: none; }
 .memory-building { width: 380px; }
}
@media(max-width: 650px) {
 .pilot-memory { padding-top: 36px; }
 .memory-heading { display: block; }
 .memory-heading .eyebrow { max-width: none; margin-bottom: 16px; padding: 0; }
 .memory-heading h2 { width: auto; font-size: clamp(25px,6.8vw,36px); }
 .memory-scene { height: 440px; margin-top: 55px; }
 .memory-building { width: 300px; height: 300px; top: 40%; }
 .memory-orbit-outer { width: 100%; height: 58%; }
 .memory-orbit-inner { width: 80%; height: 43%; }
 .memory-document { width: 170px; padding: 12px; gap: 10px; font-size: 14px; }
 .memory-document small { font-size: 11px; }
 .document-mark { width: 24px; height: 30px; }
 .memory-document-minutes { top: 0; left: 0; }
 .memory-document-contract { top: auto; bottom: 18%; right: 0; }
 .memory-document-history { bottom: 0; left: 0; }
 .memory-center-label { bottom: 37%; font-size: 9px; }
 .memory-figure figcaption { padding-top: 24px; font-size: 14px; }
 .memory-caption-line { display: none; }
 .memory-bottom { display: block; }
 .memory-bottom > span { display: block; font-size: 12px; }
 .memory-bottom a { margin-top: 8px; justify-content: space-between; }
 .pilot-story { padding-top: 60px; }
 .pilot-photo img { border-radius: 90px 0 0 0; }
 .pilot-days { font-size: 110px; margin-top: 0; }
}
@media(prefers-reduced-motion: reduce) { .pilot-page { scroll-behavior: auto; } .pilot-page .button { transition: none; } }
@media(forced-colors: active) { .pilot-page .contact-method-options label:has(input:checked) { border: 2px solid Highlight; } .pilot-page :focus-visible { outline-color: Highlight; } }
@media(max-width: 900px) {
 .pilot-opening { grid-template-columns: 1fr 3fr; gap: 28px; }
 .pilot-story { gap: 35px; }
 .pilot-photo img { height: 510px; }
 .pilot-letter { padding-top: 0; }
 .pilot-invitation { gap: 36px; }
 .pilot-contact-grid { gap: 40px; }
}
@media(max-width: 650px) {
 .pilot-header { padding-block: 22px; gap: 12px; }
 .pilot-header img { width: 155px; }
 .pilot-header > span { font-size: 11px; max-width: 90px; text-align: right; }
 .pilot-opening { grid-template-columns: 1fr; padding-block: 32px 40px; gap: 28px; }
 .pilot-margin { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; padding: 0; font-size: 13px; }
 .pilot-margin br { display: none; }
 .pilot-margin p { max-width: 100%; }
 .pilot-stroke { width: 24px; height: 2px; margin: 0; }
 .pilot-title h1 { font-size: clamp(33px, 8.4vw, 48px); letter-spacing: -1.1px; }
 .pilot-title > p { font-size: 17px; margin-block: 22px; }
 .pilot-title > p br { display: none; }
 .pilot-story { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
 .pilot-photo img { height: 280px; }
 .pilot-letter h2 { margin-bottom: 20px; }
 .pilot-letter > p:not(.eyebrow) { font-size: 16px; }
 .pilot-invitation { grid-template-columns: 1fr; padding-block: 32px 40px; gap: 22px; }
 .pilot-offer-heading h2 { font-size: 36px; }
 .pilot-offer-copy { padding: 0; }
 .pilot-offer-copy > p { font-size: 16px; }
 .pilot-contact { padding-block: 48px; }
 .pilot-contact-grid { grid-template-columns: 1fr; gap: 32px; }
 .pilot-contact-intro h2 br { display: none; }
 .pilot-signoff { margin-top: 22px; }
 .pilot-page .contact-form { padding: 24px 20px; }
 .pilot-header-cta { font-size: 14px; gap: 12px; }
 .pilot-form-heading { font-size: 20px; }
 .pilot-action-row { gap: 18px; }
 .pilot-offer-summary { border-left: 2px solid var(--pilot-accent); padding-left: 14px; }
}

/* Keep the complete story available when the viewport cannot hold the section. */
.is-stage-pinned .memory-scene { z-index: 2; }
.memory-story-summary { display: block; max-width: 42em; margin: 16px auto 0; }
.is-cinematic .memory-story-summary { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* A clear separation: Talomuisti processes; the house represents the company. */
.pilot-file-names { display: grid; min-width: 0; }
.pilot-file-raw, .pilot-file-clean { grid-area: 1 / 1; overflow-wrap: anywhere; align-self: center; }
.pilot-file-clean { opacity: 0; font-size: 12px; line-height: 1.5; color: #f7cfac; }
.memory-document { overflow: hidden; }
.pilot-file-scan { position: absolute; inset: 0; background: linear-gradient(100deg, transparent 18%, #f3a15e88 44%, #ffe0b3aa 50%, #f3a15e88 56%, transparent 82%); transform: translateX(-110%); pointer-events: none; }
.pilot-processing { position: absolute; top: 40%; left: 50%; transform: translateX(-50%); text-align: center; padding: 12px 18px; background: #081d31ed; border: 1px solid #f3a15e; color: #f3a15e; font-size: 12px; letter-spacing: .12em; opacity: 0; z-index: 4; width: 240px; }
.pilot-processing span { display: block; margin-top: 7px; color: #f5f3ed; font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.pilot-answer { display: none; position: absolute; left: 54%; top: 32%; width: 310px; padding: 20px 24px; border: 1px solid #f3a15e; background: #102c40; box-shadow: 0 14px 50px #0005; border-radius: 18px 18px 18px 4px; opacity: 0; }
.is-cinematic .pilot-answer { display: block; }
.pilot-answer-label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: #f3a15e; }
.pilot-answer-label::before { content: "T"; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #f3a15e; border-radius: 50%; font-size: 12px; }
.pilot-answer p { margin: 12px 0 0; font-size: 16px; line-height: 1.6; }
.pilot-answer strong { color: #f7cfac; font-weight: 650; white-space: nowrap; }
.pilot-answer small { display: block; margin-top: 12px; padding-top: 12px; border-top: 1px solid #547080; font-size: 12px; line-height: 1.5; color: #d7e1e2; }
@media(max-width: 650px) {
 .is-cinematic .memory-document { width: 190px; }
 .pilot-file-raw { font-size: 12px; }
 .pilot-file-clean { font-size: 11px; }
 .is-cinematic .memory-document .document-mark { display: none; }
 .pilot-answer { left: 50%; margin-left: -130px; top: 100px; width: 260px; padding: 12px 16px; }
 .pilot-answer p { font-size: 14px; margin-top: 5px; }

 .pilot-answer small { font-size: 11px; margin-top: 10px; padding-top: 10px; }
 .pilot-processing { top: 37%; width: 220px; }
}

/* The company gains Talomuisti's house silhouette; energy stays behind the cards. */
.building-brand { opacity: 0; }
.brand-depth { fill: #1b4664; stroke: #7395ac; stroke-width: 1.2; }
.brand-front { fill: #164263; stroke: #7ba6c1; stroke-width: 1.2; }
.brand-paper { fill: #f3a15e; }
.brand-stripes { stroke: #51738b; stroke-width: 12; }
.brand-outline { fill: none; stroke: #ffbd7c; stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: 1; }
.memory-energy { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 1; }
.memory-energy path { fill: none; stroke: #ffb46e; stroke-width: 3; stroke-linecap: round; opacity: 0; filter: drop-shadow(0 0 5px #ef862c); }
.memory-document, .pilot-answer { z-index: 2; }
.is-cinematic .pilot-processing { top: 0; padding: 6px 12px; background: transparent; border: 0; }
@media (max-width: 900px) and (min-width: 651px) {
 .is-cinematic .memory-document { width: 195px; }
}
@media (max-width: 650px) {
 .is-cinematic .memory-scene { height: 460px; }
 .is-cinematic .memory-building { top: 68%; width: 230px; height: auto; }
 .is-cinematic .memory-document { width: 190px; }
 .is-cinematic .memory-document-minutes { top: 0; left: 0; }
 .is-cinematic .memory-document-contract { top: 86px; bottom: auto; right: 0; }
 .is-cinematic .memory-document-history { bottom: 0; left: 0; }
 .is-cinematic .pilot-processing { top: 172px; width: 240px; }
}

@media (min-width: 651px) {
 .is-cinematic .pilot-retrieval-question p { font-size: 30px; }
 .is-cinematic .pilot-answer { top: max(140px, 32%); padding-block: 16px; }
}

@media (max-width: 650px) {
 .is-cinematic .pilot-answer { top: 120px; }
}

/* One persistent building: its roof rises and its windows become document rows. */
.brand-roof-front { fill: #164263; stroke: #7ba6c1; stroke-width: 1.2; }
.brand-roof-depth { fill: #1b4664; stroke: #7395ac; stroke-width: 1.2; }
.brand-stripes { fill: #51738b; stroke: none; }
.brand-paper { opacity: 0; }
.memory-energy path { stroke: #ffe0a3; stroke-width: 6; filter: drop-shadow(0 0 4px #ff9c40) drop-shadow(0 0 10px #ff8b26); }
.brand-frame { opacity: 0; fill: #164263; }
.memory-source-document { opacity: 0; z-index: 2; left: 0; top: 120px; }
.memory-source-document .pilot-file-clean { opacity: 1; }
@media(max-width:650px) { .is-cinematic .memory-source-document { left: 0; top: 290px; } }

@media(min-width:651px) {
 .is-cinematic .memory-building { top: 50%; }
 .is-cinematic .memory-center-label { bottom: 3%; }
}

/* The answer is assembled by the arriving stream, distinct from source papers. */
.memory-answer-outline { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 3; }
.memory-answer-outline path { fill: none; stroke: #ffac65; stroke-width: 3; stroke-linecap: round; opacity: 0; filter: drop-shadow(0 0 5px #f99236); }
.pilot-answer { background: #fff8ed; color: #123353; border-color: transparent; border-radius: 16px; box-shadow: 0 16px 42px #0004; }
.pilot-answer-label { color: #9c450e; }
.pilot-answer-label::before { color: #fff8ed; background: #123353; border-color: #123353; }
.pilot-answer strong { color: #98420d; }
.pilot-answer small { color: #41586a; border-color: #d5c9b8; }

/* Campaign refinement: the same brand, a shorter route from interest to a conversation. */
.pilot-navigation { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.pilot-navigation > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; }
.pilot-navigation > a:hover, .pilot-breadcrumb a:hover { color: var(--pilot-accent); }
.pilot-breadcrumb { padding-top: 18px; }
.pilot-breadcrumb ol { display: flex; align-items: center; gap: 10px; list-style: none; margin: 0; padding: 0; color: var(--pilot-muted); font-size: 13px; }
.pilot-breadcrumb li + li::before { content: '/'; margin-right: 10px; color: #70808e; }
.pilot-breadcrumb a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: underline; text-underline-offset: 3px; }
.pilot-page .pilot-opening { padding-block: 48px 72px; }
.pilot-title > p { max-width: 660px; }
.pilot-title > .pilot-opening-note { margin: 20px 0 0; font-size: 14px; color: var(--pilot-muted); }
.pilot-page #memory-title, .pilot-page #offer-title { scroll-margin-top: 24px; }
.pilot-page .memory-heading h2 { width: 100%; }
.pilot-page .memory-heading h2 span { display: inline-block; font-size: .65em; line-height: 1.45; margin-top: 8px; }
.pilot-page .memory-toolbar { letter-spacing: 0; font-size: 13px; }
.pilot-page .pilot-story { padding-block: 88px; align-items: center; gap: clamp(36px,6vw,88px); }
.pilot-page .pilot-photo img { display: block; height: 540px; }
.pilot-page .pilot-photo figcaption { font-size: 16px; line-height: 1.6; padding-block: 20px; }
.pilot-page .pilot-photo figcaption strong { color: var(--navy); }
.pilot-page .pilot-letter { padding-top: 0; }
.pilot-page .pilot-letter h2 { font-size: clamp(30px,3vw,42px); letter-spacing: -.035em; margin-bottom: 20px; }
.pilot-page .pilot-letter > p { color: var(--pilot-muted); }
.pilot-benefits { list-style: none; margin: 24px 0; padding: 0; }
.pilot-benefits li { border-top: 1px solid var(--line); padding: 18px 0; }
.pilot-benefits h3, .pilot-page .pilot-steps h3 { font-size: 18px; line-height: 1.4; }
.pilot-benefits p, .pilot-page .pilot-steps p { color: var(--pilot-muted); font-size: 16px; line-height: 1.7; margin: 8px 0 0; }
.pilot-text-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: var(--pilot-accent); font-weight: 600; font-size: 15px; text-decoration: underline; text-underline-offset: 5px; }
.pilot-page .pilot-invitation { padding-block: 64px 80px; align-items: start; }
.pilot-page .pilot-offer-copy { padding-top: 14px; }
.pilot-page .pilot-steps { margin: 24px 0; }
.pilot-page .pilot-steps li { display: block; padding: 20px 0; }
.pilot-page .pilot-offer-copy > .pilot-offer-footnote { font-size: 14px; line-height: 1.7; margin-top: 18px; color: var(--pilot-muted); }
.pilot-offer-footnote a { text-decoration: underline; text-underline-offset: 4px; }
.pilot-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 52px 76px; border-top: 1px solid var(--line); }
.pilot-assurance h2 { font-size: clamp(30px,3vw,42px); line-height: 1.2; letter-spacing: -.035em; margin-bottom: 22px; }
.pilot-assurance dl { margin: 0; display: grid; gap: 24px; }
.pilot-assurance dt { font-size: 18px; font-weight: 650; color: var(--navy); }
.pilot-assurance dd { margin: 8px 0 0; color: var(--pilot-muted); font-size: 16px; line-height: 1.7; }
.pilot-page .contact-form { border: 1px solid #d9e1df; border-radius: 12px; box-shadow: 0 18px 50px #0002; }
.pilot-page .form-note, .pilot-page .form-privacy { font-size: 14px; }
.pilot-page .pilot-contact-intro :focus-visible { outline-color: #f3a15e; }
@media(max-width: 1000px) {
 .pilot-navigation { gap: 16px; }
 .pilot-assurance { gap: 36px; }
 .pilot-page .pilot-photo img { height: 490px; }
}
@media(max-width: 700px) {
 .pilot-header { flex-wrap: wrap; padding-block: 18px 8px; gap: 12px; }
 .pilot-header img { width: 164px; }
 .pilot-navigation { width: 100%; gap: 8px 20px; justify-content: space-between; }
 .pilot-navigation > a { font-size: 13px; }
 .pilot-navigation .pilot-header-cta { gap: 8px; }
 .pilot-breadcrumb { padding-top: 12px; }
 .pilot-page .pilot-opening { padding-block: 26px 40px; grid-template-columns: 1fr; gap: 24px; }
 .pilot-margin { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding: 0; font-size: 13px; }
 .pilot-margin br { display: none; }
 .pilot-stroke { width: 24px; height: 2px; margin: 0; }
 .pilot-title h1 { font-size: clamp(32px,7.5vw,48px); }
 .pilot-title > p { font-size: 17px; line-height: 1.65; margin-block: 20px; }
 .pilot-action-row { gap: 18px; }
 .pilot-action-row .button { width: 100%; justify-content: center; font-size: 14px; }
 .pilot-offer-summary { border-left: 2px solid var(--pilot-accent); padding-left: 14px; }
 .pilot-page .pilot-story { grid-template-columns: 1fr; padding-block: 48px; gap: 32px; }
 .pilot-page .pilot-photo img { height: 280px; }
 .pilot-photo picture { border-radius: 80px 0 0 0; }
 .pilot-page .pilot-invitation { grid-template-columns: 1fr; padding-block: 36px 44px; gap: 20px; }
 .pilot-page .pilot-offer-copy { padding-top: 0; }
 .pilot-days { font-size: 110px; margin-bottom: 16px; }
 .pilot-assurance { grid-template-columns: 1fr; gap: 30px; padding-block: 36px 48px; }
 .pilot-assurance h2 { margin-bottom: 14px; }
 .pilot-page .pilot-contact-grid { grid-template-columns: 1fr; gap: 32px; }
 .pilot-page .contact-form { padding: 24px 20px; }
}
@media(max-width: 700px) {
 .pilot-header { display: grid; grid-template-columns: 1fr auto; gap: 12px 16px; }
 .pilot-header img { width: 150px; }
 .pilot-navigation { display: contents; }
 .pilot-navigation > a:nth-child(1) { grid-column: 1; grid-row: 2; }
 .pilot-navigation > a:nth-child(2) { grid-column: 2; grid-row: 2; justify-self: end; }
 .pilot-navigation > .pilot-header-cta { grid-column: 2; grid-row: 1; justify-self: end; }
 .pilot-page .pilot-title > p br, .pilot-page .pilot-margin br { display: initial; }
}
/* A personal welcome belongs above the invitation, not in the small-print margin. */
.pilot-page .pilot-opening { row-gap: 26px; }
.pilot-page .pilot-margin, .pilot-page .pilot-title { grid-column: 2; }
.pilot-page .pilot-margin { display: block; padding: 0; font-size: 22px; line-height: 1.5; }
.pilot-page .pilot-margin p:first-child { font-weight: 500; color: var(--navy); }
.pilot-page .pilot-margin p + p { margin-top: 6px; color: var(--pilot-accent); font-weight: 650; }
@media(max-width:700px) {
 .pilot-page .pilot-margin, .pilot-page .pilot-title { grid-column: 1; }
 .pilot-page .pilot-margin { font-size: 19px; }
 .pilot-page .pilot-opening { row-gap: 24px; }
}
.pilot-qr-word { white-space: nowrap; }

/* Keep the invitation brief and the form within reach after a CTA click. */
.pilot-page .pilot-offer-copy { padding-top:0; }
.pilot-page .pilot-steps { margin:0 0 24px; }
.pilot-page .pilot-form-help { margin-top:0; }
.pilot-page .button { white-space:normal; text-align:center; }
.pilot-page .button > span { flex-shrink:0; }
@media(max-width:700px) {
 .pilot-page .pilot-contact { padding-top:28px; }
 .pilot-page .pilot-contact-grid { gap:20px; }
 .pilot-page .pilot-contact-intro h2 { font-size:32px; margin-bottom:12px; }
 .pilot-page .pilot-contact-intro > p { margin:0; font-size:16px; line-height:1.5; }
 .pilot-page .pilot-invitation { padding-top:40px; }
}
