:root { --ink:#14181b; --teal:#0cb7ad; --blue:#087bdf; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#fff; font-family:Arial,"Yu Gothic",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:92px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; position:absolute; inset:0 0 auto; z-index:10; border-bottom:1px solid rgba(255,255,255,.1); }
.brand { display:flex; align-items:center; gap:12px; font-size:27px; font-weight:800; letter-spacing:-1.5px; }
.brand-mark { width:35px; height:32px; position:relative; display:block; transform:skewX(-13deg); }
.brand-mark i { position:absolute; width:19px; height:28px; border:6px solid var(--teal); border-radius:2px; }
.brand-mark i:last-child { left:14px; top:4px; border-color:var(--blue); }
.brand-logo-link { display:flex; align-items:center; background:#f4f7f6; padding:5px 10px; border-radius:2px; }
.brand-logo { display:block; width:116px; height:62px; object-fit:contain; }
nav { display:flex; align-items:center; gap:36px; font-size:13px; font-weight:700; letter-spacing:.08em; }
.nav-cta { border:1px solid rgba(255,255,255,.5); padding:14px 22px; border-radius:100px; }
.hero { min-height:760px; height:100vh; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); align-items:center; padding:120px clamp(24px,8vw,128px) 50px; background:radial-gradient(circle at 75% 50%,#243137 0,#171d20 36%,#111517 72%); }
.hero-glow { position:absolute; width:560px; height:560px; right:-50px; top:13%; border-radius:50%; background:rgba(7,174,170,.1); filter:blur(20px); }
.hero-copy { position:relative; z-index:2; }
.eyebrow { color:#b4c0c3; font-size:11px; font-weight:700; letter-spacing:.24em; margin:0 0 32px; display:flex; align-items:center; gap:12px; }
.eyebrow span { width:32px; height:2px; background:linear-gradient(90deg,var(--teal),var(--blue)); }
h1 { font-size:clamp(52px,7vw,104px); line-height:1.04; letter-spacing:-.07em; margin:0; font-weight:800; }
h1 em { font-style:normal; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.68); }
.hero-lead { margin:36px 0 0; color:#b9c2c5; line-height:2; font-size:15px; }
.hero-actions { margin-top:43px; display:flex; align-items:center; gap:26px; }
.button { display:inline-flex; align-items:center; gap:40px; font-weight:700; font-size:13px; }
.button.primary { background:linear-gradient(105deg,#09b4a7,#0781dd); padding:18px 23px; min-width:226px; justify-content:space-between; }
.text-button { border-bottom:1px solid #718085; padding:12px 2px; gap:32px; }
.hero-art { height:520px; position:relative; display:flex; align-items:center; justify-content:center; }
.hero-art p { position:relative; z-index:3; text-align:right; color:rgba(255,255,255,.42); font-size:11px; letter-spacing:.32em; line-height:1.7; transform:translate(90px,170px); }
.hero-art p b { color:var(--teal); }.orb { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.13); }.orb-a { width:410px; height:410px; background:radial-gradient(circle at 62% 38%,rgba(17,185,175,.65),rgba(8,76,100,.18) 40%,rgba(0,0,0,0) 70%); box-shadow:inset 30px -30px 90px rgba(0,0,0,.35),0 0 80px rgba(7,166,180,.12); }.orb-b { width:300px; height:300px; border-color:rgba(40,171,213,.26); transform:translate(75px,-45px); }
.bridge-lines { position:absolute; width:420px; height:260px; transform:rotate(-15deg); }.bridge-lines span { display:block; position:absolute; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(31,211,196,.9),rgba(30,131,220,.8),transparent); box-shadow:0 0 12px rgba(35,204,210,.6); }.bridge-lines span:nth-child(1){top:35%; transform:rotate(28deg)} .bridge-lines span:nth-child(2){top:50%; transform:rotate(-8deg)} .bridge-lines span:nth-child(3){top:67%; transform:rotate(18deg)}
.scroll-cue { position:absolute; left:clamp(24px,5vw,76px); bottom:26px; color:#7e8b90; font-size:8px; letter-spacing:.25em; display:flex; gap:12px; align-items:center; writing-mode:vertical-rl; }.scroll-cue span { width:1px; height:38px; background:#657176; }
@media (max-width:800px){.site-header{height:76px}nav a:not(.nav-cta){display:none}.nav-cta{padding:11px 16px}.hero{min-height:760px;height:auto;grid-template-columns:1fr;padding-top:135px;align-content:start}.hero-art{height:300px;order:2}.orb-a{width:290px;height:290px}.orb-b{width:210px;height:210px}.bridge-lines{width:310px;height:200px}.hero-art p{transform:translate(55px,95px)}h1{font-size:clamp(49px,15vw,72px)}.hero-lead br{display:none}.scroll-cue{display:none}}

.light-section { background:#f2f5f4; color:#1c2428; }
.section-label { display:flex; gap:18px; align-items:center; color:#758087; font-size:9px; letter-spacing:.24em; font-weight:700; position:absolute; top:55px; left:clamp(24px,5vw,76px); }
.section-label span { color:var(--teal); }
.section-label.inverse { color:#7d8b90; }.kicker { font-size:10px; font-weight:800; letter-spacing:.2em; margin:0 0 24px; color:#778488; }.kicker.teal { color:var(--teal); }
.philosophy { padding:150px clamp(24px,10vw,150px); position:relative; }
.philosophy-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.philosophy h2,.print-intro h2,.fit-heading h2,.flow-section h2,.services-head h2,.company-grid h2,.contact-section h2 { font-size:clamp(40px,5vw,72px); letter-spacing:-.06em; line-height:1.18; margin:0; }
.philosophy h2 strong,.print-intro h2 strong,.services-head h2 strong,.contact-section h2 strong { color:var(--teal); font-weight:inherit; }
.statement { padding-top:45px; color:#5d696e; font-size:14px; line-height:2.15; max-width:530px; }.statement .lead-ja { color:#1c2428; font-size:20px; line-height:1.9; font-weight:700; margin-top:0; }.statement p{margin:0 0 26px}
.print-section { position:relative; padding:155px clamp(24px,8vw,128px) 110px; background:#171d20; }
.print-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding-bottom:80px; }.print-intro .big-copy { font-size:20px; line-height:1.8; font-weight:700; margin:48px 0 20px; }.muted { color:#8e9a9e; line-height:2; font-size:13px; max-width:540px; }
.strength-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #354047; border-bottom:1px solid #354047; }.strength-grid article { min-height:330px; padding:34px 38px; border-right:1px solid #354047; position:relative; }.strength-grid article:last-child{border:0}.num { position:absolute; right:24px; top:20px; font-size:10px; color:#69767a; }.strength-grid h3{font-size:18px;margin:28px 0 16px}.strength-grid p{font-size:12px;color:#8d999d;line-height:1.9;margin:0}.icon-paper,.icon-spec,.icon-one { width:66px;height:66px;margin-top:35px;position:relative }.icon-paper:before,.icon-paper:after{content:"";position:absolute;width:39px;height:48px;border:1px solid var(--teal);transform:skewY(-8deg)}.icon-paper:after{left:14px;top:10px;border-color:#167fd1}.icon-spec{border:1px solid var(--teal);border-radius:50%}.icon-spec:before,.icon-spec:after{content:"";position:absolute;background:#147fd1}.icon-spec:before{width:1px;height:78px;left:32px;top:-7px;transform:rotate(45deg)}.icon-spec:after{height:1px;width:78px;top:32px;left:-7px;transform:rotate(-20deg)}.icon-one{border:1px solid #177eae;border-radius:4px;color:var(--teal);font-size:30px;font-weight:200;display:grid;place-items:center}
.fit-section { background:#eef1f0;color:#1b2428;padding:120px clamp(24px,8vw,128px);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.fit-heading>p:last-child{color:#788287;line-height:2;font-size:12px;max-width:390px;margin-top:30px}.fit-list{border-top:1px solid #c9d0d0}.fit-list article{height:116px;border-bottom:1px solid #c9d0d0;display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:20px}.fit-list article>span{color:var(--teal);font-size:10px}.fit-list h3{font-size:17px;margin:0 0 9px}.fit-list p{font-size:10px;color:#8a9497;margin:0}.fit-list b{font-size:9px;letter-spacing:.18em;color:#a4acad}
.flow-section{background:#fff;color:#1c2428;padding:145px clamp(24px,8vw,128px) 110px;position:relative}.flow-section h2{font-size:clamp(38px,4vw,56px)}.flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid #ccd2d2}.flow article{padding:45px 28px 10px 0;position:relative}.flow article:after{content:"→";position:absolute;right:18px;top:42px;color:#a6b0b0}.flow article:last-child:after{display:none}.flow b{color:var(--teal);font-size:10px}.flow h3{font-size:17px;margin:34px 0 13px}.flow p{font-size:11px;line-height:1.8;color:#879194}
.services-section{background:#171d20;padding:150px clamp(24px,8vw,128px) 120px;position:relative}.services-head{display:grid;grid-template-columns:1fr .8fr;gap:10vw;align-items:end;margin-bottom:80px}.services-head>p{color:#879499;font-size:13px;line-height:2;max-width:470px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #354047}.service-grid article{min-height:210px;padding:30px;border-right:1px solid #354047;border-bottom:1px solid #354047;position:relative}.service-grid article:nth-child(3n){border-right:0}.service-grid span{color:var(--teal);font-size:9px}.service-grid h3{font-size:19px;margin:42px 0 13px}.service-grid p{color:#859195;font-size:11px;margin:0}.service-grid b{position:absolute;right:24px;bottom:22px;color:#48555a;font-size:8px;letter-spacing:.18em}
.company-section{background:#eef1f0;color:#1d2529;padding:150px clamp(24px,8vw,128px) 120px;position:relative}.company-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.company-grid h2{font-size:clamp(46px,6vw,80px);color:#c0c8c8}.est{font-size:9px;letter-spacing:.2em;color:var(--teal);margin-top:38px}.company-grid dl{margin:0;border-top:1px solid #cad1d1}.company-grid dl div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #cad1d1;padding:19px 5px;font-size:12px;line-height:1.8}.company-grid dt{color:#879194}.company-grid dd{margin:0;font-weight:600}
.contact-section{min-height:600px;background:#151b1e;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:100px 24px;position:relative;overflow:hidden}.contact-orb{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(6,145,158,.18),transparent 66%);border:1px solid rgba(9,171,173,.08)}.contact-section>*:not(.contact-orb){position:relative}.contact-section>p:not(.kicker){color:#929ea2;line-height:2;font-size:13px;margin:30px 0}.contact-button{width:min(460px,100%);display:grid;grid-template-columns:1fr auto 30px;align-items:center;text-align:left;padding:21px 24px;background:linear-gradient(105deg,#08b2a8,#087fd5);font-size:13px;font-weight:700}.contact-button small{font-size:13px;letter-spacing:.08em}.contact-button b{text-align:right}footer{height:120px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;gap:30px;background:#101416;border-top:1px solid #2a3337}footer>p{color:#5f6c70;font-size:8px;letter-spacing:.2em}footer .copy{margin-left:auto}
@media (max-width:800px){.philosophy,.print-section,.fit-section,.flow-section,.services-section,.company-section{padding:120px 24px 80px}.philosophy-grid,.print-intro,.fit-section,.services-head,.company-grid{grid-template-columns:1fr;gap:45px}.statement{padding-top:0}.strength-grid{grid-template-columns:1fr}.strength-grid article{border-right:0;border-bottom:1px solid #354047}.strength-grid article:last-child{border-bottom:0}.print-intro{padding-bottom:55px}.print-intro .big-copy{margin-top:0}.fit-list article{grid-template-columns:36px 1fr}.fit-list b{display:none}.flow{grid-template-columns:1fr 1fr}.flow article:after{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3n){border-right:1px solid #354047}.service-grid article:nth-child(2n){border-right:0}.company-grid dl div{grid-template-columns:90px 1fr}.contact-section{min-height:560px}.contact-section h2 br{display:none}.contact-button{grid-template-columns:1fr auto}.contact-button b{display:none}footer{height:auto;padding-block:36px;flex-wrap:wrap}footer .copy{width:100%;margin:0}.section-label{top:35px}}
@media (max-width:520px){.hero-actions{align-items:flex-start;flex-direction:column}.flow,.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0!important}.contact-button{grid-template-columns:1fr}.contact-button small{margin-top:5px}.site-header .brand{font-size:22px}.brand-mark{transform:scale(.82) skewX(-13deg);transform-origin:left center}.brand-logo-link{padding:4px 7px}.brand-logo{width:94px;height:52px}}
