:root{--sage:#72A08F;--gold:#D9A94F;--cream:#F7F2E9;--mist:#E5EEE8;--deep:#2F4B43;--white:#FFFDF8;--ink:#26332f;--muted:#68746f;--line:rgba(47,75,67,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Noto Sans SC",system-ui,sans-serif;line-height:1.72}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3{font-family:"Noto Serif SC",serif;font-weight:600}button{font:inherit}
.site-header{height:78px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,242,233,.94);backdrop-filter:blur(16px);position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid rgba(47,75,67,.09)}.brand img{width:166px;height:54px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);font-size:14px;font-weight:500}.site-header nav>a:not(.nav-cta){position:relative}.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--deep);transition:.25s}.site-header nav>a:hover:after{right:0}.nav-cta{background:var(--deep);color:var(--white);padding:10px 20px}.menu-toggle{display:none;border:0;background:none;color:var(--deep)}
.hero{height:max(720px,100svh);max-height:940px;position:relative;color:var(--white);overflow:hidden}.hero-image{height:100%;object-fit:cover;object-position:center 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,35,30,.82),rgba(19,35,30,.52) 38%,rgba(19,35,30,.06) 72%),linear-gradient(0deg,rgba(19,35,30,.3),transparent 45%)}.hero-copy{position:absolute;left:clamp(24px,8vw,132px);top:50%;transform:translateY(-43%);max-width:720px}.eyebrow,.section-kicker{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:.24em;font-weight:600}.hero h1{font-size:clamp(48px,6.2vw,86px);line-height:1.2;letter-spacing:.015em;margin:24px 0}.hero-copy>p{font-size:clamp(16px,1.45vw,20px);color:rgba(255,255,255,.83)}.hero-actions,.contact-actions{display:flex;gap:12px;margin-top:36px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:12px 24px;font-size:14px;font-weight:600;border:1px solid transparent;transition:.25s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#22302b}.button-ghost{border-color:rgba(255,255,255,.62);color:#fff}.button-light{background:var(--white);color:var(--deep)}.hero-index{position:absolute;right:clamp(24px,5vw,76px);bottom:36px;display:flex;align-items:center;gap:14px;font-family:"Inter",sans-serif;font-size:12px;letter-spacing:.12em}.hero-index i{width:72px;height:1px;background:rgba(255,255,255,.55)}.hero-index b{font-weight:500}
.section{padding:clamp(88px,10vw,154px) clamp(24px,8vw,132px)}.section-kicker{color:var(--sage)}.section h2,.section-dark h2,.contact h2{font-size:clamp(38px,4.7vw,66px);line-height:1.3;color:var(--deep);margin:18px 0 30px}.lead{font-family:"Noto Serif SC",serif;font-size:clamp(20px,2.1vw,28px);line-height:1.65;color:var(--deep)}
.manifesto-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:10vw;margin-top:28px}.manifesto-grid h2{margin-top:0}.manifesto-grid>div{padding-top:12px}.manifesto-grid>div>p:last-child{margin-top:26px;color:var(--muted);font-size:16px;max-width:650px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:84px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.pillars a{min-height:330px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.3s}.pillars a:hover{background:var(--white);transform:translateY(-5px)}.pillars span{font-family:"Noto Serif SC",serif;color:var(--sage)}.pillars h3{font-size:25px;margin:56px 0 14px}.pillars p{font-size:15px;color:var(--muted)}.pillars b{font-size:13px;color:var(--sage);margin-top:auto;padding-top:24px}
.design{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.design-visual{position:relative}.design-visual img{aspect-ratio:4/5;object-fit:cover}.image-caption{position:absolute;right:-30px;bottom:-30px;background:var(--gold);padding:24px 28px;min-width:280px;display:grid}.image-caption span{font-size:12px}.image-caption b{font-family:"Noto Serif SC",serif;font-size:18px}.design-copy .lead{font-size:clamp(19px,1.8vw,25px)}.detail-list{margin-top:36px;border-top:1px solid var(--line)}.detail-list article{display:grid;grid-template-columns:108px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.detail-list b{font-family:"Noto Serif SC",serif;color:var(--deep)}.detail-list p{font-size:14px;color:var(--muted)}
.section-dark{background:var(--deep);color:var(--white)}.craft-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end;padding-bottom:80px}.craft-intro h2{color:var(--white);margin-bottom:0}.craft-intro>p{color:rgba(255,255,255,.68);font-size:16px;padding-bottom:12px}.craft-stage{display:grid;grid-template-columns:1.2fr .8fr}.craft-stage figure{margin:0;position:relative;min-height:700px}.craft-stage figure img{height:100%;object-fit:cover}.craft-stage figcaption{position:absolute;left:32px;bottom:28px;background:rgba(47,75,67,.9);padding:13px 18px;font-family:"Noto Serif SC",serif;font-size:15px}.craft-points{background:#263f38;padding:30px clamp(28px,4vw,58px)}.craft-points article{padding:28px 0;border-bottom:1px solid rgba(255,255,255,.13)}.craft-points article:last-child{border-bottom:0}.craft-points span{font-family:"Noto Serif SC",serif;color:var(--gold);font-size:14px}.craft-points h3{font-size:22px;margin:11px 0 7px}.craft-points p{font-size:14px;color:rgba(255,255,255,.62)}
.service{background:var(--mist)}.service-head,.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end}.service-head>div:last-child,.section-head>p{color:var(--muted);padding-bottom:32px}.text-link{display:inline-flex;gap:12px;margin-top:26px;color:var(--deep);font-weight:600}.text-link span{color:var(--gold)}.process-list{list-style:none;padding:0;margin:62px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.process-list li{min-height:224px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.process-list span{font-family:"Noto Serif SC",serif;color:var(--sage)}.process-list h3{font-size:20px;margin:40px 0 9px}.process-list p{font-size:13px;color:var(--muted)}
.cases{background:var(--white)}.section-head{margin-bottom:64px}.section-head h2{margin-bottom:0}.case-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.case-card{position:relative;overflow:hidden;background:#dbe2de;min-height:400px}.case-feature,.case-tall{grid-row:span 2;min-height:824px}.case-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease}.case-card:hover img{transform:scale(1.025)}.case-meta{position:absolute;inset:auto 0 0;padding:70px 28px 27px;color:#fff;background:linear-gradient(transparent,rgba(19,34,30,.84))}.case-meta span{font-size:11px;letter-spacing:.16em}.case-meta h3{font-size:22px;margin:7px 0 3px}.case-meta p{font-size:12px;color:rgba(255,255,255,.75)}
.about{display:grid;grid-template-columns:.74fr 1.26fr;gap:8vw;align-items:center}.about-mark{font-family:"Noto Serif SC",serif;font-size:clamp(130px,19vw,300px);line-height:.8;color:rgba(114,160,143,.22);letter-spacing:-.13em}.about-copy{max-width:760px}.about-copy>.lead{margin-bottom:26px}.about-copy>p:not(.lead){color:var(--muted);font-size:16px}.about blockquote{font-family:"Noto Serif SC",serif;font-size:21px;color:var(--deep);margin:36px 0 0;padding:22px 0 0;border-top:1px solid var(--line)}
.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--sage);color:#fff}.contact-visual{min-height:760px}.contact-visual img{height:100%;object-fit:cover}.contact-copy{padding:clamp(70px,8vw,126px);align-self:center}.contact-copy .section-kicker{color:var(--cream)}.contact h2{color:#fff}.contact-copy>p{color:rgba(255,255,255,.76);max-width:580px}.contact-actions{margin-bottom:48px}.contact dl{border-top:1px solid rgba(255,255,255,.25);margin:0}.contact dl div{display:grid;grid-template-columns:100px 1fr;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16)}.contact dt{font-size:12px;color:var(--gold)}.contact dd{margin:0;font-size:14px}
footer{background:#1d302a;color:#fff;padding:58px clamp(24px,8vw,132px) 26px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:start}.footer-brand img{width:185px}.footer-brand p{margin-top:16px;font-family:"Noto Serif SC",serif;color:rgba(255,255,255,.62)}footer nav{display:flex;gap:24px;font-size:13px;color:rgba(255,255,255,.72)}footer small{grid-column:1/3;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;color:rgba(255,255,255,.4)}
@media(max-width:1050px){.site-header nav{gap:18px}.site-header nav a:not(.nav-cta){display:none}.pillars{grid-template-columns:1fr}.pillars a{min-height:230px}.pillars h3{margin-top:30px}.design{gap:7vw}.craft-stage{grid-template-columns:1fr}.craft-stage figure{min-height:560px}.craft-points{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.process-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html{scroll-padding-top:68px}.site-header{height:68px;padding:0 20px}.brand img{width:137px;height:48px}.menu-toggle{display:flex;align-items:center;gap:5px;padding:10px 0}.menu-toggle span{display:block;width:18px;height:1px;background:var(--deep)}.menu-toggle span+span{margin-left:-23px;margin-top:8px}.menu-toggle i{font-style:normal;font-size:12px;margin-left:8px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a:not(.nav-cta){display:block}.nav-cta{text-align:center;margin-top:4px}.hero{height:760px;min-height:100svh}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(19,35,30,.8),rgba(19,35,30,.22)),linear-gradient(0deg,rgba(19,35,30,.48),transparent 60%)}.hero-copy{left:22px;right:22px;top:49%;transform:translateY(-39%)}.hero h1{font-size:clamp(39px,11vw,52px)}.hero-copy>p br{display:none}.hero-index{left:22px;right:auto;bottom:24px}.section{padding:82px 22px}.manifesto-grid,.design,.craft-intro,.service-head,.section-head,.about{grid-template-columns:1fr;gap:22px}.manifesto-grid h2,.service-head h2,.section-head h2{margin-bottom:10px}.pillars{margin-top:50px}.pillars a{padding:26px;min-height:220px}.design-visual{order:2;margin-top:20px}.design-visual img{aspect-ratio:4/4.8}.image-caption{right:12px;bottom:-22px;min-width:250px;padding:18px}.detail-list article{grid-template-columns:88px 1fr}.craft-intro{padding-bottom:50px}.craft-intro>p,.service-head>div:last-child,.section-head>p{padding-bottom:0}.craft-stage figure{min-height:420px}.craft-stage figcaption{left:18px;right:18px;bottom:18px}.craft-points{grid-template-columns:1fr;padding:24px 22px}.process-list{grid-template-columns:1fr;margin-top:44px}.process-list li{min-height:190px}.process-list h3{margin-top:28px}.case-grid{grid-template-columns:1fr}.case-card,.case-feature,.case-tall{min-height:470px;grid-row:auto}.case-feature{min-height:570px}.about-mark{font-size:120px;margin-bottom:14px}.contact{grid-template-columns:1fr}.contact-visual{min-height:470px}.contact-copy{padding:72px 22px}.contact-actions{flex-direction:column;align-items:stretch}.contact dl div{grid-template-columns:88px 1fr}footer{grid-template-columns:1fr;padding-top:48px}footer nav{flex-wrap:wrap;gap:15px 22px}footer small{grid-column:1}}
@media(max-width:420px){.hero h1{font-size:38px}.hero-actions{flex-direction:column;align-items:stretch}.section h2,.section-dark h2,.contact h2{font-size:34px}.case-card,.case-feature,.case-tall{min-height:420px}.about-mark{font-size:102px}.craft-stage figure{min-height:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.pillars a,.case-card img{transition:none}}
.brand{display:flex;align-items:center;gap:12px;color:var(--deep);white-space:nowrap}.brand img{width:48px;height:50px;object-fit:contain}.brand span{font-family:"Noto Serif SC",serif;font-size:21px;font-weight:700;letter-spacing:.08em}
@media(max-width:760px){.brand{gap:9px}.brand img{width:40px;height:42px}.brand span{font-size:17px;letter-spacing:.06em}}
