:root{--paper:#faf8f3;--white:#fff;--ink:#221f1d;--mute:#59514a;--line:#d8cfc4;--red:#af132d;--orange:#ff7a37;--dark:#25211e;font-family:'Instrument Sans',Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:17px;line-height:1.55}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d7491d;outline-offset:4px}
.wrap{width:min(1310px,calc(100% - clamp(32px,9vw,144px)));margin-inline:auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:142px}.logo{display:block;width:clamp(288px,34vw,430px);aspect-ratio:1326/352;position:relative;overflow:hidden;flex-shrink:0;background:white;border-radius:4px}.logo img{position:absolute;width:109.2%;height:auto;left:-4.9%;top:-52.6%}
nav{display:flex;align-items:center;gap:clamp(10px,1.7vw,25px)}nav a{text-decoration:none;font-weight:680;font-size:14px}nav a:hover{color:var(--red)}.language-picker{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}.language-picker select{width:auto;padding:7px 11px;border-radius:100px;background:transparent}
.hero{display:grid;grid-template-columns:.92fr 1.15fr;gap:clamp(24px,5vw,74px);align-items:center;padding-block:18px clamp(35px,5vw,72px)}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:850;color:var(--red);margin:0 0 15px}.eyebrow span,.route span,.signature span{color:#bb331e}
h1,h2,h3{margin:0;line-height:1.03;text-wrap:balance;letter-spacing:-.046em}h1{font-size:clamp(41px,5.4vw,78px);font-weight:860}h2{font-size:clamp(33px,4.6vw,64px);font-weight:800}h3{font-size:clamp(22px,2.6vw,35px);font-weight:800}
.lead{font-size:clamp(17px,1.65vw,22px);max-width:39ch;margin-block:20px 23px;color:var(--mute)}
.cta{background:var(--orange);color:#211713;border:0;border-radius:100px;padding:12px 20px;text-decoration:none;display:inline-flex;align-items:center;gap:18px;font-weight:820;transition:transform .2s,background .2s}.cta::after{content:"↗"}.cta:hover{transform:translateY(-2px);background:#ff985c}
.hero-image{margin:0;position:relative;overflow:hidden;border-radius:4px;background:#d8b09a;isolation:isolate}.hero-image img{display:block;width:100%;height:clamp(320px,39vw,545px);object-fit:cover;object-position:56% 50%}.hero-image figcaption{font-size:12px;background:#221f1de8;color:#fff;position:absolute;bottom:0;right:0;padding:7px 11px}
.motto{background:var(--dark);color:white;font-size:clamp(17px,2.4vw,33px);font-weight:780;letter-spacing:-.035em;padding-block:17px}.motto span{color:#ffad80}
.story,.method{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,6vw,95px);padding-block:clamp(50px,8vw,114px);align-items:start}.story h2+p{margin-top:24px}.story p:not(.eyebrow,.route,.character){max-width:61ch}.journey{background:#f0e7db;padding:clamp(23px,4vw,54px);overflow:hidden;position:relative}.route{font-size:clamp(27px,4.15vw,59px);font-weight:820;letter-spacing:-.055em;margin:0}.character{color:#af132d;font-size:clamp(75px,12vw,180px);line-height:1;margin:25px 0 0;font-family:'PingFang SC',sans-serif}.signature{font-weight:820}
.services{background:#f1e9df;padding-block:clamp(50px,7vw,92px)}.service-list{margin-top:30px;border-top:1px solid #cabeb1}.service-list article{display:grid;grid-template-columns:.9fr 1.25fr auto;gap:clamp(14px,3vw,40px);align-items:start;padding:23px 0;border-bottom:1px solid #cabeb1}.service-list p{margin:0}.service-list .deliverable{margin-top:8px;font-weight:750}.service-list a{color:var(--red);font-weight:780;text-underline-offset:4px}
.method ol{margin:0;padding:0;list-style:none;counter-reset:phase}.method li{display:grid;grid-template-columns:42px 1fr;gap:10px;counter-increment:phase;border-top:1px solid var(--line);padding-block:13px}.method li::before{content:counter(phase,decimal-leading-zero);font-weight:820;color:var(--red)}.method li strong{display:block}.method li p,.roles p{margin:3px 0 0;color:var(--mute)}
.roles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);padding-top:24px}.roles h3{font-size:24px}
.start{background:var(--dark);color:white;padding-block:clamp(48px,8vw,96px)}.start .eyebrow{color:#ffad80}.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,7vw,105px)}.preview{color:#e7cbbd;font-size:14px}
form,label{display:grid;gap:5px}form{gap:14px}label{font-weight:680}input,textarea,select{background:white;color:var(--ink);width:100%;border:1px solid var(--line);border-radius:5px;padding:10px}textarea{resize:vertical}form .cta{justify-self:start}output{white-space:pre-wrap;overflow-wrap:anywhere}output:not(:empty){background:#42352e;border-left:3px solid var(--orange);padding:13px}
footer{display:flex;justify-content:space-between;gap:16px;padding-block:23px;font-size:14px}
@media(max-width:780px){.top{min-height:0;flex-wrap:wrap;padding-block:14px;gap:10px}.top nav{order:3;width:100%;flex-wrap:wrap}.hero,.story,.method,.roles,.start-grid,.service-list article{grid-template-columns:1fr}.hero-image img{height:clamp(240px,64vw,410px)}.service-list article{gap:10px}.story .journey{order:2}.hero{padding-top:20px}.roles{gap:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}

.hero .eyebrow{display:inline-block;border-bottom:2px solid var(--orange);padding-bottom:6px;letter-spacing:.17em}
@media(max-width:950px){.top{flex-wrap:wrap;gap:10px;padding-block:14px}.top nav{order:3;width:100%;flex-wrap:wrap}.logo{width:min(100%,clamp(288px,47vw,430px))}}
@media(max-width:510px){.top .language-picker{margin-left:auto}.top .logo{width:min(100%,310px)}}
.top{border-bottom:1px solid var(--line)}
.hero{padding-top:clamp(22px,3.5vw,49px)}
.hero-image{border-radius:2px}
.motto{font-family:'Instrument Serif',Georgia,serif;font-weight:500;letter-spacing:-.025em}
.motto span{font-style:italic}
:lang(zh-Hans) h1,:lang(zh-Hans) h2,:lang(zh-Hans) h3{letter-spacing:0}
@media(max-width:510px){.top{display:grid;grid-template-columns:1fr;justify-items:start}.top .language-picker{margin-left:0}.top nav{order:2}}
