/* A single journey: purple field → night-violet data → paper → purple. */
.gastro-page{--night:#24143e;--lilac:#c8b2ff;--line-light:#f8f8f633}
.gastro-page .gastro-questions,.gastro-page .analysis{background:var(--night);color:var(--paper);--line:var(--line-light)}
.gastro-page .gastro-questions{padding-top:55px;padding-bottom:0;overflow:clip}
.gastro-page .gastro-questions .section-label{color:var(--lilac)}
.gastro-page .gastro-question-list{margin-top:54px}
.gastro-page .gastro-question-list>a{padding-bottom:30px;transition:background .35s}
.gastro-page .gastro-question-list>a>span{color:var(--lilac)}
.gastro-question-list a:focus-visible,.gastro-question-list a:hover{background:#ffffff06}
.gastro-page .gastro-question-list .question-figure{display:block;width:100%;height:100px;margin:28px 0 0;stroke-width:1.5;overflow:visible;grid-column:1/-1;grid-row:auto}
.question-figure .figure-grid{stroke:#ffffff15;stroke-width:1}
.question-figure .figure-trace{stroke:#cab4ff;stroke-width:2.5}
.question-figure .figure-secondary{stroke:var(--paper);opacity:.65}
.question-figure .figure-dot{fill:var(--paper);stroke:none}
.figure-bars rect,.figure-costs rect{fill:#a887fa66;stroke:none;transform-box:fill-box;transform-origin:center bottom}
.figure-costs rect{transform-origin:left center}
.gastro-question-list .question-arrow{position:absolute;right:24px;top:0;color:var(--lilac)}
.gastro-page .gastro-question-list a:hover .question-arrow{transform:translateX(6px)}
.data-confluence{height:180px;position:relative;margin-top:0;pointer-events:none;color:var(--lilac)}
.data-confluence svg{width:100%;height:100%;overflow:visible;stroke-width:1.4}
.flow-track{opacity:.5;vector-effect:non-scaling-stroke}
.flow-pulse{fill:#f8f8f6;stroke:none}
.gastro-page .analysis{position:relative;padding-top:10px;padding-bottom:80px;overflow:clip}
.analysis-heading{position:relative}
.analysis-arrival{position:absolute;left:0;top:-75px;width:100%;height:110px;pointer-events:none;color:#c8b2ff;opacity:.3;stroke-width:1.4}
.gastro-page .analysis .display em{color:var(--lilac)}
.gastro-page .analysis .section-label{color:var(--lilac);position:relative}
.gastro-page .analysis-story button{color:var(--paper);transition:background .3s}
.gastro-page .analysis-story button[aria-pressed=true]{color:var(--lilac);background:#b49aff0a}
.gastro-page .analysis-story button:after{background:var(--lilac)}
.gastro-page .analysis-story button[aria-pressed=true] svg{transform:translateX(4px)}
.gastro-page .story-number,.gastro-page .analysis-stage-caption>span{color:var(--lilac)}
.gastro-page .data-exhibit{background:#ffffff05;border:1px solid #ffffff22;padding:28px;border-radius:8px}
.gastro-page .chart-layers button{color:var(--paper)}
.gastro-page .chart-layers i{background:var(--lilac)}
.gastro-page .chart-layers [data-layer=staff] i{background:var(--paper)}
.gastro-page .analysis-chart [data-revenue-path]{stroke:var(--lilac)}
.gastro-page .analysis-chart [data-staff-path]{stroke:var(--paper)}
.gastro-page .analysis-chart [data-revenue-dot]{fill:var(--lilac)}
.gastro-page .analysis-chart [data-staff-dot]{fill:var(--paper)}
.gastro-page .time-control output,.gastro-page .time-control label span{color:var(--lilac)}
.gastro-page .time-control input{accent-color:var(--lilac)}
.gastro-page .analysis-insight .eyebrow{color:var(--lilac)}
.gastro-page .analysis-insight>h3{min-height:3.15em}
.gastro-page .analysis-insight>h3+p{min-height:8em}
.gastro-page .analysis-answer{color:#e0d4f2;min-height:155px}
.gastro-page .question-choices button{color:var(--paper)}
.gastro-page .question-choices button[aria-pressed=true]{color:var(--lilac)}
.gastro-page .source-heading{position:relative}
.gastro-page .source-heading .eyebrow{color:var(--lilac)}
.gastro-page .source-file{background:transparent;color:var(--paper);border-left:1px solid #b390ff;box-shadow:none}
.gastro-page .source-file[open]{background:#ffffff07}
.gastro-page .source-file-number,.gastro-page .source-file summary:hover{color:var(--lilac)}
.gastro-page .source-file summary{transition:padding .3s}
.gastro-page .source-file summary:hover{padding-left:7px}
.gastro-page .report-route,.gastro-page .report-jump{color:var(--lilac)}
.gastro-page .report-jump{border-color:var(--lilac)}
.chapter-transition{height:clamp(70px,9vw,130px);background:var(--from);position:relative;margin:-1px 0;overflow:hidden;pointer-events:none}
.chapter-transition>svg:first-child{display:block;width:100%;height:calc(100% + 2px);stroke:none;fill:var(--to)}
.chapter-transition .chapter-thread{position:absolute;top:0;left:calc(50% - 40px);width:80px;height:100%;color:#c8b2ff;stroke-width:1;opacity:.5}
.transition-process .chapter-thread,.transition-contact .chapter-thread{color:#7243ff}
.gastro-page .gastro{padding-top:50px}
.gastro-page .process{background:var(--paper);color:var(--ink);position:relative;border:0;padding-top:45px;overflow:clip}
.process-route{width:100%;height:150px;margin:-20px 0 24px;overflow:visible;color:var(--purple);stroke-width:2;pointer-events:none}
.process-route-base{opacity:.13;stroke-width:20;stroke-linecap:round}
.process-route-ink{stroke-width:2}
.process-nodes circle{fill:var(--paper);stroke:var(--purple);stroke-width:2}
.process-dot{fill:var(--purple);stroke:none}
.gastro-page .process-steps>li{position:relative}
.gastro-page .contact{background:var(--purple);position:relative;padding-top:55px;overflow:clip}
.gastro-page .a2y-beyond{background:var(--purple);color:var(--paper);border-top:1px solid #ffffff40;border-bottom:0;position:relative;overflow:clip}
.gastro-page .a2y-beyond a{color:var(--paper)}
.gastro-page .site-header.on-dark{background:#24143eee;color:var(--paper)}
.gastro-page .site-header.on-dark .nav-contact{background:var(--paper);color:var(--ink)}
.motion-word-mask{display:inline-block;overflow:clip;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.motion-word{display:inline-block;transform-origin:0 100%}
.gastro-page .circle-link:hover .round-arrow{transform:translateX(5px)}
.gastro-page .button-primary:hover{transform:translateY(-2px)}
.gastro-page .button-primary:hover svg,.gastro-page .submit-button:hover svg{transform:translateX(4px)}
.gastro-page .button-primary svg,.gastro-page .submit-button svg{transition:transform .3s}
@media(max-width:1100px){.gastro-page .data-exhibit{padding:20px}.analysis-lab{gap:30px}}
@media(max-width:760px){
 .gastro-page .gastro-questions{padding-top:35px}
 .gastro-page .gastro-question-list>a,.gastro-page .gastro-question-list>a+a{padding:22px 0 20px}
 .gastro-page .gastro-question-list .question-figure{height:82px;margin:12px 0 0;max-width:330px}
 .gastro-question-list .question-arrow{top:22px;right:0}
 .data-confluence{height:90px}
 .analysis-arrival{top:-52px;height:80px}
 .gastro-page .analysis{padding-top:20px;padding-bottom:45px}
 .gastro-page .analysis-lab{gap:24px}
 .gastro-page .data-exhibit{padding:16px 8px 18px;margin:0 -7px;width:calc(100% + 14px)}
 .exhibit-top,.chart-layers,.time-control,.chart-summary{margin-left:7px;margin-right:7px}
 .gastro-page .analysis-insight>h3,.gastro-page .analysis-insight>h3+p,.gastro-page .analysis-answer{min-height:0}
 .gastro-page .analysis-lab .analysis-insight{border-color:var(--lilac)}
 .gastro-page .gastro{padding-top:35px}
 .process-route{height:90px;margin:0 0 25px}
 .gastro-page .process,.gastro-page .contact{padding-top:40px}
 .chapter-transition{height:65px}
 .gastro-page .mobile-ask{right:calc(var(--gutter) + 68px);padding:16px 18px;min-height:52px;align-items:center;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.motion-word{transform:none!important;opacity:1!important}.flow-pulse{display:none}.gastro-page .source-file summary{transition:none}}
.contact-mark{position:absolute;width:410px;height:410px;left:-160px;bottom:-130px;color:#cbb5ff;opacity:.18;stroke-width:.55;pointer-events:none}
.contact-grid,.contact>.section-label{position:relative}
/* A branded contact card, not a simulated live conversation. */
.chat-is-open{overflow:hidden}
.gastro-page .chat-nav{display:flex;align-items:center;gap:8px;font:inherit;font-size:13px;background:#ffffff0c;border:1px solid #ffffff80;color:inherit;border-radius:18px 18px 4px 18px;min-height:44px;padding:0 15px;cursor:pointer;transition:background .25s,transform .25s}
.chat-nav svg{width:19px;height:19px}
.chat-nav:hover{background:#ffffff24;transform:translateY(-2px)}
.gastro-page .site-header.on-paper .chat-nav{border-color:var(--purple);color:var(--purple);background:#7243ff0a}
.chat-inline{display:inline-flex;align-items:center;gap:12px;text-align:left;padding:11px 16px;background:#ffffff0a;color:var(--paper);border:1px solid #ffffff70;border-radius:21px 21px 5px 21px;min-height:57px;transition:background .25s,transform .25s}
.chat-inline>svg{width:26px;height:26px;flex-shrink:0}
.chat-inline>span{font-family:Bricolage;font-size:18px;line-height:1.1;letter-spacing:-.035em}
.chat-inline small{display:block;font-family:Schibsted;font-size:10px;letter-spacing:0;margin-top:5px;opacity:.75}
.chat-inline:hover{background:#ffffff18;transform:translateY(-3px)}
.chat-inline-form{margin-top:25px;border-color:#ffffff60}
.chat-inline-form>span{font-size:20px}
.chat-launcher{position:fixed;right:24px;bottom:22px;z-index:45;display:flex;align-items:center;gap:11px;min-height:54px;padding:12px 19px;background:var(--paper);color:var(--purple);border:1px solid #7243ff55;border-radius:23px 23px 5px 23px;box-shadow:0 6px 25px #18092722;font-size:13px;font-weight:600;transition:transform .3s,box-shadow .3s}
.chat-launcher>svg{width:25px;height:25px}
.chat-launcher:hover{transform:translateY(-4px);box-shadow:0 10px 35px #18092733}
#chat-dialog{position:fixed;inset:auto 24px 90px auto;margin:0;border:1px solid #ffffff33;border-radius:24px 24px 7px 24px;width:390px;max-width:calc(100vw - 32px);max-height:calc(100svh - 120px);padding:0;overflow:auto;background:#ede7fc;color:var(--ink);box-shadow:0 24px 100px #10082366}
#chat-dialog::backdrop{background:#13092266;backdrop-filter:blur(4px)}
.chat-header{display:flex;align-items:center;gap:12px;background:var(--purple);color:var(--paper);padding:20px;position:sticky;top:0;z-index:2}
.chat-avatar{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ffffff66;border-radius:50%;flex-shrink:0}
.chat-avatar svg{width:26px;height:26px}
.chat-header h2{font-family:Bricolage;font-size:22px;letter-spacing:-.035em;line-height:1.1;font-weight:600}
.chat-header p{font-size:10px;line-height:1.5;opacity:.8;margin-top:4px}
.chat-close{margin-left:auto;flex-shrink:0;min-width:40px;min-height:44px;padding:0;font-size:28px;color:inherit;background:none;border:0;line-height:1;cursor:pointer}
.chat-body{padding:23px 20px 20px}
.chat-received{background:var(--paper);border-radius:18px 18px 18px 3px;padding:15px 18px;max-width:90%;font-family:Bricolage;font-size:24px;line-height:1.1;letter-spacing:-.045em;box-shadow:0 1px 0 #2815400b}
.chat-received strong{font-weight:600}
.chat-detail{font-family:Schibsted;font-size:12px;letter-spacing:0;line-height:1.6;margin-top:9px;max-width:94%}
.chat-prompt{font-size:10px;margin:22px 0 10px;color:#584a70}
.chat-options{display:flex;gap:7px;flex-wrap:wrap}
.chat-options button{border:1px solid #7243ff55;background:transparent;border-radius:20px;min-height:39px;font-size:11px;padding:8px 12px;color:#513092}
.chat-options button[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:var(--paper)}
.chat-draft{background:#d7c5ff;margin:20px 0 18px 26px;border-radius:18px 18px 3px 18px;padding:14px 16px;min-height:88px}
.chat-draft>span{font-size:9px;color:#534173}
.chat-draft p{font-size:12px;line-height:1.5;margin-top:6px}
.chat-continue{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--purple);color:var(--paper);padding:16px;border-radius:5px;font-size:12px;min-height:50px}
.chat-continue svg{width:19px;height:19px;flex-shrink:0}
.chat-disclosure{font-size:10px;line-height:1.5;text-align:center;color:#584a70;margin:11px 8px 0}
@media(max-width:1100px){.gastro-page .chat-nav{font-size:11px;padding:0 11px}}
@media(max-width:760px){
 .gastro-page .site-header .chat-nav{position:absolute;right:var(--gutter);top:9px;min-height:42px;border:1px solid #ffffff70;padding:0 10px;font-size:10px}
 .gastro-page .site-header .chat-nav svg{width:17px;height:17px}
 .gastro-page .site-header .brand{max-width:calc(100% - 125px)}
 .gastro-page .gastro-actions{gap:12px}
 .chat-inline{min-height:49px;padding:9px 11px;gap:8px;border-radius:16px 16px 3px 16px}
 .chat-inline>svg{width:21px;height:21px}
 .chat-inline>span{font-size:16px}.chat-inline small{font-size:9px}
 .chat-launcher{right:var(--gutter);bottom:12px;width:52px;min-height:52px;justify-content:center;padding:0;border-radius:20px 20px 4px 20px}
 .chat-launcher>span{display:none}
 #chat-dialog{inset:auto 12px 78px auto;width:390px;max-width:calc(100vw - 24px);max-height:calc(100svh - 94px);border-radius:21px 21px 5px 21px}
 .chat-header{padding:15px}.chat-body{padding:17px 16px}.chat-received{font-size:23px}.chat-detail{font-size:12px}
 .contact-mark{width:260px;height:260px;left:-95px;bottom:-75px}
}
@media(max-width:360px){.gastro-page .brand-studio{display:none}.gastro-page .gastro-actions{gap:9px}.chat-inline>svg{display:none}.chat-inline>span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.chat-inline,.chat-nav,.chat-launcher{transition:none}}
.flow-base{opacity:.14;vector-effect:non-scaling-stroke}
.motion-word-mask{padding-right:.07em;margin-right:-.07em}
.motion-word-mask+.motion-word-mask{margin-left:.025em}
.transition-process,.transition-contact{height:clamp(100px,14vw,190px)}
@media(max-width:760px){.transition-process,.transition-contact{height:100px}}
.gastro-page .site-header .chat-nav{border-radius:18px 18px 4px 18px}
.flow-pulse{opacity:0}
/* Reading pass: deliberate tracking, full-contrast small print, larger desktop copy. */
.gastro-page .display,.gastro-page .gastro-question{letter-spacing:-.025em}
.gastro-page .gastro-wtf{letter-spacing:-.045em}
.gastro-page h3,.gastro-page h4,.gastro-page .a2y-beyond h2,.gastro-page .analysis-story strong{letter-spacing:-.02em}
.gastro-positioning{display:block;font-family:Schibsted,sans-serif;font-size:17px;font-weight:450;letter-spacing:0;line-height:1.5;margin-bottom:22px;max-width:490px}
.gastro-page .gastro-hero-description,.gastro-page .hero-contact-note,.gastro-page .restaurant-world figcaption,.gastro-page .world-heading,.gastro-page .strip-date,.gastro-page .gastro-offer-strip>span:nth-child(2),.gastro-page .hero-chart-foot>span,.gastro-page .contact-note,.gastro-page .team-intro p{opacity:1}
.gastro-page .chart-layers [aria-pressed=false]{opacity:.75}
.gastro-page .chat-inline small,.gastro-page .chat-header p{opacity:1}
.gastro-page .form-field>span,.gastro-page .privacy-note,.gastro-page .form-hint{opacity:1}
.analysis-method{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}
.analysis-method h4{font-family:Bricolage;font-size:clamp(25px,2.4vw,35px);line-height:1.15;font-weight:550;margin:15px 0}
.gastro-page .a2y-beyond{padding-bottom:90px}
@media(min-width:761px){
 .gastro-page .site-footer{padding-bottom:100px}
 .gastro-page .gastro-hero-description{font-size:17px;line-height:1.65;max-width:485px}
 .gastro-page .gastro-question-list p,.gastro-page .analysis-insight>p:not(.eyebrow),.gastro-page .source-heading p,.gastro-page .source-file>p,.gastro-page .analysis-to-report p,.gastro-page .gastro-lead>p,.gastro-page .scope-list p,.gastro-page .scope-extra,.gastro-page .deliverables,.gastro-page .process-steps p,.gastro-page .team-intro p,.gastro-page .a2y-beyond p{font-size:16px;line-height:1.7}
 .gastro-page .analysis-answer,.gastro-page .chart-summary,.gastro-page .analysis-stage-caption p,.gastro-page .question-choices button,.gastro-page .package details,.gastro-page .package details>p,.gastro-page .contact-note{font-size:15px;line-height:1.65}
 .gastro-page .process-steps p{max-width:340px}
 .gastro-page .section-label,.gastro-page .eyebrow,.gastro-page .gastro-question-list>a>span,.gastro-page .source-file small,.gastro-page .analysis-story small,.gastro-page .story-number,.gastro-page .analysis-stage-caption>span{font-size:13px}
 .gastro-page .hero-contact-note,.gastro-page .restaurant-world figcaption,.gastro-page .chart-layers button,.gastro-page .exhibit-top,.gastro-page .tag,.gastro-page .form-hint,.gastro-page .privacy-note,.gastro-page .site-footer>span,.gastro-page .site-footer nav,.gastro-page .time-start,.gastro-page .time-end{font-size:13px}
 .gastro-page .world-heading,.gastro-page .gastro-eyebrow{font-size:12px}
 .gastro-page .gastro-offer-strip,.gastro-page .gastro-offer-strip>span:nth-child(2),.gastro-page .gastro-bottom,.gastro-page .form-field,.gastro-page legend,.gastro-page .interest-options span{font-size:14px}
 .gastro-page .button-primary,.gastro-page .report-preview-open,.gastro-page .report-jump,.gastro-page .gastro-lead .circle-link{font-size:15px}
 .gastro-page .hero-chart-heading{font-size:11px}.gastro-page .hero-chart-foot{font-size:10px}
 .gastro-page .restaurant-note{font-size:11px}
 .gastro-page .analysis-insight>h3{min-height:3.15em}
 .gastro-page .analysis-insight>h3+p{min-height:9em}
 .gastro-page .analysis-answer{min-height:200px}
 .gastro-page .report-text p{font-size:12px;line-height:1.6}
 .gastro-page .report-text h4{font-size:17px}
 .gastro-page .a2y-beyond h2{font-size:clamp(32px,3vw,44px)}
 .gastro-page .chat-detail,.gastro-page .chat-draft p,.gastro-page .chat-continue{font-size:14px}
 .gastro-page .chat-prompt,.gastro-page .chat-disclosure,.gastro-page .chat-header p,.gastro-page .chat-options button{font-size:12px}
 .gastro-page .chat-draft>span{font-size:11px}
}
@media(max-width:760px){
 .gastro-positioning{font-size:14px;max-width:300px;margin-bottom:20px}
 .gastro-page .hero-contact-note,.gastro-page .restaurant-world figcaption{font-size:11px}
 .gastro-page .analysis-answer,.gastro-page .source-heading p,.gastro-page .source-file>p,.gastro-page .process-steps p,.gastro-page .team-intro p,.gastro-page .a2y-beyond p{font-size:14px;line-height:1.65}
 .gastro-page .analysis-insight>h3,.gastro-page .analysis-insight>h3+p,.gastro-page .analysis-answer{min-height:0}
 .gastro-page .a2y-beyond{padding-bottom:65px}
}

/* Contact remains usable even when the animated modules cannot load. */
.contact-direct{font-size:14px;line-height:1.7;margin-top:22px;overflow-wrap:anywhere}
.contact-direct a{text-decoration:underline;text-underline-offset:4px}
.gastro-page #form-status{font-size:14px;line-height:1.65}
.gastro-page .gastro-hero-sub,.gastro-page .chat-header h2{letter-spacing:-.02em}
@media(max-width:760px){.contact-direct,.gastro-page #form-status{font-size:13px}}

.data-principles{margin-top:70px;padding-top:36px;border-top:1px solid var(--line)}
.data-principles-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:32px}
.data-principles-heading h3{font-family:Bricolage;font-size:clamp(32px,3.4vw,49px);line-height:1.05;min-width:44%}
.data-principles ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:0}
.data-principles li{padding:24px;border:1px solid #c8b2ff44;border-radius:5px;background:#ffffff04}
.data-principles li>span{font-size:12px;color:var(--lilac);letter-spacing:.05em}
.data-principles h4{font-family:Bricolage;font-size:25px;font-weight:550;line-height:1.15;margin:20px 0 13px}
.data-principles p{font-size:15px;line-height:1.7}
@media(max-width:760px){.data-principles{margin-top:40px;padding-top:26px}.data-principles-heading{display:block}.data-principles-heading h3{margin-top:20px}.data-principles ol{grid-template-columns:1fr;gap:12px}.data-principles li{padding:20px}.data-principles h4{font-size:25px;margin:12px 0}.data-principles p{font-size:14px}}

.footer-studio{display:flex;flex-direction:column;align-items:center;gap:15px}
.footer-studio img{width:112px;height:100px;object-fit:contain}
.footer-studio span{font-size:11px;letter-spacing:.03em}
@media(max-width:760px){.footer-studio{align-items:flex-start;margin:5px 0 10px}.footer-studio img{width:90px;height:80px}.gastro-page .gastro-eyebrow{letter-spacing:.04em;gap:7px}}

.package-audience{font-size:12px;line-height:1.6;margin:0 0 18px}
