:root{--paper:#f4f4f2;--ink:#102b44;--navy:#082c55;--muted:#5d6469;--line:#c8ccce;--accent:#e64b26;--dark:#101e2b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a,button,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}img{display:block;max-width:100%;height:auto}button{font:inherit}em{font-family:var(--serif);font-weight:400}::selection{background:var(--accent);color:white}.frame{padding-inline:4vw}.label{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:12px;line-height:1.6;letter-spacing:.06em;font-weight:400}.header{margin:0 4vw;padding-block:25px 23px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:31px;letter-spacing:-.03em;line-height:1.1;font-weight:500}.brand-sub{display:block;font-size:10px;letter-spacing:.08em;line-height:1.5;margin-top:6px}.brand-mark{position:relative;width:37px;height:40px;overflow:hidden;display:block;mix-blend-mode:multiply}.brand-mark img{position:absolute;width:96px;max-width:none;top:-20px;left:-31px}.header-end{display:flex;align-items:center;gap:32px}.header nav{display:flex;gap:30px;font-size:14px;font-weight:500}.header nav a{display:flex;align-items:center;gap:13px;min-height:42px}.link-square{display:inline-block;width:8px;height:8px;background:var(--accent);transition:transform .25s}.header nav a:hover .link-square,.email-link:hover .link-square{transform:rotate(90deg) scale(1.5)}.header nav a:hover{color:var(--accent)}.motion-toggle{border:0;background:transparent;color:var(--muted);font-size:12px;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:5px}.hero{padding-top:45px;padding-bottom:72px}.hero-meta{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:51px}.hero-meta p:last-child{text-align:right}.hero-title{font-weight:600;font-size:clamp(70px,11.65vw,205px);letter-spacing:-.065em;line-height:1.04}.hero-title>.mask{display:block}.hero-title>.mask:last-child{padding-left:7.5vw}.hero-title em{letter-spacing:-.065em}.mask{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.mask>span{display:block;transform-origin:0 100%;will-change:transform}.hero-bottom{margin-top:56px;display:grid;grid-template-columns:1fr 1.05fr .6fr;gap:35px;align-items:start}.hero-index{display:flex;align-items:center;gap:15px;padding-top:8px}.accent-bar{width:34px;height:8px;background:var(--accent);display:block}.hero-copy h2{font-size:20px;font-weight:500;line-height:1.8;margin-bottom:18px;letter-spacing:.04em}.hero-copy p{color:var(--muted);font-size:16px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:46px;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:5px;transition:color .2s}.text-link:hover{color:var(--accent)}.hero-scroll{justify-self:end;align-self:end}.down-line{display:inline-block;width:1px;height:27px;background:currentColor;position:relative;margin-inline:6px}.down-line:after{content:'';position:absolute;bottom:1px;left:-3px;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.brand-film{height:clamp(540px,90svh,1100px);position:relative;isolation:isolate;background:#172938;color:white;overflow:hidden;clip-path:inset(var(--film-inset,0) 0)}.film-image{position:absolute;inset:-7% 0;will-change:transform;transform:translate3d(0,var(--parallax,0px),0)}.film-image img{width:100%;height:100%;object-fit:cover}.brand-film:not(.has-art) .film-image{inset:0 0 0 38%;background:var(--paper)}.brand-film:not(.has-art) .film-image img{object-fit:contain;mix-blend-mode:multiply}.film-shade{position:absolute;inset:0;background:#000;opacity:.12;pointer-events:none}.film-top{position:absolute;inset:30px 4vw auto;display:flex;justify-content:space-between}.film-bottom{position:absolute;left:4vw;right:4vw;bottom:100px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.film-title{font-size:clamp(80px,11.5vw,190px);font-weight:500;letter-spacing:-.065em;line-height:.98}.film-title em{letter-spacing:-.03em}.film-bottom>p:last-child{font-size:24px;line-height:1.7;letter-spacing:.07em;text-shadow:0 1px 15px #0009}.film-caption{position:absolute;bottom:30px;left:4vw}.section-line{display:flex;justify-content:space-between;gap:30px;padding-top:24px;border-top:1px solid var(--line)}.business{padding-top:110px;padding-bottom:100px}.business-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;margin-top:100px;align-items:start}.business-sticky{position:sticky;top:80px;padding-block:10px 30px}.business-title{font-size:clamp(56px,7.1vw,112px);font-weight:500;letter-spacing:-.07em;line-height:1.1}.chapter-word{display:block;color:#9ea7af;transition:color .65s}.chapter-word.is-current{color:var(--ink)}.business-sticky>p{font-size:24px;line-height:1.8;margin-top:45px}.chapter-counter{display:flex;align-items:center;gap:20px;margin-top:65px;width:170px}.counter-line{height:1px;flex:1;background:var(--line)}.story{padding:0 0 110px;min-height:72svh}.story+.story{border-top:1px solid var(--line);padding-top:65px}.story-label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:55px}.story-index{font-family:var(--serif);font-size:60px;line-height:1;color:var(--accent);font-style:italic}.story h3{font-size:clamp(29px,3.35vw,52px);font-weight:500;line-height:1.65;letter-spacing:.03em;margin-bottom:35px}.story p:not(.service-name){font-size:16px;line-height:2.2;color:var(--muted);max-width:420px}.service-name{font-size:19px;font-weight:600;margin-bottom:15px}.story-tags{display:flex;flex-wrap:wrap;gap:10px 25px;padding-top:30px;color:var(--muted)}.type-rail{overflow:hidden;padding-block:48px;background:var(--accent);color:var(--paper)}.type-rail>div{font-size:clamp(65px,9vw,155px);font-weight:500;letter-spacing:-.055em;line-height:1.1;white-space:nowrap;transform:translate3d(var(--rail-x,-3%),0,0);will-change:transform}.type-rail em{letter-spacing:-.045em}.careers{background:var(--dark);color:var(--paper);padding-block:70px 130px}.careers .section-line{border-color:#52616b}.careers-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:95px;align-items:start}.careers-heading{position:sticky;top:50px}.giant-type{font-size:clamp(70px,10.5vw,170px);font-weight:500;letter-spacing:-.055em;line-height:1}.giant-type em{font-weight:400}.careers h2{font-size:24px;line-height:1.9;font-weight:500;margin-top:40px}.careers-content{padding-top:15px}.intro-copy{font-size:27px;line-height:1.8;margin-bottom:30px}.careers-content>p:not(.intro-copy){font-size:16px;line-height:2.2;color:#b5c0c9}.job-panel{margin-top:75px}.job-panel>.label{color:#b5c0c9}.job-panel h3{font-size:20px;font-weight:500;margin-block:15px 30px}details{border-top:1px solid #52616b}details:last-child{border-bottom:1px solid #52616b}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:23px;cursor:pointer;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:24px;line-height:1;font-weight:400;transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details ul{padding-left:21px;color:#b5c0c9;line-height:2.1;font-size:16px;margin:0 0 24px}.careers-content>.text-link{margin-top:45px}.company{padding-block:100px 130px}.company-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;margin-top:75px}.company-heading{font-size:clamp(48px,5vw,84px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin-bottom:28px}.company-layout>div>p{font-size:16px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:105px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);font-size:16px}.company-table>div:first-child{padding-top:0}.company-table dt{color:var(--muted);font-size:14px}.company-table dd{margin:0;overflow-wrap:anywhere}.company-table a:hover{text-decoration:underline;text-underline-offset:5px}.contact{padding-top:20px;padding-bottom:100px}.contact-title{font-size:clamp(75px,13vw,225px);line-height:1.2;font-weight:500;letter-spacing:-.06em;margin-top:60px}.contact-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;margin-top:50px;align-items:start}.contact-bottom>p{font-size:16px;line-height:2}.email-link{font-size:clamp(22px,2.6vw,43px);line-height:1.4;letter-spacing:-.03em;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:17px}.email-link .link-square{width:14px;height:14px;flex-shrink:0}.phone-link{display:inline-flex;gap:25px;align-items:center;font-size:20px;margin-top:23px}.footer{background:var(--ink);color:var(--paper);padding-top:60px;padding-bottom:25px}.footer-wordmark{display:block;font-size:clamp(90px,21.5vw,360px);letter-spacing:-.065em;line-height:1.05;font-weight:500;width:fit-content}.footer-dot{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid #5b6b79;padding-top:25px;margin-top:50px}.footer-bottom a{font-size:14px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:100}.skip:focus{top:12px}
@media(min-width:1700px){.hero-title{font-size:11.65vw}.business-layout{gap:12vw}.hero{padding-bottom:100px}.hero-bottom{margin-top:70px}}
@media(max-width:1000px){.header-end{gap:20px}.header nav{gap:20px}.brand{font-size:28px}.hero-bottom{grid-template-columns:.7fr 1.3fr;gap:30px}.hero-scroll{grid-column:2;justify-self:start;margin-top:5px}.hero-title{font-size:11.7vw}.business-layout{gap:5vw;grid-template-columns:1fr 1.15fr}.business-title{font-size:7.1vw}.careers-layout{gap:7vw}.company-layout,.contact-bottom{gap:5vw;grid-template-columns:1fr 1.4fr}.company-table>div{gap:20px;grid-template-columns:85px 1fr}.film-bottom>p:last-child{font-size:20px}.contact-title{font-size:13vw}.intro-copy{font-size:23px}}
@media(max-width:700px){html{scroll-padding-top:24px}.frame{padding-inline:22px}.header{margin-inline:22px;flex-wrap:wrap;gap:19px;padding-block:22px 15px}.brand{font-size:26px}.header-end{width:100%;justify-content:space-between;gap:16px}.header nav{gap:20px;font-size:13px}.header nav a{min-height:35px;gap:8px}.motion-toggle{font-size:12px;white-space:nowrap}.brand-sub{font-size:10px}.label{font-size:12px;letter-spacing:0}.hero{padding-top:25px;padding-bottom:52px}.hero-meta{gap:18px;margin-bottom:45px}.hero-meta .label{font-size:10px}.hero-title{font-size:clamp(56px,15vw,106px);line-height:1.07;letter-spacing:-.06em}.hero-title>.mask:last-child{padding-left:0}.hero-title>.mask:last-child>span{max-width:100%;line-height:1.09}.hero-title em{display:block;margin-left:24vw}.hero-bottom{grid-template-columns:1fr;gap:28px;margin-top:34px}.hero-index{padding:0}.hero-copy{padding-left:12vw}.hero-copy h2{font-size:18px;line-height:1.7;margin-bottom:16px}.hero-copy p{font-size:16px}.hero-scroll{grid-column:1;justify-self:end;margin-top:0}.brand-film{height:650px;max-height:90svh;min-height:510px}.film-top{inset:22px 22px auto;gap:25px}.film-top span:last-child{max-width:130px;text-align:right}.film-bottom{left:22px;right:22px;bottom:75px;gap:15px;align-items:flex-start;flex-direction:column}.film-title{font-size:21vw;line-height:1.06}.film-bottom>p:last-child{font-size:18px;align-self:flex-end}.film-caption{left:22px;bottom:22px;font-size:10px}.film-image img{object-position:58% center}.section-line{padding-top:18px;gap:20px}.section-line>.label:last-child{max-width:135px;text-align:right}.business{padding-block:60px 25px}.business-layout{grid-template-columns:1fr;gap:45px;margin-top:45px}.business-sticky{position:relative;top:auto;padding:0}.business-title{font-size:15vw;line-height:1.03;letter-spacing:-.065em}.business-sticky>p{font-size:21px;line-height:1.7;margin-top:25px}.chapter-counter{display:none}.story{padding:0 0 50px;min-height:0}.story+.story{padding-top:30px}.story-label{margin-bottom:25px}.story-index{font-size:45px}.story h3{font-size:31px;line-height:1.65;margin-bottom:23px}.story-tags{padding-top:22px;gap:12px}.story p:not(.service-name){max-width:none}.type-rail{padding-block:25px}.type-rail>div{font-size:68px}.careers{padding-block:45px 65px}.careers-layout{grid-template-columns:1fr;gap:45px;margin-top:47px}.careers-heading{position:relative;top:auto}.giant-type{font-size:26vw;line-height:1.01}.giant-type>.mask:last-child{padding-left:22vw}.careers h2{font-size:23px;margin-top:28px;line-height:1.7}.careers-content{padding:0}.intro-copy{font-size:24px;line-height:1.8;margin-bottom:25px}.job-panel{margin-top:40px}.job-panel h3{font-size:19px;margin-bottom:24px}summary{font-size:15px;padding-block:22px}.careers-content>.text-link{font-size:14px;margin-top:28px}.company{padding-block:55px 65px}.company-layout{grid-template-columns:1fr;gap:40px;margin-top:43px}.company-heading{font-size:58px;margin-bottom:20px}.company-table>div{grid-template-columns:75px 1fr;gap:17px;padding-block:23px}.company-table dt{font-size:13px}.company-table dd{font-size:15px}.contact{padding-top:0;padding-bottom:60px}.contact-title{font-size:18vw;line-height:1.06;margin-top:43px}.contact-title em{display:block;padding-left:15vw}.contact-bottom{grid-template-columns:1fr;gap:30px;margin-top:30px}.contact-bottom>p{font-size:16px}.email-link{font-size:clamp(20px,5.8vw,35px);gap:12px}.email-link .link-square{width:10px;height:10px}.phone-link{font-size:20px;margin-top:20px}.footer{padding-top:35px;padding-bottom:20px}.footer-wordmark{font-size:20.7vw}.footer-bottom{margin-top:28px;gap:15px;padding-top:20px}.footer-bottom .label{font-size:10px}.footer-bottom a{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.film-image,.type-rail>div{transform:none!important}.brand-film{clip-path:none!important}.mask>span{transform:none!important;opacity:1!important}}
/* Reveal only typography; all navigation and contact controls stay immediately available. */
.motion-on [data-reveal]>span{transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .7s ease;transition-delay:var(--delay,0s)}
.motion-on [data-reveal]:not(.is-visible)>span{transform:translate3d(0,108%,0) rotate(2deg);opacity:0}
.motion-on [data-reveal].is-visible>span{transform:translate3d(0,0,0);opacity:1}
.motion-off{scroll-behavior:auto}.motion-off .film-image,.motion-off .type-rail>div{transform:none}.motion-off .brand-film{clip-path:none}.motion-off .chapter-word{transition:none}.motion-off [data-reveal]>span{transform:none;opacity:1;transition:none}
.motion-toggle:disabled{cursor:default;text-decoration:none}
@media(max-width:380px){.header-end{flex-wrap:wrap;gap:3px}.header nav{width:100%;justify-content:space-between}.motion-toggle{margin-left:auto}.hero-copy{padding-left:5vw}.hero-copy h2{font-size:17px}.hero-title{font-size:15vw}.section-line .label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.motion-on [data-reveal]>span{transform:none!important;opacity:1!important}}
.brand-sub{font-size:12px}.film-caption{font-size:12px}
@media(max-width:700px){.hero-meta .label,.footer-bottom .label,.section-line .label{font-size:12px}.company-table dd{font-size:16px}.hero-meta p{max-width:48%}.hero-meta p:last-child{max-width:47%}}
