/* Site-wide art direction: forest green, warm ivory, restrained detail. */
@font-face{font-family:"Yi Sans";src:url("assets/yi-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
:root{--green:#155e45;--ink:#1c352a;--muted:#636e65;--line:#dce2d8;--cream:#fffdf8;--peach:#f8e9da;--gold:#bb9251;--red:#c54435;font-family:"Yi Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;scroll-padding-top:28px}
svg{display:block;flex-shrink:0}.wrap{width:min(1360px,100%)}p{line-height:1.95}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.header{padding-block:23px;gap:28px}.wordmark{font-size:21px;font-weight:650;letter-spacing:.015em;gap:12px}.wordmark img{width:50px;height:50px}.header nav{font-size:14px;font-weight:450}.header nav a{padding-block:8px;border-bottom:1px solid transparent;transition:border-color .2s}.header nav a:hover{border-color:#8caa95}

/* SVG icon geometry is independent of each device's emoji font. */
.button{gap:32px;min-height:60px;padding:12px 14px 12px 25px;border-radius:14px;font-size:16px;font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:0 6px 18px #173f3110;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}
.button-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #ffffff2c;border-radius:50%;background:#ffffff09;transition:background .22s ease,border-color .22s ease}
.button-icon svg{width:17px;height:17px;transition:transform .22s ease}
.button.primary,.button.dark{color:#fffdf5;background:linear-gradient(115deg,#20664d,#144631);border-color:#ffffff16;box-shadow:inset 0 1px 0 #ffffff12,0 6px 18px #173f3114}.button.dark{background:#153f31}
.button.small{font-size:14px;gap:20px;min-height:46px;padding:8px 10px 8px 19px;border-radius:12px;box-shadow:none}.button.small .button-icon{width:28px;height:28px;flex-basis:28px}.button.small svg{width:14px;height:14px}
.button.light{background:#f7efd9;color:#153f31;border-color:#fbf6e7;box-shadow:inset 0 1px 0 #fff,0 8px 24px #09281b25}.button.light .button-icon{border-color:#244d3430;background:#234d3406}
.text-link{gap:14px;font-weight:500;line-height:1.7;border-color:#9eb8a7;padding-bottom:9px;transition:border-color .22s}.text-link .button-icon{width:22px;height:22px;flex-basis:22px;border:0;background:none}.text-link svg{width:18px;height:18px}
@media(hover:hover){.button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff1a,0 10px 24px #163d3121}.button.primary:hover{background:linear-gradient(115deg,#245f4c,#144631)}.button.dark:hover{background:#204e3b}.button:hover .button-icon{background:#ffffff18;border-color:#ffffff55}.button:hover svg,.text-link:hover svg{transform:translate(1px,-1px)}.button.light:hover{background:#fff7e4}.button.light:hover .button-icon{background:#234d3410;border-color:#234d3440}.text-link:hover{border-color:var(--green)}}
.button:active{transform:translateY(0)}

.hero{grid-template-columns:1fr 1.08fr;gap:56px;padding-top:68px;padding-bottom:54px}.hero-copy{min-width:0}.eyebrow{font-size:14px;font-weight:550;letter-spacing:.06em}.red-rule{height:2px;width:22px}
h1{font-size:clamp(38px,4.2vw,60px);font-weight:650;line-height:1.35;letter-spacing:-.02em}h2{font-size:clamp(31px,3.05vw,43px);font-weight:600;letter-spacing:-.012em;line-height:1.5}
.hero-description{max-width:29em;margin-bottom:30px}.hero-services{font-size:14px;font-weight:500;letter-spacing:.025em;margin-top:23px}.language-note{font-size:14px;margin-top:8px}.hero-frame{border-radius:76px 22px 22px 22px;box-shadow:0 15px 35px #674e3018}.hero-frame img{height:462px}.hero-art figcaption{justify-content:flex-start;align-items:center;gap:12px;color:var(--muted);margin-top:19px}.hero-art figcaption:before{content:"";width:25px;height:1px;background:var(--gold);flex:0 0 25px}
.audience{padding-block:25px;gap:30px}.audience-label{font-weight:550}.audience p span{color:#a6b2a8}
.section{padding-block:100px}.problem{grid-template-columns:1fr 1.06fr}.problem-list article{gap:24px;padding-block:26px}.problem-list article:first-child{padding-top:0}.number{font-size:15px;font-weight:450;font-variant-numeric:tabular-nums}.problem h3{font-weight:550;margin-bottom:11px}

.solutions{border-radius:40px 40px 0 0;padding-bottom:72px}.section-heading{margin-bottom:46px}.solution-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.solution-card{display:flex;flex-direction:column}.card-art{height:auto;aspect-ratio:1.1;border-radius:18px}.card-art img{transition:transform .6s ease}.image-chip{background:#fffdf3eb;border:1px solid #ffffff75;border-radius:7px;padding:7px 11px}
.solution-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding-top:27px}.label{font-weight:550;letter-spacing:.025em;margin-bottom:13px}.solution-copy h3{font-weight:600;letter-spacing:-.012em}.solution-copy>p:not(.label){font-size:16px;color:#60685e;margin-bottom:24px}.format{width:100%;margin-top:auto;font-size:14px;color:#60685e;border-color:#d9cdbc}
@media(hover:hover){.solution-card:hover .card-art img{transform:scale(1.025)}}

.expertise-story{background:linear-gradient(180deg,var(--peach),var(--cream) min(36vw,460px))}.expertise-visual{width:min(1400px,100%);margin:auto}.expertise{grid-template-columns:1fr 1.04fr;gap:82px}.expertise-details article{margin:0;padding:23px 0;border-bottom:1px solid var(--line)}.expertise-details article:first-child{padding-top:0}.expertise-details article:last-child{border-bottom:0;padding-bottom:0}.feature-index{width:34px;height:34px;flex-basis:34px;border-color:#c8d7ca;background:transparent;font-size:13px;font-weight:500}.expertise-details h3{font-size:18px;font-weight:550;line-height:1.65;margin:2px 0 10px}

.contact{background:linear-gradient(115deg,#174c39,#1b6148);border-radius:40px 40px 0 0;padding-block:88px}.contact-inner{display:grid;grid-template-columns:1.3fr .85fr;gap:74px}.contact .eyebrow{color:#e7d6b1}.contact h2{font-size:clamp(36px,3.85vw,52px);font-weight:550;line-height:1.45}.contact p:not(.eyebrow){color:#e0e9e0}.contact-side{min-width:0;border-left:1px solid #ffffff26;padding-left:45px}.contact .button{width:100%;max-width:350px;font-size:17px;min-height:64px}.contact-side .contact-address{color:#f5ecda!important;font-size:15px!important;margin-bottom:22px;letter-spacing:.025em}.contact a:focus-visible{outline-color:#f5dcaa}
.footer{padding-block:34px}.back-top{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;color:var(--muted);padding-block:8px}

@media(max-width:1100px){.hero{gap:34px}.hero-frame img{height:425px}.problem,.expertise{gap:45px}.solution-grid{gap:24px}.contact-inner{gap:44px}.contact-side{padding-left:28px}.audience{gap:22px}.audience p span{margin-inline:7px}}
@media(max-width:900px){.hero{gap:28px;padding-top:50px}.hero h1{font-size:38px}.hero-frame img{height:412px}.section{padding-block:76px}.solutions{padding-bottom:54px}.section-heading{gap:28px}.section-heading>p{max-width:290px}.solution-grid{gap:22px}.expertise{gap:35px}.expertise-title h2{font-size:31px}.contact-inner{grid-template-columns:1.15fr .85fr;gap:32px}.contact{padding-block:68px}.contact-side{padding-left:25px}.contact h2{font-size:38px}.contact .button{font-size:16px;gap:20px}}
@media(max-width:760px){.wrap{padding-inline:24px}.header{padding-block:17px;gap:12px}.header nav{display:none}.wordmark{font-size:18px;gap:10px}.wordmark img{width:43px;height:43px}.button.small{gap:14px;padding-left:15px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding-top:40px;padding-bottom:35px}.hero h1{font-size:clamp(36px,9.5vw,54px);line-height:1.38;letter-spacing:-.022em;margin-bottom:24px}.eyebrow{font-size:14px;margin-bottom:21px;letter-spacing:.025em}.hero-description{font-size:16px;line-height:1.95;margin-bottom:26px;max-width:35em}.hero .button{width:100%;max-width:400px;min-height:60px}.hero-services{font-size:14px;letter-spacing:0;margin-top:21px}.language-note{font-size:14px;margin-top:7px}.hero-frame{border-radius:48px 17px 17px 17px}.hero-frame img{height:auto;aspect-ratio:1.36;object-fit:cover}.hero-art figcaption{font-size:13px;margin-top:16px}.audience{display:block;padding-block:21px}.audience-label{display:block;margin-bottom:9px;font-size:14px}.audience p{font-size:14px;line-height:2.1}.audience p span{margin-inline:3px}.section{padding-block:65px}h2{font-size:32px;line-height:1.5}.problem,.expertise{display:block}.section-intro{margin-bottom:32px}.problem-list article{padding-block:24px;gap:20px}.problem-list article:first-child{padding-top:19px}.solutions{border-radius:28px 28px 0 0;padding-bottom:46px}.section-heading{display:block;margin-bottom:33px}.section-heading>p{margin-top:21px;max-width:none}.solution-grid{grid-template-columns:1fr;gap:42px}.card-art{height:auto;aspect-ratio:1.24;border-radius:15px}.card-art img{position:absolute;inset:0}.solution-copy{padding-top:24px}.solution-copy h3{font-size:28px;line-height:1.5;margin-bottom:15px}.solution-copy>p:not(.label){font-size:16px;margin-bottom:20px}.format{font-size:14px;padding-top:16px}.expertise-story .expertise{margin-top:-4px}.expertise-title h2{font-size:clamp(28px,7.5vw,36px)}.expertise-title>p:not(.eyebrow){max-width:none}.expertise-details{margin-top:37px}.expertise-details article{gap:16px;padding-block:22px;margin:0}.expertise-details h3{font-size:18px}.feature-index{width:31px;height:31px;flex-basis:31px}.contact{padding-block:60px;border-radius:28px 28px 0 0}.contact-inner{display:block}.contact h2{font-size:36px}.contact-side{border-left:0;border-top:1px solid #ffffff26;padding-left:0;padding-top:29px;margin-top:29px}.contact .button{max-width:400px;min-height:62px}.contact-side .contact-address{margin-top:18px;margin-bottom:19px}.footer{flex-wrap:wrap;gap:22px;padding-block:29px}.footer .wordmark{width:100%}.footer p{font-size:13px}.footer .back-top{font-size:13px}}
@media(max-width:370px){.wrap{padding-inline:19px}.wordmark{font-size:16px;gap:8px}.wordmark img{width:39px;height:39px}.header .button{font-size:13px;padding-left:12px;gap:10px}.header .button-icon{width:25px;height:25px;flex-basis:25px}.hero h1{font-size:34px}.hero .eyebrow{font-size:13px;gap:8px}.language-note{font-size:13px}.expertise-title h2{font-size:27px}.text-link{font-size:15px;gap:10px}.footer{display:block}.footer p{margin-block:18px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
