:root{
  --bg-0:#eef5f5;
  --paper:#fbfaf5;
  --ink:#15333d;
  --ink-soft:#46626c;
  --ink-faint:#7c97a0;
  --line:rgba(21,51,61,.13);
  --line-soft:rgba(21,51,61,.08);
  --line-strong:rgba(21,51,61,.24);
  --teal:#0fa3b8;
  --aqua:#46c2cf;
  --gold:#e0a14e;
  --amber:#edbd6f;
  --coral:#ef8f6b;
  --glass:rgba(255,255,255,.58);
  --glass-2:rgba(255,255,255,.74);
  --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --grad:linear-gradient(120deg, var(--teal), var(--aqua) 44%, var(--amber) 84%, var(--coral));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg-0)}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(120% 90% at 84% -10%, rgba(237,189,111,.30), transparent 46%),
    radial-gradient(110% 80% at 4% 2%, rgba(70,194,207,.26), transparent 44%),
    radial-gradient(120% 120% at 50% 116%, rgba(239,143,107,.16), transparent 54%),
    linear-gradient(176deg, #f6fbfa 0%, #eaf4f3 44%, #f4f0e7 100%);
  background-attachment:fixed;
  font-family:"EB Garamond", Georgia, "Noto Serif SC", serif;
  font-size:19px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

.glow{
  position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;
  background:
    radial-gradient(34vmax 28vmax at 80% 8%, rgba(237,189,111,.34), transparent 60%),
    radial-gradient(38vmax 32vmax at 10% 20%, rgba(70,194,207,.30), transparent 62%),
    radial-gradient(28vmax 24vmax at 62% 96%, rgba(239,143,107,.18), transparent 60%);
  filter:blur(14px) saturate(112%);
  animation:drift 26s var(--ease) infinite alternate;
}
@keyframes drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(2vmax,-1.4vmax,0) scale(1.05)}
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(var(--maxw), calc(100% - 56px));margin:0 auto}

.zh{display:none}
html.lang-zh .en{display:none}
html.lang-zh .zh{display:revert}
html.lang-zh body{font-family:"Noto Serif SC","EB Garamond",serif}

.reveal{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease), transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .glow,.marquee__track,.mark__orbit{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- animated Lingua mark: two languages circling a lens ---------- */
.mark{position:relative;width:36px;height:36px;flex:0 0 auto}
.mark__lens{
  position:absolute;inset:6px;border-radius:50%;
  border:1.5px solid var(--teal);
  background:
    radial-gradient(circle at 36% 32%, rgba(255,255,255,.9), rgba(70,194,207,.18) 60%, rgba(15,163,184,.12));
  box-shadow:0 0 16px rgba(15,163,184,.22), inset 0 0 8px rgba(255,255,255,.6);
}
.mark__orbit{position:absolute;inset:0;animation:lspin 7s linear infinite}
.mark__orbit--b{animation-delay:-3.5s}
.mark__orbit::before{
  content:"";position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;
  transform:translate(-50%,-50%) translateY(-15px);
}
.mark__orbit--a::before{background:radial-gradient(circle at 35% 35%, #d7fbff, var(--teal) 65%);box-shadow:0 0 10px rgba(15,163,184,.8)}
.mark__orbit--b::before{background:radial-gradient(circle at 35% 35%, #fff0d0, var(--gold) 65%);box-shadow:0 0 10px rgba(224,161,78,.8)}
@keyframes lspin{to{transform:rotate(360deg)}}
.brand:hover .mark__orbit{animation-duration:2.8s}
.mark--sm{width:26px;height:26px}
.mark--sm .mark__lens{inset:4px}
.mark--sm .mark__orbit::before{transform:translate(-50%,-50%) translateY(-11px);width:5px;height:5px}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:30;
  border-bottom:1px solid var(--line-soft);
  background:linear-gradient(180deg, rgba(248,252,251,.86), rgba(248,252,251,.6));
  backdrop-filter:blur(18px) saturate(150%);
}
.nav::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg, transparent, rgba(15,163,184,.4), rgba(224,161,78,.34), transparent);
}
.nav__inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand__name{display:flex;flex-direction:column;gap:3px;line-height:1.12;min-width:0}
.brand__word{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:600;font-size:23px;letter-spacing:.02em;color:var(--ink);
}
.brand__zh{font-family:"Noto Serif SC",serif;font-weight:500;font-size:.82em;letter-spacing:.04em;color:var(--teal)}
html:not(.lang-zh) .brand__zh{display:none}
.brand__sub{
  font-family:"Jost", Arial, sans-serif;
  font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);
}
html.lang-zh .brand__sub{letter-spacing:.14em}
.menu{display:flex;align-items:center;gap:30px}
.menu a{
  font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-soft);padding:8px 0;position:relative;
}
html.lang-zh .menu a{letter-spacing:.14em}
.menu a::after{
  content:"";position:absolute;left:0;bottom:1px;width:0;height:1.5px;
  background:linear-gradient(90deg, var(--teal), var(--gold));transition:width .4s var(--ease);
}
.menu a:hover::after,.menu a.is-active::after{width:100%}
.menu a.is-active,.menu a:hover{color:var(--ink)}
.language-tabs{
  display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.5);height:34px;
}
.language-tabs button{
  appearance:none;border:0;background:transparent;color:var(--ink-faint);
  font-family:"Jost", Arial, sans-serif;font-size:11px;letter-spacing:.14em;
  padding:0 14px;height:100%;cursor:pointer;transition:color .3s var(--ease);
}
.language-tabs button:hover{color:var(--ink-soft)}
.language-tabs button.is-active{color:#0a3640;background:linear-gradient(135deg, var(--aqua), var(--amber))}

/* ---------- hero ---------- */
.hero{position:relative;padding:96px 0 30px;overflow:hidden}
.hero__inner{
  display:grid;grid-template-columns:minmax(0,.94fr) minmax(300px,.5fr);
  gap:56px;align-items:end;
}
.eyebrow{font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
html.lang-zh .eyebrow{letter-spacing:.2em}
.eyebrow--center{text-align:center}
.hero__title{
  font-family:"Cormorant Garamond", Georgia, serif;font-weight:600;
  font-size:clamp(72px, 11vw, 158px);line-height:1.04;letter-spacing:.01em;
  margin:22px 0 34px;padding-bottom:.06em;
  background:linear-gradient(118deg, var(--teal) 6%, #2c7e93 38%, var(--gold) 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__zh{font-family:"Noto Serif SC",serif;font-weight:500;font-size:.5em;letter-spacing:.06em}
html:not(.lang-zh) .hero__zh{display:none}
.hero__tagline{
  font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-style:italic;
  font-size:clamp(19px,1.6vw,24px);color:var(--teal);margin:0 0 22px;
}
html.lang-zh .hero__tagline{font-style:normal;font-weight:500;letter-spacing:.02em}
.hero__headline{
  font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:500;
  font-size:clamp(28px,3.2vw,48px);line-height:1.08;max-width:16ch;margin:0 0 24px;color:var(--ink);
}
.hero__deck{max-width:640px;color:var(--ink-soft);font-size:20px;margin:0}
.hero__panel{
  border:1px solid var(--line);border-radius:16px;background:var(--glass);
  backdrop-filter:blur(20px) saturate(140%);padding:28px;align-self:end;
  box-shadow:0 28px 60px -40px rgba(20,60,70,.5), inset 0 1px 0 rgba(255,255,255,.7);
}
.panel__line{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line-soft)}
.panel__line:first-child{padding-top:0}
.panel__line:last-child{border-bottom:0;padding-bottom:0}
.panel__label{font-family:"Jost", Arial, sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}
.panel__value{text-align:right;color:var(--ink);font-size:17px}

/* ---------- assurance strip ---------- */
.strip{
  margin-top:54px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.16));
}
.strip__inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;padding:20px 0}
.strip__item{position:relative;font-family:"Jost", Arial, sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint)}
html.lang-zh .strip__item{letter-spacing:.1em;font-size:12px}
.strip__item+.strip__item::before{
  content:"";position:absolute;left:-17px;top:50%;width:4px;height:4px;
  transform:translateY(-50%) rotate(45deg);background:linear-gradient(135deg,var(--teal),var(--gold));opacity:.8;
}

/* ---------- sections ---------- */
.section{position:relative;padding:104px 0}
.section--intro{padding:112px 0 64px}
.section--soft{background:linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,0))}
.section__head{max-width:880px;margin-bottom:52px}
.section--cases .section__head,.cta__inner{margin-left:auto;margin-right:auto}
.section__title{
  font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:500;
  font-size:clamp(38px,4.6vw,64px);line-height:1.04;margin:16px 0 0;color:var(--ink);
}
.section__deck{color:var(--ink-soft);max-width:760px;margin:22px 0 0;font-size:20px}
.section__note{color:var(--ink-faint);max-width:620px;margin:18px 0 0;font-size:16px}

/* ---------- edge / advantages ---------- */
.edge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.edge-card{
  position:relative;padding:30px 28px 32px;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:var(--glass);backdrop-filter:blur(14px) saturate(130%);
  box-shadow:0 24px 50px -42px rgba(20,60,70,.55), inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
}
.edge-card::before{
  content:"";position:absolute;inset:0;border-radius:16px;padding:1px;
  background:linear-gradient(150deg, rgba(15,163,184,.5), transparent 42%, transparent 62%, rgba(224,161,78,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s var(--ease);
}
.edge-card:hover{transform:translateY(-6px);border-color:transparent;box-shadow:0 40px 70px -44px rgba(20,60,70,.6)}
.edge-card:hover::before{opacity:1}
.edge-card__num{font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.26em;color:var(--gold);margin-bottom:26px}
.edge-card h3{font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:600;font-size:29px;line-height:1.1;margin:0 0 12px;color:var(--ink)}
.edge-card p{margin:0;color:var(--ink-soft);font-size:17px}

/* ---------- cases marquee ---------- */
.section--cases{padding-bottom:108px}
.marquee{position:relative;overflow:hidden;padding:8px 0;
  -webkit-mask:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);}
.marquee__track{display:flex;gap:20px;width:max-content;animation:marquee 64s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.case{
  width:362px;flex:0 0 auto;margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:var(--glass-2);box-shadow:0 22px 46px -38px rgba(20,60,70,.6), inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.case:hover{transform:translateY(-5px);box-shadow:0 36px 60px -40px rgba(20,60,70,.65)}
.case__shot{position:relative;background:#fbfaf6;border-bottom:1px solid var(--line-soft)}
.case__shot img{width:100%;height:auto;display:block}
.case__shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 70%, rgba(255,255,255,.18))}
.case__cap{display:flex;flex-direction:column;gap:3px;padding:15px 20px 17px}
.case__field{font-family:"Jost", Arial, sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
html.lang-zh .case__field{letter-spacing:.06em;font-size:12.5px}
.case__journal{font-family:"Cormorant Garamond", Georgia, serif;font-weight:600;font-size:21px;line-height:1.14;color:var(--ink)}
.case__meta{font-family:"Jost", Arial, sans-serif;font-size:11.5px;letter-spacing:.08em;color:var(--ink-faint)}

/* ---------- problem / pain points ---------- */
.prob-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.prob-card{
  padding:30px 28px 32px;border-radius:16px;border:1px solid var(--line-soft);
  background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.18));
  position:relative;
}
.prob-card::before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:2px;border-radius:2px;background:linear-gradient(var(--teal),var(--gold))}
.prob-card__num{font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.26em;color:var(--gold);margin-bottom:18px}
.prob-card h3{font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:600;font-size:25px;line-height:1.16;margin:0 0 12px;color:var(--ink)}
.prob-card p{margin:0;color:var(--ink-soft);font-size:16.5px}

/* ---------- CTA ---------- */
.cta{position:relative;padding:112px 0;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 50% 50%, rgba(15,163,184,.08), transparent 60%)}
.cta::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, transparent, var(--line-strong), transparent)}
.cta__inner{position:relative;max-width:780px;text-align:center}
.cta__title{font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:500;font-size:clamp(32px,4.2vw,56px);line-height:1.1;margin:18px auto 0;max-width:18ch;color:var(--ink)}
.cta__body{margin:22px auto 0;max-width:560px;color:var(--ink-soft);font-size:19px}
.button{
  display:inline-flex;align-items:center;gap:10px;margin-top:34px;
  font-family:"Jost", Arial, sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:#08323b;background:linear-gradient(135deg, var(--aqua), var(--amber));
  padding:15px 28px;border-radius:999px;transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  box-shadow:0 16px 38px -16px rgba(15,163,184,.6);
}
.button:hover{transform:translateY(-2px);box-shadow:0 22px 46px -16px rgba(15,163,184,.7)}
.button__arrow{transition:transform .4s var(--ease)}
.button:hover .button__arrow{transform:translateX(4px)}
.cta__email{margin-top:18px;font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.14em;color:var(--ink-faint)}
.cta--promise::before{background:radial-gradient(60% 120% at 50% 50%, rgba(224,161,78,.1), transparent 60%)}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.member{
  padding:32px 30px;border:1px solid var(--line);border-radius:16px;background:var(--glass);
  backdrop-filter:blur(14px);box-shadow:0 22px 50px -44px rgba(20,60,70,.5), inset 0 1px 0 rgba(255,255,255,.7);
}
.member__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line-soft)}
.member__name{font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:600;font-size:26px;color:var(--ink)}
.member__role{font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
html.lang-zh .member__role{letter-spacing:.06em;font-size:13px}
.member__body{margin:0;color:var(--ink-soft);font-size:17px}
.member__focus{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{
  font-family:"Jost", Arial, sans-serif;font-size:11px;letter-spacing:.1em;
  color:#0a4753;padding:6px 13px;border-radius:999px;
  background:linear-gradient(135deg, rgba(70,194,207,.18), rgba(237,189,111,.18));
  border:1px solid var(--line-soft);
}
html.lang-zh .chip{letter-spacing:.04em;font-size:13px}

/* ---------- steps ---------- */
.step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.step{padding:26px 22px 28px;border-top:2px solid;border-image:linear-gradient(90deg,var(--teal),var(--gold)) 1;background:linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0))}
.step__num{font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.24em;color:var(--gold)}
.step h3{font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-weight:600;font-size:25px;margin:14px 0 10px;color:var(--ink)}
.step p{margin:0;color:var(--ink-soft);font-size:16px}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);padding:46px 0;color:var(--ink-faint);background:linear-gradient(180deg, transparent, rgba(255,255,255,.4))}
.footer__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px}
.footer__brand{display:flex;align-items:center;gap:11px}
.footer__word{font-family:"Jost", Arial, sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
html.lang-zh .footer__word{letter-spacing:.1em}
.footer__tag{text-align:center;color:var(--ink-soft);font-family:"Cormorant Garamond", Georgia, "Noto Serif SC", serif;font-style:italic;font-size:18px}
html.lang-zh .footer__tag{font-style:normal}
.footer__meta{text-align:right;font-family:"Jost", Arial, sans-serif;font-size:11px;letter-spacing:.16em;color:var(--ink-faint)}

/* ---------- responsive ---------- */
@media (max-width: 960px){
  .nav__inner{height:auto;min-height:74px;align-items:flex-start;padding:16px 0;flex-direction:column;gap:14px}
  .menu{gap:22px;flex-wrap:wrap}
  .hero{padding-top:64px}
  .hero__inner{grid-template-columns:1fr;gap:38px}
  .hero__panel{max-width:520px}
  .edge-grid{grid-template-columns:1fr 1fr}
  .prob-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .step-grid{grid-template-columns:1fr 1fr}
  .footer__inner{grid-template-columns:1fr;text-align:left;gap:16px}
  .footer__tag,.footer__meta{text-align:left}
}
@media (max-width: 620px){
  body{font-size:17px}
  .wrap{width:min(100% - 34px, var(--maxw))}
  .hero__title{font-size:64px}
  .edge-grid,.step-grid{grid-template-columns:1fr}
  .section{padding:74px 0}
  .cta{padding:78px 0}
  .case{width:300px}
}
