html:has(body.sfl-page) { scroll-behavior:auto; }
/* September 2026 source artwork, with live copy and the shared Arotec typeface. */
.sfl-page { background:#fcfaf6; color:#0b173a; }
.sfl-page #main { --sfl-ink:#0b173a; --sfl-orange:#c27130; --sfl-gutter:clamp(28px,5.4vw,104px); margin:0; padding:0; }
.sfl-page #main * { box-sizing:border-box; }
.sfl-page #main section { position:relative; scroll-margin-top:120px; }
.sfl-page #main > section::before { display:none; }
.sfl-page #main figure { margin:0; }
.sfl-page #main h1,.sfl-page #main h2 { color:var(--sfl-ink); font-size:clamp(42px,4.6vw,80px)!important; line-height:1.08!important; font-weight:800!important; letter-spacing:-.045em!important; margin:0 0 28px!important; text-wrap:balance; }
.sfl-page #main h3 { color:var(--sfl-ink); font-size:24px!important; line-height:1.22!important; letter-spacing:-.025em!important; margin:0 0 12px!important; }
.sfl-page #main p { color:inherit; font-size:clamp(16px,1.22vw,20px)!important; line-height:1.65!important; margin:0 0 20px; }
.sfl-page #main .sfl-eyebrow { font-size:12px!important; line-height:1.5!important; letter-spacing:.16em; text-transform:uppercase; font-weight:700!important; margin-bottom:26px; }
.sfl-page #main .sfl-lead { font-size:clamp(20px,1.65vw,28px)!important; line-height:1.4!important; font-weight:700!important; letter-spacing:-.025em; margin-bottom:22px; }
.sfl-page #main .sfl-statement { font-weight:700!important; margin-top:24px; }
.sfl-art { display:block; width:100%; height:auto; }
.sfl-scene { min-height:56.25vw; display:flex; align-items:center; isolation:isolate; background:#fbf9f5; }
.sfl-scene > .sfl-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; }
.sfl-copy { position:relative; width:44%; padding:70px 0; margin-left:var(--sfl-gutter); }
.sfl-hero { min-height:max(760px,56.25vw); }
.sfl-hero .sfl-copy { padding-top:150px; width:43%; }
.sfl-page #main .sfl-hero h1 { --arotec-display-size:clamp(58px,5.45vw,96px); --arotec-display-line-height:1.08; --arotec-display-letter-spacing:-.045em; font-size:var(--arotec-display-size)!important; }
/* Same CTA treatment as Sensory Strategies and Deep Sea Water (.ss-more). */
.sfl-page #main :is(.sfl-button,.sfl-source-cta) { display:inline-flex; flex-direction:row; align-items:center; justify-content:center; width:max-content!important; max-width:100%; min-width:154px; min-height:42px; padding:10px 24px; border:1px solid #321273; border-radius:999px; background:#321273; color:#fff!important; -webkit-text-fill-color:#fff!important; box-shadow:none; font-family:var(--font-en,"DM Sans"),sans-serif!important; font-size:16px!important; line-height:1.25; font-weight:700!important; letter-spacing:.06em; text-align:center; text-transform:uppercase; text-decoration:none; transition:background-color .2s ease,border-color .2s ease,transform .2s ease; }
.sfl-page #main .sfl-button { margin:20px 0 8px; }
.sfl-page #main :is(.sfl-button,.sfl-source-cta):is(:hover,:focus-visible) { background:#0b63c7; border-color:#0b63c7; transform:translateY(-1px); }
.sfl-page #main :is(.sfl-button,.sfl-source-cta):focus-visible { outline:3px solid rgba(17,118,206,.22); outline-offset:3px; }
@media(max-width:559px) { .sfl-page #main :is(.sfl-button,.sfl-source-cta) { min-width:142px; font-size:14px!important; } }
@media(prefers-reduced-motion:reduce) {
  .sfl-page #main :is(.sfl-button,.sfl-source-cta) { transition:none; }
  .sfl-page #main :is(.sfl-button,.sfl-source-cta):is(:hover,:focus-visible) { transform:none; }
}
.sfl-page #main :is(a,button):focus-visible { outline:3px solid #b45a1c; outline-offset:5px; }
.sfl-expertise { display:flex; gap:clamp(14px,2.6vw,44px); margin-top:30px; }
.sfl-expertise > div { display:flex; flex:1; max-width:160px; flex-direction:column; align-items:flex-start; gap:12px; }
.sfl-expertise .ph { display:grid; place-items:center; font-size:32px; width:60px; height:60px; border:1.5px solid currentColor; border-radius:50%; }
.sfl-expertise span { font-size:12px; font-weight:700; line-height:1.45; }
.sfl-culture .sfl-copy { width:39%; }
.sfl-culture .sfl-expertise { margin-top:22px; }
.sfl-culture .sfl-expertise .ph { width:49px; height:49px; font-size:27px; }
.sfl-sensory { background:#faf8f2; padding:72px var(--sfl-gutter) 36px; }
.sfl-sensory-top { display:grid; grid-template-columns:32% 68%; align-items:center; }
.sfl-sensory .sfl-copy { width:auto; padding:0; margin:0; }
.sfl-page #main .sfl-sensory h2 { font-size:clamp(38px,3.5vw,64px)!important; }
.sfl-sensory-figure { position:relative; overflow:hidden; }
.sfl-sensory-figure > img { width:135%; max-width:none; margin-left:-35%; }
.sfl-sensory-figure figcaption { position:absolute; left:33%; bottom:13.5%; width:32%; text-align:center; font-size:clamp(13px,1.3vw,21px); font-weight:800; line-height:1.15; text-transform:uppercase; }
.sfl-sensory-figure figcaption span { display:block; font-size:9px; letter-spacing:.14em; margin-top:7px; }
.sfl-senses { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; border-top:1px solid #d5d2cb; padding-top:24px; margin-top:24px; }
.sfl-sense { flex:1; min-width:76px; appearance:none; display:flex; align-items:center; flex-direction:column; gap:9px; padding:13px 7px; border:1px solid transparent; border-radius:4px; color:#23304d; background:transparent; cursor:pointer; }
.sfl-sense .ph { font-size:28px; }
.sfl-sense span { font-size:11px; font-weight:700; }
.sfl-sense:is(:hover,.is-active) { background:#fff; border-color:#bcb5a9; }
.sfl-page #main .sfl-sense-status { min-height:64px; margin:18px 0 0; font-size:16px!important; display:flex; align-items:baseline; gap:20px; }
.sfl-sense-status strong { min-width:110px; }
.sfl-memory .sfl-copy { width:30%; }
.sfl-page #main .sfl-memory h2 { font-size:clamp(42px,3.8vw,70px)!important; }
.sfl-memory-list { list-style:none; display:flex; flex-wrap:wrap; gap:10px 18px; margin:26px 0 0; padding:0; counter-reset:memory; }
.sfl-page #main .sfl-memory-list li { font-size:13px!important; counter-increment:memory; }
.sfl-memory-list li::before { content:counter(memory,decimal-leading-zero); margin-right:7px; color:#9f591b; font-weight:700; }
.sfl-wellbeing .sfl-copy { width:36.5%; }
.sfl-feelings { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:23px 10px; margin:27px 0; padding:0; }
.sfl-feelings li { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.sfl-feelings .ph { font-size:28px; }
.sfl-feelings span { font-size:12px; line-height:1.4; }
.sfl-feelings--wellbeing { grid-template-columns:repeat(3,1fr); }
.sfl-functional { padding:72px var(--sfl-gutter) 36px; background:#f8f5ed; }
.sfl-functional-top { display:grid; grid-template-columns:32% minmax(0,1fr); gap:30px; align-items:center; }
.sfl-functional .sfl-copy { width:auto; margin:0; padding:0; }
.sfl-functional figure { height:630px; overflow:hidden; }
.sfl-functional figure .sfl-art { width:100%; height:100%; object-fit:cover; object-position:right center; }
.sfl-page #main .sfl-functional h2 { font-size:clamp(42px,3.8vw,68px)!important; }
.sfl-functional-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 26px; padding:0; margin:40px 0 0; list-style:none; }
.sfl-functional-list li { border-top:1px solid #d5cec1; padding:18px 0; }
.sfl-functional-list strong { display:block; font-size:15px; margin-bottom:7px; }
.sfl-functional-list span { display:block; font-size:13px; line-height:1.55; color:#4c555c; }
.sfl-page #main .sfl-functional-note { font-size:15px!important; font-weight:700!important; border-top:1px solid #d5cec1; padding-top:20px; margin:10px 0 0; }
.sfl-emotion .sfl-copy { width:31.5%; padding-block:55px; }
.sfl-page #main .sfl-emotion h2 { font-size:clamp(36px,3.25vw,61px)!important; }
.sfl-emotion blockquote { margin:28px 0 14px; padding:0; border:0; font-size:clamp(18px,1.55vw,26px); line-height:1.4; font-weight:700; letter-spacing:-.02em; }
.sfl-method { padding-bottom:40px; background:#faf7f1; }
.sfl-method-top { position:relative; min-height:39vw; isolation:isolate; display:flex; align-items:center; }
.sfl-method-top > .sfl-art { position:absolute; width:100%; height:100%; object-fit:cover; object-position:top; z-index:-1; }
.sfl-method-top .sfl-copy { width:43%; }
.sfl-pillars { display:grid; grid-template-columns:repeat(3,1fr); padding:40px var(--sfl-gutter); gap:36px; }
.sfl-pillars article { display:flex; gap:22px; }
.sfl-pillars article + article { border-left:1px solid #d5cec1; padding-left:30px; }
.sfl-pillars .ph { font-size:38px; }
.sfl-page #main .sfl-pillars h3 { font-size:21px!important; }
.sfl-page #main .sfl-pillars p { font-size:16px!important; margin:0; }
.sfl-process { display:flex; list-style:none; padding:28px var(--sfl-gutter) 0; margin:0; }
.sfl-process li { display:flex; flex:1; flex-direction:column; align-items:center; gap:15px; position:relative; text-align:center; padding:0 14px; }
.sfl-process .ph { font-size:31px; }
.sfl-process span { font-size:12px; line-height:1.5; max-width:100px; }
.sfl-process li + li { border-left:1px solid #dbd4c9; }
.sfl-partner { min-height:850px; }
.sfl-partner .sfl-copy { width:48%; padding-block:62px; }
.sfl-page #main .sfl-partner h2 { font-size:clamp(42px,4vw,72px)!important; }
.sfl-partner-details { display:grid; grid-template-columns:55% 45%; margin-top:32px; }
.sfl-partner-features { padding-right:28px; }
.sfl-partner-features article { display:flex; gap:18px; padding:17px 0; border-top:1px solid #c3c7cf; }
.sfl-partner-features .ph { font-size:29px; }
.sfl-page #main .sfl-partner-features h3 { font-size:19px!important; margin-bottom:7px!important; }
.sfl-page #main .sfl-partner-details p { font-size:14px!important; line-height:1.6!important; margin:0; }
.sfl-approach { padding:16px 20px 10px 26px; border-left:1px solid #c3c7cf; }
.sfl-approach > span { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:20px; }
.sfl-page #main .sfl-approach h3 { font-size:26px!important; }
.sfl-approach > strong { display:block; margin-top:23px; padding-top:18px; border-top:1px solid #c3c7cf; font-size:20px; line-height:1.3; }
.sfl-offerings { padding:78px var(--sfl-gutter) 85px; background:#fff; }
.sfl-offerings-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:35px; gap:30px; }
.sfl-offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.sfl-offer { display:flex; flex-direction:column; padding:26px 24px 0; border-right:1px solid #e1dfda; border-top:1px solid #e1dfda; min-width:0; }
.sfl-offer:nth-child(4n) { border-right:0; }
.sfl-offer > .ph { font-size:35px; margin-bottom:20px; }
.sfl-page #main .sfl-offer h3 { font-size:23px!important; min-height:56px; }
.sfl-page #main .sfl-offer p { font-size:15px!important; line-height:1.6!important; }
.sfl-offer-art { width:100%; aspect-ratio:1.45; margin-top:auto; background-image:url('../images/synesthetic-flavor/20260921/backgrounds-v2/offerings.png'); background-size:400% auto; background-position:var(--offer-x) var(--offer-y); background-repeat:no-repeat; }
@media(min-width:1900px) { .sfl-page #main { --sfl-gutter:max(90px,calc((100vw - 1720px)/2)); } .sfl-copy { max-width:750px; } }
@media(min-width:821px) and (max-width:1150px) {
  .sfl-page #main { --sfl-gutter:38px; }
  .sfl-scene { min-height:700px; }
  .sfl-scene > .sfl-art { object-fit:cover; object-position:right center; }
  .sfl-hero { min-height:760px; }
  .sfl-copy { padding-block:45px; }
  .sfl-page #main h1,.sfl-page #main h2 { font-size:44px!important; }
  .sfl-page #main .sfl-hero h1 { font-size:59px!important; }
  .sfl-page #main .sfl-emotion h2 { font-size:34px!important; }
  .sfl-page #main .sfl-lead { font-size:19px!important; }
  .sfl-page #main p { font-size:16px!important; line-height:1.55!important; }
  .sfl-expertise { gap:12px; }
  .sfl-expertise span { font-size:10px; }
  .sfl-sensory { padding-top:50px; }
  .sfl-sensory-top { grid-template-columns:35% 65%; }
  .sfl-sense { min-width:90px; }
  .sfl-functional-top { grid-template-columns:36% minmax(0,1fr); }
  .sfl-functional-list { grid-template-columns:repeat(3,1fr); }
  .sfl-feelings { gap:18px 7px; grid-template-columns:repeat(2,1fr); }
  .sfl-feelings--wellbeing { grid-template-columns:repeat(3,1fr); }
  .sfl-feelings span { font-size:11px; }
  .sfl-wellbeing { min-height:810px; }
  .sfl-emotion { min-height:850px; }
  .sfl-partner { min-height:980px; }
  .sfl-partner .sfl-copy { width:47%; }
  .sfl-partner-details { grid-template-columns:1fr; }
  .sfl-approach { padding:20px 0 0; border:0; }
  .sfl-approach > span,.sfl-approach > strong { display:none; }
  .sfl-page #main .sfl-approach h3 { font-size:23px!important; }
  .sfl-partner-features { padding-right:0; }
  .sfl-offer { padding-inline:15px; }
  .sfl-page #main .sfl-offer h3 { font-size:20px!important; }
  .sfl-pillars { gap:20px; }
  .sfl-pillars article { display:block; }
  .sfl-pillars article .ph { display:block; margin-bottom:16px; }
  /* Intermediate screens use a solid copy column and the photographic half
     of each original, so longer copy never runs across the artwork. */
  .sfl-scene > .sfl-art { left:auto; right:0; width:54%; object-fit:cover; object-position:right center; }
  .sfl-scene .sfl-copy { width:calc(46% - var(--sfl-gutter)); padding-right:24px; }
}
@media(max-width:820px) {
  .sfl-page #main { --sfl-gutter:26px; }
  .sfl-page #main section { scroll-margin-top:90px; }
  .sfl-scene { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
  .sfl-scene > .sfl-art { position:relative; order:2; z-index:auto; width:185%; max-width:none; height:auto; align-self:flex-end; object-fit:contain; }
  .sfl-scene .sfl-copy { width:auto; max-width:620px; margin:0; padding:52px var(--sfl-gutter) 38px; align-self:stretch; }
  .sfl-hero .sfl-copy { padding-top:145px; }
  .sfl-page #main .sfl-hero h1 { --arotec-display-size:clamp(40px,7.4vw,58px); }
  .sfl-page #main h1,.sfl-page #main h2,.sfl-page #main .sfl-hero h1,.sfl-page #main .sfl-emotion h2,.sfl-page #main .sfl-sensory h2,.sfl-page #main .sfl-functional h2,.sfl-page #main .sfl-memory h2,.sfl-page #main .sfl-partner h2 { font-size:clamp(40px,7.4vw,58px)!important; line-height:1.08!important; margin-bottom:24px!important; }
  .sfl-page #main .sfl-eyebrow { font-size:10px!important; margin-bottom:23px; }
  .sfl-page #main .sfl-lead { font-size:21px!important; }
  .sfl-page #main p { font-size:16px!important; line-height:1.65!important; }
  .sfl-expertise { gap:20px; margin-top:25px; }
  .sfl-expertise > div { max-width:none; }
  .sfl-expertise .ph { width:50px; height:50px; font-size:27px; }
  .sfl-expertise span { font-size:11px; }
  .sfl-button { width:fit-content; max-width:100%; }
  .sfl-sensory { padding:52px var(--sfl-gutter) 25px; }
  .sfl-sensory-top { display:flex; flex-direction:column; gap:30px; }
  .sfl-sensory-figure { width:calc(100% + 30px); }
  .sfl-sensory-figure figcaption { font-size:12px; }
  .sfl-sensory-figure figcaption span { font-size:6px; margin-top:3px; }
  .sfl-senses { justify-content:start; gap:5px; padding-top:18px; }
  .sfl-sense { min-width:80px; flex:1 0 21%; }
  .sfl-page #main .sfl-sense-status { display:block; font-size:14px!important; min-height:105px; }
  .sfl-sense-status strong { display:block; margin-bottom:6px; }
  .sfl-memory-list { gap:8px 16px; }
  .sfl-feelings { grid-template-columns:repeat(4,1fr); margin-block:28px; }
  .sfl-feelings--wellbeing { grid-template-columns:repeat(3,1fr); }
  .sfl-feelings span { font-size:11px; }
  .sfl-wellbeing > .sfl-art { width:185%; height:auto; }
  .sfl-functional { padding:52px var(--sfl-gutter) 30px; }
  .sfl-functional-top { display:flex; flex-direction:column; gap:30px; }
  .sfl-functional figure { height:auto; width:calc(100% + 52px); }
  .sfl-functional figure .sfl-art { height:auto; object-fit:contain; }
  .sfl-functional-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; margin-top:25px; }
  .sfl-functional-list strong { font-size:14px; }
  .sfl-functional-list span { font-size:12px; }
  .sfl-emotion .sfl-copy { padding-bottom:40px; }
  .sfl-emotion blockquote { font-size:20px; }
  .sfl-emotion > .sfl-art { width:170%; height:auto; }
  .sfl-method { padding-bottom:35px; }
  .sfl-method-top { display:flex; flex-direction:column; }
  .sfl-method-top .sfl-copy { width:auto; padding:52px var(--sfl-gutter) 10px; margin:0; }
  .sfl-method-top > .sfl-art { position:relative; order:2; z-index:auto; height:64vw; object-fit:cover; object-position:right; }
  .sfl-pillars { grid-template-columns:1fr; padding:15px var(--sfl-gutter) 30px; gap:24px; }
  .sfl-pillars article + article { border-left:0; border-top:1px solid #d5cec1; padding:25px 0 0; }
  .sfl-pillars .ph { font-size:32px; }
  .sfl-process { flex-wrap:wrap; row-gap:30px; padding-top:6px; }
  .sfl-process li { flex:0 0 33.333%; padding-inline:7px; }
  .sfl-process li:nth-child(3n+1) { border:0; }
  .sfl-partner-details { grid-template-columns:1fr; gap:20px; margin-top:28px; }
  .sfl-partner-features { padding-right:0; }
  .sfl-partner-features article { padding:20px 0; }
  .sfl-approach { border-left:0; border-top:1px solid #c3c7cf; padding:23px 0 10px; }
  .sfl-approach > strong { font-size:18px; }
  .sfl-offerings { padding:52px var(--sfl-gutter) 50px; }
  .sfl-offerings-head { display:block; margin-bottom:25px; }
  .sfl-offerings-head .sfl-button { margin:0 0 15px; }
  .sfl-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sfl-offer { padding:25px 14px 0; }
  .sfl-offer:nth-child(2n) { border-right:0; }
  .sfl-offer:nth-child(odd) { padding-left:0; }
  .sfl-page #main .sfl-offer h3 { font-size:20px!important; min-height:0; }
  .sfl-page #main .sfl-offer p { font-size:14px!important; line-height:1.6!important; }
}
@media(prefers-reduced-motion:reduce) { .sfl-button { transition:none; } }

/* Shared-header spacing and desktop reading styles. The source compositions
   below follow the full page width instead of a viewport-height width cap. */
@media(min-width:1024px) {
  .sfl-page #main { --sfl-stage:max(580px,calc(100svh - var(--sfl-header-height,110px))); --sfl-gutter:clamp(30px,4vw,90px); padding-top:var(--sfl-header-height,110px); }
  .sfl-page #main > section { height:auto; min-height:0; scroll-margin-top:var(--sfl-anchor-margin,12px); }
  .sfl-page #main h1,.sfl-page #main h2 { font-size:clamp(36px,5.8vh,72px)!important; margin-bottom:16px!important; }
  .sfl-page #main h3 { font-size:clamp(17px,2.4vh,25px)!important; margin-bottom:8px!important; }
  .sfl-page #main p { font-size:clamp(14px,1.95vh,20px)!important; line-height:1.5!important; margin-bottom:14px; }
  .sfl-page #main .sfl-eyebrow { font-size:clamp(10px,1.45vh,13px)!important; margin-bottom:14px; }
  .sfl-page #main .sfl-lead { font-size:clamp(18px,2.5vh,28px)!important; line-height:1.35!important; margin-bottom:16px; }
  .sfl-page #main .sfl-statement { margin-top:16px; }
  .sfl-scene > .sfl-art { inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
  .sfl-scene .sfl-copy { padding:24px 0; margin-left:var(--sfl-gutter); width:43%; max-width:none; }
  .sfl-hero .sfl-copy { width:44%; }
  .sfl-page #main .sfl-hero h1 { --arotec-display-size:clamp(48px,8vh,88px); font-size:var(--arotec-display-size)!important; }
  .sfl-expertise { margin-top:20px; gap:20px; }
  .sfl-expertise > div { gap:8px; }
  .sfl-expertise .ph,.sfl-culture .sfl-expertise .ph { width:clamp(40px,6vh,64px); height:clamp(40px,6vh,64px); font-size:clamp(24px,3.6vh,34px); }
  .sfl-expertise span { font-size:clamp(10px,1.5vh,14px); }
  .sfl-culture .sfl-copy { width:39%; }
  .sfl-culture .sfl-expertise { margin-top:16px; }
  .sfl-page #main .sfl-culture h2,.sfl-page #main .sfl-memory h2 { font-size:clamp(34px,5.8vh,70px)!important; }
  .sfl-memory .sfl-copy { width:30%; }
  .sfl-memory-list { margin-top:18px; gap:8px 14px; }
  .sfl-wellbeing .sfl-copy { width:37%; }
  .sfl-feelings { margin:18px 0; gap:14px 10px; grid-template-columns:repeat(4,1fr); }
  .sfl-feelings--wellbeing { grid-template-columns:repeat(3,1fr); }
  .sfl-feelings li { gap:6px; }
  .sfl-feelings .ph { font-size:clamp(22px,3.4vh,34px); }
  .sfl-feelings span { font-size:clamp(11px,1.55vh,15px); }
  .sfl-emotion .sfl-copy { width:32%; }
  .sfl-page #main .sfl-emotion h2 { font-size:clamp(32px,5.3vh,60px)!important; }
  .sfl-emotion blockquote { font-size:clamp(17px,2.4vh,25px); margin:18px 0 12px; }

  .sfl-sensory { padding:24px var(--sfl-gutter) 18px; display:grid; grid-template-rows:minmax(0,1fr) auto auto; }
  .sfl-sensory-top { min-height:0; grid-template-columns:32% 68%; }
  .sfl-sensory .sfl-copy { margin:0; padding:0; width:auto; }
  .sfl-page #main .sfl-sensory h2 { font-size:clamp(34px,5.6vh,66px)!important; }
  .sfl-sensory-figure { width:min(100%,calc((var(--sfl-stage) - 175px)*1.317)); height:auto; justify-self:center; aspect-ratio:1.317; max-width:100%; }
  .sfl-sensory-figure > img { height:auto; width:135%; }
  .sfl-sensory-figure figcaption { font-size:clamp(11px,1.8vh,20px); }
  .sfl-sensory-figure figcaption span { font-size:clamp(6px,.95vh,10px); }
  .sfl-senses { flex-wrap:nowrap; margin-top:12px; padding-top:10px; gap:3px; }
  .sfl-sense { min-width:0; padding:8px 4px; gap:6px; }
  .sfl-sense .ph { font-size:clamp(23px,3.5vh,35px); }
  .sfl-sense span { font-size:clamp(10px,1.4vh,13px); }
  .sfl-page #main .sfl-sense-status { min-height:30px; margin:12px 0 0; font-size:clamp(13px,1.9vh,18px)!important; }

  .sfl-functional { padding:24px var(--sfl-gutter) 18px; display:grid; grid-template-columns:29% minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto auto; column-gap:28px; row-gap:12px; }
  .sfl-functional-top { display:contents; }
  .sfl-functional .sfl-copy { grid-column:1; grid-row:1 / 3; align-self:center; }
  .sfl-page #main .sfl-functional h2 { font-size:clamp(34px,5.8vh,68px)!important; }
  .sfl-functional figure { grid-column:2; grid-row:1; min-height:0; height:100%; }
  .sfl-functional figure .sfl-art { object-fit:contain; object-position:center; }
  .sfl-functional-list { grid-column:2; grid-row:2; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 20px; margin:0; }
  .sfl-functional-list li { padding:8px 0; }
  .sfl-functional-list strong { font-size:clamp(13px,1.9vh,19px); margin-bottom:3px; line-height:1.25; }
  .sfl-functional-list span { font-size:clamp(13px,1.7vh,17px); line-height:1.35; }
  .sfl-page #main .sfl-functional-note { grid-column:1 / -1; grid-row:3; font-size:clamp(13px,1.9vh,19px)!important; padding-top:10px; margin:0; }

  .sfl-method { display:grid; grid-template-rows:minmax(0,1fr) auto auto; padding-bottom:24px; }
  .sfl-method-top { min-height:0; }
  .sfl-method-top > .sfl-art { object-fit:cover; object-position:center 35%; }
  .sfl-method-top .sfl-copy { padding:24px 0 12px; width:44%; }
  .sfl-pillars { padding:20px var(--sfl-gutter); gap:28px; }
  .sfl-pillars article { display:flex; gap:15px; }
  .sfl-pillars article + article { padding-left:24px; }
  .sfl-pillars article .ph { font-size:clamp(28px,4vh,42px); margin:0; }
  .sfl-page #main .sfl-pillars h3 { font-size:clamp(17px,2.4vh,25px)!important; }
  .sfl-page #main .sfl-pillars p { font-size:clamp(14px,1.95vh,20px)!important; }
  .sfl-process { padding-top:12px; }
  .sfl-process li { gap:8px; }
  .sfl-process .ph { font-size:clamp(25px,3.8vh,40px); }
  .sfl-process span { font-size:clamp(11px,1.55vh,16px); max-width:140px; }

  .sfl-partner > .sfl-art { left:auto; width:38%; object-fit:cover; object-position:right; }
  .sfl-partner .sfl-copy { width:57%; }
  .sfl-page #main .sfl-partner h2 { font-size:clamp(34px,5.8vh,70px)!important; }
  .sfl-partner h2 br { display:none; }
  .sfl-partner-details { grid-template-columns:62% 38%; margin-top:18px; }
  .sfl-partner-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; padding-right:22px; }
  .sfl-partner-features article { display:block; padding:12px 0; }
  .sfl-partner-features .ph { display:block; font-size:26px; margin-bottom:8px; }
  .sfl-page #main .sfl-partner-features h3 { font-size:clamp(16px,2.2vh,23px)!important; }
  .sfl-page #main .sfl-partner-details p { font-size:clamp(13px,1.8vh,18px)!important; line-height:1.4!important; }
  .sfl-approach { padding:12px 0 0 22px; border-left:1px solid #c3c7cf; }
  .sfl-approach > span { display:block; margin-bottom:12px; font-size:11px; }
  .sfl-page #main .sfl-approach h3 { font-size:clamp(20px,2.8vh,30px)!important; }
  .sfl-approach > strong { display:block; margin-top:14px; padding-top:12px; font-size:clamp(16px,2.3vh,24px); }

  .sfl-offerings { padding:24px var(--sfl-gutter) 18px; display:grid; grid-template-rows:auto minmax(0,1fr); }
  .sfl-offerings-head { margin-bottom:16px; }
  .sfl-page #main .sfl-offerings-head .sfl-eyebrow { margin-bottom:6px; }
  .sfl-page #main .sfl-offerings-head h2 { margin:0!important; }
  .sfl-offerings-head .sfl-button { margin:0; }
  .sfl-offer-grid { min-height:0; grid-template-rows:repeat(2,minmax(0,1fr)); }
  .sfl-offer { display:grid; grid-template-columns:32px minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); gap:8px 8px; padding:12px 16px 4px; }
  .sfl-offer > .ph { font-size:28px; margin:0; }
  .sfl-page #main .sfl-offer h3 { font-size:clamp(16px,2.3vh,24px)!important; min-height:0; margin:0!important; align-self:center; }
  .sfl-page #main .sfl-offer p { grid-column:1 / -1; font-size:clamp(13px,1.85vh,18px)!important; line-height:1.4!important; margin:0; }
  .sfl-offer-art { grid-column:1 / -1; width:auto; height:100%; max-width:100%; aspect-ratio:1.45; justify-self:end; margin:0; }
}
@media(min-width:1024px) and (max-width:1150px) {
  .sfl-scene:not(.sfl-partner) > .sfl-art { left:auto; right:0; width:54%; object-position:right center; }
  .sfl-scene:not(.sfl-partner) .sfl-copy { width:calc(46% - var(--sfl-gutter) - 20px); }
}

/* Full-width supplied backgrounds and reference-positioned live text. */
.sfl-source { display:none; }
.sfl-original-icon { display:inline-block; position:relative; flex:none; width:48px; overflow:hidden; line-height:0; }
.sfl-original-icon > img,.sfl-source-sprite > img { position:absolute; height:auto!important; max-width:none!important; display:block; }
.sfl-expertise .sfl-original-icon { width:60px; }
.sfl-feelings .sfl-original-icon { width:44px; }
.sfl-feelings--wellbeing .sfl-original-icon { width:52px; }
.sfl-pillars .sfl-original-icon { width:52px; }
.sfl-process .sfl-original-icon { width:48px; }
.sfl-partner-features .sfl-original-icon { width:52px; }
.sfl-offer > .sfl-original-icon { width:46px; margin-bottom:18px; }
@media(min-width:1024px) {
  .sfl-page #main > section { display:flex; align-items:center; justify-content:center; height:auto; min-height:0; aspect-ratio:auto; padding:0; isolation:isolate; content-visibility:visible; contain-intrinsic-size:none; }
  .sfl-page #main > section > :not(.sfl-source) { display:none!important; }
  .sfl-page #main .sfl-source { position:relative; display:block; flex:none; width:100%; height:auto; max-width:none; aspect-ratio:16/9; container-type:size; color:#071239; }
  .sfl-page #main .sfl-source[data-reference="culture"] { aspect-ratio:32/15; }
  .sfl-source-background { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; }
  .sfl-source[data-reference="experience"] { background:#fbf9f5; }
  .sfl-source-sprite { width:calc(var(--sfl-sprite-width)*min(1cqw,1.777778cqh))!important; margin-left:calc(var(--sfl-sprite-width)*(1cqw - min(1cqw,1.777778cqh))/2); position:absolute; display:block; overflow:hidden; pointer-events:none; mix-blend-mode:multiply; }
  .sfl-source-sprite--round { border-radius:50%; mix-blend-mode:normal; }
  .sfl-editorial { position:absolute; top:0; height:100%; left:var(--sfl-editorial-left); width:calc(var(--sfl-editorial-right) - var(--sfl-editorial-left)); }
  .sfl-editorial > .sfl-source-sprite { width:var(--sfl-editorial-sprite-width)!important; margin-left:0; }
  .sfl-source[data-reference="culture"] .sfl-editorial > .sfl-source-sprite { width:calc(var(--sfl-editorial-sprite-width) * .833333)!important; margin-left:calc(var(--sfl-editorial-sprite-width) * .083333); }
  .sfl-editorial > .sfl-source-title,.sfl-editorial > .sfl-narrative-lead,.sfl-editorial > .sfl-narrative-body,.sfl-editorial > .sfl-narrative-eyebrow { left:0!important; }
  .sfl-source[data-reference="memory"] .sfl-source-sprite { mix-blend-mode:normal; }
  .sfl-source[data-reference="experience"] .sfl-source-sprite,.sfl-source[data-reference="emotion"] .sfl-source-sprite { filter:brightness(1.08); }
  .sfl-page #main .sfl-source .sfl-text { position:absolute; margin:0!important; padding:0!important; font-family:var(--font-en,"DM Sans"),sans-serif!important; font-size:calc(var(--sfl-font)*var(--sfl-fit,1)*min(1cqw,1.777778cqh))!important; line-height:calc(var(--sfl-leading)*var(--sfl-fit,1)*min(1cqw,1.777778cqh))!important; font-weight:var(--sfl-weight,400)!important; letter-spacing:-.025em!important; text-transform:none!important; color:inherit; border:0; }
  .sfl-page #main .sfl-source .sfl-line { display:block; white-space:nowrap; font:inherit; line-height:inherit; letter-spacing:inherit; }
  .sfl-source-offer { display:contents; }
  .sfl-source-cta { position:absolute; margin:0; }
  .sfl-cta-label { font:inherit; letter-spacing:inherit; }
  /* Keep actions alongside the content they continue instead of the outer corners. */
  .sfl-source[data-reference="science"] .sfl-source-cta { left:0!important; top:var(--sfl-action-top,55%)!important; min-width:0!important; padding-inline:12px; }
  .sfl-source[data-reference="applications"] .sfl-source-cta { left:0!important; top:var(--sfl-action-top,59%)!important; }
  .sfl-source[data-reference="emotion"] blockquote.sfl-text { top:81.5%!important; }
  .sfl-source[data-reference="emotion"] .sfl-source-cta { left:0!important; top:auto!important; bottom:3.5%; }
  .sfl-source[data-reference="partner"] .sfl-source-cta { left:58.1%!important; right:auto; top:var(--sfl-action-top,56%)!important; }
  .sfl-source[data-reference="partner"] .sfl-approach-body { top:var(--sfl-approach-body-top,63%)!important; }
  .sfl-source[data-reference="culture"] .sfl-source-cta,.sfl-source[data-reference="offerings"] .sfl-source-cta { left:auto!important; right:0; }
  .sfl-source[data-reference="culture"] > .sfl-editorial:last-child { left:calc(73.5% - 77px); width:154px; }
  .sfl-source[data-reference="culture"] .sfl-source-cta { top:auto!important; bottom:clamp(24px,4cqh,48px); }
  .sfl-source[data-reference="offerings"] .sfl-source-cta { top:calc(1% + (4.6875cqw - 42px) / 2)!important; }
  .sfl-source-sense { position:absolute; padding:0; margin:0; color:inherit; text-align:left; font-family:inherit; border:0; background:transparent; cursor:pointer; }
  .sfl-source-sense .sfl-text { display:block; position:relative!important; left:0!important; top:0!important; width:100%!important; }
  .sfl-source-sense:hover { outline:1px solid rgba(7,18,57,.4); outline-offset:4px; }
  .sfl-source-sense:focus-visible { outline:2px solid #ad621b!important; outline-offset:4px!important; }
  .sfl-source-status { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap; }

  /* The photo frame follows the full, uncropped image. Its nested label stage
     maps the reference artwork into the new images. */
  .sfl-photo-labels { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
  .sfl-label-layout { position:absolute; container-type:size; }
  .sfl-label-layout .sfl-source-sense { pointer-events:auto; }
}

@media(min-width:1200px) {
  .sfl-editorial { left:max(var(--arotec-content-left,150px),var(--sfl-editorial-left)); width:calc(min(var(--sfl-editorial-right),calc(100% - var(--arotec-content-right,150px))) - max(var(--arotec-content-left,150px),var(--sfl-editorial-left))); }
}

@media(min-width:1024px) { .sfl-page #main .sfl-source .sfl-source-sense-description { margin-top:.35cqw!important; } }

@media(min-width:1024px) and (max-width:1199.98px) {
  .sfl-source[data-reference="emotion"] .sfl-source-cta { bottom:.5%; }
}

@media(min-width:1200px) {
  .sfl-source[data-reference="offerings"] > .sfl-editorial:nth-of-type(2) { left:auto; right:var(--arotec-content-right,150px); width:154px; }
}

/* The opening scene alone fits the desktop viewport below the shared header. */
@media(min-width:1024px) {
  .sfl-page #main > #taste { height:calc(100svh - var(--sfl-header-height,110px)); background:#fff; }
  .sfl-page #main #taste > .sfl-source { height:100%; aspect-ratio:auto; }
  .sfl-source[data-reference="taste"] > .sfl-source-background { object-position:right center; }
  .sfl-source[data-reference="taste"] .sfl-editorial > .sfl-source-sprite {
    width:min(var(--sfl-editorial-sprite-width),calc(var(--sfl-sprite-width) * 1.777778cqh))!important;
    margin-left:max(0px,calc((var(--sfl-editorial-sprite-width) - var(--sfl-sprite-width) * 1.777778cqh) / 2));
  }
}
