.twp-site{--ink:#18181b;--ink-2:#3f3f46;--paper:#fff;--paper-2:#f4f4f5;--panel:#ededee;--line:#e4e4e7;--line-2:#d4d4d8;--muted:#71717a;--maxw:1320px;--disp:var(--font-mulish), "Avenir Next", "Segoe UI", system-ui, sans-serif;--sans:var(--font-plex), system-ui, sans-serif;--mono:var(--font-plex-mono), ui-monospace, monospace;background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;position:relative;overflow-x:hidden}.twp-site:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(90deg,#16161a09 1px,#0000 1px),linear-gradient(#16161a09 1px,#0000 1px);background-size:clamp(60px,8.33vw,110px) clamp(60px,8.33vw,110px);position:fixed;inset:0}.twp-site .wrap{max-width:var(--maxw);z-index:1;margin:0 auto;padding:0 clamp(20px,5vw,64px);position:relative}.twp-site a{color:inherit;text-decoration:none}.twp-site .mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.7rem}.twp-site header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f0f0f2e6;position:sticky;top:0}.twp-site .nav{justify-content:space-between;align-items:center;height:76px;display:flex}.twp-site .brand{font-family:var(--disp);letter-spacing:.015em;align-items:center;gap:12px;font-size:1.18rem;font-weight:900;display:flex}.twp-site .brand svg{width:30px;height:34px;display:block}.twp-site .brand .brand-mark{-o-object-fit:contain;object-fit:contain;width:27px;height:34px;display:block}.twp-site .brand small{font-family:var(--disp);letter-spacing:.06em;color:var(--ink-2);text-transform:none;margin-top:1px;font-size:.68rem;font-weight:300;display:block}.twp-site .menu{align-items:center;gap:34px;display:flex}.twp-site .menu a{padding:4px 0;font-size:.9rem;font-weight:500;position:relative}.twp-site .menu a:not(.portal):after{content:"";background:var(--ink);width:0;height:2px;transition:width .28s;position:absolute;bottom:-2px;left:0}.twp-site .menu a:not(.portal):hover:after{width:100%}.twp-site .portal{border:1px solid var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:8px;padding:9px 16px;font-size:.68rem;transition:all .2s;display:inline-flex}.twp-site .portal:hover{background:var(--ink);color:var(--paper)}.twp-site .btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;border:1px solid var(--ink);align-items:center;gap:10px;padding:15px 26px;font-size:.72rem;transition:all .22s;display:inline-flex}.twp-site .btn-solid{background:var(--ink);color:var(--paper)}.twp-site .btn-solid:hover{color:var(--ink);background:0 0}.twp-site .btn-ghost:hover{background:var(--ink);color:var(--paper)}.twp-site .hero{padding:clamp(48px,9vw,120px) 0 clamp(40px,6vw,80px);position:relative}.twp-site .axis{font-family:var(--mono);color:var(--line-2);letter-spacing:.2em;justify-content:space-between;padding:0 clamp(20px,5vw,64px);font-size:.62rem;display:flex;position:absolute;top:18px;left:0;right:0}.twp-site .hero-eyebrow{align-items:center;gap:14px;margin-bottom:30px;display:flex}.twp-site .hero-eyebrow .tick{background:var(--ink);width:36px;height:2px}.twp-site .hero h1{font-family:var(--disp);letter-spacing:-.03em;font-size:clamp(2.7rem,8.2vw,6.6rem);font-weight:800;line-height:.94}.twp-site .hero h1 em{color:var(--muted);font-style:normal}.twp-site .hero-sub{max-width:46ch;color:var(--ink-2);margin-top:30px;font-size:clamp(1.02rem,1.6vw,1.28rem);line-height:1.55}.twp-site .hero-cta{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.twp-site .hero-frame{border:1px solid var(--line-2);aspect-ratio:16/7;background:repeating-linear-gradient(135deg, #16161a0d 0 2px, transparent 2px 16px), var(--panel);justify-content:space-between;align-items:flex-end;margin-top:clamp(48px,7vw,88px);padding:22px 26px;display:flex;position:relative;overflow:hidden}.twp-site .hero-frame .dimx{font-family:var(--disp);color:var(--ink);max-width:60%;font-size:clamp(1.1rem,2.4vw,2rem);font-weight:700;line-height:1.05;position:absolute;top:50%;left:26px;transform:translateY(-50%)}.twp-site .hero-frame .note{font-family:var(--mono);color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem}.twp-site .strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);overflow:hidden}.twp-site .strip-track{white-space:nowrap;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);justify-content:center;gap:52px;padding:16px 0;font-size:.74rem;display:flex}.twp-site section{z-index:1;position:relative}.twp-site .sec-head{align-items:baseline;gap:20px;padding:clamp(56px,8vw,110px) 0 34px;display:flex}.twp-site .sec-head .no{font-family:var(--mono);color:var(--muted);letter-spacing:.2em;white-space:nowrap;font-size:.72rem}.twp-site .sec-head h2{font-family:var(--disp);letter-spacing:-.02em;font-size:clamp(1.7rem,4.4vw,3.1rem);font-weight:700;line-height:1}.twp-site .svc{border-top:1px solid var(--line-2)}.twp-site .svc-row{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr 1.1fr auto;align-items:start;gap:24px;padding:32px 8px;transition:all .3s;display:grid}.twp-site .svc-row:hover{background:var(--paper-2);padding-left:20px;padding-right:20px}.twp-site .svc-row .idx{font-family:var(--mono);color:var(--muted);padding-top:8px;font-size:.82rem}.twp-site .svc-row h3{font-family:var(--disp);letter-spacing:-.02em;font-size:clamp(1.35rem,3vw,2rem);font-weight:700;line-height:1.02}.twp-site .svc-row p{color:var(--ink-2);max-width:42ch;font-size:.98rem}.twp-site .svc-row .tags{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.twp-site .tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line-2);padding:4px 9px;font-size:.62rem}.twp-site .svc-row .go{font-family:var(--disp);align-self:center;font-size:1.6rem;line-height:1;transition:transform .25s}.twp-site .svc-row:hover .go{transform:translate(4px,-4px)}.twp-site .stats{border:1px solid var(--line-2);grid-template-columns:repeat(4,1fr);margin-top:8px;display:grid}.twp-site .stat{border-right:1px solid var(--line);padding:34px 26px}.twp-site .stat:last-child{border-right:0}.twp-site .stat .n{font-family:var(--disp);letter-spacing:-.03em;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1}.twp-site .stat .l{color:var(--muted);margin-top:10px;font-size:.86rem;line-height:1.4}.twp-site .about{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,5vw,72px);padding-bottom:clamp(40px,6vw,80px);display:grid}.twp-site .about p{color:var(--ink-2);margin-bottom:20px;font-size:clamp(1.05rem,1.7vw,1.32rem);line-height:1.6}.twp-site .about p.lead{font-family:var(--disp);color:var(--ink);letter-spacing:-.01em;font-size:clamp(1.4rem,2.8vw,2rem);font-weight:600;line-height:1.2}.twp-site .portrait{border:1px solid var(--line-2);aspect-ratio:4/5;background:repeating-linear-gradient(135deg, #16161a0d 0 2px, transparent 2px 16px), var(--panel);align-items:flex-end;padding:20px;display:flex;position:relative}.twp-site .portrait .cap{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.62rem}.twp-site .portrait .cap b{font-family:var(--disp);letter-spacing:0;color:var(--ink);text-transform:none;margin-bottom:2px;font-size:1.05rem;display:block}.twp-live [data-live-section]{cursor:pointer;position:relative}.twp-live [data-live-section]:hover{outline-offset:-2px;outline:2px dashed #18181b59}.twp-live [data-live-section].live-selected{outline-offset:-2px;outline:2px solid #18181bd9}.twp-site .member .member-mail{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line-2);margin-top:6px;padding-bottom:2px;font-size:.7rem;transition:all .25s;display:inline-block}.twp-site .member .member-mail:hover{color:var(--ink);border-color:var(--ink)}.twp-site .back-row{padding-top:clamp(40px,6vw,72px)}.twp-site .back-link{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);align-items:baseline;gap:8px;padding-bottom:4px;font-size:.72rem;transition:all .25s;display:inline-flex}.twp-site .back-link:hover{color:var(--ink);border-color:var(--ink)}.twp-site .back-row+.sec-head{padding-top:22px}.twp-site .prose-figure{aspect-ratio:16/9;border:1px solid var(--line-2);background:var(--paper-2);margin-bottom:clamp(28px,4vw,48px);position:relative}.twp-site .prose-figure .fig-note{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:#ffffffd9;padding:3px 8px;font-size:.68rem;position:absolute;bottom:10px;right:14px}.twp-site .prose{max-width:76ch;padding-bottom:clamp(48px,7vw,96px)}.twp-site .prose p{color:var(--ink-2);margin-bottom:18px;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7}.twp-site .prose h3{font-family:var(--disp);letter-spacing:-.01em;color:var(--ink);margin:34px 0 14px;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:700}.twp-site .prose ul{margin:0 0 18px 1.2em}.twp-site .prose li{color:var(--ink-2);margin-bottom:6px;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7;list-style:square}.twp-site .proj{grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,32px);display:grid}.twp-site .card{border:1px solid var(--line-2);background:var(--paper);transition:all .3s}.twp-site .card:hover{background:var(--paper-2)}.twp-site .card .img{aspect-ratio:16/10;background:repeating-linear-gradient(135deg, #16161a0d 0 2px, transparent 2px 16px), var(--panel);border-bottom:1px solid var(--line-2);justify-content:center;align-items:center;display:flex}.twp-site .card .img .ph{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--line-2);font-size:.62rem}.twp-site .card .body{justify-content:space-between;align-items:flex-end;padding:20px 22px;display:flex}.twp-site .card h3{font-family:var(--disp);letter-spacing:-.01em;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:700;line-height:1.05}.twp-site .card .meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:8px;font-size:.64rem}.twp-site .card .go{font-family:var(--disp);font-size:1.4rem;line-height:1}.twp-site .card.big{grid-column:span 2}.twp-site .card.big .img{aspect-ratio:21/8}.twp-site .team{grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);display:grid}.twp-site .member .av{aspect-ratio:1;border:1px solid var(--line-2);background:repeating-linear-gradient(135deg, #16161a0d 0 2px, transparent 2px 16px), var(--panel)}.twp-site .member .bio{background:var(--ink);color:var(--paper);padding:14px 14px 12px;transition:transform .28s;position:absolute;inset:auto 0 0;transform:translateY(101%)}.twp-site .member:hover .bio,.twp-site .member:focus .bio,.twp-site .member:focus-within .bio{transform:translateY(0)}.twp-site .member:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.twp-site .member .bio-text{font-size:.78rem;line-height:1.5}.twp-site .member .bio-tags{flex-wrap:wrap;gap:5px;margin-top:10px;padding:0;list-style:none;display:flex}.twp-site .member .bio-tags li{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid #ffffff52;padding:3px 6px;font-size:.56rem}@media (prefers-reduced-motion:reduce){.twp-site .member .bio{transition:none}}.twp-site .member h4{font-family:var(--disp);letter-spacing:-.01em;margin-top:14px;font-size:1.05rem;font-weight:700}.twp-site .member .role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px;font-size:.62rem}.twp-site .contact{border:1px solid var(--ink);background:var(--ink);color:var(--paper);grid-template-columns:1.2fr .8fr;gap:clamp(30px,5vw,64px);margin:clamp(56px,8vw,110px) 0 0;padding:clamp(38px,6vw,72px);display:grid;position:relative;overflow:hidden}.twp-site .contact:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#f4f3ef0d 1px,#0000 1px),linear-gradient(#f4f3ef0d 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.twp-site .contact h2{font-family:var(--disp);letter-spacing:-.03em;font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:.98;position:relative}.twp-site .contact .k-sub{color:#b4b4bb;max-width:36ch;margin-top:20px;position:relative}.twp-site .contact .cbtn{background:var(--paper);color:var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:10px;margin-top:32px;padding:16px 28px;font-size:.72rem;transition:all .2s;display:inline-flex;position:relative}.twp-site .contact .cbtn:hover{background:#d4d4d8}.twp-site .contact .info{flex-direction:column;gap:22px;display:flex;position:relative}.twp-site .contact .info .lb{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:#8a8a92;margin-bottom:6px;font-size:.6rem}.twp-site .contact .info .vv{font-family:var(--disp);letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.twp-site footer{padding:clamp(48px,7vw,90px) 0 40px}.twp-site .foot-top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:40px;display:flex}.twp-site .foot-cred{flex-wrap:wrap;gap:10px;display:flex}.twp-site .foot-bot{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:24px;font-size:.66rem;display:flex}.twp-site .foot-bot a:hover{color:var(--ink)}@media (max-width:900px){.twp-site .menu{display:none}.twp-site .svc-row{grid-template-columns:44px 1fr;gap:6px 16px}.twp-site .svc-row .tags{text-align:left;flex-flow:wrap;grid-column:2;justify-content:flex-start;align-items:flex-start;margin-top:6px}.twp-site .svc-row p{grid-column:2}.twp-site .svc-row .go{display:none}.twp-site .stats{grid-template-columns:1fr 1fr}.twp-site .stat:nth-child(2){border-right:0}.twp-site .stat:first-child,.twp-site .stat:nth-child(2){border-bottom:1px solid var(--line)}.twp-site .about,.twp-site .proj{grid-template-columns:1fr}.twp-site .card.big{grid-column:span 1}.twp-site .team{grid-template-columns:1fr 1fr}.twp-site .contact{grid-template-columns:1fr}}@keyframes twp-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes twp-marquee{to{transform:translate(-50%)}}@keyframes twp-sheen{0%{transform:translate(-160%)skew(-18deg)}to{transform:translate(340%)skew(-18deg)}}@keyframes twp-shimmer{to{background-position:-220% 0}}.twp-site .plus{color:#0000;background-image:linear-gradient(130deg,#71717a 0%,#18181b 55%,#52525b 100%);-webkit-background-clip:text;background-clip:text;margin:0 .06em;font-weight:800;display:inline-block;transform:translateY(-.03em)}.twp-site .hero-eyebrow,.twp-site .hero h1,.twp-site .hero-sub,.twp-site .hero-cta,.twp-site .hero-frame{animation:.75s cubic-bezier(.22,.61,.2,1) both twp-rise}.twp-site .hero h1{animation-delay:.12s}.twp-site .hero-sub{animation-delay:.26s}.twp-site .hero-cta{animation-delay:.38s}.twp-site .hero-frame{animation-delay:.52s}.twp-site .hero h1 em{color:#0000;background-image:linear-gradient(120deg,#71717a 0%,#18181b 38%,#52525b 55%,#27272a 78%,#71717a 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:7s linear 1.4s infinite twp-shimmer}.twp-site .btn-solid{color:var(--paper);background-image:linear-gradient(#ffffff1f,#0000 42%),linear-gradient(102deg,#3f3f46 0%,#18181b 100%);border-color:#18181b;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000002e}.twp-site .btn-solid:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff38,#0000);width:38%;position:absolute;top:0;bottom:0;left:0;transform:translate(-160%)skew(-18deg)}.twp-site .btn-solid:hover{color:var(--paper);background-image:linear-gradient(#ffffff1f,#0000 42%),linear-gradient(102deg,#3f3f46 0%,#18181b 100%);transform:translateY(-2px);box-shadow:0 8px 22px #00000038}.twp-site .btn-solid:hover:after{animation:.8s twp-sheen}.twp-site .portal:hover{color:var(--paper);background-color:#0000;background-image:linear-gradient(#ffffff1a,#0000 42%),linear-gradient(102deg,#3f3f46 0%,#18181b 100%)}.twp-site .hero-frame .measure{align-items:center;gap:12px;display:flex;position:absolute;top:18px;left:26px;right:26px}.twp-site .hero-frame .measure i{background:var(--line-2);flex:1;height:1px;position:relative}.twp-site .hero-frame .measure i:before,.twp-site .hero-frame .measure i:after{content:"";background:var(--line-2);width:1px;height:9px;position:absolute;top:-4px}.twp-site .hero-frame .measure i:first-of-type:before,.twp-site .hero-frame .measure i:last-of-type:after{content:""}.twp-site .hero-frame .measure i:before{left:0}.twp-site .hero-frame .measure i:after{right:0}.twp-site .hero-frame .measure b{font-family:var(--mono);letter-spacing:.16em;color:var(--muted);font-size:.62rem;font-weight:400}.twp-site .hero-frame:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#18181b0f,#0000);width:30%;animation:7s ease-in-out 2s infinite twp-sheen;position:absolute;top:0;bottom:0;left:0;transform:translate(-160%)skew(-18deg)}.twp-site .strip-track{will-change:transform;justify-content:flex-start;gap:0;width:max-content;animation:30s linear infinite twp-marquee}.twp-site .strip:hover .strip-track{animation-play-state:paused}.twp-site .strip-run{align-items:center;gap:26px;padding-right:26px;display:inline-flex}.twp-site .strip-run .plus{margin:0;font-size:1.05rem}.twp-site .svc-row{position:relative}.twp-site .svc-row:before{content:"";transform-origin:top;background:linear-gradient(#52525b,#18181b);width:3px;transition:transform .32s cubic-bezier(.22,.61,.2,1);position:absolute;top:0;bottom:-1px;left:0;transform:scaleY(0)}.twp-site .svc-row:hover:before{transform:scaleY(1)}.twp-site .svc-row:hover .idx{color:var(--ink)}.twp-site .stat .n{color:#0000;background-image:linear-gradient(130deg,#52525b 0%,#18181b 60%,#3f3f46 100%);-webkit-background-clip:text;background-clip:text}.twp-site .stat{transition:background .3s}.twp-site .stat:hover{background:var(--paper-2)}.twp-site .card{transition:transform .3s cubic-bezier(.22,.61,.2,1),box-shadow .3s,background .3s}.twp-site .card:hover{transform:translateY(-4px);box-shadow:0 8px 22px #0000001a}.twp-site .contact{background-color:#0000;background-image:linear-gradient(118deg,#0000 34%,#ffffff0f 47%,#0000 57%),linear-gradient(140deg,#3f3f46 0%,#27272a 52%,#18181b 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:0}@supports (animation-timeline:view()){.twp-site .sec-head,.twp-site .svc-row,.twp-site .stat,.twp-site .card,.twp-site .member,.twp-site .about>div,.twp-site .contact{animation:.8s cubic-bezier(.22,.61,.2,1) both twp-rise;animation-timeline:view();animation-range:entry entry 40%}}@media (prefers-reduced-motion:reduce){.twp-site *,.twp-site :before,.twp-site :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.twp-site .strip-track{animation:none}}.twp-site .img-cover{-o-object-fit:cover;object-fit:cover;z-index:0}.twp-site .hero-frame .img-cover{z-index:0}.twp-site .hero-frame:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#18181b6b 0%,#0000 55%),linear-gradient(#0000 62%,#18181b80 100%);position:absolute;inset:0}.twp-site .hero-frame .measure,.twp-site .hero-frame .dimx,.twp-site .hero-frame .note{z-index:2}.twp-site .hero-frame .dimx{color:#fff;text-shadow:0 1px 12px #00000059}.twp-site .hero-frame .note{color:#ffffffe0;position:relative}.twp-site .hero-frame .measure b{color:#ffffffd9}.twp-site .hero-frame .measure i,.twp-site .hero-frame .measure i:before,.twp-site .hero-frame .measure i:after{background:#ffffff8c}.twp-site .hero-frame:after{z-index:1;background:linear-gradient(100deg,#0000,#ffffff24,#0000)}.twp-site .portrait .img-cover{z-index:0}.twp-site .portrait .cap{z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--line);background:#ffffffeb;padding:12px 16px;position:relative}.twp-site .card .img{position:relative;overflow:hidden}.twp-site .card .img .img-cover{transition:transform .5s cubic-bezier(.22,.61,.2,1)}.twp-site .card:hover .img .img-cover{transform:scale(1.04)}.twp-site .card.cta{color:var(--paper);background-image:linear-gradient(118deg,#0000 34%,#ffffff0f 47%,#0000 57%),linear-gradient(140deg,#3f3f46 0%,#27272a 52%,#18181b 100%);border-color:#18181b;flex-direction:column;justify-content:space-between;display:flex}.twp-site .card.cta .body{padding:26px 22px}.twp-site .card.cta h3{color:var(--paper)}.twp-site .card.cta .cta-lead{font-family:var(--disp);color:#ffffffbf;max-width:30ch;padding:26px 22px 0;font-size:1.05rem;font-weight:300}.twp-site .card.cta:hover{background-image:linear-gradient(118deg,#0000 30%,#ffffff1a 47%,#0000 60%),linear-gradient(140deg,#3f3f46 0%,#27272a 52%,#18181b 100%)}.twp-site .card.cta .plus,.twp-site .contact .plus{background-image:linear-gradient(130deg,#fff 0%,#a1a1aa 60%,#e4e4e7 100%)}.twp-site .login-grid{z-index:1;grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid;position:relative}.twp-site .login-side{color:#fff;background-image:linear-gradient(118deg,#0000 34%,#ffffff0f 47%,#0000 57%),linear-gradient(140deg,#3f3f46 0%,#27272a 52%,#18181b 100%);flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,4vw,56px);display:flex;position:relative;overflow:hidden}.twp-site .login-side:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff12,#0000);width:34%;animation:9s ease-in-out 1.5s infinite twp-sheen;position:absolute;top:0;bottom:0;left:0;transform:translate(-160%)skew(-18deg)}.twp-site .login-side:after{content:"";z-index:1;pointer-events:none;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0}.twp-site .login-side>*{z-index:2;position:relative}.twp-site .login-side>img{z-index:0}.twp-site .login-side .brand,.twp-site .login-side .brand small{color:#fff}.twp-site .login-side .brand{font-size:1.4rem}.twp-site .login-side .brand svg{width:40px;height:45px}.twp-site .login-side .brand small{color:#ffffffb8;font-size:.78rem}.twp-site .login-quote h2{font-family:var(--disp);letter-spacing:-.02em;text-shadow:0 2px 18px #00000059;font-size:clamp(1.9rem,3.6vw,3.2rem);font-weight:800;line-height:1.02}.twp-site .login-quote h2 .plus{background-image:linear-gradient(130deg,#fff 0%,#a1a1aa 60%,#e4e4e7 100%)}.twp-site .login-quote p{color:#ffffffd9;text-shadow:0 1px 10px #00000073;max-width:40ch;margin-top:18px;font-size:1rem}.twp-site .login-frame{aspect-ratio:16/9;border:1px solid #ffffff47;margin-top:clamp(24px,3.5vh,44px);position:relative;overflow:hidden;box-shadow:0 14px 40px #00000059}.twp-site .login-frame .frame-note{z-index:2;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffffeb;text-shadow:0 1px 8px #0009;font-size:.6rem;position:absolute;bottom:12px;left:14px}.twp-site .login-frame:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 60%,#18181b73);position:absolute;inset:0}.twp-site .login-side .coords{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-size:.62rem}.twp-site .login-side>:first-child,.twp-site .login-side>:nth-child(2),.twp-site .login-side>:nth-child(3){animation:.75s cubic-bezier(.22,.61,.2,1) both twp-rise}.twp-site .login-side>:nth-child(2){animation-delay:.15s}.twp-site .login-side>:nth-child(3){animation-delay:.28s}.twp-site .login-panel{justify-content:center;align-items:center;padding:clamp(24px,4vw,64px);display:flex}.twp-site .login-box{width:100%;max-width:400px}.twp-site .login-box>*{animation:.7s cubic-bezier(.22,.61,.2,1) both twp-rise}.twp-site .login-box>:nth-child(2){animation-delay:.1s}.twp-site .login-box>:nth-child(3){animation-delay:.18s}.twp-site .login-box>:nth-child(4){animation-delay:.28s}.twp-site .login-box h1{font-family:var(--disp);letter-spacing:-.02em;margin:14px 0 10px;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:800;line-height:1.05}.twp-site .login-box .login-sub{color:var(--muted);margin-bottom:34px;font-size:.95rem}.twp-site .login-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.62rem;display:block}.twp-site .login-input{border:1px solid var(--line-2);background:var(--paper);width:100%;font-size:.95rem;font-family:var(--sans);color:var(--ink);padding:13px 14px;transition:border-color .2s,box-shadow .2s}.twp-site .login-input:focus{border-color:var(--ink);box-shadow:0 2px 0 0 var(--ink);outline:none}.twp-site .login-field{margin-bottom:18px}.twp-site .login-error{border:1px solid var(--line-2);border-left:3px solid var(--ink);background:var(--paper-2);border-radius:0;margin-bottom:18px;padding:10px 12px;font-size:.85rem}.twp-site .login-btn{justify-content:center;width:100%}.twp-site .login-sep{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin:22px 0 18px;font-size:.75rem;display:flex}.twp-site .login-sep:before,.twp-site .login-sep:after{content:"";background:var(--line);flex:1;height:1px}.twp-site .login-btn-oidc{border:1px solid var(--ink);background:0 0}.twp-site .login-btn-oidc:hover{background:var(--paper-2)}.twp-site .login-foot{border-top:1px solid var(--line);text-align:center;color:var(--muted);margin-top:26px;padding-top:18px;font-size:.8rem}.twp-site .login-foot a{text-underline-offset:4px;text-decoration:underline}.twp-site .login-foot a:hover{color:var(--ink)}@media (max-width:900px){.twp-site .login-grid{grid-template-rows:auto 1fr;grid-template-columns:1fr}.twp-site .login-side{gap:20px;min-height:240px}.twp-site .login-quote p{display:none}}@media (min-width:901px){.twp-site .login-grid{height:100vh;max-height:100vh;overflow:hidden}.twp-site .login-side,.twp-site .login-quote{min-height:0}.twp-site .login-frame{max-height:34vh}.twp-site .login-panel{overflow-y:auto}}@media (min-width:901px) and (max-height:800px){.twp-site .login-side{gap:22px}.twp-site .login-quote p{display:none}.twp-site .login-quote h2{font-size:clamp(1.5rem,2.8vw,2.3rem)}.twp-site .login-frame{max-height:30vh;margin-top:18px}.twp-site .login-box h1{font-size:clamp(1.6rem,2.6vw,2.1rem)}}
