:root{--disc:clamp(46px, min(10.2vw, 14svh), 210px);--hero-hot:#9cc3ee;--hero-rule:#edece724}.hero{background:var(--ink);color:var(--bg);position:relative;overflow:hidden}.hero-body{padding-top:calc(var(--head) + clamp(24px, 5svh, 48px));position:relative}.disc,.hero-foot{z-index:1;position:relative}.hero-grid{z-index:0;column-gap:var(--g);padding-inline:var(--m);pointer-events:none;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:absolute;inset:0}.hero-grid i{border-inline:1px solid #edece70f}.ribbon{z-index:0;pointer-events:none;will-change:transform;mix-blend-mode:screen;position:absolute;inset:0}.ribbon-float{aspect-ratio:704/1252;height:109.76%;position:absolute;top:51.19%;left:72.67%;transform:translate(-50%,-50%)rotate(14.55deg)}.ribbon-still,.ribbon-gl,.ribbon-video{width:100%;height:100%;transition:opacity .6s;display:block;position:absolute;inset:0}.ribbon-gl,.ribbon-video{opacity:0}.ribbon-float.is-gl .ribbon-gl,.ribbon-float.is-video .ribbon-video{opacity:1}.ribbon-float.is-gl .ribbon-still,.ribbon-float.is-video .ribbon-still{opacity:0}.rule{height:1px;margin-inline:var(--m);background:var(--rule);transform-origin:0;display:block}.disc-row{position:relative}.disc-row:last-child .rule{margin-top:calc(var(--disc) * .42)}.disc-link{column-gap:var(--g);padding-inline:var(--m);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.disc-link:focus-visible{outline:none}.disc-idx{color:var(--mute);font-variant-numeric:tabular-nums;grid-column:1/2;align-self:start;padding-top:1.05em;font-size:14px;transition:color .3s}.disc-clip{font-size:var(--disc);grid-column:2/11;padding-block:.03em .2em;line-height:.9;display:block;overflow:hidden}.disc-word{letter-spacing:-.058em;white-space:nowrap;width:fit-content;transition:transform .9s var(--out), color .35s;font-weight:700;display:block}.disc-note{text-align:right;color:var(--mute);grid-column:11/13;justify-self:end;padding-bottom:1.1em;font-size:14px;line-height:1.3;transition:color .3s}.rule-hot{left:var(--m);right:var(--m);background:var(--accent);transform-origin:0;height:1px;transition:transform .8s var(--ease);position:absolute;bottom:0;transform:scaleX(0)}.disc-link:hover .disc-word,.disc-link:focus-visible .disc-word{color:var(--accent);transform:translate(.14em)}.disc-link:hover .disc-idx,.disc-link:hover .disc-note{color:var(--ink)}.disc-row:hover .rule-hot{transform:scaleX(1)}.hero .rule{background:var(--hero-rule)}.hero .rule-hot{background:var(--hero-hot)}.hero .disc-link:hover .disc-word,.hero .disc-link:focus-visible .disc-word{color:var(--hero-hot)}.hero .disc-link:hover .disc-idx,.hero .disc-link:hover .disc-note{color:var(--bg)}.hero-foot{align-items:start;row-gap:16px;padding-block:clamp(20px,3.75svh,40px);font-size:14px;line-height:1.3}.hero-foot .m1{grid-column:2/5}.hero-foot .m3{grid-column:5/8;max-width:11em;position:relative}.hero-foot .m3 i{background:var(--accent);width:7px;height:7px;animation:status 2.4s var(--ease) infinite;position:absolute;top:.45em;left:-15px}@keyframes status{50%{opacity:.25}}.hero-lead{text-align:right;letter-spacing:-.015em;grid-column:8/13;justify-self:end;max-width:37em}.studio{row-gap:clamp(48px,6vw,88px);padding-block:clamp(110px,15vw,230px) clamp(80px,10vw,150px)}.studio .label{grid-column:1/4;padding-top:.6em}.manifest{letter-spacing:-.035em;text-indent:clamp(0px,12vw,200px);grid-column:4/13;font-size:clamp(26px,3.3vw,54px);line-height:1.08}.manifest .w{text-indent:0}.facts{column-gap:var(--g);border-top:1px solid var(--rule);grid-column:4/13;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:16px;display:grid}.facts dt{color:var(--mute);font-size:14px}.facts dd{margin-top:4px}.services{padding-bottom:clamp(96px,12vw,180px)}.svc-grid{row-gap:56px}.svc{flex-direction:column;grid-column:span 3;gap:14px;min-height:clamp(340px,31vw,460px);padding-top:18px;display:flex;position:relative}.svc:before,.svc:after{content:"";background:var(--ink);height:1px;position:absolute;top:0;left:0;right:0}.svc:after{background:var(--accent);transform-origin:0;height:3px;transition:transform .8s var(--ease);top:-1px;transform:scaleX(0)}.svc:hover:after{transform:scaleX(1)}.svc-idx{color:var(--mute);font-size:14px}.svc h3{letter-spacing:-.035em;font-size:clamp(22px,1.9vw,30px);font-weight:700;line-height:1.02}.svc-desc{max-width:30ch;color:var(--ink-2);font-size:15px;line-height:1.4}.svc-list{border-top:1px solid var(--rule);margin-top:auto;font-size:14px}.svc-list li{border-bottom:1px solid var(--rule);justify-content:space-between;padding:9px 0;display:flex}.svc-list li:after{content:"+";color:var(--mute)}.approach{padding-bottom:clamp(110px,13vw,200px)}.steps-line{height:1px;margin-inline:var(--m);background:var(--rule);position:relative}.steps-line i{background:var(--ink);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.steps{row-gap:48px;padding-top:24px}.step{flex-direction:column;grid-column:span 3;gap:10px;display:flex}.mask{display:block;overflow:hidden}.step-n{letter-spacing:-.065em;padding-bottom:.04em;font-size:clamp(60px,6.6vw,116px);font-weight:700;line-height:.86;display:block}.step h3{letter-spacing:-.02em;margin-top:14px;font-size:20px;font-weight:600}.step p{max-width:30ch;color:var(--ink-2);font-size:15px;line-height:1.4}.step-t{color:var(--mute);margin-top:auto;padding-top:14px;font-size:14px}@media (prefers-reduced-motion:reduce){.steps-line i{transform:none}}@media (width<=1100px){.svc{grid-column:span 6;min-height:0}.step{grid-column:span 6}}@media (width<=760px){:root{--disc:clamp(40px, 15.6vw, 96px)}.disc-link{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{flex-direction:column;min-height:100svh;display:flex}.hero-body{padding-top:calc(var(--head) + 12px)}.hero-foot{margin-top:auto}.ribbon-float{height:82svh;top:13svh;left:50%;transform:translate(-50%)}.ribbon:after{content:"";background:linear-gradient(#0000 58%,#000 96%);position:absolute;inset:0}.hero-foot .m1{grid-column:1/3}.hero-foot .m3{grid-column:3/5;padding-left:15px}.hero-foot .m3 i{left:0}.disc-idx{grid-column:1/5;padding-top:14px;font-size:12px}.disc-clip{grid-column:1/5}.disc-note{display:none}.hero-lead{text-align:left;grid-column:1/5;justify-self:start;max-width:none}.studio .label,.manifest,.facts{grid-column:1/5}.manifest{text-indent:0}.facts{grid-template-columns:1fr;row-gap:16px}.svc,.step{grid-column:1/5}}
