/* Cotra website — shared stylesheet. Palette: Cotra Deep Navy #0B1A33, Cotra Navy #1B2F55, Cotra Blue #2E4A7A, Cotra Steel #A7ABB0, Steel Gray #6B7078, Light Steel #D9DCE0, Cloud #EEF1F5, Ink #141414, White. Type: Georgia display, Arial body. */
body{margin:0;background:#0B1A33;color:#EEF1F5;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:.005em}
*{box-sizing:border-box}
::selection{background:#EEF1F5;color:#0B1A33}
a{color:#D9DCE0}a:hover{color:#FFFFFF}
b{font-weight:700;color:#FFFFFF}
em{font-style:italic}
:root{--gx:max(0px,calc((100vw - 1400px) / 2))}
/* type */
.disp{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.012em;line-height:1.04;margin:0;color:#EEF1F5}
.it{font-style:italic;font-weight:400;background:linear-gradient(100deg,#A7ABB0 0%,#FFFFFF 32%,#D9DCE0 50%,#FFFFFF 64%,#A7ABB0 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s ease-in-out infinite;padding-right:.06em}
.kicker{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.26em;text-transform:uppercase;font-size:11px;color:#A7ABB0;margin:0;display:flex;align-items:center;gap:18px}
.kicker::before{content:'';width:64px;height:9px;border-left:1px solid rgba(217,220,224,.8);border-right:1px solid rgba(217,220,224,.8);background:linear-gradient(rgba(217,220,224,.8),rgba(217,220,224,.8)) center/100% 1px no-repeat;flex-shrink:0}
.lead{font-size:19px;line-height:1.75;color:#D9DCE0;margin:0}
.body{font-size:16px;line-height:1.9;color:#C6CACF;margin:0;overflow-wrap:anywhere}
.small{font-size:14px;line-height:1.8;color:#B4B8BE;margin:0}
.src{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10.5px;color:#A7ABB0;letter-spacing:.2em;text-transform:uppercase;margin:0}
.num{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-variant-numeric:lining-nums;font-size:76px;line-height:1;margin:0;letter-spacing:-.02em;color:#EEF1F5}
.roman{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#A7ABB0;font-size:26px}
.ph{color:#EEF1F5;background:rgba(217,220,224,.08);border-bottom:1px dashed rgba(217,220,224,.55);padding:0 4px}
.ph.v{background:none;border:0;padding:0;color:inherit;font-weight:inherit}
.ph.n{display:none}
html.review .ph.v,html.review .ph.n{display:inline;color:#FFFFFF;background:rgba(167,171,176,.12);border-bottom:1px dashed rgba(217,220,224,.7);padding:0 4px}
html.review .ph.v::before{content:'['}html.review .ph.v::after{content:']'}
/* frame, grain */
.frame{position:fixed;inset:16px;border:1px solid rgba(217,220,224,.07);pointer-events:none;z-index:90}
.grain{position:fixed;inset:-50%;width:200%;height:200%;background-image:url(/assets/48f12168b371e70dbb96b44d8fb163f8.png);opacity:.05;mix-blend-mode:overlay;pointer-events:none;z-index:95;animation:grain 1.4s steps(6) infinite}
.vig{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(7,17,34,.9) 100%);pointer-events:none}
/* navigation */
.nav{position:sticky;top:0;z-index:60;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%);background:rgba(11,26,51,.6);border-bottom:1px solid rgba(217,220,224,.06);transition:background .6s,box-shadow .6s}
.nav>div{transition:padding .6s cubic-bezier(.16,1,.3,1)}
.nav.tight{background:rgba(11,26,51,.88);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.nav.tight>div{padding-top:14px!important;padding-bottom:14px!important}
.nl{color:#D9DCE0;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;letter-spacing:.01em;padding:12px 2px;position:relative;white-space:nowrap;transition:color .6s}
.nl::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:#EEF1F5;transform:scaleX(0);transform-origin:right;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.nl:hover{color:#FFFFFF}.nl:hover::after{transform:scaleX(1);transform-origin:left}
.dd{position:relative}
.dd svg{transition:transform .6s cubic-bezier(.16,1,.3,1)}.dd:hover svg{transform:rotate(180deg)}
.menu{position:absolute;top:100%;left:-30px;min-width:320px;padding:22px 26px;background:rgba(9,20,40,.97);border:1px solid rgba(217,220,224,.09);box-shadow:0 50px 100px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .6s cubic-bezier(.16,1,.3,1)}
.dd:hover .menu{opacity:1;visibility:visible;transform:none}
.mi{display:block;padding:13px 0;color:#D9DCE0;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:19px;border-bottom:1px solid rgba(217,220,224,.07);transition:all .6s cubic-bezier(.16,1,.3,1)}
.mi:hover{color:#FFFFFF;padding-left:12px;font-style:italic}
.prog{display:block;padding:0!important;position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,rgba(167,171,176,.2),#EEF1F5);transform-origin:left;transform:scaleX(var(--sp,0));pointer-events:none}
.endorse{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#A7ABB0;white-space:nowrap}
/* buttons: chamfered steel plates, the logo's bevel in miniature */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:16px;padding:20px 38px;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:transform .7s cubic-bezier(.16,1,.3,1),color .6s,filter .6s;will-change:transform}
.btn::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:left 1.1s cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:2}
.btn:hover::after{left:130%}
.btn svg{stroke:currentColor;transition:transform .8s cubic-bezier(.16,1,.3,1)}.btn:hover svg{transform:translateX(6px)}
.btn-p{background:linear-gradient(180deg,#E6E9EC 0%,#C9CDD2 48%,#A7ABB0 52%,#C4C8CD 100%);color:#0B1A33;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(11,26,51,.35)}
.btn-p:hover{filter:brightness(1.08)}
.btn-g{background:rgba(27,47,85,.35);color:#EEF1F5;box-shadow:inset 0 0 0 1px rgba(167,171,176,.55),inset 0 1px 0 rgba(255,255,255,.12)}
.btn-g:hover{background:rgba(167,171,176,.16);box-shadow:inset 0 0 0 1px #D9DCE0}
.btn:disabled{opacity:.3;cursor:not-allowed}.btn:disabled::after{display:none}
.tl{display:inline-flex;align-items:center;gap:14px;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#D9DCE0;text-decoration:none;padding-bottom:8px;position:relative;white-space:nowrap;transition:transform .7s cubic-bezier(.16,1,.3,1),color .8s}
.tl::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(217,220,224,.35)}
.tl::before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#FFFFFF;transform:scaleX(0);transform-origin:right;transition:transform .9s cubic-bezier(.16,1,.3,1);z-index:1}
.tl:hover{color:#FFFFFF}.tl:hover::before{transform:scaleX(1);transform-origin:left}
.card:hover .tl::before{transform:scaleX(1);transform-origin:left}
.tl svg{stroke:currentColor;transition:transform .8s cubic-bezier(.16,1,.3,1)}.tl:hover svg,.card:hover .tl svg{transform:translateX(6px)}
/* cards */
.card{position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(27,47,85,.5),rgba(11,26,51,.2));box-shadow:inset 0 0 0 1px rgba(167,171,176,.22),inset 0 1px 0 rgba(255,255,255,.08);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);transition:box-shadow 1s,transform 1.2s cubic-bezier(.16,1,.3,1),background 1s}
.card::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:scaleX(0);transition:transform 1.4s cubic-bezier(.16,1,.3,1);pointer-events:none}
.card:hover{box-shadow:inset 0 0 0 1px rgba(217,220,224,.5),inset 0 1px 0 rgba(255,255,255,.14);transform:translateY(-3px)}
.card:hover::before{transform:scaleX(1)}
a.card{text-decoration:none;color:inherit;display:block}
.chip{display:inline-flex;align-items:center;gap:12px;padding:9px 16px;border-radius:0;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#D9DCE0;box-shadow:inset 0 0 0 1px rgba(217,220,224,.16);white-space:nowrap}
.dot{width:5px;height:5px;transform:rotate(45deg);background:#EEF1F5;opacity:.8}
.hr{height:1px;background:linear-gradient(90deg,transparent,rgba(217,220,224,.25),transparent)}
.rule{height:1px;background:rgba(217,220,224,.1)}
/* list rows */
.li{display:grid;grid-template-columns:56px minmax(0,1fr) 24px;gap:18px;align-items:center;padding:22px 0;border-top:1px solid rgba(217,220,224,.09);text-decoration:none;color:inherit}
.li .lt{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:#D9DCE0;transition:transform 1s cubic-bezier(.16,1,.3,1),color .8s}
.li:hover .lt{transform:translateX(14px);color:#FFFFFF;font-style:italic}
.li svg{opacity:0;transform:translateX(-10px);transition:all .8s cubic-bezier(.16,1,.3,1)}.li:hover svg{opacity:1;transform:none}
/* atmosphere */
.stage{position:relative;overflow:hidden;isolation:isolate}
.au{position:absolute;border-radius:50%;filter:blur(110px);mix-blend-mode:screen;opacity:.8;translate:calc(var(--mx,0) * 60px) calc(var(--my,0) * 40px);transition:translate 1.6s cubic-bezier(.2,.8,.2,1);animation:drift 18s ease-in-out infinite alternate;pointer-events:none}
.floor{position:absolute;left:-40%;right:-40%;bottom:-2%;height:46%;background-image:linear-gradient(rgba(217,220,224,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(217,220,224,.16) 1px,transparent 1px);background-size:110px 110px;transform:perspective(560px) rotateX(74deg);transform-origin:center top;animation:floor 3.6s linear infinite;-webkit-mask-image:linear-gradient(to top,#000 5%,transparent 80%);mask-image:linear-gradient(to top,#000 5%,transparent 80%);pointer-events:none}
.beam{position:absolute;top:-20%;width:1px;height:140%;background:linear-gradient(180deg,transparent,rgba(217,220,224,.45),transparent);animation:beam 9s ease-in-out infinite;pointer-events:none}
.scan{position:absolute;left:0;right:0;height:22%;top:-22%;background:linear-gradient(180deg,transparent,rgba(217,220,224,.05),transparent);animation:scan 9s linear infinite;pointer-events:none;z-index:1}
.track{position:relative;height:1px;background:rgba(217,220,224,.16)}
.track::after{content:'';position:absolute;top:-1px;left:0;width:220px;height:3px;background:linear-gradient(90deg,transparent,#FFFFFF,transparent);filter:blur(1px);animation:travel 3.6s cubic-bezier(.65,0,.35,1) infinite}
.cueline{width:1px;height:90px;background:rgba(217,220,224,.14);position:relative;overflow:hidden}
.cueline::after{content:'';position:absolute;left:0;top:-45%;width:1px;height:45%;background:linear-gradient(180deg,transparent,#FFFFFF);animation:drip 2.6s cubic-bezier(.7,0,.3,1) infinite}
.sweep{position:absolute;inset:0;-webkit-mask-image:url(/assets/91b0451e72e4ab0208128715ab7c1b3a.png);mask-image:url(/assets/91b0451e72e4ab0208128715ab7c1b3a.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.95) 50%,transparent 62%);background-size:280% 100%;animation:sweep 5s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
.mark{position:relative;filter:drop-shadow(0 0 50px rgba(46,74,122,.5)) drop-shadow(0 40px 50px rgba(0,0,0,.7))}
/* hero */
.h8{position:relative;height:calc(100vh / var(--z,1));min-height:780px;max-height:1060px;overflow:hidden;background:#0B1A33;isolation:isolate}
.h8.short{height:calc(78vh / var(--z,1));min-height:640px;max-height:820px}
.gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.h8 .media{animation:settle 2.8s cubic-bezier(.16,1,.3,1) both;translate:calc(var(--mx,0) * -16px) calc(var(--my,0) * -10px);transition:translate 1.6s cubic-bezier(.16,1,.3,1);scale:1.06}
@keyframes settle{from{transform:scale(1.12);filter:brightness(.15)}to{transform:scale(1);filter:none}}
.kb{animation:kb 34s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.unveil .media{translate:0 var(--py,0px);transition:translate .1s linear;scale:1.12}
.unveil.rv-in .media{animation:settle2 2.6s cubic-bezier(.16,1,.3,1) backwards}
@keyframes settle2{from{transform:scale(1.18)}to{transform:scale(1)}}
.endc .media{left:40%;width:60%}
.h8 .gl{animation:glin 2.4s cubic-bezier(.16,1,.3,1) both}
@keyframes glin{from{opacity:0;filter:brightness(.2)}to{opacity:1;filter:none}}
/* blueprint overlay: fine drafting grid, corner marks, a dimension line */
.bp{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(217,220,224,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(217,220,224,.045) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(ellipse at 60% 50%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse at 60% 50%,#000 20%,transparent 78%)}
.bp::before,.bp::after{content:'';position:absolute;width:26px;height:26px;border:1px solid rgba(217,220,224,.45)}
.bp::before{left:40px;top:40px;border-right:0;border-bottom:0}.bp::after{right:40px;bottom:40px;border-left:0;border-top:0}
.dim{position:absolute;display:flex;align-items:center;gap:12px;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#A7ABB0;pointer-events:none}
.dim i{display:block;width:120px;height:9px;border-left:1px solid rgba(217,220,224,.6);border-right:1px solid rgba(217,220,224,.6);background:linear-gradient(rgba(217,220,224,.6),rgba(217,220,224,.6)) center/100% 1px no-repeat}
.h8 .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,51,.9) 0%,rgba(11,26,51,.5) 34%,rgba(11,26,51,0) 62%),linear-gradient(0deg,#0B1A33 0%,rgba(11,26,51,.5) 16%,rgba(11,26,51,0) 40%),linear-gradient(180deg,rgba(11,26,51,.7) 0%,rgba(11,26,51,0) 22%)}
.h8::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--cx,70%) var(--cy,40%),rgba(217,220,224,.1),transparent 62%);mix-blend-mode:screen;z-index:1}
.h8 .wrap{position:absolute;left:0;right:0;bottom:0;top:0;max-width:1400px;margin:0 auto;padding:150px 56px 84px;display:flex;flex-direction:column;justify-content:flex-end;gap:30px;z-index:2}
.h8 .meta{position:absolute;left:56px;right:56px;top:128px;display:flex;justify-content:space-between;align-items:center;max-width:1288px;margin:0 auto;z-index:2}
.h8 .foot{display:flex;flex-direction:column;gap:34px;max-width:600px;margin-top:6px}
.h8 .cap8{position:absolute;right:56px;bottom:32px;writing-mode:vertical-rl;transform:rotate(180deg);z-index:2}
.idx{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#A7ABB0;display:flex;align-items:center;gap:16px}
.idx b{color:#EEF1F5;font-weight:700}
.idx i{display:block;width:90px;height:1px;background:rgba(217,220,224,.25);position:relative;overflow:hidden}
.idx i::after{content:'';position:absolute;inset:0;background:#EEF1F5;transform-origin:left;animation:fillbar 2.4s cubic-bezier(.16,1,.3,1) .6s both}
.hline{display:block;overflow:hidden;padding:0 .12em .16em 0;margin-bottom:-.16em}.hline>span{display:block}
.rv-in .hline>span{animation:maskup 1.4s cubic-bezier(.16,1,.3,1) backwards}
/* plates: dark panels that stand in for property photography until real imagery is supplied */
.unveil{position:relative;overflow:hidden;background:#0B1A33;clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px)}
.split .unveil,.endc .unveil{clip-path:none}
.unveil.rv-pre{opacity:1;transform:none;clip-path:inset(100% 0 0 0)}
.unveil.rv-in{animation:unveil 1.7s cubic-bezier(.77,0,.18,1) backwards}
.plate{position:absolute;inset:0;background:radial-gradient(520px 420px at 70% 30%,rgba(46,74,122,.55),transparent 70%),linear-gradient(160deg,#1B2F55,#0B1A33 70%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.plate .pm{width:38%;height:auto;opacity:.55;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6));translate:0 var(--py,0px);transition:translate .1s linear}
.plate .pl{position:absolute;inset:0;background-image:linear-gradient(rgba(217,220,224,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(217,220,224,.07) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.plate .pw{position:absolute;left:0;right:0;bottom:0;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:200px;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(217,220,224,.18);white-space:nowrap;padding-left:34px;pointer-events:none}
.plate-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 34px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(0deg,rgba(11,26,51,.85),rgba(11,26,51,0));z-index:2}
.unveil:hover .plate .pm{opacity:.85;transition:opacity 1.2s}
/* split */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:860px;border-top:1px solid rgba(217,220,224,.06)}
.split.rev .unveil{order:2}
.split .txt{display:flex;flex-direction:column;justify-content:center;gap:30px;padding:140px 96px}
.split.rev .txt{padding-left:max(56px,calc((100vw - 1400px)/2 + 56px))}
.split:not(.rev) .txt{padding-right:max(56px,calc((100vw - 1400px)/2 + 56px))}
/* numeral index list */
.ix{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.15fr);gap:56px;padding:58px 0;border-top:1px solid rgba(217,220,224,.12);align-items:start;position:relative}
.ix:last-child{border-bottom:1px solid rgba(217,220,224,.12)}
.ix .n{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:84px;line-height:.8;color:rgba(217,220,224,.4);transition:color 1s}
.ix:hover .n{color:#EEF1F5}
.ix::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:#EEF1F5;transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.ix:hover::before{transform:scaleX(1)}
.ix h3{font-size:36px}
.ix2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:90px}
.ix2 .ix{grid-template-columns:110px minmax(0,1fr);gap:34px}
.ix2 .ix .n{font-size:64px}
/* spec sheet */
.spec{display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px;padding:30px 0;border-top:1px solid rgba(217,220,224,.12);align-items:baseline}
.spec:last-child{border-bottom:1px solid rgba(217,220,224,.12)}
.spec .k{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#A7ABB0;margin:0}
/* platform ledger */
.pf{display:grid;grid-template-columns:110px minmax(0,1.1fr) minmax(0,1.5fr);gap:56px;padding:64px 0;border-top:1px solid rgba(217,220,224,.12);position:relative;align-items:start;scroll-margin-top:110px}
.pf:last-child{border-bottom:1px solid rgba(217,220,224,.12)}
.pf::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:#EEF1F5;transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.pf:hover::before{transform:scaleX(1)}
.pf .n{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:64px;line-height:.8;color:rgba(217,220,224,.4);transition:color 1s}
.pf:hover .n{color:#EEF1F5}
/* family tiles */
.tile{position:relative;min-height:300px;overflow:hidden;background:radial-gradient(420px 320px at 72% 28%,rgba(46,74,122,.35),transparent 70%),linear-gradient(160deg,#1B2F55,#0B1A33);box-shadow:inset 0 0 0 1px rgba(167,171,176,.22),inset 0 1px 0 rgba(255,255,255,.08);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);display:flex;flex-direction:column;justify-content:space-between;padding:30px 34px;transition:box-shadow .8s;text-decoration:none;color:inherit;gap:40px}
.tile .tk{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#A7ABB0}
.tile .tn{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.08;color:#EEF1F5;margin:0}
.tile .td{font-size:14.5px;line-height:1.7;color:#C6CACF;margin:0}
.tile .tw{position:absolute;right:-10px;top:-30px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:170px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(217,220,224,.14);pointer-events:none;transition:-webkit-text-stroke-color 1s}
.tile .tl2{position:absolute;left:34px;right:34px;bottom:30px;height:1px;background:rgba(217,220,224,.14)}
.tile .tl2::after{content:'';position:absolute;inset:0;background:#EEF1F5;transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.tile:hover{box-shadow:inset 0 0 0 1px rgba(217,220,224,.3)}
.tile:hover .tw{-webkit-text-stroke-color:rgba(217,220,224,.4)}
.tile:hover .tl2::after{transform:scaleX(1)}
/* numbers band */
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(217,220,224,.12);border-bottom:1px solid rgba(217,220,224,.12)}
.nums>div{padding:54px 40px 54px 0;display:flex;flex-direction:column;gap:18px}
.nums>div+div{padding-left:40px;border-left:1px solid rgba(217,220,224,.12)}
.nums .body{overflow-wrap:normal}
/* offices */
.offl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px}
.offl>div{display:flex;flex-direction:column;gap:10px;padding:24px 0;border-top:1px solid rgba(217,220,224,.12)}
.offl b{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px;color:#EEF1F5;line-height:1.1}
.offl span{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#A7ABB0}
/* end card */
.endc{position:relative;height:900px;overflow:hidden;background:#0B1A33;border-top:1px solid rgba(217,220,224,.06)}
.endc .plate{left:44%;right:0;background:radial-gradient(620px 520px at 60% 40%,rgba(46,74,122,.5),transparent 70%),linear-gradient(160deg,#1B2F55,#0B1A33 80%)}
.endc .shade{position:absolute;inset:0;background:linear-gradient(90deg,#0B1A33 44%,rgba(11,26,51,.5) 58%,rgba(11,26,51,0) 76%),linear-gradient(0deg,#0B1A33 0%,rgba(11,26,51,0) 25%),linear-gradient(180deg,#0B1A33 0%,rgba(11,26,51,0) 20%)}
.endc .wrap{position:relative;max-width:1400px;height:100%;margin:0 auto;padding:0 56px;display:flex;flex-direction:column;justify-content:center;gap:34px}
.bignext{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:108px;line-height:.95;letter-spacing:-.02em;color:#EEF1F5;text-decoration:none;display:inline-flex;align-items:flex-end;gap:34px;transition:letter-spacing 1.4s cubic-bezier(.16,1,.3,1),color .8s,transform .7s cubic-bezier(.16,1,.3,1)}
.bignext:hover{letter-spacing:0;color:#FFFFFF}
.bignext svg{margin-bottom:22px;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.bignext:hover svg{transform:translateX(18px)}
/* forms */
.fl{display:flex;flex-direction:column;gap:8px}
.fl label{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#A7ABB0}
.in{width:100%;padding:14px 0;border:0;border-bottom:1px solid rgba(217,220,224,.2);border-radius:0;background:transparent;color:#FFFFFF;font-size:18px;font-family:Arial,Helvetica,sans-serif;transition:border-color .6s}
.in:focus{outline:none;border-bottom-color:#FFFFFF}
.in::placeholder{color:#6B7078}
select.in option{background:#0B1A33;color:#EEF1F5}
textarea.in{min-height:150px;resize:vertical;border:1px solid rgba(217,220,224,.18);padding:18px 20px;line-height:1.6}
textarea.in:focus{border-color:rgba(217,220,224,.6)}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 44px}
.chk{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.75;color:#C6CACF}
.chk input{width:16px;height:16px;margin-top:5px;accent-color:#EEF1F5;flex-shrink:0}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:1px solid rgba(217,220,224,.12)}
.opt{all:unset;box-sizing:border-box;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:19px 14px 19px 0;border-bottom:1px solid rgba(217,220,224,.12);cursor:pointer;position:relative;transition:padding .8s cubic-bezier(.16,1,.3,1),background .6s;min-height:64px}
.opt::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(217,220,224,.1),rgba(217,220,224,0));transition:width .8s cubic-bezier(.16,1,.3,1)}
.opt:hover{padding-left:12px}.opt:hover::before{width:100%}
.opt .on2{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:11px;letter-spacing:.2em;color:#6B7078}
.opt .ol{display:flex;flex-direction:column;gap:4px;min-width:0}
.opt .ol b{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:21px;color:#D9DCE0;line-height:1.15}
.opt .ol small{font-size:13.5px;color:#A7ABB0;line-height:1.5}
.opt .mk{width:14px;height:14px;transform:rotate(45deg);box-shadow:inset 0 0 0 1px rgba(217,220,224,.4);transition:all .5s}
.opt.sel{padding-left:12px}.opt.sel::before{width:100%}
.opt.sel .ol b{color:#FFFFFF}.opt.sel .mk{background:#EEF1F5;box-shadow:0 0 16px rgba(238,241,245,.8)}
.sent{display:flex;flex-direction:column;gap:30px;max-width:760px;animation:qin 1s cubic-bezier(.16,1,.3,1) both}
.ring{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(217,220,224,.7),0 0 60px rgba(46,74,122,.5)}
.fshell{display:flex;flex-direction:column;gap:34px}
/* reveals */
.rv-pre{opacity:0;transform:translateY(40px)}
.rv-in{animation:rvin 1.2s cubic-bezier(.16,1,.3,1) backwards}
.rv-in h1.disp,.rv-in h2.disp,h1.disp.rv-in,h2.disp.rv-in{animation:maskup 1.3s cubic-bezier(.16,1,.3,1) backwards}
.rv-in .hr,.rv-in .rule,.hr.rv-in{animation:draw 2s cubic-bezier(.16,1,.3,1) backwards;transform-origin:left}
@keyframes rvin{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes maskup{from{clip-path:inset(0 0 100% 0);transform:translateY(50px)}to{clip-path:inset(0 0 -25% 0);transform:none}}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes qin{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes blink{0%,100%{opacity:.08}50%{opacity:.85}}
@keyframes breathe{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes sweep{0%{background-position:170% 0}60%,100%{background-position:-70% 0}}
@keyframes sheen{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(4%,2%)}100%{transform:translate(0,0)}}
@keyframes travel{0%{left:-220px}100%{left:100%}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes drip{to{top:110%}}
@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(70px,-40px) scale(1.12)}100%{transform:translate(-50px,30px) scale(.94)}}
@keyframes floor{to{background-position:0 110px}}
@keyframes beam{0%,100%{opacity:0;transform:translateX(-60px) rotate(14deg)}50%{opacity:.8;transform:translateX(60px) rotate(14deg)}}
@keyframes scan{to{top:100%}}
@keyframes fillbar{from{transform:scaleX(0)}to{transform:scaleX(var(--f,.3))}}
@keyframes unveil{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
/* live layer */
.live{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.live i{position:relative;display:block;width:7px;height:7px;border-radius:50%;background:#D9DCE0;box-shadow:0 0 10px rgba(217,220,224,.9)}
.live i::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(217,220,224,.7);animation:ping 2.4s cubic-bezier(.16,1,.3,1) infinite}
@keyframes ping{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.2);opacity:0}}
.clk{font-variant-numeric:tabular-nums;color:#EEF1F5}
.status9{display:flex;align-items:center;gap:26px}
.status9 .rot{position:relative;height:1.4em;overflow:hidden;min-width:330px}
.status9 .rot b{position:absolute;left:0;top:0;font-weight:700;color:#D9DCE0;white-space:nowrap;opacity:0;animation:rot9 16s linear infinite}
.status9 .rot b:nth-child(2){animation-delay:4s}.status9 .rot b:nth-child(3){animation-delay:8s}.status9 .rot b:nth-child(4){animation-delay:12s}
@keyframes rot9{0%{opacity:0;transform:translateY(100%)}3%,22%{opacity:1;transform:none}25%,100%{opacity:0;transform:translateY(-100%)}}
.fbot{flex-wrap:wrap;row-gap:18px;column-gap:44px}
.fbot .src{white-space:nowrap}
/* fit-to-width: the 1440 layout scales as one piece on narrower screens */
.zm{width:1440px;max-width:none}
@media (min-width: 1441px){.zm{width:auto}}
@media (hover: none){.cur,.cur-dot{display:none}}
@media (prefers-reduced-motion: reduce){.doors,.marq .tr,.scan,.live i::after,.status9 .rot b,.floor,.beam{animation:none}.doors{display:none}.status9 .rot b:first-child{opacity:1}}

/* ---------- Cotra-only chrome ---------- */
/* level indicator in the header: the page is a building; sections are levels */
.lvlnav{position:absolute;left:56px;top:100%;margin:0;display:flex;align-items:center;gap:12px;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#A7ABB0;opacity:0;transform:translateY(-4px);transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1);pointer-events:none;padding:10px 0;white-space:nowrap}
.lvlnav i{display:block;width:26px;height:1px;background:#A7ABB0}
.lvlnav.on{opacity:1;transform:none}
.nav>div{position:relative}
.lvls{display:none}
/* drafting cursor: a crosshair with a small square, brackets on links */
.cur{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;z-index:180;opacity:0;transition:opacity .4s,width .5s cubic-bezier(.16,1,.3,1),height .5s cubic-bezier(.16,1,.3,1),margin .5s cubic-bezier(.16,1,.3,1);mix-blend-mode:difference;display:flex;align-items:center;justify-content:center}
.cur::before,.cur::after{content:'';position:absolute;background:rgba(238,241,245,.85)}
.cur::before{left:0;right:0;top:50%;height:1px}.cur::after{top:0;bottom:0;left:50%;width:1px}
.cur b{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:9px;letter-spacing:.24em;color:#EEF1F5;opacity:0;transition:opacity .3s;background:#0B1A33;padding:4px 6px;position:relative;z-index:2}
.cur-dot{position:fixed;left:0;top:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border:1px solid #EEF1F5;pointer-events:none;z-index:181;opacity:0;mix-blend-mode:difference;transition:transform .12s}
html.cur-on .cur,html.cur-on .cur-dot{opacity:1}
.cur.link{width:56px;height:56px;margin:-28px 0 0 -28px}
.cur.link::before,.cur.link::after{opacity:.35}
.cur.view{width:96px;height:96px;margin:-48px 0 0 -48px}.cur.view::before,.cur.view::after{opacity:0}.cur.view b{opacity:1}
/* opening: the house mark draws itself in steel, then the plate lifts like a rising floor */
.open{position:fixed;inset:0;z-index:210;background:#071122;pointer-events:none;display:flex;align-items:center;justify-content:center;animation:openlift 1.1s cubic-bezier(.77,0,.18,1) 1.7s forwards}
.open svg{width:120px;height:120px;overflow:visible;animation:openfade .5s ease 1.4s forwards}
.open path{fill:none;stroke:#D9DCE0;stroke-width:1.2;stroke-dasharray:400;stroke-dashoffset:400;animation:draw2 1.3s cubic-bezier(.4,0,.2,1) .15s forwards}
.open path+path{animation-delay:.35s}
.open .fillp{fill:#1B2F55;stroke:none;opacity:0;animation:openfill .6s ease 1s forwards}
@keyframes draw2{to{stroke-dashoffset:0}}
@keyframes openfill{to{opacity:1}}
@keyframes openfade{to{opacity:0;transform:translateY(-10px)}}
@keyframes openlift{to{transform:translateY(-100%)}}
/* lobby directory board */
.dir{display:flex;flex-direction:column;border-top:1px solid rgba(167,171,176,.3)}
.dir a{display:grid;grid-template-columns:70px minmax(0,auto) minmax(0,1fr) auto 24px;align-items:baseline;gap:18px;padding:22px 0;border-bottom:1px solid rgba(167,171,176,.16);text-decoration:none;color:inherit;position:relative;overflow:hidden}
.dir a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(167,171,176,.12),transparent);transition:width .9s cubic-bezier(.16,1,.3,1)}
.dir a:hover::before{width:100%}
.dir .lv{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;color:#A7ABB0}
.dir .nm{font-family:Georgia,'Times New Roman',serif;font-size:28px;color:#EEF1F5;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.dir a:hover .nm{transform:translateX(10px)}
.dir i{display:block;height:1px;border-bottom:1px dotted rgba(167,171,176,.55);transform:translateY(-7px)}
.dir .sc{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#A7ABB0;white-space:nowrap}
.dir svg{opacity:0;transform:translateX(-8px);transition:all .7s cubic-bezier(.16,1,.3,1)}.dir a:hover svg{opacity:1;transform:none}
/* footer skyline */
.fsky{position:relative;height:300px;overflow:hidden;border-top:1px solid rgba(167,171,176,.18)}
.fsky::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,51,.2),rgba(11,26,51,0) 40%,#0B1A33 100%);pointer-events:none}
/* level heading: title with a hairline "floor line" and the level number floating in steel */
.lvl{position:relative;padding-left:0}
.lvl .ln{position:absolute;left:-2px;top:-56px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:110px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(167,171,176,.35);pointer-events:none}
@media (hover: none){.cur,.cur-dot{display:none}}
@media (prefers-reduced-motion: reduce){.open{display:none}.h8 .gl{animation:none}}
