/* AD LEON — connected movement. Shared art direction, September 2026. */
:root{--ink:#103448;--brand:#1d5e88;--brand-blue:#00689b;--line:#c9d7dc;--muted:#4a626e;--space:clamp(24px,5vw,88px)}
body{background:#fff;font-size:16px;line-height:1.9;overflow-wrap:break-word}
main{overflow:clip}h1,h2,h3{font-feature-settings:"palt";text-wrap:balance}a,button{-webkit-tap-highlight-color:transparent}a{transition:color .25s,background .25s}img{max-width:100%}
.header{height:96px;padding:0 var(--space);border:0;background:#fff;backdrop-filter:none}
.header .brand{width:180px;height:66px}.header nav{gap:24px;font-size:14px}.nav-contact{background:var(--ink);border-radius:0;padding:15px 23px}.menu{border:0;border-bottom:1px solid var(--ink);border-radius:0}
.eyebrow,.section-label,.case-tag{font-size:12px;letter-spacing:.13em}.section{padding:130px var(--space)}h2{font-size:clamp(32px,4.6vw,70px);line-height:1.4;letter-spacing:-.04em}.text-link{font-size:14px;min-height:50px;gap:30px}.text-link:hover{color:var(--brand-blue)}
.hero{height:auto;min-height:850px;max-height:none;background:#fff;color:var(--ink);padding-bottom:140px;isolation:isolate}
.hero-copy{width:100%;max-width:none;padding:54px var(--space) 0;pointer-events:none;position:relative;z-index:3}
.hero .eyebrow{margin-bottom:32px;color:var(--brand);font-size:12px}.hero h1{font-size:clamp(48px,6.6vw,104px);line-height:1.25;letter-spacing:-.055em;margin:0;font-weight:800;max-width:1100px}.hero h1>span{white-space:normal}.hero-action{color:var(--brand-blue);display:inline-block}
.hero-caption{display:flex;align-items:flex-end;gap:clamp(30px,5vw,90px);margin-top:42px;max-width:700px}.hero-description{font-size:16px;color:var(--ink);line-height:1.9;margin:0}.hero-link{margin:0;gap:24px;font-size:14px;flex-shrink:0;align-items:center;color:var(--brand);border-color:var(--brand)}.hero-link span{display:grid;place-items:center;border:1px solid var(--brand);border-radius:50%;width:45px;height:45px;font-size:24px}
.photo-wall{left:64%;width:49%;top:-100px;bottom:-110px;gap:16px;transform:rotate(13deg);z-index:0;opacity:.82;mask-image:linear-gradient(90deg,transparent,#000 22%)}.photo-frame{height:360px;border-radius:0}.photo-group{gap:16px;padding-bottom:16px}.photo-track{animation-duration:75s}.lane-1 .photo-track{animation-duration:85s}.photo-wall:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#fff,transparent 30%,transparent 75%,#ffffff80);pointer-events:none}
.hero-ribbon{position:absolute;inset:0;z-index:1;pointer-events:none}.hero-ribbon svg{width:100%;height:100%;overflow:visible}.hero-ribbon path{fill:none;stroke:#00689b;stroke-width:84;stroke-linecap:butt;opacity:.94;stroke-dasharray:1600;animation:ribbon-in 1.8s ease-out both}
.hero-word{position:absolute;bottom:24px;left:var(--space);font-size:clamp(60px,12.7vw,210px);font-weight:800;letter-spacing:-.075em;line-height:1;color:#e2edf2;z-index:2;white-space:nowrap;pointer-events:none}
.hero-bottom{left:var(--space);right:var(--space);bottom:0;padding:20px 0;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;z-index:3}.hero-bottom span,.hero-bottom a{background:none;padding:0}.hero-bottom span{max-width:70%}
@keyframes ribbon-in{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}
.intro{grid-template-columns:1fr 1.15fr;gap:8vw;padding-top:150px;padding-bottom:160px;align-items:center}.intro-mark{margin-top:50px}.intro-mark>span{font-size:clamp(60px,8.3vw,135px);line-height:.98;letter-spacing:-.075em;color:#b9d1dc}.intro-mark>span:nth-child(2){color:#5e94af;transform:translateX(5%)}.intro-mark>span:nth-child(3){color:#00689b;transform:translateX(10%)}.intro-mark i{display:none}.intro h2{font-size:clamp(30px,3.9vw,58px)}.intro p{font-size:16px}.section-label span{font-size:14px}
.home-stage{background:#07374e;color:white;display:block;padding:110px var(--space) 140px;position:relative;isolation:isolate;overflow:hidden}.stage-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;align-items:end}.stage-heading>.eyebrow{grid-column:1/-1;color:#add3df;font-size:12px;margin-bottom:30px}.stage-heading h2{grid-row:2/4;font-size:clamp(48px,7vw,110px);line-height:1.2;margin:0}.stage-heading p{max-width:480px}.stage-heading .text-link{width:fit-content;color:white}.stage-watermark{position:absolute;bottom:-.16em;left:-.025em;font-size:21vw;letter-spacing:-.075em;font-weight:800;line-height:1;color:#ffffff08;z-index:-1;pointer-events:none}
.connected-path{position:relative;margin-top:100px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.path-track{position:absolute;top:47px;left:0;right:0;height:2px;background:#ffffff35;overflow:hidden}.path-track i{display:block;width:30%;height:100%;background:#bae6f1;animation:connect-travel 9s linear infinite}.path-step{position:relative;padding:0 0 20px}.path-step:before{content:"";position:absolute;left:0;top:41px;width:14px;height:14px;border-radius:50%;border:3px solid #07374e;background:#bee1e9;box-shadow:0 0 0 1px #8eb6c7}.path-step>span{font-size:12px;letter-spacing:.12em;color:#afcfdd}.path-step strong{display:block;font-size:clamp(28px,4vw,64px);font-weight:500;margin-top:35px;letter-spacing:-.04em}.path-step p{font-size:16px;color:#d3e2e9;margin-top:15px}@keyframes connect-travel{from{transform:translateX(-100%)}to{transform:translateX(440%)}}
.services{background:white;padding-bottom:80px}.section-heading{grid-template-columns:.6fr 1.4fr;gap:7vw;margin-bottom:60px}.services .section-heading h2{font-size:clamp(30px,4vw,60px)}.business-index{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:0}.business-index a{border:0;border-right:1px solid var(--line);padding:5px 20px;font-size:14px;border-radius:0}.business-index a:first-child{padding-left:0}.business-index a:last-child{border-right:0}.business-index a:hover{background:transparent;color:var(--brand-blue)}
.service{position:relative;padding:100px 0;border:0;gap:7vw;grid-template-columns:1.05fr 1fr}.service-title{min-width:0}.service-body{min-width:0;padding-top:78px}.service-no{font-size:16px;letter-spacing:.1em;margin:0 0 20px}.service .eyebrow{font-size:12px}.service h3{font-size:clamp(36px,4.5vw,70px);letter-spacing:-.05em;margin:15px 0 25px}.service-title>p:not(.eyebrow){font-size:20px;line-height:1.7}.scope{margin:35px 0}.scope>div{padding:23px 0}.scope span{font-size:12px}.scope p{font-size:15px}.scope h4{font-size:20px}.service-body>p{font-size:16px}.detail-entry{font-size:14px}
.cmo-editorial{margin:40px 0 0;position:relative;min-height:390px;overflow:hidden}.cmo-editorial img{width:100%;height:440px;object-fit:cover;display:block}.cmo-editorial:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#062a40c9)}.cmo-editorial figcaption{position:absolute;bottom:25px;left:25px;font-size:clamp(28px,3vw,46px);font-weight:700;line-height:1;letter-spacing:-.04em;color:white;z-index:1}.cmo-editorial img{transition:transform .8s}.cmo-editorial:hover img{transform:scale(1.035)}
.service.neo{background:#06354d;color:white;margin:35px calc(-1 * var(--space)) 0;padding:100px var(--space);isolation:isolate;overflow:hidden}.neo:before{content:"";position:absolute;width:55vw;height:55vw;border:1px solid #68b5d855;border-radius:50%;left:-16vw;top:15%;box-shadow:0 0 0 50px #3b9bc313,0 0 0 110px #3b9bc309;z-index:-1}.neo .service-no,.neo .eyebrow{color:#b4d9e6}.neo .neo-word{font-size:clamp(90px,13vw,195px)!important;line-height:.9!important;letter-spacing:-.065em!important;font-weight:500}.neo-word span{font-size:16px;letter-spacing:0;margin-top:24px}.neo .service-title>p{color:#dcebf0}.neo .text-link{border-color:#789aa9;color:white}.neo details{border-color:#547786}.neo-flow{gap:10px;font-size:14px;line-height:1.6}.neo-flow span{background:transparent;color:#fff;border:0;border-bottom:1px solid #7599a9;padding:10px 0}.neo-flow b{color:#a0d4e4}.neo-block{background:transparent;color:white;min-height:245px;padding:25px 0;margin:35px 0 0;max-width:none;border-top:1px solid #ffffff35}.neo-block-core{font-size:88px;letter-spacing:-.055em;font-weight:400;line-height:1.5;color:#9ad0e3}.neo-block-core:before{content:"✳";display:inline-block;font-size:100px;margin-right:25px;animation:emblem-turn 35s linear infinite;vertical-align:middle}.mini-pills span{font-size:12px;border:0;background:none!important;box-shadow:none!important;padding:0 13px 0 0;color:#bedbe7;animation:none}.block-visual>small{font-size:12px;letter-spacing:.1em;opacity:1}
#ai-support{background:#eef4f7;margin:0 calc(-1 * var(--space));padding:110px var(--space);grid-template-columns:1fr 1fr}#ai-support .service-body{padding-top:100px}.ai-block{color:var(--ink);background:transparent;padding:30px 0 0;max-width:none;min-height:210px;border-top:1px solid #93b5c6}.ai-block-nodes{margin:30px 0;gap:14px;justify-content:flex-start}.ai-block-nodes strong{font-size:90px;font-weight:500;color:var(--brand-blue);letter-spacing:-.055em}.ai-block-nodes span{font-size:16px}.ai-block-nodes i{font-size:30px;color:var(--brand-blue);margin:0 10px}.signal-line{background:#bbd3df;height:3px}.signal-line:after{background:var(--brand-blue);height:3px}
#marketing-team{border-bottom:1px solid var(--line);padding-bottom:80px}#marketing-team h3{font-size:clamp(30px,3.7vw,54px)}.team-block{background:white;border-top:1px solid var(--line);padding:25px 0 0}.team-symbols{justify-content:flex-start;margin:30px 0}.team-symbols span{width:110px;height:110px;font-size:18px;border-color:#6c9cac;background:#eaf3f49c}.team-block p{text-align:left;font-size:16px}.status-badge{font-size:12px;border-radius:30px;padding:6px 14px;background:#e9f0f3;border-color:#c3d4de}.new-business{margin:0;padding-top:70px;border:0}.new-business-heading h3{font-size:clamp(34px,5vw,70px)}.venture-grid{gap:40px}.venture-grid article{border-top:1px solid var(--line)}.venture-emblem{height:210px;background:#edf3f4}.venture-grid p{font-size:16px}
.results{background:#eaf2f6;color:var(--ink);padding-top:110px}.results .section-label,.results .case-tag{color:var(--brand)}.results .section-heading{grid-template-columns:1fr 1.7fr}.home-results-visual{position:relative;border-top:1px solid #aac4d0;padding:65px 0 80px;gap:7vw;grid-template-columns:1.5fr .7fr}.home-results-visual h3{font-size:clamp(28px,3.8vw,55px)}.growth-number{gap:15px}.growth-number>span{font-size:35px;color:#5e8195}.growth-number strong{font-size:clamp(64px,10vw,160px);font-weight:500;letter-spacing:-.065em;color:var(--brand-blue)}.growth-bars{height:360px;gap:30px;padding-left:0;padding-right:0}.growth-bars i{background:var(--brand-blue)}.growth-bars>div:first-child i{background:#8cb0c2}.growth-bars span{font-size:14px}.result-grid{gap:0 60px}.result-grid article,.result-grid article:nth-child(odd),.result-grid article:nth-child(even){padding:40px 0;border-right:0;border-color:#aac4d0!important}.result-grid h3{font-size:20px}.result-label{color:#42677d;font-size:15px}.number{font-size:clamp(62px,8vw,122px);color:var(--brand-blue);letter-spacing:-.065em}.number span{font-size:24px}.result-sub{font-size:16px}.footnote{color:#4a6474;font-size:13px}.home-results-visual .text-link{border-color:var(--brand)}
.philosophy{grid-template-columns:.9fr 1.2fr;gap:10vw;padding-top:150px;padding-bottom:150px}.philosophy-mark{position:relative;padding-top:50px}.philosophy-mark>span{font-size:230px;line-height:1;height:140px;color:#c6dce7}.philosophy-mark strong{font-size:clamp(45px,6vw,95px);line-height:1.3;font-weight:500;letter-spacing:-.075em}.philosophy-mark small{font-size:12px}.philosophy h2{font-size:clamp(32px,4vw,60px)}.company{background:#f5f7f8;padding-top:90px;padding-bottom:90px}.company h2{font-size:32px}.company-table>div{font-size:16px}.company-planned{font-size:14px}
.contact,.detail-contact{background:#00689b;color:#fff;position:relative;isolation:isolate;padding:105px var(--space);overflow:hidden}.contact{grid-template-columns:.7fr 1.3fr;gap:5vw}.contact:before,.detail-contact:before{content:"";position:absolute;right:7%;top:-100px;width:190px;height:900px;transform:rotate(35deg);background:#ffffff0b;z-index:-1}.contact h2,.detail-contact h2{font-size:clamp(34px,4.9vw,76px);line-height:1.4}.contact-button{border:1px solid #ffffff80;background:transparent;border-radius:0;color:white;padding:23px 28px;font-size:16px;min-height:70px}.contact-button:hover{background:white;color:var(--brand)}.contact-note{font-size:14px}.detail-contact:after{display:none}footer{padding:50px var(--space) 75px;background:#fff}footer:before{content:"";width:25%;height:12px;background:#00689b;transform:skewX(-35deg)}.footer-brand{width:110px;height:120px}.global-motion{font-size:12px;background:#fff;border:1px solid #9ab2bf;border-radius:0;padding:9px 13px;box-shadow:none}
/* The same typographic scale and diagonal gesture continue across all pages. */
.breadcrumb{padding:20px var(--space);font-size:13px}.page-hero{background:#fff;min-height:620px;padding:65px var(--space) 95px;grid-template-columns:1.3fr .8fr;gap:25px 6vw;isolation:isolate;border-bottom:0}.page-hero h1{font-size:clamp(38px,5vw,80px);line-height:1.3;z-index:1}.page-hero>.eyebrow{font-size:13px;margin:0}.page-lead{font-size:17px;line-height:1.9;z-index:1}.page-impact{background:transparent;color:var(--brand-blue);box-shadow:none;border-radius:0;padding:30px 0;min-height:370px;overflow:visible;align-self:center}.impact-word{font-size:clamp(65px,8.7vw,140px);font-weight:500;letter-spacing:-.07em;overflow-wrap:anywhere}.impact-sub{font-size:16px}.impact-tags{gap:12px;margin-top:30px}.impact-tags span{font-size:12px;color:var(--brand);padding:5px 0;border:0;border-bottom:1px solid #a9c5d4;animation:none;background:none}.impact-grid{inset:-70px -25vw -70px 35%;background:#eaf3f7;transform:skewX(-28deg);animation:none;z-index:-1}.impact-sweep{height:6px;background:var(--brand-blue);bottom:0}.page-toc{padding:24px var(--space);font-size:14px;border-top:1px solid var(--line)}.detail-content{max-width:1450px;padding:0 var(--space)}.detail-section{padding:95px 0}.detail-section h2{font-size:clamp(30px,4vw,58px)}.detail-section h3{font-size:23px}.detail-grid{gap:35px 70px}.detail-grid p{font-size:16px;max-width:100%}.detail-grid article{border-top:1px solid var(--brand);padding-top:25px}.section-index b{font-size:75px;color:#80a8bf;font-weight:400}.section-index span{background:#cbdde5}.service-scene{box-shadow:none;border-radius:0;margin:60px 0 90px}.service-scene img{height:560px}.explain-visual{border:0;border-radius:0;box-shadow:none;background:#edf4f7;padding:50px}.explain-visual figcaption>span{font-size:12px}.explain-visual figcaption>strong{font-size:clamp(26px,3vw,44px)}.visual-flow p,.org-visual p,.role-map p{font-size:15px}.visual-flow b{font-size:42px}.visual-flow>div,.business-branches>a{animation:none;border-top:1px solid var(--brand)}.visual-flow{gap:24px}.visual-note{font-size:14px}.org-visual small{font-size:13px}.business-branches small{font-size:12px}.business-branches span{font-size:14px}.service-links h3{font-size:clamp(30px,4vw,52px)}.service-links a{padding:40px 0}.related-links{padding:40px var(--space);font-size:14px}.case-detail-grid article{padding:40px;background:#07374e}.case-big{font-size:clamp(30px,4vw,60px)}
@media(min-width:1700px){.hero{min-height:1050px}.hero-caption{margin-top:60px}.photo-frame{height:480px}}
@media(max-width:1100px){.header nav{gap:15px;font-size:13px}.header .brand{width:150px}.hero{min-height:800px}.hero h1{font-size:7.5vw}.hero-caption{max-width:520px;display:block}.hero-link{margin-top:22px}.photo-wall{left:60%;width:62%}.hero-ribbon path{stroke-width:65}.section{padding-top:100px;padding-bottom:100px}.service{gap:5vw}.service-body{padding-top:70px}.neo-flow{gap:7px}.service.neo,#ai-support{padding-top:85px;padding-bottom:85px}}
@media(max-width:900px){.header{height:80px}.header .brand{width:160px;height:58px}.header nav{top:80px;padding:25px var(--space);font-size:16px}.header nav.open{gap:15px}.hero{min-height:850px}.hero h1{font-size:clamp(46px,8.6vw,76px)}.hero-copy{padding-top:45px}.photo-wall{left:61%;width:65%;opacity:.62}.hero-ribbon{left:10%;opacity:.8}.hero-ribbon path{stroke-width:55}.hero-caption{max-width:470px}.intro{grid-template-columns:1fr 1.2fr;gap:40px}.intro-mark{display:block;margin-top:40px}.intro-mark>span{font-size:8vw}.home-stage{padding:80px var(--space) 100px}.stage-heading{gap:30px}.stage-heading h2{font-size:8vw}.path-step strong{font-size:35px}.path-step p{font-size:15px}.section-heading{grid-template-columns:1fr;gap:30px}.services .section-heading h2{font-size:42px}.service{grid-template-columns:1fr;padding:65px 0;gap:30px}.service-body,#ai-support .service-body{padding-top:0}.cmo-editorial img{height:440px}.cmo-editorial{min-height:0}.service.neo{grid-template-columns:1fr 1fr;gap:35px}.neo .neo-word{font-size:100px!important}.neo .service-body{padding-top:55px}.neo-block-core{font-size:60px}.neo-block-core:before{font-size:75px;margin-right:14px}.mini-pills{gap:10px}.mini-pills span{font-size:12px}.neo-flow{line-height:1.8}.service.neo .service-title>p{font-size:18px}#ai-support{grid-template-columns:1fr;gap:30px}.ai-block{min-height:0;max-width:650px}.team-block{max-width:100%}.venture-grid{grid-template-columns:repeat(3,1fr);gap:25px}.venture-grid h4{font-size:22px}.venture-emblem{height:160px}.venture-emblem strong{font-size:24px}.venture-grid article:nth-child(2) .venture-emblem strong{font-size:20px;letter-spacing:2px}.results .section-heading{grid-template-columns:1fr}.philosophy{grid-template-columns:1fr 1.25fr;gap:40px}.philosophy-mark{display:block}.philosophy-mark strong{font-size:55px}.company,.contact{grid-template-columns:1fr;gap:35px}.page-hero{grid-template-columns:1fr;min-height:0;padding-top:45px;gap:25px}.page-hero h1{font-size:clamp(38px,6vw,65px)}.page-impact{min-height:230px;grid-row:auto;grid-column:1;width:100%;max-width:none;padding:25px 0}.impact-word{font-size:90px}.impact-grid{inset:-20px -30% -20px 50%}.impact-sub{margin-top:15px}.impact-tags{margin-top:15px}.service-scene img{height:400px}.detail-grid{gap:25px}.detail-section{padding:70px 0}.explain-visual{padding:30px}}
@media(max-width:600px){:root{--space:24px}.header{height:76px}.header .brand{width:142px}.header nav{top:76px}.hero{min-height:940px;padding-bottom:370px}.hero-copy{padding-top:28px}.hero .eyebrow{font-size:12px;margin-bottom:25px}.hero h1{font-size:clamp(30px,8.7vw,52px);line-height:1.35;letter-spacing:-.055em}.hero-caption{margin-top:25px}.hero-description{font-size:16px;line-height:1.8}.hero-link{font-size:14px;margin-top:18px;padding-bottom:8px}.hero-link span{width:36px;height:36px;font-size:22px}.photo-wall{top:auto;height:350px;bottom:52px;left:9%;width:108%;opacity:1;transform:rotate(10deg);mask-image:none;gap:10px}.photo-frame{height:235px}.photo-group{gap:10px;padding-bottom:10px}.photo-wall:after{background:linear-gradient(#fff,transparent 20%,transparent 90%,#ffffff50)}.hero-ribbon{top:460px;left:-20%;height:430px;width:120%;opacity:1}.hero-ribbon path{stroke-width:68}.hero-word{font-size:15vw;bottom:55px;left:12px;color:#fff;z-index:2;text-shadow:0 1px 15px #10344840}.hero-bottom{bottom:0;padding:14px 0;font-size:10px;letter-spacing:.04em}.hero-bottom span{max-width:100%}.hero-bottom a{display:none}.section{padding:75px var(--space)}.intro{grid-template-columns:1fr;gap:40px}.intro-mark{margin-top:30px}.intro-mark>span{font-size:22vw;line-height:.94;display:block}.intro-mark>span:nth-child(2){transform:translateX(10%)}.intro-mark>span:nth-child(3){transform:translateX(20%)}.intro h2{font-size:34px}.intro p{font-size:16px}.home-stage{padding:70px var(--space) 100px}.stage-heading{display:block}.stage-heading .eyebrow{font-size:12px}.stage-heading h2{font-size:52px;margin-bottom:25px}.stage-heading p{font-size:16px}.connected-path{grid-template-columns:1fr;gap:20px;margin-top:55px;padding-left:30px}.path-track{top:0;bottom:0;left:0;right:auto;height:auto;width:2px}.path-track i{width:100%;height:30%;animation-name:connect-down}.path-step{padding-bottom:10px}.path-step:before{left:-36px;top:8px}.path-step strong{font-size:38px;margin-top:5px}.path-step p{margin-top:5px;font-size:16px}.path-step p br{display:none}.stage-watermark{font-size:23vw;bottom:10px}.services .section-heading h2{font-size:32px}.business-index{gap:8px 0;padding:12px 0}.business-index a{font-size:14px;padding:3px 12px}.service{padding:55px 0}.service h3{font-size:40px}.service-title>p:not(.eyebrow){font-size:18px}.cmo-editorial{margin-top:25px}.cmo-editorial img{height:320px}.cmo-editorial figcaption{font-size:32px;left:20px;bottom:20px}.service.neo{display:block;padding:65px var(--space);margin-top:10px}.neo .neo-word{font-size:130px!important}.neo .service-body{padding-top:40px}.neo-block{min-height:0}.neo-block-core{font-size:70px}.neo-word span{font-size:15px}.neo:before{width:100vw;height:100vw;left:-30%;top:60px}.neo-flow{font-size:14px;gap:9px}#ai-support{padding:65px var(--space)}#ai-support h3{font-size:36px}.ai-block-nodes strong{font-size:76px}.ai-block-nodes span{font-size:15px}.ai-block-nodes i{margin:0;font-size:22px}#marketing-team h3{font-size:30px}.team-symbols span{width:95px;height:95px}.venture-grid{grid-template-columns:1fr;gap:20px}.venture-grid article{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;padding:25px 0}.venture-grid .status-badge{grid-column:1/-1;justify-self:start}.venture-emblem{grid-column:1;grid-row:2/5;height:200px;margin:0}.venture-grid h4{font-size:22px;margin:0;line-height:1.5}.venture-grid p{font-size:15px;margin:0}.venture-grid .venture-category{margin:0}.home-results-visual{grid-template-columns:1fr;padding:40px 0 50px}.home-results-visual h3{font-size:30px}.growth-number strong{font-size:22vw}.growth-number>span{font-size:27px}.growth-number{gap:10px}.growth-bars{height:250px;max-width:100%;width:100%;gap:35px}.result-grid{grid-template-columns:1fr}.number{font-size:25vw;letter-spacing:-.065em}.number span{font-size:23px}.philosophy{grid-template-columns:1fr;gap:30px}.philosophy-mark{padding-top:25px}.philosophy-mark>span{height:90px;font-size:160px}.philosophy-mark strong{font-size:70px}.philosophy-mark small{margin-top:12px}.philosophy h2{font-size:34px}.company h2{font-size:29px}.company-table>div{grid-template-columns:1fr;gap:8px;font-size:16px}.contact,.detail-contact{padding:70px var(--space)}.contact h2,.detail-contact h2{font-size:34px}.contact-button{padding:20px;font-size:15px;gap:20px}.contact-note{font-size:13px}footer{padding:40px var(--space) 80px;flex-direction:row;flex-wrap:wrap;align-items:center}footer:before{display:none}.footer-brand{width:80px;height:85px}footer>div{font-size:12px;gap:10px}.page-hero{padding:40px var(--space) 60px}.page-hero h1{font-size:36px}.page-lead{font-size:16px}.impact-word{font-size:76px}.impact-tags span{font-size:12px}.impact-sub{font-size:15px}.page-toc{gap:10px 20px;padding:20px var(--space)}.detail-section h2{font-size:30px}.section-index b{font-size:55px}.detail-section h3{font-size:22px}.detail-grid,.case-detail-grid{grid-template-columns:1fr}.detail-grid p{font-size:16px}.service-scene{margin:35px 0 50px}.service-scene img{height:300px}.explain-visual{padding:25px 18px}.visual-flow{grid-template-columns:1fr;gap:15px}.visual-flow strong{font-size:21px}.visual-flow p{font-size:16px}.explain-visual figcaption>strong{font-size:25px}.case-detail-grid article{padding:25px}.related-links{grid-template-columns:1fr 1fr;padding:30px var(--space)}.phone-link{font-size:29px}.global-motion{right:10px;bottom:10px;font-size:12px}}
@keyframes connect-down{from{transform:translateY(-100%)}to{transform:translateY(440%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-ribbon path{stroke-dashoffset:0}.global-motion{display:none}html{scroll-behavior:auto}}
html:has(.all-motion-paused){scroll-behavior:auto}
/* Scroll-linked progression, with a complete path when reduced motion is set. */
.path-track:before{content:"";position:absolute;inset:0;background:#b7e4ef;transform-origin:left;transform:scaleX(var(--path-progress,1))}
.path-track i{opacity:.8}
@media(max-width:600px){.path-track:before{transform-origin:top;transform:scaleY(var(--path-progress,1))}}
@media(prefers-reduced-motion:reduce){.path-track:before{transform:none}}
.detail-content .contact-button{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}
.detail-content .contact-button:hover{background:var(--ink)}
@media(max-width:600px){.hero{min-height:850px;padding-bottom:320px}.photo-wall{height:320px}.hero-ribbon{top:420px;height:380px}}
/* The blue gesture now expresses the service: strategy → execution → learning. */
.hero-ribbon{inset:35px 1% auto auto;width:40%;height:570px;left:auto;z-index:2;opacity:1;pointer-events:none}
.hero-ribbon svg{width:100%;height:100%;overflow:visible}
.hero-ribbon .cycle-base,.hero-ribbon .cycle-signal{fill:none;stroke:#00689b;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;opacity:1;stroke-dasharray:none;animation:none}
.hero-ribbon .cycle-signal{stroke:#a6dce8;stroke-width:5;stroke-dasharray:80 1250;animation:cycle-flow 12s linear infinite}
.hero-ribbon .cycle-arrow{fill:none;stroke:#00689b;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;animation:none;opacity:1}
.cycle-label{position:absolute;background:#fff;color:#103448;padding:13px 20px;box-shadow:0 7px 30px #0c3f5112;border-left:4px solid #00689b;min-width:180px}
.cycle-label small{display:block;font-size:11px;letter-spacing:.09em;line-height:1.6;color:#356c89}
.cycle-label strong{display:block;font-size:25px;letter-spacing:-.025em;line-height:1.6;font-weight:600}
.cycle-strategy{top:10%;left:7%}.cycle-execution{top:41%;right:3%}.cycle-improve{top:77%;left:5%}
.cycle-message{position:absolute;top:53%;left:7%;font-size:15px;font-weight:600;color:#17465e;background:#fffffff0;padding:7px 12px;letter-spacing:.02em}
@keyframes cycle-flow{to{stroke-dashoffset:-1330}}
@media(min-width:1700px){.hero-ribbon{top:65px;height:690px}}
@media(max-width:1100px){.hero-ribbon{width:39%;right:0;top:50px;height:530px}.cycle-label{min-width:145px;padding:10px 13px}.cycle-label strong{font-size:21px}.cycle-label small{font-size:10px}.cycle-message{font-size:13px;left:2%;padding:5px 8px}}
@media(max-width:900px){.hero-ribbon{top:70px;width:39%;height:500px}.cycle-label{min-width:125px;padding:9px 11px}.cycle-label strong{font-size:19px}.cycle-label small{letter-spacing:0}.cycle-execution{right:0}.cycle-message{font-size:12px;top:56%}.hero-ribbon .cycle-base{stroke-width:26}}
@media(max-width:600px){.hero{padding-bottom:520px;min-height:1080px}.photo-wall{height:480px;bottom:50px;left:15%;width:100%;opacity:.62}.hero-ribbon{top:auto;bottom:120px;left:4%;right:auto;width:92%;height:430px}.hero-ribbon .cycle-base{stroke-width:28}.cycle-label{padding:9px 14px;min-width:145px}.cycle-label strong{font-size:22px}.cycle-label small{font-size:10px;letter-spacing:.07em}.cycle-strategy{left:6%;top:7%}.cycle-execution{right:0;top:40%}.cycle-improve{left:3%;top:78%}.cycle-message{top:55%;left:3%;font-size:13px}.hero-word{font-size:14vw;bottom:56px}.hero-ribbon .cycle-arrow{stroke-width:14}}
@media(prefers-reduced-motion:reduce){.hero-ribbon .cycle-signal{animation:none!important;stroke-dasharray:none;opacity:.4}}
/* Smartphone review: tighter hero pacing, readable captions, reliable touch targets. */
@media(max-width:600px){
 .hero{min-height:940px;padding-bottom:470px}
 .photo-wall{height:420px}
 .hero-ribbon{bottom:110px;height:380px}
 .cycle-label small{font-size:12px;letter-spacing:.015em}
 .cycle-label{padding:9px 12px;min-width:150px}
 .cycle-label strong{font-size:21px}
 .menu,.global-motion{min-height:44px}
 .business-index a{min-height:44px;display:inline-flex;align-items:center}
 .hero-bottom{font-size:12px;line-height:1.6}
}
@media(max-width:360px){
 .hero-description{font-size:15px}
 .cycle-label{min-width:140px}
 .cycle-label strong{font-size:20px}
 .cycle-label small{font-size:11px}
 .cycle-message{font-size:12px}
}
@media(max-width:600px){
 .global-motion{top:16px;right:104px;bottom:auto;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#edf4f7;font-size:0;box-shadow:none}
 .global-motion span{font-size:14px;line-height:44px;margin:0}
}
@media(max-width:360px){.header .brand{width:128px}.global-motion{right:108px}}
/* Keep the complete phrase visible; customer scenes lead the photo sequence. */
.hero-word{left:var(--space);right:var(--space);width:auto;font-size:clamp(32px,10.5vw,180px);letter-spacing:-.06em;line-height:1.1;white-space:nowrap}
.photo-frame img[src="customer-retail.png"],.photo-frame img[src="customer-ecommerce.png"]{object-position:50% 45%}
@media(max-width:600px){.hero-word{left:16px;right:16px;font-size:10.6vw;bottom:65px;letter-spacing:-.055em}}

/* Explain the feedback loop in plain actions. */
.cycle-message{line-height:1.65}
@media(max-width:600px){.cycle-message{top:60%}}

/* Strategy starts with understanding the business and its people. */
.strategy-definition{margin:32px 0 48px;padding:32px;border-left:4px solid #00689b;background:#f0f5f8}
.strategy-definition>h3{font-size:clamp(24px,2.6vw,36px);line-height:1.5;margin:12px 0 20px}
.strategy-questions{margin:28px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.strategy-questions>div{border-top:1px solid #aac1cf;padding-top:18px}
.strategy-questions dt{font-size:18px;font-weight:700;color:#17465e;margin-bottom:10px}
.strategy-questions dd{margin:0;font-size:16px;line-height:1.85}
@media(max-width:900px){.strategy-questions{grid-template-columns:1fr;gap:18px}}
@media(max-width:600px){.strategy-definition{padding:24px 20px;margin:24px 0 36px}.strategy-definition>h3{font-size:25px}}

.strategy-definition>h3 span{display:inline-block}

/* Floating contact: compact typography, a single blue action, and space from the edge. */
body{padding-bottom:112px}
html{scroll-padding-bottom:112px}
.persistent-contact{position:fixed;right:28px;bottom:28px;z-index:9;display:grid;grid-template-columns:1fr 48px;grid-template-rows:auto auto;column-gap:24px;align-items:center;min-width:272px;padding:13px 13px 13px 26px;border:1px solid #ffffff45;border-radius:999px;background:#132b36;color:#fff;box-shadow:0 8px 30px #07182024;text-decoration:none;line-height:1.4;transition:background .2s,box-shadow .2s}
.persistent-contact-en{grid-column:1;grid-row:1;font-size:10px;letter-spacing:.18em;font-weight:500;color:#c2d0d6}
.persistent-contact-ja{grid-column:1;grid-row:2;font-size:14px;letter-spacing:.035em;font-weight:700;white-space:nowrap}
.persistent-contact-arrow{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#b4e0f2;color:#123a4b;transition:background .2s}
.persistent-contact-arrow svg{width:22px;height:22px;transition:transform .2s}
.persistent-contact:focus-visible{outline:3px solid #057fa6;outline-offset:5px}
@media(hover:hover){.persistent-contact:hover{background:#1e4354;box-shadow:0 10px 36px #07182038}.persistent-contact:hover .persistent-contact-arrow{background:#fff}.persistent-contact:hover svg{transform:translate(2px,-2px)}}
@media(min-width:701px){.global-motion{right:28px;bottom:122px}}
@media(max-width:900px){
 body{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 .persistent-contact{right:16px;left:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px);max-width:380px;min-width:0;margin:0 auto;padding:10px 10px 10px 24px;grid-template-columns:1fr 44px;column-gap:16px}
 .persistent-contact-arrow{width:44px;height:44px}
 .persistent-contact-ja{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.persistent-contact,.persistent-contact-arrow,.persistent-contact-arrow svg{transition:none}}

@keyframes contact-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:no-preference){
 .persistent-contact{animation:contact-float 3.8s ease-in-out infinite}
 .persistent-contact:focus-visible,.persistent-contact:active{animation-play-state:paused}
}
@media(hover:hover){.persistent-contact:hover{animation-play-state:paused}}
