:root{--paper:#f7f8f7;--ink:#202c29;--muted:#67716e;--line:#dde3df;--blue:#00549b;--red:#b00800;--font:Helvetica,'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.95 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;height:auto}svg{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:#dce7ee}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--font);font-weight:400}h1{font-size:clamp(32px,3.7vw,62px);line-height:1.7;letter-spacing:.025em}h2{font-size:32px;line-height:1.75;letter-spacing:.02em;margin-bottom:0}h3{font-size:24px;line-height:1.7}p{margin-bottom:24px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}.header{height:112px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{display:block;width:205px;line-height:0}.header nav{display:flex;align-items:center;gap:46px}.header nav a{font-size:14px;letter-spacing:.07em;position:relative}.header nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--red) 50%,var(--blue) 50%);transition:width .35s}.header nav a:hover:after{width:100%}.menu-toggle{display:none}.hero{min-height:590px;height:calc(92svh - 112px);max-height:800px;position:relative;overflow:hidden}.hero-art{position:absolute;width:65%;height:100%;right:-1%;top:-3%;pointer-events:none;background:url('/assets/partners-poster.jpg') center/contain no-repeat}.hero-art video{height:100%;width:100%;object-fit:contain}.video-unavailable{visibility:hidden}.hero-copy{position:relative;z-index:2;padding:155px 0 0 8.3%;pointer-events:none}.hero h1{margin:0;font-weight:400;line-height:1.8}.section-wrap{padding-left:8.3%;padding-right:8.3%}.eyebrow{font-size:12px;letter-spacing:.13em;line-height:1.6;margin:0 0 24px;font-weight:400}.section-heading{display:flex;align-items:center;gap:24px;margin-bottom:68px}.section-heading .eyebrow{font-size:48px;line-height:1;letter-spacing:-.025em;margin:0}.section-heading h2{font-size:15px;line-height:1.8;letter-spacing:.08em}.section-heading:before{content:'';height:40px;width:3px;background:linear-gradient(var(--red) 50%,var(--blue) 50%);margin-right:8px}.services{padding-top:108px;padding-bottom:108px;background:white}.service-list{border-bottom:1px solid var(--line)}.service-row{display:grid;grid-template-columns:.85fr 1.5fr 1.9fr 58px;gap:25px;align-items:center;padding:45px 0;border-top:1px solid var(--line);position:relative}.service-no{font-size:12px;color:var(--muted);align-self:start;padding-top:5px}.service-no span{display:block;font-size:12px;line-height:1.6;margin-top:15px;max-width:135px}.service-title h3{font-size:20px;line-height:1.6;margin:0 0 9px}.service-title>span{font-size:14px;color:var(--muted)}.service-row p{font-size:15px;line-height:1.95;margin:0}.about-home{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;padding-top:95px;padding-bottom:118px;align-items:center;overflow:hidden}.about-copy h2{font-size:31px;line-height:1.8;margin:0 0 26px}.about-copy p:not(.eyebrow){font-size:16px;line-height:2.2;margin-bottom:0}.text-link{display:inline-flex;gap:48px;align-items:center;font-size:14px;letter-spacing:.07em;margin-top:31px;padding-bottom:8px;border-bottom:1px solid var(--ink)}.logo-scene{position:relative;min-width:0;aspect-ratio:1.15;display:grid;place-items:center}.logo-scene>svg{width:140%;max-width:none;position:absolute;inset:-10% -20%;height:120%;overflow:visible}.logo-scene img{width:40%;position:relative;z-index:2}.logo-scene .logo-halo{fill:none;stroke:#dbe1df;stroke-width:.6}.logo-scene .scene-red{stroke:var(--red);opacity:.6}.logo-scene .scene-blue{stroke:var(--blue);opacity:.6}.logo-scene .scene-line{fill:none;stroke-width:1.2}.philosophy{padding-top:100px;padding-bottom:105px;background:#edf2ef;position:relative;overflow:hidden}.philosophy .section-heading{position:relative;z-index:1;margin-bottom:54px}.philosophy-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8%}.philosophy-grid h2{font-size:42px;letter-spacing:.025em}.philosophy-grid p{font-size:16px;line-height:2.2;margin-bottom:26px}.philosophy-symbol{width:270px;max-width:85%;margin-top:40px;opacity:.72}.philosophy-symbol svg{width:100%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:85px;padding-bottom:90px;background:white;border-bottom:1px solid var(--line)}.contact h2{font-size:28px}.contact .eyebrow{margin-bottom:12px}.contact-address p{font-size:15px;margin-bottom:12px}.contact-address .email{font-family:var(--font);font-size:clamp(21px,2.3vw,34px);letter-spacing:-.025em;white-space:nowrap}.mail-square{font-size:.68em;color:var(--blue);display:inline-block;padding:0 .22em;vertical-align:.1em}.contact-address .mail-note{font-size:12px;color:var(--muted)}.footer{padding-top:42px;padding-bottom:42px;display:flex;gap:28px;align-items:center;background:#fff}.footer .brand{width:155px}.footer p{font-size:12px;margin:0}.footer small{margin-left:auto;font-size:12px;color:var(--muted)}.back-top{font-size:25px;margin-left:20px;margin-right:42px}.motion-toggle{position:fixed;bottom:20px;right:20px;width:38px;height:38px;z-index:30;background:rgba(255,255,255,.92);border:1px solid #cdd7d1;border-radius:50%;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}.motion-toggle svg{width:12px;height:12px}.motion-toggle .play-symbol{display:none}.motion-toggle.is-paused .pause-symbol{display:none}.motion-toggle.is-paused .play-symbol{display:block}.breadcrumb{display:flex;gap:15px;font-size:12px;color:var(--muted);letter-spacing:.015em;margin-bottom:49px}.page-hero{padding-top:40px;padding-bottom:74px;position:relative;overflow:hidden}.page-hero h1{font-size:44px;margin:12px 0 0;line-height:1.7}.page-hero .eyebrow{margin-bottom:0}.page-hero .hero-knot{position:absolute;width:280px;right:9%;top:10px;opacity:.8}.hero-knot svg{width:100%;height:100%}.page-section{padding-top:88px;padding-bottom:95px;background:#fff;border-bottom:1px solid var(--line)}.split-section{display:grid;grid-template-columns:1fr 1.55fr;gap:8%}.split-section h2{font-size:29px}.prose p{font-size:16px;line-height:2.2;margin-bottom:26px}.prose p:last-child{margin-bottom:0}.mvv{padding-top:85px;padding-bottom:110px;background:#fff}.mvv .section-heading{margin-bottom:44px}.mvv-row{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;padding:28px 0 48px;border-bottom:1px solid var(--line);position:relative}.mvv-row.vision-row{grid-template-columns:1fr 1.05fr;padding-top:52px;padding-bottom:65px}.vision-row .mvv-copy{grid-column:1;grid-row:1}.vision-row .brand-art{grid-column:2;grid-row:1}.mvv-copy .eyebrow{font-size:14px;margin-bottom:26px;color:var(--blue);letter-spacing:.12em}.mvv-copy h3{font-size:32px;line-height:1.9;letter-spacing:.025em;margin:0}.mvv-copy .number{font-size:12px;color:var(--muted);margin-bottom:10px;display:block}.brand-art{width:100%;position:relative;isolation:isolate;min-width:0}.brand-art>svg{width:100%;height:auto;overflow:visible}.values{padding-top:62px}.values>.eyebrow{font-size:14px;margin-bottom:36px;color:var(--blue)}.value-list{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0 32px;padding:0;margin:0}.value-list li{grid-column:span 2;border-top:1px solid var(--line);padding:25px 0 32px;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center}.value-list li:nth-child(n+4){grid-column:span 3}.value-list h4{font-size:18px;font-weight:400;line-height:1.7;margin:0 0 7px}.value-list p{font-size:14px;line-height:1.95;margin:0;color:var(--muted)}.value-icon{width:72px;height:72px;flex:none}.value-icon svg{width:100%;height:100%}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.logo-concept{background:var(--paper)}.logo-concept .logo-scene{margin-top:25px;max-width:420px}.sustainability .sustain-list{padding:0;list-style:none;margin:0;display:grid;gap:37px}.sustain-list li{display:flex;gap:28px;align-items:center}.sustain-list h3{font-size:21px;margin:0;line-height:1.9}.sustain-icon{width:64px;height:64px;flex:none}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:115px 1fr;border-bottom:1px solid var(--line);padding:23px 0;gap:22px}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{font-size:14px;color:var(--muted)}.company-table dd{margin:0;font-size:16px;line-height:2}.service-page-head{display:flex;justify-content:space-between;gap:40px;align-items:center}.service-index{font-size:90px;line-height:1;color:#d3ddd7;font-weight:300}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.service-content .service-page-copy{max-width:620px}.service-page-copy p{font-size:16px;line-height:2.25;margin-bottom:25px}.service-page-copy p:last-child{margin-bottom:0}.service-visual{align-self:center}.service-visual .brand-art{position:relative}.service-visual .brand-art:after{content:'';position:absolute;width:48%;height:1px;bottom:0;left:26%;background:linear-gradient(90deg,transparent,#cbd4ce,transparent)}.service-content.marketing .service-visual{grid-column:1;grid-row:1}.service-content.marketing .service-page-copy{grid-column:2;grid-row:1}.service-content.partnership{align-items:center}.salon-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center}.salon-photo{margin:0;position:relative;padding:24px}.salon-photo:before,.salon-photo:after{content:'';position:absolute;inset:0;border:1px solid rgba(176,8,0,.35);border-radius:50% 50% 46% 46%;transform:rotate(-7deg);pointer-events:none}.salon-photo:after{border-color:rgba(0,84,155,.35);transform:rotate(7deg)}.salon-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:48% 48% 44% 44%}.salon-photo figcaption{font-size:12px;text-align:center;color:var(--muted);margin-top:23px;position:relative}.salon-photo.in-view:before{animation:salon-orbit 14s ease-in-out infinite}.salon-photo.in-view:after{animation:salon-orbit 14s ease-in-out infinite reverse}.related-services{padding-top:55px;padding-bottom:65px}.related-services h2{font-size:14px;letter-spacing:.1em;margin-bottom:26px}.related-links{display:flex;gap:50px;flex-wrap:wrap}.related-links a{font-size:14px;padding-bottom:7px;border-bottom:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Motion follows two lines meeting; text is always immediately readable. */
[data-reveal]{transition:opacity .85s cubic-bezier(.2,.65,.2,1),transform .85s cubic-bezier(.2,.65,.2,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.brand-art.is-visible .line-draw,.logo-scene.is-visible .line-draw{stroke-dasharray:1;stroke-dashoffset:0;animation:draw-line 2.3s cubic-bezier(.2,.6,.3,1) both}.brand-art.is-visible .orbit-red{transform-origin:50% 50%;animation:float-red 13s ease-in-out infinite}.brand-art.is-visible .orbit-blue{transform-origin:50% 50%;animation:float-blue 15s ease-in-out infinite}.brand-art:not(.in-view) *,.logo-scene:not(.in-view) *{animation-play-state:paused!important}.brand-art .node-pulse{animation:breathe 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}html[data-motion='paused'] *,html[data-motion='paused'] *:before,html[data-motion='paused'] *:after{animation-play-state:paused!important;scroll-behavior:auto!important}html[data-motion='paused'] .line-draw{stroke-dasharray:none!important;stroke-dashoffset:0!important}html[data-motion='paused'] [data-reveal]{animation:none!important}@keyframes draw-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes float-red{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-7px)}}@keyframes float-blue{0%,100%{transform:translate(0,0)}50%{transform:translate(0,7px)}}@keyframes breathe{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes salon-orbit{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@media(min-width:1600px){.section-wrap{padding-left:max(8.3%,calc((100% - 1340px)/2));padding-right:max(8.3%,calc((100% - 1340px)/2))}.hero-copy{padding-left:max(8.3%,calc((100% - 1340px)/2))}}@media(max-width:1100px){.header{height:96px}.hero{height:640px;min-height:0}.hero-art{width:64%;right:-7%}.hero-copy{padding-top:160px}h1{font-size:38px}.service-row{grid-template-columns:36px 1.2fr 1.6fr 54px;gap:19px}.service-no span{display:none}.service-title h3{font-size:18px}.section-heading .eyebrow{font-size:40px}.mvv-copy h3{font-size:27px}.value-list{gap:0 25px}.value-list li{grid-template-columns:55px 1fr;gap:13px}.value-icon{width:55px;height:55px}.value-list h4{font-size:16px}.value-list p{font-size:14px}.page-hero h1{font-size:39px}.about-copy h2{font-size:27px}.philosophy-grid h2{font-size:35px}.sustain-list h3{font-size:19px}.service-content,.salon-layout{gap:6%}.service-page-copy p{font-size:15px}}
@media(max-width:760px){html{scroll-padding-top:80px}.header{height:87px;padding:0 6.4%}.brand{width:166px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 0;font-size:12px;letter-spacing:.08em;cursor:pointer}.menu-toggle span{display:block;width:22px;height:9px;border-top:1px solid;border-bottom:1px solid}.header nav{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;gap:0;align-items:stretch;background:var(--paper);padding:15px 6.4% 28px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:16px 0}.header nav a:after{display:none}.hero{height:600px;min-height:0;max-height:none}.hero-copy{padding:48px 6.4% 0}.hero h1{font-size:clamp(25px,6.4vw,39px);line-height:1.85;letter-spacing:.015em}.hero-art{width:119%;height:405px;right:-10%;top:174px}.section-wrap{padding-left:6.4%;padding-right:6.4%}.section-heading{gap:16px;margin-bottom:38px}.section-heading:before{height:30px;margin-right:0;width:2px}.section-heading .eyebrow{font-size:35px}.section-heading h2{font-size:13px}.eyebrow{font-size:12px;margin-bottom:22px}.services{padding-top:67px;padding-bottom:68px}.service-row{grid-template-columns:23px 1fr 48px;gap:12px;padding:29px 0}.service-title h3{font-size:18px}.service-title>span{font-size:12px}.service-row p{grid-column:2;grid-row:2;font-size:14px;padding-top:2px}.service-row>.orbit-link{grid-column:3;grid-row:1/3}.service-no{font-size:12px}.about-home{display:flex;flex-direction:column;gap:18px;padding-top:54px;padding-bottom:74px}.logo-scene{width:90%;max-width:400px;aspect-ratio:1.25}.about-copy{width:100%}.about-copy h2{font-size:26px;line-height:1.8}.about-copy p:not(.eyebrow){font-size:15px;line-height:2.15}.text-link{font-size:14px;gap:34px;margin-top:25px}.philosophy{padding-top:66px;padding-bottom:72px}.philosophy .section-heading{margin-bottom:37px}.philosophy .section-heading .eyebrow{font-size:28px}.philosophy-grid{display:block}.philosophy-grid h2{font-size:32px;margin-bottom:22px}.philosophy-symbol{width:180px;margin:5px auto 32px}.philosophy-grid p{font-size:15px;line-height:2.15;margin-bottom:25px}.desktop-only{display:none}.contact{display:block;padding-top:58px;padding-bottom:57px}.contact h2{font-size:25px;margin-bottom:28px}.contact-address p{font-size:14px}.contact-address .email{font-size:clamp(21px,5.9vw,31px)}.contact-address .mail-note{font-size:12px}.footer{padding-top:32px;padding-bottom:34px;display:grid;grid-template-columns:1fr 45px;gap:18px}.footer .brand{width:155px}.footer p{font-size:12px;grid-column:1;grid-row:2}.footer small{font-size:12px;margin:0;grid-column:1;grid-row:3}.back-top{grid-column:2;grid-row:1/3;margin:0;text-align:right}.motion-toggle{right:14px;bottom:14px;width:36px;height:36px}.page-hero{padding-top:23px;padding-bottom:54px}.breadcrumb{margin-bottom:34px;font-size:12px;gap:10px}.page-hero h1{font-size:29px;margin-top:10px}.page-hero .hero-knot{width:165px;right:-10px;top:24px;opacity:.15}.page-section{padding-top:59px;padding-bottom:65px}.split-section{display:block}.split-section>div:first-child{margin-bottom:32px}.split-section h2{font-size:25px}.prose p{font-size:15px;line-height:2.2}.mvv{padding-top:59px;padding-bottom:67px}.mvv .section-heading{margin-bottom:28px}.mvv-row,.mvv-row.vision-row{display:flex;flex-direction:column;gap:14px;padding-top:0;padding-bottom:41px}.mvv-row.vision-row{padding-top:32px}.mvv-row .brand-art{width:100%;max-width:440px;margin:auto}.mvv-copy{width:100%}.mvv-copy .eyebrow{font-size:13px;margin-bottom:17px}.mvv-copy h3{font-size:25px;line-height:1.8}.values{padding-top:38px}.values>.eyebrow{font-size:13px;margin-bottom:23px}.value-list{display:block}.value-list li{padding:24px 0;grid-template-columns:64px 1fr;gap:19px}.value-icon{width:64px;height:64px}.value-list h4{font-size:17px}.value-list p{font-size:14px}.logo-concept .logo-scene{width:85%;margin:10px auto 0}.logo-concept .split-section>div:first-child{margin-bottom:20px}.sustainability .sustain-list{gap:27px}.sustain-list li{gap:19px}.sustain-list h3{font-size:17px}.sustain-icon{width:50px;height:50px}.company-table>div{grid-template-columns:65px 1fr;gap:17px;padding:21px 0}.company-table dt{font-size:13px}.company-table dd{font-size:14px;overflow-wrap:anywhere}.service-page-head{gap:15px}.service-page-head h1{font-size:26px}.service-index{font-size:49px}.service-content{display:flex;flex-direction:column;gap:35px}.service-visual{width:100%;max-width:430px;order:-1}.service-page-copy p{font-size:15px;line-height:2.2;margin-bottom:25px}.salon-layout{display:flex;flex-direction:column;gap:37px}.salon-photo{max-width:360px;width:100%;margin:auto;order:-1;padding:19px}.salon-photo figcaption{font-size:12px}.related-services{padding-top:39px;padding-bottom:47px}.related-links{flex-direction:column;gap:24px;align-items:start}.related-links a{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.line-draw{stroke-dasharray:none!important;stroke-dashoffset:0!important}}
/* Keep the surrounding lines within their visual panels. */
.logo-concept .logo-scene{overflow:hidden}
.salon-photo:before,.salon-photo:after{inset:18px}
.philosophy-symbol .value-icon{display:block;width:100%;height:auto}
.philosophy-symbol .value-icon svg{width:100%;height:auto}
.mission-row .orbit-red,.mission-row .orbit-blue,.marketing .orbit-red,.marketing .orbit-blue{animation-name:ink-breathe!important}
@keyframes ink-breathe{0%,100%{opacity:.8}50%{opacity:1}}


/* A single point moves slowly along a fixed, complete circle on interaction. */
.orbit-link{display:inline-block;vertical-align:middle;width:36px;height:36px;flex:none;overflow:visible}
.orbit-track{fill:none;stroke:#b7c1bc;stroke-width:1}
.orbit-marker{fill:var(--ink);transform-origin:32px 32px;animation:link-orbit 10s linear infinite;animation-play-state:paused}
a:is(:hover,:focus-visible) .orbit-marker{animation-play-state:running}
.service-row>.orbit-link{width:48px;height:48px;justify-self:end}
.header nav .orbit-link{width:23px;height:23px;margin-left:7px}
.text-link .orbit-link{width:32px;height:32px}
.related-links a{display:inline-flex;align-items:center;gap:25px}
.related-links .orbit-link{width:30px;height:30px}
.back-top{display:grid;place-items:center;width:36px;height:44px}
html[data-motion='paused'] .orbit-marker{animation-play-state:paused!important}
@keyframes link-orbit{to{transform:rotate(360deg)}}
.logo-only{margin:44px auto 0;max-width:280px}
.logo-only img{display:block;width:100%;height:auto}
.philosophy-symbol{opacity:1;width:320px;max-width:100%}
.philosophy-geometry{position:relative;aspect-ratio:1;width:100%;}
.philosophy-geometry canvas,.philosophy-geometry img{display:block;width:100%;height:100%;object-fit:contain}
.philosophy-geometry canvas{position:absolute;inset:0}
.philosophy-geometry.is-rendered img{visibility:hidden}
.sdg-icon{display:block;width:112px;height:112px;object-fit:contain;flex:none}
.sustainability{row-gap:30px}
@media(max-width:760px){.logo-only{width:60%;margin:30px auto 38px}.sdg-icon{width:86px;height:86px}.service-row>.orbit-link{width:42px;height:42px}.sustain-list li{gap:22px}.philosophy-symbol{width:270px}}

.service-submenu{display:none}
.vision-orbits{transform-origin:320px 220px;animation:vision-breathe 14s ease-in-out infinite}
@keyframes vision-breathe{0%,100%{transform:scale(.98)}50%{transform:scale(1.025)}}
@media(max-width:760px){
  .header nav{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
  .nav-service>a{display:block}
  .header nav .service-submenu{display:block;list-style:none;margin:0 0 12px 8px;padding:0 0 0 20px;border-left:1px solid var(--line)}
  .header nav .service-submenu a{display:block;padding:10px 0;font-size:14px;line-height:1.8;letter-spacing:.01em}
  .header nav .service-submenu a[aria-current='page']{color:var(--blue)}
}

/* Footer contains only the copyright. */
.footer{display:block;padding-top:28px;padding-bottom:28px;text-align:center;border-top:1px solid var(--line)}
.footer small{margin:0;font-size:12px}

/* Revision 7: two partners create an upward, shared flow; customers circulate. */
.philosophy-geometry{aspect-ratio:1.7;overflow:hidden}
.philosophy-geometry canvas,.philosophy-geometry img{position:absolute;top:-35%;left:0;width:100%;height:170%}
.fountain-partner{animation:fountain-meet 9s ease-in-out infinite}
.fountain-red{--partner-x:-42px}.fountain-blue{--partner-x:42px}
.fountain-current{stroke-dasharray:24 100;stroke-dashoffset:0;animation:fountain-rise 9s ease-in-out infinite;animation-delay:var(--jet-delay)}
.funnel-current{stroke-dasharray:9 91;animation:funnel-circulate 9s linear infinite;animation-delay:var(--flow-delay)}
@keyframes fountain-meet{0%,10%,100%{transform:translateX(var(--partner-x))}30%,85%{transform:translateX(0)}}
@keyframes fountain-rise{0%,25%{stroke-dashoffset:24;opacity:0}35%{opacity:.85}80%{stroke-dashoffset:-100;opacity:.85}88%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes funnel-circulate{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@media(prefers-reduced-motion:reduce){.fountain-current{stroke-dasharray:none;opacity:.65}.fountain-partner{transform:none}.funnel-current{stroke-dasharray:none;opacity:.55}}

/* Revision 8: the headline and complete video frame have separate layout cells. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:3%;align-items:center;padding:0 5.3% 0 8.3%}
.hero-copy{grid-column:1;grid-row:1;padding:0;min-width:0;order:0}
.hero h1{font-size:clamp(28px,3.3vw,58px)}
.hero-art{position:relative;grid-column:2;grid-row:1;order:1;inset:auto;width:100%;height:100%;min-width:0;max-width:100%}
.hero-art video{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:760px){
 .hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;max-height:none;gap:0;padding:0 6.4%}
 .hero-copy{padding:40px 0 0}
 .hero h1{font-size:clamp(25px,6.4vw,39px)}
 .hero-art{width:100%;height:auto;aspect-ratio:1100/960;max-width:580px;margin:18px auto 40px;flex:none}
}
/* Desktop and mobile expose the same three service destinations. */
@media(min-width:761px){
 .nav-service{position:relative;padding:20px 0;margin:-20px 0}
 .header nav .service-submenu{display:block;position:absolute;top:100%;right:-24px;min-width:278px;list-style:none;margin:0;padding:15px 24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 32px #202c2909;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s}
 .nav-service:is(:hover,:focus-within,.is-open) .service-submenu{opacity:1;visibility:visible;transform:none}
 .header nav .service-submenu a{display:block;padding:12px 0;font-size:14px;line-height:1.7;white-space:nowrap;letter-spacing:.01em}
 .header nav .service-submenu a:after{display:none}
 .header nav .service-submenu a:is(:hover,:focus-visible),.header nav .service-submenu a[aria-current='page']{color:var(--blue)}
}
.marketing .service-visual .brand-art:after{display:none}
.funnel-intake,.funnel-return{stroke-dasharray:18 100;stroke-dashoffset:0}
.funnel-intake{animation:funnel-feed 9s linear infinite}
.funnel-return{animation:funnel-repeat 9s linear infinite}
@keyframes funnel-feed{0%{stroke-dashoffset:18;opacity:0}5%{opacity:1}35%{stroke-dashoffset:-100;opacity:1}40%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes funnel-repeat{0%,30%{stroke-dashoffset:18;opacity:0}36%{opacity:1}95%{stroke-dashoffset:-100;opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
@media(prefers-reduced-motion:reduce){.funnel-intake,.funnel-return{stroke-dasharray:none;opacity:.55}}

/* A broad transparent bridge plus a short exit grace keeps submenu links reachable. */
@media(min-width:761px){
 .header nav .service-submenu:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
}
@supports(offset-path:path("M0 0L1 1")){
 .vision-dot{cx:0;cy:0;offset-path:path("M523 220A203 139 0 1 1 117 220A203 139 0 1 1 523 220");offset-rotate:0deg;offset-distance:0%;animation:vision-travel 18s linear infinite}
 .vision-dot-blue{offset-distance:50%;animation-delay:-9s;animation-direction:reverse}
}
@keyframes vision-travel{from{offset-distance:0%}to{offset-distance:100%}}

/* Every content block uses the same once-only 0.85-second fade and 15px rise. */
.reveal-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(15px)}
html[data-motion='paused'] [data-reveal]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}
@media print{[data-reveal]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}
