.hero{padding:96px 0 84px;position:relative}.hero-grid{grid-template-columns:1.15fr .85fr;grid-template-areas:"intro flow""toc flow";align-items:start;gap:36px 64px;display:grid}.hero-intro{grid-area:intro}.hero-grid>.flow{grid-area:flow;align-self:center}.hero-grid>.toc{grid-area:toc}.hero h1{margin:8px 0 26px;font-size:clamp(2.5rem,5.4vw,4.2rem)}.hero h1 em{color:var(--clay-deep);font-style:italic}.hero p.lead{color:var(--ink-soft);max-width:34ch;margin-bottom:34px;font-size:1.22rem}.btn-row{flex-wrap:wrap;gap:14px;display:flex}.btn{border-radius:999px;padding:14px 26px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}.btn-primary{background:var(--forest);color:var(--paper)}.btn-primary:hover{background:var(--forest-2);transform:translateY(-2px)}.btn-ghost{color:var(--ink);border:1.5px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.toc{max-width:380px;margin-top:6px}.toc-title{font-family:var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--clay-deep);margin-bottom:14px;font-size:.78rem;font-weight:600}.toc-list{list-style:none}.toc-list li{border-top:1px solid var(--line)}.toc-list a{color:var(--ink);font-family:var(--display);align-items:baseline;gap:14px;padding:11px 2px;font-size:1.12rem;text-decoration:none;transition:color .2s,padding-left .2s;display:flex}.toc-list a:hover{color:var(--clay-deep);padding-left:6px}.toc-num{font-family:var(--body);color:var(--clay-deep);min-width:18px;font-size:.8rem;font-weight:700}.flow{background:var(--forest);color:var(--paper);border-radius:22px;padding:34px 30px;box-shadow:0 26px 54px -30px #14241f61}.flow .ft{font-family:var(--display);color:var(--sage);margin-bottom:22px;font-size:1.15rem}.flow-step{border-top:1px solid var(--line-light);align-items:flex-start;gap:16px;padding:16px 0;display:flex}.flow-step:first-of-type{border-top:0;padding-top:0}.flow-num{font-family:var(--display);color:var(--clay);min-width:30px;font-size:1.05rem}.flow-step h4{font-family:var(--body);margin-bottom:2px;font-size:1.02rem;font-weight:600}.flow-step p{color:#f4f1e9bd;font-size:.92rem;line-height:1.5}.flow-arrow{color:var(--clay);text-align:center;opacity:.7;margin:-4px 0 -4px 8px;font-size:1rem}.section-head{max-width:46ch;margin-bottom:52px}.section-head h2{margin-bottom:18px;font-size:clamp(2rem,3.6vw,2.9rem)}.section-head p{color:var(--ink-soft);font-size:1.1rem}.dark{background:var(--forest);color:var(--paper)}.dark .section-head p{color:#f4f1e9c7}.dark h2,.dark h3{color:var(--paper)}.integ-grid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.integ-copy p{color:#f4f1e9d1;max-width:46ch;margin-bottom:18px;font-size:1.08rem}.minimal{background:var(--forest-2);border-radius:20px;padding:34px 32px}.minimal .mt{font-family:var(--display);color:var(--paper);margin-bottom:24px;font-size:1.3rem}.minimal-item{border-top:1px solid var(--line-light);gap:14px;padding:18px 0;display:flex}.minimal-item:first-of-type{border-top:0;padding-top:0}.minimal-item .dot{color:var(--clay);font-weight:700;line-height:1.4}.minimal-item b{font-family:var(--body);color:var(--paper);margin-bottom:1px;font-weight:600;display:block}.minimal-item span.t{color:#f4f1e9b8;font-size:.94rem}.project-card{background:var(--paper-2);border:1px solid var(--line);border-radius:22px;max-width:760px;padding:42px 40px}.tag{letter-spacing:.12em;text-transform:uppercase;color:var(--clay-deep);background:#c36a3c1f;border-radius:999px;margin-bottom:20px;padding:6px 13px;font-size:.72rem;font-weight:700;display:inline-block}.project-card h3{margin-bottom:16px;font-size:1.7rem}.project-card p{color:var(--ink-soft);max-width:60ch;margin-bottom:14px}.project-card .muted{color:var(--ink-soft);opacity:.8;font-size:.95rem}.project-card+.project-card{margin-top:20px}.cat-grid{background:var(--line);border:1px solid var(--line);border-radius:20px;grid-template-columns:repeat(3,1fr);gap:2px;display:grid;overflow:hidden}.cat{background:var(--paper);padding:30px 28px;transition:background .25s}.cat:hover{background:var(--paper-2)}.cat h3{font-family:var(--body);margin-bottom:8px;font-size:1.08rem;font-weight:600}.cat .idx{font-family:var(--display);color:var(--clay-deep);margin-bottom:14px;font-size:.95rem;display:block}.cat p{color:var(--ink-soft);font-size:.95rem}.serv-grid{grid-template-columns:repeat(2,1fr);gap:38px 56px;display:grid}.serv{border-top:1.5px solid var(--line-light);padding-top:20px}.serv h3{font-family:var(--body);color:var(--paper);margin-bottom:8px;font-size:1.15rem;font-weight:600}.serv p{color:#f4f1e9bd;max-width:42ch;font-size:1rem}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.about-copy p{color:var(--ink-soft);max-width:50ch;margin-bottom:18px;font-size:1.1rem}.stat{font-family:var(--display);color:var(--forest);font-size:clamp(3rem,7vw,5rem);line-height:1}.stat-sub{color:var(--ink-soft);max-width:30ch;margin-top:10px;font-size:1.05rem}.contact-box{background:var(--forest);color:var(--paper);border-radius:26px;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:60px 56px;display:grid}.contact-box h2{margin-bottom:14px;font-size:clamp(2rem,3.4vw,2.7rem)}.contact-box p{color:#f4f1e9cc;max-width:36ch;margin-bottom:26px}.contact-meta{font-size:1.02rem;line-height:2}.contact-meta a{color:var(--sage);text-decoration:none}.contact-meta a:hover{color:var(--paper)}.contact-meta .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-top:18px;margin-bottom:2px;font-size:.74rem;display:block}.contact-meta .lbl:first-child{margin-top:0}.smark{color:var(--clay-deep);margin-bottom:14px;line-height:0;display:block}.smark svg{width:44px;height:44px}.smark.on-dark{color:var(--sage)}.hero-motif{width:430px;max-width:44%;color:var(--ink);opacity:.1;pointer-events:none;z-index:0;position:absolute;top:26px;right:-16px}.sig-wrap{justify-content:flex-end;margin:-4px 0 28px;display:flex}#integration .section-head{margin-bottom:20px}.sig-wrap .sig{width:min(380px,82%);height:auto;color:var(--sage)}.integ-side .sig-wrap{justify-content:center;margin:0 0 24px}.integ-side .sig{width:min(360px,100%)}@media (width<=880px){.hero-motif{display:none}.sig-wrap{justify-content:center;margin:0 0 30px}.sig-wrap .sig{width:100%}.hero-grid,.integ-grid,.about-grid,.contact-box{grid-template-columns:1fr;gap:40px}.hero-grid{grid-template-areas:"intro""flow""toc"}.cat-grid{grid-template-columns:1fr}.serv-grid{grid-template-columns:1fr;gap:26px}.contact-box{padding:44px 30px}}
