.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden}.hero .wrap{padding-top:clamp(72px,10vh,120px);padding-bottom:56px;position:relative;z-index:2}.hero-viz{position:absolute;right:-30px;bottom:-4px;width:min(60vw,780px);height:auto;pointer-events:none;z-index:1}.hero-viz .viz-grid{stroke:rgba(244,242,236,.05)}.hero-viz .viz-area{fill:url(#vizFill)}.hero-viz .viz-line{stroke:url(#vizStroke);stroke-width:2.5;fill:none;stroke-linecap:round}.hero-viz .s-a{stop-color:var(--acc);stop-opacity:0}.hero-viz .s-b{stop-color:var(--acc);stop-opacity:.4}.hero-viz .s-c{stop-color:var(--acc);stop-opacity:.9}.hero-viz .s-fa{stop-color:var(--acc);stop-opacity:0}.hero-viz .s-fb{stop-color:var(--acc);stop-opacity:.09}.hero-viz .viz-dot{fill:var(--acc)}.hero-viz .viz-ring{fill:none;stroke:var(--acc);opacity:.35;animation:vizpulse 2.6s ease-out infinite}@keyframes vizpulse{0%{r:6;opacity:.45}100%{r:20;opacity:0}}.hero-top{display:flex;justify-content:flex-end;gap:24px;margin-bottom:clamp(40px,6vh,72px)}.hero-top .mono span{color:var(--acc)}h1.display{font-size:clamp(2.8rem,7vw,6.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.04}h1.display .row{display:block}h1.display .serif{font-weight:500;letter-spacing:-.03em;color:var(--acc)}.hero-sub-row{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end;margin-top:clamp(40px,6vh,64px)}.hero-sub{font-size:1.02rem;line-height:1.75;color:var(--mut);max-width:52ch}.hero-sub b{color:var(--txt);font-weight:600}.hero-ctas{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.mq{border-bottom:1px solid var(--line);overflow:hidden;padding:20px 0;background:var(--bg2)}.mq-track{display:flex;gap:0;width:max-content;animation:mq 36s linear infinite}.mq:hover .mq-track{animation-play-state:paused}@keyframes mq{to{transform:translateX(-50%)}}.mq-set{display:flex;align-items:center;gap:clamp(34px,4.6vw,64px);padding-right:clamp(34px,4.6vw,64px)}.mq-logo{height:26px;width:auto;display:block;flex-shrink:0;opacity:.5;transition:opacity .3s ease}.mq-logo.ico{height:30px}.mq-logo.badge{height:38px}.mq:hover .mq-logo{opacity:.8}.prac-list{border-top:1px solid var(--line)}.prac{border-bottom:1px solid var(--line);padding:clamp(36px,5.5vh,60px) 0}.prac-top{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(20px,3vw,44px);margin-bottom:clamp(24px,3.5vh,36px)}.prac-head{min-width:0}.prac-top .n{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}.prac-top .n i{font-style:normal;color:var(--acc)}.prac-top h3{font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.02;color:var(--acc)}.prac-top .tags{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:right;white-space:nowrap;flex-shrink:0;padding-bottom:8px}.prac-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,64px)}.prac-inner p{color:var(--mut);font-size:.92rem;line-height:1.8;max-width:54ch}.prac-inner p b{color:var(--txt);font-weight:600}.prac-inner p+p{margin-top:14px}.prac-deliv{border-left:1px solid var(--line);padding-left:clamp(20px,2.5vw,36px);align-self:start}.prac-deliv li{font-size:.8rem;color:var(--mut);padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.prac-deliv li:last-child{border-bottom:none}.prac-deliv li i{font-style:normal;color:var(--acc);font-family:var(--mono);font-size:.6rem;white-space:nowrap}.ethos{background:var(--bg2)}.ethos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ethos-col{padding:8px clamp(20px,2.5vw,44px) 0 0;min-width:0}.ethos-col+.ethos-col{border-left:1px solid var(--line);padding-left:clamp(20px,2.5vw,44px)}.ethos-col .mono{display:block;margin-bottom:22px;color:var(--acc)}.ethos-col .mono i{font-style:normal;color:var(--mut)}.ethos-col h3{font-size:1.25rem;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}.ethos-col p{font-size:.88rem;color:var(--mut);line-height:1.8}.cycle{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,72px);align-items:center;border:1px solid var(--line);background:var(--card);padding:clamp(30px,4.5vw,52px);margin-top:clamp(44px,6vh,64px)}.cy-list{display:flex;flex-direction:column;gap:2px}.cy-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:baseline;padding:16px 16px 16px 0;border:none;background:0 0;text-align:left;cursor:pointer;font:inherit;color:inherit;border-bottom:1px solid var(--line);position:relative;transition:padding-left .3s ease}.cy-item:last-child{border-bottom:none}.cy-item:before{content:'';position:absolute;left:0;top:0;bottom:-1px;width:2px;background:var(--acc);transform:scaleY(0);transform-origin:top;transition:transform .35s ease}.cy-item.on{padding-left:16px}.cy-item.on:before{transform:scaleY(1)}.cy-item .n{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;color:var(--dim);font-variant-numeric:tabular-nums;transition:color .3s ease;padding-top:3px}.cy-item.on .n{color:var(--acc)}.cy-item .lab{min-width:0}.cy-item h4{font-size:clamp(1rem,1.6vw,1.3rem);font-weight:800;letter-spacing:-.015em;color:var(--mut);transition:color .3s ease;line-height:1.2}.cy-item.on h4{color:var(--txt)}.cy-item .sub{display:block;font-size:.76rem;color:var(--dim);line-height:1.6;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .3s ease,margin .3s ease}.cy-item.on .sub{max-height:64px;opacity:1;margin-top:7px}.cy-dial{position:relative;width:min(100%,320px);aspect-ratio:1;margin:0 auto;justify-self:center}.cy-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.cy-track{fill:none;stroke:var(--line);stroke-width:1.5}.cy-prog{fill:none;stroke:var(--acc);stroke-width:2.5;stroke-linecap:round;transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1);opacity:.85}.cy-comet{transition:transform .6s cubic-bezier(.4,0,.2,1);transform-origin:center}.cy-comet circle{fill:var(--acc)}.cy-comet .halo{fill:none;stroke:var(--acc);opacity:.4;animation:cyp 2.2s ease-out infinite}@keyframes cyp{0%{r:7;opacity:.5}100%{r:20;opacity:0}}.cy-dot{fill:var(--dim);transition:fill .3s ease}.cy-dot.on{fill:var(--acc)}.cy-nodelabel{position:absolute;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);transition:color .3s ease;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:none}.cy-nodelabel.on{color:var(--acc)}.cy-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:58%}.cy-core .cn{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;color:var(--dim)}.cy-core .ct{display:block;font-size:clamp(.95rem,1.6vw,1.15rem);font-weight:800;letter-spacing:-.01em;margin:6px 0 8px;line-height:1.15}.cy-core .cd{font-size:.72rem;color:var(--mut);line-height:1.55}.cy-fade{transition:opacity .3s ease}.cy-cap{grid-column:1/-1;border-top:1px solid var(--line);margin-top:6px;padding-top:20px;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.cy-cap i{font-style:normal;color:var(--acc)}.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);background:var(--card)}.case-l{padding:clamp(32px,5vw,56px);display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--line);min-width:0}.case-l .mono i{font-style:normal;color:var(--acc)}.case-l h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.case-l h3 a{color:inherit;text-decoration:none;transition:color .2s ease}.case-l h3 a:hover{color:var(--acc)}.case-l p{font-size:.9rem;color:var(--mut);line-height:1.8;max-width:48ch;flex:1}.case-viz{width:100%;height:auto;margin:6px 0 10px}.case-viz .cv-grid{stroke:rgba(244,242,236,.06)}.case-viz .cv-before{stroke:var(--dim);stroke-width:1.5;fill:none;opacity:.7}.case-viz .cv-after{stroke:var(--acc);stroke-width:2;fill:none}.case-viz .cv-area{fill:var(--acc);opacity:.07}.case-viz .cv-div{stroke:rgba(244,242,236,.2);stroke-dasharray:3 5}.case-viz .cv-dot{fill:var(--acc)}.case-viz .cv-lbl{font-family:var(--mono);font-size:9px;letter-spacing:1.2px;fill:var(--dim)}.case-viz .cv-lbl.on{fill:var(--acc)}.case-r{display:grid;grid-template-rows:repeat(3,1fr)}.case-r .cs{padding:clamp(20px,3vh,32px) clamp(28px,4vw,48px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.case-r .cs:last-child{border-bottom:none}.case-r b{font-size:clamp(2rem,3.6vw,3.2rem);font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.case-r b.up{color:var(--acc)}.case-r span{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:right}.foot-note{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--dim);margin-top:16px}.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.t-grid .t:nth-child(even){transform:translateY(36px)}.t{border:1px solid var(--line);background:var(--card);padding:clamp(26px,3vw,38px);display:flex;flex-direction:column;gap:26px;transition:border-color .25s ease}.t:hover{border-color:var(--line2)}.t .q{font-size:clamp(.98rem,1.4vw,1.15rem);line-height:1.7;color:var(--txt);font-weight:450}.t .q:before{content:'\201C ';color:var(--acc)}.t footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px}.t b{font-size:.82rem;font-weight:700;display:block}.t span{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.t .geo{font-family:var(--mono);font-size:.6rem;color:var(--acc)}.t-pad{padding-bottom:36px}.post-list{border-top:1px solid var(--line);margin-bottom:clamp(48px,7vh,80px)}.post{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:clamp(16px,3vw,40px);padding:26px 0;border-bottom:1px solid var(--line);transition:padding-left .25s ease}.post:hover{padding-left:14px}.post .cat{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);min-width:90px}.post h3{font-size:clamp(1.05rem,1.9vw,1.5rem);font-weight:700;letter-spacing:-.015em;transition:color .2s ease;min-width:0}.post:hover h3{color:var(--acc)}.post time{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.post .go{color:var(--dim);font-size:1rem;transition:transform .25s ease,color .25s ease}.post:hover .go{transform:translateX(6px);color:var(--txt)}.post:hover .pthumb{border-color:var(--line2)}.contact{border-bottom:none}.contact .wrap{padding-top:clamp(80px,13vh,150px);padding-bottom:clamp(72px,11vh,120px)}.contact .mono{display:block;margin-bottom:28px}.contact .mono i{font-style:normal;color:var(--acc)}.big-cta{display:block;font-size:clamp(2.5rem,7vw,6.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.04;position:relative;width:fit-content;max-width:100%}.big-cta .serif{font-weight:500;color:var(--acc)}.big-cta .ar{display:inline-block;transition:transform .3s ease;color:var(--acc)}.big-cta:hover .ar{transform:translate(14px,-6px)}.contact-meta{display:flex;gap:clamp(28px,6vw,88px);flex-wrap:wrap;margin-top:clamp(40px,7vh,64px);border-top:1px solid var(--line);padding-top:30px}.cm span{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:8px}.cm a,.cm b{font-size:.95rem;font-weight:600}.cm a:hover{color:var(--acc)}@media(max-width:920px){.hero-sub-row{grid-template-columns:1fr;gap:28px}.hero-ctas{justify-content:flex-start}.hero-viz{width:120vw;right:-30vw;opacity:.55}.prac-top{gap:14px}.prac-top .n{margin-bottom:10px}.prac-top .tags{display:none}.prac-inner{grid-template-columns:1fr;gap:22px}.prac-deliv{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:6px}.ethos-grid{grid-template-columns:1fr;gap:32px}.ethos-col+.ethos-col{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:32px}.cycle{grid-template-columns:1fr;gap:32px}.cy-dial{order:-1;width:min(76%,280px)}.case{grid-template-columns:1fr}.case-l{border-right:none;border-bottom:1px solid var(--line)}.t-grid{grid-template-columns:1fr}.t-grid .t:nth-child(even){transform:none}.t-pad{padding-bottom:0}.post{grid-template-columns:1fr auto;grid-template-rows:auto auto}.post .cat{grid-column:1/-1;min-width:0}.post .go{display:none}.pthumb{display:none}}