/* GIFS · 13 November 2026. Presentation repair over the verified live version.
   The orchard, current React behaviour and existing content are preserved.
   Five root IDs intentionally outrank the earlier four-ID font reset. */
html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) {
  --repair-sans: Arial, Helvetica, sans-serif;
  --repair-paper: #f3eddf;
  --repair-ink: #234536;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) :is(p,p *,li,dt,dd,button,button *,summary,summary *,label,label *,input,textarea,.craft-kicker,.craft-kicker *, .sf-overline,.mg-study-number,.mg-gallery-note,.craft-sheet-title,.craft-device-row,.craft-device-row *, .craft-device-top,.craft-os-tags *) {
  font-family: var(--repair-sans) !important;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) :is(h1,h2,h3) {
  font-family: 'GIFS Serif',Georgia,serif !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) p {
  font-size: clamp(18px,1.35vw,20px) !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  text-wrap: pretty;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) :is(.craft-kicker,.sf-overline,.mg-study-number) {
  font-size: 13px !important;
  line-height: 1.5 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-hero,.sf-hero) {
  max-width: 1400px !important;
  padding: clamp(48px,6vw,88px) clamp(24px,4.5vw,64px) !important;
  gap: clamp(32px,5vw,76px) !important;
  align-items: center;
}
html.gifs-refined body #root#root#root#root#root .craft-service .craft-hero h2,
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-hero h1 {
  font-size: clamp(46px,4.8vw,72px) !important;
  margin: 20px 0 24px !important;
}
html.gifs-refined body #root#root#root#root#root .craft-hero-copy>p,
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-lead {
  font-size: clamp(18px,1.45vw,21px) !important;
  line-height: 1.65 !important;
  max-width: 54ch !important;
  color: #e6e6d7 !important;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-hero-copy,.sf-hero-copy) {min-width:0; padding-bottom:0 !important}
html.gifs-refined body #root#root#root#root#root .craft-hero-actions {margin-top:30px !important;gap:16px 24px !important}
html.gifs-refined body #root#root#root#root#root :is(.craft-button,.sf-cta,.sf-text-link,.craft-text-link) {
  font-family: Arial,Helvetica,sans-serif !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  min-height: 50px !important;
  font-weight: 500 !important;
  white-space: normal !important;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-button,.sf-cta){padding:14px 22px !important;border-radius:4px !important}
html.gifs-refined body #root#root#root#root#root .craft-button-quiet {padding-left:0 !important;padding-right:0 !important}
html.gifs-refined body #root#root#root#root#root :is(.craft-section-inner,.sf-section-inner) {
  max-width:1272px !important;
  width:auto !important;
  margin-left:max(24px,calc((100% - 1272px)/2)) !important;
  margin-right:max(24px,calc((100% - 1272px)/2)) !important;
  padding:clamp(56px,6vw,88px) 0 !important;
}
html.gifs-refined body #root#root#root#root#root :is(.craft-section-heading,.sf-section-title){margin-bottom:36px !important;max-width:850px}
html.gifs-refined body #root#root#root#root#root :is(.craft-section-heading h2,.sf-section-title h2){font-size:clamp(36px,3.7vw,56px) !important;margin:16px 0 20px !important}
html.gifs-refined body #root#root#root#root#root .craft-section-heading p{max-width:66ch !important;color:#506251 !important}
html.gifs-refined body #root#root#root#root#root .craft-dark .craft-section-heading p{color:#e2dfcf !important}
html.gifs-refined body #root#root#root#root#root .craft-paper {background:#f3eddf !important}
html.gifs-refined body #root#root#root#root#root .craft-on-this-page {max-width:1272px;margin:0 auto;padding:20px 24px 28px;gap:24px;flex-wrap:wrap;font:16px/1.5 Arial,Helvetica,sans-serif}
html.gifs-refined body #root#root#root#root#root .craft-on-this-page * {font-family:Arial,Helvetica,sans-serif !important;font-size:15px !important}
/* A constrained grid and a stacked caption prevent intrinsic media overflow. */
html.gifs-refined body #root#root#root#root#root .craft-content .motion-gallery {
  width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-grid {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:32px 24px !important;
  width:100% !important;max-width:none !important;align-items:stretch !important;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-card {
  display:grid !important;grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:auto 1fr !important;align-content:start !important;
  min-width:0 !important;max-width:100% !important;width:100% !important;
  padding:12px !important;gap:0 !important;box-sizing:border-box !important;
  background:#faf6ec !important;border:1px solid #b5ae9566 !important;
  border-radius:8px !important;box-shadow:0 8px 24px #253d2c08;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-card>*{min-width:0 !important;max-width:100% !important;box-sizing:border-box !important}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-open {
  display:block !important;width:100% !important;min-width:0 !important;max-width:100% !important;
  padding:0 !important;margin:0 !important;height:auto !important;aspect-ratio:4/3 !important;
  border:0 !important;border-radius:4px !important;overflow:hidden !important;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-open>:is(img,video) {
  display:block !important;inset:0 !important;width:100% !important;height:100% !important;
  min-width:0 !important;max-width:100% !important;object-fit:cover !important;border-radius:0 !important;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-card-caption {
  display:grid !important;grid-template-columns:minmax(0,1fr) !important;align-content:start !important;
  align-items:start !important;gap:10px !important;padding:22px 10px 16px !important;
  color:#234536 !important;text-align:left !important;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-study-number {display:block !important;font-size:11px !important;letter-spacing:.08em !important;color:#68745e !important}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-card-caption h3 {font-size:clamp(29px,2.6vw,37px) !important;margin:0 !important;overflow-wrap:anywhere}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-card-caption p {font-size:17px !important;line-height:1.6 !important;max-width:none !important;color:#536451 !important;margin:0 !important}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-card-play {
  display:flex !important;position:absolute !important;z-index:3 !important;
  left:auto !important;right:12px !important;bottom:12px !important;top:auto !important;
  background:#143a2de8 !important;color:#fff7e4 !important;border:1px solid #ffffff40;
  font:500 14px/1.3 Arial,Helvetica,sans-serif !important;padding:9px 13px !important;border-radius:4px !important;
}
html.gifs-refined body #root#root#root#root#root .craft-content .mg-gallery-note {font:14px/1.5 Arial,Helvetica,sans-serif !important;margin:24px 0 0 !important;color:#66715d !important}
/* Repeated information uses one spacing and type scale. */
html.gifs-refined body #root#root#root#root#root :is(.craft-process,.craft-content-formats,.craft-responsibilities) {gap:32px !important}
html.gifs-refined body #root#root#root#root#root :is(.craft-process h3,.craft-content-formats h3,.craft-responsibilities h3,.craft-os-card h3,.sf-deliv-card h3) {font-size:32px !important;margin:12px 0 16px !important}
html.gifs-refined body #root#root#root#root#root .craft-process li{padding:26px 0 !important;display:block !important}
html.gifs-refined body #root#root#root#root#root .craft-process li>span {font:13px/1.5 Arial,Helvetica,sans-serif !important;letter-spacing:.08em}
html.gifs-refined body #root#root#root#root#root :is(.craft-segmented,.craft-scenarios) {gap:8px !important;flex-wrap:wrap !important;margin-bottom:24px}
html.gifs-refined body #root#root#root#root#root :is(.craft-segmented,.craft-scenarios) button {font-size:16px !important;line-height:1.5 !important;padding:12px 16px !important;min-height:48px !important}
html.gifs-refined body #root#root#root#root#root .craft-demo-spread {gap:28px !important}
html.gifs-refined body #root#root#root#root#root :is(.craft-chat-sheet,.craft-ticket-sheet,.craft-os-preview) {padding:clamp(22px,3vw,36px) !important;border-radius:8px !important;min-width:0}
html.gifs-refined body #root#root#root#root#root .craft-message p {font-size:17px !important;line-height:1.6 !important}
html.gifs-refined body #root#root#root#root#root .craft-message {max-width:95%;padding:16px !important}
html.gifs-refined body #root#root#root#root#root .craft-ticket-sheet :is(dt,dd){font-size:17px !important;line-height:1.5 !important;overflow-wrap:anywhere}
html.gifs-refined body #root#root#root#root#root .craft-ticket-sheet h3{font-size:36px !important}
html.gifs-refined body #root#root#root#root#root .craft-os-preview ul {padding-left:22px;font-size:18px;line-height:1.65}
html.gifs-refined body #root#root#root#root#root .craft-device-row {font-size:16px !important;line-height:1.5;gap:12px;flex-wrap:wrap;padding:14px !important}
html.gifs-refined body #root#root#root#root#root .craft-device-top {font-size:14px !important;line-height:1.5;gap:10px;flex-wrap:wrap;padding-bottom:14px !important}
html.gifs-refined body #root#root#root#root#root .craft-os-tags span {font-size:14px !important;padding:7px 12px !important}
html.gifs-refined body #root#root#root#root#root .craft-os-card {padding:28px !important;border:1px solid #c9ba8d55;border-radius:8px;background:#ffffff05}
html.gifs-refined body #root#root#root#root#root .craft-questions :is(summary,.sf-faq-wrap>summary) {font-size:18px !important;line-height:1.5 !important;padding:22px 0 !important}
html.gifs-refined body #root#root#root#root#root :is(.craft-start-action>p,.craft-example-footnote) {font-size:16px !important}
html.gifs-refined body #root#root#root#root#root .craft-frame .client-header :is(.client-desktop-navigation a,.client-header-contact,.client-mobile-navigation summary,.client-mobile-navigation a) {font:16px/1.5 Arial,Helvetica,sans-serif !important}
html.gifs-refined body #root#root#root#root#root .sites-flight :is(.sf-format-description,.sf-project-detail p,.sf-deliv-card p) {font-size:18px !important}
html.gifs-refined body #root#root#root#root#root .sites-flight :is(.sf-format-tabs button,.sf-device-tabs button,.sf-project-tabs button){font-size:16px !important;min-height:44px}
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-final {padding:60px 0 !important}
@media(max-width:1050px){
 html.gifs-refined body #root#root#root#root#root .craft-content .mg-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-hero,.sf-hero){gap:28px !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-process,.craft-content-formats){gap:22px !important}
}
@media(max-width:1280px){
 html.gifs-refined body #root#root#root#root#root .craft-frame .client-desktop-navigation{display:none !important}
 html.gifs-refined body #root#root#root#root#root .craft-frame .client-mobile-navigation{display:block !important;margin-left:auto !important}
 html.gifs-refined body #root#root#root#root#root .craft-frame .client-brand>span{display:none !important}
}
@media(max-width:700px){
 html.gifs-refined body #root#root#root#root#root :is(.craft-hero,.sf-hero){padding:36px 24px 40px !important;gap:36px !important;display:flex !important;flex-direction:column !important;align-items:stretch !important}
 html.gifs-refined body #root#root#root#root#root .craft-service .craft-hero h2,
 html.gifs-refined body #root#root#root#root#root .sites-flight .sf-hero h1{font-size:clamp(40px,10.5vw,58px) !important;margin:18px 0 22px !important}
 html.gifs-refined body #root#root#root#root#root .craft-hero h1.craft-kicker{min-height:0 !important;padding-right:0 !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) p{font-size:18px !important;line-height:1.65 !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-section-inner,.sf-section-inner){padding:48px 0 !important;margin-left:24px !important;margin-right:24px !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-section-heading h2,.sf-section-title h2){font-size:38px !important}
 html.gifs-refined body #root#root#root#root#root .craft-content .mg-grid{grid-template-columns:minmax(0,1fr) !important;gap:24px !important}
 html.gifs-refined body #root#root#root#root#root .craft-content .mg-card-caption{padding:20px 10px 16px !important}
 html.gifs-refined body #root#root#root#root#root .craft-content .mg-card-caption h3{font-size:32px !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-process,.craft-content-formats,.craft-responsibilities,.craft-demo-spread){grid-template-columns:minmax(0,1fr) !important}
 html.gifs-refined body #root#root#root#root#root .craft-os-card{padding:24px !important}
 html.gifs-refined body #root#root#root#root#root .craft-ticket-sheet dl>div{grid-template-columns:minmax(0,1fr) !important;gap:4px}
 html.gifs-refined body #root#root#root#root#root .craft-segmented button{max-width:100%;white-space:normal !important;text-align:left}
 html.gifs-refined body #root#root#root#root#root .craft-on-this-page{margin:0 24px !important;padding:18px 0 !important;gap:8px 20px !important}
}
@media(prefers-reduced-motion:reduce){html.gifs-refined body #root#root#root#root#root :is(.craft-service,.sites-flight) *{scroll-behavior:auto !important}}
@media(min-width:701px) and (max-width:900px){
 html.gifs-refined body #root#root#root#root#root :is(.craft-hero,.sf-hero){display:flex !important;flex-direction:column !important;align-items:stretch !important;padding:44px 36px !important}
 html.gifs-refined body #root#root#root#root#root :is(.craft-hero-art,.sf-hero-visual){width:100% !important;max-width:520px !important;align-self:center}
 html.gifs-refined body #root#root#root#root#root .craft-service .craft-hero h2,
 html.gifs-refined body #root#root#root#root#root .sites-flight .sf-hero h1{font-size:56px !important}
}
/* The approach and contact screens share the same readable editorial scale. */
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-fruit-name{font-family:'GIFS Serif',Georgia,serif !important;font-size:28px !important;line-height:1.15 !important}
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-fruit-button small{font-size:14px !important;line-height:1.5 !important;max-width:none !important}
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-device-controls button{font-size:14px !important;min-height:46px !important;padding:10px 15px !important}
html.gifs-refined body #root#root#root#root#root .sites-flight .sf-preview-note{font-size:14px !important;line-height:1.5 !important}
@media(max-width:380px){html.gifs-refined body #root#root#root#root#root .sites-flight .sf-fruit-name{font-size:21px !important;letter-spacing:-.025em !important}}
@media(max-width:700px){
 html.gifs-refined body #root#root#root#root#root .sites-flight .sf-fruit-name{font-size:clamp(20px,6vw,24px) !important}
 html.gifs-refined body #root#root#root#root#root .sites-flight .sf-fruit-button small{font-size:13px !important}
 html.gifs-refined body #root#root#root#root#root .sites-flight .sf-project-tabs{flex-wrap:wrap !important;gap:12px 20px !important}
 html.gifs-refined body #root#root#root#root#root .sites-flight .sf-project-tabs button{flex:1 1 40%;min-width:0;font-size:16px !important}
}
html.gifs-refined body #root#root#root#root#root #approach:not([hidden]){
 height:calc(100svh - 76px) !important;max-height:calc(100svh - 76px) !important;
 overflow:auto !important;justify-content:flex-start !important;gap:32px !important;
 padding:48px clamp(24px,4.5vw,64px) !important;scrollbar-width:thin;
}
html.gifs-refined body #root#root#root#root#root #approach :is(p,p *, .v8-approach-step,.v8-approach-result,.v8-approach-cta,.v8-eyebrow){font-family:Arial,Helvetica,sans-serif !important}
html.gifs-refined body #root#root#root#root#root #approach .v8-approach-head{max-width:900px}
html.gifs-refined body #root#root#root#root#root #approach h1{font-size:clamp(38px,4.4vw,60px) !important;line-height:1.08 !important;margin:12px 0 20px !important}
html.gifs-refined body #root#root#root#root#root #approach h2{font-size:32px !important;line-height:1.12 !important;margin:12px 0 8px !important}
html.gifs-refined body #root#root#root#root#root #approach p{font-size:18px !important;line-height:1.65 !important}
html.gifs-refined body #root#root#root#root#root #approach .v8-approach-card{padding:28px !important;gap:8px;border-radius:8px;box-shadow:0 8px 22px #18342806;min-width:0}
html.gifs-refined body #root#root#root#root#root #approach .v8-approach-grid{flex-shrink:0;gap:24px !important}
html.gifs-refined body #root#root#root#root#root #approach .v8-approach-step{font-size:13px !important;line-height:1.5 !important}
html.gifs-refined body #root#root#root#root#root #approach .v8-approach-result{font-size:15px !important;line-height:1.6 !important;margin-top:14px;padding-top:16px}
html.gifs-refined body #root#root#root#root#root #approach .v8-approach-cta{font-size:17px !important;min-height:52px;line-height:1.5}
html.gifs-refined body #root#root#root#root#root #contact:not([hidden]){overflow-y:auto !important;scrollbar-width:thin}
html.gifs-refined body #root#root#root#root#root #contact :is(.contact-lead,.contact-message-summary p,.contact-edit-message,.direct-contact,.direct-contact *, .contact-primary,.contact-number-row button){font-family:Arial,Helvetica,sans-serif !important}
html.gifs-refined body #root#root#root#root#root #contact h1{font-size:clamp(44px,5vw,72px) !important;line-height:1.06 !important;margin:20px 0 24px !important}
html.gifs-refined body #root#root#root#root#root #contact :is(.contact-lead,.contact-message-summary p){font-size:18px !important;line-height:1.65 !important}
html.gifs-refined body #root#root#root#root#root #contact :is(.contact-edit-message,.contact-primary,.contact-number-row button){font-size:16px !important;line-height:1.5 !important;min-height:44px}
html.gifs-refined body #root#root#root#root#root #contact .direct-contact{font-size:18px !important;line-height:1.5 !important;min-height:52px !important}
@media(max-width:700px){
 html.gifs-refined body #root#root#root#root#root #approach:not([hidden]){padding:32px 24px 40px !important;gap:28px !important}
 html.gifs-refined body #root#root#root#root#root #approach .v8-approach-card{padding:24px !important}
 html.gifs-refined body #root#root#root#root#root #contact .contact-window{height:auto !important;min-height:0 !important;max-height:none !important;padding-bottom:40px !important}
}

/* Parser presentation: readable type, a bounded reading pane and visible navigation.
   The existing React slide state and airship transforms remain in control. */
html.gifs-refined body #root#root#root#root#root .screen-service > main.v9-parsers-deck {
  grid-template-rows: minmax(0, 1fr) 72px !important;
  user-select: text !important;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-arena {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(32px, 4vw, 72px) !important;
  max-width: 1584px !important;
  margin-inline: auto !important;
  padding: 32px clamp(28px, 4vw, 64px) !important;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 700px !important;
  max-height: 100% !important;
  min-height: 0 !important;
  align-content: start !important;
  gap: 22px !important;
  padding: 4px 18px 16px 2px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  scrollbar-width: thin !important;
  scrollbar-color: #bca980 #ffffff0d !important;
  scrollbar-gutter: stable !important;
  scroll-padding-block: 16px !important;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane::-webkit-scrollbar {
  display: block !important;
  width: 6px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: #bca980;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck :is(.v11-kicker, .v11-kicker *, .v11-lead, .v12-point-item, .v12-point-item *, .v11-actions, .v11-actions *, .v13-route-ledger, .v13-route-ledger *, .v9-flight-dock, .v9-flight-dock *) {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane :is(h1, h2, h1 em, h2 em) {
  font-family: "GIFS Serif", "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(48px, 4.25vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
  font-weight: 500 !important;
  text-wrap: balance;
  overflow-wrap: normal !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v11-kicker {
  gap: 12px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  letter-spacing: .09em !important;
  flex-wrap: wrap !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v11-lead {
  max-width: 57ch !important;
  font-size: 19px !important;
  line-height: 1.58 !important;
  color: #eee7d9 !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-points {
  gap: 20px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-point-item {
  padding-left: 18px !important;
  gap: 7px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-point-item strong {
  font-size: 19px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-point-item p {
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #e1dacb !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v11-actions {
  gap: 12px 22px !important;
  margin-top: 2px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck :is(.v11-btn-solid, .v11-link-quiet) {
  min-height: 48px !important;
  max-width: 100% !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v11-btn-solid {
  padding: 12px 20px !important;
  justify-content: center !important;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger {
  gap: 16px !important;
  padding-top: 14px !important;
  bottom: 12px !important;
  flex-wrap: wrap !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger small {
  font-size: 12px !important;
  line-height: 1.5 !important;
  letter-spacing: .06em !important;
  white-space: normal !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger strong {
  font-size: 16px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
}

html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-flight-dock {
  min-height: 0 !important;
  padding-inline: clamp(20px, 4vw, 64px) !important;
  gap: 24px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-steps {
  flex: 1 1 auto !important;
  max-width: 830px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-step {
  min-width: 0 !important;
  min-height: 44px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  color: #d4c9b1 !important;
  white-space: normal !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-step[aria-current="step"] {
  color: #fff8e8 !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-hint {
  font-size: 13px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-arrow {
  width: 44px !important;
  height: 44px !important;
  font-size: 20px !important;
}
html.gifs-refined body #root#root#root#root#root .v9-parsers-deck :is(button, a):focus-visible {
  outline: 2px solid #f4d992 !important;
  outline-offset: 4px !important;
}

@media (max-width: 1100px) {
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-hint > span {
    display: none !important;
  }
}

@media (max-width: 900px) {
  html.gifs-refined body #root#root#root#root#root .screen-service > main.v9-parsers-deck {
    grid-template-rows: minmax(0, 1fr) 68px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-arena {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 142px minmax(0, 1fr) !important;
    gap: 20px !important;
    padding: 18px 28px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane {
    max-width: 700px !important;
    margin-inline: auto !important;
    gap: 20px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane :is(h1, h2, h1 em, h2 em) {
    font-size: clamp(38px, 5.7vw, 52px) !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-sky-theatre {
    min-height: 0 !important;
    border-bottom: 0 !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-air-track {
    width: 180px !important;
    margin-bottom: 26px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding-top: 8px !important;
    gap: 8px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger strong {
    font-size: 14px !important;
  }
}

@media (max-width: 600px) {
  html.gifs-refined body #root#root#root#root#root .screen-service > main.v9-parsers-deck {
    grid-template-rows: minmax(0, 1fr) calc(66px + env(safe-area-inset-bottom)) !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-arena {
    grid-template-rows: 118px minmax(0, 1fr) !important;
    padding: 14px 18px !important;
    gap: 16px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane {
    gap: 18px !important;
    padding-right: 12px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane :is(h1, h2, h1 em, h2 em) {
    font-size: 38px !important;
    line-height: 1.08 !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v11-lead {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-point-item strong {
    font-size: 18px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-point-item {
    padding-left: 14px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-air-track {
    width: 148px !important;
    margin-bottom: 26px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger small {
    font-size: 11px !important;
    letter-spacing: .03em !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-route-ledger strong {
    font-size: 12px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-flight-dock {
    padding: 0 12px env(safe-area-inset-bottom) !important;
    gap: 0 !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-steps {
    gap: 8px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    font-size: 12px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-step .v9-step-num {
    font-size: 14px !important;
    font-weight: 600 !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-step .v9-step-lbl {
    display: inline !important;
    font-size: 12px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v9-dock-hint {
    display: none !important;
  }
}

/* Preserve reading size in short windows; the copy pane takes the overflow. */
@media (max-height: 650px) and (min-width: 901px) {
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-arena {
    padding-block: 20px !important;
  }
}
@media (max-height: 650px) and (max-width: 900px) {
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-arena {
    grid-template-rows: 92px minmax(0, 1fr) !important;
    padding-block: 10px !important;
    gap: 12px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v13-air-track {
    width: 116px !important;
    margin-bottom: 24px !important;
  }
}
@media (max-width: 360px) {
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v12-copy-pane :is(h1, h2, h1 em, h2 em) {
    font-size: 36px !important;
  }
  html.gifs-refined body #root#root#root#root#root .v9-parsers-deck .v11-kicker {
    font-size: 12px !important;
    gap: 8px !important;
  }
}
