:root{color-scheme:light;--ink:#16221f;--muted:#63716d;--paper:#f7f4ed;--panel:#ffffff;--line:#d8ddd7;--green:#1f6b52;--blue:#285f8f;--coral:#d46048;--gold:#b88424}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.site-header{background:rgba(247,244,237,.92);border-bottom:1px solid var(--line);justify-content:space-between;left:0;min-height:72px;padding:14px clamp(20px,5vw,72px);position:-webkit-sticky;position:sticky;right:0;top:0;z-index:10}.brand,.company-copy,.contact,.flow-grid,.footer,.hero-actions,.nav,.nav-contact,.primary-button,.request-card,.site-header,.work-item{align-items:center;display:flex}.brand{font-weight:800;gap:10px}.brand-logo{background:#fff;border-radius:8px;height:44px;object-fit:contain;padding:4px;width:68px}.brand small{display:block;font-size:11px;font-weight:800;line-height:1.1;margin-top:1px}.brand small,.nav{color:var(--muted)}.nav{font-size:14px;gap:22px}.nav a:hover{color:var(--ink)}.nav-contact{background:var(--ink);border-radius:8px;color:#fff;gap:8px;padding:8px 12px}.company-copy svg,.nav-contact svg,.primary-button svg,.service-card svg,.work-item svg{height:18px;width:18px}.hero{display:grid;grid-gap:clamp(32px,7vw,88px);gap:clamp(32px,7vw,88px);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:calc(100vh - 72px);padding:clamp(54px,8vw,104px) clamp(20px,5vw,72px) 48px}.hero-content{align-self:center;max-width:780px}.eyebrow{color:var(--green);font-size:13px;font-weight:800;margin:0 0 14px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:64px;line-height:1.14;margin-bottom:24px}h2{font-size:38px;line-height:1.25;margin-bottom:16px}h3{font-size:20px;line-height:1.35;margin-bottom:10px}.hero-copy{color:#41504c;font-size:18px;max-width:680px}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:32px}.primary-button,.secondary-button{border-radius:8px;display:inline-flex;justify-content:center;font-weight:800;min-height:48px;padding:12px 18px;text-align:center}.primary-button{align-items:center;background:var(--coral);color:#fff;gap:10px}.secondary-button{border:1px solid var(--ink);color:var(--ink)}.hero-visual{align-self:center;background:linear-gradient(135deg,rgba(31,107,82,.12),transparent 38%),linear-gradient(315deg,rgba(40,95,143,.18),transparent 46%),#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 26px 80px rgba(22,34,31,.12);min-height:560px;overflow:hidden;padding:24px;position:relative}.visual-topline{color:var(--muted);display:flex;font-size:13px;justify-content:space-between}.status-pill{background:#e5f2ed;border-radius:999px;color:var(--green);font-weight:800;padding:2px 10px}.visual-stage{background:radial-gradient(circle at 78% 32%,rgba(112,232,211,.55),transparent 24%),linear-gradient(135deg,rgba(4,22,29,.98),rgba(14,57,54,.94));border-radius:8px;color:#fff;margin-top:34px;min-height:280px;overflow:hidden;padding:36px 30px 48px;position:relative}.visual-stage:after,.visual-stage:before{background:rgba(119,219,201,.13);border-radius:8px 0 8px 0;content:"";height:36px;position:absolute;width:36px}.visual-stage:before{right:150px;top:86px}.visual-stage:after{right:30px;top:30px}.stage-copy{max-width:62%;position:relative;z-index:2}.stage-kicker{align-items:center;color:#6fe0ba;display:flex;font-weight:800;gap:14px;margin-bottom:24px}.stage-icon{align-items:center;background:rgba(111,224,186,.12);border-radius:8px;display:inline-flex;height:58px;justify-content:center;width:58px}.stage-icon svg{height:30px;width:30px}.stage-copy strong{display:block;font-size:42px;line-height:1.18;margin-bottom:22px}.stage-copy p{color:rgba(255,255,255,.92);font-size:15px;font-weight:800;margin:0}.stage-copy p span{color:#61d9ab;display:block;margin-top:4px}.open-door{bottom:4px;height:240px;position:absolute;right:22px;width:330px}.door-glow{background:radial-gradient(circle,rgba(255,255,255,.96),rgba(107,233,220,.34) 44%,transparent 72%);border-radius:50%;filter:blur(2px);height:188px;position:absolute;right:68px;top:0;width:172px}.door-panel{background:linear-gradient(90deg,#fff,#d9fff7);box-shadow:0 0 42px rgba(139,244,229,.72);-webkit-clip-path:polygon(22% 0,100% 14%,100% 100%,22% 84%);clip-path:polygon(22% 0,100% 14%,100% 100%,22% 84%);height:150px;right:110px;top:24px}.door-panel,.door-side{position:absolute;width:76px}.door-side{border:2px solid rgba(170,255,241,.72);-webkit-clip-path:polygon(10% 11%,100% 0,100% 100%,10% 88%);clip-path:polygon(10% 11%,100% 0,100% 100%,10% 88%);height:158px;right:46px;top:16px}.stair{background:linear-gradient(90deg,rgba(236,255,250,.96),rgba(139,196,190,.58));box-shadow:0 12px 20px rgba(0,0,0,.24);height:26px;position:absolute;transform:skewX(-28deg)}.stair-1{bottom:34px;right:48px;width:188px}.stair-2{bottom:62px;right:80px;width:158px}.stair-3{bottom:90px;right:112px;width:126px}.stair-4{bottom:118px;right:144px;width:94px}.dashed-path{border:3px dashed rgba(83,225,190,.78);border-left:0;border-bottom:0;border-radius:50%;position:absolute}.path-a{height:84px;right:-8px;top:84px;transform:rotate(20deg);width:142px}.path-b{height:98px;right:34px;top:160px;transform:rotate(198deg);width:190px}.visual-step-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:-38px 14px 0;position:relative;z-index:3}.visual-step{align-items:center;background:rgba(255,255,255,.96);border:1px solid rgba(216,221,215,.8);border-radius:8px;box-shadow:0 16px 36px rgba(22,34,31,.14);display:grid;grid-gap:14px;gap:14px;grid-template-columns:auto minmax(0,1fr) auto;min-height:118px;overflow:hidden;padding:18px;position:relative}.visual-step:after{bottom:0;content:"";height:4px;left:0;position:absolute;right:0}.visual-step-blue:after{background:#2f68b8}.visual-step-green:after{background:#35b99b}.visual-step-violet:after{background:#7352d8}.visual-step-icon{align-items:center;background:#f1f4f8;border-radius:50%;color:#2f68b8;display:inline-flex;height:56px;justify-content:center;width:56px}.visual-step-icon svg,.visual-step>svg{height:24px;width:24px}.visual-step span,.visual-step strong{display:block}.visual-step strong{font-size:22px;line-height:1.25}.visual-step span{color:var(--muted);font-size:13px;font-weight:800}.visual-step>svg{color:#2f68b8}.visual-step-violet>svg{color:#7352d8}.stack-lines{bottom:28px;display:grid;grid-gap:10px;gap:10px;left:24px;position:absolute;right:24px}.stack-lines span{background:rgba(205,213,207,.45);border-radius:999px;display:block;height:10px}.stack-lines span:first-child{width:84%}.stack-lines span:nth-child(2){width:62%}.stack-lines span:nth-child(3){width:76%}.stack-lines span:nth-child(4){width:48%}.section{padding:86px clamp(20px,5vw,72px)}.section-heading{max-width:760px}.company-copy p,.contact p,.section-heading p:not(.eyebrow),.service-card p,.value-item p{color:var(--muted)}.service-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:34px}.service-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px}.service-card svg{color:var(--coral);margin-bottom:28px}.split-section{background:#fff;display:grid;grid-gap:36px;gap:36px;grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr)}.work-list{display:grid;grid-gap:12px;gap:12px}.product-card{background:var(--ink);border-radius:8px;color:#fff;margin-top:28px;padding:24px}.product-card h3{font-size:28px;margin-bottom:8px}.product-card p{color:#d7e0dc;margin-bottom:0}.product-label{color:#8ed3be;display:block;font-size:12px;font-weight:800;margin-bottom:10px;text-transform:uppercase}.work-item{align-items:flex-start;background:#f7f4ed;border:1px solid var(--line);border-radius:8px;gap:12px;min-height:86px;padding:16px}.work-item svg{color:var(--green);flex:0 0 auto;margin-top:3px}.work-item span,.work-item strong{display:block}.work-item strong{line-height:1.35;margin-bottom:4px}.work-item span{color:var(--muted);font-size:14px;line-height:1.6}.company-band{background:var(--ink);color:#fff;display:grid;grid-gap:34px;gap:34px;grid-template-columns:minmax(0,.85fr) minmax(300px,1.15fr)}.company-band .eyebrow,.company-copy svg{color:#8ed3be}.company-copy{align-items:flex-start;gap:16px}.company-copy p{color:#d7e0dc}.values-section{padding-top:44px}.value-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.value-item{border-top:2px solid var(--gold);padding-top:18px}.value-item span{color:var(--gold);display:block;font-weight:800;margin-bottom:12px}.profile-section{background:#fff}.profile-list{border-top:1px solid var(--line);margin:28px 0 0;max-width:920px}.profile-list div{border-bottom:1px solid var(--line);display:grid;grid-gap:20px;gap:20px;grid-template-columns:180px minmax(0,1fr);padding:16px 0}.profile-list dt{color:var(--green);font-weight:800}.profile-list dd{color:var(--ink);margin:0}.contact{background:#fff;border-top:1px solid var(--line);align-items:flex-start;display:grid;grid-gap:40px;gap:40px;grid-template-columns:minmax(0,.85fr) minmax(340px,1.15fr);padding:72px clamp(20px,5vw,72px)}.contact>div{max-width:720px}.contact-note{border-left:3px solid var(--coral);margin-bottom:0;margin-top:18px;padding-left:14px}.contact-form{background:#f7f4ed;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:18px;gap:18px;padding:24px;width:100%}.form-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form label{display:grid;grid-gap:7px;gap:7px}.contact-form label span{color:var(--ink);font-size:14px;font-weight:800}.contact-form label strong{background:#f0ded8;border-radius:999px;color:var(--coral);font-size:11px;margin-left:6px;padding:2px 7px}.contact-form input,.contact-form select,.contact-form textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #cdd5cf;border-radius:8px;color:var(--ink);font:inherit;min-height:48px;padding:11px 12px;width:100%}.contact-form textarea{min-height:168px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,107,82,.14);outline:none}.contact-form [aria-invalid=true]{border-color:var(--coral)}.contact-form em{color:var(--coral);font-size:13px;font-style:normal}.message-field{grid-column:1/-1}.form-success{background:#e5f2ed;border:1px solid #b8d9cc;border-radius:8px;color:var(--green)}.form-error,.form-success{font-weight:800;margin:0;padding:12px 14px}.form-error{background:#fff1ed;border:1px solid #ecc0b3;border-radius:8px;color:var(--coral)}.submit-button{border:0;cursor:pointer;justify-self:flex-start}.submit-button:disabled{cursor:wait;opacity:.72}.footer{background:var(--ink);color:#d7e0dc;font-size:13px;justify-content:space-between;padding:22px clamp(20px,5vw,72px)}.footer span:first-child{color:#fff;font-weight:800}@media (max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.site-header{align-items:flex-start;flex-direction:column;gap:14px;position:static}.nav{overflow-x:auto;padding-bottom:2px;width:100%}.company-band,.hero,.split-section{grid-template-columns:1fr}.hero{min-height:auto}.stage-copy{max-width:68%}h1{font-size:42px}h2{font-size:30px}.service-grid,.value-grid{grid-template-columns:1fr}.footer{align-items:flex-start;flex-direction:column}.contact,.profile-list div{grid-template-columns:1fr}.profile-list div{gap:4px}}@media (max-width:520px){.nav{gap:14px}.nav-contact{min-width:max-content}h1{font-size:34px}.hero-visual{min-height:auto;padding:18px}.visual-stage{min-height:380px;padding:26px 22px 120px}.stage-copy{max-width:100%}.stage-copy strong{font-size:32px}.open-door{bottom:16px;opacity:.68;right:-42px;transform:scale(.74);transform-origin:bottom right}.visual-step-grid{grid-template-columns:1fr;margin:-56px 8px 0}.visual-step{min-height:96px}.section{padding-bottom:60px;padding-top:60px}.form-grid{grid-template-columns:1fr}.contact-form{padding:18px}.submit-button{width:100%}}