:root{--navy:#071827;--ink:#172026;--warm:#f5f3ee;--gold:#bfa36a;--line:rgba(7,24,39,.16);--sans:"Noto Sans JP",sans-serif;--serif:"Noto Serif JP",serif;--latin:Inter,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,video{display:block;width:100%}button{font:inherit}.site-header{position:absolute;z-index:50;top:0;left:0;right:0;height:150px;display:flex;align-items:flex-start;padding:30px clamp(28px,4.6vw,78px);color:#fff;border-bottom:1px solid rgba(255,255,255,.22);transition:.35s}.site-header.is-scrolled{position:fixed;height:92px;padding-top:17px;padding-bottom:17px;background:rgba(7,24,39,.92);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:14px;margin-right:auto}.brand img{width:clamp(170px,16vw,242px);filter:drop-shadow(0 4px 18px rgba(0,0,0,.3))}.brand span,.footer-brand span{padding-left:14px;border-left:1px solid rgba(255,255,255,.4);font:500 9px/1.4 var(--latin);letter-spacing:.14em}.header-side{display:grid;justify-items:end;gap:26px}.utility-nav,.main-nav{display:flex;align-items:center}.utility-nav{gap:20px;font-size:10px;letter-spacing:.08em}.utility-nav span{color:rgba(255,255,255,.56)}.main-nav{gap:34px}.main-nav a{display:grid;gap:3px}.main-nav span{font-size:13px}.main-nav small{color:rgba(255,255,255,.56);font:500 7px var(--latin);letter-spacing:.16em}.menu-button{display:none}.hero{position:relative;height:max(760px,100vh);overflow:hidden;color:#fff;background:var(--navy)}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,rgba(4,17,29,.5),rgba(4,17,29,.12) 35%,rgba(4,17,29,.74)),linear-gradient(90deg,rgba(4,17,29,.42),transparent 60%)}.hero-copy{position:absolute;left:clamp(28px,7.2vw,116px);bottom:clamp(82px,13vh,142px)}.hero-copy p{margin:0 0 20px;color:var(--gold);font:600 10px var(--latin);letter-spacing:.2em}.hero-copy h1{max-width:850px;margin:0 0 24px;font:500 clamp(52px,6.4vw,104px)/.96 var(--latin);letter-spacing:-.055em}.hero-copy>span{font-family:var(--serif);font-size:clamp(18px,1.7vw,27px);letter-spacing:.1em}.hero-clock{position:absolute;right:clamp(28px,5vw,78px);bottom:50px;text-align:right;text-shadow:0 2px 16px #000}.hero-clock small{display:block;margin-bottom:8px;color:rgba(255,255,255,.72);font:600 8px var(--latin);letter-spacing:.2em}.hero-clock time{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;font:500 clamp(24px,2.4vw,34px) var(--latin);font-variant-numeric:tabular-nums;letter-spacing:.12em}.hero-clock b{font-size:8px}.hero-scroll{position:absolute;left:38px;bottom:44px;display:flex;align-items:center;gap:13px;font:600 8px var(--latin);letter-spacing:.2em;writing-mode:vertical-rl}.hero-scroll i{display:block;width:1px;height:50px;background:rgba(255,255,255,.7)}.chapter-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.chapter-nav a{display:flex;align-items:center;gap:14px;padding:27px clamp(20px,3vw,50px);border-right:1px solid var(--line);font:500 14px var(--latin)}.chapter-nav span{color:var(--gold);font-size:9px}.chapter{position:relative;padding:150px clamp(28px,7.2vw,116px)}.chapter-index{position:absolute;top:156px;left:32px;display:grid;justify-items:center;gap:20px;color:#7f8b90;font:500 9px var(--latin);letter-spacing:.18em}.chapter-index p{margin:0;writing-mode:vertical-rl}.chapter-index span{color:var(--gold)}.overline{margin:0 0 26px;color:#8b7447;font:600 9px var(--latin);letter-spacing:.22em}.mission-content{display:grid;grid-template-columns:minmax(440px,1.2fr) minmax(300px,.8fr);gap:9vw;align-items:end}.mission-content h2,.section-intro h2,.trust-band h2,.company-section h2,.contact-section h2{margin:0;font:500 clamp(38px,4.2vw,68px)/1.35 var(--serif);letter-spacing:.02em}.mission-text{padding-bottom:8px}.mission-text p,.media-grid>div>p,.company-section p{font-size:14px;line-height:2.1}.arrow-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;margin-top:28px;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:12px}.arrow-link span{color:var(--gold)}.service-section{background:var(--warm)}.section-intro{max-width:900px;margin:0 0 100px}.service-row{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;margin-bottom:90px;background:#fff}.service-row.is-reverse{grid-template-columns:.95fr 1.05fr}.service-row.is-reverse figure{order:2}.service-row figure{margin:0;overflow:hidden}.service-row img{height:100%;object-fit:cover;transition:transform .8s}.service-row:hover img{transform:scale(1.025)}.service-row>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,96px)}.service-row>div>span,.media-grid article>span{color:#947b48;font:600 9px var(--latin);letter-spacing:.2em}.service-row h3{margin:28px 0 22px;font:500 clamp(28px,3vw,44px) var(--serif)}.service-row p{font-size:14px;line-height:2}.trust-band{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:130px clamp(28px,7.2vw,116px);color:#fff;background:var(--navy)}.trust-items{border-top:1px solid rgba(255,255,255,.28)}.trust-items p{display:flex;gap:24px;margin:0;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:13px}.trust-items span{color:var(--gold);font:500 10px var(--latin)}.news-section{background:#fff}.news-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.news-header h2,.media-grid h2{margin:0;font:500 clamp(45px,5vw,76px) var(--latin);letter-spacing:-.04em}.news-tabs{display:flex;gap:8px}.news-tabs button{padding:10px 18px;color:#657177;background:transparent;border:1px solid var(--line);font-size:11px}.news-tabs .is-active{color:#fff;background:var(--navy)}.news-list{border-top:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:130px 100px 1fr 20px;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}.news-list time{font:500 11px var(--latin)}.news-list span{color:#8b7447;font-size:10px}.news-list p{margin:0;font-size:13px}.news-list i{color:var(--gold);font-style:normal}.view-all{display:flex;justify-content:space-between;width:180px;margin:46px 0 0 auto;padding-bottom:11px;border-bottom:1px solid var(--ink);font:500 12px var(--latin)}.media-section{background:#e9edec}.media-grid{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:1px;background:rgba(7,24,39,.15)}.media-grid>div,.media-grid article{min-height:390px;padding:50px;background:#e9edec}.media-grid article{display:flex;flex-direction:column;justify-content:space-between}.media-grid article h3{font:500 24px/1.65 var(--serif)}.media-grid article a{font-size:12px}.company-section{position:relative;min-height:660px;display:flex;align-items:center;padding:100px clamp(28px,7.2vw,116px);overflow:hidden;color:#fff}.company-section>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.37)}.company-section>div{position:relative;max-width:750px}.company-section p:last-child{margin-top:40px}.contact-section{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;padding:130px clamp(28px,7.2vw,116px);color:#fff;background:#0a2a31}.contact-section>div:first-child>p{color:var(--gold);font:600 9px var(--latin);letter-spacing:.22em}.contact-section>div:last-child{display:grid;align-content:center;gap:14px}.contact-section a{display:flex;justify-content:space-between;padding:22px;border:1px solid rgba(255,255,255,.35);font-size:13px}.contact-section .contact-primary{color:#071827;background:var(--gold);border-color:var(--gold);font-weight:700}.contact-section small{color:rgba(255,255,255,.65);font-size:10px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:70px clamp(28px,7.2vw,116px) 35px;color:#fff;background:#04111d}.footer-brand{display:flex;align-items:center;gap:14px;width:max-content}.footer-brand img{width:210px}.site-footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;font-size:11px}.site-footer>p{grid-column:1/-1;margin:30px 0 0;color:rgba(255,255,255,.45);font:500 9px var(--latin)}.mobile-cta{display:none}
@media(max-width:900px){body{padding-bottom:62px}.site-header{height:112px;padding:20px 18px}.brand img{width:180px}.brand span,.header-side{display:none}.menu-button{display:grid;place-content:center;gap:8px;width:48px;height:48px;margin-left:auto;background:rgba(255,255,255,.92);border:0}.menu-button span{display:block;width:22px;height:1px;background:#071827}.main-nav.is-open{position:fixed;top:0;right:0;left:0;display:grid;padding:120px 28px 50px;background:#071827}.site-header.is-scrolled{height:78px;padding:14px 18px}.hero{height:100svh;min-height:720px}.hero-copy{left:20px;right:20px;bottom:148px}.hero-copy h1{font-size:clamp(42px,12vw,62px)}.hero-copy>span{font-size:17px}.hero-clock{right:18px;bottom:78px}.hero-clock small{font-size:6px}.hero-clock time{font-size:18px}.hero-scroll{display:none}.chapter-nav{grid-template-columns:repeat(2,1fr)}.chapter{padding:95px 22px}.chapter-index{display:none}.mission-content,.service-row,.service-row.is-reverse,.trust-band,.media-grid,.contact-section{grid-template-columns:1fr}.mission-content{gap:42px}.service-row,.service-row.is-reverse{margin-bottom:34px}.service-row.is-reverse figure{order:0}.service-row figure{height:300px}.service-row>div{padding:38px 24px}.trust-band{padding:88px 22px}.news-header{align-items:start;gap:30px;flex-direction:column}.news-tabs{flex-wrap:wrap}.news-list a{grid-template-columns:90px 70px 1fr;gap:8px}.news-list i{display:none}.media-grid>div,.media-grid article{min-height:280px;padding:32px 24px}.company-section{min-height:560px;padding:80px 22px}.contact-section{padding:88px 22px}.site-footer{grid-template-columns:1fr;padding:60px 22px 35px}.site-footer>p{grid-column:auto}.mobile-cta{position:fixed;z-index:90;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1.25fr 1fr;height:62px;background:#071827}.mobile-cta a{display:grid;place-items:center;color:#fff;border-right:1px solid rgba(255,255,255,.15);font-size:12px}.mobile-cta a:nth-child(2){color:#071827;background:var(--gold);font-weight:700}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-video{display:none}.hero{background:#071827}}

/* The supplied MP4 is stored with a 90-degree presentation orientation. */
.hero-video{inset:auto;top:50%;left:50%;width:100vh;height:100vw;opacity:0;transform:translate(-50%,-50%) rotate(-90deg);transition:opacity .45s ease}
.hero-video.is-ready{opacity:1}
.hero-copy h1 span{display:block;white-space:nowrap}
@media(max-width:900px){.hero-copy h1{font-size:clamp(31px,9vw,42px);letter-spacing:-.045em}}

@media(min-width:901px){
  .header-side{gap:30px}
  .utility-nav{gap:27px;font-size:13px;font-weight:600}
  .utility-nav span{font-size:11px;letter-spacing:.12em}
  .main-nav{gap:42px}
  .main-nav a{gap:6px;padding:3px 0 8px}
  .main-nav span{font-size:17px;font-weight:600}
  .main-nav small{font-size:9px;letter-spacing:.18em}
}

/* Center the View all label while keeping the arrow aligned right. */
.view-all{
  position:relative;
  justify-content:center;
}
.view-all span{
  position:absolute;
  right:0;
}

.brand img{
  width:clamp(220px,20vw,300px);
  height:92px;
  object-fit:contain;
  filter:brightness(1.2) saturate(1.16) contrast(1.12) drop-shadow(0 2px 2px rgba(0,0,0,.78)) drop-shadow(0 0 14px rgba(255,255,255,.24));
}
.footer-brand img{
  width:250px;
  height:100px;
  object-fit:contain;
  filter:brightness(1.18) saturate(1.12) contrast(1.1);
}
@media(max-width:900px){
  .brand img{width:220px;height:76px}
}

@media(min-width:901px){
  .utility-nav{gap:30px;font-size:15px}
  .utility-nav span{font-size:12px}
  .main-nav{gap:46px}
  .main-nav span{font-size:20px}
  .main-nav small{font-size:10px}
}

/* Chapter menu sample A — refined editorial */
.chapter-style-a .chapter-nav{
  padding:0 clamp(28px,7.2vw,116px);
  background:#fff;
  border:0;
}
.chapter-style-a .chapter-nav a{
  position:relative;
  min-height:118px;
  padding:38px 24px 30px;
  border-right:0;
  border-bottom:1px solid rgba(7,24,39,.2);
  font:500 22px var(--serif);
  transition:.3s;
}
.chapter-style-a .chapter-nav a::after{
  content:"";
  position:absolute;
  right:100%;
  bottom:-1px;
  left:0;
  height:3px;
  background:var(--gold);
  transition:.35s;
}
.chapter-style-a .chapter-nav a:hover{padding-left:32px;color:#8b7447}
.chapter-style-a .chapter-nav a:hover::after{right:0}
.chapter-style-a .chapter-nav span{align-self:flex-start;font:600 9px var(--latin);letter-spacing:.16em}

/* Chapter menu sample B — floating navy panels */
.chapter-style-b .chapter-nav{
  position:relative;
  z-index:12;
  gap:2px;
  width:min(1180px,calc(100% - 72px));
  margin:-58px auto 0;
  padding:8px;
  background:rgba(7,24,39,.9);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 60px rgba(7,24,39,.28);
  backdrop-filter:blur(18px);
}
.chapter-style-b .chapter-nav a{
  min-height:112px;
  justify-content:center;
  color:#fff;
  border:0;
  background:rgba(255,255,255,.035);
  font:500 18px var(--latin);
  transition:.3s;
}
.chapter-style-b .chapter-nav a:hover{color:#071827;background:var(--gold);transform:translateY(-4px)}
.chapter-style-b .chapter-nav span{color:#d8bd83}

/* Chapter menu sample C — connected timeline */
.chapter-style-c .chapter-nav{
  position:relative;
  padding:34px clamp(28px,7.2vw,116px) 40px;
  background:var(--warm);
  border:0;
}
.chapter-style-c .chapter-nav::before{
  content:"";
  position:absolute;
  top:53px;
  right:calc(clamp(28px,7.2vw,116px) + 8%);
  left:calc(clamp(28px,7.2vw,116px) + 8%);
  height:1px;
  background:linear-gradient(90deg,#bfa36a,rgba(191,163,106,.22));
}
.chapter-style-c .chapter-nav a{
  position:relative;
  display:grid;
  justify-items:center;
  gap:22px;
  padding:0;
  border:0;
  font:500 18px var(--latin);
}
.chapter-style-c .chapter-nav span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  color:#071827;
  background:var(--gold);
  border:8px solid var(--warm);
  border-radius:50%;
  font-size:8px;
  box-sizing:content-box;
  transition:.3s;
}
.chapter-style-c .chapter-nav a:hover span{color:#fff;background:#071827;transform:scale(1.12)}

/* Chapter menu sample D — oversized modern type */
.chapter-style-d .chapter-nav{
  padding:0;
  color:#fff;
  background:#071827;
  border:0;
}
.chapter-style-d .chapter-nav a{
  position:relative;
  min-height:160px;
  align-items:flex-end;
  gap:10px;
  padding:34px;
  overflow:hidden;
  border-color:rgba(255,255,255,.13);
  font:500 clamp(24px,2.2vw,36px) var(--latin);
  letter-spacing:-.04em;
  transition:.35s;
}
.chapter-style-d .chapter-nav a::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:100% 0 0;
  background:linear-gradient(150deg,#003236,#003236);
  transition:.35s;
}
.chapter-style-d .chapter-nav a:hover::before,
.chapter-style-d .chapter-nav a.is-pressed::before{inset:0}
.chapter-style-d .chapter-nav a{isolation:isolate}
.chapter-style-d .chapter-nav a>*{position:relative;z-index:2}
.chapter-style-d .chapter-nav strong{
  color:#fff;
  font:inherit;
  letter-spacing:inherit;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.chapter-style-d .chapter-nav span{
  align-self:flex-start;
  color:#d8bd83;
  font:600 9px var(--latin);
  letter-spacing:.18em;
}
.chapter-style-d .chapter-nav a:hover span,
.chapter-style-d .chapter-nav a.is-pressed span{color:#d7bf83}

@media(max-width:900px){
  .chapter-style-a .chapter-nav,
  .chapter-style-c .chapter-nav{padding-right:18px;padding-left:18px}
  .chapter-style-a .chapter-nav a{min-height:92px;padding:27px 12px 21px;font-size:17px}
  .chapter-style-b .chapter-nav{width:calc(100% - 24px);margin-top:-28px}
  .chapter-style-b .chapter-nav a{min-height:82px;padding:16px 8px;font-size:15px}
  .chapter-style-c .chapter-nav::before{display:none}
  .chapter-style-c .chapter-nav a{gap:10px;padding:10px;font-size:15px}
  .chapter-style-c .chapter-nav span{width:30px;height:30px;border-width:5px}
  .chapter-style-d .chapter-nav a{min-height:106px;padding:22px 15px;font-size:21px}
}

/* Adopted chapter menu D — motion system */
.chapter-style-d .chapter-nav a{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1),color .35s;
}
.chapter-style-d .chapter-nav a:nth-child(1){transition-delay:.05s}
.chapter-style-d .chapter-nav a:nth-child(2){transition-delay:.14s}
.chapter-style-d .chapter-nav a:nth-child(3){transition-delay:.23s}
.chapter-style-d .chapter-nav a:nth-child(4){transition-delay:.32s}
.chapter-style-d .chapter-nav.is-animated a{opacity:1;transform:translateY(0)}
.chapter-style-d .chapter-nav a::after{
  content:"↗";
  position:absolute;
  z-index:2;
  top:28px;
  right:28px;
  color:rgba(255,255,255,.6);
  font:400 18px var(--latin);
  opacity:0;
  transform:translate(-12px,12px);
  transition:opacity .3s .05s,transform .4s cubic-bezier(.22,1,.36,1),color .3s;
}
.chapter-style-d .chapter-nav.is-animated a::after{opacity:1;transform:translate(0,0)}
.chapter-style-d .chapter-nav a:hover::after{color:#071827;transform:translate(5px,-5px)}
.chapter-style-d .chapter-nav a span{
  transition:color .3s,letter-spacing .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);
}
.chapter-style-d .chapter-nav a:hover span,
.chapter-style-d .chapter-nav a.is-pressed span{letter-spacing:.28em;transform:translateX(4px)}
.chapter-style-d .chapter-nav a:hover strong,
.chapter-style-d .chapter-nav a.is-pressed strong{transform:translateX(5px)}
.chapter-style-d .chapter-nav a::before{transition:inset .55s cubic-bezier(.22,1,.36,1)}
.chapter-style-d .chapter-nav a:active{transform:translateY(0) scale(.985)}
.chapter-style-d .chapter-nav a.is-pressed::after{color:#fff;transform:translate(5px,-5px)}

@media(max-width:900px){
  .chapter-style-d .chapter-nav a::after{top:16px;right:15px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .chapter-style-d .chapter-nav a{opacity:1;transform:none}
  .chapter-style-d .chapter-nav a::after{opacity:1;transform:none}
}

/* Service stories — cinematic scroll sequence */
.service-section{overflow:clip}
.service-stories{display:grid;gap:clamp(100px,13vw,210px)}
.service-story{
  --story-progress:0;
  position:relative;
  min-height:min(76vw,780px);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  align-items:center;
  gap:clamp(42px,7vw,112px);
}
.service-story.is-reverse{grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr)}
.service-story.is-reverse figure{order:2}
.service-story figure{
  position:relative;
  height:min(68vw,720px);
  margin:0;
  overflow:hidden;
  background:#003236;
  clip-path:inset(12% 0 12% 0);
  transform:translateY(46px);
  opacity:.55;
  transition:clip-path 1.25s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1),opacity .8s;
}
.service-story figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(7,24,39,.04),rgba(7,24,39,.28));
  pointer-events:none;
}
.service-story img{
  height:116%;
  object-fit:cover;
  transform:translate3d(0,calc((var(--story-progress) - .5) * -12%),0) scale(1.06);
  will-change:transform;
}
.service-story-copy{
  position:relative;
  z-index:2;
  padding:42px 0;
  opacity:0;
  transform:translate3d(0,72px,0);
  transition:opacity .8s .18s,transform 1.05s .12s cubic-bezier(.16,1,.3,1);
}
.service-story.is-reverse .service-story-copy{padding-left:clamp(0px,3vw,46px)}
.service-story-copy::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:54px;
  height:2px;
  background:#003236;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .8s .55s cubic-bezier(.16,1,.3,1);
}
.service-story-copy>span{color:#947b48;font:600 9px var(--latin);letter-spacing:.22em}
.service-story-copy h3{margin:28px 0 24px;font:500 clamp(34px,3.7vw,60px)/1.38 var(--serif);letter-spacing:.015em}
.service-story-copy p{max-width:480px;margin:0;color:#59646a;font-size:14px;line-height:2.1}
.service-story.is-visible figure{clip-path:inset(0);transform:translateY(0);opacity:1}
.service-story.is-visible .service-story-copy{opacity:1;transform:translate3d(0,0,0)}
.service-story.is-visible .service-story-copy::before{transform:scaleX(1)}
.service-story-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(460px,100%);
  margin:130px 0 0 auto;
  padding:25px 4px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  font-size:13px;
}
.service-story-cta span{color:#003236;font-size:20px}
@media(max-width:900px){
  .service-stories{gap:96px}
  .service-story,.service-story.is-reverse{min-height:0;grid-template-columns:1fr;gap:0}
  .service-story.is-reverse figure{order:0}
  .service-story figure{height:116vw;max-height:590px;clip-path:inset(9% 0)}
  .service-story img{height:112%;transform:translate3d(0,calc((var(--story-progress) - .5) * -8%),0) scale(1.04)}
  .service-story-copy,.service-story.is-reverse .service-story-copy{margin:-44px 16px 0;padding:34px 26px 30px;background:rgba(245,243,238,.96);box-shadow:0 24px 55px rgba(7,24,39,.12);backdrop-filter:blur(12px)}
  .service-story-copy::before{top:0;left:26px}
  .service-story-copy h3{margin:24px 0 18px;font-size:clamp(29px,8.5vw,42px)}
  .service-story-copy p{font-size:13px;line-height:1.95}
  .service-story-cta{margin-top:82px}
}
@media(prefers-reduced-motion:reduce){
  .service-story figure,.service-story-copy{opacity:1;transform:none;clip-path:none;transition:none}
  .service-story img{height:100%;transform:none}
  .service-story-copy::before{transform:scaleX(1);transition:none}
}

/* CRAYON-inspired service showcase: sticky diagram + layered cards */
.service-showcase{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-content:center;
  gap:0;
  align-items:start;
  width:min(1680px,calc(100vw - 48px));
  margin:20px 0 0 50%;
  transform:translateX(-50%);
}
.service-orbit{
  position:sticky;
  top:calc(50vh - 315px);
  height:630px;
  overflow:hidden;
}
.service-orbit-circle{
  position:absolute;
  width:clamp(235px,19vw,340px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:1px solid rgba(23,79,64,.3);
  border-radius:50%;
  color:#003236;
  background:rgba(23,79,64,.075);
  font:600 10px var(--latin);
  letter-spacing:.16em;
  transition:background .65s,border-color .65s,transform .8s cubic-bezier(.16,1,.3,1),color .5s;
}
.service-orbit-circle span{transition:transform .65s cubic-bezier(.16,1,.3,1)}
.orbit-speed{top:112px;left:4%}
.orbit-range{top:112px;right:3%;background:rgba(191,163,106,.09);border-color:rgba(148,123,72,.28)}
.orbit-partner{top:280px;left:27%;background:rgba(7,24,39,.055);border-color:rgba(7,24,39,.22)}
.service-orbit[data-active="speed"] .orbit-speed,
.service-orbit[data-active="range"] .orbit-range,
.service-orbit[data-active="partner"] .orbit-partner{
  z-index:2;
  color:#fff;
  background:#003236;
  border-color:#003236;
  transform:scale(1.045);
}
.service-orbit[data-active="speed"] .orbit-speed span,
.service-orbit[data-active="range"] .orbit-range span,
.service-orbit[data-active="partner"] .orbit-partner span{transform:scale(1.08)}
.service-orbit-copy{
  position:absolute;
  z-index:4;
  top:257px;
  left:50%;
  width:220px;
  margin:0;
  color:#071827;
  font:500 clamp(19px,1.7vw,28px)/1.6 var(--serif);
  text-align:center;
  transform:translateX(-50%);
  pointer-events:none;
}
.service-orbit-count{
  position:absolute;
  right:20px;
  bottom:18px;
  display:flex;
  align-items:baseline;
  gap:8px;
  color:#003236;
  font-family:var(--latin);
}
.service-orbit-count b{font-size:38px;font-weight:500}
.service-orbit-count span{color:#78847f;font-size:12px}
.service-card-stack{
  position:relative;
  z-index:20;
  padding-bottom:48vh;
  isolation:isolate;
}
.service-card{
  position:sticky;
  z-index:calc(20 + var(--index));
  top:calc(112px + var(--index) * 18px);
  height:clamp(570px,calc(100vh - 132px),760px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 98px;
  margin-bottom:14vh;
  color:#fff;
  opacity:1;
  transform:none;
  backface-visibility:hidden;
}
.service-card:last-child{margin-bottom:0}
.service-card.is-current{opacity:1}
.service-card-main{
  position:relative;
  overflow:hidden;
  padding:clamp(40px,4.3vw,72px);
  background:var(--card);
  box-shadow:0 18px 34px rgba(7,24,39,.12);
}
.service-card-main::before{
  content:none;
}
.service-card header{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:18px;
  align-items:start;
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.34);
}
.service-card header>span{font:500 10px var(--latin);letter-spacing:.18em}
.service-card small{display:block;margin-bottom:15px;color:rgba(255,255,255,.62);font:600 9px var(--latin);letter-spacing:.22em}
.service-card h3{
  margin:0;
  font:500 clamp(28px,3vw,47px)/1.35 var(--serif);
  letter-spacing:.015em;
}
.service-card-main>p{
  position:relative;
  z-index:1;
  max-width:690px;
  margin:35px 0 26px;
  font-size:14px;
  line-height:2;
}
.service-card ul{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.service-card li{
  opacity:0;
  transform:translateY(18px);
  font-size:12px;
  transition:opacity .5s,transform .7s cubic-bezier(.16,1,.3,1);
}
.service-card li::before{content:"□";margin-right:10px;color:#d7bf83}
.service-card.is-current li{opacity:1;transform:none}
.service-card.is-current li:nth-child(2){transition-delay:.12s}
.service-card-photo{display:none}
.photo-split .service-card:first-child .service-card-main{
  padding-right:46%;
}
.photo-split .service-card:first-child .service-card-main>header,
.photo-split .service-card:first-child .service-card-main>p,
.photo-split .service-card:first-child .service-card-main>ul{
  position:relative;
  z-index:2;
}
.photo-split .service-card:first-child .service-card-photo{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  display:block;
  width:41%;
  margin:0;
  overflow:hidden;
}
.photo-split .service-card:first-child .service-card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--card) 0%,rgba(23,79,64,.15) 28%,rgba(7,24,39,.12) 100%);
  pointer-events:none;
}
.photo-split .service-card:first-child .service-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.06);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.photo-split .service-card:first-child.is-current .service-card-photo img{transform:scale(1)}

/* Photo sample B — full-bleed image with deep-green veil */
.photo-full .service-card .service-card-main>header,
.photo-full .service-card .service-card-main>p,
.photo-full .service-card .service-card-main>ul{
  position:relative;
  z-index:2;
}
.photo-full .service-card .service-card-photo{
  position:absolute;
  z-index:1;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
}
.photo-full .service-card .service-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  transform:scale(1.08);
  transition:transform 1.4s cubic-bezier(.16,1,.3,1);
}
.photo-full .service-card:nth-child(5) .service-card-photo img{object-position:center 32%}
.photo-full .service-card:nth-child(6) .service-card-photo img{object-position:center 44%}
.photo-full .service-card.is-current .service-card-photo img{transform:scale(1)}
.photo-full .service-card .service-card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(11,57,47,.97) 0%,rgba(11,57,47,.87) 50%,rgba(7,24,39,.48) 100%);
}

/* Photo sample C — copy above, cinematic strip below */
.photo-bottom .service-card:first-child{height:650px}
.photo-bottom .service-card:first-child .service-card-main{padding-bottom:270px}
.photo-bottom .service-card:first-child .service-card-main>header,
.photo-bottom .service-card:first-child .service-card-main>p,
.photo-bottom .service-card:first-child .service-card-main>ul{
  position:relative;
  z-index:2;
}
.photo-bottom .service-card:first-child .service-card-photo{
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  display:block;
  width:100%;
  height:235px;
  margin:0;
  overflow:hidden;
}
.photo-bottom .service-card:first-child .service-card-photo img{
  width:100%;
  height:118%;
  object-fit:cover;
  transform:translateY(-8%) scale(1.04);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.photo-bottom .service-card:first-child.is-current .service-card-photo img{transform:translateY(-8%) scale(1)}
.photo-bottom .service-card:first-child .service-card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,var(--card) 0%,rgba(23,79,64,.06) 35%,rgba(7,24,39,.12) 100%);
}
.service-card>a{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:30px 0;
  color:#003236;
  background:#e6e0d3;
}
.service-card>a::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:repeating-linear-gradient(
    to bottom,
    #536873 0 9px,
    transparent 9px 15px
  );
  filter:drop-shadow(1px 0 0 rgba(255,255,255,.35));
}
.seam-forest .service-card>a::before{
  background:repeating-linear-gradient(to bottom,#003236 0 9px,transparent 9px 15px);
}
.seam-graphite .service-card>a::before{
  background:repeating-linear-gradient(to bottom,#293330 0 9px,transparent 9px 15px);
}
.seam-bluegray .service-card>a::before{
  background:repeating-linear-gradient(to bottom,#536873 0 9px,transparent 9px 15px);
}
.seam-silver .service-card>a::before{
  background:repeating-linear-gradient(to bottom,#8d9994 0 9px,transparent 9px 15px);
  width:5px;
}
.service-card>a span{font:600 8px var(--latin);letter-spacing:.15em;writing-mode:vertical-rl}
.service-card>a b{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:19px;
  transition:transform .4s,background .4s,color .4s;
}
.service-card>a:hover b{color:#fff;background:#003236;transform:translate(4px,-4px)}

/* Service-card rail color samples */
.rail-charcoal .service-card>a{color:#fff;background:#202a27}
.rail-sage .service-card>a{color:#003236;background:#aebcb2}
.rail-ivory .service-card>a{color:#003236;background:#e6e0d3}
.rail-bluegray .service-card>a{color:#fff;background:#536873}
.rail-charcoal .service-card>a:hover b,
.rail-bluegray .service-card>a:hover b{color:#202a27;background:#fff}
.rail-sage .service-card>a:hover b,
.rail-ivory .service-card>a:hover b{color:#fff;background:#003236}
@media(max-width:900px){
  .service-showcase{
    grid-template-columns:1fr;
    gap:45px;
    width:calc(100vw - 24px);
  }
  .service-orbit{position:relative;top:auto;height:410px;margin:0 -4px}
  .service-orbit-circle{width:220px}
  .orbit-speed{top:65px;left:-22px}
  .orbit-range{top:65px;right:-22px}
  .orbit-partner{top:190px;left:calc(50% - 110px)}
  .service-orbit-copy{top:182px;width:160px;font-size:17px}
  .service-orbit-count{right:4px;bottom:0}
  .service-orbit-count b{font-size:30px}
  .service-card-stack{padding-bottom:110px}
  .service-card{
    top:calc(84px + var(--index) * 8px);
    height:510px;
    grid-template-columns:minmax(0,1fr) 54px;
    margin-bottom:9vh;
  }
  .service-card-main{padding:31px 23px}
  .service-card header{grid-template-columns:30px 1fr;gap:7px;padding-bottom:22px}
  .service-card small{margin-bottom:10px;font-size:7px}
  .service-card h3{font-size:clamp(24px,7vw,31px)}
  .service-card-main>p{margin:25px 0 20px;font-size:12px;line-height:1.85}
  .service-card li{font-size:11px}
  .service-card>a{padding:22px 0}
  .service-card>a b{width:34px;height:34px;font-size:14px}
  .photo-split .service-card:first-child{height:650px}
  .photo-split .service-card:first-child .service-card-main{padding:255px 23px 28px}
  .photo-split .service-card:first-child .service-card-photo{
    top:0;
    right:0;
    bottom:auto;
    left:0;
    width:100%;
    height:225px;
  }
  .photo-split .service-card:first-child .service-card-photo::after{
    background:linear-gradient(180deg,rgba(7,24,39,.08),var(--card));
  }
  .photo-bottom .service-card:first-child{height:690px}
  .photo-bottom .service-card:first-child .service-card-main{padding:31px 23px 255px}
  .photo-bottom .service-card:first-child .service-card-photo{height:225px}
}
@media(prefers-reduced-motion:reduce){
  .service-card{opacity:1;transform:none;transition:none}
  .service-card-main::before,.service-card li{opacity:1;transform:none;transition:none}
}

/* Keep the corporate header clear of the hero artwork at every scroll position. */
.site-header{
  height:112px;
  align-items:center;
  color:var(--navy);
  background:rgba(255,255,255,.97);
  border-bottom-color:rgba(7,24,39,.14);
  box-shadow:0 8px 26px rgba(7,24,39,.07);
}
.site-header .brand img{
  width:clamp(200px,17vw,250px);
  height:70px;
  filter:none;
}
.site-header .brand span{
  border-left-color:rgba(7,24,39,.25);
}
.site-header .utility-nav span,
.site-header .main-nav small{
  color:rgba(7,24,39,.56);
}
/* Remove the otherwise empty desktop strip between the clock and chapter menu. */
@media(min-width:901px){
  .hero-clock{bottom:0}
}
.site-footer{
  grid-template-columns:minmax(260px,.75fr) minmax(0,2.25fr);
}
.footer-menu-columns{
  display:grid;
  grid-template-columns:.8fr 1.35fr .8fr;
  gap:clamp(30px,4vw,70px);
}
.footer-menu-columns h3{
  margin:0 0 20px;
  color:var(--gold);
  font:600 9px var(--latin);
  letter-spacing:.18em;
}
.footer-menu-columns nav{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  font-size:10px;
}
.footer-menu-columns a{color:rgba(255,255,255,.72)}
.footer-menu-columns a:hover{color:#fff}
.footer-company{
  display:grid;
  align-content:start;
  gap:34px;
}
.footer-company-details{
  display:grid;
  gap:18px;
  margin:0;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.78);
  font-style:normal;
}
.footer-company-details p{
  margin:0;
  font-size:12px;
  line-height:1.9;
  letter-spacing:.035em;
}
.footer-company-phone{
  width:max-content;
  color:#fff;
  font:500 clamp(22px,2vw,30px)/1 Inter,sans-serif;
  letter-spacing:.04em;
}
.footer-instagram{
  display:inline-flex;
  align-items:center;
  gap:11px;
  width:max-content;
  color:#fff;
  font:500 13px Inter,sans-serif;
}
.footer-instagram svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:#d2b574;
  stroke-width:1.6;
}
.footer-company-phone:hover,.footer-instagram:hover{color:#d2b574}
@media(max-width:900px){
  .site-footer{grid-template-columns:1fr}
  .footer-menu-columns{grid-template-columns:1fr;gap:38px}
  .footer-company{gap:22px}
  .footer-company-details{padding-top:22px}
}
/* Header color samples */
.header-tone-ivory .site-header,
.header-tone-ivory .site-header.is-scrolled{
  color:#003236;
  background:rgba(247,243,232,.97);
  border-bottom-color:rgba(23,48,40,.18);
  box-shadow:0 9px 28px rgba(44,38,25,.08);
}
.header-tone-ivory .site-header .brand span{border-left-color:rgba(23,48,40,.26)}
.header-tone-ivory .site-header .utility-nav span,
.header-tone-ivory .site-header .main-nav small{color:rgba(23,48,40,.56)}

.header-tone-sage .site-header,
.header-tone-sage .site-header.is-scrolled{
  color:#003236;
  background:rgba(211,222,211,.97);
  border-bottom-color:rgba(16,45,38,.2);
  box-shadow:0 9px 28px rgba(16,45,38,.1);
}
.header-tone-sage .site-header .brand span{border-left-color:rgba(16,45,38,.28)}
.header-tone-sage .site-header .utility-nav span,
.header-tone-sage .site-header .main-nav small{color:rgba(16,45,38,.58)}

.header-tone-forest .site-header,
.header-tone-forest .site-header.is-scrolled{
  color:#fff;
  background:rgba(13,55,46,.98);
  border-bottom-color:rgba(255,255,255,.17);
  box-shadow:0 10px 30px rgba(4,24,20,.2);
}
.header-tone-forest .site-header .brand img{filter:brightness(1.2) saturate(1.08) drop-shadow(0 2px 10px rgba(0,0,0,.25))}
.header-tone-forest .site-header .brand span{border-left-color:rgba(255,255,255,.35)}
.header-tone-forest .site-header .utility-nav span,
.header-tone-forest .site-header .main-nav small{color:rgba(255,255,255,.58)}

.header-tone-glass .site-header{
  color:#fff;
  background:linear-gradient(180deg,rgba(4,24,31,.78),rgba(4,24,31,.32));
  border-bottom-color:rgba(255,255,255,.22);
  box-shadow:none;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.header-tone-glass .site-header .brand img{filter:brightness(1.2) saturate(1.1) drop-shadow(0 2px 12px rgba(0,0,0,.35))}
.header-tone-glass .site-header .brand span{border-left-color:rgba(255,255,255,.38)}
.header-tone-glass .site-header .utility-nav span,
.header-tone-glass .site-header .main-nav small{color:rgba(255,255,255,.62)}
.header-tone-glass .site-header.is-scrolled{
  color:#fff;
  background:rgba(6,35,31,.94);
  border-bottom-color:rgba(255,255,255,.17);
}
.header-tone-glass .site-header.is-scrolled .brand span{border-left-color:rgba(255,255,255,.34)}
.header-tone-glass .site-header.is-scrolled .utility-nav span,
.header-tone-glass .site-header.is-scrolled .main-nav small{color:rgba(255,255,255,.58)}

/* Selected header: add breathing room above the support label. */
@media(min-width:901px){
  .header-tone-glass .utility-nav{
    position:relative;
    top:14px;
    padding-top:8px;
  }
}

/* Match the Akatsuki Securities corporate-header typography. */
@media(min-width:901px){
  .site-header .utility-nav{
    font-family:"Noto Sans JP",sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:19.5px;
    letter-spacing:normal;
  }
  .site-header .utility-nav span{
    font-family:Inter,sans-serif;
    font-size:13px;
    font-weight:600;
    line-height:19.5px;
    letter-spacing:normal;
  }
  .site-header .main-nav span{
    font-family:"Noto Sans JP",sans-serif;
    font-size:16px;
    font-weight:700;
    line-height:24px;
    letter-spacing:normal;
  }
  .site-header .main-nav small{
    font-family:Inter,sans-serif;
    font-size:9px;
    font-weight:600;
    line-height:13.5px;
    letter-spacing:normal;
  }
}

/* Fully crop the empty navy tail; keep the clock over the city image itself. */
@media(min-width:901px){
  .hero{height:max(660px,calc(100vh - 100px))}
}

/* Chapter 01 — Factoring introduction */
.factoring-intro{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0,rgba(191,163,106,.1),transparent 34%),
    #f7f6f2;
}
.factoring-heading{
  width:min(900px,100%);
  margin:0 auto 72px;
  text-align:center;
}
.factoring-heading .overline{margin-bottom:20px}
.factoring-heading h2{
  margin:0;
  color:#003236;
  font:600 clamp(38px,4vw,62px)/1.35 var(--serif);
  letter-spacing:.04em;
}
.factoring-lead{
  margin:18px 0 0;
  color:#7f6940;
  font:500 clamp(17px,1.5vw,22px) var(--serif);
  letter-spacing:.06em;
}
.factoring-description{
  max-width:790px;
  margin:30px auto 0;
  color:#4e5a5d;
  font-size:14px;
  line-height:2.15;
  text-align:left;
}
.factoring-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.3vw,34px);
  max-width:1280px;
  margin:0 auto;
}
.factoring-card{
  position:relative;
  display:grid;
  grid-template-rows:270px 1fr;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(7,24,39,.13);
  box-shadow:0 18px 42px rgba(7,24,39,.055);
  transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s,border-color .5s;
}
.factoring-card::before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  left:0;
  height:3px;
  background:linear-gradient(90deg,#bfa36a,#003236);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.factoring-card:hover{
  transform:translateY(-9px);
  border-color:rgba(23,77,64,.3);
  box-shadow:0 28px 64px rgba(7,24,39,.12);
}
.factoring-card:hover::before{transform:scaleX(1)}
.factoring-icon{
  display:grid;
  place-items:center;
  min-height:0;
  overflow:hidden;
  padding:42px;
  background:
    linear-gradient(145deg,rgba(191,163,106,.12),rgba(23,77,64,.06)),
    #f2f1eb;
}
.factoring-card:nth-child(2) .factoring-icon{background:linear-gradient(145deg,#edf1ed,#f8f7f2)}
.factoring-card:nth-child(3) .factoring-icon{background:linear-gradient(145deg,#f2ecdf,#f7f5ef)}
.factoring-icon svg{
  width:min(210px,78%);
  height:auto;
  overflow:visible;
  fill:none;
  stroke:#003236;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 12px 16px rgba(23,77,64,.08));
}
.factoring-icon:has(img){
  position:relative;
  padding:0;
}
.factoring-icon img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(.96);
  transition:transform .8s cubic-bezier(.22,1,.36,1),filter .6s;
}
.factoring-card:nth-child(1) .factoring-icon img{object-position:center 34%}
.factoring-card:nth-child(2) .factoring-icon img{object-position:center 54%}
.factoring-card:nth-child(3) .factoring-icon img{object-position:center 40%}
.factoring-card:hover .factoring-icon img{
  transform:scale(1.035);
  filter:saturate(.94) contrast(1);
}
.factoring-card-body{
  display:flex;
  flex-direction:column;
  padding:34px 34px 30px;
}
.factoring-card-body>span{
  color:#9a7e48;
  font:600 8px var(--latin);
  letter-spacing:.2em;
}
.factoring-card-body h3{
  margin:17px 0 16px;
  color:#003236;
  font:600 clamp(19px,1.45vw,24px)/1.55 var(--serif);
  letter-spacing:.02em;
}
.factoring-card-body p{
  margin:0 0 28px;
  color:#596366;
  font-size:12px;
  line-height:2;
}
.factoring-card-body a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:15px;
  color:#003236;
  border-top:1px solid rgba(7,24,39,.16);
  font-size:11px;
  font-weight:600;
}
.factoring-card-body a b{
  color:#a7874b;
  font-size:17px;
  font-weight:400;
  transition:transform .35s;
}
.factoring-card-body a:hover b{transform:translate(4px,-4px)}
@media(max-width:1020px) and (min-width:701px){
  .factoring-intro{padding-right:45px;padding-left:45px}
  .factoring-cards{gap:14px}
  .factoring-card{grid-template-rows:215px 1fr}
  .factoring-icon{padding:28px}
  .factoring-card-body{padding:27px 23px 25px}
  .factoring-card-body h3{font-size:18px}
}
@media(max-width:700px){
  .factoring-heading{margin-bottom:48px;text-align:left}
  .factoring-heading .overline{text-align:left}
  .factoring-heading h2{font-size:36px}
  .factoring-lead{font-size:17px}
  .factoring-description{margin-top:24px;font-size:13px;line-height:2}
  .factoring-cards{grid-template-columns:1fr;gap:22px}
  .factoring-card{grid-template-rows:220px 1fr}
  .factoring-card:hover{transform:none}
  .factoring-icon{padding:30px}
  .factoring-card-body{padding:28px 25px 24px}
  .factoring-card-body h3{font-size:20px}
}

/* Industry use cases */
.industry-section{
  padding:145px clamp(28px,7.2vw,116px) 160px;
  color:#fff;
  background:
    radial-gradient(circle at 12% 8%,rgba(191,163,106,.13),transparent 28%),
    linear-gradient(145deg,#071827,#003236 74%,#003236);
}
.industry-heading{
  display:grid;
  grid-template-columns:minmax(380px,.9fr) minmax(300px,.7fr);
  grid-template-areas:"eyebrow eyebrow" "title copy";
  gap:18px 9vw;
  align-items:end;
  max-width:1280px;
  margin:0 auto 72px;
}
.industry-heading .overline{
  grid-area:eyebrow;
  margin:0;
  color:#d2b574;
}
.industry-heading h2{
  grid-area:title;
  margin:0;
  font:500 clamp(37px,4vw,62px)/1.35 var(--serif);
  letter-spacing:.025em;
}
.industry-heading>p:last-child{
  grid-area:copy;
  margin:0 0 8px;
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:2;
}
.industry-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  max-width:1280px;
  margin:0 auto;
}
.industry-card{
  min-width:0;
  overflow:hidden;
  color:#003236;
  background:#f8f7f3;
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .75s cubic-bezier(.22,1,.36,1),
    transform .75s cubic-bezier(.22,1,.36,1),
    box-shadow .45s,
    border-color .45s;
}
.industry-card.is-visible{
  opacity:1;
  transform:translateY(0);
}
.industry-card:nth-child(2){transition-delay:.08s}
.industry-card:nth-child(3){transition-delay:.16s}
.industry-card:nth-child(4){transition-delay:.04s}
.industry-card:nth-child(5){transition-delay:.12s}
.industry-card:nth-child(6){transition-delay:.2s}
.industry-card:hover{
  transform:translateY(-8px);
  border-color:rgba(210,181,116,.55);
  box-shadow:0 28px 60px rgba(0,0,0,.24);
}
.industry-visual{
  display:grid;
  place-items:center;
  height:205px;
  overflow:hidden;
  background:#ece9df;
}
.industry-card:nth-child(2n) .industry-visual{background:#e7eeea}
.industry-card:nth-child(3n) .industry-visual{background:#f0eadf}
.industry-visual video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.industry-construction video{object-position:50% 84%}
.industry-medical video{
  object-position:50% 50%;
  transform:none;
}
.industry-staffing video{
  width:110%;
  height:110%;
  max-width:none;
  object-position:50% 90%;
  transform:none;
}
.industry-creative video{
  width:100%;
  height:100%;
  max-width:none;
  object-position:50% 50%;
  transform:none;
}
.industry-visual svg{
  width:84%;
  max-width:270px;
  height:165px;
  overflow:visible;
  fill:none;
  stroke:#003236;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.industry-card:hover .industry-visual svg{transform:scale(1.045) translateY(-2px)}
.industry-card:hover .industry-visual video{transform:scale(1.045)}
.industry-card:hover .industry-medical video{transform:scale(1.045)}
.industry-card:hover .industry-staffing video{transform:scale(1.035)}
.industry-card:hover .industry-creative video{transform:scale(1.015)}
.industry-visual .industry-fill{
  fill:rgba(48,105,89,.1);
  stroke:#003236;
}
.industry-visual .industry-accent{
  fill:rgba(191,163,106,.2);
  stroke:#a9894d;
}
.industry-visual .industry-ground{stroke:rgba(38,92,80,.45)}
.industry-body{padding:30px 30px 32px}
.industry-body>span{
  display:block;
  margin-bottom:16px;
  color:#9a7b42;
  font:600 8px var(--latin);
  letter-spacing:.18em;
}
.industry-body h3{
  margin:0 0 15px;
  color:#003236;
  font:600 clamp(20px,1.55vw,25px) var(--serif);
}
.industry-body>p{
  min-height:74px;
  margin:0;
  color:#5a6461;
  font-size:12px;
  line-height:2;
}
.industry-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:24px;
}
.industry-tags em{
  padding:7px 10px;
  color:#003236;
  background:rgba(49,92,80,.08);
  border:1px solid rgba(49,92,80,.16);
  border-radius:999px;
  font-size:9px;
  font-style:normal;
  font-weight:600;
}
@media(max-width:1020px){
  .industry-section{padding-right:45px;padding-left:45px}
  .industry-heading{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "copy";gap:18px}
  .industry-heading>p:last-child{margin-top:5px}
  .industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .industry-section{padding:90px 22px 100px}
  .industry-heading{margin-bottom:48px}
  .industry-heading h2{font-size:34px}
  .industry-grid{grid-template-columns:1fr;gap:20px}
  .industry-visual{height:190px}
  .industry-body{padding:27px 24px 28px}
  .industry-body>p{min-height:0}
  .industry-card:nth-child(n){transition-delay:0s}
  .industry-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .industry-card{opacity:1;transform:none;transition:none}
}

/* Customer voices */
.voice-section{
  padding:145px clamp(28px,7.2vw,116px) 150px;
  color:#003236;
  background:
    radial-gradient(circle at 88% 12%,rgba(191,163,106,.13),transparent 30%),
    #f3f1ea;
}
.voice-heading{
  display:grid;
  grid-template-columns:minmax(380px,.72fr) minmax(560px,1fr);
  grid-template-areas:"eyebrow eyebrow" "title copy";
  gap:18px 9vw;
  align-items:end;
  max-width:1280px;
  margin:0 auto 72px;
}
.voice-heading .overline{grid-area:eyebrow;margin:0;color:#957b46}
.voice-heading h2{
  grid-area:title;
  margin:0;
  font:500 clamp(37px,4vw,62px)/1.35 var(--serif);
  letter-spacing:.025em;
}
.voice-heading>p:last-child{
  grid-area:copy;
  margin:0 0 8px;
  color:#68736f;
  font-size:13px;
  line-height:2;
  white-space:nowrap;
}
.voice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  max-width:1280px;
  margin:0 auto;
}
.voice-card{
  position:relative;
  min-height:310px;
  display:flex;
  flex-direction:column;
  padding:42px 42px 34px;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(23,61,51,.12);
  border-radius:14px;
  box-shadow:0 16px 38px rgba(7,24,39,.07);
  opacity:0;
  transform:translateY(32px);
  transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s;
}
.voice-card:nth-child(2){transition-delay:.08s}
.voice-card:nth-child(3){transition-delay:.06s}
.voice-card:nth-child(4){transition-delay:.14s}
.voice-card.is-visible{opacity:1;transform:none}
.voice-card:hover{
  transform:translateY(-7px);
  border-color:rgba(149,123,70,.38);
  box-shadow:0 26px 56px rgba(7,24,39,.12);
}
.voice-quote{
  position:absolute;
  top:18px;
  right:28px;
  color:rgba(149,123,70,.14);
  font:500 96px/.9 Georgia,serif;
}
.voice-card>p{
  position:relative;
  z-index:1;
  margin:0;
  color:#3e4c47;
  font-size:14px;
  line-height:2.1;
}
.voice-rating{
  margin-top:auto;
  padding-top:18px;
  color:#b79243;
  font-size:16px;
  line-height:1;
  letter-spacing:.28em;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.voice-card footer{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-top:16px;
  padding-top:22px;
  border-top:1px solid rgba(23,61,51,.12);
}
.voice-card footer>div{display:grid;gap:7px}
.voice-card footer strong{font:600 17px var(--serif)}
.voice-card footer div span{color:#7a8581;font-size:11px}
.voice-card dl{margin:0;text-align:right}
.voice-card dt{color:#8a9490;font-size:9px}
.voice-card dd{margin:6px 0 0;font:600 17px var(--latin)}
.voice-results{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:1280px;
  margin:30px auto 0;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(125deg,#003236,#071827);
  border-radius:14px;
  box-shadow:0 24px 55px rgba(7,24,39,.18);
}
.voice-results article{
  min-height:190px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:11px;
  padding:28px 20px;
  border-right:1px solid rgba(255,255,255,.14);
  text-align:center;
  opacity:0;
  transform:translateY(24px);
  transition:opacity .65s,transform .7s cubic-bezier(.22,1,.36,1),background .35s;
}
.voice-results article:last-child{border-right:0}
.voice-results article:nth-child(2){transition-delay:.06s}
.voice-results article:nth-child(3){transition-delay:.12s}
.voice-results article:nth-child(4){transition-delay:.18s}
.voice-results article.is-visible{opacity:1;transform:none}
.voice-results article.is-visible>span{animation:voiceResultIcon .7s cubic-bezier(.22,1,.36,1) both}
.voice-results article:hover{background:rgba(255,255,255,.06)}
.voice-results article>span{color:#d2b574;font-size:25px}
.voice-results small{color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.08em}
.voice-results strong{font:600 clamp(28px,2.8vw,43px)/1 var(--latin)}
.voice-results strong b{font:inherit}
.voice-results strong em{margin-left:5px;color:#d2b574;font-size:.43em;font-style:normal}
.voice-results article:last-child strong{display:grid;gap:9px;font:600 clamp(22px,2vw,31px) var(--serif)}
.voice-results article:last-child strong em{margin:0;font:500 10px var(--sans);letter-spacing:.08em}
.voice-note{max-width:1280px;margin:18px auto 0;color:#7b8581;font-size:9px;line-height:1.8}
@keyframes voiceResultIcon{
  0%{opacity:0;transform:translateY(10px) scale(.55) rotate(-12deg)}
  65%{opacity:1;transform:translateY(-3px) scale(1.12) rotate(3deg)}
  100%{opacity:1;transform:none}
}
@media(max-width:1020px){
  .voice-section{padding-right:45px;padding-left:45px}
  .voice-heading{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "copy";gap:18px}
  .voice-heading>p:last-child{white-space:normal}
  .voice-grid{grid-template-columns:1fr 1fr}
  .voice-results{grid-template-columns:1fr 1fr}
  .voice-results article:nth-child(2){border-right:0}
  .voice-results article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:650px){
  .voice-section{padding:90px 22px 100px}
  .voice-heading{margin-bottom:48px}
  .voice-heading h2{font-size:34px}
  .voice-grid{grid-template-columns:1fr;gap:18px}
  .voice-card{min-height:0;padding:34px 25px 28px}
  .voice-card>p{font-size:13px}
  .voice-card footer{align-items:start}
  .voice-card:hover{transform:none}
  .voice-results{grid-template-columns:1fr 1fr;margin-top:22px}
  .voice-results article{min-height:150px;padding:22px 12px}
  .voice-results strong{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
  .voice-card,.voice-results article{opacity:1;transform:none;transition:none}
}

/* Management consulting services */
.consulting-services{
  padding:145px clamp(28px,7.2vw,116px) 155px;
  color:#003236;
  background:linear-gradient(145deg,#e7f1eb 0%,#f2f7f3 54%,#dcebe3 100%);
}
.consulting-services-heading{
  max-width:1000px;
  margin:0 auto 76px;
  text-align:center;
}
.consulting-services-heading .overline{margin:0 0 24px;color:#957b46}
.consulting-services-heading h2{
  margin:0;
  font:500 clamp(39px,4.3vw,66px)/1.35 var(--serif);
  letter-spacing:.025em;
}
.consulting-services-heading>p:last-child{
  margin:28px 0 0;
  color:#68736f;
  font-size:14px;
  line-height:2;
}
.consulting-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  max-width:1280px;
  margin:0 auto;
}
.consulting-service-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(109,55,49,.08);
  border-radius:16px;
  box-shadow:0 12px 30px rgba(84,48,43,.055);
  opacity:0;
  transform:translateY(32px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s;
}
.consulting-service-card:nth-child(2){transition-delay:.07s}
.consulting-service-card:nth-child(3){transition-delay:.14s}
.consulting-service-card:nth-child(4){transition-delay:.04s}
.consulting-service-card:nth-child(5){transition-delay:.11s}
.consulting-service-card:nth-child(6){transition-delay:.18s}
.consulting-service-card.is-visible{opacity:1;transform:none}
.consulting-service-card:hover{
  transform:translateY(-8px);
  border-color:rgba(183,66,53,.24);
  box-shadow:0 24px 48px rgba(84,48,43,.11);
}
.consulting-service-visual{
  height:230px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:10px 18px 0;
  background:#fff;
}
.consulting-service-visual img{
  width:100%;
  height:210px;
  object-fit:contain;
  object-position:center;
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.consulting-service-visual img+svg{display:none}
.consulting-service-card:hover .consulting-service-visual img{transform:scale(1.035)}
.consulting-service-visual svg{
  width:62%;
  max-width:205px;
  height:135px;
  overflow:visible;
  fill:none;
  stroke:#3f4543;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.consulting-service-card:hover svg{transform:scale(1.045) translateY(-3px)}
.consulting-service-visual .cs-wash{fill:#f9e5e1;stroke:none}
.consulting-service-visual .cs-accent{stroke:#bd493d;stroke-width:3}
.consulting-service-body{min-height:205px;padding:20px 32px 34px}
.consulting-service-body>span{
  display:block;
  margin-bottom:16px;
  color:#b44338;
  font:600 8px var(--latin);
  letter-spacing:.16em;
}
.consulting-service-body h3{
  margin:0 0 16px;
  color:#303735;
  font:600 clamp(20px,1.55vw,25px) var(--serif);
}
.consulting-service-body p{
  margin:0;
  color:#5a6461;
  font-size:12px;
  line-height:2;
}
.consulting-services-link{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(100%,410px);
  margin:54px auto 0;
  padding:20px 22px;
  color:#fff;
  background:#003236;
  border-radius:3px;
  font-size:12px;
  font-weight:600;
  text-align:center;
  transition:transform .35s,background .35s,box-shadow .35s;
}
.consulting-services-link span{position:absolute;right:22px;color:#d2b574;font-size:18px}
.consulting-services-link:hover{transform:translateY(-3px);background:#003236;box-shadow:0 16px 35px rgba(7,24,39,.16)}
@media(max-width:1020px){
  .consulting-services{padding-right:45px;padding-left:45px}
  .consulting-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .consulting-services{padding:90px 22px 100px}
  .consulting-services-heading{margin-bottom:48px;text-align:left}
  .consulting-services-heading .overline{text-align:left}
  .consulting-services-heading h2{font-size:34px}
  .consulting-services-heading>p:last-child{font-size:13px}
  .consulting-services-grid{grid-template-columns:1fr;gap:20px}
  .consulting-service-visual{height:205px;padding:8px 14px 0}
  .consulting-service-visual img{height:188px}
  .consulting-service-visual svg{width:58%;height:120px}
  .consulting-service-body{min-height:0;padding:27px 24px 29px}
  .consulting-service-card:nth-child(n){transition-delay:0s}
  .consulting-service-card:hover{transform:none}
  .consulting-services-link{margin-top:38px}
}
@media(prefers-reduced-motion:reduce){
  .consulting-service-card{opacity:1;transform:none;transition:none}
}

/* Header typography samples — color and layout stay identical. */
@media(min-width:901px){
  .header-type-modern .utility-nav,
  .header-type-modern .main-nav span{
    font-family:Inter,"Noto Sans JP",sans-serif;
    font-weight:500;
    letter-spacing:.045em;
  }
  .header-type-modern .utility-nav span{
    font-weight:600;
    letter-spacing:.16em;
  }

  .header-type-editorial .utility-nav a,
  .header-type-editorial .main-nav span{
    font-family:"Noto Serif JP",serif;
    font-weight:500;
    letter-spacing:.08em;
  }
  .header-type-editorial .utility-nav span{
    font-family:Inter,sans-serif;
    font-weight:500;
    letter-spacing:.19em;
  }

  .header-type-clear .utility-nav,
  .header-type-clear .main-nav span{
    font-family:"Noto Sans JP",sans-serif;
    font-weight:600;
    letter-spacing:.025em;
  }
  .header-type-clear .utility-nav span{
    font-family:Inter,sans-serif;
    font-weight:600;
    letter-spacing:.13em;
  }

  .header-type-premium .utility-nav a,
  .header-type-premium .main-nav span{
    font-family:"Noto Serif JP",serif;
    font-weight:600;
    letter-spacing:.12em;
  }
  .header-type-premium .utility-nav span{
    font-family:Inter,sans-serif;
    font-weight:500;
    letter-spacing:.22em;
  }
}
.site-header.is-scrolled{
  align-items:center;
  color:var(--navy);
  background:rgba(255,255,255,.96);
  border-bottom-color:rgba(7,24,39,.14);
  box-shadow:0 10px 28px rgba(7,24,39,.09);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.site-header.is-scrolled .brand img{
  width:clamp(180px,15vw,220px);
  height:58px;
  filter:none;
}
.site-header.is-scrolled .brand span{
  border-left-color:rgba(7,24,39,.25);
}
.site-header.is-scrolled .utility-nav span,
.site-header.is-scrolled .main-nav small{
  color:rgba(7,24,39,.56);
}
@media(max-width:900px){
  .site-header{
    height:88px;
  }
  .site-header .brand img{
    width:180px;
    height:56px;
  }
  .site-header.is-scrolled .brand img{
    width:175px;
    height:50px;
  }
}

/* Premium framing for 02 / WHAT WE DO */
.service-section{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 8% 10%,rgba(83,104,115,.11),transparent 27%),
    linear-gradient(180deg,#f7f5f0 0%,#eeece5 52%,#f5f3ee 100%);
}
.service-section::before{
  content:"FINANCE THE NEXT";
  position:absolute;
  z-index:-1;
  top:105px;
  right:-20px;
  color:rgba(23,61,51,.045);
  font:600 clamp(72px,11vw,190px)/.8 var(--latin);
  letter-spacing:-.07em;
  white-space:nowrap;
  pointer-events:none;
}
.service-section>.section-intro{
  position:relative;
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);
  column-gap:clamp(45px,8vw,130px);
  align-items:end;
  margin-bottom:130px;
  padding:0 0 72px;
  border-bottom:1px solid rgba(23,61,51,.3);
}
.service-section>.section-intro::after{
  content:"02";
  position:absolute;
  right:0;
  bottom:-17px;
  padding-left:18px;
  color:#536873;
  background:#eeece5;
  font:500 11px var(--latin);
  letter-spacing:.2em;
}
.service-section>.section-intro .overline{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:18px;
  color:#536873;
}
.service-section>.section-intro .overline::before{
  content:"";
  width:42px;
  height:1px;
  background:#536873;
}
.service-section>.section-intro h2{
  position:relative;
  z-index:1;
  font-size:clamp(46px,5vw,78px);
  line-height:1.38;
  letter-spacing:.015em;
}
.service-intro-copy{
  max-width:410px;
  margin:0 0 8px;
  color:#53605d;
  font-size:14px;
  line-height:2.15;
}
.service-showcase{position:relative;z-index:20;isolation:isolate}
@media(max-width:900px){
  .service-section::before{top:75px;right:-8px;font-size:62px}
  .service-section>.section-intro{
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:82px;
    padding-bottom:46px;
  }
  .service-section>.section-intro .overline{grid-column:auto}
  .service-section>.section-intro h2{font-size:clamp(35px,10.5vw,48px)}
  .service-intro-copy{font-size:13px;line-height:2}
}

/* Premium comparison / end of chapter 02 */
.feature-intro{padding-bottom:clamp(48px,6vw,88px)}
.feature-panels{
  position:relative;
  z-index:1;
  width:100vw;
  margin-left:calc(50% - 50vw);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#003236;
  overflow:hidden;
}
.feature-panel{
  position:relative;
  min-height:clamp(620px,66vw,820px);
  isolation:isolate;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.24);
}
.feature-panel:last-child{border-right:0}
.feature-panel>img,.feature-panel-shade{position:absolute;inset:0;width:100%;height:100%}
.feature-panel>img{
  z-index:-3;
  object-fit:cover;
  filter:saturate(72%) contrast(102%);
  transform:scale(1.015);
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s ease;
}
.feature-panel-shade{
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(7,21,17,.12) 0%,rgba(7,21,17,.3) 34%,rgba(7,21,17,.93) 100%),
    linear-gradient(110deg,rgba(13,55,43,.28),transparent 60%);
  transition:background-color .5s ease;
}
.feature-panel-content{
  min-height:inherit;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(34px,4.4vw,72px) clamp(26px,3.6vw,58px);
  color:#fff;
}
.feature-number{
  position:absolute;
  top:clamp(28px,4vw,56px);
  left:clamp(26px,3.6vw,58px);
  font:300 clamp(46px,5vw,74px)/1 var(--latin);
  color:rgba(255,255,255,.9);
}
.feature-label{
  margin:0 0 18px;
  color:#d7bd78;
  font:700 12px var(--latin);
  letter-spacing:.22em;
}
.feature-panel h3{
  margin:0;
  font:600 clamp(26px,2.45vw,40px)/1.48 var(--serif);
  letter-spacing:.02em;
}
.feature-panel-content>p:not(.feature-label){
  max-width:34em;
  margin:20px 0 30px;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:2;
}
.feature-panel a{
  width:fit-content;
  min-width:172px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:14px 18px 14px 20px;
  color:#fff;
  border:1px solid rgba(255,255,255,.48);
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  transition:color .32s ease,background .32s ease,border-color .32s ease,transform .32s ease;
}
.feature-panel a b{font-size:19px;font-weight:400;transition:transform .32s ease}
.feature-panel:hover>img{transform:scale(1.075);filter:saturate(86%) contrast(105%)}
.feature-panel>.invoice-panel-image{object-fit:contain;transform:scale(.8)}
.feature-panel:hover>.invoice-panel-image{transform:scale(.8)}
.feature-panel:hover .feature-panel-shade{background-color:rgba(9,53,40,.15)}
.feature-panel:hover a,.feature-panel a:focus-visible{
  color:#003236;
  background:#f4efe4;
  border-color:#f4efe4;
  transform:translateY(-2px);
}
.feature-panel:hover a b{transform:translateX(5px)}
@media(max-width:1023px){
  .feature-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-panel{min-height:680px}
  .feature-panel:nth-child(2){border-right:0}
  .feature-panel:last-child{grid-column:1/-1;min-height:560px}
}
@media(max-width:639px){
  .feature-panels{
    width:100vw;
    margin-left:calc(50% - 50vw);
    grid-template-columns:1fr;
  }
  .feature-panel,.feature-panel:last-child{
    grid-column:auto;
    min-height:610px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.24);
  }
  .feature-panel:last-child{border-bottom:0}
  .feature-panel-content{padding:34px 24px}
  .feature-number{top:28px;left:24px}
  .feature-panel-content>p:not(.feature-label){margin:16px 0 24px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .feature-panel>img,.feature-panel a,.feature-panel a b{transition:none}
}

.premium-compare{
  position:relative;
  z-index:2;
  margin-top:clamp(150px,18vw,270px);
  padding-top:clamp(90px,10vw,150px);
  border-top:1px solid rgba(23,61,51,.27);
}
.premium-compare::before{
  content:"COMPARE";
  position:absolute;
  top:56px;
  right:0;
  color:rgba(23,61,51,.045);
  font:600 clamp(78px,10vw,170px)/1 var(--latin);
  letter-spacing:-.065em;
  pointer-events:none;
}
.compare-intro{
  position:relative;
  display:grid;
  grid-template-columns:1.1fr .65fr;
  gap:9vw;
  align-items:end;
  margin-bottom:78px;
}
.compare-intro h2{
  margin:0;
  font:500 clamp(44px,4.8vw,75px)/1.38 var(--serif);
  letter-spacing:.015em;
}
.compare-intro>p{
  max-width:440px;
  margin:0 0 10px;
  color:#58635f;
  font-size:14px;
  line-height:2.1;
}
.compare-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(23,61,51,.24);
  border-radius:32px;
  background:rgba(255,255,255,.55);
  box-shadow:0 30px 85px rgba(7,24,39,.09);
}
.compare-head,.compare-row{
  display:grid;
  grid-template-columns:1.1fr 1.18fr 1fr 1fr;
}
.compare-head{
  min-height:112px;
  color:#fff;
  background:#082529;
}
.compare-head>*{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  border-right:1px solid rgba(255,255,255,.14);
  font:500 12px var(--sans);
}
.compare-head>span:first-child{justify-content:center;color:#fff;font:700 15px var(--sans);letter-spacing:normal}
.compare-head>span:not(:first-child){font-size:15px;font-weight:700}
.compare-head strong{
  position:relative;
  flex-direction:column;
  gap:9px;
  color:#fff;
  background:#082529;
  font-size:17px;
}
.compare-head strong i{
  color:rgba(255,255,255,.72);
  font:700 8px var(--latin);
  font-style:normal;
  letter-spacing:.2em;
}
.compare-head .compare-brand img{
  width:min(178px,78%);
  height:auto;
  filter:brightness(1.28) saturate(1.08) contrast(1.06) drop-shadow(0 2px 8px rgba(0,0,0,.18));
}
.compare-row{
  min-height:105px;
  opacity:0;
  transform:translateY(42px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);
}
.premium-compare.is-visible .compare-row{opacity:1;transform:none}
.premium-compare.is-visible .compare-row:nth-child(2){transition-delay:.06s}
.premium-compare.is-visible .compare-row:nth-child(3){transition-delay:.12s}
.premium-compare.is-visible .compare-row:nth-child(4){transition-delay:.18s}
.premium-compare.is-visible .compare-row:nth-child(5){transition-delay:.24s}
.premium-compare.is-visible .compare-row:nth-child(6){transition-delay:.30s}
.premium-compare.is-visible .compare-row:nth-child(7){transition-delay:.36s}
.premium-compare.is-visible .compare-row:nth-child(8){transition-delay:.42s}
.compare-row>*{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0;
  padding:23px clamp(15px,2vw,32px);
  border-right:1px solid rgba(23,61,51,.14);
  border-bottom:1px solid rgba(23,61,51,.14);
  color:#58635f;
  font-size:12px;
  line-height:1.65;
  text-align:center;
  transition:background .35s,color .35s,transform .35s;
}
.compare-row:last-child>*{border-bottom:0}
.compare-row h3{
  justify-content:center;
  color:#172026;
  background:rgba(255,255,255,.42);
  font-size:13px;
  font-weight:600;
  text-align:center;
}
.compare-row h3 b{color:#536873;font:500 9px var(--latin);letter-spacing:.12em}
.compare-row .is-regaxia{
  flex-wrap:wrap;
  color:#fff;
  background:#003236;
}
.compare-row .is-regaxia strong{font-size:clamp(14px,1.3vw,20px);font-weight:600}
.compare-row .rating-mark{
  display:inline-block;
  margin-right:.12em;
  font-weight:700;
  line-height:1;
  transition:transform .35s ease;
}
.compare-row .is-regaxia .rating-mark{
  color:#e8ca82;
  font-size:1.12em;
  text-shadow:0 0 14px rgba(232,202,130,.34);
}
.compare-row .is-caution{color:#b45555}
.compare-row:hover .rating-mark{transform:rotate(-8deg) scale(1.14)}
.compare-row .is-regaxia em{
  width:100%;
  color:#e6e0d3;
  font-size:11px;
  font-style:normal;
}
.compare-row:hover>*{background:rgba(83,104,115,.08)}
.compare-row:hover h3{transform:translateX(5px)}
.compare-row:hover .is-regaxia{background:#003236;transform:scale(1.018)}
.compare-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex:0 0 auto;
  color:#003236;
  background:#e6e0d3;
  border-radius:50%;
  font-size:12px;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.compare-row:hover .compare-icon{transform:rotate(-12deg) scale(1.14)}
.compare-signatures{
  display:grid;
  grid-template-columns:repeat(3,max-content) 1fr;
  gap:12px;
  align-items:center;
  margin-top:34px;
}
.compare-signatures>span{
  padding:10px 13px;
  color:#536873;
  border:1px solid rgba(83,104,115,.35);
  border-radius:999px;
  font:600 8px var(--latin);
  letter-spacing:.13em;
}
.compare-signatures>a{
  position:relative;
  display:flex;
  justify-content:center;
  justify-self:end;
  width:min(100%,310px);
  padding:18px 0;
  border-bottom:1px solid #003236;
  font-size:12px;
  text-align:center;
}
.compare-signatures a b{position:absolute;right:0;font-size:18px;font-weight:400;transition:transform .35s}
.compare-signatures a:hover b{transform:translate(5px,-5px)}
.compare-note{margin:24px 0 0;color:#77817d;font-size:10px;line-height:1.8}
@media(max-width:900px){
  .premium-compare{margin-top:145px;padding-top:88px}
  .premium-compare::before{top:40px;font-size:64px}
  .compare-intro{grid-template-columns:1fr;gap:28px;margin-bottom:48px}
  .compare-intro h2{font-size:clamp(37px,10.5vw,50px)}
  .compare-intro>p{font-size:13px;line-height:2}
  .compare-frame{overflow:visible;border:0;background:transparent;box-shadow:none}
  .compare-head{display:none}
  .compare-row{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    margin-bottom:22px;
    overflow:hidden;
    border:1px solid rgba(23,61,51,.2);
    border-radius:24px;
    box-shadow:0 15px 34px rgba(7,24,39,.07);
  }
  .compare-row>*{min-height:70px;border-right:0}
  .compare-row h3{min-height:58px;padding:18px 20px}
  .compare-row>div{justify-content:space-between;padding:18px 20px;text-align:right}
  .compare-row>div::before{
    content:attr(data-column);
    margin-right:auto;
    color:#77817d;
    font-size:10px;
    font-weight:600;
  }
  .compare-row .is-regaxia::before{color:#d4e1dc}
  .compare-row .is-regaxia em{width:auto;margin-left:auto}
  .compare-row:hover .is-regaxia{transform:none}
  .compare-signatures{grid-template-columns:1fr 1fr;gap:8px}
  .compare-signatures>span{display:grid;place-items:center;min-height:39px;padding:8px;font-size:6px;text-align:center}
  .compare-signatures>a{grid-column:1/-1;justify-self:stretch;width:100%;margin-top:15px}
}
@media(prefers-reduced-motion:reduce){
  .compare-row{opacity:1;transform:none;transition:none}
}

/* News & results — directly after consulting services */
.news-results{
  padding:120px clamp(24px,5.7vw,88px) 130px;
  background:linear-gradient(145deg,#f6f3ec 0%,#fbfaf7 58%,#eef5f1 100%);
}
.news-results-heading{margin:0 auto 58px;max-width:1320px}
.news-results-heading .overline{margin:0 0 18px;color:#957b46;letter-spacing:.18em}
.news-results-heading h2{margin:0;color:#003236;font-size:clamp(40px,4.5vw,66px);font-weight:500;letter-spacing:.02em}
.news-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1320px;margin:auto}
.news-results-panel{padding:38px 40px 30px;border:1px solid rgba(21,63,52,.12);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 50px rgba(12,39,32,.08);transition:transform .4s,box-shadow .4s}
.news-results-panel:hover{transform:translateY(-5px);box-shadow:0 25px 60px rgba(12,39,32,.12)}
.news-results-panel-title{display:flex;align-items:center;gap:16px;padding-bottom:25px;border-bottom:1px solid #dce5e1}
.news-results-panel-title span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#003236;color:#fff;font:600 10px/1 Inter,sans-serif}
.news-results-panel-title h3{margin:0;color:#003236;font-size:25px;font-weight:600}
.news-results-list>a{position:relative;display:grid;grid-template-columns:94px 92px 1fr 18px;align-items:center;gap:10px;min-height:91px;border-bottom:1px solid #e2e8e5;transition:padding .3s,background .3s}
.news-results-list>a:hover{padding-right:5px;padding-left:8px;background:#f5f9f7}
.news-results-list time{color:#697872;font:500 11px/1.5 Inter,sans-serif}
.news-results-list em{padding:6px 7px;border-radius:999px;background:#e7f1ed;color:#003236;font-size:9px;font-style:normal;font-weight:700;text-align:center}
.news-results-list em.is-service{background:#f3ead6;color:#866b31}
.news-results-list em.is-blog{background:#eee9f6;color:#635280}
.news-results-list em.is-result{background:#e8eef7;color:#355981}
.news-results-list strong{color:#243b35;font-size:13px;font-weight:500;line-height:1.75}
.news-results-list>a>span{color:#9b814b;font-size:17px;transition:transform .3s}
.news-results-list>a:hover>span{transform:translate(3px,-3px)}
.news-results-more{display:flex;justify-content:space-between;margin-top:25px;padding:16px 2px 8px;color:#003236;border-bottom:1px solid #003236;font-size:12px;font-weight:600}
.news-results-more span{font-size:18px;transition:transform .3s}.news-results-more:hover span{transform:translateX(5px)}
@media(max-width:900px){
  .news-results{padding:88px 22px 96px}
  .news-results-heading{margin-bottom:40px}
  .news-results-heading h2{font-size:36px}
  .news-results-grid{grid-template-columns:1fr}
  .news-results-panel{padding:28px 22px 24px;border-radius:16px}
}
@media(max-width:560px){
  .news-results-list>a{grid-template-columns:82px 78px 1fr;gap:7px;padding:18px 0}
  .news-results-list>a>span{display:none}
  .news-results-list strong{grid-column:1/-1;padding-top:2px;font-size:13px}
  .news-results-panel-title h3{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  .news-results-panel,.news-results-list>a,.news-results-list>a>span{transition:none}
}

/* Our Mission — follows News & Results */
.our-mission{
  position:relative;
  min-height:clamp(620px,73vw,860px);
  display:grid;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#071827 url("./assets/our-mission-team.jpg") center 28%/cover no-repeat;
  isolation:isolate;
}
.our-mission-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(3,20,28,.9) 0%,rgba(3,27,31,.76) 48%,rgba(4,24,31,.48) 100%),
    linear-gradient(180deg,rgba(4,20,27,.28),rgba(4,20,27,.58)),
    repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.035) 25%);
}
.our-mission::after{
  content:"";
  position:absolute;
  inset:22px;
  z-index:-1;
  border:1px solid rgba(255,255,255,.18);
  pointer-events:none;
}
.our-mission-inner{
  position:relative;
  width:min(1320px,calc(100% - 112px));
  margin:auto;
  padding:120px 0;
}
.our-mission-label{
  position:absolute;
  top:0;
  left:0;
  display:flex;
  align-items:center;
  gap:18px;
  color:rgba(255,255,255,.72);
  font:600 9px/1 Inter,sans-serif;
  letter-spacing:.22em;
}
.our-mission-label i{display:block;width:72px;height:1px;background:#d3b873}
.our-mission-copy{max-width:920px}
.our-mission-copy .overline{margin-bottom:30px;color:#d3b873;font-size:10px}
.our-mission-copy h2{
  margin:0;
  font:500 clamp(42px,5vw,76px)/1.38 "Noto Serif JP",serif;
  letter-spacing:.035em;
  text-wrap:balance;
}
.our-mission-copy>p:not(.overline){
  max-width:680px;
  margin:36px 0 0;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:2.15;
  letter-spacing:.04em;
}
.our-mission-copy .our-mission-statement{
  max-width:880px;
  color:rgba(255,255,255,.94);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(21px,2vw,31px);
  font-weight:600;
  line-height:1.85;
  letter-spacing:.07em;
  text-shadow:0 3px 18px rgba(0,0,0,.5);
}
.our-mission-copy .our-mission-vision{
  max-width:860px;
  margin-top:28px;
  color:rgba(255,255,255,.9);
  font-size:clamp(15px,1.2vw,18px);
  font-weight:500;
  text-shadow:0 2px 14px rgba(0,0,0,.48);
}
.mission-credo{
  position:relative;
  display:inline-block;
  z-index:0;
  padding:0 .12em;
  color:#f1d485;
  font-weight:600;
  text-shadow:0 0 20px rgba(241,212,133,.22);
  animation:missionCredoGlow 3.2s ease-in-out infinite;
}
.mission-credo::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:0;
  bottom:.08em;
  left:0;
  height:.38em;
  background:linear-gradient(90deg,transparent,rgba(211,184,115,.34) 12%,rgba(211,184,115,.5) 50%,rgba(211,184,115,.34) 88%,transparent);
  transform:scaleX(.15);
  transform-origin:left;
  animation:missionCredoLine 3.2s cubic-bezier(.22,1,.36,1) infinite;
}
@keyframes missionCredoGlow{
  0%,100%{color:#e5c878;text-shadow:0 0 14px rgba(241,212,133,.12)}
  48%,62%{color:#fff2bd;text-shadow:0 0 28px rgba(241,212,133,.46)}
}
@keyframes missionCredoLine{
  0%,12%{transform:scaleX(.12);opacity:.25}
  48%,65%{transform:scaleX(1);opacity:1}
  88%,100%{transform:scaleX(.12);transform-origin:right;opacity:.25}
}
.our-mission-copy>a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:290px;
  margin-top:42px;
  padding:16px 2px 10px;
  border-bottom:1px solid rgba(255,255,255,.72);
  font-size:15px;
  font-weight:600;
  text-align:center;
  transition:color .3s,border-color .3s,width .4s;
}
.our-mission-copy>a span{position:absolute;right:2px;color:#d3b873;font-size:17px;transition:transform .3s}
.our-mission-copy>a:hover{width:310px;color:#d3b873;border-color:#d3b873}
.our-mission-copy>a:hover span{transform:translate(3px,-3px)}
.our-mission-signature{
  position:absolute;
  right:0;
  bottom:0;
  margin:0;
  color:rgba(255,255,255,.52);
  font:500 clamp(20px,2.2vw,32px)/1.12 Inter,sans-serif;
  letter-spacing:-.035em;
  text-align:left;
}
@media(max-width:900px){
  .our-mission{min-height:680px}
  .our-mission::after{inset:12px}
  .our-mission-inner{width:calc(100% - 44px);padding:110px 0 90px}
  .our-mission-label{top:8px}
  .our-mission-copy h2{font-size:clamp(34px,9vw,48px);line-height:1.5}
  .our-mission-copy>p:not(.overline){font-size:13px}
  .our-mission-copy .our-mission-statement{font-size:clamp(18px,4.6vw,23px);line-height:1.85}
  .our-mission-copy .our-mission-vision{font-size:14px;line-height:2}
  .our-mission-signature{display:none}
}
@media(max-width:560px){
  .our-mission{min-height:720px;background-position:52% center}
  .our-mission-shade{background:linear-gradient(135deg,rgba(3,20,28,.9),rgba(4,27,31,.64)),linear-gradient(180deg,rgba(4,20,27,.18),rgba(4,20,27,.7)),repeating-linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),rgba(255,255,255,.035) 50%)}
  .our-mission-copy h2 br{display:none}
  .our-mission-copy>a{width:100%}
  .our-mission-copy>a:hover{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .our-mission-copy>a,.our-mission-copy>a span{transition:none}
  .mission-credo,.mission-credo::after{animation:none}
  .mission-credo::after{transform:scaleX(1)}
}

/* Speed diagnosis CTA — directly after Our Mission */
.speed-diagnosis{
  position:relative;
  min-height:480px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:96px clamp(28px,7vw,116px);
  color:#fff;
  background:#071827;
  isolation:isolate;
}
.speed-diagnosis-video{
  position:absolute;
  inset:0;
  z-index:-4;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.speed-diagnosis::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  border:1px solid rgba(255,255,255,.18);
  pointer-events:none;
}
.speed-diagnosis::after{
  content:none;
}
.speed-diagnosis-inner{position:relative;z-index:2;text-align:center}
.speed-diagnosis-inner .overline{margin-bottom:16px;color:#e5ca86}
.speed-diagnosis-inner h2{
  margin:0;
  font:500 clamp(38px,4.2vw,64px)/1.25 "Noto Serif JP",serif;
  letter-spacing:.06em;
}
.speed-diagnosis-inner h2 span{font-size:.58em}
.speed-diagnosis-inner h2 strong{
  display:inline-block;
  margin:0 .07em;
  color:#fff7df;
  font:600 1.35em/1 Inter,sans-serif;
  letter-spacing:-.05em;
  animation:speedNumberPulse 2.8s ease-in-out infinite;
}
.diagnosis-number-ivory .speed-diagnosis-inner h2 strong{color:#fff7df}
.diagnosis-number-mint .speed-diagnosis-inner h2 strong{color:#003236}
.diagnosis-number-deepgreen .speed-diagnosis-inner h2 strong{
  color:#003236;
  -webkit-text-stroke:1px rgba(240,255,248,.72);
  paint-order:stroke fill;
}
.diagnosis-number-cyan .speed-diagnosis-inner h2 strong{color:#9fe8f2}
.diagnosis-number-coral .speed-diagnosis-inner h2 strong{color:#ffb29f}
.diagnosis-number-gold .speed-diagnosis-inner h2 strong{color:#f0d58d}
.speed-diagnosis-inner h2 em{font-size:.68em;font-style:normal}
.speed-diagnosis-inner>p:not(.overline){
  margin:24px 0 0;
  color:rgba(255,255,255,.8);
  font-size:13px;
  line-height:2;
  letter-spacing:.04em;
}
.speed-diagnosis-inner>a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(330px,100%);
  margin:34px auto 0;
  padding:20px 23px;
  color:#003236;
  border:1px solid #fff;
  border-radius:4px;
  background:#fff;
  box-shadow:0 18px 40px rgba(4,30,25,.2);
  font-size:14px;
  font-weight:700;
  text-align:center;
  transition:transform .35s,background .35s,color .35s,box-shadow .35s;
}
.speed-diagnosis-inner>a span{position:absolute;right:23px;font-size:20px;transition:transform .35s}
.speed-diagnosis-inner>a:hover{
  color:#fff;
  background:#c9aa62;
  border-color:#c9aa62;
  box-shadow:0 24px 50px rgba(4,30,25,.3);
  transform:translateY(-4px);
}
.speed-diagnosis-inner>a:hover span{transform:translateX(5px)}
@keyframes speedNumberPulse{
  0%,100%{transform:scale(1);text-shadow:0 0 0 transparent}
  50%{transform:scale(1.06);text-shadow:0 0 24px currentColor}
}
@media(max-width:900px){
  .speed-diagnosis{min-height:540px;padding:88px 22px}
  .speed-diagnosis::before{inset:12px}
  .speed-diagnosis-video{object-position:center}
  .speed-diagnosis-inner>p:not(.overline) br{display:none}
}
@media(max-width:560px){
  .speed-diagnosis-inner h2{font-size:38px}
  .speed-diagnosis-inner>p:not(.overline){max-width:315px;margin-right:auto;margin-left:auto;font-size:12px}
  .speed-diagnosis-inner>a{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .speed-diagnosis-inner h2 strong{animation:none}
  .speed-diagnosis-inner>a,.speed-diagnosis-inner>a span{transition:none}
}

/* FAQ chapter — follows Knowledge & Stories */
.faq-chapter{
  position:relative;
  overflow:hidden;
  padding-top:116px;
  padding-bottom:124px;
  background:#f7f8f5;
}
.faq-chapter::after{
  content:"FAQ";
  position:absolute;
  right:-.035em;
  top:74px;
  color:rgba(0,50,54,.035);
  font:700 clamp(150px,23vw,360px)/.78 Inter,sans-serif;
  letter-spacing:-.08em;
  pointer-events:none;
}
.faq-chapter-inner{
  position:relative;
  z-index:1;
  width:min(1080px,calc(100% - 56px));
  margin:0 auto;
}
.faq-chapter-heading{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) 1fr;
  column-gap:80px;
  align-items:end;
  margin-bottom:56px;
}
.faq-chapter-heading .overline{
  grid-column:1;
  margin:0 0 14px;
  color:#8f7437;
  font-size:11px;
  letter-spacing:.18em;
}
.faq-chapter-heading h2{
  grid-column:1;
  margin:0;
  color:#003236;
  font:500 clamp(38px,4.2vw,60px)/1.2 "Noto Serif JP",serif;
  letter-spacing:.08em;
}
.faq-chapter-heading>p:last-child{
  grid-column:2;
  grid-row:1/3;
  margin:0;
  color:#4e5d5b;
  font-size:14px;
  line-height:2.1;
}
.faq-list{
  border-top:1px solid rgba(0,50,54,.24);
}
.faq-list details{
  border-bottom:1px solid rgba(0,50,54,.2);
}
.faq-list summary{
  display:grid;
  grid-template-columns:54px 1fr 36px;
  gap:16px;
  align-items:center;
  min-height:104px;
  padding:22px 8px;
  color:#133b3c;
  cursor:pointer;
  list-style:none;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{
  color:#a8873f;
  font:600 22px/1 Inter,sans-serif;
}
.faq-list summary strong{
  font-size:16px;
  line-height:1.8;
  letter-spacing:.035em;
}
.faq-list summary i{
  position:relative;
  width:32px;
  height:32px;
  border:1px solid rgba(0,50,54,.35);
  border-radius:50%;
  transition:background .3s,border-color .3s,transform .3s;
}
.faq-list summary i::before,
.faq-list summary i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:1px;
  background:#003236;
  transform:translate(-50%,-50%);
  transition:background .3s,transform .3s;
}
.faq-list summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-list details[open] summary i{
  border-color:#003236;
  background:#003236;
  transform:rotate(180deg);
}
.faq-list details[open] summary i::before,
.faq-list details[open] summary i::after{background:#fff}
.faq-list details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq-answer{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  padding:2px 72px 34px 8px;
}
.faq-answer>span{
  color:#003236;
  font:600 22px/1 Inter,sans-serif;
}
.faq-answer p{
  max-width:820px;
  margin:0;
  color:#53605f;
  font-size:14px;
  line-height:2;
}
.faq-view-all{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:min(360px,100%);
  margin:48px 0 0 auto;
  padding:20px 22px;
  color:#fff;
  border:1px solid #003236;
  background:#003236;
  font-size:13px;
  font-weight:700;
  letter-spacing:.05em;
  text-align:center;
  transition:color .3s,background .3s,transform .3s;
}
.faq-view-all span{position:absolute;right:22px;font-size:19px;transition:transform .3s}
.faq-view-all:hover{
  color:#003236;
  background:transparent;
  transform:translateY(-3px);
}
.faq-view-all:hover span{transform:translateX(5px)}
@media(max-width:900px){
  .faq-chapter{padding-top:88px;padding-bottom:92px}
  .faq-chapter-inner{width:min(100% - 40px,720px)}
  .faq-chapter-heading{display:block;margin-bottom:40px}
  .faq-chapter-heading>p:last-child{margin-top:24px}
  .faq-list summary{grid-template-columns:42px 1fr 32px;gap:10px;min-height:92px}
  .faq-answer{grid-template-columns:42px 1fr;gap:10px;padding-right:50px}
}
@media(max-width:560px){
  .faq-chapter{padding-top:76px;padding-bottom:78px}
  .faq-chapter::after{top:52px;font-size:150px}
  .faq-chapter-inner{width:calc(100% - 32px)}
  .faq-chapter-heading h2{font-size:36px}
  .faq-chapter-heading>p:last-child{font-size:13px;line-height:1.9}
  .faq-list summary{
    grid-template-columns:34px 1fr 28px;
    padding:20px 2px;
  }
  .faq-list summary>span,.faq-answer>span{font-size:18px}
  .faq-list summary strong{font-size:14px;line-height:1.65}
  .faq-list summary i{width:28px;height:28px}
  .faq-answer{grid-template-columns:34px 1fr;padding:0 4px 26px 2px}
  .faq-answer p{font-size:13px;line-height:1.85}
  .faq-view-all{margin-top:36px;width:100%}
}

/* Contact chapter — large visual CTA */
.contact-section{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:710px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:100px clamp(24px,6vw,96px);
  color:#fff;
  text-align:center;
  background:#063f43;
}
.contact-section::before{
  content:none;
}
.contact-background-video{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.contact-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,43,48,.68),rgba(0,36,41,.84)),
    linear-gradient(90deg,rgba(0,34,39,.3),transparent 38%,transparent 62%,rgba(0,34,39,.3));
}
.contact-section-inner{
  width:min(1120px,100%);
  margin:auto;
}
.contact-section .contact-overline{
  margin:0 0 20px;
  color:#e3c47d;
  font:600 10px/1.5 Inter,sans-serif;
  letter-spacing:.25em;
}
.contact-section h2{
  margin:0;
  font:500 clamp(42px,5.3vw,76px)/1.28 "Noto Serif JP",serif;
  letter-spacing:.08em;
  text-shadow:0 6px 30px rgba(0,30,34,.28);
}
.contact-section .contact-lead{
  margin:24px auto 0;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:2;
  letter-spacing:.04em;
}
.contact-quick-check{
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:max-content;
  max-width:100%;
  margin:28px auto 0;
  padding:12px 14px 12px 22px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(3,34,39,.46);
  backdrop-filter:blur(12px);
}
.contact-quick-check>span{
  color:#e6c878;
  font:600 11px/1.4 var(--sans);
  letter-spacing:.12em;
}
.contact-quick-check>strong{
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.28);
  font:500 18px/1.4 var(--serif);
  letter-spacing:.06em;
}
.contact-quick-check>a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 44px;
  color:#003236;
  background:#fff;
  font-size:12px;
  font-weight:700;
  transition:color .25s,background .25s,transform .25s;
}
.contact-quick-check>a i{
  position:absolute;
  right:18px;
  color:#a58643;
  font-size:17px;
  font-style:normal;
}
.contact-quick-check>a:hover{color:#fff;background:#003236;transform:translateY(-2px)}
.contact-section .contact-phone{
  display:grid;
  justify-content:center;
  width:max-content;
  margin:30px auto 38px;
  padding:0;
  border:0;
  color:#fff;
}
.contact-phone small{
  margin-bottom:5px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  letter-spacing:.08em;
}
.contact-phone strong{
  font:500 clamp(38px,4.4vw,62px)/1.1 Inter,sans-serif;
  letter-spacing:.03em;
}
.contact-phone strong span{color:#fff}
.contact-phone em{
  margin-top:7px;
  color:rgba(255,255,255,.72);
  font-size:10px;
  font-style:normal;
}
.contact-actions{
  display:grid;
  grid-template-columns:1.25fr 1fr .8fr;
  gap:10px;
  width:min(1030px,100%);
  margin:0 auto;
}
.contact-section .contact-actions>a{
  position:relative;
  display:flex;
  min-height:76px;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:20px 24px;
  border:1px solid rgba(255,255,255,.62);
  color:#003236;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 35px rgba(0,30,34,.18);
  font-size:13px;
  font-weight:700;
  text-align:center;
  transition:color .3s,background .3s,transform .3s;
}
.contact-actions>a i{
  position:absolute;
  right:clamp(18px,2vw,24px);
  color:#a58643;
  font-size:19px;
  font-style:normal;
  transition:transform .3s;
}
.contact-section .contact-actions>a:hover{
  color:#fff;
  background:#003236;
  transform:translateY(-4px);
}
.contact-actions>a:hover i{transform:translate(3px,-3px)}

/* CONTACT CTA motion: restrained shine, arrow cue and premium hover lift. */
.contact-quick-check>a,
.contact-section .contact-actions>a{
  isolation:isolate;
  overflow:hidden;
  animation:contactCtaPulse 2.8s ease-in-out infinite;
}
.contact-quick-check>a::before,
.contact-section .contact-actions>a::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-70%;
  bottom:-70%;
  left:-34%;
  width:28%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(230,200,120,.92),
    transparent
  );
  filter:blur(1px);
  transform:skewX(-20deg);
  animation:contactCtaShine 3.2s ease-in-out infinite;
}
.contact-section .contact-actions>a:nth-child(2)::before{animation-delay:.45s}
.contact-section .contact-actions>a:nth-child(3)::before{animation-delay:.9s}
.contact-quick-check>a i,
.contact-actions>a i{
  z-index:2;
  animation:contactCtaArrow 1.6s ease-in-out infinite;
}
.contact-actions>a span{
  position:relative;
  z-index:1;
}
.contact-quick-check>a:hover::before,
.contact-quick-check>a:focus-visible::before,
.contact-section .contact-actions>a:hover::before,
.contact-section .contact-actions>a:focus-visible::before{
  animation-duration:1.15s;
}
.contact-quick-check>a:focus-visible,
.contact-section .contact-actions>a:focus-visible{
  outline:2px solid #e6c878;
  outline-offset:4px;
  transform:translateY(-4px);
}
@keyframes contactCtaShine{
  0%,38%{left:-34%;opacity:0}
  48%{opacity:1}
  76%,100%{left:120%;opacity:0}
}
@keyframes contactCtaArrow{
  0%,58%,100%{transform:translateX(0)}
  75%{transform:translateX(8px)}
}
@keyframes contactCtaPulse{
  0%,100%{box-shadow:0 14px 35px rgba(0,30,34,.18)}
  50%{box-shadow:0 18px 42px rgba(230,200,120,.32)}
}
@media(prefers-reduced-motion:reduce){
  .contact-quick-check>a,
  .contact-section .contact-actions>a,
  .contact-quick-check>a::before,
  .contact-section .contact-actions>a::before,
  .contact-quick-check>a i,
  .contact-actions>a i{
    animation:none;
  }
}

.contact-section .contact-actions .contact-call{
  color:#fff;
  background:#b39758;
  border-color:#cbb579;
}
.contact-section .contact-note{
  display:block;
  margin-top:25px;
  color:rgba(255,255,255,.68);
  font-size:10px;
  letter-spacing:.08em;
}
@media(max-width:900px){
  .contact-section{min-height:780px;padding:85px 22px}
  .contact-quick-check{grid-template-columns:auto auto}
  .contact-quick-check>a{grid-column:1/-1;justify-content:center}
  .contact-actions{grid-template-columns:1fr}
  .contact-section .contact-actions>a{min-height:68px}
}
@media(max-width:560px){
  .contact-section{min-height:840px;padding:72px 18px}
  .contact-section h2{font-size:38px;letter-spacing:.04em}
  .contact-section .contact-lead{font-size:12px}
  .contact-quick-check{gap:12px;padding:12px}
  .contact-quick-check>strong{font-size:16px}
  .contact-phone strong{font-size:36px}
  .contact-section .contact-actions>a{padding:18px;font-size:12px}
}

/* CONTACT comparison sample: two-column conversion layout. */
@media(min-width:901px){
  .contact-layout-v2 .contact-section{
    min-height:720px;
    text-align:left;
  }
  .contact-layout-v2 .contact-section::after{
    background:
      linear-gradient(90deg,rgba(0,39,43,.9) 0%,rgba(0,45,49,.72) 48%,rgba(0,31,36,.78) 100%),
      linear-gradient(180deg,rgba(0,43,48,.28),rgba(0,31,36,.58));
  }
  .contact-layout-v2 .contact-section-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,470px);
    grid-template-areas:
      "overline quick"
      "title quick"
      "lead actions"
      "phone actions"
      ". note";
    column-gap:clamp(52px,7vw,108px);
    row-gap:16px;
    align-items:start;
    padding:clamp(40px,4.5vw,64px);
    border:1px solid rgba(255,255,255,.22);
    border-radius:30px;
    background:rgba(2,36,40,.4);
    box-shadow:0 35px 90px rgba(0,20,24,.34);
    backdrop-filter:blur(16px);
  }
  .contact-layout-v2 .contact-overline{grid-area:overline;margin:0}
  .contact-layout-v2 .contact-section h2{
    grid-area:title;
    max-width:560px;
    font-size:clamp(42px,4.3vw,66px);
  }
  .contact-layout-v2 .contact-lead{grid-area:lead;margin:4px 0 0}
  .contact-layout-v2 .contact-phone{
    grid-area:phone;
    justify-content:start;
    margin:14px 0 0;
  }
  .contact-layout-v2 .contact-quick-check{
    grid-area:quick;
    grid-template-columns:auto 1fr;
    align-self:start;
    justify-content:stretch;
    width:100%;
    max-width:470px;
    margin:0;
    padding:28px;
    border-radius:22px;
    background:rgba(255,255,255,.1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  }
  .contact-layout-v2 .contact-quick-check>strong{font-size:24px}
  .contact-layout-v2 .contact-quick-check>a{
    grid-column:1/-1;
    justify-content:center;
    min-height:62px;
    margin-top:8px;
    padding:0 24px;
    border-radius:14px;
    font-size:14px;
  }
  .contact-layout-v2 .contact-actions{
    grid-area:actions;
    grid-template-columns:1fr;
    width:100%;
    max-width:470px;
    margin:0;
  }
  .contact-layout-v2 .contact-section .contact-actions>a{
    min-height:60px;
    justify-content:center;
    padding:16px 48px;
    border-radius:14px;
    font-size:12px;
    text-align:center;
  }
  .contact-layout-v2 .contact-note{
    grid-area:note;
    width:100%;
    max-width:470px;
    margin-top:0;
    text-align:center;
  }
}
@media(max-width:900px){
  .contact-layout-v2 .contact-section-inner{
    padding:24px 18px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:24px;
    background:rgba(2,36,40,.38);
    backdrop-filter:blur(12px);
  }
  .contact-layout-v2 .contact-quick-check,
  .contact-layout-v2 .contact-section .contact-actions>a{
    border-radius:14px;
  }
}

/* Final header type specification: match Akatsuki Securities computed values. */
.site-header .brand{gap:0}
.site-header .brand span{margin-left:-24px;padding-left:10px}
.site-header .main-nav>a{justify-items:center;text-align:center}
.hero-clock{
  bottom:28px;
  display:grid;
  grid-template-columns:auto max-content;
  column-gap:8px;
  align-items:end;
}
.hero-clock small{grid-column:1;grid-row:2;margin:7px 0 0;text-align:center}
.hero-clock time{display:contents}
.hero-clock time span{
  grid-column:1;
  grid-row:1;
  font-size:clamp(34px,3.35vw,52px);
  line-height:1;
}
.hero-clock time b{
  grid-column:2;
  grid-row:1;
  align-self:end;
  margin-bottom:.35em;
  font-size:10px;
}
.hero-scroll span{animation:heroScrollText 2.2s ease-in-out infinite}
.hero-scroll i{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.24);
}
.hero-scroll i::after{
  content:"";
  position:absolute;
  inset:0;
  background:#fff;
  transform:translateY(-105%);
  animation:heroScrollLine 1.8s cubic-bezier(.65,0,.35,1) infinite;
}
@keyframes heroScrollText{
  0%,100%{opacity:.68;transform:translateY(0)}
  50%{opacity:1;transform:translateY(5px)}
}
@keyframes heroScrollLine{
  0%{transform:translateY(-105%)}
  55%,100%{transform:translateY(105%)}
}
@media(prefers-reduced-motion:reduce){
  .hero-scroll span,.hero-scroll i::after{animation:none}
}
.chapter-style-d .chapter-nav a{
  min-height:112px;
  padding:24px 28px;
  font-size:clamp(22px,1.85vw,30px);
}
.chapter-style-d .chapter-nav a::after{top:20px;right:24px;font-size:16px}
@media(min-width:901px){
  .site-header .utility-nav{
    font-family:"Noto Sans JP",sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:19.5px;
    letter-spacing:normal;
  }
  .site-header .utility-nav > span{
    font-family:Inter,sans-serif;
    font-size:13px;
    font-weight:600;
    line-height:19.5px;
    letter-spacing:normal;
  }
  .site-header .main-nav > a > span{
    font-family:"Noto Sans JP",sans-serif;
    font-size:16px;
    font-weight:700;
    line-height:24px;
    letter-spacing:normal;
  }
  .site-header .main-nav > a > small{
    font-family:Inter,sans-serif;
    font-size:9px;
    font-weight:600;
    line-height:13.5px;
    letter-spacing:normal;
  }
  .site-header .main-nav{
    position:relative;
    bottom:12px;
    gap:clamp(44px,3.4vw,66px);
  }
  .site-header .main-nav > a{
    gap:8px;
    min-width:74px;
    padding:6px 8px 11px;
  }
}
@media(max-width:900px){
  .hero-clock{bottom:62px}
  .hero-clock time span{font-size:28px}
  .hero-clock time b{font-size:8px}
  .chapter-style-d .chapter-nav a{min-height:84px;padding:17px 13px;font-size:18px}
  .chapter-style-d .chapter-nav a::after{top:12px;right:12px;font-size:12px}
}

/* Pre-chapter conversion CTA */
.entry-cta{
  position:relative;
  overflow:hidden;
  padding:84px clamp(26px,6vw,96px) 54px;
  color:#fff;
  background:
    radial-gradient(circle at 50% -10%,rgba(82,145,125,.20),transparent 40%),
    linear-gradient(135deg,#03241f,#06433a 55%,#022d27);
}
.entry-cta::before{
  content:"";
  position:absolute;
  inset:20px;
  border:1px solid rgba(180,208,209,.18);
  pointer-events:none;
}
.entry-cta-heading{
  position:relative;
  max-width:850px;
  margin:0 auto 48px;
  text-align:center;
}
.entry-cta-heading>p{
  margin:0 0 17px;
  color:#9fc5c7;
  font:600 9px Inter,sans-serif;
  letter-spacing:.24em;
}
.entry-cta-heading h2{
  margin:0;
  font:600 clamp(30px,3.4vw,49px)/1.5 "Noto Serif JP",serif;
  letter-spacing:.04em;
}
.entry-cta-heading>span{
  display:block;
  margin-top:16px;
  color:rgba(255,255,255,.66);
  font-size:11px;
}
.entry-cta-cards{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  max-width:1280px;
  margin:auto;
}
.entry-cta-cards article{
  display:grid;
  grid-template-columns:minmax(170px,34%) 1fr;
  grid-template-rows:1fr auto auto;
  overflow:hidden;
  min-height:420px;
  border:1px solid rgba(184,210,211,.48);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(9,49,67,.94),rgba(2,21,34,.98));
  box-shadow:0 22px 60px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.05);
  transition:transform .35s,border-color .35s,box-shadow .35s;
}
.entry-cta-cards article:hover{
  transform:translateY(-5px);
  border-color:rgba(210,232,232,.75);
  box-shadow:0 28px 74px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08);
}
.entry-cta-cards figure{
  grid-row:1;
  margin:0;
  min-height:258px;
  overflow:hidden;
  border-right:1px solid rgba(184,210,211,.24);
}
.entry-cta-cards figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.entry-cta-copy{
  padding:36px 28px 24px;
}
.entry-cta-label{
  display:flex;
  align-items:center;
  gap:12px;
  color:#b8d8cc;
}
.entry-cta-label span{
  font:500 9px Inter,sans-serif;
}
.entry-cta-label small{
  padding-left:12px;
  border-left:1px solid rgba(166,201,202,.45);
  font:600 9px Inter,sans-serif;
  letter-spacing:.17em;
}
.entry-cta-copy h3{
  margin:25px 0 16px;
  font:600 clamp(23px,2vw,32px)/1.55 "Noto Serif JP",serif;
  letter-spacing:.035em;
}
.entry-cta-copy>p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:11px;
  line-height:1.8;
}
.entry-cta-cards article>a{
  position:relative;
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 26px;
  padding:20px 54px;
  color:#073f37;
  border-radius:3px;
  background:#fff;
  font:600 15px "Noto Serif JP",serif;
  letter-spacing:.05em;
  transition:background .3s,transform .3s;
}
.entry-cta-cards article>a:hover{
  background:#e8f2f1;
  transform:scale(1.008);
}
.entry-cta-cards article>a b{
  position:absolute;
  right:23px;
  font:400 23px Inter,sans-serif;
}
.entry-cta-note{
  grid-column:1/-1;
  padding:19px 20px 22px;
  color:rgba(255,255,255,.68);
  font-size:10px;
  text-align:center;
}
.entry-cta-note::before{
  content:"▧";
  margin-right:9px;
  color:#9fc5c7;
}
.entry-cta-trust{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:980px;
  margin:36px auto 0;
}
.entry-cta-trust p{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  margin:0;
  padding:8px 25px;
}
.entry-cta-trust p+p{
  border-left:1px solid rgba(255,255,255,.24);
}
.entry-cta-trust>p>strong{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border:1px solid rgba(196,220,221,.55);
  border-radius:50%;
  color:#b8d3d4;
  font:500 12px Inter,sans-serif;
}
.entry-cta-trust span{
  color:rgba(255,255,255,.58);
  font-size:9px;
  line-height:1.6;
}
.entry-cta-trust span b{
  display:block;
  color:#fff;
  font:600 13px "Noto Serif JP",serif;
}
@media(max-width:900px){
  .entry-cta{padding:58px 16px 38px}
  .entry-cta::before{inset:8px}
  .entry-cta-heading{margin-bottom:34px;padding:0 12px}
  .entry-cta-heading h2 br{display:none}
  .entry-cta-cards{grid-template-columns:1fr;gap:16px}
  .entry-cta-cards article{grid-template-columns:135px 1fr;min-height:360px}
  .entry-cta-cards figure{min-height:220px}
  .entry-cta-copy{padding:25px 20px 18px}
  .entry-cta-copy h3{margin:17px 0 11px;font-size:22px}
  .entry-cta-cards article>a{margin:0 14px;padding:17px 44px;font-size:13px}
  .entry-cta-trust{grid-template-columns:1fr;margin-top:27px}
  .entry-cta-trust p{justify-content:flex-start;max-width:270px;width:100%;margin:auto}
  .entry-cta-trust p+p{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
}

/* CTA v2: photographic, compact, premium cards */
.entry-cta-cards{
  max-width:1160px;
  gap:30px;
}
.entry-cta-cards article{
  display:flex;
  flex-direction:column;
  min-height:0;
  border-radius:7px;
  background:linear-gradient(160deg,#0a4a40,#032d27);
}
.entry-cta-cards article::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(218,234,235,.12);
  pointer-events:none;
}
.entry-cta-cards figure{
  position:relative;
  width:100%;
  height:210px;
  min-height:210px;
  border-right:0;
  border-bottom:1px solid rgba(184,210,211,.28);
}
.entry-cta-cards figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(3,45,39,.72));
}
.entry-cta-cards figure img{
  object-position:center;
  filter:saturate(.76) contrast(1.06);
  transition:transform .7s,filter .7s;
}
.entry-cta-cards article:first-child figure img{
  object-position:center 60%;
}
.entry-cta-cards article:hover figure img{
  transform:scale(1.025);
  filter:saturate(.9) contrast(1.08);
}
.entry-cta-copy{
  flex:1;
  min-height:210px;
  padding:29px 34px 25px;
}
.entry-cta-label{
  gap:14px;
}
.entry-cta-copy h3{
  min-height:96px;
  margin:20px 0 10px;
  font-size:clamp(25px,2.25vw,34px);
  line-height:1.48;
}
.entry-cta-copy>p{
  font-size:12px;
}
.entry-cta-cards article>a{
  width:calc(100% - 68px);
  margin:0 34px;
  padding:19px 54px;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 9px 24px rgba(0,0,0,.18);
}
.entry-cta-note{
  padding:18px 20px 23px;
}
@media(max-width:900px){
  .entry-cta-cards{gap:18px}
  .entry-cta-cards article{display:flex;min-height:0}
  .entry-cta-cards figure{height:188px;min-height:188px}
  .entry-cta-copy{min-height:0;padding:24px 22px 21px}
  .entry-cta-copy h3{min-height:0;margin:17px 0 10px;font-size:23px}
  .entry-cta-cards article>a{width:calc(100% - 44px);margin:0 22px}
}

/* CTA v3: compact horizontal layout */
.entry-cta{
  padding:34px clamp(24px,5vw,76px);
}
.entry-cta::before{
  inset:12px;
}
.entry-cta-heading{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  max-width:1160px;
  margin:0 auto 26px;
  text-align:left;
}
.entry-cta-heading>p{
  grid-column:1/-1;
  margin-bottom:10px;
}
.entry-cta-heading h2{
  font-size:clamp(25px,2.6vw,38px);
  line-height:1.42;
}
.entry-cta-heading h2 br{
  display:none;
}
.entry-cta-heading>span{
  margin:0 0 5px 32px;
  white-space:nowrap;
}
.entry-cta-cards{
  gap:22px;
}
.entry-cta-cards article{
  display:grid;
  grid-template-columns:38% 62%;
  grid-template-rows:1fr auto auto;
  height:300px;
  min-height:300px;
}
.entry-cta-cards figure{
  grid-column:1;
  grid-row:1/4;
  width:100%;
  height:100%;
  min-height:0;
  border-right:1px solid rgba(184,210,211,.28);
  border-bottom:0;
}
.entry-cta-cards figure::after{
  background:linear-gradient(90deg,transparent 58%,rgba(3,45,39,.54));
}
.entry-cta-copy{
  grid-column:2;
  grid-row:1;
  min-height:0;
  padding:25px 26px 12px;
}
.entry-cta-copy h3{
  min-height:72px;
  margin:15px 0 8px;
  font-size:clamp(20px,1.65vw,27px);
  line-height:1.46;
}
.entry-cta-individual-title span{
  display:block;
  white-space:nowrap;
}
.entry-cta-copy .entry-cta-individual-title{
  font-size:clamp(18px,1.35vw,22px);
  letter-spacing:-.025em;
}
.entry-cta-cards article:nth-child(2) .entry-cta-copy h3{
  white-space:nowrap;
}
.entry-cta-copy>p{
  font-size:10px;
}
.entry-cta-cards article>a{
  grid-column:2;
  grid-row:2;
  width:calc(100% - 52px);
  margin:0 26px;
  padding:15px 44px;
  font-size:12px;
}
.entry-cta-cards article>a b{
  right:18px;
  font-size:19px;
}
.entry-cta-note{
  grid-column:2;
  grid-row:3;
  padding:12px 12px 15px;
  border-top:0;
  background:transparent;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.entry-cta-note::before{
  color:#9fc5b7;
}
@media(max-width:900px){
  .entry-cta{padding:26px 14px}
  .entry-cta-heading{display:block;margin-bottom:24px;text-align:center}
  .entry-cta-heading>span{margin-top:12px;white-space:normal}
  .entry-cta-cards article{
    display:grid;
    grid-template-columns:36% 64%;
    grid-template-rows:1fr auto auto;
    height:285px;
    min-height:285px;
  }
  .entry-cta-cards figure{grid-column:1;grid-row:1/4;height:100%;min-height:0}
  .entry-cta-copy{grid-column:2;grid-row:1;padding:22px 17px 10px}
  .entry-cta-copy h3{margin-top:14px;font-size:19px}
  .entry-cta-cards article>a{grid-column:2;grid-row:2;width:calc(100% - 34px);margin:0 17px;padding:14px 36px;font-size:11px}
  .entry-cta-note{grid-column:2;grid-row:3}
}
@media(max-width:560px){
  .entry-cta-cards article{grid-template-columns:34% 66%;height:270px;min-height:270px}
  .entry-cta-label small{font-size:7px}
  .entry-cta-copy h3{font-size:17px}
  .entry-cta-copy .entry-cta-individual-title{font-size:15px;letter-spacing:-.045em}
  .entry-cta-copy>p{font-size:9px}
  .entry-cta-note{font-size:11px}
}

/* CTA v4: integrated REGAXIA green */
.entry-cta{
  padding-top:20px;
  padding-bottom:20px;
  background:#071827;
}
.entry-cta::before{
  display:none;
}
.entry-cta-cards{
  max-width:980px;
  gap:16px;
}
.entry-cta-cards article{
  height:220px;
  min-height:220px;
  border:1px solid rgba(210,228,238,.18);
  border-radius:14px;
  background:rgba(6,29,44,.74);
  box-shadow:0 12px 32px rgba(0,26,22,.16);
}
.entry-cta-cards article::after{
  box-shadow:inset 0 1px rgba(255,255,255,.045);
}
.entry-cta-cards article:hover{
  transform:translateY(-2px);
  border-color:rgba(220,237,230,.36);
  box-shadow:0 16px 38px rgba(0,26,22,.22);
}
.entry-cta-cards figure{
  border-right-color:rgba(220,237,230,.16);
}
.entry-cta-cards figure::after{
  background:linear-gradient(90deg,rgba(7,31,46,.1) 0%,rgba(7,31,46,.38) 60%,rgba(6,29,44,.9) 100%);
}
.entry-cta-cards figure img{
  filter:saturate(.48) contrast(1.02) brightness(.83);
}
.entry-cta-cards article:hover figure img{
  filter:saturate(.62) contrast(1.03) brightness(.88);
}
.entry-cta-label{
  color:#c1dbd1;
}
.entry-cta-label small{
  border-left-color:rgba(193,219,209,.38);
}
.entry-cta-copy{
  padding:18px 20px 6px;
}
.entry-cta-copy h3{
  min-height:58px;
  margin-top:10px;
  margin-bottom:4px;
}
.entry-cta-copy>p{
  color:rgba(255,255,255,.72);
}
.entry-cta-cards article>a{
  color:#073f37;
  border-color:rgba(255,255,255,.78);
  border-radius:999px;
  background:#f4eddf;
  box-shadow:none;
  height:52px;
  min-height:52px;
  padding:5px 26px;
}
.entry-cta-cards article>a span{
  display:grid;
  justify-items:center;
  gap:2px;
  text-align:center;
}
.entry-cta-cards article>a strong{
  font:800 14px "Noto Serif JP",serif;
  letter-spacing:.04em;
  white-space:nowrap;
}
.entry-cta-cards article>a small{
  color:#557a70;
  font:700 9px "Noto Sans JP",sans-serif;
  letter-spacing:.04em;
}
.entry-cta-cards article>a:hover{
  background:#fff8ea;
}
.entry-cta-note{
  padding-top:7px;
  padding-bottom:9px;
  color:rgba(255,255,255,.82);
}
.entry-cta-note::before{
  color:#c1dbd1;
}
@media(max-width:900px){
  .entry-cta{
    padding-top:16px;
    padding-bottom:16px;
  }
  .entry-cta-cards article{height:215px;min-height:215px}
  .entry-cta-copy{padding:16px 15px 4px}
  .entry-cta-copy h3{min-height:54px;margin-top:8px}
  .entry-cta-cards article>a{height:50px;min-height:50px;padding-right:22px;padding-left:22px}
  .entry-cta-cards article>a strong{font-size:11.5px}
  .entry-cta-cards article>a small{font-size:8px}
}
@media(max-width:560px){
  .entry-cta-cards article{height:205px;min-height:205px}
  .entry-cta-cards article>a strong{font-size:10.5px;letter-spacing:0}
}

/* CTA background comparison variants */
.cta-bg-charcoal .entry-cta{
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.07),transparent 42%),
    linear-gradient(135deg,#242a2c 0%,#3b4141 52%,#22282a 100%);
}
.cta-bg-charcoal .entry-cta-cards article{
  border-color:rgba(255,255,255,.16);
  background:rgba(25,30,31,.72);
}
.cta-bg-charcoal .entry-cta-cards figure::after{
  background:linear-gradient(90deg,rgba(35,40,41,.1) 0%,rgba(35,40,41,.38) 60%,rgba(25,30,31,.88) 100%);
}
.cta-bg-navy .entry-cta{
  background:
    radial-gradient(circle at 50% 0,rgba(100,151,180,.14),transparent 42%),
    linear-gradient(135deg,#0a2030 0%,#17384d 52%,#091d2c 100%);
}
.cta-bg-navy .entry-cta-cards article{
  border-color:rgba(210,228,238,.18);
  background:rgba(6,29,44,.74);
}
.cta-bg-navy .entry-cta-cards figure::after{
  background:linear-gradient(90deg,rgba(7,31,46,.1) 0%,rgba(7,31,46,.38) 60%,rgba(6,29,44,.9) 100%);
}

/* Desktop navigation dropdowns, matching the reference site's hover behavior. */
@media(min-width:901px){
  .site-header .main-nav>.nav-dropdown{
    position:relative;
  }
  .site-header .main-nav>.nav-dropdown>a{
    display:grid;
    gap:6px;
    padding:3px 0 8px;
  }
  .site-header .main-nav>.nav-dropdown>a>span{
    font-size:20px;
    font-weight:600;
  }
  .site-header .main-nav>.nav-dropdown>a>small{
    color:rgba(255,255,255,.58);
    font:500 10px/1 var(--latin);
    letter-spacing:.18em;
  }
  .site-header .nav-dropdown-menu{
    position:absolute;
    top:calc(100% + 16px);
    left:50%;
    display:grid;
    width:280px;
    padding:12px 0;
    background:rgba(7,24,39,.97);
    border:1px solid rgba(255,255,255,.16);
    border-radius:16px;
    box-shadow:0 22px 55px rgba(0,0,0,.3);
    backdrop-filter:blur(16px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,10px);
    transition:opacity .22s ease,transform .28s ease,visibility .22s;
  }
  .site-header .nav-dropdown-menu::before{
    content:"";
    position:absolute;
    right:0;
    bottom:100%;
    left:0;
    height:18px;
  }
  .site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header .nav-dropdown:focus-within .nav-dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
  }
  .site-header .nav-dropdown-menu>a{
    position:relative;
    display:block;
    padding:13px 22px 13px 38px;
    color:rgba(255,255,255,.82);
    border-bottom:1px solid rgba(255,255,255,.1);
    border-left:2px solid transparent;
    font:500 13px/1.45 var(--sans);
    text-align:left;
    transition:color .2s ease,background .2s ease,border-color .2s ease,padding-left .2s ease;
  }
  .site-header .nav-dropdown-menu>a:last-child{
    border-bottom:0;
  }
  .site-header .nav-dropdown-menu>a::before{
    content:"・";
    position:absolute;
    top:50%;
    left:20px;
    color:#d2b574;
    font-size:15px;
    line-height:1;
    transform:translateY(-52%);
  }
  .site-header .nav-dropdown-menu>a:hover,
  .site-header .nav-dropdown-menu>a:focus-visible{
    padding-left:43px;
    color:#fff;
    background:rgba(255,255,255,.08);
    border-left-color:#bfa36a;
    outline:0;
  }
}

/* Keep every desktop primary-navigation item the same size. */
@media(min-width:901px){
  .site-header .main-nav{
    gap:clamp(14px,2vw,34px);
  }
  .site-header .main-nav>a,
  .site-header .main-nav>.nav-dropdown{
    width:104px;
    min-width:104px;
    height:54px;
    flex:0 0 104px;
  }
  .site-header .main-nav>a,
  .site-header .main-nav>.nav-dropdown>a{
    width:100%;
    height:54px;
    display:grid;
    align-content:start;
    justify-items:center;
    gap:6px;
    padding:3px 6px 8px;
    text-align:center;
  }
  .site-header .main-nav>a>span,
  .site-header .main-nav>.nav-dropdown>a>span{
    font-size:20px;
    font-weight:600;
    line-height:1.2;
    white-space:nowrap;
  }
  .site-header .main-nav>a>small,
  .site-header .main-nav>.nav-dropdown>a>small{
    font-size:10px;
    line-height:1;
    white-space:nowrap;
  }
}
@media(max-width:900px){
  .site-header .nav-dropdown-menu{display:none}
}

/* Unified rounded corners for every button-style control on the home page. */
.menu-button,
.entry-cta-cards article>a,
.feature-panel a,
.compare-signatures>a,
.our-mission-copy>a,
.speed-diagnosis-inner>a,
.consulting-services-link,
.news-results-more,
.media-grid article>a,
.view-all,
.faq-view-all,
.contact-quick-check>a,
.contact-section .contact-actions>a{
  border-radius:14px;
}
.service-card{
  overflow:hidden;
  border-radius:20px;
}
.service-card>a{
  border-radius:0;
}
.mobile-cta{
  overflow:hidden;
  border-radius:16px 16px 0 0;
}
@media(max-width:900px){
  .menu-button{border-radius:12px}
}

/* Horizontal service slider */
.service-showcase{
  display:block;
  width:100vw;
  margin:20px 0 0 50%;
  overflow:hidden;
  transform:translateX(-50%);
}
.service-card-stack{
  position:relative;
  z-index:20;
  display:flex;
  gap:22px;
  padding:18px max(24px,calc((100vw - 1280px)/2)) 28px;
  overflow-x:auto;
  overflow-y:hidden;
  isolation:isolate;
  scroll-behavior:smooth;
  scroll-padding-inline:max(24px,calc((100vw - 1280px)/2));
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.service-card-stack::-webkit-scrollbar{display:none}
.service-card{
  position:relative;
  top:auto;
  z-index:1;
  flex:0 0 min(1280px,calc(100vw - 56px));
  height:clamp(560px,72vh,720px);
  margin:0;
  scroll-snap-align:center;
  scroll-snap-stop:always;
}
.service-card li{opacity:1;transform:none}
.service-slider-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:2px 24px 44px;
}
.service-slider-controls button{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  color:#003236;
  background:#fff;
  border:1px solid rgba(0,50,54,.24);
  border-radius:50%;
  font-size:20px;
  cursor:pointer;
  transition:color .25s ease,background .25s ease,transform .25s ease,opacity .25s ease;
}
.service-slider-controls button:hover:not(:disabled){
  color:#fff;
  background:#003236;
  transform:translateY(-2px);
}
.service-slider-controls button:disabled{opacity:.28;cursor:default}
.service-slider-controls p{
  min-width:78px;
  margin:0;
  color:#003236;
  font-family:var(--latin);
  text-align:center;
}
.service-slider-controls strong{font-size:24px;font-weight:600}
.service-slider-controls span{margin-left:6px;color:#7c8884;font-size:11px}
@media(max-width:900px){
  .service-showcase{width:100vw}
  .service-card-stack{gap:14px;padding:10px 12px 20px;scroll-padding-inline:12px}
  .service-card{
    flex-basis:calc(100vw - 38px);
    height:540px;
    grid-template-columns:minmax(0,1fr) 54px;
  }
  .service-slider-controls{gap:16px;padding-bottom:32px}
  .service-slider-controls button{width:46px;height:46px}
}

/* Finished button treatment for the four links highlighted in review. */
.compare-signatures>a,
.news-results-more,
.view-all{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:58px;
  align-items:center;
  padding:16px 52px 16px 22px;
  color:#003236;
  background:rgba(255,255,255,.74);
  border:1px solid #003236;
  border-radius:16px;
  box-shadow:0 7px 18px rgba(0,50,54,.06);
  transition:
    color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1);
}
.compare-signatures>a::before,
.news-results-more::before,
.view-all::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:#003236;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.compare-signatures>a b,
.news-results-more span,
.view-all span{
  right:20px;
  transition:transform .45s cubic-bezier(.22,1,.36,1),color .35s ease;
}
.compare-signatures>a:hover,
.compare-signatures>a:focus-visible,
.news-results-more:hover,
.news-results-more:focus-visible,
.view-all:hover,
.view-all:focus-visible{
  color:#fff;
  border-color:#003236;
  box-shadow:0 15px 30px rgba(0,50,54,.18);
  outline:0;
  transform:translateY(-3px);
}
.compare-signatures>a:hover::before,
.compare-signatures>a:focus-visible::before,
.news-results-more:hover::before,
.news-results-more:focus-visible::before,
.view-all:hover::before,
.view-all:focus-visible::before{
  transform:scaleX(1);
}
.compare-signatures>a:hover b,
.compare-signatures>a:focus-visible b{
  transform:translate(5px,-5px);
}
.news-results-more:hover span,
.news-results-more:focus-visible span,
.view-all:hover span,
.view-all:focus-visible span{
  transform:translateX(7px);
}
@media(prefers-reduced-motion:reduce){
  .compare-signatures>a,
  .news-results-more,
  .view-all,
  .compare-signatures>a::before,
  .news-results-more::before,
  .view-all::before,
  .compare-signatures>a b,
  .news-results-more span,
  .view-all span{
    transition:none;
  }
}

/* Audience CTA rebuilt from the approved regaxia-factoring.jp reference. */
.audience-cta{
  position:relative;
  overflow:hidden;
  padding:36px 0;
  background:#084d44;
  animation:audienceCtaEntrance .8s 3.15s cubic-bezier(.22,1,.36,1);
}
@keyframes audienceCtaEntrance{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:none}
}
.audience-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 120%,rgba(200,150,62,.14),transparent 60%);
  pointer-events:none;
}
.audience-cta-container{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  width:min(960px,100%);
  margin:0 auto;
  padding:0 24px;
}
.audience-cta-card{
  position:relative;
  min-width:300px;
  flex:1;
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px 22px;
  overflow:hidden;
  color:#fff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,30,34,.08);
  transition:
    background .25s ease,
    border-color .25s ease,
    box-shadow .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1);
}
.audience-cta-illustration{
  width:92px;
  height:92px;
  flex:0 0 auto;
  display:block;
  overflow:hidden;
  border:2px solid rgba(200,150,62,.65);
  border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.audience-cta-illustration img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 32%;
  transform:scale(1.15);
  transition:transform .55s cubic-bezier(.22,1,.36,1);
}
.audience-cta-card:nth-child(2) .audience-cta-illustration{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:inherit;
  box-shadow:none;
}
.audience-cta-card:nth-child(2) .audience-cta-illustration img{
  opacity:1;
  object-position:center 48%;
  transform:scale(1);
}
.audience-cta-card:nth-child(2)::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(5,55,50,.82) 0%,rgba(5,55,50,.68) 48%,rgba(5,55,50,.4) 100%);
  pointer-events:none;
}
.audience-cta-card:nth-child(2) .audience-cta-column{
  position:relative;
  z-index:2;
  margin-left:0;
}
.audience-cta-card:nth-child(2):hover .audience-cta-illustration img,
.audience-cta-card:nth-child(2):focus-visible .audience-cta-illustration img{
  transform:scale(1.06);
}
.audience-cta-column{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.audience-cta-label{
  color:#fff;
  font-size:14.5px;
  font-weight:700;
  line-height:1.5;
}
.audience-cta-service{
  display:block;
  margin-top:2px;
  color:#e4c071;
  font:700 11.5px/1.4 var(--latin);
  letter-spacing:.12em;
}
.audience-cta-button{
  width:100%;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  color:#fff;
  background:linear-gradient(135deg,#dbad55 0%,#c8963e 55%,#b5852f 100%);
  border-radius:10px;
  box-shadow:0 4px 14px rgba(200,150,62,.4),inset 0 1px 0 rgba(255,255,255,.35);
  font-size:20px;
  font-weight:800;
  line-height:1;
  text-align:center;
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,filter .3s ease;
}
.audience-cta-arrow{
  margin-left:6px;
  font-size:14px;
  opacity:.9;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.audience-cta-ribbon{
  position:relative;
  align-self:flex-start;
  padding:4px 16px 4px 12px;
  color:#084d44;
  background:linear-gradient(135deg,#f2dcac,#e4c071);
  border-radius:3px 0 0 3px;
  clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%);
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}
.audience-cta-card:hover,
.audience-cta-card:focus-visible{
  background:rgba(255,255,255,.09);
  border-color:rgba(200,150,62,.5);
  box-shadow:0 18px 42px rgba(0,25,29,.24);
  outline:0;
  transform:translateY(-4px);
}
.audience-cta-card:hover .audience-cta-illustration img,
.audience-cta-card:focus-visible .audience-cta-illustration img{
  transform:scale(1.22);
}
.audience-cta-card:hover .audience-cta-button,
.audience-cta-card:focus-visible .audience-cta-button{
  filter:saturate(1.08) brightness(1.04);
  box-shadow:0 8px 22px rgba(200,150,62,.55),inset 0 1px 0 rgba(255,255,255,.35);
  transform:translateY(-2px);
}
.audience-cta-card:hover .audience-cta-arrow,
.audience-cta-card:focus-visible .audience-cta-arrow{
  transform:translateX(6px);
}
.audience-cta.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1);
}
.audience-cta.reveal.is-visible{
  opacity:1;
  transform:none;
}
@media(max-width:760px){
  .audience-cta{padding:30px 0}
  .audience-cta-container{flex-direction:column;gap:16px;padding:0 18px}
  .audience-cta-card{width:100%;min-width:0;padding:18px;gap:14px}
  .audience-cta-illustration{width:72px;height:72px}
  .audience-cta-button{height:52px;font-size:18px}
}
@media(max-width:390px){
  .audience-cta-card{padding:15px;gap:12px}
  .audience-cta-illustration{width:64px;height:64px}
  .audience-cta-label{font-size:12.5px}
  .audience-cta-service{font-size:10.5px}
  .audience-cta-button{height:48px;font-size:16px}
  .audience-cta-ribbon{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
  .audience-cta.reveal{
    opacity:1;
    transform:none;
  }
  .audience-cta,
  .audience-cta-card,
  .audience-cta-illustration img,
  .audience-cta-button,
  .audience-cta-arrow{
    animation:none;
    transition:none;
  }
}

/* Split-panel CTA inspired by the supplied green / light-gray reference. */
.audience-cta{
  padding:28px 0 0;
  background:#f2f3f1;
}
.audience-cta-proof{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  color:#fff;
  background:linear-gradient(110deg,#064c3e,#18314a);
  border-top:1px solid rgba(255,255,255,.15);
}
.audience-cta-proof div{
  display:grid;
  place-items:center;
  min-height:76px;
  padding:12px 18px;
  border-right:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.audience-cta-proof div:nth-child(-n+2),
.audience-cta-proof div:nth-child(n+3){
  color:#fff;
  background:transparent;
  border-right-color:rgba(255,255,255,.15);
}
.audience-cta-proof div:last-child{border-right:0}
.audience-cta-proof strong{
  color:#fff;
  font:600 clamp(17px,1.45vw,23px)/1.2 var(--serif);
}
.audience-cta-proof span{
  margin-top:5px;
  color:inherit;
  font-size:10px;
  letter-spacing:.08em;
  opacity:.7;
}
.audience-cta::before{display:none}
.audience-cta-container{
  width:min(1180px,calc(100% - 48px));
  max-width:1180px;
  gap:14px;
  margin:0 auto;
  padding:0;
}
@media(max-width:760px){
  .audience-cta{padding-top:18px}
}
.audience-cta-card{
  min-height:190px;
  justify-content:center;
  padding:12px 8% 58px;
  border:0;
  border-radius:20px;
  box-shadow:none;
  font-family:var(--serif);
}
.audience-cta-card .audience-cta-column{gap:4px}
.audience-cta-card .audience-cta-label{font-size:12px}
.audience-cta-card .audience-cta-service{font-size:18px}
.audience-cta-card .audience-cta-line-icon{width:24px;height:24px}
.audience-cta-card:first-child{
  color:#fff;
  background:#0b7658;
}
.audience-cta-card:first-child .audience-cta-illustration{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  border:0;
  border-radius:inherit;
  box-shadow:none;
}
.audience-cta-card:first-child .audience-cta-illustration img{
  opacity:1;
  object-position:center 48%;
  transform:scale(1);
}
.audience-cta-card:first-child::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(5,77,57,.85),rgba(5,77,57,.62));
  pointer-events:none;
}
.audience-cta-card:nth-child(2){
  color:#fff;
  background:transparent;
}
.audience-cta-card:nth-child(2)::before{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(5,77,57,.85),rgba(5,77,57,.62));
  pointer-events:none;
}
.audience-cta-column{
  position:relative;
  z-index:2;
  max-width:430px;
  align-items:center;
  gap:6px;
  text-align:center;
  transform:translateY(2px);
}
.audience-cta-line-icon{
  width:30px;
  height:30px;
  display:block;
  margin-bottom:1px;
}
.audience-cta-line-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.audience-cta-label{
  color:inherit;
  font-size:15px;
  line-height:1.4;
}
.audience-cta-service{
  margin-top:2px;
  color:inherit;
  font-family:var(--sans);
  font-size:21px;
  font-weight:600;
  letter-spacing:.04em;
}
.audience-cta-button{
  position:relative;
  overflow:hidden;
  min-width:min(330px,100%);
  width:auto;
  min-height:46px;
  gap:12px;
  justify-content:center;
  padding:8px 10px 8px 20px;
  color:#fff;
  background:linear-gradient(135deg,#071827 0%,#102b40 100%);
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  box-shadow:0 9px 24px rgba(0,20,25,.25),inset 0 1px 0 rgba(255,255,255,.62);
  font-family:var(--serif);
  font-size:13px;
  font-weight:700;
  letter-spacing:.03em;
  text-shadow:0 1px 0 rgba(0,0,0,.24);
  transition:transform .32s ease,box-shadow .32s ease,filter .32s ease;
}
.audience-cta-button::before{
  content:"";
  position:absolute;
  top:-70%;
  left:-30%;
  width:22%;
  height:240%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  transform:rotate(20deg);
  animation:audienceCtaShine 3.8s ease-in-out infinite;
}
.audience-cta-arrow{
  position:relative;
  z-index:1;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  color:#071827;
  background:#fff;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
}
.audience-cta-ribbon{
  align-self:center;
  padding:0;
  color:inherit;
  background:transparent;
  border:0;
  border-radius:0;
  clip-path:none;
  font-family:var(--serif);
  font-size:12px;
  font-weight:600;
}
.audience-cta-trust{
  color:inherit;
  font-family:var(--serif);
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em;
  opacity:.9;
}
.audience-cta-notes{
  position:absolute;
  z-index:3;
  right:18px;
  bottom:51px;
  left:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:min(360px,calc(100% - 36px));
  min-height:45px;
  margin:0 auto;
  padding:5px 16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.55);
  border-radius:14px;
  backdrop-filter:blur(4px);
}
.audience-cta-card:nth-child(2) .audience-cta-ribbon{
  background:transparent;
  border:0;
}
.audience-cta-card:nth-child(2) .audience-cta-notes{
  background:transparent;
  border-color:rgba(255,255,255,.55);
}
.audience-cta-metrics{
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  left:0;
  min-height:48px;
  display:grid;
  grid-template-columns:minmax(260px,420px);
  justify-content:center;
  align-items:center;
  color:#fff;
  background:transparent;
  border:0;
  backdrop-filter:none;
}
.audience-cta-metrics>span{
  display:grid;
  gap:2px;
  place-items:center;
  padding:7px 10px;
  text-align:center;
}
.audience-cta-metrics>.audience-cta-notes{
  position:static;
  width:100%;
  min-height:38px;
  margin:0;
  padding:3px 10px;
  gap:1px;
  border-radius:12px;
  transform:translateY(-6px);
}
.audience-cta-metrics strong{
  font:600 clamp(15px,1.25vw,20px)/1.1 var(--serif);
}
.audience-cta-metrics small{
  font:500 9px/1.2 var(--serif);
  letter-spacing:.06em;
  opacity:.72;
}
.audience-cta-card:nth-child(2) .audience-cta-metrics{
  color:#fff;
  background:transparent;
  border:0;
}
@keyframes audienceCtaShine{
  0%,55%{left:-30%;opacity:0}
  63%{opacity:1}
  82%,100%{left:120%;opacity:0}
}
.audience-cta-card:hover,
.audience-cta-card:focus-visible{
  border-color:transparent;
  box-shadow:none;
  transform:none;
}
.audience-cta-card:first-child:hover,
.audience-cta-card:first-child:focus-visible{
  background:#096d52;
}
.audience-cta-card:first-child:hover .audience-cta-illustration img,
.audience-cta-card:first-child:focus-visible .audience-cta-illustration img{
  transform:scale(1.06);
}
.audience-cta-card:hover .audience-cta-button,
.audience-cta-card:focus-visible .audience-cta-button{
  filter:saturate(1.08) brightness(1.04);
  box-shadow:0 13px 30px rgba(0,20,25,.38),inset 0 1px 0 rgba(255,255,255,.28);
  transform:translateY(-3px) scale(1.015);
}
.audience-cta-card:hover .audience-cta-arrow,
.audience-cta-card:focus-visible .audience-cta-arrow{
  color:#071827;
  background:#e9efef;
  border-color:#e9efef;
  transform:translateX(6px);
}
@media(max-width:760px){
  .audience-cta-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audience-cta-proof div{min-height:64px;padding:9px 12px}
  .audience-cta-proof div:nth-child(2){border-right:0}
  .audience-cta-proof div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}
  .audience-cta-proof div:nth-child(3){border-right:1px solid rgba(255,255,255,.15)}
  .audience-cta-container{width:min(100% - 28px,680px);gap:14px;padding:0}
  .audience-cta-card{min-height:190px;padding:10px 24px 56px}
  .audience-cta-service{font-size:18px}
  .audience-cta-column{transform:translateY(0)}
  .audience-cta-notes{right:12px;left:12px}
  .audience-cta-metrics{grid-template-columns:minmax(240px,360px)}
  .audience-cta-metrics>.audience-cta-notes{right:auto;left:auto}
}
@media(max-width:390px){
  .audience-cta-container{width:calc(100% - 20px);padding:0}
  .audience-cta-card{min-height:185px;padding:8px 18px 54px}
  .audience-cta-label{font-size:11px}
  .audience-cta-service{font-size:17px}
  .audience-cta-button{min-width:100%;min-height:43px;padding-left:14px;font-size:11px}
  .audience-cta-column{transform:translateY(-2px)}
  .audience-cta-metrics{min-height:46px}
  .audience-cta-metrics strong{font-size:14px}
  .audience-cta-notes{bottom:48px;gap:2px;min-height:47px;padding:4px 10px}
  .audience-cta-trust,.audience-cta-ribbon{font-size:9px;white-space:nowrap}
  .audience-cta-ribbon{padding:0}
  .audience-cta-metrics{grid-template-columns:minmax(220px,320px)}
  .audience-cta-metrics>.audience-cta-notes{bottom:auto;min-height:40px;padding:3px 4px}
  .audience-cta-metrics>.audience-cta-notes{transform:translateY(-4px)}
}

/* Completed philosophy CTA: full rounded border and premium hover motion. */
.our-mission-copy>a{
  isolation:isolate;
  overflow:hidden;
  width:310px;
  min-height:58px;
  margin-top:42px;
  padding:16px 52px 16px 22px;
  color:#fff;
  background:rgba(3,28,33,.28);
  border:1px solid rgba(255,255,255,.72);
  border-radius:16px;
  box-shadow:0 10px 26px rgba(0,0,0,.13);
  transition:
    color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease,
    transform .35s cubic-bezier(.22,1,.36,1);
}
.our-mission-copy>a::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(135deg,#e0b55b,#bf8f38);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.our-mission-copy>a span{
  right:20px;
  color:#e4c071;
  transition:color .35s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.our-mission-copy>a:hover,
.our-mission-copy>a:focus-visible{
  width:310px;
  color:#082f2d;
  border-color:#e4c071;
  box-shadow:0 17px 34px rgba(0,0,0,.24),0 0 24px rgba(200,150,62,.18);
  outline:0;
  transform:translateY(-3px);
}
.our-mission-copy>a:hover::before,
.our-mission-copy>a:focus-visible::before{
  transform:scaleX(1);
}
.our-mission-copy>a:hover span,
.our-mission-copy>a:focus-visible span{
  color:#082f2d;
  transform:translate(5px,-5px);
}
@media(max-width:560px){
  .our-mission-copy>a,
  .our-mission-copy>a:hover,
  .our-mission-copy>a:focus-visible{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .our-mission-copy>a,
  .our-mission-copy>a::before,
  .our-mission-copy>a span{
    transition:none;
  }
}

/* CTA copy cleanup: keep the remaining content visually centered after removing notes. */
.audience-cta-card{
  min-height:170px;
  padding:14px 8%;
}
.audience-cta-card .audience-cta-column{
  transform:none;
}
@media(max-width:760px){
  .audience-cta-card{
    min-height:170px;
    padding:14px 24px;
  }
}
@media(max-width:390px){
  .audience-cta-card{
    min-height:165px;
    padding:12px 18px;
  }
  .audience-cta-column{
    transform:none;
  }
}

/* CONTACT secondary actions: improve legibility without changing the button layout. */
.contact-section .contact-actions>a{
  font-size:16px;
  line-height:1.5;
  letter-spacing:.02em;
}
@media(max-width:900px){
  .contact-section .contact-actions>a{
    font-size:15px;
  }
}
@media(max-width:560px){
  .contact-section .contact-actions>a{
    font-size:14px;
  }
}

/* Audience CTA: add a little breathing room above both primary buttons. */
.audience-cta-card .audience-cta-button{
  margin-top:8px;
}
.audience-cta-card{
  min-height:190px;
}
.audience-cta-limit{
  display:block;
  margin-top:3px;
  color:#fff;
  font:600 11px/1.4 var(--serif);
  letter-spacing:.03em;
  text-align:center;
}
@media(max-width:560px){
  .audience-cta-card .audience-cta-button{
    margin-top:6px;
  }
  .audience-cta-card{
    min-height:184px;
  }
  .audience-cta-limit{
    font-size:10px;
  }
}
