:root{--forest:#0b3b32;--forest2:#092d28;--mint:#dfe9e2;--ivory:#f5f2e9;--paper:#fbfaf6;--ink:#18231f;--muted:#65716d;--brass:#B8C2BE;--line:rgba(24,35,31,.16);--serif:"Shippori Mincho",serif;--sans:"Noto Sans JP",sans-serif;--latin:"Manrope",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"palt";letter-spacing:.02em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,video{display:block;width:100%}button{font:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:94px;padding:0 clamp(24px,4vw,72px);display:flex;align-items:center;gap:44px;background:rgba(251,250,246,.94);border-bottom:1px solid transparent;transition:.35s}.site-header.scrolled{height:76px;border-color:var(--line);box-shadow:0 8px 30px rgba(18,38,31,.06);backdrop-filter:blur(16px)}.brand{margin-right:auto}.brand img{width:clamp(220px,22vw,320px);height:72px;object-fit:contain;object-position:left}.global-nav{display:flex;gap:28px;font-size:13px;font-weight:600}.global-nav a{position:relative;padding:9px 0}.global-nav a:after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:var(--forest);transform:scaleX(0);transform-origin:right;transition:transform .3s}.global-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-contact{width:148px;height:50px;padding:0 18px 0 24px;display:flex;align-items:center;justify-content:space-between;border-radius:30px;background:var(--forest);color:#fff;font-size:13px;font-weight:700}.header-contact i{font-style:normal}.menu{display:none;border:0;background:none}.hero{position:relative;min-height:100svh;padding:148px clamp(24px,4vw,72px) 58px;display:grid;grid-template-columns:minmax(360px,.84fr) minmax(520px,1.16fr);gap:clamp(34px,5vw,88px);align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;left:0;top:0;width:37%;height:100%;background:linear-gradient(135deg,rgba(223,233,226,.48),transparent);clip-path:polygon(0 0,100% 0,56% 100%,0 100%);pointer-events:none}.hero-copy{position:relative;z-index:2;padding-left:clamp(0px,2vw,34px)}.kicker,.section-index{font:600 11px/1 var(--latin);letter-spacing:.2em}.kicker{display:flex;align-items:center;gap:12px;color:var(--forest);margin:0 0 34px}.kicker i{width:28px;height:1px;background:var(--brass)}.hero h1{margin:0;font:600 clamp(38px,4.5vw,72px)/1.38 var(--serif);letter-spacing:-.035em}.hero h1 em{color:var(--forest);font-style:normal}.hero-lead{margin:30px 0 0;color:#52615c;font-size:clamp(14px,1.1vw,17px);line-height:2}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.button{min-height:62px;padding:0 26px;display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border-radius:2px;font-size:14px;font-weight:700;transition:.3s}.button.primary{background:var(--forest);color:#fff;box-shadow:0 14px 35px rgba(11,59,50,.18)}.button:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,59,50,.24)}.quiet-link,.line-link{font-size:13px;font-weight:600;border-bottom:1px solid var(--line);padding:10px 0}.quiet-link span,.line-link span{margin-left:18px}.hero-proof{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:42px;color:#56635f;font-size:11px}.hero-proof span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:var(--brass);vertical-align:middle}.hero-visual{position:relative;height:min(72vh,760px);min-height:560px;border-radius:2px 2px 92px 2px;overflow:hidden;box-shadow:0 34px 80px rgba(15,43,36,.16)}.hero-visual video{height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,30,25,.7))}.hero-caption{position:absolute;left:44px;bottom:40px;color:#fff}.hero-caption small{font:600 10px/1 var(--latin);letter-spacing:.2em}.hero-caption strong{display:block;margin-top:10px;font:500 clamp(32px,3.5vw,54px)/1 var(--latin)}.hero-caption strong b{font-size:.35em;letter-spacing:.15em}.hero-badge{position:absolute;top:0;right:0;width:150px;height:150px;padding:24px;background:var(--ivory);color:var(--forest);border-radius:0 0 0 58px}.hero-badge span{font-size:12px}.hero-badge strong{display:block;font:700 31px/1.2 var(--serif)}.hero-badge small{display:block;margin-top:12px;font:600 7px/1.5 var(--latin);letter-spacing:.12em}.scroll-guide{position:absolute;left:22px;bottom:45px;display:flex;align-items:center;gap:12px;font:600 9px/1 var(--latin);letter-spacing:.18em;transform:rotate(90deg);transform-origin:left}.scroll-guide i{width:42px;height:1px;background:var(--ink)}.statement,.value,.flow,.faq{padding:clamp(100px,12vw,180px) clamp(24px,8vw,140px)}.section-index{display:flex;align-items:center;gap:18px;margin-bottom:80px}.section-index span{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;border-radius:50%;font-size:10px}.section-index p{margin:0}.statement-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:end}.statement-en{margin:0;color:#d7ddd8;font:600 clamp(44px,7vw,106px)/.9 var(--latin);letter-spacing:-.06em}.statement-copy{max-width:620px}.statement-copy h2,.usecase-content h2,.flow-head h2,.faq-title h2{margin:0;font:600 clamp(34px,4.5vw,66px)/1.45 var(--serif);letter-spacing:-.025em}.statement-copy>p{margin:35px 0 30px;color:var(--muted);font-size:16px;line-height:2.15}.numbers{display:grid;grid-template-columns:repeat(4,1fr);margin:0 clamp(24px,4vw,72px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers article{padding:45px 34px;border-right:1px solid var(--line)}.numbers article:last-child{border:0}.numbers small,.value-title small{font:600 9px/1 var(--latin);letter-spacing:.18em;color:var(--muted)}.numbers strong{display:block;margin:18px 0 10px;font:600 26px/1.2 var(--serif)}.numbers strong b{font:500 52px/1 var(--latin);color:var(--forest)}.numbers p{margin:0;color:var(--muted);font-size:12px}.value{margin-top:120px;background:var(--forest);color:#fff}.section-index.light{color:#d7e5de}.value-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:end;margin-bottom:80px}.value-heading>p{margin:0;color:#9fb6ad;font-size:15px;line-height:2}.value-heading h2{margin:0;font:500 clamp(32px,4.2vw,60px)/1.55 var(--serif)}.value-list{border-top:1px solid rgba(255,255,255,.22)}.value-list article{position:relative;display:grid;grid-template-columns:80px 1fr 1.25fr 34px;gap:40px;align-items:center;padding:48px 0;border-bottom:1px solid rgba(255,255,255,.22);transition:.3s}.value-list article:hover{padding-left:18px;background:rgba(255,255,255,.025)}.value-no{font:500 13px/1 var(--latin);color:#a9bdb5}.value-title h3{margin:12px 0 0;font:500 25px/1.65 var(--serif)}.value-list article>p{margin:0;color:#b9cbc4;font-size:14px;line-height:2}.value-list article>i{font-style:normal;font-size:22px}.usecases{display:grid;grid-template-columns:1fr 1fr;min-height:860px;background:var(--ivory)}.usecase-photo{min-height:650px;overflow:hidden}.usecase-photo img{height:100%;object-fit:cover}.usecase-content{padding:clamp(80px,9vw,140px) clamp(30px,7vw,100px)}.usecase-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.usecase-grid>div{min-height:190px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.usecase-grid span{font:600 10px/1 var(--latin);color:var(--brass)}.usecase-grid h3{margin:30px 0 8px;font:600 19px/1.5 var(--serif)}.usecase-grid p{margin:0;color:var(--muted);font-size:12px}.flow-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.flow-head p{max-width:420px;margin:0;color:var(--muted);line-height:2}.flow-list{display:grid;grid-template-columns:repeat(4,1fr);margin:80px 0 0;padding:0;list-style:none;border-top:1px solid var(--line);border-left:1px solid var(--line)}.flow-list li{position:relative;min-height:270px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.flow-list li>span{font:600 11px/1 var(--latin);color:var(--brass)}.flow-list li:after{content:"→";position:absolute;top:30px;right:24px;color:#98a29e}.flow-list li:last-child:after{content:"✓"}.flow-list h3{margin:78px 0 14px;font:600 22px/1.4 var(--serif)}.flow-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.faq{background:#edf1ed}.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:10vw}.faq-title p{max-width:320px;margin-top:32px;color:var(--muted);line-height:2}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:28px 5px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;font-size:15px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{color:var(--brass);font:600 14px/1 var(--latin)}summary i{font-style:normal;font-size:20px;transition:.3s}details[open] summary i{transform:rotate(45deg)}details>p{margin:0;padding:0 45px 28px;color:var(--muted);font-size:14px;line-height:2}.contact{position:relative;min-height:720px;display:grid;place-items:center;overflow:hidden;color:#fff}.contact-media,.contact-shade{position:absolute;inset:0}.contact-media video{height:100%;object-fit:cover}.contact-shade{background:linear-gradient(90deg,rgba(5,38,32,.93),rgba(5,38,32,.5))}.contact-content{position:relative;z-index:2;width:min(1120px,calc(100% - 48px))}.contact-content>p{font:600 11px/1 var(--latin);letter-spacing:.2em}.contact-content h2{margin:28px 0;font:500 clamp(44px,6vw,82px)/1.35 var(--serif)}.contact-content>span{color:#d4e1dc;font-size:14px}.contact-content>div{display:flex;align-items:center;gap:36px;margin-top:48px}.button.ivory{min-width:280px;background:var(--ivory);color:var(--forest)}.contact-phone{display:grid;gap:4px}.contact-phone small,.contact-phone i{font-size:10px;font-style:normal;color:#c1d3cc}.contact-phone strong{font:500 28px/1.3 var(--latin)}.footer{padding:70px clamp(24px,6vw,100px) 30px;background:#071f1b;color:#fff}.footer-top{display:flex;align-items:center;gap:50px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.15)}.footer-top img{width:220px;filter:brightness(0) invert(1)}.footer-top p{margin:0;color:#9fb2aa;font-size:13px}.footer-top a{margin-left:auto;font:600 9px/1 var(--latin);letter-spacing:.12em}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:80px;padding:54px 0}.footer-grid small{font:600 9px/1 var(--latin);letter-spacing:.16em;color:#8aa096}.footer-grid p,.footer-grid a{display:block;margin:18px 0 0;color:#bdccc6;font-size:12px;line-height:2}.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);color:#71877e;font:500 9px/1 var(--latin);letter-spacing:.08em}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .9s cubic-bezier(.2,.75,.2,1);transition-delay:var(--delay,0ms)}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
@media(max-width:1050px){.global-nav{display:none}.menu{display:grid;gap:6px;width:40px;height:40px;padding:10px}.menu span{height:1px;background:var(--ink)}.global-nav.open{position:fixed;display:flex;flex-direction:column;top:76px;left:0;width:100%;padding:30px;background:var(--paper);border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr 1fr;gap:30px}.hero-visual{min-height:500px}.hero h1{font-size:45px}.numbers{grid-template-columns:1fr 1fr}.numbers article:nth-child(2){border-right:0}.numbers article:nth-child(-n+2){border-bottom:1px solid var(--line)}.value-list article{grid-template-columns:50px 1fr 1.15fr 24px;gap:24px}}
@media(max-width:720px){.site-header{height:76px;padding:0 18px}.site-header.scrolled{height:68px}.brand img{width:165px;height:48px}.header-contact{width:108px;height:42px;padding:0 14px;font-size:11px}.menu{margin-left:-6px}.global-nav.open{top:68px}.hero{min-height:auto;padding:108px 18px 70px;display:flex;flex-direction:column;align-items:stretch}.hero:before{width:100%;height:60%}.hero-copy{padding:0 8px}.kicker{margin-bottom:24px}.hero h1{font-size:clamp(34px,10vw,45px);line-height:1.5}.hero-lead{margin-top:21px;font-size:13px;line-height:1.95}.hero-lead br{display:none}.hero-actions{align-items:stretch;flex-direction:column;gap:12px;margin-top:30px}.button{min-height:58px}.quiet-link{width:max-content}.hero-proof{margin-top:28px;gap:9px;font-size:9px}.hero-visual{order:-1;height:46vh;min-height:360px;border-radius:2px 2px 55px 2px}.hero-badge{width:112px;height:112px;padding:17px;border-radius:0 0 0 40px}.hero-badge strong{font-size:24px}.hero-badge small{font-size:5px;margin-top:7px}.hero-caption{left:22px;bottom:23px}.hero-caption strong{font-size:31px}.scroll-guide{display:none}.statement,.value,.flow,.faq{padding:90px 24px}.section-index{margin-bottom:50px}.statement-body,.value-heading,.faq-layout{grid-template-columns:1fr;gap:50px}.statement-en{font-size:54px}.statement-copy h2,.usecase-content h2,.flow-head h2,.faq-title h2{font-size:34px}.statement-copy>p{font-size:14px}.numbers{grid-template-columns:1fr 1fr;margin:0 18px}.numbers article{padding:28px 18px}.numbers strong{font-size:18px}.numbers strong b{font-size:35px}.numbers p{font-size:10px}.value{margin-top:80px}.value-heading{margin-bottom:50px}.value-heading h2{font-size:32px}.value-list article{grid-template-columns:38px 1fr 20px;gap:17px;padding:33px 0}.value-list article:hover{padding-left:0}.value-title h3{font-size:20px}.value-list article>p{grid-column:2/4;font-size:13px}.usecases{grid-template-columns:1fr;min-height:0}.usecase-photo{min-height:360px;height:52vh}.usecase-content{padding:80px 24px}.usecase-grid{margin-top:45px}.usecase-grid>div{min-height:165px;padding:20px 16px}.usecase-grid h3{margin-top:24px;font-size:16px}.usecase-grid p{font-size:10px}.flow-head{display:block}.flow-head p{margin-top:24px}.flow-list{grid-template-columns:1fr 1fr;margin-top:50px}.flow-list li{min-height:220px;padding:22px}.flow-list h3{margin-top:65px;font-size:19px}.flow-list p{font-size:11px}.faq-layout{gap:40px}.contact{min-height:650px}.contact-content h2{font-size:45px}.contact-content>div{align-items:stretch;flex-direction:column;gap:25px}.button.ivory{min-width:0}.footer{padding:55px 24px 90px}.footer-top{align-items:flex-start;flex-direction:column;gap:16px}.footer-top img{width:180px}.footer-top a{margin:10px 0 0}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.mobile-cta{position:fixed;z-index:60;display:flex;align-items:center;justify-content:space-between;left:12px;right:12px;bottom:12px;height:58px;padding:0 22px;border-radius:3px;background:var(--forest);color:#fff;box-shadow:0 12px 35px rgba(7,31,27,.3);font-size:13px;font-weight:700}}

/* Final mobile fit pass */
html,body{overflow-x:hidden}
@media(max-width:720px){.site-header{padding:0 14px;gap:7px}.brand img{width:165px;height:54px}.header-contact{width:98px;padding:0 12px;font-size:10px}.menu{flex:0 0 34px;width:34px;margin-left:1px;padding:8px}.hero h1{font-size:26px;line-height:1.62;letter-spacing:-.055em}}

/* 13:21 design — team photo to film transition */
.hero-intro-photo{position:absolute;inset:0;z-index:1;background:#092d28;opacity:1;visibility:visible;transition:opacity 1.65s cubic-bezier(.4,0,.2,1),visibility 0s linear 1.65s;will-change:opacity;pointer-events:none}
.hero-intro-photo picture{display:block;width:100%;height:100%}
.hero-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.94) contrast(1.02);transform:scale(1.012);animation:teamStill 11.5s ease-out both}
.hero-intro-photo.is-leaving{opacity:0;visibility:hidden}
.hero-overlay{z-index:2}.hero-caption,.hero-badge{z-index:3}
@keyframes teamStill{to{transform:scale(1.038)}}
@media(max-width:720px){.hero-intro-photo img{object-position:center 42%}}
@media(prefers-reduced-motion:reduce){.hero-intro-photo{transition:none}.hero-intro-photo img{animation:none}}

/* Full-screen hero — based on the 13:21 editorial design */
.site-header{background:transparent;color:#fff;border-bottom-color:rgba(255,255,255,.18);text-shadow:0 1px 18px rgba(0,0,0,.28)}
.site-header .brand img{filter:brightness(0) invert(1);transition:filter .35s}
.site-header .global-nav a:after{background:#fff}
.site-header .header-contact{background:rgba(245,242,233,.96);color:var(--forest);text-shadow:none}
.site-header .menu span{background:#fff}
.site-header.scrolled{background:rgba(251,250,246,.95);color:var(--ink);text-shadow:none}
.site-header.scrolled .brand img{filter:none}
.site-header.scrolled .global-nav a:after{background:var(--forest)}
.site-header.scrolled .header-contact{background:var(--forest);color:#fff}
.site-header.scrolled .menu span{background:var(--ink)}
.hero{min-height:100svh;height:100svh;padding:clamp(132px,17vh,190px) clamp(24px,6vw,104px) clamp(54px,9vh,90px);display:flex;align-items:flex-end;color:#fff;background:var(--forest)}
.hero:before{z-index:1;width:100%;height:100%;background:linear-gradient(90deg,rgba(3,27,23,.84) 0%,rgba(4,32,27,.57) 43%,rgba(4,32,27,.12) 75%),linear-gradient(0deg,rgba(3,25,21,.72),transparent 58%);clip-path:none}
.hero-copy{position:relative;z-index:5;width:min(790px,72vw);padding:0;text-shadow:0 3px 28px rgba(0,0,0,.3)}
.hero .kicker{color:#DCE3E0}.hero .kicker i{background:#B8C2BE}
.hero h1{font-size:clamp(48px,6vw,88px);line-height:1.3;letter-spacing:-.045em}.hero h1 em{color:#fff}
.hero-lead{color:rgba(255,255,255,.87);font-size:clamp(14px,1.1vw,17px)}
.hero .button.primary{background:var(--ivory);color:var(--forest);box-shadow:0 18px 48px rgba(0,0,0,.2);text-shadow:none}
.hero .quiet-link{color:#fff;border-bottom-color:rgba(255,255,255,.42)}
.hero-proof{color:rgba(255,255,255,.82)}
.hero-visual{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:0;box-shadow:none;overflow:hidden}
.hero-visual video,.hero-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-overlay{background:linear-gradient(90deg,rgba(3,27,23,.32),transparent 65%),linear-gradient(0deg,rgba(3,25,21,.55),transparent 48%)}
.hero-caption{left:auto;right:clamp(24px,5vw,78px);bottom:clamp(30px,6vh,60px);text-align:right}
.hero-badge{top:94px;right:clamp(24px,4vw,72px);background:rgba(245,242,233,.94);backdrop-filter:blur(10px)}
.scroll-guide{z-index:6;left:auto;right:20px;bottom:76px;color:#fff}.scroll-guide i{background:#fff}
@media(max-width:1050px){.hero{display:flex}.hero-copy{width:min(680px,82vw)}.hero h1{font-size:clamp(44px,7vw,68px)}.hero-visual{min-height:0}}
@media(max-width:720px){
  .site-header{background:linear-gradient(180deg,rgba(3,27,23,.72),transparent);border-bottom-color:transparent}
  .site-header.scrolled{background:rgba(251,250,246,.96)}
  .hero{display:flex;flex-direction:row;min-height:100svh;height:100svh;padding:128px 22px 54px;align-items:flex-end}
  .hero:before{height:100%;background:linear-gradient(180deg,rgba(3,25,21,.18) 18%,rgba(3,25,21,.88) 82%),linear-gradient(90deg,rgba(3,25,21,.32),transparent)}
  .hero-copy{width:100%;padding:0;display:block}
  .hero .kicker{margin-bottom:17px;font-size:9px}
  .hero h1{font-size:clamp(32px,9.2vw,42px);line-height:1.46;letter-spacing:-.045em}
  .hero-lead{margin-top:17px;font-size:12px;line-height:1.8}.hero-lead br{display:none}
  .hero-actions{margin-top:24px}.hero .button.primary{min-height:54px}.hero .quiet-link{display:none}
  .hero-proof{margin-top:20px;color:rgba(255,255,255,.8)}
  .hero-visual{position:absolute;inset:0;order:initial;width:100%;height:100%;min-height:0;border-radius:0}
  .hero-visual video,.hero-intro-photo img{object-position:center 42%}
  .hero-badge{top:88px;right:14px;width:92px;height:92px;padding:13px;border-radius:0 0 0 32px}.hero-badge strong{font-size:20px}.hero-badge small{display:none}
  .hero-caption{display:none}
}

/* Desktop contact video: crop the source edges so its embedded editor mark stays outside the viewport. */
@media(min-width:721px){
  .contact-media video{
    transform:scale(1.14);
    transform-origin:left center;
  }
}



/* 13:56 baseline — audience label, supplied transparent logo, and live JST clock. */
.site-header .brand img,.site-header.scrolled .brand img{filter:drop-shadow(0 2px 13px rgba(0,0,0,.2))}
.exclusive-label{display:inline-flex;align-items:center;gap:clamp(14px,1.5vw,24px);width:max-content;max-width:100%;margin:0 0 28px;padding:clamp(12px,1.2vw,18px) clamp(18px,2vw,30px) clamp(12px,1.2vw,18px) clamp(14px,1.5vw,22px);border:1px solid rgba(255,255,255,.68);border-radius:999px;background:linear-gradient(110deg,rgba(3,40,34,.9),rgba(11,81,69,.72));box-shadow:0 18px 46px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.17);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);text-shadow:none}
.exclusive-label:before{content:"";width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#f5f2e9;box-shadow:0 0 0 6px rgba(245,242,233,.12),0 0 18px rgba(245,242,233,.42)}
.exclusive-label span{color:#fff;font:700 clamp(28px,3vw,44px)/1.1 var(--serif);letter-spacing:.07em;white-space:nowrap}.exclusive-label small{padding-left:clamp(14px,1.5vw,22px);border-left:1px solid rgba(255,255,255,.35);color:#d9e5df;font:600 clamp(7px,.7vw,10px)/1.45 var(--latin);letter-spacing:.16em;white-space:nowrap}
.hero-clock{position:absolute;z-index:6;right:clamp(24px,5vw,78px);bottom:clamp(30px,6vh,60px);color:#fff;text-align:right;text-shadow:0 2px 18px rgba(0,0,0,.36)}
.hero-clock:before{content:"";position:absolute;right:calc(100% + 16px);top:50%;width:36px;height:1px;background:rgba(255,255,255,.64)}.hero-clock small{display:block;margin-bottom:8px;color:#d7e3dd;font:600 8px/1 var(--latin);letter-spacing:.2em}.hero-clock time{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;font:500 clamp(24px,2.3vw,34px)/1 var(--latin);font-variant-numeric:tabular-nums;letter-spacing:.12em}.hero-clock b{font-size:8px;letter-spacing:.15em}
@media(max-width:720px){.exclusive-label{gap:10px;margin-bottom:18px;padding:10px 13px 10px 11px}.exclusive-label:before{width:7px;height:7px;flex-basis:7px;box-shadow:0 0 0 4px rgba(245,242,233,.12)}.exclusive-label span{font-size:clamp(19px,5.6vw,23px);letter-spacing:.04em}.exclusive-label small{padding-left:10px;font-size:5px;letter-spacing:.1em}.hero-clock{right:18px;bottom:20px}.hero-clock:before{width:20px;right:calc(100% + 10px)}.hero-clock small{margin-bottom:5px;font-size:6px}.hero-clock time{font-size:18px;gap:5px}.hero-clock b{font-size:6px}}

/* Keep the quiet scroll cue clear of the live clock. */
@media(min-width:721px){.scroll-guide{left:22px;right:auto;bottom:45px}}

/* Refined desktop scroll cue based on the supplied reference. */
@media(min-width:721px){
  .scroll-guide{
    left:32px;
    right:auto;
    top:auto;
    bottom:clamp(190px,22vh,230px);
    gap:20px;
    color:#fff;
    font-family:var(--latin);
    font-size:18px;
    font-weight:400;
    line-height:1;
    letter-spacing:.02em;
    text-transform:none;
    text-shadow:0 2px 12px rgba(0,0,0,.28);
    transform:rotate(90deg);
    transform-origin:left top;
  }
  .scroll-guide i{
    width:110px;
    height:1px;
    background:rgba(255,255,255,.92);
    box-shadow:0 1px 8px rgba(0,0,0,.18);
    transform:scaleX(0);
    transform-origin:left center;
    animation:scrollGuideLine 2.2s cubic-bezier(.45,0,.2,1) infinite;
  }
}

@keyframes scrollGuideLine{
  0%{transform:scaleX(0);opacity:0}
  18%{opacity:1}
  68%{transform:scaleX(1);opacity:1}
  100%{transform:scaleX(1);opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .scroll-guide i{animation:none;transform:scaleX(1);opacity:1}
}

/* Comparison URLs remain visibly distinct when reviewed from a desktop browser. */
@media(min-width:721px){
  body.header-sample-a .site-header{
    background:rgba(248,246,238,.86);
    color:var(--ink);
    text-shadow:none;
    border-bottom-color:rgba(11,59,50,.16);
    box-shadow:0 10px 30px rgba(7,31,27,.12);
    backdrop-filter:blur(18px) saturate(1.08);
    -webkit-backdrop-filter:blur(18px) saturate(1.08);
  }
  body.header-sample-a .site-header .header-contact,
  body.header-sample-b .site-header .header-contact{
    background:var(--forest);
    color:#fff;
  }
  body.header-sample-b .site-header{
    background:#fbfaf6;
    color:var(--ink);
    text-shadow:none;
    border-bottom-color:var(--line);
    box-shadow:0 8px 24px rgba(7,31,27,.1);
  }
  body.header-sample-c .site-header{
    background:rgba(10,35,56,.92);
    color:#fff;
    text-shadow:none;
    border-bottom-color:rgba(255,255,255,.2);
    box-shadow:0 12px 34px rgba(3,18,31,.3);
    backdrop-filter:blur(18px) saturate(1.05);
    -webkit-backdrop-filter:blur(18px) saturate(1.05);
  }
  body.header-sample-c .site-header .brand{
    padding:2px 10px;
    border-radius:12px;
    background:rgba(251,250,246,.96);
  }
  body.header-sample-c .site-header .header-contact{
    background:#f5f2e9;
    color:#12364f;
  }
  body.header-sample-d .site-header{
    background:linear-gradient(105deg,rgba(250,248,241,.96) 0%,rgba(244,242,232,.92) 43%,rgba(9,57,49,.94) 70%,rgba(6,44,38,.97) 100%);
    color:#fff;
    text-shadow:none;
    border-bottom-color:rgba(255,255,255,.2);
    box-shadow:0 12px 34px rgba(5,35,30,.22);
    backdrop-filter:blur(16px) saturate(1.08);
    -webkit-backdrop-filter:blur(16px) saturate(1.08);
  }
  body.header-sample-d .site-header .header-contact{
    background:rgba(245,242,233,.97);
    color:var(--forest);
  }
}

/* At-a-glance qualification strip — compact, editorial, and integrated with the hero. */
.hero-metrics{display:grid;grid-template-columns:.86fr .9fr 1.35fr;width:min(720px,100%);margin-top:25px;border:1px solid rgba(255,255,255,.28);border-radius:2px;background:linear-gradient(105deg,rgba(3,35,29,.82),rgba(8,61,51,.58));box-shadow:0 18px 45px rgba(0,0,0,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;text-shadow:none}
.hero-metrics>div{min-width:0;padding:14px 18px 15px;border-right:1px solid rgba(255,255,255,.2)}.hero-metrics>div:last-child{border-right:0}.hero-metrics small{display:block;margin-bottom:7px;color:#b9cdc5;font-size:9px;font-weight:600;letter-spacing:.1em;white-space:nowrap}.hero-metrics strong{display:block;color:#fff;font:600 14px/1.35 var(--serif);white-space:nowrap}.hero-metrics b{color:#D5DEDA;font:600 23px/1 var(--latin);letter-spacing:-.03em}
@media(max-width:720px){.hero-metrics{grid-template-columns:.82fr .8fr 1.38fr;margin-top:16px}.hero-metrics>div{padding:10px 8px 11px}.hero-metrics small{margin-bottom:5px;font-size:6px;letter-spacing:.04em}.hero-metrics strong{font-size:9px}.hero-metrics b{font-size:15px}.hero-proof{display:none}}

/* Keep the candid team portrait naturally framed in the split editorial section. */
.usecase-photo img{object-position:52% center}

/* Corporate-navigation and authority pass inspired by the reference site's clarity. */
.brand img{width:clamp(250px,24vw,360px);height:78px}
.global-nav{gap:clamp(14px,1.45vw,28px);white-space:nowrap}.global-nav a{font-size:12px}
.factoring{padding:clamp(105px,12vw,175px) clamp(24px,8vw,140px);background:#f1f4f0}
.factoring-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.factoring-title>p{margin:0 0 34px;color:#ccd5cf;font:600 clamp(42px,5.7vw,86px)/.94 var(--latin);letter-spacing:-.055em}.factoring-title h2,.trust-head h2{margin:0;font:600 clamp(33px,4.2vw,61px)/1.5 var(--serif);letter-spacing:-.025em}.factoring-copy>p{margin:0 0 35px;color:var(--muted);font-size:15px;line-height:2.15}.factoring-points{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}.factoring-points span{padding:10px 14px;border:1px solid #b9c6bf;border-radius:999px;color:var(--forest);font-size:11px;font-weight:600}
.trust{padding:clamp(105px,12vw,175px) clamp(24px,8vw,140px);background:var(--forest);color:#fff}.trust-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:end;margin-bottom:75px}.trust-head>p{margin:0;color:#a8beb5;font-size:15px;line-height:2}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22)}.trust-grid article{min-height:300px;padding:38px 34px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.trust-grid small{color:#C3CCC8;font:600 9px/1 var(--latin);letter-spacing:.16em}.trust-grid h3{margin:78px 0 18px;font:600 22px/1.5 var(--serif)}.trust-grid p{margin:0;color:#b7cac2;font-size:13px;line-height:2}
@media(max-width:1380px) and (min-width:1051px){.brand img{width:250px;height:68px}.site-header{gap:26px;padding-left:36px;padding-right:36px}.global-nav{gap:14px}.global-nav a{font-size:10px}.header-contact{width:132px}}
@media(max-width:720px){.brand img{width:172px;height:56px}.factoring{padding:90px 24px}.factoring-layout,.trust-head{grid-template-columns:1fr;gap:48px}.factoring-title>p{font-size:44px}.factoring-title h2,.trust-head h2{font-size:33px}.factoring-copy>p{font-size:13px}.trust{padding:90px 24px}.trust-head{margin-bottom:48px}.trust-grid{grid-template-columns:1fr}.trust-grid article{min-height:210px;padding:28px 25px}.trust-grid h3{margin-top:45px}}
@media(max-width:1050px){.global-nav.open{max-height:calc(100svh - 68px);overflow:auto;color:var(--ink);text-shadow:none;box-shadow:0 20px 45px rgba(8,35,29,.12)}.global-nav.open a{padding:13px 0;border-bottom:1px solid var(--line)}}

/* Prominent hero qualification strip. */
.hero-copy{width:min(980px,80vw)}
.hero-metrics{grid-template-columns:.9fr .95fr 1.35fr;width:min(900px,100%);margin-top:30px}
.hero-metrics>div{padding:19px 24px 20px}.hero-metrics small{margin-bottom:9px;font-size:12px}.hero-metrics strong{font-size:18px}.hero-metrics b{font-size:32px}
@media(max-width:1050px) and (min-width:721px){.hero-copy{width:min(860px,88vw)}.hero-metrics>div{padding:16px 18px}.hero-metrics small{font-size:10px}.hero-metrics strong{font-size:15px}.hero-metrics b{font-size:27px}}
@media(max-width:720px){.hero-copy{width:100%}.hero-metrics{grid-template-columns:1fr 1fr;width:100%;margin-top:18px}.hero-metrics>div{padding:12px 11px 13px}.hero-metrics>div:nth-child(2){border-right:0}.hero-metrics>div:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);text-align:center}.hero-metrics small{margin-bottom:6px;font-size:8px;letter-spacing:.07em}.hero-metrics strong{font-size:12px}.hero-metrics b{font-size:21px}}

/* Customer reviews — faithful to the approved three-card composition. */
.reviews{padding:clamp(105px,12vw,175px) clamp(24px,5.5vw,96px);background:#f2f6f4}.reviews-head{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:62px}.reviews-head>div>p{margin:0 0 32px;color:var(--forest);font:600 10px/1 var(--latin);letter-spacing:.26em}.reviews-head h2{width:max-content;max-width:100%;margin:0;padding-bottom:11px;border-bottom:1px solid var(--ink);font:600 clamp(35px,4.5vw,65px)/1.45 var(--serif);letter-spacing:-.025em}.reviews-head>p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:2}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-card{min-height:440px;padding:30px 28px 24px;display:flex;flex-direction:column;border-top:4px solid #0d6b5d;border-radius:7px;background:#fff;box-shadow:0 18px 44px rgba(14,51,43,.08)}.review-profile{position:relative;display:grid;grid-template-columns:66px 1fr 24px;gap:15px;align-items:center;padding-bottom:23px;border-bottom:1px solid #dde5e1}.review-profile h3{margin:0 0 5px;font-size:13px}.review-profile small{display:block;color:#7b8984;font-size:9px}.review-profile b{display:block;margin-top:8px;color:#91A09A;font:500 18px/1 var(--latin);letter-spacing:.05em}.review-profile .stars-four{color:#91A09A}.review-profile i{align-self:start;color:#d7dfdb;font:700 32px/1 var(--serif)}.review-avatar{position:relative;width:58px;height:58px;border:1px solid #bad0c8;border-radius:50%;background:#f0f7f4;box-shadow:0 8px 20px rgba(11,59,50,.09)}.review-avatar:before{content:"";position:absolute;left:22px;top:13px;width:12px;height:12px;border:2px solid #147262;border-radius:50%}.review-avatar:after{content:"";position:absolute;left:14px;bottom:11px;width:26px;height:16px;border:2px solid #147262;border-bottom:0;border-radius:18px 18px 0 0}.review-card>p{margin:27px 0;color:#394944;font-size:13px;line-height:2}.review-card footer{margin-top:auto;padding-top:22px;border-top:1px solid #e0e6e3}.review-card footer strong,.review-card footer small{display:block}.review-card footer strong{color:#123c34;font-size:12px}.review-card footer small{margin-top:8px;color:#88938f;font-size:10px}.review-note{margin:22px 0 0;color:#87938e;font-size:10px;text-align:right}
@media(max-width:1050px){.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.reviews-head{grid-template-columns:1fr;gap:28px}.review-card>p{min-height:0}}
@media(max-width:720px){.reviews{padding:90px 20px}.reviews-head{margin-bottom:38px}.reviews-head h2{font-size:32px}.reviews-head>p{font-size:12px}.review-card{padding:25px 20px 22px}.review-profile{grid-template-columns:58px 1fr 18px;gap:12px}.review-avatar{width:52px;height:52px}.review-avatar:before{left:19px;top:11px}.review-avatar:after{left:12px;bottom:10px}.review-card>p{font-size:12px}.review-note{text-align:left}}

/* Company identity in the final-page information block. */
.footer-company-logo{width:min(390px,100%);margin:0 0 34px;padding:0;border:0;background:transparent;box-shadow:none}
.footer-company-logo img{width:100%;height:auto;filter:brightness(1.45) saturate(.9) drop-shadow(0 4px 14px rgba(0,0,0,.2));object-fit:contain;object-position:left}
.footer-company p strong{color:#fff;font-size:15px;font-weight:600}
.footer-grid{padding-top:20px}
@media(max-width:720px){.footer-company-logo{width:300px;margin-bottom:28px;padding:0}}

/* Refined audience statement — quiet, editorial and unmistakably transport-only. */
.exclusive-label{
  position:relative;
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  justify-content:start;
  gap:15px 24px;
  width:max-content;
  max-width:100%;
  margin:0 0 30px;
  padding:15px 0 14px 28px;
  border:0;
  border-top:1px solid rgba(255,255,255,.62);
  border-bottom:1px solid rgba(255,255,255,.26);
  border-radius:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.exclusive-label:before{
  position:absolute;
  left:2px;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--brass);
  box-shadow:0 0 0 4px rgba(145,160,154,.15);
}
.exclusive-label span{
  color:#fff;
  font:600 clamp(26px,2.25vw,36px)/1.2 var(--serif);
  letter-spacing:.12em;
  white-space:nowrap;
}
.exclusive-label small{
  padding-left:24px;
  border-left:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.7);
  font:600 clamp(7px,.58vw,9px)/1.55 var(--latin);
  letter-spacing:.2em;
  white-space:nowrap;
}
@media(min-width:721px){
  .hero-copy{transform:translateY(68px)}
  .exclusive-label{margin-left:0}
}
@media(max-width:720px){
  .exclusive-label{gap:11px 14px;margin-bottom:20px;padding:11px 0 10px 22px}
  .exclusive-label:before{left:1px;width:6px;height:6px;margin-top:-3px;box-shadow:0 0 0 3px rgba(145,160,154,.14)}
  .exclusive-label span{font-size:21px;letter-spacing:.08em}
  .exclusive-label small{padding-left:14px;font-size:5px;letter-spacing:.14em}
}

/* Phase-specific industry identification: photographic trust scene -> brand film. */
.photo-exclusive-label{
  position:absolute;
  z-index:3;
  left:auto;
  right:clamp(86px,9vw,156px);
  top:auto;
  bottom:clamp(138px,18vh,182px);
  width:min(520px,calc(100% - 48px));
  padding:24px 30px 25px;
  color:#fff;
  border-left:3px solid var(--brass);
  background:linear-gradient(100deg,rgba(4,36,30,.94),rgba(4,36,30,.76) 72%,rgba(4,36,30,.22));
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-shadow:0 2px 16px rgba(0,0,0,.25);
  transform:none;
  transition:opacity .65s ease,transform .75s cubic-bezier(.2,.75,.2,1);
}
.photo-exclusive-label:after{content:"";position:absolute;left:30px;right:30px;top:47px;height:1px;background:linear-gradient(90deg,rgba(225,201,141,.76),transparent)}
.photo-exclusive-label small{display:block;margin-bottom:20px;color:#CCD6D1;font:600 9px/1 var(--latin);letter-spacing:.28em}
.photo-exclusive-label strong{display:block;font:600 clamp(29px,3.2vw,48px)/1.28 var(--serif);letter-spacing:.09em}
.photo-exclusive-label span{display:block;margin-top:10px;color:rgba(255,255,255,.78);font-size:11px;letter-spacing:.12em}
.hero-photo-active .exclusive-label{opacity:0!important;transform:translateY(18px)!important;pointer-events:none}
.exclusive-label{transition:opacity .8s ease .35s,transform .9s cubic-bezier(.2,.75,.2,1) .35s}
.hero-intro-photo.is-leaving .photo-exclusive-label{opacity:0;transform:translateY(-12px)}
@media(max-width:720px){
  .photo-exclusive-label{left:auto;right:18px;top:auto;bottom:102px;width:min(330px,calc(100% - 36px));padding:16px 18px 17px;border-left-width:2px;background:rgba(4,36,30,.9);transform:none}
  .photo-exclusive-label:after{left:19px;right:19px;top:39px}
  .photo-exclusive-label small{margin-bottom:16px;font-size:6px;letter-spacing:.2em}
  .photo-exclusive-label strong{font-size:clamp(24px,7.4vw,31px);letter-spacing:.06em}
  .photo-exclusive-label span{margin-top:7px;font-size:8px;letter-spacing:.08em}
}
@media(max-width:720px){.hero-intro-photo.is-leaving .photo-exclusive-label{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.photo-exclusive-label,.exclusive-label{transition:none}}

/* 2026-07-15 final hero alignment: keep audience wording consistent and lower the team portrait. */
.hero-intro-photo img{object-position:center 35%}
@media(max-width:720px){.hero-intro-photo img{object-position:center 34%}}

/* Larger video-phase audience statement. */
.exclusive-label span{font-size:clamp(36px,3.15vw,52px);letter-spacing:.1em}
.exclusive-label small{font-size:clamp(8px,.68vw,11px)}
@media(max-width:720px){
  .exclusive-label span{font-size:clamp(25px,7vw,30px);letter-spacing:.06em}
  .exclusive-label small{font-size:6px}
}

/* Larger photo-phase audience panel. */
.photo-exclusive-label{width:min(650px,calc(100% - 48px));padding:30px 38px 31px}
.photo-exclusive-label:after{left:38px;right:38px;top:55px}
.photo-exclusive-label small{margin-bottom:24px;font-size:11px}
.photo-exclusive-label strong{font-size:clamp(42px,4.1vw,64px);line-height:1.2}
.photo-exclusive-label span{margin-top:13px;font-size:13px}
@media(max-width:720px){
  .photo-exclusive-label{right:16px;bottom:102px;width:min(370px,calc(100% - 32px));padding:20px 22px 21px}
  .photo-exclusive-label:after{left:22px;right:22px;top:44px}
  .photo-exclusive-label small{margin-bottom:18px;font-size:7px}
  .photo-exclusive-label strong{font-size:clamp(29px,8.6vw,37px)}
  .photo-exclusive-label span{margin-top:9px;font-size:9px}
}

/* Screenshot-scale photo label. */
@media(min-width:721px){
  .photo-exclusive-label{right:clamp(48px,5vw,96px);width:min(880px,calc(100% - 96px));padding:38px 48px 40px}
  .photo-exclusive-label:after{left:48px;right:48px;top:66px}
  .photo-exclusive-label small{margin-bottom:30px;font-size:13px}
  .photo-exclusive-label strong{font-size:clamp(54px,5vw,78px);letter-spacing:.075em}
  .photo-exclusive-label span{margin-top:16px;font-size:15px}
}
@media(max-width:720px){
  .photo-exclusive-label{width:calc(100% - 28px);right:14px;padding:24px 25px 25px}
  .photo-exclusive-label:after{left:25px;right:25px;top:50px}
  .photo-exclusive-label small{margin-bottom:22px;font-size:8px}
  .photo-exclusive-label strong{font-size:clamp(34px,10.3vw,44px)}
  .photo-exclusive-label span{font-size:10px}
}

/* Balanced photo label with an understated editorial entrance. */
@media(min-width:721px){
  .photo-exclusive-label{width:min(740px,calc(100% - 96px));padding:32px 40px 34px;animation:photoLabelReveal 1.15s cubic-bezier(.18,.72,.22,1) .28s both}
  .photo-exclusive-label:after{left:40px;right:40px;top:58px;transform-origin:left center;animation:photoRuleReveal 1.1s ease .82s both}
  .photo-exclusive-label small{margin-bottom:26px;font-size:11px}
  .photo-exclusive-label strong{font-size:clamp(46px,4.2vw,64px)}
  .photo-exclusive-label span{margin-top:13px;font-size:13px}
}
@media(max-width:720px){
  .photo-exclusive-label{width:calc(100% - 44px);right:22px;padding:20px 22px 22px;animation:photoLabelRevealMobile 1s cubic-bezier(.18,.72,.22,1) .22s both}
  .photo-exclusive-label:after{left:22px;right:22px;top:45px;transform-origin:left center;animation:photoRuleReveal 1s ease .7s both}
  .photo-exclusive-label small{margin-bottom:19px;font-size:7px}
  .photo-exclusive-label strong{font-size:clamp(30px,8.9vw,38px)}
  .photo-exclusive-label span{font-size:9px}
}
@keyframes photoLabelReveal{from{opacity:0;transform:translate3d(30px,16px,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes photoLabelRevealMobile{from{opacity:0;transform:translate3d(0,14px,0);filter:blur(4px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes photoRuleReveal{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
.hero-intro-photo.is-leaving .photo-exclusive-label{animation:none}
@media(prefers-reduced-motion:reduce){.photo-exclusive-label,.photo-exclusive-label:after{animation:none}}

/* 2026-07-16 desktop overlap correction.
   Reserve a clear header lane and a dedicated right-hand clock lane. */
@media(min-width:721px){
  .hero-copy{transform:none}
  .photo-exclusive-label{
    top:clamp(124px,15vh,154px);
    right:clamp(40px,5vw,82px);
    bottom:auto;
    width:min(620px,calc(100% - 96px));
  }
  .hero-clock{
    right:clamp(30px,4vw,64px);
    bottom:clamp(28px,4vh,44px);
    min-width:190px;
  }
  .hero-metrics{width:min(720px,calc(100vw - 350px))}
}
@media(min-width:721px) and (max-width:1180px){
  .photo-exclusive-label{width:min(540px,calc(100% - 80px));padding:25px 30px 27px}
  .photo-exclusive-label:after{left:30px;right:30px;top:52px}
  .photo-exclusive-label small{margin-bottom:22px;font-size:9px}
  .photo-exclusive-label strong{font-size:clamp(38px,4.5vw,52px)}
  .hero-metrics{width:min(650px,calc(100vw - 320px))}
}
@media(min-width:721px) and (max-height:900px){
  .hero{padding-top:118px;padding-bottom:42px}
  .exclusive-label{margin-bottom:14px;padding:10px 17px}
  .exclusive-label span{font-size:clamp(27px,2.7vw,38px)}
  .hero h1{font-size:clamp(42px,5.2vw,68px);line-height:1.22}
  .hero-lead{margin-top:15px;line-height:1.7}
  .hero-actions{margin-top:19px}
  .hero-proof{margin-top:14px}
  .hero-metrics{margin-top:14px}
  .photo-exclusive-label{top:118px}
}

/* 2026-07-16 final PC hero sizing from review screenshots. */
@media(min-width:721px){
  /* Team-photo phase: compact panel, always below the 94px navigation. */
  .photo-exclusive-label{
    top:122px;
    right:clamp(32px,4vw,64px);
    bottom:auto;
    width:min(480px,calc(100% - 72px));
    padding:20px 25px 22px;
  }
  .photo-exclusive-label:after{left:25px;right:25px;top:44px}
  .photo-exclusive-label small{margin-bottom:18px;font-size:8px;letter-spacing:.22em}
  .photo-exclusive-label strong{font-size:clamp(30px,3vw,42px);line-height:1.22;letter-spacing:.065em}
  .photo-exclusive-label span{margin-top:9px;font-size:10px}

  /* Video phase: keep the audience chip compact so the complete copy block
     remains below the menu even on short desktop viewports. */
  .exclusive-label{
    gap:12px;
    margin-bottom:14px;
    padding:9px 15px 9px 13px;
  }
  .exclusive-label:before{width:7px;height:7px;flex-basis:7px;box-shadow:0 0 0 4px rgba(245,242,233,.12)}
  .exclusive-label span{font-size:clamp(21px,2vw,29px);letter-spacing:.065em}
  .exclusive-label small{padding-left:12px;font-size:7px;letter-spacing:.12em}

  /* Clock owns the bottom-right lane; qualification metrics stop before it. */
  .hero-clock{right:32px;bottom:26px;min-width:205px}
  .hero-clock small{font-size:7px}
  .hero-clock time{font-size:clamp(24px,2.2vw,32px)}
  .hero-metrics{width:min(700px,calc(100vw - 350px))}
}
@media(min-width:721px) and (max-width:980px){
  .photo-exclusive-label{top:112px;width:430px}
  .hero-clock{right:22px;bottom:20px;min-width:175px}
  .hero-clock time{font-size:23px}
  .hero-metrics{width:calc(100vw - 300px)}
}

/* Use-of-funds photo: show the original framing instead of enlarging it to
   fill an unnecessarily tall column. */
@media(min-width:721px){
  .usecases{min-height:760px;align-items:stretch}
  .usecase-photo{min-height:0;display:flex;align-items:center;justify-content:center;background:#e4e9e3}
  .usecase-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
  .usecase-content{padding:clamp(58px,6vw,88px) clamp(38px,6vw,86px)}
  .usecase-grid{margin-top:42px}
  .usecase-grid>div{min-height:150px;padding:22px}
  .usecase-grid h3{margin-top:20px}
}

/* 2026-07-16 review: lower the audience panel during the opening still-photo phase. */
@media(min-width:721px){
  .photo-exclusive-label{top:auto;bottom:145px}
}
@media(min-width:721px) and (max-height:760px){
  .photo-exclusive-label{top:auto;bottom:130px}
}

/* 2026-07-16 review: increase the desktop company logo without changing header geometry. */
@media(min-width:721px){
  .brand img{width:clamp(380px,33vw,520px);height:100px}
}

/* Opening still-photo phase: keep every panel visible and give the photo label
   its own right-hand lane so it cannot cover the primary copy. */
.hero-copy{transition:opacity .65s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
@media(min-width:1181px){
  .hero-photo-active .hero-copy{width:min(720px,calc(100vw - 650px))}
  .hero-photo-active .hero-metrics{width:100%}
  .hero-photo-active .photo-exclusive-label{width:460px}
}
@media(min-width:721px) and (max-width:1180px){
  .hero-photo-active .hero-copy{width:calc(100vw - 480px)}
  .hero-photo-active .hero-metrics{width:100%}
  .hero-photo-active .photo-exclusive-label{right:24px;width:390px;padding:18px 22px 20px}
  .hero-photo-active .photo-exclusive-label:after{left:22px;right:22px;top:42px}
  .hero-photo-active .photo-exclusive-label strong{font-size:clamp(28px,3.5vw,38px)}
}

/* Keep the four editorial headings at their intended explicit two-line breaks. */
@media(min-width:721px){
  .statement-copy h2,
  .factoring-title h2,
  .value-heading h2,
  .trust-head h2{
    font-size:clamp(27px,3.1vw,50px);
    line-height:1.5;
    white-space:nowrap;
  }
}
@media(max-width:720px){
  .statement-copy h2,
  .factoring-title h2,
  .value-heading h2,
  .trust-head h2{
    font-size:clamp(20px,5.8vw,30px);
    line-height:1.55;
    white-space:nowrap;
  }
}

/* Copy sample A: refined Mincho with champagne-gold emphasis; typography only. */
.hero-photo-active .hero h1{font-size:clamp(42px,5vw,72px);font-weight:600;line-height:1.34;letter-spacing:.005em;text-shadow:0 4px 28px rgba(0,0,0,.62),0 1px 2px rgba(0,0,0,.7)}
.hero-photo-active .hero h1 em{color:#D7DFDC;font-weight:700;letter-spacing:.035em;text-shadow:0 4px 30px rgba(0,0,0,.66),0 0 22px rgba(184,194,190,.18)}

/* Adopted A: place the still-photo audience label across the lower torso area. */
@media(min-width:721px){
  .hero-photo-active .photo-exclusive-label{top:50%;bottom:auto}
}

/* Adopted placement: a large horizontal audience label beside “サービスを見る”. */
.hero-actions .photo-exclusive-label{display:none}
.hero-photo-active .hero-copy{width:min(1240px,calc(100vw - 120px))}
.hero-photo-active .hero-actions{flex-wrap:nowrap;gap:24px}
.hero-photo-active .hero-actions .photo-exclusive-label{
  position:relative;
  inset:auto;
  display:block;
  flex:0 0 clamp(440px,39vw,620px);
  width:auto;
  margin-left:34px;
  padding:22px 30px 24px;
  animation:photoLabelReveal 1.05s cubic-bezier(.18,.72,.22,1) .28s both;
}
.hero-photo-active .hero-actions .photo-exclusive-label:after{left:30px;right:30px;top:49px}
.hero-photo-active .hero-actions .photo-exclusive-label small{margin-bottom:22px;font-size:10px}
.hero-photo-active .hero-actions .photo-exclusive-label strong{font-size:clamp(38px,3.6vw,54px);white-space:nowrap}
.hero-photo-active .hero-actions .photo-exclusive-label span{margin-top:11px;font-size:12px}
@media(min-width:721px) and (max-width:1100px){
  .hero-photo-active .hero-copy{width:calc(100vw - 70px)}
  .hero-photo-active .hero-actions{gap:16px}
  .hero-photo-active .hero-actions .photo-exclusive-label{flex-basis:410px;margin-left:18px;padding:18px 22px 20px}
  .hero-photo-active .hero-actions .photo-exclusive-label:after{left:22px;right:22px;top:42px}
  .hero-photo-active .hero-actions .photo-exclusive-label strong{font-size:34px}
}
@media(max-width:720px){
  .hero-photo-active .hero-actions{gap:12px;margin-top:16px}
  .hero{padding-bottom:86px}
  .hero-photo-active .hero-actions .photo-exclusive-label{position:relative;inset:auto;display:block;flex:0 0 auto;width:100%;margin-left:0;padding:13px 18px 14px}
  .hero-photo-active .hero-actions .photo-exclusive-label strong{font-size:clamp(26px,8vw,34px)}
  .hero-photo-active .hero h1{font-size:clamp(28px,8vw,32px);line-height:1.42;letter-spacing:0;white-space:nowrap}
  .hero-photo-active .hero .button.primary{min-height:52px;padding-inline:18px;gap:18px;font-size:12px;white-space:nowrap}
  .hero-photo-active .hero-metrics{margin-top:10px}
}

/* Tablet/compact desktop: reserve the bottom-right lane for the clock. */
@media(min-width:901px) and (max-width:1180px){
  .hero-photo-active .hero-metrics{width:min(700px,calc(100vw - 350px))}
}
@media(min-width:721px) and (max-width:900px){
  .hero-photo-active .hero-clock{display:none}
  .hero-photo-active .hero-metrics{width:100%}
  .hero-photo-active .hero-actions{gap:14px}
  .hero-photo-active .hero-actions .quiet-link{display:none}
  .hero-photo-active .hero .button.primary{flex:0 0 220px;padding-inline:16px;gap:16px;font-size:12px;white-space:nowrap}
  .hero-photo-active .hero-actions .photo-exclusive-label{flex-basis:360px;margin-left:0}
  .hero-photo-active .hero-actions .photo-exclusive-label strong{font-size:30px}
}

/* Preserve the original transparent clock design; enlarge typography only. */
@media(min-width:721px){
  .hero-clock{right:32px;bottom:26px;min-width:260px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .hero-clock:before{display:block}
  .hero-clock small{margin-bottom:9px;color:#d7e3dd;font-size:9px;letter-spacing:.2em}
  .hero-clock time{font-size:clamp(34px,3.2vw,46px);font-weight:500;letter-spacing:.12em}
  .hero-clock b{color:inherit;font-size:9px}
}

/* Continuous, restrained motion for both still-photo and video audience labels. */
@keyframes audiencePanelFloat{
  0%,100%{transform:translateY(0);filter:brightness(1);box-shadow:0 18px 46px rgba(0,0,0,.24)}
  50%{transform:translateY(-5px);filter:brightness(1.07);box-shadow:0 25px 58px rgba(0,0,0,.34),0 0 24px rgba(170,183,177,.12)}
}
@keyframes audienceAccentPulse{
  0%,100%{opacity:.72;filter:drop-shadow(0 0 0 rgba(184,194,190,0))}
  50%{opacity:1;filter:drop-shadow(0 0 8px rgba(184,194,190,.72))}
}
.hero-photo-active .hero-actions .photo-exclusive-label{
  animation:photoLabelReveal 1.05s cubic-bezier(.18,.72,.22,1) .2s both,audiencePanelFloat 3.8s ease-in-out 1.35s infinite;
}
.hero-photo-active .hero-actions .photo-exclusive-label:after{animation:audienceAccentPulse 2.8s ease-in-out 1s infinite}
body:not(.hero-photo-active) .exclusive-label.visible{
  animation:audiencePanelFloat 3.8s ease-in-out .25s infinite;
}
body:not(.hero-photo-active) .exclusive-label.visible:before{animation:audienceAccentPulse 2.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
  .hero-photo-active .hero-actions .photo-exclusive-label,
  .hero-photo-active .hero-actions .photo-exclusive-label:after,
  body:not(.hero-photo-active) .exclusive-label.visible,
  body:not(.hero-photo-active) .exclusive-label.visible:before{animation:none}
}

/* Adopted motion: stationary panel with typographic highlight only. */
.hero-photo-active .hero-actions .photo-exclusive-label{animation:photoLabelReveal 1.05s cubic-bezier(.18,.72,.22,1) .2s both}
.hero-photo-active .hero-actions .photo-exclusive-label:after{animation:none}
body:not(.hero-photo-active) .exclusive-label.visible{animation:none}
body:not(.hero-photo-active) .exclusive-label.visible:before{animation:none}
@keyframes adoptedTypeHighlight{
  0%,100%{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.26)}
  50%{color:#E2E8E5;text-shadow:0 2px 18px rgba(0,0,0,.38),0 0 18px rgba(184,194,190,.34)}
}
.hero-photo-active .hero-actions .photo-exclusive-label strong,
body:not(.hero-photo-active) .exclusive-label.visible span{animation:adoptedTypeHighlight 3s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
  .hero-photo-active .hero-actions .photo-exclusive-label strong,
  body:not(.hero-photo-active) .exclusive-label.visible span{animation:none}
}

/* Mobile team still: keep every employee inside the first-view frame. */
@media(max-width:720px){
  .hero-intro-photo{
    background:#092d28;
    overflow:hidden;
  }
  .hero-intro-photo img{
    position:relative;
    z-index:1;
    object-fit:cover;
    object-position:center center;
    transform:none;
    animation:none;
    filter:saturate(.94) contrast(1.02);
  }
  .hero-visual video{
    object-fit:cover;
    object-position:center 42%;
  }
  /* Still-photo phase only: move the headline into the open building area so
     the team members' faces remain unobstructed. Keep its original layout
     space so the supporting copy and CTAs do not rise over the group. */
  .hero-photo-active .hero h1{
    position:relative;
    top:clamp(-115px,-12svh,-90px);
    color:#fff;
    font-size:clamp(30px,8.6vw,34px);
    font-weight:700;
    text-shadow:0 3px 20px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.8);
  }
  .hero-photo-active .hero h1 em{
    color:#fff;
    font-weight:700;
    letter-spacing:.015em;
    text-shadow:0 3px 20px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.8);
  }
}
/* Adopted unified in-place animation for numbers, use cases, flow, and trust cards. */
@keyframes adoptedLightCardFocus{
  0%,31%,100%{background:rgba(255,255,255,0);box-shadow:inset 0 0 0 rgba(145,160,154,0)}
  9%,22%{background:rgba(255,255,255,.72);box-shadow:inset 0 -3px 0 rgba(145,160,154,.72),inset 0 0 34px rgba(145,160,154,.055)}
}
@keyframes adoptedDarkCardFocus{
  0%,31%,100%{background:rgba(255,255,255,0);box-shadow:inset 0 0 0 rgba(184,194,190,0)}
  9%,22%{background:rgba(255,255,255,.065);box-shadow:inset 0 -3px 0 rgba(184,194,190,.78),inset 0 0 38px rgba(184,194,190,.07)}
}
@keyframes adoptedLightTypeFocus{
  0%,31%,100%{color:inherit;text-shadow:none}
  9%,22%{color:var(--forest);text-shadow:0 0 17px rgba(145,160,154,.18)}
}
@keyframes adoptedDarkTypeFocus{
  0%,31%,100%{color:#fff;text-shadow:none}
  9%,22%{color:#E2E8E5;text-shadow:0 0 18px rgba(184,194,190,.3)}
}
.numbers article,.usecase-grid>div,.flow-list li{animation:adoptedLightCardFocus 8s ease-in-out infinite}
.numbers article:nth-child(2),.usecase-grid>div:nth-child(2),.flow-list li:nth-child(2){animation-delay:2s}
.numbers article:nth-child(3),.usecase-grid>div:nth-child(3),.flow-list li:nth-child(3){animation-delay:4s}
.numbers article:nth-child(4),.usecase-grid>div:nth-child(4),.flow-list li:nth-child(4){animation-delay:6s}
.numbers article strong,.usecase-grid>div h3,.flow-list li h3{animation:adoptedLightTypeFocus 8s ease-in-out infinite}
.numbers article:nth-child(2) strong,.usecase-grid>div:nth-child(2) h3,.flow-list li:nth-child(2) h3{animation-delay:2s}
.numbers article:nth-child(3) strong,.usecase-grid>div:nth-child(3) h3,.flow-list li:nth-child(3) h3{animation-delay:4s}
.numbers article:nth-child(4) strong,.usecase-grid>div:nth-child(4) h3,.flow-list li:nth-child(4) h3{animation-delay:6s}
.trust-grid article{animation:adoptedDarkCardFocus 7.2s ease-in-out infinite}
.trust-grid article:nth-child(2){animation-delay:2.4s}.trust-grid article:nth-child(3){animation-delay:4.8s}
.trust-grid article h3{animation:adoptedDarkTypeFocus 7.2s ease-in-out infinite}
.trust-grid article:nth-child(2) h3{animation-delay:2.4s}.trust-grid article:nth-child(3) h3{animation-delay:4.8s}
@media(prefers-reduced-motion:reduce){
  .numbers article,.usecase-grid>div,.flow-list li,.trust-grid article,
  .numbers article strong,.usecase-grid>div h3,.flow-list li h3,.trust-grid article h3{animation:none}
}

/* Three-second first-view story: photo -> label -> promise -> actions -> details. */
.site-header,.hero-clock,.hero:before,.hero-overlay,
.hero-copy>h1,.hero-copy>.hero-lead,.hero-copy>.hero-proof,.hero-copy>.hero-metrics,
.hero-actions>a,.hero-actions .photo-exclusive-label{
  transition:opacity .7s ease,transform .85s cubic-bezier(.2,.72,.2,1),filter .7s ease;
}
body.hero-story .site-header,
body.hero-story .hero-clock{opacity:0;transform:translateY(-12px);pointer-events:none}
body.hero-story .hero:before,
body.hero-story .hero-overlay{opacity:0}
body.hero-story .hero-copy>h1,
body.hero-story .hero-copy>.hero-lead,
body.hero-story .hero-copy>.hero-proof,
body.hero-story .hero-copy>.hero-metrics{
  opacity:0!important;
  transform:translateY(24px)!important;
}
body.hero-story .hero-actions{opacity:1!important;transform:none!important;pointer-events:none}
body.hero-story .hero-actions>a,
body.hero-story .hero-actions .photo-exclusive-label{
  opacity:0!important;
  transform:translateY(20px)!important;
  animation:none!important;
}
body.hero-story.story-label .hero:before,
body.hero-story.story-label .hero-overlay{opacity:1}
body.hero-story.story-actions .hero-actions .photo-exclusive-label{
  opacity:1!important;
  transform:none!important;
}
body.hero-story.story-copy .hero-copy>h1{
  opacity:1!important;
  transform:none!important;
}
body.hero-story.story-copy .hero-copy>.hero-lead{
  opacity:1!important;
  transform:none!important;
  transition-delay:.2s;
}
body.hero-story.story-actions .hero-actions{pointer-events:auto}
body.hero-story.story-actions .hero-actions>a{
  opacity:1!important;
  transform:none!important;
}
body.hero-story.story-actions .hero-actions>a:nth-child(2){transition-delay:.16s}
body.hero-story.story-details .site-header,
body.hero-story.story-details .hero-clock{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
body.hero-story.story-details .hero-copy>.hero-proof,
body.hero-story.story-details .hero-copy>.hero-metrics{
  opacity:1!important;
  transform:none!important;
}
body.hero-story.story-details .hero-copy>.hero-metrics{transition-delay:.18s}
@media(prefers-reduced-motion:reduce){
  body.hero-story .site-header,body.hero-story .hero-clock,
  body.hero-story .hero:before,body.hero-story .hero-overlay,
  body.hero-story .hero-copy>*,body.hero-story .hero-actions>a,
  body.hero-story .hero-actions .photo-exclusive-label{transition:none}
}

/* Navy accent sample — trustworthy, restrained, and clearly distinct from green. */
:root{
  --brass:#163B5C;
  --navy-accent:#163B5C;
  --navy-light:#9BB7CB;
  --navy-glow:rgba(22,59,92,.3);
}
.hero h1 .hero-accent,
.photo-exclusive-label strong,
.exclusive-label span{
  color:var(--navy-light);
  text-shadow:0 0 18px rgba(91,131,161,.24);
}
.photo-exclusive-label:after,
.exclusive-label:before{background:var(--navy-light)}
.photo-exclusive-label{border-color:rgba(175,196,212,.5)}
.section-index.light span,
.value .section-index,
.trust .section-index{color:var(--navy-light)}
.trust-grid article span,
.value-list .value-no{color:var(--navy-light)}
.contact-content>p{color:var(--navy-light)}
@keyframes heroExclusiveTextHighlight{
  0%,100%{color:#fff;text-shadow:0 0 0 rgba(175,196,212,0)}
  45%,65%{color:#BED0DD;text-shadow:0 0 18px rgba(103,143,172,.42)}
}
@keyframes metricCardGlow{
  0%,100%{background:rgba(5,42,35,.68);box-shadow:none}
  12%,28%{background:rgba(12,39,63,.88);box-shadow:inset 0 -3px 0 rgba(155,183,203,.82),0 0 28px rgba(22,59,92,.28)}
}
@keyframes metricNumberFocus{
  0%,35%,100%{color:#fff;transform:scale(1);text-shadow:none}
  12%,25%{color:#D0DEE8;transform:scale(1.06);text-shadow:0 0 18px rgba(103,143,172,.42)}
}
@keyframes adoptedLightCardFocus{
  0%,31%,100%{background:transparent;box-shadow:none}
  9%,22%{background:rgba(22,59,92,.07);box-shadow:inset 0 -3px 0 rgba(22,59,92,.78),inset 0 0 38px rgba(22,59,92,.08)}
}
@keyframes adoptedLightTypeFocus{
  0%,31%,100%{color:inherit;text-shadow:none}
  9%,22%{color:#123653;text-shadow:0 0 17px rgba(22,59,92,.22)}
}
@keyframes adoptedDarkCardFocus{
  0%,31%,100%{background:transparent;box-shadow:none}
  9%,22%{background:rgba(12,39,63,.27);box-shadow:inset 0 -3px 0 rgba(155,183,203,.8),inset 0 0 38px rgba(22,59,92,.2)}
}
@keyframes adoptedDarkTypeFocus{
  0%,31%,100%{color:#fff;text-shadow:none}
  9%,22%{color:#D0DEE8;text-shadow:0 0 18px rgba(103,143,172,.38)}
}

/* Restored adopted hero-metrics motion:
   sequential card glow -> smooth number focus -> deep-navy sweep. */
.hero-metrics{position:relative}
@keyframes combinedMetricCard{
  0%,30%,100%{background:rgba(255,255,255,0);box-shadow:inset 0 0 0 rgba(155,183,203,0)}
  8%,20%{background:rgba(22,59,92,.24);box-shadow:inset 0 -3px 0 rgba(155,183,203,.82),inset 0 0 28px rgba(22,59,92,.2)}
}
.hero-metrics>div{animation:combinedMetricCard 7.2s ease-in-out infinite}
.hero-metrics>div:nth-child(2){animation-delay:1.45s}
.hero-metrics>div:nth-child(3){animation-delay:2.9s}
.hero-metrics b{display:inline-block;transform-origin:center bottom}
@keyframes combinedMetricNumber{
  0%,4%,34%,100%{color:#fff;transform:scale(1) translateZ(0);text-shadow:0 0 0 rgba(255,255,255,0)}
  10%{color:#fff;transform:scale(1.02) translateZ(0);text-shadow:0 0 7px rgba(255,255,255,.2)}
  16%,22%{color:#fff;transform:scale(1.06) translateZ(0);text-shadow:0 0 16px rgba(255,255,255,.48)}
  28%{color:#fff;transform:scale(1.025) translateZ(0);text-shadow:0 0 8px rgba(255,255,255,.24)}
}
.hero-metrics>div b{will-change:transform,color,text-shadow;animation:combinedMetricNumber 7.2s cubic-bezier(.45,0,.2,1) .22s infinite}
.hero-metrics>div:nth-child(2) b{animation-delay:1.67s}
.hero-metrics>div:nth-child(3) b{animation-delay:3.12s}
.hero-metrics:after{
  content:"";
  position:absolute;
  z-index:3;
  left:-35%;
  bottom:0;
  width:32%;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,#9BB7CB,transparent);
  filter:drop-shadow(0 0 7px rgba(103,143,172,.78));
  animation:combinedMetricSweep 7.2s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes combinedMetricSweep{
  0%,58%{left:-35%;opacity:0}
  64%{opacity:1}
  88%{left:105%;opacity:1}
  96%,100%{left:105%;opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .hero-metrics>div,.hero-metrics>div b,.hero-metrics:after{animation:none}
}

/* Adopted white-base direction: replace solid green content sections while
   retaining deep navy as the sole accent colour. */
.value,.trust{
  background:#fff;
  color:var(--ink);
}
.value .section-index,
.trust .section-index,
.section-index.light{color:var(--navy-accent)}
.value-heading>p,
.trust-head>p{color:#667680}
.value-list,
.trust-grid{
  border-color:rgba(22,59,92,.2);
}
.value-list article,
.trust-grid article{
  border-color:rgba(22,59,92,.2);
}
.value-list article:hover{
  background:rgba(22,59,92,.035);
}
.value-no,
.value-list .value-no,
.trust-grid small,
.trust-grid article span{color:var(--navy-accent)}
.value-title small{color:#667680}
.value-list article>p,
.trust-grid p{color:#64737c}
.value-list article>i{color:var(--navy-accent)}
.trust-grid article,
.trust-grid article h3{animation-name:adoptedLightCardFocus}
.trust-grid article h3{animation-name:adoptedLightTypeFocus}
.usecases{background:#fbfaf7}
.reviews{background:#f7f9fa}
.faq{background:#f7f9fa}
.review-card{border-top-color:var(--navy-accent);box-shadow:0 18px 44px rgba(22,59,92,.08)}
.review-avatar{border-color:#b7c8d4;background:#f5f8fa;box-shadow:0 8px 20px rgba(22,59,92,.08)}
.review-avatar:before,.review-avatar:after{border-color:var(--navy-accent)}
.footer{
  background:#f7f8fa;
  color:var(--ink);
  border-top:1px solid rgba(22,59,92,.15);
}
.footer-company-logo img{
  filter:none;
}
.footer-company p strong{color:var(--ink)}
.footer-grid small{color:var(--navy-accent)}
.footer-grid p,.footer-grid a{color:#5e6d76}
.footer-bottom{
  border-top-color:rgba(22,59,92,.15);
  color:#788892;
}
@keyframes adoptedWhiteTrustCardFocus{
  0%,31%,100%{background:transparent;box-shadow:none}
  9%,22%{background:rgba(22,59,92,.055);box-shadow:inset 0 -3px 0 rgba(22,59,92,.72),inset 0 0 38px rgba(22,59,92,.06)}
}
.trust-grid article{animation-name:adoptedWhiteTrustCardFocus}

/* Final colour rule:
   deep navy on light sections, white accents on forest-green sections. */
.value,.trust{
  background:var(--forest);
  color:#fff;
}
.value .section-index,
.trust .section-index,
.section-index.light{color:#fff}
.value .section-index span,
.trust .section-index span{
  color:#fff!important;
  border-color:#fff!important;
  opacity:1;
}
.value .section-index p,
.trust .section-index p{
  color:#fff!important;
  opacity:1;
}
.value-heading>p,
.trust-head>p{color:#b8cbc3}
.value-list,
.trust-grid{
  border-color:rgba(255,255,255,.24);
}
.value-list article,
.trust-grid article{
  border-color:rgba(255,255,255,.24);
}
.value-list article:hover{background:rgba(255,255,255,.035)}
.value-no,
.value-list .value-no,
.value-title small,
.trust-grid small,
.trust-grid article span{color:#fff}
.value-list article>p,
.trust-grid p{color:#c3d2cc}
.value-list article>i{color:#fff}
@keyframes greenSectionCardFocus{
  0%,31%,100%{background:transparent;box-shadow:none}
  9%,22%{background:rgba(255,255,255,.065);box-shadow:inset 0 -3px 0 rgba(255,255,255,.84),inset 0 0 38px rgba(255,255,255,.07)}
}
@keyframes greenSectionTypeFocus{
  0%,31%,100%{color:#fff;text-shadow:none}
  9%,22%{color:#fff;text-shadow:0 0 18px rgba(255,255,255,.38)}
}
.trust-grid article{animation-name:greenSectionCardFocus}
.trust-grid article h3{animation-name:greenSectionTypeFocus}
.usecases{background:var(--ivory)}
.reviews{background:#f2f6f4}
.faq{background:#edf1ed}
.footer{
  background:#071f1b;
  color:#fff;
  border-top:0;
}
.footer-company-logo img{
  filter:brightness(1.45) saturate(.9) drop-shadow(0 4px 14px rgba(0,0,0,.2));
}
.footer-company p strong{color:#fff}
.footer-grid small{color:#fff}
.footer-grid p,.footer-grid a{color:#bdccc6}
.footer-bottom{
  border-top-color:rgba(255,255,255,.15);
  color:#93a69f;
}
/* The hero and contact sit on dark green imagery: use white, not navy. */
.hero h1 .hero-accent,
.photo-exclusive-label strong,
.exclusive-label span,
.contact-content>p{color:#fff;text-shadow:0 0 16px rgba(255,255,255,.2)}
.photo-exclusive-label:after,
.exclusive-label:before{background:#fff}
.photo-exclusive-label{border-color:rgba(255,255,255,.68)}
@keyframes heroExclusiveTextHighlight{
  0%,100%{color:#fff;text-shadow:0 0 0 rgba(255,255,255,0)}
  45%,65%{color:#fff;text-shadow:0 0 18px rgba(255,255,255,.42)}
}
@keyframes combinedMetricCard{
  0%,30%,100%{background:rgba(255,255,255,0);box-shadow:inset 0 0 0 rgba(255,255,255,0)}
  8%,20%{background:rgba(255,255,255,.075);box-shadow:inset 0 -3px 0 rgba(255,255,255,.86),inset 0 0 28px rgba(255,255,255,.08)}
}
.hero-metrics:after{
  background:linear-gradient(90deg,transparent,#fff,transparent);
  filter:drop-shadow(0 0 7px rgba(255,255,255,.72));
}

/* Contextual contact pop: enters after the first view has been passed. */
.transport-contact-pop{
  position:fixed;
  z-index:58;
  right:28px;
  bottom:28px;
  width:min(360px,calc(100vw - 40px));
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:20px;
  background:rgba(22,59,92,.98);
  color:#fff;
  box-shadow:0 22px 65px rgba(8,32,48,.34);
  opacity:0;
  visibility:hidden;
  transform:translate3d(38px,18px,0);
  transition:opacity .5s ease,transform .65s cubic-bezier(.2,.75,.2,1),visibility 0s linear .65s;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  overflow:hidden;
}
.transport-contact-pop.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0);
  transition-delay:0s;
}
.transport-contact-pop a{display:block;padding:23px 52px 23px 25px}
.transport-contact-pop small{
  display:block;
  margin-bottom:10px;
  color:rgba(255,255,255,.72);
  font:600 8px/1 var(--latin);
  letter-spacing:.16em;
}
.transport-contact-pop strong{
  display:block;
  font:700 23px/1.45 var(--serif);
  letter-spacing:.055em;
}
.transport-contact-pop span{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.transport-contact-pop span b{font-size:17px}
.transport-contact-pop-close{
  position:absolute;
  z-index:2;
  top:9px;
  right:10px;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.78);
  font:400 22px/1 var(--sans);
  cursor:pointer;
}
.transport-contact-pop a:hover strong{color:#fff}
@media(max-width:720px){
  .transport-contact-pop{
    right:12px;
    bottom:82px;
    width:calc(100vw - 24px);
    border-radius:16px;
  }
  .transport-contact-pop a{padding:18px 48px 18px 20px}
  .transport-contact-pop strong{font-size:19px}
  .transport-contact-pop span{margin-top:9px;padding-top:9px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .transport-contact-pop{transition:none;transform:none}
}

/* Review ratings: retain a familiar, high-visibility star color. */
.review-profile b,
.review-profile .stars-four{color:#F4C542}

/* Align the visible footer mark—not its transparent PNG canvas—with COMPANY. */
.footer-company-logo img{transform:translateX(-6.75%)}

/* Compact desktop contact pop; retain the full-width mobile treatment. */
@media(min-width:721px){
  .transport-contact-pop{width:min(305px,calc(100vw - 40px))}
  .transport-contact-pop a{padding:18px 46px 18px 21px}
  .transport-contact-pop small{margin-bottom:8px;font-size:7px}
  .transport-contact-pop strong{font-size:19px;line-height:1.4}
  .transport-contact-pop span{gap:12px;margin-top:9px;padding-top:9px;font-size:11px}
  .transport-contact-pop-close{top:6px;right:7px;width:29px;height:29px;font-size:20px}
}

/* Final compact-PC hero lanes: keep copy below the header and the clock clear
   of the qualification strip at common 1024px-class desktop widths. */
@media(min-width:721px){
  .hero-photo-active .hero-metrics{width:min(1100px,calc(100vw - 430px))}
}
@media(min-width:721px) and (max-height:900px){
  .hero-photo-active .hero{padding-top:112px;padding-bottom:22px}
  .hero-photo-active .hero h1{font-size:clamp(38px,4vw,56px);line-height:1.2}
  .hero-photo-active .hero-lead{margin-top:10px;line-height:1.55}
  .hero-photo-active .hero-actions{margin-top:12px}
  .hero-photo-active .hero-actions .photo-exclusive-label{padding-top:14px;padding-bottom:15px}
  .hero-photo-active .hero-actions .photo-exclusive-label:after{top:37px}
  .hero-photo-active .hero-actions .photo-exclusive-label small{margin-bottom:16px;font-size:8px}
  .hero-photo-active .hero-actions .photo-exclusive-label strong{font-size:clamp(30px,3vw,40px)}
  .hero-photo-active .hero-actions .photo-exclusive-label span{margin-top:7px;font-size:10px}
  .hero-photo-active .hero-proof{margin-top:9px}
  .hero-photo-active .hero-metrics{margin-top:9px}
  .hero-photo-active .hero-clock{bottom:18px}
}

/* Unified premium hero CTA across desktop, laptop and mobile. */
.hero .button.primary{
  position:relative;
  min-width:300px;
  min-height:60px;
  padding:0 58px 0 28px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,#edf1f2 58%,#dce5e9 100%);
  color:#163b5c;
  box-shadow:0 16px 38px rgba(0,18,34,.3),inset 0 1px rgba(255,255,255,.95);
  justify-content:center;
  text-align:center;
  font-weight:700;
  letter-spacing:.045em;
  overflow:hidden;
}
.hero .button.primary>span{
  position:absolute;
  right:11px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin:0;
  border-radius:50%;
  background:#163b5c;
  color:#fff;
  box-shadow:0 5px 14px rgba(22,59,92,.28);
}
.hero .button.primary:hover{
  background:linear-gradient(135deg,#fff 0%,#f2f5f6 58%,#e4ebee 100%);
  box-shadow:0 20px 46px rgba(0,18,34,.36),inset 0 1px #fff;
}

/* The still-photo audience panel uses a complete four-sided frame. */
.hero-actions .photo-exclusive-label{
  border:1px solid rgba(255,255,255,.66);
  border-radius:24px;
  background:linear-gradient(120deg,rgba(3,45,38,.96),rgba(4,51,43,.86) 68%,rgba(12,62,53,.62));
  box-shadow:0 22px 58px rgba(0,20,17,.34),inset 0 1px rgba(255,255,255,.13);
  overflow:hidden;
}

/* Mobile: remove the persistent bottom consultation bar. */
@media(max-width:720px){
  .mobile-cta{display:none!important}
  .site-header .brand img,
  .site-header.scrolled .brand img{
    transform:scale(1.28);
    transform-origin:left center;
  }
  .hero-metrics>div{text-align:center}
  .hero-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) 90px;
    align-items:center;
    column-gap:12px;
    row-gap:12px;
  }
  .hero .hero-actions .button.primary{
    min-width:0;
    min-height:50px;
    width:100%;
    padding:0 38px 0 10px;
    gap:10px;
    font-size:9px;
    letter-spacing:0;
    white-space:nowrap;
  }
  .hero .hero-actions .button.primary>span,
  body:not(.hero-photo-active) .hero .hero-actions .button.primary span{
    right:7px;
    width:28px;
    height:28px;
    font-size:11px;
  }
  body:not(.hero-photo-active) .hero .hero-actions .button.primary{
    position:relative;
    min-height:56px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,#edf1f2 58%,#dce5e9 100%);
    color:#163b5c;
    box-shadow:0 16px 38px rgba(0,18,34,.3),inset 0 1px rgba(255,255,255,.95);
    justify-content:center;
    text-align:center;
    font-weight:700;
    letter-spacing:.045em;
    overflow:hidden;
  }
  body:not(.hero-photo-active) .hero .hero-actions .button.primary span{
    position:absolute;
    right:10px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#163b5c;
    color:#fff;
    box-shadow:0 5px 14px rgba(22,59,92,.28);
  }
  .hero .hero-actions .quiet-link{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    width:90px;
    padding:12px 0 10px;
    white-space:nowrap;
    font-size:10px;
  }
  .hero .hero-actions .quiet-link span{margin-left:0}
  .hero-photo-active .hero-actions .photo-exclusive-label{grid-column:1/-1}
  .hero-photo-active .hero-actions .photo-exclusive-label{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:14px 18px 15px;
    border-radius:18px;
    overflow:hidden;
    text-align:center;
  }
  .hero-photo-active .hero-actions .photo-exclusive-label small{
    margin-bottom:7px;
    font-size:6px;
    letter-spacing:.16em;
  }
  .hero-photo-active .hero-actions .photo-exclusive-label strong{
    font-size:clamp(22px,6.5vw,26px);
    line-height:1.25;
    letter-spacing:.04em;
  }
  .hero-photo-active .hero-actions .photo-exclusive-label span{
    margin-top:6px;
    font-size:8px;
    letter-spacing:.05em;
  }
  .transport-contact-pop{
    right:12px;
    bottom:12px;
    width:min(56vw,220px);
    border:1px solid rgba(255,255,255,.28);
    border-radius:16px;
    background:linear-gradient(145deg,#173f63 0%,#0e304f 100%);
    box-shadow:0 18px 50px rgba(5,25,42,.34),inset 0 1px rgba(255,255,255,.12);
  }
  .transport-contact-pop:before{
    content:"";
    position:absolute;
    top:0;
    left:24px;
    right:54px;
    height:2px;
    background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,0));
  }
  .transport-contact-pop a{padding:14px 12px 12px}
  .transport-contact-pop small{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:6px;
    padding-right:20px;
    font-size:5px;
    letter-spacing:.1em;
  }
  .transport-contact-pop small:before{
    content:"";
    width:5px;
    height:5px;
    flex:0 0 5px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 4px rgba(255,255,255,.11);
  }
  .transport-contact-pop strong{font-size:15px;line-height:1.45;letter-spacing:.035em;white-space:nowrap}
  .transport-contact-pop span{
    min-height:34px;
    margin-top:9px;
    padding:0 6px 0 10px;
    border:0;
    border-radius:999px;
    background:#fff;
    color:#163b5c;
    font-size:8px;
    white-space:nowrap;
  }
  .transport-contact-pop span b{
    display:grid;
    place-items:center;
    width:23px;
    height:23px;
    border-radius:50%;
    background:#163b5c;
    color:#fff;
    font-size:11px;
  }
  .transport-contact-pop-close{top:5px;right:5px;width:25px;height:25px;color:#fff;font-size:17px}
  .hero-photo-active .hero-actions .photo-exclusive-label:after{display:none}
  .hero-photo-active .hero-actions .photo-exclusive-label small{margin-bottom:7px}
  .hero .exclusive-label{
    display:flex;
    width:fit-content;
    max-width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:11px 14px 12px;
    border:1px solid rgba(255,255,255,.58);
    border-radius:999px;
    padding-left:18px;
    padding-right:18px;
    overflow:hidden;
  }
  .hero .exclusive-label:before{display:none}
  .hero .exclusive-label small{
    order:-1;
    width:auto;
    padding:0 0 7px;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.34);
    font-size:7px;
    letter-spacing:.12em;
    white-space:nowrap;
  }
  .hero .exclusive-label span{
    display:block;
    width:auto;
    font-size:clamp(20px,6vw,24px);
    line-height:1.3;
    white-space:nowrap;
  }
}

/* Final mobile service arrow: fixed-size SVG, independent of fonts and browser glyph metrics. */
@media(max-width:720px){
  .hero .hero-actions .quiet-link span::before,
  .hero .hero-actions .quiet-link span::after{
    content:none;
    display:none;
  }
  .hero .hero-actions .quiet-link span svg{
    display:block;
    width:15px;
    height:15px;
    overflow:visible;
    fill:none;
    stroke:var(--forest);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}

/* 2026-07-17 mobile viewport/header hardening.
   Keep the fixed header and first-view copy in separate layout lanes. */
@media(max-width:720px){
  :root{
    --mobile-safe-top:env(safe-area-inset-top,0px);
    --mobile-header-height:68px;
    --mobile-header-total:calc(var(--mobile-header-height) + var(--mobile-safe-top));
  }
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-padding-top:var(--mobile-header-total);
  }
  .site-header,
  .site-header.scrolled{
    top:0;
    height:var(--mobile-header-total);
    padding-top:var(--mobile-safe-top);
  }
  .site-header .brand{min-width:0}
  .site-header .brand img,
  .site-header.scrolled .brand img{
    width:clamp(128px,38vw,165px);
    height:52px;
    transform:none;
  }
  .site-header .header-contact{width:90px;padding-inline:11px}
  .site-header .menu{flex-basis:32px;width:32px}
  .global-nav.open{
    top:var(--mobile-header-total);
    max-height:calc(100dvh - var(--mobile-header-total));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .hero,
  .hero-photo-active .hero{
    min-height:100svh;
    height:auto;
    padding-top:calc(var(--mobile-header-total) + 20px);
  }
  .hero-visual{height:100%;min-height:0}
  .hero-photo-active .hero h1{
    position:absolute;
    z-index:7;
    top:calc(var(--mobile-header-total) + 20px);
    left:22px;
    right:22px;
    margin:0;
    color:#fff;
    font-size:clamp(28px,7.5vw,34px);
    font-weight:700;
    line-height:1.45;
    letter-spacing:0;
    white-space:nowrap;
    text-shadow:0 3px 20px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.8);
  }
  .hero-photo-active .hero-copy{position:static}
  .hero-photo-active .hero-copy>:not(h1){position:relative;z-index:5}

  /* Balanced mobile hero CTAs: primary consultation + high-visibility service. */
  .hero .hero-actions{
    grid-template-columns:minmax(0,1.2fr) minmax(104px,.8fr);
    gap:10px;
    align-items:stretch;
  }
  .hero .hero-actions .button.primary,
  .hero .hero-actions .quiet-link{
    min-height:58px;
    border-radius:999px;
  }
  .hero-photo-active .hero .hero-actions .button.primary{
    padding:0 38px 0 10px;
    font-size:clamp(8px,2.25vw,10px);
    letter-spacing:0;
  }
  .hero .hero-actions .quiet-link{
    width:100%;
    padding:0 10px 0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    border:1px solid rgba(255,255,255,.72);
    background:linear-gradient(135deg,rgba(7,56,48,.96),rgba(13,79,68,.9));
    color:#fff;
    box-shadow:0 14px 34px rgba(0,24,20,.3),inset 0 1px rgba(255,255,255,.15);
    font-size:clamp(9px,2.55vw,11px);
    font-weight:700;
    letter-spacing:.02em;
    line-height:1.25;
    text-shadow:none;
    white-space:nowrap;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .hero .hero-actions .quiet-link span{
    flex:0 0 30px;
    width:30px;
    height:30px;
    margin-left:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:var(--forest);
    box-shadow:0 5px 14px rgba(0,20,17,.24);
    font-size:12px;
    font-family:Arial,sans-serif;
    font-weight:700;
    line-height:1;
    padding-bottom:2px;
  }
}

@media(max-width:340px){
  .hero-photo-active .hero .hero-actions{
    grid-template-columns:1fr;
    width:100%;
  }
  .hero-photo-active .hero .hero-actions .button.primary,
  .hero-photo-active .hero .hero-actions .quiet-link{
    grid-column:1;
    width:100%;
    font-size:10px;
  }
}

/* Formal opening screen */
body.splash-active{overflow:hidden}
.opening-splash{
  --splash-ink:#f7f3e8;
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  min-height:100svh;overflow:hidden;background:linear-gradient(135deg,#0f4a3d 0%,#0b3b32 34%,#102f43 68%,#07182a 100%);color:var(--splash-ink);
  opacity:1;visibility:visible;transition:opacity .72s cubic-bezier(.22,1,.36,1),visibility .72s;
}
.opening-splash::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 35%),radial-gradient(circle at 50% 28%,rgba(184,194,190,.17),transparent 43%);
}
.opening-splash__ambient{
  position:absolute;inset:-20%;opacity:.22;
  background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.28) 49%,transparent 64%);
  transform:translateX(-45%);animation:splash-light 2.4s .2s cubic-bezier(.22,1,.36,1) both;
}
.opening-splash__frame{position:absolute;inset:clamp(12px,2.2vw,28px);border:1px solid rgba(247,243,232,.25);transform:scale(.985);opacity:0;animation:splash-frame 1.1s .15s ease-out forwards}
.opening-splash__frame::before,.opening-splash__frame::after{content:"";position:absolute;width:34px;height:34px;border-color:rgba(184,194,190,.86)}
.opening-splash__frame::before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}.opening-splash__frame::after{right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}
.opening-splash__content{position:relative;width:min(680px,calc(100% - 56px));padding:56px 0 44px;text-align:center}
.opening-splash__eyebrow{margin:0 0 27px;font:600 10px/1.4 Manrope,sans-serif;letter-spacing:.3em;color:rgba(247,243,232,.64);opacity:0;transform:translateY(8px);animation:splash-rise .7s .35s forwards}
.opening-splash__logo-wrap{position:relative;width:min(320px,72vw);margin:0 auto 42px;padding-bottom:22px;overflow:hidden}
.opening-splash__logo{display:block;width:100%;height:auto;filter:drop-shadow(1px 0 rgba(247,243,232,.82)) drop-shadow(-1px 0 rgba(247,243,232,.82)) drop-shadow(0 1px rgba(247,243,232,.82)) drop-shadow(0 -1px rgba(247,243,232,.82)) drop-shadow(0 8px 24px rgba(0,0,0,.18));opacity:0;transform:translateY(22px);animation:splash-logo 1s .58s cubic-bezier(.22,1,.36,1) forwards}
.opening-splash__logo-line{position:absolute;left:50%;bottom:0;width:0;height:1px;background:linear-gradient(90deg,transparent,#b8c2be,transparent);transform:translateX(-50%);animation:splash-line 1s 1.1s cubic-bezier(.22,1,.36,1) forwards}
.opening-splash__message{opacity:0;transform:translateY(14px);animation:splash-rise .85s 1.25s cubic-bezier(.22,1,.36,1) forwards}
.opening-splash__exclusive{display:inline-flex;align-items:center;justify-content:center;margin:0 0 18px;padding:8px 18px;border:1px solid rgba(184,194,190,.72);font:600 13px/1.2 "Noto Sans JP",sans-serif;letter-spacing:.16em;color:#dce3e0}
.opening-splash h1{margin:0;font:600 clamp(24px,3.3vw,38px)/1.45 "Shippori Mincho","Yu Mincho",serif;letter-spacing:.08em;color:var(--splash-ink)}
.opening-splash__message>p:last-child{max-width:560px;margin:17px auto 0;font:400 13px/1.8 "Noto Sans JP",sans-serif;letter-spacing:.04em;color:rgba(247,243,232,.74);white-space:normal;overflow-wrap:anywhere}
.opening-splash__enter{display:flex;align-items:center;justify-content:space-between;width:min(300px,100%);height:62px;margin:36px auto 0;padding:0 10px 0 24px;border:1px solid rgba(247,243,232,.78);border-radius:0;background:rgba(247,243,232,.96);color:#0b2239;font:600 14px/1 "Noto Sans JP",sans-serif;letter-spacing:.12em;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:color .25s,background .25s,border-color .25s,transform .25s}
.opening-splash__enter i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#b8c2be;color:#0b2239;font:400 17px/1 Manrope,sans-serif;font-style:normal;transition:transform .3s}
.splash-ready .opening-splash__enter{opacity:1;transform:none;pointer-events:auto;transition:opacity .65s,transform .65s,color .25s,background .25s,border-color .25s}
.opening-splash__enter:hover{background:#dce3e0;color:#061525;border-color:#dce3e0}.opening-splash__enter:hover i{transform:translateX(3px)}
.opening-splash__enter:focus-visible{outline:2px solid #b8c2be;outline-offset:5px}
.opening-splash__note{margin:25px 0 0;font:500 9px/1.4 Manrope,sans-serif;letter-spacing:.24em;color:rgba(247,243,232,.44);opacity:0}.splash-ready .opening-splash__note{animation:splash-rise .7s .15s forwards}
body.splash-leaving .opening-splash{opacity:0;visibility:hidden;pointer-events:none}
body.splash-leaving .opening-splash__content{transform:scale(1.025);transition:transform .72s cubic-bezier(.22,1,.36,1)}
@keyframes splash-light{to{transform:translateX(45%)}}
@keyframes splash-frame{to{opacity:1;transform:scale(1)}}
@keyframes splash-logo{to{opacity:1;transform:none}}
@keyframes splash-line{to{width:100%}}
@keyframes splash-rise{to{opacity:1;transform:none}}
@media(max-width:600px){
  .opening-splash__content{position:absolute;left:50%;top:50%;width:calc(100vw - 48px);max-width:342px;padding:34px 0 26px;transform:translate(-50%,-50%)}.opening-splash__eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:20px;white-space:nowrap}.opening-splash__logo-wrap{width:min(230px,64vw);margin-bottom:28px}.opening-splash__exclusive{font-size:12px}.opening-splash h1{font-size:clamp(18px,5.4vw,22px);letter-spacing:.03em}.opening-splash__message>p:last-child{max-width:290px;font-size:11px;line-height:1.7}.opening-splash__enter{width:min(290px,calc(100vw - 72px));height:58px;margin-top:26px}
}
@media(max-height:720px){
  .opening-splash__content{padding:24px 0 18px}.opening-splash__eyebrow{margin-bottom:14px}.opening-splash__logo-wrap{width:min(210px,55vw);margin-bottom:19px;padding-bottom:15px}.opening-splash__exclusive{margin-bottom:12px;padding-block:6px}.opening-splash h1{font-size:clamp(19px,5.4vw,25px)}.opening-splash__message>p:last-child{margin-top:10px;line-height:1.55}.opening-splash__enter{height:52px;margin-top:18px}.opening-splash__note{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){
  .opening-splash *{animation-duration:.01ms!important;animation-delay:0ms!important}.opening-splash,.opening-splash__content{transition-duration:.15s!important}
}

/* Illustrated factoring flow */
.factoring-guide{position:relative;margin-top:clamp(65px,8vw,115px);display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;align-items:center;border-top:1px solid #c8d1cc;border-bottom:1px solid #c8d1cc}
.factoring-guide article{min-width:0;min-height:430px;padding:36px clamp(20px,2.7vw,42px) 39px;text-align:center;border-left:1px solid #c8d1cc}
.factoring-guide article:last-child{border-right:1px solid #c8d1cc}
.factoring-illustration{width:min(220px,100%);height:155px;margin:0 auto 25px;display:grid;place-items:center}
.factoring-illustration svg{width:100%;height:100%;overflow:visible}
.factoring-illustration .wash{fill:#e3eee7;stroke:none}
.factoring-illustration svg>:not(.wash){fill:none;stroke:#0b5749;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.factoring-guide article>span{display:block;color:#a2783e;font:600 9px/1 var(--latin);letter-spacing:.22em}
.factoring-guide h3{margin:15px 0 14px;color:var(--forest);font:600 clamp(20px,2vw,27px)/1.45 var(--serif);letter-spacing:.03em}
.factoring-guide article>p{margin:0;color:var(--muted);font-size:12px;line-height:1.9}
.factoring-guide-arrow{display:grid;place-items:center;width:42px;height:42px;color:#fff;border-radius:50%;background:var(--forest);font:400 17px/1 var(--latin);font-style:normal;box-shadow:0 9px 24px rgba(7,59,50,.17)}
@media(max-width:900px){
  .factoring-guide{grid-template-columns:1fr;margin-top:65px;border-bottom:0}
  .factoring-guide article{min-height:0;padding:31px 24px 34px;border-right:1px solid #c8d1cc;border-bottom:1px solid #c8d1cc}
  .factoring-guide-arrow{position:relative;z-index:2;margin:-18px auto;transform:rotate(90deg)}
  .factoring-illustration{height:145px;margin-bottom:20px}
}

/* Final header fit: preserve the large logo without compressing the contact CTA. */
.site-header .header-contact{flex:0 0 148px;white-space:nowrap}
@media(min-width:721px) and (max-width:1500px){
  .site-header .global-nav{display:none}
  .site-header .menu{display:grid;flex:0 0 40px;gap:6px;width:40px;height:40px;padding:10px}
  .site-header .menu span{height:1px;background:var(--forest)}
  .site-header .global-nav.open{position:fixed;top:76px;left:0;display:flex;width:100%;max-height:calc(100dvh - 76px);padding:24px clamp(36px,6vw,84px);flex-direction:column;gap:0;overflow-y:auto;color:var(--ink);background:rgba(251,250,246,.98);border-bottom:1px solid var(--line);box-shadow:0 20px 45px rgba(8,35,29,.12);text-shadow:none}
  .site-header .global-nav.open a{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}
}
@media(max-width:720px){
  .site-header .header-contact{flex-basis:90px}
  .transport-contact-pop{display:none!important}
}

/* Mobile header comparison samples (query: ?header=a|b|c|d). */
@media(max-width:720px){
  body.header-sample-a .site-header,
  body.header-sample-b .site-header,
  body.header-sample-c .site-header,
  body.header-sample-d .site-header{
    text-shadow:none;
    border-bottom:1px solid rgba(11,59,50,.16);
  }

  /* A: warm ivory glass — recommended. */
  body.header-sample-a .site-header{
    background:rgba(248,246,238,.86);
    color:var(--ink);
    box-shadow:0 10px 30px rgba(7,31,27,.12);
    backdrop-filter:blur(18px) saturate(1.08);
    -webkit-backdrop-filter:blur(18px) saturate(1.08);
  }
  body.header-sample-a .site-header .header-contact{
    background:var(--forest);
    color:#fff;
  }
  body.header-sample-a .site-header .menu span{background:var(--forest)}

  /* B: solid white / ivory — maximum legibility. */
  body.header-sample-b .site-header{
    background:#fbfaf6;
    color:var(--ink);
    box-shadow:0 8px 24px rgba(7,31,27,.1);
  }
  body.header-sample-b .site-header .header-contact{
    background:var(--forest);
    color:#fff;
  }
  body.header-sample-b .site-header .menu span{background:var(--forest)}

  /* C: navy glass — formal and financial. */
  body.header-sample-c .site-header{
    background:rgba(10,35,56,.9);
    color:#fff;
    border-bottom-color:rgba(255,255,255,.2);
    box-shadow:0 12px 34px rgba(3,18,31,.3);
    backdrop-filter:blur(18px) saturate(1.05);
    -webkit-backdrop-filter:blur(18px) saturate(1.05);
  }
  body.header-sample-c .site-header .brand{
    padding:2px 8px;
    border-radius:12px;
    background:rgba(251,250,246,.94);
  }
  body.header-sample-c .site-header .header-contact{
    background:#f5f2e9;
    color:#12364f;
  }
  body.header-sample-c .site-header .menu span{background:#fff}

  /* D: ivory-to-forest glass gradient — branded and distinctive. */
  body.header-sample-d .site-header{
    background:linear-gradient(105deg,rgba(250,248,241,.94) 0%,rgba(244,242,232,.9) 43%,rgba(9,57,49,.92) 70%,rgba(6,44,38,.95) 100%);
    color:#fff;
    border-bottom-color:rgba(255,255,255,.2);
    box-shadow:0 12px 34px rgba(5,35,30,.22);
    backdrop-filter:blur(16px) saturate(1.08);
    -webkit-backdrop-filter:blur(16px) saturate(1.08);
  }
  body.header-sample-d .site-header .header-contact{
    background:rgba(245,242,233,.97);
    color:var(--forest);
  }
  body.header-sample-d .site-header .menu span{background:#fff}
}

/* Adopted mobile header: A — warm ivory glass. */
@media(max-width:720px){
  .site-header,
  .site-header.scrolled{
    background:rgba(248,246,238,.88);
    color:var(--ink);
    text-shadow:none;
    border-bottom:1px solid rgba(11,59,50,.16);
    box-shadow:0 10px 30px rgba(7,31,27,.12);
    backdrop-filter:blur(18px) saturate(1.08);
    -webkit-backdrop-filter:blur(18px) saturate(1.08);
  }
  .site-header .header-contact,
  .site-header.scrolled .header-contact{
    background:var(--forest);
    color:#fff;
  }
  .site-header .menu span,
  .site-header.scrolled .menu span{
    background:var(--forest);
  }
}

/* Adopted desktop header: A — warm ivory glass. */
@media(min-width:721px){
  body:not(.header-sample-a):not(.header-sample-b):not(.header-sample-c):not(.header-sample-d) .site-header,
  body:not(.header-sample-a):not(.header-sample-b):not(.header-sample-c):not(.header-sample-d) .site-header.scrolled{
    background:rgba(248,246,238,.88);
    color:var(--ink);
    text-shadow:none;
    border-bottom:1px solid rgba(11,59,50,.16);
    box-shadow:0 10px 30px rgba(7,31,27,.12);
    backdrop-filter:blur(18px) saturate(1.08);
    -webkit-backdrop-filter:blur(18px) saturate(1.08);
  }
  body:not(.header-sample-a):not(.header-sample-b):not(.header-sample-c):not(.header-sample-d) .site-header .header-contact{
    background:var(--forest);
    color:#fff;
  }
}

/* Keep every line of the first-view catch copy pure white. */
.hero-photo-active .hero h1,
.hero-photo-active .hero h1 em{
  color:#fff;
  font-weight:700;
}

/* Catch-copy animation comparison samples. */
body[class*="hero-animation-sample-"] .hero h1{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
body[class*="hero-animation-sample-"] .hero h1 .hero-line{
  display:inline-block;
}
body.hero-animation-sample-a .hero h1 .hero-line{
  opacity:0;
  animation:heroFadeUp .95s cubic-bezier(.2,.75,.2,1) forwards;
}
body.hero-animation-sample-a .hero h1 .hero-line-1{animation-delay:.2s}
body.hero-animation-sample-a .hero h1 .hero-line-2{animation-delay:.4s}

body.hero-animation-sample-b .hero h1 .hero-line{
  opacity:0;
  animation:heroSlideIn .85s cubic-bezier(.18,.78,.24,1) forwards;
}
body.hero-animation-sample-b .hero h1 .hero-line-1{animation-delay:.18s}
body.hero-animation-sample-b .hero h1 .hero-line-2{animation-delay:.36s}

body.hero-animation-sample-c .hero h1 .hero-char{
  display:inline-block;
  opacity:0;
  transform:translateY(.45em);
  animation:heroCharReveal .58s cubic-bezier(.2,.72,.2,1) forwards;
  animation-delay:var(--char-delay);
}

@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroSlideIn{
  from{opacity:0;transform:translateX(-38px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes heroCharReveal{
  from{opacity:0;transform:translateY(.45em);filter:blur(4px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}

@media(prefers-reduced-motion:reduce){
  body[class*="hero-animation-sample-"] .hero h1 .hero-line,
  body.hero-animation-sample-c .hero h1 .hero-char{
    opacity:1;
    transform:none;
    filter:none;
    animation:none;
  }
}

/* Adopted catch-copy motion: B, slowed down for a calmer premium feel. */
body.hero-animation-adopted-b:not([class*="hero-animation-sample-"]) .hero h1{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
body.hero-animation-adopted-b:not([class*="hero-animation-sample-"]) .hero h1 .hero-line{
  display:inline-block;
  opacity:0;
  animation:heroSlideInSlow 1.25s cubic-bezier(.18,.72,.22,1) forwards;
}
body.hero-animation-adopted-b:not([class*="hero-animation-sample-"]) .hero h1 .hero-line-1{
  animation-delay:.25s;
}
body.hero-animation-adopted-b:not([class*="hero-animation-sample-"]) .hero h1 .hero-line-2{
  animation-delay:.52s;
}

/* Center the campaign fee value within its metric card. */
.hero-metrics>div:nth-child(2) strong{
  width:100%;
  text-align:center;
}

/* Match every line in the audience label with the same solid white. */
.exclusive-label{
  border-color:#fff;
}
.exclusive-label small{
  border-left-color:#fff;
}

/* Draw the mobile service arrow in CSS so font metrics cannot push it outside its circle. */
@media(max-width:720px){
  .hero .hero-actions .quiet-link span{
    position:relative;
    padding:0;
    font-size:0;
    line-height:0;
    overflow:hidden;
  }
  .hero .hero-actions .quiet-link span::before{
    content:"";
    position:absolute;
    left:50%;
    top:7px;
    width:1.5px;
    height:10px;
    border-radius:2px;
    background:var(--forest);
    transform:translateX(-50%);
  }
  .hero .hero-actions .quiet-link span::after{
    content:"";
    position:absolute;
    left:50%;
    top:12px;
    width:7px;
    height:7px;
    border-right:1.5px solid var(--forest);
    border-bottom:1.5px solid var(--forest);
    transform:translateX(-50%) rotate(45deg);
  }
}

/* Center every element in the mobile transportation-exclusive label. */
@media(max-width:720px){
  .hero .exclusive-label{
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .hero .exclusive-label small{
    width:100%;
    margin-right:auto;
    margin-left:auto;
    border-bottom-color:#fff;
    text-align:center;
  }
  .hero .exclusive-label span{
    width:100%;
    text-align:center;
  }
}

/* Brand-color contact pop: replace the former navy treatment with Regaxia green. */
.transport-contact-pop{
  background:linear-gradient(145deg,rgba(11,81,69,.98) 0%,rgba(7,59,50,.99) 55%,rgba(3,42,36,.99) 100%);
  box-shadow:0 22px 65px rgba(3,42,36,.34),inset 0 1px rgba(255,255,255,.12);
}
@media(max-width:720px){
  .transport-contact-pop{
    background:linear-gradient(145deg,#0b5145 0%,#073b32 58%,#032a24 100%);
    box-shadow:0 18px 50px rgba(3,42,36,.34),inset 0 1px rgba(255,255,255,.12);
  }
  .transport-contact-pop span{
    color:var(--forest);
  }
  .transport-contact-pop span b{
    background:var(--forest);
  }
}
@keyframes heroSlideInSlow{
  from{opacity:0;transform:translateX(-28px)}
  to{opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){
  body.hero-animation-adopted-b .hero h1 .hero-line{
    opacity:1;
    transform:none;
    animation:none;
  }
}

/* Final cross-device service arrow rules; keep these last to prevent legacy overrides. */
.hero .hero-actions .quiet-link span svg{
  display:block;
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(min-width:721px){
  .hero .hero-actions .quiet-link span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:14px;
    height:14px;
    margin-left:18px;
    padding:0;
    color:inherit;
    vertical-align:middle;
  }
}
@media(max-width:720px){
  .hero .hero-actions{
    grid-template-columns:minmax(0,1fr) 136px;
  }
  /* Keep the complete label and arrow inside the green pill on every mobile width. */
  .hero .hero-actions .quiet-link{
    box-sizing:border-box;
    min-width:0;
    width:100%;
    height:58px;
    min-height:58px;
    padding:0 14px 0 16px;
    gap:8px;
    overflow:hidden;
    line-height:1;
  }
  .hero .hero-actions .quiet-link span{
    position:relative;
    display:grid;
    place-items:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    margin:0;
    padding:0!important;
    overflow:hidden;
    align-self:center;
    color:var(--forest);
  }
  .hero .hero-actions .quiet-link span::before,
  .hero .hero-actions .quiet-link span::after{
    content:none!important;
    display:none!important;
  }
  .hero .hero-actions .quiet-link span svg{
    width:11px;
    height:11px;
    overflow:visible;
  }
}
@media(max-width:340px){
  .hero .hero-actions{
    grid-template-columns:1fr;
  }
}

/* Preview: keep the complete navigation visible on desktop/laptop widths. */
@media(min-width:901px){
  .site-header .global-nav{display:flex}
  .site-header .menu{display:none}
}
@media(min-width:901px) and (max-width:1450px){
  .site-header{height:84px;padding-left:clamp(14px,2vw,30px);padding-right:clamp(14px,2vw,30px);gap:clamp(10px,1.35vw,20px)}
  .site-header.scrolled{height:72px}
  .site-header .brand img{width:clamp(170px,17vw,235px);height:66px}
  .site-header .brand{min-width:0}
  .site-header .global-nav{gap:clamp(6px,.8vw,12px);font-size:clamp(8px,.72vw,10px)}
  .site-header .global-nav a{padding:9px 0;font-size:inherit}
  .site-header .header-contact{flex:0 0 clamp(108px,9vw,128px);width:auto;height:46px;padding:0 14px 0 18px;font-size:11px}
}

/* Preview: keep the clock rule inside its own lane, clear of qualification cards. */
@media(min-width:721px){
  .hero-clock:before{width:12px;right:calc(100% + 8px)}
}
