/* Approved design: 748 × 2103. One source-pixel unit, capped at 1440px desktop. */
/* Contact choices share equal emphasis; the section grows with its content. */
#contact.contact-band{height:auto;min-height:0;padding-bottom:72px}
#contact .contact-band__content{padding:110px 24px 0}
.consult-intro{margin:18px 0 0;font-size:14px}
.consult-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;max-width:760px;margin:32px auto 0}
.consult-button{width:100%;min-height:60px;padding:14px 30px;font-size:18px;gap:16px}
.button.consult-button--mail{background:#fff;color:#428fb9;border:2px solid #428fb9}
.button.consult-button--line{background:#06a844;color:#fff;border:2px solid #06a844}
.consult-option>p{font-size:13px;line-height:1.9;margin:16px 0 0}
.consult-qr{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px auto 0}
.consult-qr img{width:112px;height:112px;border-radius:0}
.consult-qr figcaption{font-size:12px;line-height:1.8;text-align:left}
#contact .apply-link{margin-top:32px}
@media(max-width:600px){
  #contact .contact-band__content{padding:88px 20px 0}
  .consult-options{grid-template-columns:1fr;gap:28px;max-width:340px}
  .consult-button{min-height:52px;font-size:16px}
  .consult-intro{font-size:12px}
}
:root{--u:min(.13368984vw,1.925134px);--blue:#529db5;--yellow:#e4c986;--green:#aaba4f;--pink:#bd7886;--ink:#292a2c;--muted:#6c7070;--ease:cubic-bezier(.2,.7,.2,1);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;font-size:max(13px,calc(8*var(--u)));line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{color:inherit}
button,summary{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
h1,h2,h3,p,figure{margin:0}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:#fff;z-index:1000;padding:10px 20px}
.skip-link:focus{transform:none}
.scroll-progress{height:2px;position:fixed;top:0;left:0;width:100%;z-index:101;background:linear-gradient(90deg,var(--blue),var(--yellow),var(--green),var(--pink));transform:scaleX(0);transform-origin:left}
.container{position:relative;width:calc(650*var(--u));max-width:calc(100% - 40px);margin-inline:auto}
.section{position:relative;scroll-margin-top:90px}
.tone-blue{--tone:var(--blue)}.tone-yellow{--tone:var(--yellow)}.tone-green{--tone:var(--green)}.tone-pink{--tone:var(--pink)}
.button{position:relative;display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;background:linear-gradient(110deg,#ce7e95,#ce788e 65%,#c76e87);color:#fff;font-weight:600;letter-spacing:.09em;line-height:1.3;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #bc778628}
.button__arrow{position:absolute;right:calc(10*var(--u));top:50%;transform:translateY(-50%);width:calc(12*var(--u));height:calc(12*var(--u));border:1px solid #ffffff75;border-radius:50%;padding:1px}
.button__arrow .icon{stroke-width:3}
.site-header{position:absolute;z-index:40;inset:0 0 auto;display:flex;align-items:center;gap:calc(25*var(--u));height:calc(68*var(--u));max-width:1440px;margin:auto;padding:calc(11*var(--u)) calc(18*var(--u))}
.site-header .brand{width:calc(137*var(--u));flex-shrink:0}
.desktop-nav{display:flex;align-items:center;justify-content:space-between;gap:calc(11*var(--u));flex:1;margin-left:calc(17*var(--u));font-size:calc(6.3*var(--u));font-weight:600;white-space:nowrap}
.desktop-nav>a{padding-block:12px;transition:color .2s}
.desktop-nav>a:not(.button):hover{color:var(--blue)}
.button--nav{width:calc(70*var(--u));min-height:calc(24*var(--u));padding:7px 8px!important;font-size:calc(6.8*var(--u));letter-spacing:0}
.menu-toggle{display:none}
.mobile-nav[hidden]{display:none}
.hero-scene{position:sticky;top:0;z-index:0;height:calc(400*var(--u));background:#fff;overflow:clip}
.hero-layout{position:relative;max-width:1440px;height:100%;margin:auto}
.hero__copy{position:absolute;z-index:2;left:calc(35*var(--u));top:calc(89*var(--u))}
.hero-title-image{width:calc(255*var(--u));max-width:none}
.hero__lead{width:calc(231*var(--u));margin:calc(12*var(--u)) 0 0 calc(48*var(--u));font-size:calc(7*var(--u));font-weight:500;line-height:1.95;letter-spacing:.01em}
.hero__button{width:calc(140*var(--u));min-height:calc(28*var(--u));margin:calc(11*var(--u)) 0 0 calc(48*var(--u));font-size:calc(9*var(--u))}
.hero__visual{position:absolute;left:calc(286*var(--u));top:calc(72*var(--u));width:calc(460*var(--u));height:calc(322.43*var(--u))}
.parallax-inner{height:100%;transform:translate3d(0,var(--hero-shift,0px),0);will-change:transform}
.parallax-inner>img{width:100%;height:100%;object-fit:fill;object-position:center;-webkit-mask:url('../images/rebuild/hero-single-clip.svg') center/100% 100% no-repeat;mask:url('../images/rebuild/hero-single-clip.svg') center/100% 100% no-repeat}
.doodle{position:absolute;display:block;width:calc(20*var(--u));height:calc(20*var(--u));color:var(--blue);pointer-events:none}
.hero-note{right:calc(74*var(--u));top:calc(76*var(--u));transform:rotate(17deg)}
.hero-leaf{right:calc(40*var(--u));top:calc(104*var(--u));color:var(--green);width:calc(25*var(--u));height:calc(25*var(--u))}
.hero-note-low{left:calc(317*var(--u));top:calc(315*var(--u));width:calc(21*var(--u));height:calc(28*var(--u))}
.hero-star{right:calc(14*var(--u));top:calc(322*var(--u));color:var(--pink)}
main{position:relative;isolation:isolate}
.page-content{position:relative;z-index:2;background:#fff}
.hero-curtain{position:absolute;right:0;bottom:calc(100% - 1px);width:max(100%,1440px);line-height:0;pointer-events:none}
.hero-curtain>img,.hero-curtain picture,.hero-curtain picture img{display:block;width:100%;max-width:none;height:auto}
/* Scale the desktop wave with the hero instead of cropping a 1440px canvas. */
@media(min-width:1100px){
  .page-content .hero-curtain{width:min(100%,1440px);right:max(0px,calc(50% - 720px))}
}
/* Match the hero's maximum canvas, fading the artwork into wide-screen margins. */
@media(min-width:1441px){
  .page-content .hero-curtain{width:1440px;right:calc(50% - 720px)}
  .hero-curtain picture{
    -webkit-mask-image:linear-gradient(to right,transparent,#000 80px,#000 calc(100% - 80px),transparent);
    mask-image:linear-gradient(to right,transparent,#000 80px,#000 calc(100% - 80px),transparent);
  }
}
.heading{position:relative;width:fit-content;margin-inline:auto;text-align:center}
.heading h2{font-size:calc(16.5*var(--u));font-weight:500;line-height:1.5;letter-spacing:.065em;white-space:nowrap}
.heading__underline{display:block;width:calc(105*var(--u));height:calc(10*var(--u));margin:calc(-1*var(--u)) auto 0}
.heading__underline path{stroke:#bfdae0;stroke-width:1.5;stroke-linecap:round}
.heading--yellow .heading__underline path{stroke:#e9d79e}
.heading--pink .heading__underline path{stroke:#e9b9c8}
.heading__note,.heading__spark{position:absolute;color:#99c9d3;width:calc(12*var(--u));height:calc(16*var(--u));left:calc(-17*var(--u));top:calc(-3*var(--u));transform:rotate(-12deg)}
.heading__spark{left:auto;right:calc(-17*var(--u));top:calc(12*var(--u));transform:rotate(14deg);width:calc(10*var(--u))}
.about{padding-top:calc(20*var(--u));height:calc(225*var(--u))}
.about .heading__underline{position:absolute;top:100%;left:50%;transform:translateX(-50%)}
.about__intro{text-align:center;margin-top:calc(20*var(--u));font-size:calc(8*var(--u));line-height:1.9;letter-spacing:.03em}
.about-leaf{right:calc(42*var(--u));top:calc(40*var(--u));color:var(--green);width:calc(26*var(--u));height:calc(26*var(--u))}
.about-notes{left:calc(41*var(--u));top:calc(48*var(--u));color:#bad9db;transform:rotate(15deg)}
.values{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-top:calc(22*var(--u));text-align:center}
.values__thread{position:absolute;z-index:0;left:0;top:calc(-5*var(--u));width:100%;height:calc(65*var(--u));pointer-events:none}
.value{position:relative;z-index:1}
.value__word{display:inline-flex;align-items:flex-end;min-height:calc(33*var(--u));background:#fff;padding:0 calc(8*var(--u));line-height:1;vertical-align:top}
.value__word--blue img{width:calc(57*var(--u))}.value__word--green img{width:calc(123*var(--u))}.value__word--pink img{width:calc(58*var(--u))}
.value__word span{font-size:.6em;color:var(--ink)}
.value__word img{height:auto;max-width:none}
.value p{margin-top:calc(7*var(--u));font-size:calc(7.6*var(--u));line-height:1.95}
.support{height:calc(235*var(--u));padding-top:calc(5*var(--u))}
.support-grid{display:grid;grid-template-columns:150fr 164fr 166fr 170fr;margin-top:calc(16*var(--u))}
.support-item{position:relative;text-align:center;padding:0 calc(12*var(--u))}
.support-item+.support-item::before{content:"";position:absolute;left:0;top:calc(6*var(--u));bottom:calc(1*var(--u));width:1px;background:#c8c8c8}
.support-icon{height:calc(41*var(--u));width:calc(46*var(--u));margin:0 auto calc(12*var(--u));color:#777}
.support-icon .icon{stroke-width:1.1}
.support-item:nth-child(2) .support-icon{color:#66818a}
.support-item:nth-child(3) .support-icon{color:#859185}
.support-item:nth-child(4) .support-icon{color:#a48b92}
.support-item h3{font-size:calc(9.7*var(--u));color:var(--tone);font-weight:500;line-height:1.65;min-height:calc(31*var(--u))}
.support-item p{margin-top:calc(12*var(--u));font-size:calc(8*var(--u));line-height:2.05;letter-spacing:.025em}
.awards{height:calc(213*var(--u));padding-top:calc(7*var(--u))}
.awards>.reveal{position:relative;z-index:2}
.awards .heading__underline{visibility:hidden}
.event-strip{position:relative;height:calc(170*var(--u));width:100%;margin-top:calc(-31*var(--u))}
.event-strip__photos{width:100%;height:100%;object-fit:cover;object-position:center top;clip-path:url(#events-clip)}
.event-strip__frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.event-caption{margin-top:calc(1*var(--u));text-align:center;font-size:calc(8*var(--u));letter-spacing:.06em;line-height:1.65}
.caption-note{display:block;font-size:10px;letter-spacing:0;color:#777;margin-top:2px}
.event-bubbles{position:absolute;right:calc(37*var(--u));top:calc(-15*var(--u));width:20px;height:30px}
.event-bubbles i{position:absolute;width:7px;height:7px;border:1px solid #e6bbc4;border-radius:50%}
.event-bubbles i:nth-child(2){top:13px;left:-8px;width:5px;height:5px}.event-bubbles i:nth-child(3){top:24px;left:2px;width:4px;height:4px}
.livers{height:calc(156*var(--u));padding-top:calc(5*var(--u))}
.section-note{text-align:center;font-size:10px;color:#7c8282;line-height:1.5;margin-top:calc(1*var(--u))}
.portrait-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;padding:0 calc(25*var(--u));margin-top:calc(3*var(--u));gap:calc(27*var(--u))}
.portrait{position:relative;width:calc(80*var(--u));flex:none}
.portrait img{width:100%;height:calc(88*var(--u));object-fit:cover;object-position:50% 50%;border-radius:48% 52% 49% 51% / 48% 48% 52% 52%;transform:rotate(-6deg)}
.portrait:nth-child(2) img{transform:rotate(7deg)}.portrait:nth-child(3) img{transform:rotate(-2deg)}.portrait:nth-child(4) img{transform:rotate(5deg)}
.portrait figcaption{position:absolute;z-index:1;right:calc(-21*var(--u));top:calc(0*var(--u));font-family:"Segoe Print","Bradley Hand",cursive;font-style:italic;font-size:calc(16*var(--u));line-height:1.3;transform:rotate(-16deg);color:#d196a4;text-shadow:1px 1px white}
.portrait:nth-child(2) figcaption{color:#d2b956}.portrait:nth-child(3) figcaption{color:#80b9cc}.portrait:nth-child(4) figcaption{color:#acbb6b}
.portrait-notes{right:calc(1*var(--u));bottom:calc(15*var(--u));color:#ce8e9d;transform:rotate(10deg)}
.apps{height:calc(129*var(--u));padding-top:calc(2*var(--u))}
.app-row{position:relative;display:flex;justify-content:space-around;margin-top:calc(3*var(--u));padding:0 calc(15*var(--u))}
.app-thread{position:absolute;inset:calc(-1*var(--u)) 0 auto;width:100%;height:calc(50*var(--u))}
.apps .app-thread{display:none}
.apps .app-row{
  --apps-icon-size:calc(34*var(--u));--apps-top:58px;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;
  padding:var(--apps-top) 0 52px;isolation:isolate;
}
.apps .app-item{min-width:0;align-content:start}
.apps .app-icon{width:var(--apps-icon-size);height:var(--apps-icon-size)}
.apps .app-row::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  left:0;right:0;top:calc(var(--apps-top) - var(--apps-icon-size)*1.3);
  height:calc(var(--apps-icon-size)*4);
  background:url('../images/rebuild/apps-atmosphere.svg?v=7') center / 100% 100% no-repeat;
}
.apps .app-row::after{content:none}
.apps-decoration{position:absolute;inset:0;pointer-events:none;color:#529db5}
.apps-decoration .icon{position:absolute;width:24px;height:24px;opacity:.65}
.apps-decoration .icon:nth-child(1){left:4%;top:12px;transform:rotate(-14deg)}
.apps-decoration .icon:nth-child(2){right:6%;top:6px;color:#bd7886;transform:rotate(12deg)}
.apps-decoration .icon:nth-child(3){left:19%;bottom:6px;color:#aaba4f;transform:rotate(16deg)}
.apps-decoration .icon:nth-child(4){right:24%;bottom:0;color:#e4c986;width:18px;height:18px}
@media(max-width:760px){
  .apps .app-row{--apps-top:42px;padding-bottom:38px}
  .apps-decoration .icon{width:18px;height:18px}
}
@media(max-width:1099px){.apps .app-row{--apps-icon-size:37px}}
.app-item{position:relative;z-index:1;display:grid;justify-items:center;gap:calc(8*var(--u));font-size:calc(9*var(--u));font-weight:500}
.app-icon{display:flex;align-items:center;justify-content:center;width:calc(34*var(--u));height:calc(34*var(--u));border-radius:calc(9*var(--u));background:#70b4c4;box-shadow:0 0 0 calc(5*var(--u)) #fff}
.app-icon span{color:#fff;font-family:Arial,sans-serif;font-size:calc(18*var(--u));font-weight:800;line-height:1;letter-spacing:-.04em}
.app-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.app-icon--0{background:#20b8dd}
.app-icon--1{background:#ff1744}.app-icon--1 span{font-size:calc(14*var(--u));letter-spacing:-.09em}
.app-icon--2{background:#fff;border:1px solid #202124}.app-icon--2 span{color:#202124}
.app-icon--3{background:#fff}
.app-icon--3 img{object-fit:contain}
.app-icon--4{background:#111}.app-icon--4 span{text-shadow:-1px 0 #25f4ee,1px 0 #fe2c55}
.flow{height:calc(215*var(--u));padding-top:calc(6*var(--u))}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:calc(21*var(--u))}
.steps__thread{position:absolute;left:calc(-15*var(--u));top:calc(-14*var(--u));width:calc(680*var(--u));height:calc(100*var(--u))}
.step{position:relative;text-align:center}
.step__number{position:absolute;left:calc(25*var(--u));top:calc(-6*var(--u));display:grid;place-items:center;background:var(--tone);color:#fff;border-radius:50%;width:calc(26*var(--u));height:calc(26*var(--u));font-family:Arial,sans-serif;font-size:calc(20*var(--u));font-weight:400;line-height:1}
.step__icon{width:calc(40*var(--u));height:calc(40*var(--u));margin:calc(16*var(--u)) auto calc(8*var(--u));color:#7e8484}
.step__icon .icon{stroke-width:1.1}
.step h3{color:var(--tone);font-size:calc(12*var(--u));font-weight:500;letter-spacing:.08em}
.step p{margin-top:calc(7*var(--u));font-size:calc(8*var(--u));line-height:2}
.faq{min-height:calc(217*var(--u));padding:calc(26*var(--u)) 0 calc(15*var(--u))}
.faq-list{margin-top:0;padding:0 calc(9*var(--u))}
.faq-item{border-bottom:1px solid #c9cccc}
.faq-item summary{position:relative;display:flex;align-items:center;min-height:calc(35.5*var(--u));padding:calc(8*var(--u)) calc(28*var(--u)) calc(8*var(--u)) calc(3*var(--u));list-style:none;font-size:calc(11*var(--u));font-weight:400;line-height:1.6;letter-spacing:.04em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-plus{position:absolute;right:calc(7*var(--u));width:calc(10*var(--u));height:calc(10*var(--u))}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;left:0;top:50%;height:1px;width:100%;background:#555;transition:transform .3s}
.faq-plus::after{transform:rotate(90deg)}
.faq-item[open] .faq-plus::after{transform:rotate(0)}
.faq-item p{max-width:68em;padding:0 calc(28*var(--u)) calc(17*var(--u)) calc(3*var(--u));font-size:max(14px,calc(8.5*var(--u)));color:#626668;line-height:1.9}
.contact-band{height:calc(210*var(--u));isolation:isolate}
.contact-band__wash{position:absolute;inset:0;overflow:hidden;z-index:-1;background:url("../images/rebuild/contact-wash.svg") center/100% 100% no-repeat}
.contact-band__wash::before,.contact-band__wash::after{content:"";position:absolute;bottom:-10%;left:-2%;width:calc(102*var(--u));height:calc(96*var(--u));background-image:radial-gradient(#ffffffdb 1.8px,transparent 2.6px);background-size:calc(7*var(--u)) calc(7*var(--u));border-radius:50% 40% 0 0;transform:rotate(-18deg)}
.contact-band__wash::after{left:auto;right:-1%;transform:rotate(20deg);opacity:.7}
.contact-band__content{position:relative;text-align:center;padding-top:calc(53*var(--u))}
.contact-band h2{font-size:calc(20*var(--u));font-weight:500;letter-spacing:.09em}
.button--contact{display:flex;width:calc(236*var(--u));height:calc(46*var(--u));margin:calc(13*var(--u)) auto 0;font-size:calc(13*var(--u))}
.button--contact .button__arrow{right:calc(16*var(--u))}
.apply-link{display:flex;justify-content:center;align-items:center;gap:calc(12*var(--u));width:fit-content;margin:calc(17*var(--u)) auto 0;font-size:calc(9*var(--u));letter-spacing:.13em}
.apply-link .icon{width:calc(10*var(--u));height:calc(10*var(--u));stroke-width:3}
.contact-note-a{left:14%;top:42%;width:calc(28*var(--u));height:calc(28*var(--u))}
.contact-note-b{left:19%;top:63%;color:var(--pink)}
.contact-star-a{left:20%;top:28%;width:calc(16*var(--u));height:calc(16*var(--u))}
.contact-star-b{right:20%;top:64%;width:calc(16*var(--u));height:calc(16*var(--u));color:var(--pink)}
.contact-note-c{right:13%;top:37%;width:calc(26*var(--u));height:calc(26*var(--u));color:var(--yellow);transform:rotate(16deg)}
.contact-loop{position:absolute;left:27%;top:21%;font-size:calc(24*var(--u));font-family:serif;color:#aaba4f;transform:rotate(17deg)}
.site-footer{position:relative;display:grid;grid-template-columns:calc(131*var(--u)) 1fr auto;gap:calc(34*var(--u));align-items:start;max-width:1440px;min-height:calc(103*var(--u));margin:auto;padding:calc(24*var(--u)) calc(42*var(--u));background:#fff}
.site-footer .brand{width:calc(131*var(--u))}
.footer-nav{display:flex;flex-wrap:wrap;align-content:start;gap:calc(8*var(--u)) calc(10*var(--u));max-width:calc(302*var(--u));padding-top:calc(3*var(--u));font-size:calc(6.1*var(--u));font-weight:500}
.footer-meta{padding-top:calc(4*var(--u));font-size:calc(6.2*var(--u));white-space:nowrap}
.footer-meta>div{display:flex;gap:calc(10*var(--u))}
.footer-meta small{display:block;font-size:inherit;margin-top:calc(10*var(--u))}
.footer-nav a:hover,.footer-meta a:hover{color:var(--blue)}
/* Movement happens inside layout boxes, never changes the measured page geometry. */
html.motion-ready .reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .8s var(--ease),transform 1s var(--ease);transition-delay:var(--delay,0ms)}
html.motion-ready .reveal.is-visible{opacity:1;transform:none}
[data-float]{animation:bob 5.7s ease-in-out infinite;animation-delay:-2s}
[data-float]:nth-child(even){animation-duration:6.9s;animation-delay:-4s}
@keyframes bob{0%,100%{translate:0 0;rotate:-3deg}50%{translate:0 -8px;rotate:5deg}}
@media(min-width:1441px){.hero-curtain{width:100%}.event-strip{height:calc(170*var(--u))}.event-strip__photos{object-position:center}.hero-scene{height:calc(400*var(--u))}}
@media(max-width:1099px){
.site-header{position:absolute;height:86px;padding:20px 28px}.site-header .brand{width:195px}.desktop-nav{display:none}
.menu-toggle{position:relative;z-index:52;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;margin-left:auto;background:#fff;border:0;border-radius:50%}
.menu-toggle>span:not(.menu-toggle__label){width:23px;height:1px;background:var(--ink);transition:transform .3s,opacity .3s}.menu-toggle__label{font-size:8px;line-height:1;letter-spacing:.15em}.menu-toggle[aria-expanded=true]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:50;inset:0;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:90px max(28px,8vw) 35px;background:rgba(255,254,251,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:auto}
.mobile-nav>a:not(.button){display:flex;justify-content:space-between;border-bottom:1px solid #e1e4e2;padding:12px 0;font-size:16px}.mobile-nav>a span{color:var(--pink)}.mobile-nav .button{min-height:48px;margin-top:20px}
.hero__copy{top:calc(98*var(--u))}.hero__visual{top:calc(95*var(--u))}
.hero__lead{font-size:max(10px,calc(7*var(--u)))}.hero__button{font-size:13px;min-height:42px}
}
@media(max-width:1099px){
:root{--u:1px}
html{scroll-padding-top:24px}body{font-size:15px}
.container{width:100%;max-width:calc(100% - 40px)}.section{scroll-margin-top:24px}
.site-header{height:85px;padding:20px}.site-header .brand{width:164px}
.hero-scene{height:calc(670px + 65vw);min-height:880px;max-height:1080px}
.hero-layout{width:100%}
.hero__copy{left:max(22px,calc((100vw - 520px)/2));top:110px;width:calc(100% - 44px)}
.hero-title-image{width:min(300px,83vw)}
.hero__lead{font-size:12px;line-height:1.95;width:min(300px,82vw);margin:18px 0 0 23px}
.desktop-break{display:none}
.hero__button{margin:19px 0 0 23px;width:182px;min-height:46px;font-size:13px}
.button__arrow{width:18px;height:18px;right:13px}
.hero__visual{left:auto;right:-15vw;top:500px;width:125vw;max-width:850px;height:auto;aspect-ratio:1498 / 1050}
.hero-note{top:445px;right:18px;width:22px;height:22px}.hero-leaf{right:12px;top:472px;width:24px;height:24px}
.hero-note-low{left:15px;top:720px;width:20px;height:20px}.hero-star{right:12px;top:760px;width:18px;height:18px}
.hero-curtain{width:1440px}
.heading h2{font-size:23px;letter-spacing:.055em;line-height:1.5;white-space:normal}
.heading__underline{width:114px;height:12px}.heading__note{width:13px;height:17px;left:-18px;top:-3px}.heading__spark{width:12px;height:15px;right:-17px;top:16px}
.about{height:auto;padding:18px 0 74px}.about__intro{font-size:13px;line-height:2.1;margin-top:27px}.about__intro br{display:none}
.about-notes{left:0;top:60px;opacity:.4}.about-leaf{right:0;top:83px;width:21px;height:21px}
.values{grid-template-columns:1fr;margin-top:26px;gap:29px}.values__thread{width:100%;height:240px;top:30px;opacity:.45}
.value__word{padding:0 10px;min-height:38px}.value__word--blue img{width:68px}.value__word--green img{width:146px}.value__word--pink img{width:69px}
.value p{font-size:12px;margin-top:8px;line-height:1.9}
.support{height:auto;padding:0 0 80px}.support-grid{grid-template-columns:repeat(2,1fr);margin-top:34px;gap:30px 0}.support-item{padding:0 10px}
.support-item:nth-child(3)::before{display:none}.support-icon{width:54px;height:50px;margin-bottom:15px}.support-item h3{font-size:13px;min-height:44px}.support-item p{font-size:11px;line-height:2;margin-top:12px}.support-item p br{display:none}
.awards{height:auto;padding:0 0 56px;overflow:clip}.event-strip{width:960px;height:218px;left:50%;transform:translateX(-50%)!important;margin-top:2px}.event-strip__photos{object-fit:cover}.event-caption{font-size:12px;padding:0 20px;margin-top:13px;letter-spacing:.02em}.caption-note{font-size:10px;margin-top:7px}
.event-bubbles{right:18px;top:-25px}
.livers{height:auto;padding:0 0 65px}.section-note{font-size:10px;margin-top:8px}.portrait-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center;gap:25px 12px;padding:0 7px;margin-top:30px}
.portrait{width:81px;max-width:22vw;grid-column:span 2}.portrait:nth-child(2){translate:none}.portrait img{height:93px}.portrait figcaption{font-size:16px;right:-10px;top:-8px}.portrait:nth-child(4){grid-column:2 / span 2}.portrait:nth-child(5){grid-column:4 / span 2}.portrait-notes{bottom:36px;right:33%}
.apps{height:auto;padding:0 0 70px}.app-row{padding:0;margin-top:31px;gap:12px 4px;flex-wrap:wrap}.app-item{min-width:17%;gap:12px;font-size:10px}.app-icon{width:37px;height:37px;border-radius:10px;box-shadow:0 0 0 4px #fff}.app-thread{height:44px;top:0}
.flow{height:auto;padding:0 0 60px}.steps{grid-template-columns:repeat(2,1fr);margin-top:42px;gap:34px 10px}.steps__thread{width:100%;height:280px;top:-26px;left:0;opacity:.55}
.step__number{left:10px;top:0;width:29px;height:29px;font-size:21px}.step__icon{width:48px;height:48px;margin:20px auto 13px}.step h3{font-size:15px}.step p{font-size:11px;line-height:2;margin-top:9px}
.faq{min-height:0;padding:0 0 55px}.faq-list{margin-top:21px;padding:0}.faq-item summary{min-height:63px;padding:18px 30px 18px 0;font-size:13px}.faq-plus{width:12px;height:12px;right:3px}.faq-item p{font-size:13px;padding:0 20px 20px 0}
.contact-band{height:323px}.contact-band__content{padding:86px 20px 0}.contact-band h2{font-size:20px;letter-spacing:.025em}.button--contact{width:258px;height:52px;margin-top:24px;font-size:15px}.button--contact .button__arrow{right:17px}.apply-link{font-size:12px;margin-top:22px;gap:12px}.apply-link .icon{width:12px;height:12px}
.contact-note-a{left:5%;top:25%;width:22px;height:22px}.contact-star-a{left:17%;top:12%;width:13px;height:13px}.contact-note-b{left:6%;top:78%;width:15px;height:15px}.contact-star-b{right:7%;top:75%;width:15px;height:15px}.contact-note-c{right:6%;top:20%;width:23px;height:23px}.contact-loop{display:none}
.contact-band__wash::before,.contact-band__wash::after{width:80px;height:100px;background-size:9px 9px}
.site-footer{grid-template-columns:1fr;gap:26px;min-height:0;padding:34px 25px 30px}.site-footer .brand{width:163px;margin:auto}.footer-nav{justify-content:center;max-width:100%;font-size:10px;gap:10px 15px;padding:0}.footer-meta{text-align:center;font-size:10px;padding:0}.footer-meta>div{justify-content:center;gap:20px}.footer-meta small{margin-top:13px}
}
/* Tablet: keep the 1440px ribbon at native size; give the hero its own stacked composition. */
@media(min-width:761px) and (max-width:1099px){
.container{width:720px;max-width:calc(100% - 64px)}
.site-header{padding:24px 32px}.site-header .brand{width:195px}
.hero-scene{height:1090px;min-height:1090px;max-height:none}
.hero__copy{left:calc(50% - 190px);top:112px;width:400px}.hero-title-image{width:340px}
.hero__visual{left:calc(50% - 370px);right:auto;top:560px;width:740px;max-width:none}
.hero-note{right:11%;top:530px}.hero-leaf{right:8%;top:575px}.hero-star{right:7%;top:877px}.hero-note-low{left:6%;top:881px}
.about{padding-top:22px;padding-bottom:70px}.about__intro{max-width:540px;margin-inline:auto}
.values{grid-template-columns:repeat(3,1fr);gap:0;margin-top:38px}.values__thread{height:65px;top:0}.value p{font-size:11px}
.support-grid{grid-template-columns:repeat(4,1fr);gap:0}.support-item:nth-child(3)::before{display:block}.support-item h3{font-size:12px}
.portrait-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;padding-inline:20px}.portrait{width:98px;max-width:none;grid-column:auto}.portrait img{height:111px}
.portrait:nth-child(4),.portrait:nth-child(5){margin:0;grid-column:auto}.portrait-notes{right:0;bottom:0}
.app-row{padding-inline:15px}.app-item{font-size:12px}
.steps{grid-template-columns:repeat(4,1fr);gap:10px}.steps__thread{height:100px;top:-15px}.step__number{left:12px}.step h3{font-size:14px}
.faq-item summary{font-size:15px}.faq-item p{font-size:14px}
.contact-band h2{font-size:25px}.contact-band__content{padding-top:80px}
.site-footer{max-width:800px;margin:auto}.footer-nav{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-float]{animation:none}.parallax-inner{transform:none;will-change:auto}html.motion-ready .reveal{opacity:1;transform:none;transition:none}.button{transition:none}.button:hover{transform:none}}





/* Spacious section rhythm (2026-09-09). Hero geometry stays independent. */
@media(min-width:1100px){
  .about{height:auto;min-height:calc(325*var(--u));padding-bottom:calc(46*var(--u));padding-top:calc(24*var(--u))}
  .about__intro{margin-top:calc(34*var(--u))}
  .values{margin-top:calc(39*var(--u))}
  .support{height:auto;min-height:calc(344*var(--u));padding-bottom:calc(46*var(--u));padding-top:calc(12*var(--u))}
  .support-grid{margin-top:calc(31*var(--u))}
  .support-icon{margin-bottom:calc(15*var(--u))}
  .support-item p{margin-top:calc(16*var(--u))}
  .awards{height:auto;min-height:calc(306*var(--u));padding-bottom:calc(46*var(--u));padding-top:calc(14*var(--u))}
  .event-strip{margin-top:calc(-23*var(--u))}
  .event-caption{margin-top:calc(6*var(--u))}
  .livers{height:auto;min-height:calc(230*var(--u));padding-bottom:calc(46*var(--u));padding-top:calc(12*var(--u))}
  .section-note{margin-top:calc(4*var(--u))}
  .portrait-row{margin-top:calc(17*var(--u))}
  .apps{height:auto;min-height:calc(193*var(--u));padding-bottom:calc(46*var(--u));padding-top:calc(10*var(--u))}
  .app-row{margin-top:calc(17*var(--u))}
  .flow{height:auto;min-height:calc(305*var(--u));padding-bottom:calc(46*var(--u));padding-top:calc(13*var(--u))}
  .steps{margin-top:calc(35*var(--u))}
  .faq{min-height:calc(300*var(--u));padding-top:calc(40*var(--u));padding-bottom:calc(50*var(--u))}
  .faq-list{margin-top:calc(12*var(--u))}
  .faq-item summary{min-height:calc(39*var(--u));padding-top:calc(10*var(--u));padding-bottom:calc(10*var(--u))}
  .contact-band{height:calc(270*var(--u))}
  .contact-band__content{padding-top:calc(72*var(--u))}
  .site-footer{min-height:calc(116*var(--u));padding-top:calc(28*var(--u));padding-bottom:calc(28*var(--u))}
}
@media(max-width:1099px){
  .about{padding-top:46px;padding-bottom:132px}
  .about__intro{margin-top:42px}
  .values{margin-top:46px;gap:42px}
  .support{padding-bottom:139px}
  .support-grid{margin-top:52px;row-gap:42px}
  .support-icon{margin-bottom:18px}
  .support-item p{margin-top:23px}
  .awards{padding-bottom:100px}
  .event-caption{margin-top:26px}
  .livers{padding-bottom:116px}
  .section-note{margin-top:20px}
  .portrait-row{margin-top:47px;row-gap:34px}
  .apps{padding-bottom:121px}
  .app-row{margin-top:50px}
  .flow{padding-bottom:111px}
  .steps{margin-top:60px;row-gap:46px}
  .faq{padding-bottom:103px}
  .faq-list{margin-top:38px}
  .faq-item summary{min-height:70px;padding-top:21px;padding-bottom:28px}
  .contact-band{height:374px}
  .contact-band__content{padding-top:101px}
}
@media(min-width:761px) and (max-width:1099px){
  .about{padding-top:46px;padding-bottom:114px}
  .values{margin-top:50px}
  .support{padding-bottom:121px}
  .support-grid{margin-top:50px}
  .awards{padding-bottom:92px}
  .livers{padding-bottom:100px}
  .apps{padding-bottom:108px}
  .flow{padding-bottom:100px}
  .faq{padding-bottom:90px}
  .contact-band{height:352px}
  .contact-band__content{padding-top:90px}
}
@media(max-width:760px){
  .about{padding-top:48px;padding-bottom:148px}
  .about__intro{margin-top:45px}
  .values{margin-top:51px;gap:47px}
  .support{padding-bottom:153px}
  .support-grid{margin-top:56px;row-gap:46px}
  .awards{padding-bottom:111px}
  .event-caption{margin-top:28px}
  .livers{padding-bottom:127px}
  .portrait-row{margin-top:51px;row-gap:39px}
  .apps{padding-bottom:133px}
  .app-row{margin-top:54px}
  .flow{padding-bottom:121px}
  .steps{margin-top:66px;row-gap:52px}
  .faq{padding-bottom:114px}
  .faq-list{margin-top:42px}
  .faq-item summary{min-height:74px;padding-top:23px;padding-bottom:30px}
  .contact-band{height:398px}
  .contact-band__content{padding-top:112px}
}



/* Use the fresh image's native alpha and preserve its aspect ratio. */
.parallax-inner>img.hero-photo-fresh{object-fit:contain;object-position:center top;-webkit-mask:none;mask:none}





/* Existing brand artwork in the About heading. */
#about-title{display:flex;align-items:center;justify-content:center;gap:.4em;white-space:nowrap}
#about-title .about-heading-logo{width:5.4em;height:auto;flex:none}

/* Persistent navigation: stays available while the long page scrolls. */
.site-header{
  position:fixed;
  transition:height .45s var(--ease),padding .45s var(--ease);
}
.site-header .brand{transition:width .45s var(--ease)}
.site-header .desktop-nav{transition:margin-left .45s var(--ease)}
.site-header::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0 0 auto;
  height:inherit;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid transparent;
  box-shadow:0 10px 32px rgba(47,58,54,0);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:border-color .45s var(--ease),box-shadow .45s var(--ease),background-color .45s var(--ease);
}
.site-header.is-stuck{
  height:78px;
  padding-top:12px;
  padding-bottom:12px;
}
.site-header.is-stuck::before{
  background:rgba(255,255,255,.97);
  border-bottom-color:#edf0eb;
  box-shadow:0 10px 32px rgba(47,58,54,.09);
}
.site-header.is-stuck .brand{width:174px}
.site-header.is-stuck .desktop-nav{margin-left:20px}
html{scroll-padding-top:96px}
.section{scroll-margin-top:96px}
@media(max-width:1099px){
  .site-header{position:fixed}
  .site-header.is-stuck{height:74px;padding-top:13px;padding-bottom:13px}
  .site-header.is-stuck .brand{width:145px}
  html{scroll-padding-top:84px}
  .section{scroll-margin-top:84px}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.site-header::before,.site-header .brand,.site-header .desktop-nav{transition:none}
}

/* The first view rises at half the document scroll speed while the foreground covers it. */
.hero-layout{
  transform:translate3d(0,var(--hero-scene-shift,0px),0);
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .hero-layout{transform:none;will-change:auto}
}

/* Mobile first view keeps the desktop side-by-side idea, scaled to fit the viewport. */
@media(max-width:760px){
  .hero-scene{
    height:660px;
    min-height:660px;
    max-height:660px;
  }
  .hero-layout{width:100%;height:100%}
  .hero__copy{
    left:18px;
    top:105px;
    width:55vw;
    max-width:215px;
    z-index:3;
  }
  .hero-title-image{width:min(47vw,184px)}
  .hero__lead{
    width:min(49vw,192px);
    margin:12px 0 0 4px;
    font-size:10px;
    line-height:1.85;
  }
  .hero__button{
    width:146px;
    min-height:42px;
    margin:14px 0 0 4px;
    font-size:11px;
  }
  .hero__visual{
    left:auto;
    right:-9vw;
    top:185px;
    width:71vw;
    max-width:285px;
    height:auto;
    aspect-ratio:1536 / 1024;
    z-index:1;
  }
  .hero-note{top:142px;right:13px}
  .hero-leaf{top:171px;right:9px}
  .hero-note-low{left:auto;right:33%;top:380px}
  .hero-star{right:9px;top:350px}
}

/* Refine the compact two-column composition at phone and small-tablet widths. */
@media(max-width:519px){
  .hero__visual{
    right:-5vw;
    top:195px;
    width:60vw;
    max-width:250px;
  }
}
@media(min-width:520px) and (max-width:760px){
  .hero__copy{
    left:7vw;
    width:42vw;
    max-width:300px;
  }
  .hero-title-image{width:min(36vw,250px)}
  .hero__lead{width:min(38vw,275px);font-size:11px}
  .hero__visual{
    right:3vw;
    top:180px;
    width:48vw;
    max-width:360px;
  }
}
@media(max-width:519px){
  .hero__visual{right:0;width:54vw}
}

/* On phones the ribbon belongs to the photo composition, so pull it up over the photo edge. */
@media(max-width:519px){
  .hero-curtain{bottom:calc(100% + 118px)}
}
@media(max-width:760px){
  .hero-curtain{bottom:calc(100% + 118px)}
}
@media(max-width:760px){
  .hero-curtain{
    right:-280px;
    bottom:calc(100% + 200px);
  }
}
@media(max-width:760px){
  .hero-curtain{
    right:0;
    width:100%;
    height:260px;
    overflow:hidden;
  }
  .hero-curtain picture{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
  }
  .hero-curtain picture img{
    position:absolute;
    top:0;
    right:-280px;
    width:1440px;
    height:260px;
    max-width:none;
  }
}
@media(max-width:760px){
  /* Preserve the original ribbon artwork. Crop its broad right-hand wave on
     phones; only its position changes, never the SVG silhouette or text path. */
  .hero-curtain{bottom:100%}
  .hero-curtain picture img{right:0}
}

/* Compact mobile rhythm: retain desktop spaciousness without oversized phone gaps. */
@media(max-width:760px){
  .hero-scene{height:520px;min-height:520px;max-height:520px}
  .hero-curtain{bottom:calc(100% - 70px)}
  .about{padding-top:24px;padding-bottom:86px}
  .about__intro{margin-top:32px}
  .values{margin-top:36px;gap:34px}
  .support{padding-bottom:88px}
  .support-grid{margin-top:40px;row-gap:34px}
  .support-item p{margin-top:15px}
  .awards{padding-bottom:76px}
  .event-caption{margin-top:20px}
  .livers{padding-bottom:82px}
  .section-note{margin-top:13px}
  .portrait-row{margin-top:36px;row-gap:30px}
  .apps{padding-bottom:84px}
  .app-row{margin-top:38px}
  .flow{padding-bottom:82px}
  .steps{margin-top:44px;row-gap:38px}
  .faq{padding-bottom:78px}
  .faq-list{margin-top:30px}
  .faq-item summary{min-height:66px;padding-top:19px;padding-bottom:22px}
  .contact-band{height:350px}
  .contact-band__content{padding-top:92px}
}
/* Phones use the exact desktop wave artwork, scaled proportionally. */
@media(max-width:760px){
  .hero-curtain{
    right:0;
    bottom:calc(100% + 120px);
    width:100%;
    height:auto;
    overflow:visible;
  }
  .hero-curtain picture{
    position:static;
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
  }
  .hero-curtain picture img{
    position:static;
    display:block;
    width:100%;
    height:auto;
    max-width:none;
  }
}
/* Mobile hero: two balanced horizontal pairs. */
@media(max-width:760px){
  .hero__copy{
    left:18px;
    top:105px;
    width:calc(100% - 36px);
    max-width:none;
  }
  .hero-title-image{width:45vw;max-width:200px}
  .hero__visual{
    left:auto;
    right:0;
    top:112px;
    width:52vw;
    max-width:260px;
  }
  .hero__lead{
    width:49vw;
    max-width:205px;
    margin:12px 0 0 4px;
  }
  .hero__button{
    position:absolute;
    left:52vw;
    top:calc(19px + min(34.6667vw, 173.333px));
    width:146px;
    min-height:36px;
    height:36px;
    margin:0;
  }
}
@media(max-width:370px){
  .hero__button{left:51vw;width:140px;font-size:10px}
}
/* Keep the wave in place and shorten the blank area below it. */
@media(max-width:760px){
  /* Photo bottom + 12px gap + 36px button + 8px clearance,
     followed by the proportional SVG height and its 40px white join. */
  .hero-scene{
    height:calc(208px + min(34.6667vw, 173.333px) + 18.055556vw);
    min-height:0;
    max-height:none;
  }
  .hero__button{width:min(146px, calc(48vw - 36px))}
  .hero-curtain{bottom:calc(100% + 40px)}
  /* Join the SVG's white lower edge to the scrolling content surface. */
  .hero-curtain::after{
    content:"";
    position:absolute;
    top:calc(100% - 1px);
    left:0;
    right:0;
    height:42px;
    background:#fff;
  }
}
/* One fluid composition for phones and tablets; content sets the row heights. */
@media(max-width:1099px){
  .hero-scene{height:auto;min-height:0;max-height:none}
  .hero-layout{
    display:grid;
    grid-template-columns:minmax(0,46fr) minmax(0,54fr);
    column-gap:12px;
    row-gap:12px;
    align-items:center;
    width:100%;height:auto;
    padding:105px 18px calc(18.055556vw + 31px);
  }
  .hero__copy{display:contents}
  .hero__copy h1{grid-column:1;grid-row:1;min-width:0}
  .hero-title-image{width:100%;max-width:none}
  .hero__visual{
    position:relative;inset:auto;
    grid-column:2;grid-row:1;
    width:100%;max-width:none;height:auto;
    aspect-ratio:1536 / 1024;
  }
  .hero__lead{
    grid-column:1;grid-row:2;
    width:100%;max-width:none;margin:0;
    font-size:clamp(10px,1.5vw,15px);line-height:1.85;
  }
  .hero__button{
    position:relative;inset:auto;
    grid-column:2;grid-row:2;justify-self:center;
    width:78%;max-width:240px;height:clamp(36px,5vw,48px);
    min-height:36px;margin:0;
    padding:0 30px 0 12px;
    font-size:clamp(9px,1.7vw,16px);
    white-space:nowrap;
  }
  .hero-curtain{right:0;width:100%;height:auto;bottom:calc(100% + 40px);overflow:visible}
  .hero-curtain picture,.hero-curtain picture img{
    position:static;width:100%;height:auto;max-width:none;overflow:visible;
  }
  .hero-curtain::after{
    content:"";position:absolute;top:calc(100% - 1px);
    left:0;right:0;height:42px;background:#fff;
  }
  .hero-note{top:110px;right:12px}
  .hero-leaf{top:145px;right:10px}
  .hero-note-low{top:auto;bottom:calc(18.055556vw + 45px);left:auto;right:45%}
  .hero-star{top:auto;bottom:calc(18.055556vw + 45px);right:8px}
}
/* A continuous width across mobile, tablet and desktop breakpoints. */
.hero__button{
  width:clamp(116px,calc(64.4px + 14.25vw),270px);
  max-width:none;
}
/* Each stacked value gets a curve aligned with its own heading. */
@media(max-width:760px){
  .values>.values__thread{display:none}
  .value:has(.value__word--blue){--value-line:#428fb9}
  .value:has(.value__word--green){--value-line:#9bb22e}
  .value:has(.value__word--pink){--value-line:#cc6170}
  .value:has(.value__word--green)::before{
    --value-loop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 650 65' preserveAspectRatio='none'%3E%3Cpath d='M5 47C22 17 62 24 99 26S153 53 174 30C189 9 146 18 164 32C201 56 246 23 291 29S360 48 395 32C414 20 394 9 389 25C381 45 436 39 473 33S527 49 551 24C565 7 532 23 545 34C571 53 608 13 645 24' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E");
  }
  .value:has(.value__word--pink)::before{
    --value-loop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 650 65' preserveAspectRatio='none'%3E%3Cpath d='M5 49C23 26 55 17 94 25S178 58 202 34C220 12 175 20 189 34C225 55 262 18 297 25S354 48 375 32C390 16 370 13 366 27C359 48 427 32 467 39S505 56 528 30C542 10 510 22 524 35C557 53 597 11 645 32' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E");
  }
  .value::before{
    content:"";position:absolute;z-index:-1;pointer-events:none;
    left:0;right:0;top:0;height:50px;opacity:.55;
    --value-loop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 650 65' preserveAspectRatio='none'%3E%3Cpath d='M5 54C14 18 54 19 89 21S167 63 190 32C202 10 158 24 178 33C218 56 246 19 288 26S350 51 385 35C401 27 387 12 381 28C372 49 433 36 467 36S519 56 541 28C551 13 526 28 538 34C568 47 591 5 645 28' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E");
    background:var(--value-line);
    -webkit-mask:var(--value-loop) center / 100% 100% no-repeat;
    mask:var(--value-loop) center / 100% 100% no-repeat;
  }
}
@media(min-width:1100px){
  main .hero-scene{height:calc(390*var(--u) - 5px)}
}
.back-to-top{
  position:fixed;z-index:45;right:clamp(16px,2.2vw,34px);bottom:clamp(16px,2.2vw,34px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:58px;height:58px;border:1px solid #ffffffb8;border-radius:50%;
  background:rgba(82,157,181,.92);color:#fff;line-height:1;
  box-shadow:0 8px 24px rgba(54,111,126,.22);backdrop-filter:blur(7px);
  opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.back-to-top:hover{transform:translateY(-3px);background:#428fa8}
.back-to-top span{font-size:21px;margin-bottom:4px}
.back-to-top small{font-size:8px;letter-spacing:.14em}
@media(max-width:760px){
  .back-to-top{width:50px;height:50px;right:14px;bottom:14px}
  .back-to-top span{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
