@charset "UTF-8";
:root{--paper:#edf0e9;--ink:#132a2e;--night:#11272b;--signal:#e6ff6a;--line:rgba(237,240,233,.23);--sans:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;--display:Arial,Helvetica,sans-serif;--open:0;--shift:0px;--title-opacity:1;--reveal-opacity:0;--photo-scale:1.08;--cut-top:53%;--cut-bottom:14%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #627700;outline-offset:7px}.skip{position:fixed;top:0;left:16px;z-index:100;transform:translateY(-130%);padding:15px;background:var(--signal);color:var(--ink)}.skip:focus{transform:none}
.header{height:108px;padding:20px 4.4%;display:flex;align-items:center;gap:28px;position:absolute;top:0;left:0;width:100%;z-index:8}.brand{width:166px;flex-shrink:0;mix-blend-mode:multiply}.brand img{display:block;width:100%;height:auto}.header-caption{font-size:12px;font-weight:500;line-height:1.8;margin:0;padding-left:25px;border-left:1px solid #132a2e40}.header-caption strong{font-weight:700}.header-actions{margin-left:auto;display:flex;gap:24px;align-items:center}.header-link{font-size:13px;font-weight:700;background:var(--signal);padding:17px 22px}.header-link span{font-size:20px;margin-left:24px}.motion-toggle{border:0;background:var(--paper);display:flex;align-items:center;gap:8px;padding:10px;cursor:pointer;font-size:11px}.motion-icon{font-family:Arial;font-size:18px}.motion-label{letter-spacing:.03em}
.opening{height:160svh;min-height:1120px}.opening-stage{height:100svh;min-height:700px;position:sticky;top:0;overflow:hidden;isolation:isolate}.photo-plane{position:absolute;inset:0;clip-path:polygon(var(--cut-top) 0,100% 0,100% 100%,var(--cut-bottom) 100%);will-change:clip-path;background:#7396a0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 70%;transform:scale(var(--photo-scale));will-change:transform}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#102a2b05 40%,#10232675 100%)}
.opening-index{position:absolute;top:146px;left:4.4%;right:4.4%;display:flex;justify-content:space-between;font:600 11px/1 var(--display);letter-spacing:.13em}.opening-index span:nth-child(2){color:#142c2e;background:#edf0e9c9;padding:8px 10px;margin-top:-8px}
h1{margin:0;position:absolute;inset:23% 0 auto;font-weight:850;letter-spacing:-.09em;line-height:1.13;font-size:clamp(100px,12.2vw,205px);transform:translateY(var(--shift));opacity:var(--title-opacity);will-change:transform,opacity}h1>span{display:block;width:max-content}.title-before{margin-left:6.3%}.title-open{color:var(--paper);margin:2.6% 0 0 30%;text-shadow:0 3px 28px #10232635}.title-dot{color:var(--signal);margin-left:-.15em}
.opening-copy{position:absolute;left:4.4%;bottom:15.7%;opacity:var(--title-opacity);transform:translateY(var(--shift));will-change:transform,opacity}.eyebrow{font-size:12px;letter-spacing:.06em;font-weight:600}.opening-copy .eyebrow{font-size:11px}.opening-copy .opening-caption>p:nth-child(2){font-size:17px;line-height:1.9;font-weight:500;margin:17px 0 27px}.opening-link{display:flex;width:max-content;align-items:center;gap:38px;font-size:13px;font-weight:650}.arrow-disc{background:var(--signal);width:55px;height:55px;display:grid;place-items:center;border-radius:50%;font:32px/1 Arial;transition:transform .25s}.opening-link:hover .arrow-disc{transform:rotate(45deg)}
.photo-note{position:absolute;right:4.4%;bottom:12.5%;font-size:11px;line-height:1.7;color:#fff;padding-left:12px;border-left:2px solid var(--signal);text-shadow:0 1px 4px #0008}.opening-bottom{position:absolute;bottom:4.5%;left:4.4%;right:4.4%;display:flex;justify-content:space-between;align-items:end}.opening-bottom>span:first-child{font:900 clamp(21px,3.3vw,52px)/1 var(--display);letter-spacing:-.06em;opacity:var(--title-opacity)}.scroll-label{color:#fff;font:11px/1 var(--display);letter-spacing:.15em;display:flex;align-items:center;gap:22px}.scroll-label i{font-style:normal;font-size:27px}.opening-reveal{position:absolute;left:6%;top:42%;color:var(--paper);font-size:clamp(45px,7vw,106px);font-weight:800;letter-spacing:-.05em;line-height:1.4;opacity:var(--reveal-opacity);transform:translateY(calc(35px * (1 - var(--reveal-opacity))));pointer-events:none;text-shadow:0 4px 35px #10232688}.opening-reveal span{display:block}.opening-reveal span:last-child{margin-left:14vw}.progress-track{position:absolute;bottom:0;left:0;right:0;height:4px;background:#edf0e930}.progress-track i{height:100%;display:block;background:var(--signal);transform-origin:left;transform:scaleX(var(--open));will-change:transform}
.services{position:relative;background:var(--night);color:var(--paper);padding:90px 4.4% 0;overflow:hidden}.services:before{content:"";position:absolute;top:0;right:15%;width:110px;height:160px;border-right:1px solid var(--signal);transform:skewX(-31deg);opacity:.65}.section-top{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:30px;margin-bottom:90px;position:relative}.section-top .eyebrow{margin:8px 0;font:11px/1.6 var(--display);letter-spacing:.1em}.tiny-cross{color:var(--signal);font-size:23px;vertical-align:-2px;margin-right:13px}.section-top h2{font-size:clamp(29px,3.15vw,48px);font-weight:650;line-height:1.5;letter-spacing:-.04em;margin:0}.section-intro{font-size:14px;line-height:2.1;margin:12px 0 0;color:#c5d0cd}
.work{position:relative;padding:36px 0 46px;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr 300px;gap:30px;align-items:center}.work-meta{align-self:start;display:flex;gap:18px;align-items:baseline;margin-top:10px}.work-number{font:14px var(--display);color:var(--signal)}.work-meta p{font-size:14px;margin:0;white-space:nowrap}.work-meta p span{display:block;font:9px var(--display);letter-spacing:.08em;color:#90aaa5;margin-top:9px}.work h3{font-size:clamp(80px,10vw,150px);font-weight:800;letter-spacing:-.09em;line-height:1.15;margin:0;white-space:nowrap}.work h3>span{color:var(--signal);margin-left:-.12em}.work-description{padding:0 0 0 30px}.work-description>p{font-size:14px;line-height:2;margin:6px 0 0;color:#b4c7c2}.work-description>p:first-of-type{font-size:17px;font-weight:600;color:var(--paper)}.direction{height:46px;display:flex;align-items:center;margin-bottom:20px}.direction i{width:52%;height:1px;background:#a4b8b1;display:block}.direction b{font:52px/.8 Arial;color:var(--signal);display:block;transform:translateX(var(--arrow-travel,0px));transition:transform .15s linear}.work-haul{margin-left:12%;grid-template-columns:120px 1fr;gap:30px;padding-bottom:70px}.work-haul h3{font-size:clamp(80px,10vw,150px);color:var(--signal)}.work-haul .work-description{grid-column:2;display:grid;grid-template-columns:140px 1fr;column-gap:25px;padding:14px 0 0;max-width:630px}.work-haul .direction{grid-row:span 2;margin:0;height:90px}.work-haul .work-description>p{margin:0}.work-haul .direction i{width:55%}.work-haul .direction b{transform:translate(var(--arrow-travel,0px),calc(var(--arrow-travel,0px) * -1))}
.section-end{border-top:1px solid var(--line);padding:32px 0 55px;display:flex;align-items:center;justify-content:space-between}.section-end p{font-size:20px;line-height:1.7;margin:0;font-weight:500}.section-end p span{font-size:13px;color:#b4c7c2;font-weight:400}.section-end a{font:10px var(--display);letter-spacing:.1em;display:flex;align-items:center;gap:25px}.section-end a span{font-size:28px;border:1px solid #78928a;border-radius:50%;width:56px;height:56px;display:grid;place-items:center;transition:background .2s}.section-end a:hover span{background:#2c484c}.wordmark{font:900 clamp(40px,14.8vw,250px)/.82 var(--display);letter-spacing:-.085em;white-space:nowrap;padding:0 0 10px;margin-left:-.6vw;color:#294249}.wordmark span{color:var(--signal);font-size:.65em;display:inline-block;vertical-align:9%;margin-left:2%}.prototype-note{background:#0b1e21;color:#8ca39f;display:flex;justify-content:space-between;padding:16px 4.4%;font-size:11px;gap:10px}.prototype-note p{margin:0}
.motion-off{scroll-behavior:auto}.motion-off .opening{height:100svh;min-height:700px}.motion-off .opening-stage{position:relative}.motion-off .progress-track{display:none}.motion-off .opening-reveal{display:none}.motion-off .direction b{transition:none}.motion-off .arrow-disc{transition:none}
@media(min-width:1800px){.opening-stage{max-height:1200px}.opening{height:1700px}h1{top:24%}.opening-copy{bottom:16%}.services{padding-left:7%;padding-right:7%}}
@media(max-width:1100px) and (min-width:701px){.header-caption{display:none}.opening-copy{bottom:14%}.opening-copy .opening-caption>p:nth-child(2){font-size:14px}.opening-copy .eyebrow{font-size:10px}h1{top:28%;font-size:13vw}.title-open{margin-left:29%;margin-top:5%}.section-top{grid-template-columns:1fr 2fr}.section-intro{grid-column:2}.work{grid-template-columns:86px 1fr;gap:20px}.work h3{font-size:12vw}.work-description{grid-column:2;padding:0;display:block}.direction{display:none}.work-haul{margin-left:5%}.work-haul h3{font-size:11vw}.work-haul .work-description{grid-column:2;display:block}.work-haul .direction{display:none}}
@media(max-width:700px){:root{--cut-top:100%;--cut-bottom:0%}.header{height:83px;padding:14px 6%;gap:16px}.brand{width:126px}.header-caption{display:none}.header-actions{gap:12px}.header-link{font-size:11px;padding:11px 12px}.header-link span{margin-left:7px;font-size:16px}.motion-toggle{font-size:10px;padding:8px}.motion-label{display:none}.motion-icon{font-size:18px}.opening{height:145svh;min-height:1060px}.opening-stage{height:100svh;min-height:730px}.photo-plane{top:18%;clip-path:polygon(var(--cut-top) 0,100% 0,100% 100%,var(--cut-bottom) 100%,0 84%);background:#98b0b6}.hero-image{object-position:61% 67%;transform:scale(var(--photo-scale));height:100%;width:100%}.photo-shade{background:linear-gradient(180deg,transparent 15%,#132a2e0d 33%,#132a2eaa 100%)}.opening-index{left:6%;right:6%;top:108px;font-size:9px;letter-spacing:.06em}.opening-index span:nth-child(2){background:none;padding:0;margin:0;font-size:8px}h1{top:21%;font-size:clamp(64px,18.6vw,130px);line-height:1.15;letter-spacing:-.09em}.title-before{margin-left:6%}.title-open{margin-left:15%;margin-top:10%;text-shadow:0 3px 25px #132a2e66}.opening-copy{left:6%;bottom:15%;color:var(--paper);text-shadow:0 1px 8px #10232650}.opening-copy .eyebrow{font-size:11px}.opening-copy .opening-caption>p:nth-child(2){font-size:15px;line-height:1.85;margin:11px 0 20px}.opening-link{font-size:12px;gap:24px}.arrow-disc{width:44px;height:44px;font-size:26px;color:var(--ink);text-shadow:none}.photo-note{bottom:6%;right:6%;font-size:9px;max-width:160px;padding-left:8px}.opening-bottom{bottom:5%;left:6%;right:6%}.opening-bottom>span:first-child{font-size:19px;max-width:128px;line-height:1.05;color:var(--paper)}.scroll-label{position:absolute;right:0;bottom:58px;font-size:8px;letter-spacing:.04em;gap:10px;writing-mode:vertical-rl}.scroll-label i{font-size:20px}.opening-reveal{left:6%;top:40%;font-size:10vw;line-height:1.6}.opening-reveal span:last-child{margin-left:8vw}.progress-track{height:3px}.services{padding:58px 6% 0}.services:before{right:16%;height:95px;width:35px}.section-top{display:block;margin-bottom:45px}.section-top .eyebrow{font-size:10px;margin:0 0 27px}.section-top h2{font-size:31px;line-height:1.5}.section-intro{font-size:13px;line-height:1.9;margin:23px 0 0 20%;max-width:270px}.work{display:block;padding:27px 0 32px}.work-meta{margin:0 0 22px;gap:15px;align-items:center}.work-number{font-size:11px}.work-meta p{font-size:12px;display:flex;align-items:center;gap:12px}.work-meta p span{font-size:8px;margin:0;letter-spacing:.12em}.work h3{font-size:clamp(60px,20vw,130px);line-height:1.1;letter-spacing:-.08em;margin-left:-3px}.work-description{padding:22px 0 0 20%;position:relative}.work-description>p{font-size:13px;line-height:1.9;margin:7px 0 0}.work-description>p:first-of-type{font-size:15px}.direction{position:absolute;left:0;top:27px;width:46px;height:30px;margin:0}.direction i{width:15px}.direction b{font-size:32px}.work-haul{margin-left:0;padding-bottom:40px}.work-haul h3{font-size:clamp(54px,17.5vw,105px);text-align:right;margin-right:-4px}.work-haul .work-description{display:block;padding:22px 0 0 20%}.work-haul .work-description>p{margin:7px 0 0}.work-haul .direction{height:32px;width:46px;top:29px}.work-haul .direction i{width:15px}.section-end{display:block;padding:27px 0 43px}.section-end p{font-size:16px}.section-end p span{font-size:11px;display:block;margin-top:10px}.section-end a{width:max-content;margin:28px 0 0 auto;font-size:9px;gap:18px}.section-end a span{width:43px;height:43px;font-size:22px}.wordmark{font-size:14.7vw;line-height:.85;margin-left:-1px;padding-bottom:10px;letter-spacing:-.08em}.wordmark span{margin-left:1%;vertical-align:8%}.prototype-note{display:block;padding:16px 6%;font-size:10px;line-height:1.8}.motion-off .opening{height:100svh;min-height:730px}}
@media(max-height:650px) and (min-width:701px){.opening{height:1140px}.opening-stage{height:760px;position:relative}h1{font-size:11vw}.opening-copy{bottom:16%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.opening{height:100svh;min-height:700px}.opening-stage{position:relative}.opening-reveal,.progress-track{display:none}@media(max-width:700px){.opening{min-height:730px}}}
@media(max-width:700px){:root{--cut-top:55%}.photo-plane{clip-path:polygon(var(--cut-top) 0,100% 0,100% 100%,0 100%,0 40%)}.photo-shade{background:linear-gradient(180deg,#132a2e05 0%,#132a2e44 30%,#132a2e99 100%)}.title-open{margin-top:18%;text-shadow:none}.opening-copy{text-shadow:none}.opening-bottom>span:first-child{font-size:18px}}
.opening{height:100svh;min-height:700px}.motion-ready:not(.motion-off) .opening{height:160svh;min-height:1120px}.section-intro,.work-description>p{font-size:16px}.work-description>p:first-of-type{font-size:18px}.photo-note{font-size:13px}.opening-copy .eyebrow{font-size:13px}.section-end p span{font-size:15px}
@media(max-width:700px){.opening{height:100svh;min-height:730px}.motion-ready:not(.motion-off) .opening{height:145svh;min-height:1060px}.opening-copy{bottom:19.5%}.opening-copy .eyebrow{font-size:12px}.opening-copy .opening-caption>p:nth-child(2){font-size:16px;line-height:1.8}.photo-note{font-size:11px;bottom:8.3%;left:6%;right:auto;max-width:none;border-left-width:1px}.opening-bottom{bottom:4%}.opening-bottom>span:first-child{max-width:none;font-size:18px}.scroll-label{writing-mode:horizontal-tb;bottom:0;right:0;font-size:0}.scroll-label i{font-size:25px}.section-intro{font-size:16px;margin-left:10%;line-height:1.9;max-width:none}.work-description,.work-haul .work-description{padding-left:17%}.work-description>p{font-size:16px;line-height:1.8}.work-description>p:first-of-type{font-size:16px}.section-end p span{font-size:14px;line-height:1.8}}
@media(max-height:650px) and (min-width:701px){.motion-ready:not(.motion-off) .opening{height:760px;min-height:760px}}
.header-link{white-space:nowrap}.hero-image{position:absolute;left:0;bottom:0;height:119%;transform-origin:50% 80%}.photo-shade{background:radial-gradient(ellipse at 28% 58%,#10232645,transparent 60%),linear-gradient(180deg,transparent 20%,#10232615 45%,#10232675 100%)}
@media(max-width:700px){.photo-plane{top:var(--photo-top,18%)}.hero-image{height:119%;object-position:61% 80%}.photo-shade{background:linear-gradient(180deg,#132a2e10 0%,#132a2e55 40%,#132a2ea6 100%)}.opening-reveal{top:39%;text-shadow:0 2px 18px #10232666}.opening-index span:nth-child(2){background:#edf0e9b8;padding:4px 5px;margin-top:-4px}}
@media(max-width:360px){.brand{width:105px}.header{gap:8px}.header-actions{gap:8px}.header-link{padding:12px 10px;font-size:10px}.header-link span{margin-left:5px}.motion-toggle{padding:6px}}
[hidden]{display:none!important}.motion-toggle{min-width:40px;min-height:40px}
.opening-caption{display:contents}
@media(prefers-reduced-motion:reduce){html.motion-ready .opening{height:100svh;min-height:700px}html .opening-stage{position:relative}@media(max-width:700px){html.motion-ready .opening{min-height:730px}}}
.title-open{margin-left:34%;text-shadow:none}.opening-reveal{left:14%;transition:opacity .18s ease,transform .18s ease}h1,.opening-copy,.opening-bottom>span:first-child{transition:opacity .18s ease,transform .18s ease}.motion-off h1,.motion-off .opening-copy,.motion-off .opening-reveal,.motion-off .opening-bottom>span:first-child{transition:none}
@media(min-width:701px) and (max-width:1100px){.title-open{margin-left:36%}}
@media(max-width:700px){.title-open{margin-left:15%}.opening-reveal{left:6%}.services{padding-top:42px}.section-top{margin-bottom:30px}.section-top .eyebrow{margin-bottom:20px}.section-top h2{font-size:29px;line-height:1.4}.section-intro{margin-top:16px;line-height:1.8}.section-intro br{display:none}.work{padding-top:24px;padding-bottom:28px}.work-meta{margin-bottom:17px}.work-description,.work-haul .work-description{padding-top:18px}}
@media(min-width:701px) and (max-width:1100px){.opening-caption{display:flow-root;width:max-content;max-width:calc(100vw - 70px);margin:0 0 22px -12px;padding:10px 12px;background:var(--paper);color:var(--ink)}.opening-copy .opening-caption>.eyebrow{margin:0 0 12px}.opening-copy .opening-caption>p:nth-child(2){margin:0;font-size:16px;line-height:1.8}}
/* User-requested short opening: only 72px of extra scroll, independent of viewport height. */
.opening{--opening-stage-height:max(700px,100svh);height:var(--opening-stage-height);min-height:0}
.motion-ready:not(.motion-off) .opening{height:calc(var(--opening-stage-height) + 72px);min-height:0}
.motion-off .opening{height:var(--opening-stage-height);min-height:0}
@media(max-width:700px){.opening{--opening-stage-height:max(730px,100svh)}}
@media(min-width:1800px){.opening{--opening-stage-height:clamp(700px,100svh,1200px)}}
/* The existing short-landscape composition is naturally scrolling, with no pin or hidden spacer. */
@media(max-height:650px) and (min-width:701px){.opening{--opening-stage-height:760px}.motion-ready:not(.motion-off) .opening{height:var(--opening-stage-height);min-height:0}}
@media(prefers-reduced-motion:reduce){.opening,html.motion-ready .opening,.motion-ready:not(.motion-off) .opening{height:var(--opening-stage-height);min-height:0}}
/* User-requested larger brand. Preserve original image pixels and aspect ratio. */
.header{height:136px;padding-top:18px;padding-bottom:18px}
.brand{width:260px}
.header-caption{display:block;font-size:14px;line-height:1.7}
@media(max-width:700px){
 .header{height:auto;padding:14px 6%;display:grid;grid-template-columns:max-content 1fr;grid-template-rows:auto auto;gap:8px 12px}
 .brand{width:clamp(156px,46vw,198px);grid-column:1;grid-row:1 / 3}
 .header-caption{grid-column:2;grid-row:1;justify-self:end;border:0;padding:0;font-size:12px;line-height:1.6}
 .header-actions{grid-column:2;grid-row:2;justify-self:end;margin-left:0}
 .header-link{font-size:11px;padding:10px 12px}
 .header-link span{margin-left:5px;font-size:16px}
 .opening-index{top:132px}
}
@media(max-width:360px){.header-link{font-size:10px;padding:10px 8px}}

/* Opening: move the service link and emphasize the existing regional caption. */
.header-caption{display:block;margin:0 0 0 auto;padding:10px 18px;border:0;border-left:5px solid var(--signal);background:rgba(237,240,233,.97);color:var(--ink);font-size:clamp(26px,2.6vw,42px);font-weight:800;line-height:1.12;white-space:nowrap;text-align:left;box-shadow:0 5px 20px #10232624}
.header-caption strong{font-size:1.12em}
.opening-bottom{z-index:5;justify-content:flex-end;bottom:max(4.5%,calc(100% - 95.5svh))}
.opening-bottom .header-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:14px 18px;font-size:clamp(13px,1vw,16px);line-height:1.35}
.opening-bottom .header-link span{margin-left:0}
@media(max-width:700px){
  .header{display:flex;align-items:center;gap:8px}
  .header-caption{margin-left:auto;padding:6px 4px 6px 6px;border-left-width:4px;font-size:clamp(17px,5.3vw,25px);line-height:1.14}
  .opening-bottom{bottom:max(4%,calc(100% - 96svh))}
  .opening-bottom .header-link{padding:13px 15px}
}

.header-info{position:relative;flex:none;margin-left:auto}.header-info .header-caption{margin:0}
.deadline-card{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:5px;width:max-content;padding:12px 16px;background:#102a2e;color:var(--paper);box-shadow:0 5px 20px #10232624;line-height:1.3;white-space:nowrap}.deadline-line{display:flex;align-items:baseline;gap:10px}.deadline-title{font-size:13px;font-weight:700}.deadline-date{font-size:18px;color:var(--signal)}.deadline-message{margin:0;font-size:13px;font-weight:700}
@media(max-width:700px){.deadline-card{top:calc(100% + 6px);gap:3px;padding:7px 9px}.deadline-line{gap:6px}.deadline-title{font-size:12px}.deadline-date{font-size:15px}.deadline-message{font-size:13px}}
