@font-face{font-family:DM Sans;src:url('/assets/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
@font-face{font-family:DM Serif;src:url('/assets/dm-serif.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#faf8f1;--ink:#0b222a;--coral:#ee7957;--page:clamp(24px,5.6vw,90px)}
body{font-family:'DM Sans',Arial,'PingFang SC','Hiragino Sans',sans-serif;color:var(--ink);background:var(--paper)}
button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #be502d;outline-offset:5px}
[hidden]{display:none!important}.icon{width:22px;height:22px;object-fit:contain;flex-shrink:0;vertical-align:middle}
.header{position:relative;z-index:4;height:90px;padding:0 var(--page);gap:35px;border:0;background:var(--paper);justify-content:initial;flex-direction:row;align-items:center}
.brand{font-family:'DM Sans',Arial,sans-serif;font-size:40px;letter-spacing:-2.2px;line-height:1;font-weight:800;color:var(--ink)}.brand span{color:#e86849}
.site-nav{display:flex;gap:35px;margin-left:auto;font-size:15px}.site-nav a{text-decoration:none;border-bottom:1px solid transparent;padding:12px 0}.site-nav a:hover{border-color:currentColor}
.header__contact{font-size:15px;text-decoration:none;border:1px solid currentColor;border-radius:24px;padding:12px 25px;white-space:nowrap}
.language{position:relative;font-size:15px;max-width:220px;margin:0;display:block;text-transform:none;letter-spacing:0}.language summary{list-style:none;display:flex;gap:9px;align-items:center;cursor:pointer;padding:10px 0}.language summary::-webkit-details-marker{display:none}
.language nav{position:absolute;top:100%;right:0;min-width:210px;padding:10px;background:var(--paper);color:var(--ink);box-shadow:0 12px 32px #10282d25;border:1px solid #c9ccc6;display:grid;z-index:10}.language a{padding:9px 12px;text-decoration:none;font-size:15px;line-height:1.5}.language a:hover,.language a[aria-current]{background:#f1e7da;border-radius:4px}
.hero{isolation:isolate;position:relative;overflow:hidden;display:block;padding:0;min-height:clamp(640px,62vw,860px);background:transparent;color:var(--ink)}
.hero__inner{position:relative;z-index:2;width:58%;max-width:850px;padding:clamp(60px,9vw,130px) 0 110px var(--page)}
.hero .eyebrow{margin:0 0 30px;max-width:27em;font-size:11px;line-height:1.8;letter-spacing:3px;text-transform:uppercase;color:inherit}
.hero h1{font-size:clamp(56px,6.4vw,98px);line-height:1;letter-spacing:-4px;margin:0 0 32px;font-weight:750;max-width:none;text-wrap:balance}.hero h1 span{display:block}.hero h1 span+span{margin-top:8px}
.hero__lead{font-size:clamp(19px,2vw,27px);line-height:1.4;max-width:25em;margin:0 0 36px;color:inherit}.actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap}
.button{border-radius:7px;padding:17px 26px;font-size:16px;min-height:54px;display:inline-flex;gap:22px;align-items:center;transition:transform .2s,box-shadow .2s;background:var(--coral);color:var(--ink);font-weight:600;white-space:normal}
.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 #0b222a15}.text-link{font-size:15px;gap:18px;display:inline-flex;align-items:center;text-decoration:none;padding:9px 0;border-bottom:1px solid currentColor}.text-link:hover .icon{transform:translateX(4px)}
.hero__visual{position:absolute;inset:0;z-index:0;transition:transform .7s ease-out;pointer-events:none}.hero__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.motion-toggle{position:absolute;z-index:3;right:var(--page);bottom:24px;border:1px solid currentColor;color:inherit;background:transparent;border-radius:24px;padding:9px 16px;font:inherit;font-size:12px;cursor:pointer;min-height:40px}.motion-toggle[aria-pressed=true]{background:#eef0e5;color:var(--ink)}.motion-toggle:disabled{cursor:default}
.hero__credits{position:absolute;z-index:3;bottom:20px;left:var(--page);right:var(--page);display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.visual-notice{font-size:12px;line-height:1.5;margin:0;max-width:44em;padding:7px 10px;border-radius:4px;background:var(--paper);color:var(--ink)}
.hero__credits .motion-toggle{position:static;flex-shrink:0;background:var(--paper);color:var(--ink)}
.footer__licenses{font-size:12px;line-height:1.6}
.section,.contact,.privacy,.footer{padding-left:var(--page);padding-right:var(--page)}.services{padding-top:55px;padding-bottom:65px}.section__intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;margin-bottom:45px;align-items:start}.section__intro .kicker{grid-column:1;margin:4px 0 0;font-size:11px;letter-spacing:3px;color:#455760}.section__intro h2{font-size:24px;letter-spacing:-.7px;margin:0;grid-column:1;grid-row:2;max-width:25em}.section__intro .service-summary{grid-column:2;grid-row:1 / 3;font-size:17px;margin:0;line-height:1.5;max-width:30em;justify-self:end}
.service-grid{gap:0}.service{padding:0 34px;border:0;border-left:1px solid #d4d7d1}.service:first-child{padding-left:0;border-left:0}.service:last-child{padding-right:0}.service h3{font-size:24px;line-height:1.2;letter-spacing:-.7px;margin:22px 0 16px}.service p{font-size:16px;line-height:1.6;margin:0;color:#42515a}.service__num{font-size:13px;color:#bb4e33;display:block;font-weight:650;letter-spacing:1px}.service__icon{width:66px;height:66px;background:#f5e6d8;display:flex;align-items:center;justify-content:center;border-radius:50%}.service__icon .icon{width:34px;height:34px}
.approach{border-top:1px solid #d4d7d1;padding-top:70px;padding-bottom:70px}.approach h2,.faq h2,.contact h2{letter-spacing:-1px;line-height:1.1;max-width:22ch}.contact{background:#e2ede6;gap:35px}.button--dark{background:var(--ink);color:var(--paper)}.button--dark .icon{filter:invert(1)}.footer{gap:30px}.privacy{background:#f0eee7}.footer__brand{font-weight:800}
[data-theme=atlas] .header{color:#faf8f1;background:#0a2026}[data-theme=atlas] .brand{color:#faf8f1}[data-theme=atlas] .language summary .icon{filter:invert(1)}
[data-theme=atlas] .hero{background:#0a2026;color:#faf8f1}[data-theme=atlas] .hero__inner{width:62%;padding-top:100px;max-width:920px}[data-theme=atlas] .hero h1{font-size:clamp(58px,6.5vw,100px)}[data-theme=atlas] .hero h1 span+span{color:#ff926e}[data-theme=atlas] .hero__lead{max-width:21em}[data-theme=atlas] .text-link .icon{filter:invert(1)}[data-theme=atlas] .service__num{display:none}
[data-theme=editorial] .hero__inner{padding-top:58px;width:51%;padding-bottom:180px}[data-theme=editorial] .hero h1{font-family:'DM Serif',Georgia,serif;font-weight:400;font-size:clamp(68px,9.6vw,140px);line-height:.9;letter-spacing:-3px;max-width:6.2em}[data-theme=editorial] .hero .eyebrow{display:none}[data-theme=editorial] .hero__lead{font-size:clamp(19px,1.8vw,25px);max-width:23em}[data-theme=editorial] .services{padding-top:35px}[data-theme=editorial] .section__intro{display:none}[data-theme=editorial] .service-grid{display:block}[data-theme=editorial] .service{border:0;border-bottom:1px solid #c9cdc7;display:grid;grid-template-columns:110px minmax(200px,1fr) 1.6fr;gap:32px;padding:30px 0;align-items:center}[data-theme=editorial] .service:last-child{border-bottom:0}[data-theme=editorial] .service__num{font-family:'DM Serif',Georgia,serif;font-size:58px;font-weight:400;font-style:italic}[data-theme=editorial] .service h3{font-family:'DM Serif',Georgia,serif;font-weight:400;font-size:clamp(34px,3.6vw,52px);letter-spacing:-1.5px;margin:0;border-left:1px solid #c9cdc7;padding-left:32px}[data-theme=editorial] .service p{font-size:17px;max-width:32em}
[data-theme=signal] .hero{min-height:clamp(650px,65vw,940px)}[data-theme=signal] .hero__inner{width:50%;padding-top:100px;padding-bottom:80px}[data-theme=signal] .hero .eyebrow{display:none}[data-theme=signal] .hero h1{font-size:clamp(68px,7.5vw,112px);max-width:7em}[data-theme=signal] .hero h1 span+span{margin-top:20px}[data-theme=signal] .hero__lead{max-width:22em}[data-theme=signal] .hero__visual{inset:6% -1% 4% 46%;display:flex;align-items:center}[data-theme=signal] .hero__image{height:auto;object-fit:contain;filter:drop-shadow(0 22px 15px #122f3220)}[data-theme=signal] .services{padding-top:0}[data-theme=signal] .section__intro{display:none}[data-theme=signal] .service-grid{border-top:1px solid #aeb8b5;padding-top:30px;gap:35px}[data-theme=signal] .service{border:0;padding:0}[data-theme=signal] .service h3{font-size:25px}
.design-preview{background:#eef0e5;display:flex;align-items:center;gap:8px;padding:10px var(--page);font-size:12px;flex-wrap:wrap;border-bottom:1px solid #c5cdc4}.design-preview>a{padding:8px 12px;text-decoration:none;border-radius:5px}.design-preview>a[aria-current]{background:#17343a;color:white}.design-preview__note{margin-left:auto;color:#50615d}
[data-theme=atlas] .hero h1 span+span{font-size:1.13em}[data-theme=atlas] .section__intro .kicker{display:none}[data-theme=atlas] .section__intro h2{grid-row:1 / 3;font-size:13px;text-transform:uppercase;letter-spacing:2px;font-weight:500;line-height:1.7}[data-theme=atlas] .hero__lead{max-width:22em;font-size:clamp(22px,2.3vw,29px)}
.actions{margin-top:0}.service-grid{margin-top:0}.section__intro{margin-bottom:35px}.button{font-size:18px;padding:18px 32px}.hero h1{font-weight:800}[data-theme=atlas] .hero__lead{max-width:18em;line-height:1.3}
[data-theme=editorial]{--coral:#ed684c}
[data-theme=editorial] .header__contact{background:var(--coral);border-color:var(--coral)}
[data-theme=editorial] .hero{min-height:clamp(600px,58vw,820px)}
[data-theme=editorial] .hero__inner{padding-bottom:155px}
[data-theme=editorial] .hero__inner{padding-top:44px}
[data-theme=editorial] .hero h1{font-size:clamp(68px,9vw,140px);margin-bottom:18px}
[data-theme=editorial] .hero h1 span+span{margin-top:0}
[data-theme=editorial] .hero__lead{margin-bottom:22px}
[data-theme=editorial] .text-link{background:#faf8f1ed;padding:10px 14px;border:0;border-radius:4px}
[data-theme=editorial] .services{padding-top:25px}
[data-theme=editorial] .service{grid-template-columns:140px minmax(220px,1.1fr) 1.5fr}
[data-theme=editorial] .service h3{font-size:clamp(34px,4.2vw,60px);line-height:1}
[data-theme=signal] .hero__inner{padding-top:130px;padding-bottom:55px}
[data-theme=signal] .hero h1{font-size:clamp(68px,8.3vw,112px)}
[data-theme=signal] .hero__lead{font-size:clamp(22px,2.3vw,29px);max-width:18em;line-height:1.3}
[data-theme=signal] .hero .button{font-size:20px;padding:20px 36px}
[data-theme=signal] .service h3{font-size:28px}
[data-theme=signal] .service p{font-size:18px}
/* Motion is progressive enhancement. Unscripted and reduced-motion pages
   always render complete visible content. Transform-only effects avoid layout. */
@keyframes atlas-drift{0%,100%{transform:scale(1.015) translateY(0)}50%{transform:scale(1.035) translateY(-8px)}}
@keyframes editorial-drift{0%,100%{transform:scale(1.02)}50%{transform:scale(1.055) translate(-5px,-6px)}}
@keyframes signal-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-15px) rotate(1deg)}}
[data-motion=running][data-theme=atlas] .hero__image{animation:atlas-drift 12s ease-in-out infinite}
[data-motion=running][data-theme=editorial] .hero__image{animation:editorial-drift 18s ease-in-out infinite}
[data-motion=running][data-theme=signal] .hero__image{animation:signal-float 9s ease-in-out infinite}
[data-motion=running] .reveal-ready{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}[data-motion=running] .reveal-ready.is-visible{opacity:1;transform:none}
[data-motion=paused] .hero__visual{transition:none}[data-motion=paused] .reveal-ready{opacity:1;transform:none;transition:none}
html[data-motion=paused]{scroll-behavior:auto}
[data-motion=paused] .button:hover{transform:none;transition:none}
[data-motion=paused] .text-link:hover .icon{transform:none}
:root:lang(zh-CN) .hero h1,:root:lang(ja-JP) .hero h1,:root:lang(ko-KR) .hero h1,:root:lang(th-TH) .hero h1{font-size:clamp(42px,5.2vw,78px);letter-spacing:-1px;line-height:1.18}
@media(min-width:1600px){.hero__inner{max-width:1000px}.hero{min-height:860px}}
@media(max-width:1050px){.header{gap:22px}.site-nav{gap:20px}.hero h1{letter-spacing:-2.5px}.hero__inner{width:65%}[data-theme=signal] .hero__inner{width:55%}[data-theme=editorial] .hero__inner{width:60%}.actions{gap:22px}.hero__lead{font-size:21px}.service h3{font-size:22px}[data-theme=editorial] .service{grid-template-columns:70px 1fr 1.5fr;gap:20px}.section__intro{gap:20px}}
@media(max-width:760px){.header{height:auto;min-height:80px;padding:18px var(--page);gap:18px;flex-wrap:wrap}.brand{font-size:32px}.site-nav{order:4;width:100%;justify-content:flex-start;font-size:14px}.site-nav a{padding:3px 0}.language{margin-left:auto;font-size:13px}.header__contact{display:none}.language .icon{width:19px;height:19px}.hero{min-height:0}.hero__inner,[data-theme=atlas] .hero__inner,[data-theme=editorial] .hero__inner,[data-theme=signal] .hero__inner{width:100%;padding:55px var(--page) 85px;max-width:none}.hero h1,[data-theme=atlas] .hero h1,[data-theme=signal] .hero h1{font-size:clamp(49px,9vw,68px);max-width:12ch;letter-spacing:-2px}.hero__lead{font-size:19px;max-width:26em}.hero .eyebrow{margin-bottom:25px;font-size:10px;letter-spacing:2px}[data-theme=atlas] .hero__image{opacity:.38;object-position:62% center}[data-theme=atlas] .hero__inner{width:100%;padding-bottom:100px}[data-theme=editorial] .hero__inner{padding-bottom:250px}[data-theme=editorial] .hero h1{font-size:clamp(66px,12vw,94px);max-width:7ch}[data-theme=editorial] .hero__image{object-position:42% center;opacity:.7}[data-theme=signal] .hero{display:flex;flex-direction:column;min-height:0}[data-theme=signal] .hero__inner{padding-bottom:25px}[data-theme=signal] .hero__visual{position:relative;inset:auto;align-self:center;width:min(88%,480px);padding-bottom:65px}[data-theme=signal] .hero__image{height:auto}[data-theme=signal] .hero h1{max-width:11ch}[data-theme=signal] .hero h1 span+span{margin-top:14px}.motion-toggle{font-size:11px;bottom:20px}.section__intro{display:block}.section__intro h2{font-size:27px;margin:16px 0 20px}.section__intro .service-summary{font-size:16px}.service-grid{display:block}.service,.service:first-child,.service:last-child{padding:26px 0;border:0;border-bottom:1px solid #d4d7d1}.service h3{font-size:24px}.approach{display:block}.approach__body{font-size:19px;margin-top:30px}.contact{display:block}.contact .button{margin-top:25px}.footer{display:block}.footer__details{margin:20px 0}.design-preview{gap:2px}.design-preview__note{display:none}[data-theme=editorial] .service{grid-template-columns:50px 1fr;gap:15px;padding:25px 0}[data-theme=editorial] .service h3{font-size:35px;padding-left:18px}[data-theme=editorial] .service p{grid-column:2;font-size:16px;padding-left:18px}[data-theme=editorial] .service__num{font-size:43px}[data-theme=signal] .service-grid{padding-top:0}[data-theme=signal] .service h3{font-size:24px}:root:lang(zh-CN) .hero h1,:root:lang(ja-JP) .hero h1,:root:lang(ko-KR) .hero h1,:root:lang(th-TH) .hero h1{font-size:clamp(39px,8.3vw,60px);max-width:13ch}}
@media(max-width:760px){[data-theme=editorial] .hero h1{max-width:none;overflow-wrap:anywhere}[data-theme=signal] .hero__visual{order:1;padding-bottom:90px}[data-theme=signal] .hero__lead{font-size:21px}[data-theme=signal] .service p{font-size:16px}.hero__credits{gap:10px}.visual-notice{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.hero__visual,.reveal-ready{transform:none!important}.reveal-ready{opacity:1!important}.button:hover{transform:none!important}}
