
:root{--ink:#292724;--muted:#756f65;--line:#e6dfd3;--aqua:#c8b99c;--deep:#9b8967;--pale:#f9f6ef;--white:#fff;--serif:"Times New Roman","Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.9;background:#fff}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.narrow{width:min(860px,calc(100% - 48px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--deep);text-transform:uppercase;margin-bottom:14px}.section{padding:112px 0}.section.soft{background:var(--pale)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.03em}h2{font-size:clamp(34px,4vw,58px);line-height:1.35;margin-bottom:30px}.lead{font-size:clamp(18px,2vw,26px);line-height:1.8}.muted{color:var(--muted)}
.header{position:fixed;left:0;top:0;width:100%;z-index:20;transition:.35s;color:#fff}.header.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.06)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between}.site-logo{position:relative;display:block;width:210px;height:64px}.logo-image{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%);object-fit:contain;transition:opacity .3s}.logo-white{opacity:0}.home-page .header:not(.scrolled) .logo-color{opacity:0}.home-page .header:not(.scrolled) .logo-white{opacity:1}.footer-logo{display:block;width:230px}.footer-logo img{width:100%;height:auto}.nav{display:flex;gap:31px;align-items:center;font-size:12px;letter-spacing:.12em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:.3s}.nav a:hover:after,.nav a.active:after{width:100%}.menu-btn{display:none;border:0;background:none;color:inherit;width:42px;height:42px;padding:8px}.menu-btn span{display:block;height:1px;background:currentColor;margin:7px 0;transition:.3s}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;background:#000}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12);z-index:1;pointer-events:none}.hero-inner{position:relative;z-index:2;padding-top:80px}.hero-kicker{font-size:12px;letter-spacing:.3em;margin-bottom:28px}.hero h1{font-size:clamp(48px,6.4vw,86px);line-height:1.28;max-width:980px;margin-bottom:28px;text-shadow:0 2px 18px rgba(0,0,0,.16)}.hero-copy{font-size:clamp(15px,1.65vw,20px);max-width:650px}.scroll{position:absolute;z-index:3;right:38px;bottom:0;height:152px;display:flex;flex-direction:column;align-items:center;gap:13px;color:#fff}.scroll span{font-size:10px;letter-spacing:.24em;writing-mode:vertical-rl}.scroll i{position:relative;display:block;width:1px;height:82px;overflow:hidden;background:rgba(255,255,255,.28)}.scroll i:after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:scrollLine 2.2s cubic-bezier(.76,0,.24,1) infinite}@keyframes scrollLine{0%{transform:translateY(0)}55%,100%{transform:translateY(200%)}}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.image-frame{position:relative}.image-frame:before{content:"";position:absolute;inset:24px -24px -24px 24px;border:1px solid var(--aqua);z-index:-1}.image-frame img{aspect-ratio:4/3;object-fit:cover}.btn{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--ink);padding:13px 0;font-size:12px;letter-spacing:.14em}.btn:after{content:"→";transition:.3s}.btn:hover:after{transform:translateX(6px)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;padding:38px;border:1px solid var(--line);min-height:250px;transition:.35s}.card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(84,72,51,.10)}.card-num{font-family:var(--serif);font-size:38px;color:var(--aqua)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.card-icon{width:68px;height:68px;flex:0 0 68px;color:var(--deep);opacity:.9}.card-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.card-head .card-num{line-height:1}.card h3{margin-bottom:24px}
.card h3{font-size:25px}.split-banner{display:grid;grid-template-columns:1.1fr .9fr;min-height:580px}.split-banner .photo{background:url('../images/lipocube-photo.jpg') center/cover}.split-banner .copy{background:var(--deep);color:#fff;padding:80px;display:flex;flex-direction:column;justify-content:center}.split-banner h2{font-size:clamp(34px,4vw,56px)}
.page-hero{padding:190px 0 100px;background:linear-gradient(120deg,#f9f6ef,#fff);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #d7cbb7;right:-80px;top:40px}.page-hero h1{font-size:clamp(50px,7vw,88px);margin-bottom:10px}.page-hero p{letter-spacing:.15em;color:var(--muted)}.prose p{margin-bottom:1.5em}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:35px 0}.feature{padding:22px 24px;background:var(--pale);border-left:3px solid var(--aqua)}.device-panel{background:#fbf8f2;padding:50px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.device-panel img{max-height:420px;object-fit:contain}.clinic-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);margin-bottom:28px}.clinic-card img{height:100%;min-height:360px;object-fit:cover}.clinic-card .body{padding:54px}.clinic-card h3{font-size:34px}.info-table{border-top:1px solid var(--line)}.info-row{display:grid;grid-template-columns:180px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.form-row{margin-bottom:22px}.form-row label{display:block;font-size:13px;margin-bottom:8px}.form-row input,.form-row textarea,.form-row select{width:100%;padding:16px;border:1px solid #d8d0c3;background:#fff;font:inherit}.form-row textarea{min-height:180px}.submit{border:0;background:var(--deep);color:#fff;padding:18px 42px;font:inherit;letter-spacing:.15em;cursor:pointer}.footer{background:var(--deep);color:#fff;padding:70px 0 30px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-nav{display:grid;grid-template-columns:repeat(2,auto);gap:10px 35px;font-size:12px;letter-spacing:.12em}.copyright{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.65)}.reveal{opacity:0;transform:translateY(28px);transition:.75s}.reveal.show{opacity:1;transform:none}
@media(max-width:900px){.site-logo{width:170px;height:54px}.footer-logo{width:205px}.wrap,.narrow{width:min(100% - 36px,1160px)}.header-inner{height:74px}.nav{position:fixed;inset:0;background:#6b604e;color:#fff;display:flex;flex-direction:column;justify-content:center;font-size:16px;gap:26px;opacity:0;pointer-events:none;transition:.3s}.nav.open{opacity:1;pointer-events:auto}.menu-btn{display:block;position:relative;z-index:3}.menu-btn.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.section{padding:78px 0}.grid2,.contact-grid,.device-panel{grid-template-columns:1fr;gap:40px}.grid2 .image-frame{order:-1}.cards{grid-template-columns:1fr}.split-banner{grid-template-columns:1fr}.split-banner .photo{min-height:380px}.split-banner .copy{padding:55px 28px}.feature-list{grid-template-columns:1fr}.clinic-card{grid-template-columns:1fr}.clinic-card img{min-height:260px}.clinic-card .body{padding:32px}.info-row{grid-template-columns:1fr;gap:4px}.footer-top{display:block}.footer-nav{margin-top:35px}.hero h1{font-size:clamp(40px,11vw,54px)}.hero{min-height:760px}.hero-video{object-position:58% center}.scroll{right:17px;height:132px}.scroll i{height:68px}.page-hero{padding:140px 0 70px}}

/* Header / footer: viewport-based horizontal layout */
.header .header-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:clamp(28px,4.2vw,76px);
  padding-right:clamp(28px,4.2vw,76px);
}
.footer > .wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:clamp(28px,4.2vw,76px);
  padding-right:clamp(28px,4.2vw,76px);
}

@media(max-width:900px){
  .header .header-inner,
  .footer > .wrap{
    padding-left:18px;
    padding-right:18px;
  }
}

/* Home contact CTA */
.contact-cta{
  position:relative;
  overflow:hidden;
  color:var(--ink);
  background:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 45%,rgba(255,255,255,.68) 100%),
    url('../images/contact-bg.png') center/cover no-repeat;
}
.contact-cta:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(249,246,239,.24),rgba(255,255,255,.12));
  pointer-events:none;
}
.contact-cta .narrow{position:relative;z-index:1}
.contact-cta .eyebrow{color:var(--deep)}

@media(max-width:900px){
  .contact-cta{
    background:
      linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.80)),
      url('../images/contact-bg.png') 35% center/cover no-repeat;
  }
}


/* Home section title line control */
.home-section-title{
  font-size:clamp(36px,3.25vw,50px);
  line-height:1.48;
}
.home-section-title span{
  display:block;
  white-space:nowrap;
}

/* Make the contact background image more visible */
.contact-cta{
  background:
    linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.58) 45%,rgba(255,255,255,.36) 100%),
    url('../images/contact-bg.png') center/cover no-repeat;
}
.contact-cta:before{
  background:linear-gradient(180deg,rgba(249,246,239,.08),rgba(255,255,255,.03));
}
@media(max-width:900px){
  .home-section-title{font-size:clamp(32px,8.8vw,46px);}
  .home-section-title span{white-space:normal;}
  .contact-cta{
    background:
      linear-gradient(90deg,rgba(255,255,255,.80),rgba(255,255,255,.56)),
      url('../images/contact-bg.png') 35% center/cover no-repeat;
  }
}


/* Subpage typography refinements */
.section-title-compact{font-size:clamp(34px,4.35vw,66px);line-height:1.42}
.section-title-compact span{display:block;white-space:nowrap}
.lead-serif{font-family:var(--serif);font-size:clamp(24px,2.35vw,30px);line-height:1.9;letter-spacing:.02em}
.clinic-card h3{font-size:34px;line-height:1.42;margin-bottom:26px}
.clinic-card .body p{line-height:1.82;margin-bottom:1.15em}
.clinic-card .body .muted{line-height:1.68;margin-bottom:1.35em}
.clinic-card .body .eyebrow{margin-bottom:20px}
.clinic-card .btn{margin-top:10px}

@media(max-width:900px){
  .section-title-compact span{white-space:normal}
  .lead-serif{font-size:clamp(22px,7vw,28px);line-height:1.75}
}


/* Subpage visual headers */
.inner-page .header:not(.scrolled){color:#fff}
.inner-page .header:not(.scrolled) .logo-color{opacity:0}
.inner-page .header:not(.scrolled) .logo-white{opacity:1}
.inner-page .page-hero{
  min-height:520px;
  padding:190px 0 100px;
  display:flex;
  align-items:flex-end;
  color:#fff;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.inner-page .page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(50,42,31,.62) 0%,rgba(50,42,31,.30) 46%,rgba(50,42,31,.10) 100%);
  z-index:0;
}
.inner-page .page-hero:after{
  border-color:rgba(255,255,255,.34);
  z-index:0;
}
.inner-page .page-hero .wrap{position:relative;z-index:1}
.inner-page .page-hero h1,
.inner-page .page-hero p{color:#fff}
.page-hero-about{background-image:url('../images/page-about.jpg')}
.page-hero-lipocube{background-image:url('../images/page-lipocube.jpg')}
.page-hero-clinic{background-image:url('../images/page-clinic.jpg')}
.page-hero-contact{background-image:url('../images/page-contact.jpg')}

@media(max-width:900px){
  .inner-page .page-hero{
    min-height:430px;
    padding:140px 0 66px;
  }
  .inner-page .page-hero:before{
    background:linear-gradient(90deg,rgba(50,42,31,.68),rgba(50,42,31,.20));
  }
}


/* Footer navigation: horizontal layout */
.footer{padding:48px 0 24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:48px}
.footer-top > div:first-child{flex:0 0 auto}
.footer-logo{width:220px}
.footer-top > div:first-child p{margin:18px 0 0!important;line-height:1.75}
.footer-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:18px 34px;font-size:11px;letter-spacing:.08em}
.footer-nav a{white-space:nowrap}
.copyright{margin-top:30px}

@media(max-width:900px){
  .footer{padding:48px 0 24px}
  .footer-top{display:block}
  .footer-nav{margin-top:34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;justify-content:start}
  .footer-nav a{white-space:normal}
}

/* Page transition and scroll reveal */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9999;
  background:#fff;
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.05s;
}
body.page-loaded::before{
  opacity:0;
  visibility:hidden;
}

.reveal,
.reveal-auto{
  opacity:0;
  transform:translateY(38px);
  transition:
    opacity .95s cubic-bezier(.22,.61,.36,1),
    transform .95s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.reveal.show,
.reveal-auto.show{
  opacity:1;
  transform:translateY(0);
}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}
.reveal-delay-4{transition-delay:.32s}
.reveal-delay-5{transition-delay:.40s}

@media (prefers-reduced-motion:reduce){
  body::before{display:none}
  .reveal,.reveal-auto{opacity:1;transform:none;transition:none}
}


/* NEWS */
.page-hero-news{background-image:url('../images/page-about.jpg')}
.news-home{background:#fff}
.news-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.news-home-head h2,.news-page-heading h2{margin-bottom:0}
.news-list{border-top:1px solid var(--line)}
.news-row{display:grid;grid-template-columns:140px 90px 1fr 32px;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);transition:opacity .3s}
.news-row:hover{opacity:.62}
.news-row time{font-family:var(--serif);font-size:15px;letter-spacing:.08em;color:var(--muted)}
.news-category{font-size:10px;letter-spacing:.16em;color:var(--deep)}
.news-title{font-size:16px;letter-spacing:.04em}
.news-arrow{text-align:right;font-size:18px;transition:transform .3s}
.news-row:hover .news-arrow{transform:translateX(5px)}
.news-page-heading{margin-bottom:42px}
.news-detail-meta{display:flex;align-items:center;gap:24px;margin-bottom:28px}
.news-detail-meta time{font-family:var(--serif);font-size:15px;letter-spacing:.08em;color:var(--muted)}
.news-detail-title{font-size:clamp(34px,4vw,54px);padding-bottom:30px;margin-bottom:42px;border-bottom:1px solid var(--line)}
.news-detail-body{font-family:var(--serif);font-size:clamp(19px,2vw,24px);line-height:2.1}
.news-back{margin-top:70px}
@media(max-width:900px){
  .news-home-head{align-items:flex-start;margin-bottom:28px}
  .news-row{grid-template-columns:105px 1fr 24px;gap:10px 14px;padding:20px 0}
  .news-row time{font-size:13px}
  .news-category{grid-column:2;grid-row:1}
  .news-title{grid-column:1 / 3;grid-row:2;font-size:15px}
  .news-arrow{grid-column:3;grid-row:1 / 3}
  .news-detail-body{line-height:1.9}
}


/* Responsive typography and overflow corrections */
html,body{overflow-x:hidden}
.hero h1{
  font-size:clamp(46px,5.55vw,76px);
  line-height:1.27;
  max-width:900px;
}

@media(max-width:900px){
  body{font-size:15px;line-height:1.9}
  .wrap,.narrow{width:min(100% - 36px,1160px)}

  h2,
  .split-banner h2,
  .home-section-title,
  .section-title-compact,
  .contact-cta h2{
    font-size:clamp(27px,7.2vw,34px);
    line-height:1.52;
    letter-spacing:.015em;
    overflow-wrap:normal;
    word-break:keep-all;
  }

  .home-section-title span,
  .section-title-compact span{
    display:block;
    white-space:normal;
  }

  .hero h1{
    font-size:clamp(36px,9.2vw,46px);
    line-height:1.34;
    max-width:92%;
  }
  .hero-copy{
    max-width:88%;
    font-size:15px;
    line-height:2;
  }

  .grid2{gap:54px}
  .grid2 .image-frame{width:calc(100% - 16px);margin-left:0}
  .image-frame:before{inset:14px -14px -14px 14px}

  .section.soft h2,
  .section h2{margin-bottom:24px}
  .lead-serif{
    font-size:clamp(20px,5.5vw,25px);
    line-height:1.85;
  }
  .prose p,
  .section p{
    overflow-wrap:anywhere;
  }
  .split-banner .copy{padding:52px 24px}
  .split-banner .copy p{font-size:15px;line-height:1.95}

  .cards{width:100%}
  .card{min-width:0;padding:30px 24px}
  .card h3{font-size:25px}

  .contact-cta .narrow{width:min(100% - 36px,720px)}
  .contact-cta h2{max-width:100%;margin-left:auto;margin-right:auto}
  .contact-cta p{font-size:15px;line-height:1.9}

  .clinic-card h3{font-size:clamp(27px,7.2vw,34px);line-height:1.45}
  .news-detail-title{font-size:clamp(28px,7.5vw,38px);line-height:1.45}
}

@media(max-width:420px){
  h2,
  .split-banner h2,
  .home-section-title,
  .section-title-compact,
  .contact-cta h2{
    font-size:clamp(26px,7vw,30px);
  }
  .hero h1{font-size:clamp(34px,8.8vw,40px)}
}


/* Mobile: prevent blank first-screen gaps before scroll reveal starts */
@media(max-width:900px){
}


/* Final mobile layout and navigation stability fixes */
html, body { max-width:100%; overflow-x:hidden; }
main, section, .wrap, .narrow, .grid2, .split-banner, .split-banner .copy,
.contact-grid, .cards, .card, .clinic-card, .clinic-card .body { min-width:0; }

@media(max-width:900px){
  .header{z-index:1000;}
  .nav{
    z-index:1000;
    background:var(--deep) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
  }
  .nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:opacity .25s ease, transform .25s ease;
  }
  .menu-btn{z-index:1001;}
  body.menu-open{overflow:hidden;touch-action:none;}

  h1,h2,h3,p,.lead,.lead-serif,.news-title,.feature,.form-row label{
    max-width:100%;
    word-break:normal;
    overflow-wrap:break-word;
    line-break:strict;
  }
  h2,
  .split-banner h2,
  .home-section-title,
  .section-title-compact,
  .contact-cta h2,
  .clinic-card h3,
  .news-detail-title{
    font-size:clamp(27px,7.4vw,32px);
    line-height:1.5;
    letter-spacing:.01em;
    word-break:normal;
    overflow-wrap:break-word;
  }
  .home-section-title span,
  .section-title-compact span{white-space:normal;display:inline;}
  .home-section-title span + span::before,
  .section-title-compact span + span::before{content:"\A";white-space:pre;}

  .hero-inner{width:100%;padding-left:0;padding-right:0;}
  .hero h1{
    width:min(100%,350px);
    max-width:100%;
    font-size:clamp(29px,8vw,36px);
    line-height:1.48;
    letter-spacing:.01em;
  }
  .hero h1 br{display:block;}
  .hero-copy{max-width:100%;font-size:14px;line-height:1.9;}
  .hero-kicker{font-size:10px;letter-spacing:.22em;white-space:normal;}

  .split-banner .copy{padding:48px 24px;overflow:visible;}
  .split-banner .copy h2{width:100%;}
  .section .wrap,.section .narrow{overflow:visible;}
  .contact-grid{width:100%;}
  .contact-grid > *{min-width:0;}
  .contact-grid h2{font-size:clamp(27px,7.1vw,31px);}
  .contact-cta h2{font-size:clamp(27px,7vw,31px);}
  .contact-cta .narrow{padding-left:0;padding-right:0;}
  .form-row input,.form-row textarea,.form-row select{min-width:0;max-width:100%;}

  .inner-page .page-hero .wrap{width:calc(100% - 36px);}
  .inner-page .page-hero h1{font-size:clamp(47px,13vw,62px);line-height:1.1;}
  .inner-page .page-hero p{max-width:100%;font-size:14px;letter-spacing:.08em;line-height:1.7;}

  .card,.news-row{width:100%;}
}

@media(max-width:380px){
  .hero h1{font-size:28px;}
  h2,.split-banner h2,.home-section-title,.section-title-compact,.contact-cta h2,
  .contact-grid h2{font-size:26px;}
}

/* SP: keep the SCROLL line fully visible above the browser bottom UI */
@media(max-width:900px){
  .scroll{
    right:17px;
    bottom:calc(18px + env(safe-area-inset-bottom));
    height:auto;
    gap:10px;
  }
  .scroll span{flex:0 0 auto;}
  .scroll i{
    flex:0 0 56px;
    height:56px;
  }
}


/* SP: raise FV text group slightly */
@media(max-width:900px){
  .hero-inner{transform:translateY(-28px);}
}


/* SP: restore stable horizontal padding for the entire FV text group */
@media(max-width:900px){
  .hero .hero-inner{
    width:calc(100% - 48px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    transform:translateY(-28px);
  }
  .hero-kicker,
  .hero h1,
  .hero-copy{
    margin-left:0;
    margin-right:0;
  }
  .hero h1,
  .hero-copy{max-width:100%;}
}
@media(max-width:380px){
  .hero .hero-inner{width:calc(100% - 36px) !important;}
}


/* FV mobile final correction: fixed two-line headline and visible SCROLL line */
.hero h1 span{display:block;}
@media(max-width:900px){
  .hero{
    min-height:100svh;
    height:100svh;
  }
  .hero .hero-inner{
    width:calc(100% - 48px) !important;
    transform:translateY(-28px);
  }
  .hero h1{
    width:100%;
    max-width:none;
    font-size:clamp(28px,7.55vw,32px);
    line-height:1.52;
    letter-spacing:0;
  }
  .hero h1 span{
    display:block;
    white-space:nowrap;
  }
  .hero h1 span + span{margin-top:.08em;}
  .hero-kicker{
    white-space:nowrap;
    font-size:clamp(9px,2.55vw,10px);
    letter-spacing:.20em;
  }
  .hero-copy{
    width:100%;
    max-width:none;
    font-size:14px;
    line-height:1.9;
  }
  .scroll{
    right:18px;
    bottom:calc(28px + env(safe-area-inset-bottom));
    height:auto;
    gap:12px;
  }
  .scroll i{
    flex:0 0 92px;
    height:92px;
  }
}
@media(max-width:380px){
  .hero .hero-inner{width:calc(100% - 36px) !important;}
  .hero h1{font-size:clamp(27px,7.25vw,29px);}
  .hero-kicker{font-size:9px;letter-spacing:.16em;}
  .scroll{right:12px;}
}


/* Language selector */
.language-switch{display:flex;align-items:center;gap:8px;margin-left:6px;padding-left:18px;border-left:1px solid currentColor;font-size:10px;letter-spacing:.08em;white-space:nowrap}
.language-switch a{opacity:.58}
.language-switch a.current,.language-switch a:hover{opacity:1}
.footer-top{align-items:flex-start}
.footer-language{margin:24px 0 0;padding:0;border:0;justify-content:flex-end}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-error{color:#8d2f2f!important}
.form-success{color:inherit}
.thanks-box{text-align:center;max-width:760px;margin:0 auto}
.lang-en .hero h1 span,.lang-cn .hero h1 span{white-space:normal}
.lang-en .hero h1{font-size:clamp(45px,5.4vw,74px);max-width:1050px}
.lang-en .home-section-title span,.lang-cn .home-section-title span{white-space:normal}
.lang-cn{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif}
.lang-cn h1,.lang-cn h2,.lang-cn h3,.lang-cn .lead-serif{font-family:"Noto Serif SC","Songti SC","SimSun",serif}
@media(max-width:1100px) and (min-width:901px){.nav{gap:20px}.language-switch{padding-left:12px}}
@media(max-width:900px){
 .nav{overflow-y:auto;padding:90px 24px 50px}
 .nav .language-switch{margin:12px 0 0;padding:22px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.35);font-size:12px;gap:18px}
 .footer-language{justify-content:flex-start;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}
 .lang-en .hero h1,.lang-cn .hero h1{font-size:clamp(29px,8vw,36px);line-height:1.35}
 .lang-en .hero h1 span,.lang-cn .hero h1 span{white-space:normal}
 .lang-en h2,.lang-cn h2{overflow-wrap:normal;word-break:normal}
}


/* Footer language selector alignment */
.footer-top{align-items:center}
.footer-bottom{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-bottom .copyright{margin:0;padding:0;border:0}
.footer-bottom .footer-language{margin:0;padding:0;border:0;justify-content:flex-end}
@media(max-width:900px){
  .footer-bottom{margin-top:34px;padding-top:22px;align-items:center}
  .footer-bottom .footer-language{margin:0;padding:0;border:0;justify-content:flex-end}
}
@media(max-width:520px){
  .footer-bottom{align-items:flex-end}
  .footer-bottom .copyright{max-width:68%;line-height:1.7}
}
