@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Noto+Serif+JP:wght@500;600;700&display=swap');
:root{--ink:#12356a;--ink-hover:#194a8f;--text:#25374d;--muted:#52637b;--sky:#e8f1fc;--line:#cfdbec;--paper:#f6f9fd;--accent:#2878d5;--blue:#0864c8;font-family:'Noto Sans JP',sans-serif;color:var(--text);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:106px}
*{box-sizing:border-box}body{margin:0;background:#fff}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p,dl{margin:0}section[id]{scroll-margin-top:106px}::selection{background:#cce3ff}button{cursor:pointer}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:10px;left:10px;padding:16px;z-index:150;background:#fff;color:var(--ink)}
.site-header{height:100px;padding:0 4.7%;display:flex;align-items:center;justify-content:space-between;gap:32px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:100;border-bottom:1px solid #12356a14}.brand{display:inline-flex;flex-direction:column;flex-shrink:0;gap:7px}.brand-word{font-family:Arial,sans-serif;font-size:33px;font-weight:800;letter-spacing:-1.7px;line-height:1}.brand-word>span:nth-child(1){color:#007fff}.brand-word>span:nth-child(2){color:#ad8700}.brand-word>span:nth-child(3){color:#e53535}.brand-word .brand-partner{margin-left:5px;letter-spacing:-1.2px;color:var(--ink);font-size:23px}.brand-caption{font-size:9px;letter-spacing:.17em;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,40px);font-size:12px;font-weight:600}.main-nav>a{position:relative;padding:12px 0}.main-nav>a:after{content:'';position:absolute;height:1px;background:var(--ink);left:0;right:0;bottom:4px;transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav>a:hover:after{transform:scaleX(1)}.main-nav .nav-contact{background:var(--ink);color:white;padding:16px 20px;display:flex;gap:28px}.nav-contact:after{display:none}.nav-contact:hover{background:var(--ink-hover)}.menu-toggle{display:none}
.hero{padding:48px 4.7% 0;max-width:1680px;margin:auto}.hero-intro{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.13em;display:flex;align-items:center;gap:11px;line-height:1.5}.eyebrow i{display:block;width:7px;height:7px;border-radius:50%;background:var(--accent)}.hero-index,.section-no{font:10px Arial,sans-serif;letter-spacing:.11em;color:var(--muted)}.hero-heading{margin:30px 0 12px;height:clamp(150px,15vw,224px);overflow:hidden}.hero-handwriting{width:100%;height:100%;object-fit:cover;object-position:center 36%}.hero-mobile-copy{display:none}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 3.4% 36px}.hero-bottom>p{font-size:14px;font-weight:500;line-height:2.1;letter-spacing:.06em}.scroll-link{display:flex;align-items:center;gap:30px;font:9px Arial,sans-serif;letter-spacing:.13em}.round-arrow{width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;font-size:18px;transition:transform .3s}.scroll-link:hover .round-arrow{transform:translateY(4px)}.hero-visual{height:clamp(340px,39vw,570px);position:relative;overflow:hidden;background:var(--sky)}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a2555a6,transparent 75%)}.visual-label{position:absolute;z-index:1;left:5%;bottom:12%;color:white;display:flex;flex-direction:column;gap:20px}.visual-label>span{font:600 clamp(30px,4vw,58px)/1.12 Arial,sans-serif;letter-spacing:-.035em}.visual-label small{font-size:11px;letter-spacing:.12em}.visual-stamp{position:absolute;right:4%;bottom:4%;z-index:1;font:italic 150px/.9 Georgia,serif;color:#fff8}
.section-pad{padding:110px 8%;max-width:1680px;margin:auto}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px}h2{font-size:clamp(29px,3.1vw,44px);font-weight:600;letter-spacing:.055em;line-height:1.65}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-sign{font-size:14px;line-height:2.2;letter-spacing:.07em;margin-top:38px;color:var(--muted)}.body-copy{font-size:14px;line-height:2.35;letter-spacing:.025em}.body-copy p+p{margin-top:22px}.body-copy strong{font-weight:700;color:var(--ink)}.text-link{display:flex;align-items:center;justify-content:space-between;max-width:290px;padding:18px 0;border-bottom:1px solid var(--ink);font-size:12px;font-weight:600;margin-top:25px}.text-link>span{font-size:21px;transition:transform .2s}.text-link:hover>span{transform:translate(3px,-3px)}.values{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.values article{border-top:1px solid var(--line);padding-top:25px}.value-number{font:11px Arial,sans-serif;color:var(--muted)}.values h3{font-size:23px;letter-spacing:.04em;font-weight:600;margin:20px 0 14px}.values p{font-size:12px;line-height:2.1;color:var(--muted);max-width:300px}
.business{max-width:none;background:var(--sky);padding-left:max(8%,calc((100vw - 1411px)/2));padding-right:max(8%,calc((100vw - 1411px)/2))}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:8%;margin-bottom:54px}.section-heading-row>p{font-size:13px;line-height:2.2;letter-spacing:.035em;max-width:400px}.business-list{border-top:1px solid var(--line)}.business-list>a{display:grid;grid-template-columns:55px 225px 1fr 30px;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:31px 12px;transition:padding .25s,background .25s}.business-list>a:hover{background:rgba(255,255,255,.5);padding-left:22px}.business-num{font:11px Arial,sans-serif;color:var(--muted)}.business-list h3{font-size:22px;letter-spacing:.07em;font-weight:600}.business-description{font-size:12px;line-height:1.9;color:var(--muted)}.business-arrow{font-size:24px}
.services{padding-bottom:120px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{position:relative;overflow:hidden;padding:30px 36px 28px;min-height:442px;display:flex;flex-direction:column;transition:transform .3s}.service-card:hover{transform:translateY(-5px)}.service-inherit{background:#f2f1e9}.service-loan{background:#eaf1f5}.service-map{background:#e7edf9}.service-zero{background:#f5ece5}.service-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;font:10px Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}.service-arrow{height:34px;width:34px;border:1px solid #9fb4d0;border-radius:50%;display:grid;place-items:center;font-size:19px}.service-wordmark{position:relative;z-index:1;margin:78px 0 25px;font:700 39px/1.1 Georgia,serif;letter-spacing:-.04em;color:#665029}.service-wordmark em{font-style:normal;font-weight:400}.service-loan .service-wordmark{color:#227ca6}.service-map .service-wordmark{color:#314f87}.service-zero .service-wordmark{color:#c57740}.service-wordmark small{display:block;margin-top:10px;font:10px 'Noto Sans JP',sans-serif;letter-spacing:.12em}.service-card h3{position:relative;z-index:1;font-size:20px;font-weight:600;line-height:1.6;letter-spacing:.025em}.service-card>p{position:relative;z-index:1;max-width:345px;font-size:12px;line-height:2;color:var(--muted);margin-top:12px}.service-open{position:relative;z-index:1;margin-top:auto;padding-top:24px;font-size:11px;display:flex;gap:15px;align-items:center}.service-art{position:absolute;right:18px;top:90px;width:160px;height:130px;opacity:.53;transition:transform .6s}.service-card:hover .service-art{transform:rotate(8deg)}.orbit{position:absolute;width:94px;height:94px;border:1px solid #ad9762;border-radius:50%}.orbit-a{left:25px;top:0}.orbit-b{left:0;top:43px}.orbit-c{left:50px;top:43px}.loan-art{display:flex;align-items:flex-end;gap:12px;padding:12px 30px}.loan-art>div{width:26px;background:#aacbdf;border:1px solid #75acc9}.loan-art>div:nth-child(1){height:50px}.loan-art>div:nth-child(2){height:84px}.loan-art>div:nth-child(3){height:117px}.map-grid{position:absolute;inset:0;background:linear-gradient(25deg,transparent 46%,#7699d2 47%,#7699d2 48%,transparent 49%),repeating-linear-gradient(90deg,transparent 0 28px,#a4b9dc 29px 30px),repeating-linear-gradient(0deg,transparent 0 28px,#a4b9dc 29px 30px);transform:rotate(-15deg)}.map-art>span{position:absolute;left:75px;top:35px;color:#2e5b9d;font-size:30px}.zero-art>span{position:absolute;right:15px;top:-35px;font:180px/1 Georgia,serif;color:#dbc1a7}.zero-art>i{position:absolute;left:45px;top:12px;font-size:80px;font-style:normal;color:#cc9461}
.journal{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;background:var(--paper);overflow:hidden}.journal h2{margin-top:30px}.journal-copy>p:not(.eyebrow){font-size:13px;line-height:2.3;margin-top:25px;color:var(--muted)}.button{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:22px 26px;font-size:13px;font-weight:600;line-height:1.5;transition:background .25s,transform .25s}.button>span{font-size:22px}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white;max-width:275px;margin-top:35px}.button-dark:hover{background:var(--ink-hover)}.journal-visual{height:375px;position:relative;display:grid;place-items:center}.journal-paper{position:relative;z-index:2;width:230px;height:300px;background:#fff;box-shadow:8px 15px 32px #16366414;transform:rotate(-9deg);padding:27px;border:1px solid var(--line)}.journal-paper>span:first-child{font:700 30px/1.05 Arial,sans-serif;letter-spacing:-.04em;color:var(--ink)}.paper-rule{height:2px;width:100%;background:var(--accent);margin:20px 0}.journal-paper>small{font:500 17px/1.8 'Noto Serif JP',serif;letter-spacing:.1em}.paper-mark{position:absolute;right:25px;bottom:22px;font:italic 52px Georgia,serif;color:#a0bde5}.journal-orbit{position:absolute;width:345px;height:345px;border-radius:50%;background:#dceafb}.journal-orbit:after{content:'';position:absolute;inset:-24px;border:1px solid var(--line);border-radius:50%}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.company-note{font-size:13px;line-height:2.3;color:var(--muted);margin-top:28px}.company-details>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:20px 0;font-size:12px;line-height:2.2}.company-details>div:first-child{padding-top:0}.company-details dt{color:var(--muted);font-size:11px}.company-details dd{margin:0}.company-details dd small{color:var(--muted);font-size:10px}.company-details a:hover{text-decoration:underline}.company-story{margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.company-story summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:22px 0;list-style:none;font-size:12px}.company-story summary::-webkit-details-marker{display:none}.company-story summary>span{font-size:20px}.company-story[open] summary>span{transform:rotate(45deg)}.company-story .body-copy{padding:15px 0 35px;max-width:860px;margin-left:auto}
.contact{max-width:none;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 360px;gap:8%;padding-left:max(8%,calc((100vw - 1411px)/2));padding-right:max(8%,calc((100vw - 1411px)/2))}.contact .eyebrow{color:#d8e9ff}.contact h2{font-size:clamp(27px,3vw,42px);margin-top:30px}.contact>div>p:not(.eyebrow){font-size:13px;line-height:2.3;color:#cadcf4;margin-top:25px}.contact-actions{display:flex;flex-direction:column;gap:14px;justify-content:center}.button-line{background:#fff;color:var(--ink)}.button-line:hover{background:var(--sky)}.button-outline{border:1px solid #819cc2;color:#fff}.button-outline:hover{background:var(--ink-hover)}.contact-phone{display:flex;flex-direction:column;align-items:center;margin-top:8px;gap:8px}.contact-phone small{font-size:10px;color:#cadcf4}.contact-phone>span{font:25px Arial,sans-serif;letter-spacing:.03em}.selected-topic{font-size:12px!important;color:#d6eaff!important}
.site-footer{padding:55px 4.7% 28px;max-width:1680px;margin:auto}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:40px}.back-to-top{font:9px Arial,sans-serif;letter-spacing:.12em;display:flex;align-items:center;gap:22px}.back-to-top>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:17px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:25px;border-top:1px solid var(--line)}.footer-bottom nav{display:flex;gap:25px;flex-wrap:wrap;font-size:10px}.footer-bottom>small{font:9px Arial,sans-serif;color:var(--muted)}
.privacy-page{max-width:850px;margin:60px auto 100px;padding:0 24px;line-height:2.2;font-size:14px}.privacy-page h1{font-size:32px;margin:40px 0}.privacy-page h2{font-size:20px;margin:32px 0 12px}.privacy-page a{color:var(--blue);text-decoration:underline}.privacy-page ul{padding-left:24px}
@media(min-width:1680px){.contact{padding-left:calc((100vw - 1411px)/2);padding-right:calc((100vw - 1411px)/2)}}
@media(max-width:1050px){.main-nav{gap:18px}.main-nav>a{font-size:11px}.main-nav .nav-contact{padding:14px;gap:15px}.brand-word{font-size:29px}.brand-word .brand-partner{font-size:20px}.section-pad{padding:85px 6%}.business-list>a{grid-template-columns:35px 180px 1fr 25px}.business-list h3{font-size:20px}.about-grid,.company-grid{gap:7%}.service-card{padding:25px;min-height:430px}.service-art{right:-5px;opacity:.35}.contact{grid-template-columns:1fr 320px;gap:6%}.company-details>div{grid-template-columns:110px 1fr;gap:10px}}
@media(max-width:760px){:root{scroll-padding-top:80px}.site-header{height:80px;padding:0 6%;gap:18px}.brand-word{font-size:29px}.brand-word .brand-partner{font-size:20px}.brand-caption{font-size:8px}.menu-toggle{display:flex;flex-direction:column;gap:7px;background:transparent;border:0;padding:12px 0 12px 12px;width:40px;height:40px;align-items:flex-end;justify-content:center}.menu-toggle>span:not(.sr-only){height:1px;width:27px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.main-nav{display:none;position:absolute;left:0;right:0;top:80px;background:white;padding:20px 6% 30px;border-bottom:1px solid var(--line);box-shadow:0 12px 14px #12356a0d;align-items:stretch}.main-nav.is-open{display:flex;flex-direction:column;gap:0}.main-nav>a{font-size:14px;padding:16px 0}.main-nav .nav-contact{padding:17px 20px;margin-top:12px}.hero{padding:30px 6% 0}.hero-index{display:none}.eyebrow{font-size:10px;letter-spacing:.1em}.hero-heading{height:auto;margin:30px 0}.hero-handwriting{display:none}.hero-mobile-copy{display:block;font-family:'Noto Serif JP',serif;font-size:clamp(33px,8vw,53px);font-weight:600;line-height:1.65;letter-spacing:.04em;color:var(--ink)}.hero-bottom{padding:0 0 30px;gap:15px;align-items:flex-end}.hero-bottom>p{font-size:11px;line-height:2.1;letter-spacing:0}.scroll-link{gap:0}.scroll-link>span:first-child{display:none}.round-arrow{width:38px;height:38px;flex:none}.hero-visual{height:340px;margin:0 -6.8%}.hero-visual>img{object-position:64% center}.visual-label{left:7%;bottom:11%}.visual-label>span{font-size:35px}.visual-label small{font-size:9px}.visual-stamp{font-size:110px}.section-pad{padding:65px 7%}.section-top{margin-bottom:33px}.section-no{font-size:8px}.about-grid,.company-grid{grid-template-columns:1fr;gap:32px}h2{font-size:29px;line-height:1.7;letter-spacing:.035em}.about-sign{margin-top:22px;font-size:12px}.body-copy{font-size:13px;line-height:2.3}.body-copy p+p{margin-top:20px}.values{grid-template-columns:1fr;gap:28px;margin-top:45px}.values article{display:grid;grid-template-columns:35px 1fr;column-gap:10px;padding-top:20px}.value-number{grid-row:1/3;padding-top:5px}.values h3{margin:0 0 10px;font-size:21px}.values p{max-width:none;font-size:12px}.section-heading-row{display:block;margin-bottom:35px}.section-heading-row>p{margin-top:22px;font-size:12px}.business-list>a{grid-template-columns:25px 1fr 22px;gap:8px 12px;padding:24px 0}.business-list h3{font-size:19px}.business-description{grid-column:2;grid-row:2;font-size:11px}.business-arrow{grid-column:3;grid-row:1/3;font-size:22px}.business-num{align-self:start;padding-top:7px;font-size:9px}.business-list>a:hover{padding-left:7px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px;min-height:410px}.service-wordmark{margin-top:66px;font-size:38px}.service-card h3{font-size:18px}.service-card>p{font-size:12px;max-width:100%}.service-art{opacity:.4;right:10px;top:65px}.service-open{padding-top:26px}.journal{grid-template-columns:1fr;gap:22px}.journal h2{margin-top:25px}.journal-copy>p:not(.eyebrow){font-size:12px}.journal-visual{height:320px}.journal-paper{width:200px;height:260px;padding:23px}.journal-paper>span:first-child{font-size:27px}.journal-paper>small{font-size:14px}.journal-orbit{width:280px;height:280px}.journal-orbit:after{inset:-15px}.company-note{font-size:12px;margin-top:20px}.company-details>div{grid-template-columns:105px 1fr;font-size:11px;gap:12px;padding:18px 0}.company-details dt{font-size:10px}.company-story{margin-top:35px}.company-story summary{font-size:11px;gap:15px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:27px;margin-top:25px}.contact>div>p:not(.eyebrow){font-size:12px;margin-top:20px}.contact-phone>span{font-size:25px}.site-footer{padding:40px 7% 25px}.footer-top{gap:25px;align-items:flex-start;padding-bottom:30px}.back-to-top{gap:0;font-size:0}.back-to-top>span{font-size:17px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:25px}.footer-bottom nav{gap:17px;font-size:9px}.footer-bottom>small{font-size:9px}.privacy-page{margin-top:35px;font-size:13px}.privacy-page h1{font-size:26px}.privacy-page h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Official vector logo supplied by the company. */
.brand-logo{display:block;width:175px;height:auto}
@media(max-width:760px){.brand-logo{width:150px}}

/* Keep the final grid in place while the photo opens over both columns. */
:root:has(.home-page){scroll-padding-top:104px}
.home-page{padding-top:18px}
.home-page section[id]{scroll-margin-top:0}
.home-page .site-header{
  height:84px;top:18px;margin-inline:4.7%;padding-inline:24px;
  box-shadow:0 5px 22px #12356a20;
}
.home-page .hero{
  --hero-min:clamp(590px,100svh,920px);
  --split-delay:4s;
  --split-duration:1s;
  container-type:inline-size;isolation:isolate;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  min-height:var(--hero-min);max-width:none;padding:0;margin-top:-102px;
}
.home-page .hero-visual{
  grid-area:1 / 1 / 2 / 3;z-index:1;width:50%;
  height:auto;min-height:var(--hero-min);margin:0;isolation:isolate;
  display:grid;align-items:center;justify-items:start;background:var(--ink);
}
.home-page .hero-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:60% center;
}
.home-page .hero-visual::after{
  z-index:0;background:linear-gradient(140deg,#0a2555cd,#164e9fa0 58%,#0d2d64b8);
}
.hero-art{position:relative;width:50cqi;padding:48px 3.5cqi;display:grid;place-items:center}
.hero-english{
  position:absolute;inset:0;display:grid;place-content:center;
  font:700 clamp(48px,7vw,125px)/.93 Arial,sans-serif;text-align:center;
  letter-spacing:-.075em;color:#a9ceff66;pointer-events:none;z-index:1;
}
.hero-title{position:relative;z-index:1;width:min(100%,680px);display:grid;justify-items:center;gap:9px;mix-blend-mode:screen}
.hero-ink{display:block;position:relative;overflow:hidden}
.hero-ink img{
  position:absolute;max-width:none;height:auto;top:-168.24%;
  filter:grayscale(1) invert(1) contrast(1.18) brightness(1.42);
}
.hero-ink-first{width:72%;aspect-ratio:639 / 170}
.hero-ink-first img{width:300.47%;left:-40.69%}
.hero-ink-second{width:96%;aspect-ratio:850 / 170}
.hero-ink-second img{width:225.88%;left:-104.82%}
.hero-image-caption,.motion-toggle{
  position:absolute;z-index:2;bottom:25px;color:#fff;
  font:600 10px/1.4 'Noto Sans JP',sans-serif;letter-spacing:.1em;
}
.hero-image-caption{left:26px}
.motion-toggle{right:24px;bottom:18px;border:1px solid #ffffff78;background:#102c58d6;border-radius:100px;padding:9px 13px}
.motion-toggle:hover,.motion-toggle:focus-visible{background:#102c58}
.hero-message{
  grid-area:1 / 2;position:relative;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  container-type:inline-size;padding:110px clamp(28px,6.1vw,116px) 58px;
  background:var(--paper);color:var(--ink);
}
.hero-lead{margin:29px 0 23px;font-size:clamp(24px,2.65vw,55px);font-size:clamp(21px,9cqi,55px);line-height:1.47;font-weight:650;letter-spacing:.025em}
.hero-description{font-size:clamp(12px,1.12vw,16px);line-height:2.3;letter-spacing:.025em;color:var(--muted)}
.hero-message .scroll-link{margin-top:45px;gap:18px;font-size:10px;font-weight:700}
.hero-message .round-arrow{color:var(--ink);border-color:#9fb4d0}
.hero-message .scroll-link:hover .round-arrow{background:var(--ink);color:#fff}
.hero-message .round-arrow{position:relative}
.hero-message .round-arrow::after{
  content:"";position:absolute;top:calc(100% + 7px);left:50%;width:1px;height:20px;
  background:currentColor;opacity:.6;transform-origin:top;
}

@media(prefers-reduced-motion:no-preference){
  .motion-opening .hero-visual::before{
    content:"";position:absolute;inset:0;background:var(--sky);z-index:3;
    pointer-events:none;transform-origin:left;
    animation:vivala-curtain 1.15s .18s cubic-bezier(.76,0,.24,1) both;
  }
  .motion-opening .hero-art{animation:vivala-copy-in .9s 2.35s cubic-bezier(.21,.61,.35,1) both}
  .motion-opening .hero-ink-first{animation:vivala-ink .78s 2.58s both}
  .motion-opening .hero-ink-second{animation:vivala-ink .88s 2.73s both}
  .motion-opening .hero-message>*{animation:vivala-rise .74s 4.25s both}
  .motion-opening .hero-message .hero-lead{animation-delay:4.33s}
  .motion-opening .hero-message .hero-description{animation-delay:4.41s}
  .motion-opening .hero-message .scroll-link{animation-delay:4.49s}
  .motion-opening .site-header{animation:vivala-nav-in .8s 4.15s cubic-bezier(.2,.75,.3,1) both}
  .motion-opening .round-arrow::after{animation:vivala-scroll-line .6s 4.67s both}
  .motion-enabled .hero-photo{transform:translateY(var(--hero-drift,0px)) scale(1.07)}
  .motion-opening .hero-photo{animation:vivala-photo 5s cubic-bezier(.2,.65,.3,1) both}
  .motion-enabled .reveal-pending{opacity:0;translate:0 20px}
  .motion-enabled .reveal-pending:focus-within,.motion-enabled .reveal-pending:target{opacity:1;translate:none}
  .motion-enabled .reveal-shown{animation:vivala-rise .65s cubic-bezier(.2,.7,.3,1) backwards;animation-delay:var(--reveal-delay,0ms)}
}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
  .motion-opening .hero-visual{
    animation:vivala-split var(--split-duration) var(--split-delay) cubic-bezier(.76,0,.24,1) both;
  }
}
@keyframes vivala-curtain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes vivala-split{from{width:100%}to{width:50%}}
@keyframes vivala-copy-in{from{opacity:0;translate:0 60px}to{opacity:1;translate:none}}
@keyframes vivala-nav-in{from{opacity:0;translate:0 -120px}to{opacity:1;translate:none}}
@keyframes vivala-scroll-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes vivala-ink{from{clip-path:inset(0 100% 0 0);opacity:.35}to{clip-path:inset(0);opacity:1}}
@keyframes vivala-rise{from{opacity:0;translate:0 16px}to{opacity:1;translate:none}}
@keyframes vivala-photo{
  from{transform:translateY(var(--hero-drift,0px)) scale(1.17)}
  to{transform:translateY(var(--hero-drift,0px)) scale(1.07)}
}
@media(max-width:760px){
  :root:has(.home-page){scroll-padding-top:80px}
  .home-page{padding-top:0}
  .home-page .site-header{height:80px;top:0;margin:0;padding-inline:6%;box-shadow:none}
  .home-page .hero{display:block;min-height:0;margin:-80px 0 0;container-type:normal}
  .home-page .hero-visual{width:100%;min-height:clamp(340px,62svh,560px)}
  .hero-art{width:100%;padding:38px 6%}
  .hero-english{font-size:clamp(51px,12vw,86px)}
  .hero-title{width:min(100%,460px);gap:5px}
  .hero-image-caption{left:6%;bottom:19px;font-size:8px}
  .motion-toggle{right:6%;bottom:12px;font-size:9px}
  .hero-message{padding:27px 7% 34px}
  .hero-lead{font-size:clamp(26px,7.5vw,35px);margin:14px 0 11px}
  .hero-description{font-size:12px;line-height:2.05}
  .hero-desktop-break{display:none}
  .hero-message .scroll-link{margin-top:20px}
  .hero-message .round-arrow::after{height:14px}
  .hero-message .scroll-link>span:first-child{display:inline}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
  .motion-opening .site-header{animation-delay:2.7s}
  .motion-opening .hero-message>*,
  .motion-opening .hero-message .hero-lead,
  .motion-opening .hero-message .hero-description,
  .motion-opening .hero-message .scroll-link{animation-delay:3.35s}
  .motion-opening .round-arrow::after{animation-delay:3.7s}
}
@media(prefers-reduced-motion:reduce){
  .home-page .scroll-link:hover .round-arrow,
  .home-page .service-card:hover,
  .home-page .service-card:hover .service-art,
  .home-page .button:hover,
  .home-page .text-link:hover>span{transform:none}
}

.footer-actions{display:flex;align-items:center;gap:28px}
.social-links{display:flex;gap:10px}
.social-links a{
  display:grid;place-items:center;width:44px;height:44px;
  border:1px solid var(--line);border-radius:50%;color:var(--ink);
  transition:background .2s,border-color .2s,color .2s;
}
.social-links a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.social-links svg{width:19px;height:19px}
@media(max-width:760px){
  .footer-actions{display:contents}
  .footer-top{display:grid;grid-template-columns:1fr auto;row-gap:21px}
  .footer-top .brand{grid-area:1 / 1}
  .footer-top .back-to-top{grid-area:1 / 2}
  .social-links{grid-area:2 / 1 / 3 / 3}
}
