:root{--night:#0a1220;--deep:#07101c;--ink:#e9e3d6;--mute:#8d97a8;--amber:#f3b55a;--amber-2:#ffd79a;--line:#e9e3d624;--serif:"Gloock", "Georgia", serif;--sans:"Schibsted Grotesk", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--gut:clamp(16px, 4vw, 56px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--night);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}a{color:inherit}h1,h2,h3,p,dl,dd,ol{margin:0;padding:0}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.wrap{width:100%;max-width:1280px;padding:0 var(--gut);margin:0 auto}.tag{color:var(--amber);align-items:center;gap:12px;margin-bottom:clamp(24px,4vw,48px);display:flex}.tag:before{content:"";background:currentColor;width:28px;height:1px}.r{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);transform:translateY(34px)}.r.on{opacity:1;transform:none}.top{z-index:20;padding:14px var(--gut);background:linear-gradient(var(--night) 30%, #0a122000);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;inset:0 0 auto}.brand{font-family:var(--serif);white-space:nowrap;font-size:18px;text-decoration:none}.brand span{color:var(--amber)}.nav{gap:28px;display:flex}.nav a{color:var(--mute);font-size:14px;text-decoration:none;transition:color .3s}.nav a:hover{color:var(--ink)}.call{white-space:nowrap;font-family:var(--mono);border:1px solid var(--line);border-radius:99px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;text-decoration:none;display:inline-flex}.dot{background:var(--amber);width:7px;height:7px;box-shadow:0 0 10px var(--amber);border-radius:50%;animation:2.4s ease-in-out infinite blink}@keyframes blink{50%{opacity:.35}}@media (width<=860px){.nav{display:none}}@media (width<=400px){.brand{font-size:15px}.call{padding:8px 11px;font-size:12px}}.hero{min-height:100svh;padding:92px var(--gut) 40px;background:radial-gradient(120% 70% at 50% 0%, #15243b 0%, var(--night) 60%), var(--night);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:linear-gradient(#07101c00, var(--deep) 60%);height:38%;position:absolute;inset:auto 0 0}.in{opacity:0;animation:up 1.2s cubic-bezier(.2,.7,.2,1) var(--d,0s) forwards;display:inline-block;transform:translateY(40px)}@keyframes up{to{opacity:1;transform:none}}.sky i{background:var(--ink);opacity:.5;border-radius:50%;width:2px;height:2px;animation:4s ease-in-out infinite tw;position:absolute}.sky i:first-child{top:14%;left:8%}.sky i:nth-child(2){animation-delay:-1s;top:30%;left:22%}.sky i:nth-child(3){animation-delay:-2s;top:12%;left:37%}.sky i:nth-child(4){animation-delay:-.5s;top:22%;left:55%}.sky i:nth-child(5){animation-delay:-3s;top:9%;left:68%}.sky i:nth-child(6){animation-delay:-1.6s;top:27%;left:82%}.sky i:nth-child(7){animation-delay:-2.4s;top:15%;left:93%}.sky i:nth-child(8){animation-delay:-.8s;top:44%;left:14%}.sky i:nth-child(9){animation-delay:-3.3s;top:36%;left:47%}.sky i:nth-child(10){animation-delay:-1.2s;top:40%;left:74%}.sky i:nth-child(11){animation-delay:-2.8s;top:20%;left:31%}.sky i:nth-child(12){animation-delay:-.3s;top:6%;left:88%}@keyframes tw{50%{opacity:.1}}.kicker{z-index:2;color:var(--amber);margin-bottom:clamp(14px,3vh,28px);position:relative}.name{z-index:2;font-weight:400;font-family:var(--serif);flex-direction:column;line-height:.9;display:flex;position:relative}.first{color:var(--mute);margin-bottom:.2em;font-size:clamp(22px,4.2vw,46px)}.w{letter-spacing:-.02em;will-change:transform;font-size:min(15.5vw,17vh,210px);display:block}.w2{text-align:right;z-index:2;position:relative}.bridge-row{margin:-.02em 0 0;display:block;position:relative}.bridge{width:100%;height:min(20vw,17vh,160px);display:block;overflow:visible}.bridge rect,.bridge .tower rect{fill:var(--ink)}.bridge .deck{fill:var(--ink);transform-box:fill-box;transform-origin:50%;animation:1.4s cubic-bezier(.7,0,.2,1) .4s forwards deck;transform:scaleX(0)}@keyframes deck{to{transform:scaleX(1)}}.bridge .tower{transform-box:fill-box;transform-origin:bottom;animation:1s cubic-bezier(.2,.7,.2,1) forwards tower;transform:scaleY(0)}.bridge .t1{animation-delay:1.1s}.bridge .t2{animation-delay:1.25s}@keyframes tower{to{transform:none}}.bridge .cables path{fill:none;stroke:var(--amber);stroke-width:2.2px;vector-effect:non-scaling-stroke}.bridge .cables .hang{stroke-width:1px;opacity:.7}.bridge .cables{opacity:0;animation:1.2s 1.8s forwards fade}.bridge .lamps circle{fill:var(--amber-2);opacity:0;animation:.6s forwards fade,3s ease-in-out infinite flick}.bridge .lamps circle:first-child{animation-delay:2.3s,3s}.bridge .lamps circle:nth-child(2){animation-delay:2.45s,3.4s}.bridge .lamps circle:nth-child(3){animation-delay:2.6s,3.9s}.bridge .lamps circle:nth-child(4){animation-delay:2.75s,3.2s}.bridge .lamps circle:nth-child(5){animation-delay:2.9s,3.6s}@keyframes fade{to{opacity:1}}@keyframes flick{0%,to{opacity:1}50%{opacity:.55}}.reflect{transform-origin:50% 100%;opacity:0;z-index:1;pointer-events:none;width:100%;animation:2s 2.4s forwards refl;position:absolute;top:0;left:0;transform:scaleY(-.75)}@keyframes refl{to{opacity:.2}}.ripples{z-index:1;pointer-events:none;height:40vh;position:absolute;top:100%;left:-10%;right:-10%}.ripples i{background:repeating-linear-gradient(90deg,#f3b55a73 0 40px,#0000 40px 120px);width:120%;height:1px;animation:9s linear infinite flow;position:absolute;left:0}.ripples i:first-child{top:6%}.ripples i:nth-child(2){opacity:.7;animation-duration:12s;top:14%}.ripples i:nth-child(3){opacity:.5;animation-duration:7s;top:24%}.ripples i:nth-child(4){opacity:.4;animation-duration:14s;top:36%}.ripples i:nth-child(5){opacity:.3;animation-duration:10s;top:50%}.ripples i:nth-child(6){opacity:.2;animation-duration:16s;top:66%}@keyframes flow{to{transform:translate(-120px)}}.hero-foot{z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 28px;margin-top:clamp(28px,6vh,64px);display:flex;position:relative}.addr{color:var(--mute);line-height:1.7}.pill{background:var(--amber);color:#1a1206;border-radius:99px;align-items:center;gap:10px;padding:14px 22px;font-size:15px;text-decoration:none;transition:transform .35s;display:inline-flex}.pill b{font-family:var(--mono);font-weight:500}.pill:hover{transform:translateY(-2px)}.practice{background:var(--deep);height:520vh;position:relative}.pin{height:100svh;position:sticky;top:0;overflow:hidden}.p-head{z-index:3;top:84px;left:var(--gut);right:var(--gut);color:var(--mute);justify-content:space-between;display:flex;position:absolute}.p-head b{color:var(--amber);font-weight:500}.track{will-change:transform;width:500vw;height:100%;display:flex}.lamp-panel{--a:0;width:100vw;height:100%;padding:120px max(var(--gut), 8vw) 90px;flex:none;grid-template-columns:auto 1fr;align-items:center;gap:clamp(20px,5vw,80px);display:grid;position:relative}.glow{left:calc(max(var(--gut), 8vw) - 34vmin + 40px);width:68vmin;height:68vmin;opacity:var(--a);transform:scale(calc(.6 + var(--a) * .4));pointer-events:none;background:radial-gradient(circle,#f3b55a6b,#f3b55a14 45%,#f3b55a00 70%);border-radius:50%;margin-top:-40vmin;position:absolute;top:50%}.lantern{width:auto;height:min(56vh,420px);position:relative}.lantern .post,.lantern .head{fill:#2a3448}.lantern .head{fill:#34405a}.lantern .flame{fill:var(--amber-2);opacity:calc(.12 + var(--a) * .88)}.lamp-panel .num{left:max(var(--gut), 8vw);color:var(--amber);opacity:calc(.3 + var(--a) * .7);position:absolute;bottom:92px}.lamp-panel h2{font-family:var(--serif);letter-spacing:-.015em;-webkit-hyphens:manual;hyphens:manual;max-width:11ch;opacity:calc(.18 + var(--a) * .82);transform:translate3d(calc((1 - var(--a)) * 6vw), 0, 0);font-size:clamp(40px,8.4vw,136px);font-weight:400;line-height:1;position:relative}.quay{left:var(--gut);right:var(--gut);background:var(--line);height:1px;position:absolute;bottom:48px}.q-fill{background:var(--amber);transform-origin:0;transform:scaleX(var(--p,0));position:absolute;inset:0}@media (width<=700px){.lamp-panel{padding:110px var(--gut) 100px;grid-template-rows:auto auto;grid-template-columns:1fr;align-content:center;justify-items:start;gap:18px}.lantern{height:min(34vh,260px)}.glow{left:calc(var(--gut) - 40vmin + 30px);width:80vmin;height:80vmin;top:calc(50% - 10vh)}.lamp-panel h2{font-size:min(12.5vw,64px)}.lamp-panel .num{left:var(--gut);bottom:70px}.quay{bottom:40px}}@media (height<=480px) and (orientation:landscape){.lamp-panel{padding:70px var(--gut) 60px}.lantern{height:58vh}.lamp-panel h2{font-size:min(9vw,13vh,72px)}.p-head{top:64px}.lamp-panel .num{bottom:54px}.quay{bottom:34px}}.lawyer{background:var(--deep);padding:clamp(90px,14vw,180px) 0 clamp(70px,10vw,140px)}.big{font-family:var(--serif);letter-spacing:-.015em;overflow-wrap:anywhere;margin-bottom:clamp(36px,6vw,72px);font-size:clamp(36px,7vw,104px);font-weight:400;line-height:1}.big em{color:var(--amber);font-style:normal;display:block}.plates{grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,32px);display:grid}@media (width<=760px){.plates{grid-template-columns:1fr}}.plate{background:linear-gradient(145deg,#f3b55a1f,#f3b55a08);border:1px solid #f3b55a4d;border-radius:4px;padding:clamp(22px,3vw,40px);position:relative}.plate:nth-child(2){--d:.12s}.plate:before,.plate:after{content:"";background:#f3b55a8c;border-radius:50%;width:7px;height:7px;position:absolute;top:14px}.plate:before{left:14px}.plate:after{right:14px}.pl-t{color:var(--amber);margin-bottom:18px;padding-left:14px}.plate div{border-top:1px solid var(--line);grid-template-columns:minmax(110px,38%) 1fr;gap:14px;padding:13px 0;display:grid}.plate dt{color:var(--mute);padding-top:3px;font-size:11px}.plate dd{overflow-wrap:anywhere;font-size:16px}@media (width<=420px){.plate div{grid-template-columns:1fr;gap:2px}}.steps{background:linear-gradient(var(--deep), var(--night));padding:clamp(70px,10vw,140px) 0}.spans{grid-template-columns:repeat(3,1fr);gap:0;list-style:none;display:grid}.span{padding:0 clamp(10px,2vw,28px) 0 0}.span svg{transform-origin:0 100%;width:100%;height:auto;margin-bottom:22px;transition:transform 1.2s cubic-bezier(.7,0,.2,1) .2s;display:block;overflow:visible;transform:scaleX(0)}.span.on svg{transform:none}.span path{fill:none;stroke:var(--amber);stroke-width:2px;vector-effect:non-scaling-stroke}.span rect{fill:var(--ink);opacity:.85}.span .mono{color:var(--amber)}.span h3{font-family:var(--serif);margin:8px 0;font-size:clamp(28px,3vw,40px);font-weight:400}.span p{color:var(--mute);max-width:30ch}.span:nth-child(2){--d:.15s}.span:nth-child(3){--d:.3s}@media (width<=760px){.spans{grid-template-columns:1fr;gap:44px}.span{padding:0}.span svg{max-width:360px}}.contact{background:var(--night);padding:clamp(80px,12vw,160px) 0 clamp(60px,8vw,100px);overflow:hidden}.phone{margin-bottom:clamp(60px,9vw,120px);text-decoration:none;display:block;position:relative}.ph{font-family:var(--serif);letter-spacing:-.02em;white-space:nowrap;font-size:min(14.5vw,200px);line-height:1;display:block}.ph.r{transition-duration:1.2s}.phone:hover .ph:first-child{color:var(--amber-2)}.mirror{color:var(--amber);opacity:.16;transform-origin:top;animation:6s ease-in-out infinite sway;position:absolute;top:100%;left:0;transform:scaleY(-.7);-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}@keyframes sway{50%{transform:scaleY(-.7)translate(8px)skew(-3deg)}}.c-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:32px;padding-top:32px;display:grid}.c-grid h3{color:var(--amber);margin-bottom:10px;font-weight:500}.c-grid p{font-size:18px}.c-grid a{text-decoration:none}.c-grid .mail{overflow-wrap:anywhere}.c-grid>div:nth-child(2){--d:.1s}.c-grid>div:nth-child(3){--d:.2s}.link{color:var(--amber);margin-top:12px;font-size:15px;display:inline-block}@media (width<=760px){.c-grid{grid-template-columns:1fr;gap:26px}}.foot{padding:26px var(--gut) 34px;color:var(--mute);border-top:1px solid var(--line);background:var(--night);flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:11px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.r{opacity:1;transform:none}}
