@font-face{font-family:'Cinzel';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/cinzel-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/cinzel-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/cinzel-900-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/cinzel-900-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/archivo-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/archivo-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/archivo-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/archivo-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/archivo-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/archivo-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --paper:#FBFAF8;          
  --paper-2:#F4F1EC;        
  
  --print:#F8F3E9;          
  --ink:#1C1A19;            
  --ink-soft:#4A4643;       
  --ice:#6AC1D0;            
  --ice-deep:#19626F;       
  --line:rgba(28,26,25,.14);
  --line-soft:rgba(28,26,25,.08);
  --disp:'Cinzel',serif;
  --sans:'Archivo',system-ui,sans-serif;
  --wrap:1200px;
  --navh:95px;              
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:auto;        
  color-scheme:light;background:var(--paper)}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;font-size:1.02rem;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
main{display:block}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(22px,5vw,60px)}


h1,h2,h3{font-weight:700;line-height:1.18}
.d1{font-family:var(--disp);font-weight:700;font-size:clamp(2.1rem,4.6vw,3.7rem);letter-spacing:.015em;line-height:1.14}
.d2{font-family:var(--disp);font-weight:700;font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:.02em}
.d3{font-family:var(--disp);font-weight:700;font-size:clamp(1.15rem,1.7vw,1.4rem);letter-spacing:.02em}
.eyebrow{display:block;font-size:.8rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--ice-deep);margin-bottom:1.1rem}
.lede{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--ink-soft);max-width:64ch}
p{color:var(--ink-soft)}
strong{color:var(--ink)}


.rule{width:64px;height:2px;background:linear-gradient(90deg,var(--ice),rgba(106,193,208,.15));margin:1.4rem 0 0;border:0}
.anim .rule{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,.8,.24,1) .2s}
.anim .rule.on{transform:scaleX(1)}
.anim .shead.center .rule{transform-origin:center}

.shead.center .rule{background:linear-gradient(90deg,transparent,var(--ice),transparent);width:96px}


.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem 2rem;border:1px solid var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .35s cubic-bezier(.22,.8,.24,1);text-align:center;position:relative;overflow:hidden}

.btn::before{content:"";position:absolute;top:0;bottom:0;left:-70%;width:44%;background:linear-gradient(100deg,transparent,rgba(106,193,208,.42),transparent);transform:skewX(-18deg);transition:left .6s ease;pointer-events:none}
.btn:hover::before,.btn:focus-visible::before{left:130%}

.btn:active{transform:scale(.985);transition:transform .07s ease}
.tlink:active,.wcard:active,.icard:active,.pfeat:active{
  transform:scale(.994);transition:transform .07s ease}


.wcard:focus-visible,.icard:focus-visible,.pfeat:focus-visible{
  outline:3px solid var(--ice-deep);outline-offset:4px}

figure.tilt{transition:transform .5s cubic-bezier(.22,.8,.24,1)}


figure.tilt img{transform:scale(1.05);transform-origin:center}
.btn.pri{background:var(--ink);color:var(--paper)}
.btn.pri:hover{background:#33302e}
.btn.sec{background:transparent;color:var(--ink)}
.btn.sec:hover{background:var(--ink);color:var(--paper)}
.tlink{display:inline-block;font-weight:700;font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ice-deep);position:relative;padding-bottom:.35rem}
.tlink::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ice-deep);transform:scaleX(.35);transform-origin:left;transition:transform .3s ease}
.tlink:hover::after{transform:scaleX(1)}


.nav{position:sticky;top:0;z-index:50;background:rgba(251,250,248,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.nav .bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.8rem clamp(22px,5vw,60px);max-width:1400px;margin:0 auto}
.brand{display:flex;align-items:center}


.brand img{height:68px;width:auto}
.nav nav{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.8rem)}

.nav nav>a,.nav nav .navdrop>a{font-size:.84rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);position:relative;padding:.3rem 0}
.nav nav>a::after,.nav nav .navdrop>a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ice-deep);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.nav nav>a:hover::after,.nav nav>a[aria-current="page"]::after,
.nav nav .navdrop>a:hover::after,.nav nav .navdrop>a[aria-current="page"]::after{transform:scaleX(1)}
.nav nav>a[aria-current="page"],.nav nav .navdrop>a[aria-current="page"]{color:var(--ink)}


.navdrop{position:relative;display:inline-flex;align-items:center}
.navdrop__menu{position:absolute;top:100%;left:50%;min-width:330px;max-width:min(390px,calc(100vw - 2rem));
  margin-top:.85rem;transform:translateX(-50%) translateY(-6px);
  background:var(--paper);border:1px solid var(--line-soft);
  box-shadow:0 20px 44px -28px rgba(20,18,16,.55);padding:.45rem 0;
  display:flex;flex-direction:column;z-index:2;
  opacity:0;visibility:hidden;
  transition:opacity .22s ease,transform .22s ease,visibility .22s}
.navdrop__menu::before{content:"";position:absolute;left:0;right:0;top:-.95rem;height:.95rem}

.navdrop__menu a{display:block;padding:.72rem 1.15rem;font-size:.79rem;font-weight:600;
  letter-spacing:.01em;text-transform:none;color:var(--ink-soft);white-space:normal;
  line-height:1.4;position:relative;
  transition:color .2s ease,background-color .2s ease}
.navdrop__menu a + a{border-top:1px solid var(--line-soft)}


.navsub{display:block;position:relative}

.navsub__menu{display:grid;grid-template-rows:0fr;overflow:hidden;visibility:hidden;
  transition:grid-template-rows .26s ease,visibility .26s}
.navsub.is-open .navsub__menu{grid-template-rows:1fr;visibility:visible}



.navsub__top{display:block;width:100%;box-sizing:border-box;text-align:left;
  padding:.72rem 1.15rem;
  font-family:inherit;font-size:.79rem;font-weight:600;line-height:1.4;
  letter-spacing:.01em;color:var(--ink-soft);background:none;border:0;cursor:pointer;
  position:relative;transition:color .2s ease,background-color .2s ease}
.navsub__top:hover,.navsub__top:focus-visible{color:var(--ink);background:var(--paper-2)}
.navsub__top + .navsub__menu{border-top:0}
.navsub + a{border-top:1px solid var(--line-soft)}

.navsub__inner{min-height:0;overflow:hidden;display:block}

.navsub__menu a{padding-left:2.1rem;font-weight:500;background:var(--paper-2)}
.navsub__menu a::before{left:1.15rem}

.navsub__top::after{content:"";position:absolute;right:1.15rem;top:50%;
  width:.42rem;height:.42rem;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);
  opacity:.55;transition:transform .26s ease,opacity .2s ease}
.navsub.is-open .navsub__top::after{transform:translateY(-30%) rotate(225deg);opacity:1}
@media (prefers-reduced-motion:reduce){
  .navsub__menu{transition:none}
  .navsub__top::after{transition:none}
}

.navdrop__menu a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--ice);transform:scaleY(0);transform-origin:top;
  transition:transform .24s cubic-bezier(.22,.9,.28,1)}
.navdrop__menu a:hover,.navdrop__menu a:focus-visible{color:var(--ink);background:var(--paper-2)}
.navdrop__menu a:hover::before,.navdrop__menu a:focus-visible::before{transform:scaleY(1)}

.navdrop__menu a{opacity:0;transform:translateY(-5px);
  transition:color .2s ease,background-color .2s ease,opacity .001s,transform .001s}
.navdrop:hover .navdrop__menu a,.navdrop:focus-within .navdrop__menu a{
  opacity:1;transform:none;
  transition:color .2s ease,background-color .2s ease,
             opacity .3s ease,transform .34s cubic-bezier(.22,.9,.28,1)}
.navdrop:hover .navdrop__menu a:nth-child(2),.navdrop:focus-within .navdrop__menu a:nth-child(2){transition-delay:0s,0s,.05s,.05s}
.navdrop:hover .navdrop__menu a:nth-child(3),.navdrop:focus-within .navdrop__menu a:nth-child(3){transition-delay:0s,0s,.1s,.1s}
.navdrop:hover .navdrop__menu a:nth-child(4),.navdrop:focus-within .navdrop__menu a:nth-child(4){transition-delay:0s,0s,.15s,.15s}
@media (prefers-reduced-motion:reduce){
  .navdrop__menu a{opacity:1;transform:none;transition:none}
  .navdrop__menu a::before{transition:none}
}




.navdrop:nth-last-child(2) .navdrop__menu,
.navdrop:nth-last-child(3) .navdrop__menu,
.navdrop:nth-last-child(4) .navdrop__menu{left:auto;right:0;transform:translateX(0) translateY(6px)}
.navdrop:nth-last-child(2):hover .navdrop__menu,
.navdrop:nth-last-child(3):hover .navdrop__menu,
.navdrop:nth-last-child(4):hover .navdrop__menu,
.navdrop:nth-last-child(2):focus-within .navdrop__menu,
.navdrop:nth-last-child(3):focus-within .navdrop__menu,
.navdrop:nth-last-child(4):focus-within .navdrop__menu{transform:translateX(0) translateY(0)}
.navdrop:focus-within .navdrop__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media (hover:hover) and (pointer:fine){
  .navdrop:hover .navdrop__menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .navdrop__menu{transition:none}
}
.nav .btn{padding:.7rem 1.3rem;font-size:.78rem}
.menu-btn{display:none;background:none;border:1px solid var(--line);padding:.55rem .8rem;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}


.mmenu{display:none;position:fixed;inset:0;z-index:60;background:var(--paper);padding:6rem clamp(22px,7vw,60px) 3rem;flex-direction:column;gap:1.6rem;overflow:auto}
.mmenu.open{display:flex}
.mmenu a{font-family:var(--disp);font-weight:700;font-size:1.5rem;letter-spacing:.06em;border-bottom:1px solid var(--line-soft);padding-bottom:1rem}

.mmenu .navsub{display:block}
.mmenu .navsub__top{display:block;width:100%;box-sizing:border-box;text-align:left;
  font-family:var(--disp);font-weight:700;font-size:1.5rem;letter-spacing:.06em;
  color:inherit;background:none;border:0;border-bottom:1px solid var(--line-soft);
  padding:0 0 1rem;cursor:pointer;position:relative}
.mmenu .navsub__top:hover,.mmenu .navsub__top:focus-visible{background:none}

.mmenu .navsub__top::after{right:.15rem;top:1.35rem}
.mmenu .navsub__inner{display:flex;flex-direction:column;gap:1.1rem;padding-top:1.1rem}

.mmenu .navsub__menu a{font-family:'ArchivoFigures',var(--disp);
  font-size:1.06rem;font-weight:600;letter-spacing:.05em;
  padding:0 0 .85rem 1.15rem;background:none}
.mmenu .navsub__menu a::before{display:none}

.mmenu .close-btn{position:absolute;top:1.4rem;right:clamp(22px,7vw,60px);background:none;border:1px solid var(--line);padding:.55rem .9rem;cursor:pointer;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.78rem}


section{padding:clamp(4rem,9vh,6.8rem) 0}
section.tight{padding:clamp(3rem,6vh,4.5rem) 0}
section.alt{background:var(--paper-2)}

section[id]{scroll-margin-top:calc(var(--navh) + clamp(1.6rem,8vh,5.6rem))}


html.frag body{visibility:hidden}
.shead{max-width:70ch;margin-bottom:clamp(2.4rem,5vh,3.6rem)}

.sheadx{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,4.5vw,4rem);
  align-items:center;margin-bottom:clamp(2.4rem,5vh,3.6rem)}
.sheadx .shead{margin-bottom:0;max-width:none}
.sheadx figure{overflow:hidden}

.sheadx figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
@media (max-width:900px){
  .sheadx{grid-template-columns:1fr;gap:1.8rem}
  .sheadx figure{order:-1}   
}
.shead.center{margin-inline:auto;text-align:center}
.shead.center .rule{margin-inline:auto}


.phero{
  --ph-top:clamp(3.6rem,8.5vh,6rem);
  --ph-bot:clamp(2.6rem,5.5vh,4rem);
  --ph-ar:16/9;                      
  --ph-gap:clamp(9px,1.05vw,16px);   
  --ph-inset:4%;                     
  --ph-pos:50% 50%;                  
  
  --ph-fold:-1000px;
  --h1-max:2.8rem;                   
  padding:var(--ph-top) 0 var(--ph-bot);
  border-bottom:1px solid var(--line-soft);
}
.phero--home{--ph-inset:0;--h1-max:3rem;border-bottom:0}


.phero__type{text-align:center;margin-inline:auto;max-width:none}


.eyebrow--csrow{
  display:flex !important; align-items:center; justify-content:center;
  gap:clamp(.7rem,1.6vw,1.15rem);
}
.eyebrow--csrow::before,.eyebrow--csrow::after{
  content:""; height:1px; background:var(--line); flex:0 1 clamp(28px,7vw,96px);
}
.phero .eyebrow{margin-bottom:1rem}


.phero h1,.phero .phero__mast{
  font-family:'ArchivoFigures',var(--disp);font-weight:700;
  font-size:clamp(2rem,.9rem + 3.05vw,var(--h1-max));
  line-height:1.14;letter-spacing:.012em;
  max-width:none;text-wrap:balance;
}

.phero .phero__mast{color:inherit}

.phero .swashline{width:clamp(118px,13vw,178px);margin:1.15rem auto 0}
.phero .lede{margin:1.3rem auto 0;max-width:68ch;line-height:1.72;text-wrap:pretty}

.phero .lede--under{text-align:center;margin-top:clamp(1.15rem,2.3vh,1.8rem)}



@media (max-height:860px){
  .phero--window{--ph-top:clamp(2.2rem,4.6vh,3.4rem)}
}
.phero--window:has(.cs-back){--ph-top:clamp(2.2rem,4.4vh,3rem)}
.phero--window:has(.cs-back) .cs-back{margin-bottom:.62rem}
.phero--window:has(.cs-back) .phero__frame{margin-top:clamp(1rem,2vh,1.4rem)}


@media (min-width:901px) and (max-height:900px){
  .phero--window{--ph-top:clamp(1.8rem,3.4vh,2.6rem)}
  .phero--window:has(.cs-back){--ph-top:clamp(1.5rem,3vh,2.2rem)}
  .phero--window:has(.cs-back) .phero__frame{margin-top:clamp(.25rem,.7vh,.6rem)}
}

@media (min-width:901px){
  .phero--window .phero__frame{
    max-width:max(480px,calc((100vh - var(--ph-fold)) * 16 / 9 + var(--ph-gap) * 2));
    margin-left:auto;margin-right:auto;
  }
}

@media (min-width:901px) and (min-height:901px){
  .phero--window .phero__frame{
    max-width:max(480px,calc((100vh - var(--ph-fold-tall,var(--ph-fold))) * 16 / 9 + var(--ph-gap) * 2));
  }
}
.phero .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;
  margin-top:clamp(1.8rem,3.4vh,2.6rem)}


.phero h1.svch1{--avail:calc(min(1200px,100vw) - 2*clamp(22px,5vw,60px));
  font-size:max(1.35rem,min(clamp(2rem,.9rem + 3.05vw,var(--h1-max)),calc(var(--avail)/14.4)))}
.svch1 .cl{white-space:nowrap}
.svch1 .l2{display:block}

@media (min-width:680px){
  .phero h1.svch1{font-size:min(clamp(2rem,.9rem + 3.05vw,var(--h1-max)),calc(var(--avail)/21.4))}
}


.phero__frame{
  position:relative;
  width:calc(100% - var(--ph-inset)*2);
  margin:clamp(2rem,4.2vh,3.2rem) auto 0;
  padding:var(--ph-gap);             
}
.phero__frame::after{content:"";position:absolute;inset:0;
  border:1px solid var(--line);pointer-events:none}

.phero__frame > img,.phero__frame > picture > img{width:100%;height:auto;aspect-ratio:var(--ph-ar);
  object-fit:cover;object-position:var(--ph-pos);
  background:var(--paper-2)}         

.phero__tick{                        
  position:absolute;left:50%;top:0;transform:translate(-50%,-50%);
  width:clamp(46px,6vw,78px);height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--ice-deep),var(--ice) 50%,var(--ice-deep),transparent)}



.phero--fitfold{--ph-top:clamp(1.9rem,3.6vh,2.9rem)}


@media (max-height:760px){
  .phero--fitfold{--ph-top:clamp(1.1rem,2.2vh,1.7rem)}
  .phero--fitfold .swashline{margin-top:.75rem}
  .phero--fitfold .phero__frame{margin-top:clamp(.8rem,1.6vh,1.2rem)}
  .phero--fitfold .phero__frame figcaption{margin-top:calc(var(--ph-gap) + .2rem);font-size:.68rem}
}
.phero__frame figcaption{margin-top:calc(var(--ph-gap) + .45rem);text-align:center;
  font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.phero--mono .phero__frame img{filter:grayscale(1) contrast(1.03) brightness(1.01)}


.phero--reveal .phero__frame img{transition:filter .55s cubic-bezier(.22,.9,.28,1)}

@media (hover:hover) and (pointer:fine){
  html.has-pointed .phero--reveal .phero__frame:hover img{filter:none}
}
@media (prefers-reduced-motion:reduce){
  .phero--reveal .phero__frame img{transition:none}
}


.phero__frame > .phero__vid{width:100%;height:auto;aspect-ratio:var(--ph-ar);
  object-fit:cover;object-position:var(--ph-pos);display:block;background:var(--ink)}
.phero__vidctl{margin:0}
@media (prefers-reduced-motion: reduce){
  
  .phero__frame > .phero__vid{display:none}
  .phero__frame > .phero__vid + img,.phero--mono .phero__frame > .phero__vid + img{display:block}
}


.phero__stack{position:relative;width:100%;aspect-ratio:var(--ph-ar);
  background:var(--paper-2);overflow:hidden}
.phero__stack img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:var(--ph-pos)}
.phero__stack img+img{opacity:0}


.anim .phero__stack img{animation:reelFade 25s linear infinite}
.anim .phero__stack img:nth-child(2){animation-delay:5s}
.anim .phero__stack img:nth-child(3){animation-delay:10s}
.anim .phero__stack img:nth-child(4){animation-delay:15s}
.anim .phero__stack img:nth-child(5){animation-delay:20s}
@keyframes reelFade{0%{opacity:0}3.2%{opacity:1}20%{opacity:1}23.2%{opacity:0}100%{opacity:0}}

html[data-hero="still"] .phero__stack img{animation:none!important}
html[data-hero="still"] .phero__stack img:first-child{opacity:1}
html[data-hero="still"] .phero__stack img+img{opacity:0}


.phero--overlay .wrap{display:grid}
.phero--overlay .phero__type,.phero--overlay .phero__frame{grid-area:1/1}
.phero--overlay .phero__frame{margin-top:0}

.phero--overlay .phero__type{
  z-index:2;align-self:center;justify-self:center;max-width:min(720px,78%);
  padding:clamp(1.7rem,3.2vw,2.9rem) clamp(1.5rem,3.6vw,3.2rem);
  
  background:rgba(251,250,248,.82);border:1px solid var(--line-soft);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  
  .phero--overlay .phero__type{background:rgba(251,250,248,.9)}
}



.anim .phero .eyebrow{opacity:0;
  animation:phFade .7s .02s ease forwards, eyebrowsheen 9s linear infinite}
.anim .phero h1,.anim .phero .phero__mast{clip-path:inset(0 0 108% 0);transform:translateY(20px);
  animation:phRise .9s .12s cubic-bezier(.22,.8,.24,1) forwards}
.anim .phero .swashline path{clip-path:inset(-10% 100% -10% 0);
  animation:phSwash 1.05s .24s cubic-bezier(.22,.8,.24,1) forwards}
.anim .phero .lede{opacity:0;transform:translateY(14px);
  animation:phLift .75s .3s cubic-bezier(.22,.8,.24,1) forwards}
.anim .phero__frame::after{clip-path:inset(0 100% 0 0);
  animation:phRule .85s .42s cubic-bezier(.22,.8,.24,1) forwards}


.anim .phero__frame > img,.anim .phero__frame > picture > img,.anim .phero__stack,.anim .phero__frame > .phero__vid{
  opacity:0;clip-path:inset(4% 6%);
  animation:phPlate 1s .5s cubic-bezier(.22,.8,.24,1) forwards}
.anim .phero__frame figcaption{opacity:0;animation:phFade .6s .66s ease forwards}
.anim .phero__tick{transform:translate(-50%,-50%) scaleX(0);
  animation:phTick .5s .86s cubic-bezier(.22,.8,.24,1) forwards}
.anim .phero .ctas{opacity:0;transform:translateY(14px);
  animation:phLift .7s .76s cubic-bezier(.22,.8,.24,1) forwards}


.phero--home .lede{text-align:center}

.anim .phero--home .lede{animation-delay:.86s}




.anim .phero .lede--under{animation-delay:.76s}

@media (min-width:901px){
  .phero--home{
    --ph-top:clamp(2.6rem,5.5vh,4rem);
    
    --ph-chrome:calc(283px + 9.25vh);
  }
  .phero--home .phero__frame{margin-top:clamp(1.3rem,2.6vh,2.1rem)}
  .phero--home .ctas{margin-top:clamp(1.4rem,3.4vh,2.1rem)}
  .phero--home .lede{margin-top:clamp(2rem,4.5vh,3rem)}
  
  
  .phero--home .phero__stack{
    max-height:max(300px,calc(100vh - var(--ph-chrome)));
    min-height:min(500px,46vw)
  }
}


@media (min-width:901px) and (max-height:790px){
  .phero--home{--ph-chrome:396px}
}


html.warm.anim .phero .eyebrow,
html.warm.anim .phero h1,
html.warm.anim .phero .phero__mast,

html.warm.anim .phero .swashline path:not(.swashline__gl),
html.warm.anim .phero .lede,
html.warm.anim .phero__frame::after,
html.warm.anim .phero__frame > img,
html.warm.anim .phero__frame > picture > img,
html.warm.anim .phero__frame > .phero__vid,
html.warm.anim .phero__stack,
html.warm.anim .phero__frame figcaption,
html.warm.anim .phero__tick,
html.warm.anim .phero .ctas{animation-duration:.24s;animation-delay:0s}


html.warm.anim .phero__stack img{animation-duration:25s}

@keyframes phFade{to{opacity:1}}
@keyframes phLift{to{opacity:1;transform:none}}
@keyframes phRise{to{clip-path:inset(0 0 -14% 0);transform:none}}
@keyframes phSwash{to{clip-path:inset(-10% -2% -10% 0)}}
@keyframes phRule{to{clip-path:inset(0)}}
@keyframes phPlate{to{opacity:1;clip-path:inset(0)}}
@keyframes phTick{to{transform:translate(-50%,-50%) scaleX(1)}}


.rv{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.8,.24,1)}
.anim .rv{opacity:0;transform:translateY(14px)}
.anim .rv.on{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .anim .rv{opacity:1;transform:none;transition:none}
  .anim .rule{transform:none;transition:none}
  .anim .phero .eyebrow,.anim .phero h1,.anim .phero .phero__mast,.anim .phero .lede,.anim .phero .ctas,
  .anim .phero .swashline path,.anim .phero__frame::after,.anim .phero__stack,
  .anim .phero__frame > img,.anim .phero__frame > picture > img,.anim .phero__frame figcaption{
    animation:none!important;clip-path:none!important;transform:none!important;
    opacity:1!important;transition:none!important}
  
  .anim .phero__stack img{animation:none!important}
  .anim .phero__stack img+img{opacity:0!important}
  .anim .phero__tick{animation:none!important;transition:none!important;
    opacity:1!important;transform:translate(-50%,-50%)!important}
  .card figure img,.gcell img{transition:none}
}




.brand{position:relative}
.brand::after{content:"";position:absolute;inset:0;pointer-events:none;
  -webkit-mask:url('assets/brand/A3_horiz.png') left center/auto 100% no-repeat;
  mask:url('assets/brand/A3_horiz.png') left center/auto 100% no-repeat;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.85) 50%,transparent 58%) no-repeat;
  background-size:280% 100%;background-position:120% 0;opacity:0}
.anim .brand::after{animation:brandsheen 8s ease-in-out 2.2s infinite}

html.intro-ran .brand::after{animation:none}
html.intro-handoff .brand::after{animation:brandsheen 8s ease-in-out 0s infinite}
@keyframes brandsheen{
  0%{background-position:120% 0;opacity:0}
  4%{opacity:1}
  16%{background-position:-60% 0;opacity:1}
  20%{background-position:-80% 0;opacity:0}
  100%{background-position:-80% 0;opacity:0}
}



:root{
  --mh-presence: 380ms;   
  --mh-hold:    1150ms;   
  --mh-travel:  1080ms;   
  --mh-settle:   175ms;   
  --mh-reveal:   720ms;   
  --mh-fade:     640ms;   
  --mh-t0:       calc(var(--mh-presence) + var(--mh-hold));
  
  --mh-glint-in:  220ms;  
  --mh-glint:     830ms;  
  
  --mh-take: cubic-bezier(.28,.01,.32,1);
}


html.pre-intro body{visibility:hidden}
html.pre-intro .intro,.intro{visibility:visible}


.intro{position:fixed;inset:0;z-index:200;background:var(--paper);will-change:opacity;
  
  background-image:radial-gradient(ellipse 118% 92% at 50% 44%,#FFFEFC 0%,var(--paper) 52%,#F2EFE9 100%)}
html.intro-lead .intro{
  animation:mhCurtain var(--mh-fade) cubic-bezier(.33,0,.5,1) forwards;
  animation-delay:calc(var(--mh-t0) + var(--mh-reveal))}
@keyframes mhCurtain{to{opacity:0}}



.mhbloom{position:fixed;left:50%;top:46%;z-index:205;translate:-50% -50%;
  width:min(78vw,780px);aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle,
    rgba(106,193,208,.13) 0%,
    rgba(106,193,208,.06) 32%,
    rgba(106,193,208,.015) 62%,
    transparent 100%)}
html.intro-lead .mhbloom{
  animation:mhBloom calc(var(--mh-t0) + var(--mh-travel)) ease-out forwards}
@keyframes mhBloom{
  0%{opacity:0;transform:scale(.86)}
  26%{opacity:1}
  62%{opacity:.85}
  100%{opacity:0;transform:scale(1.06)}}


html.intro-lead .nav{z-index:210;border-bottom-color:transparent}
html.intro-lead .nav .bar>*:not(.brand){opacity:0}
html.intro-handoff .nav{animation:mhRule .55s cubic-bezier(.33,0,.5,1) backwards}
@keyframes mhRule{from{border-bottom-color:transparent}}

html.intro-handoff .nav .bar>*:not(.brand){
  animation:mhNavIn .46s cubic-bezier(.33,0,.5,1) backwards}
html.intro-handoff .nav .bar>*:nth-child(2){animation-delay:42ms}
html.intro-handoff .nav .bar>*:nth-child(3){animation-delay:84ms}
html.intro-handoff .nav .bar>*:nth-child(4){animation-delay:126ms}
@keyframes mhNavIn{from{opacity:0;transform:translate3d(0,-4px,0)}}


html.intro-lead .brand,html.intro-ran .brand{will-change:transform}
html.intro-lead .brand{
  animation:
    mhFade var(--mh-presence) cubic-bezier(.2,0,.3,1) backwards,
    mhTravel var(--mh-travel) var(--mh-take) var(--mh-t0) backwards}
@keyframes mhFade{from{opacity:0}}

@keyframes mhTravel{
  from{transform:translate3d(var(--tx),var(--ty),0)}
  to  {transform:translate3d(0,0,0)}
}


html.intro-lead .brand img{
  transform-origin:50% 50%;
  animation:
    mhDrift var(--mh-hold) linear var(--mh-presence) backwards,
    mhScale calc(var(--mh-travel) + var(--mh-settle)) var(--mh-take) var(--mh-t0) backwards}
@keyframes mhScale{
  from{transform:scale(var(--is))}
  88% {transform:scale(.986)}
  to  {transform:scale(1)}
}
@keyframes mhDrift{
  from{transform:scale(var(--is))}
  to  {transform:scale(calc(var(--is) * .991))}
}


html.intro-lead .brand::after{
  transform:scale(var(--is));
  animation:mhGlint var(--mh-glint) cubic-bezier(.4,0,.35,1)
            calc(var(--mh-presence) + var(--mh-glint-in)) backwards}
@keyframes mhGlint{
  0%  {background-position:120% 0;opacity:0}
  10% {opacity:1}
  82% {opacity:1}
  100%{background-position:-70% 0;opacity:0}
}


@media (prefers-reduced-motion: reduce){
  html.intro-lead .brand,
  html.intro-lead .brand *,
  html.intro-lead .brand::before,
  html.intro-lead .brand::after{animation:none !important;transform:none !important;
    will-change:auto !important}
  html.intro-lead .nav{z-index:50}
  .intro,.mhbloom{display:none}
  .brand::after{display:none}
}




.lmq{position:relative;overflow:hidden;margin-top:clamp(2.2rem,4vh,3.2rem);
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  touch-action:pan-y pinch-zoom;cursor:grab}
.lmq__track{display:flex;flex-wrap:wrap;justify-content:center}
.lmq__grp{display:flex;flex-wrap:wrap;justify-content:center}

.lmq__grp + .lmq__grp{display:none}
.lmq__cell{position:relative;flex:none;width:clamp(184px,21vw,244px);min-height:118px;
  display:flex;align-items:center;justify-content:center;padding:1.5rem 1.4rem;
  border-right:1px solid var(--line-soft)}
.lmq .lg{width:100%;max-width:172px;height:62px;background:#5b5652;
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;
  transition:background .4s}
.lmq__cell:hover .lg{background:var(--bc,var(--ink))}

.lmq .tw{font-family:var(--disp);font-weight:700;font-size:1.04rem;letter-spacing:.13em;
  text-transform:uppercase;color:#5b5652;text-align:center;line-height:1.35;transition:color .4s;
  max-width:100%;overflow-wrap:break-word}
.lmq__cell:hover .tw{color:var(--bc,var(--ink))}

.lmq .cimg img{max-height:74px;max-width:78%;width:auto;filter:grayscale(1) opacity(.72);transition:filter .4s}
.lmq .cimg:hover img{filter:none}


.anim .lmq{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.anim .lmq__track{flex-wrap:nowrap;width:max-content;justify-content:flex-start;
  will-change:transform;animation:lmqRoll 46s linear infinite}
.anim .lmq__grp{flex-wrap:nowrap}
.anim .lmq__grp + .lmq__grp{display:flex}

@keyframes lmqRoll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

@media (hover:hover) and (pointer:fine){
  .anim .lmq:hover .lmq__track{animation-play-state:paused}
}

.anim .lmq:focus-visible .lmq__track,
.anim .lmq:has(:focus-visible) .lmq__track,
.anim .lmq.is-paused .lmq__track{animation-play-state:paused}


.lmq{cursor:grab}
.lmq.is-grabbed{cursor:grabbing}

.lmq img{-webkit-user-drag:none;user-drag:none}
.lmq,.lmq *{user-select:none;-webkit-user-select:none}

.lmq.is-manual .lmq__track{animation:none!important}



@media (hover:none),(pointer:coarse){
  .lmq{overflow-x:auto;overflow-y:hidden;touch-action:auto;cursor:auto;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .lmq::-webkit-scrollbar{display:none}
  .anim .lmq__track{animation:none;width:max-content}
  .anim .lmq__grp + .lmq__grp{display:flex}
  .lmq__cell{scroll-snap-align:start}
  
  .lmq.is-drifting{scroll-snap-type:none}
}


.lmq__ctl{margin:0}

.lmq__pause{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
  font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-soft);background:var(--paper);cursor:pointer}

.lmq__pause:focus-visible{position:static;width:auto;height:auto;margin:0;overflow:visible;
  clip:auto;clip-path:none;padding:.5rem 1rem;border:1px solid var(--ink);
  color:var(--ink);display:inline-block;margin-top:1rem}

@media (prefers-reduced-motion: reduce){
  
  .anim .lmq__track{flex-wrap:wrap;width:auto;justify-content:center;animation:none;will-change:auto}
  .anim .lmq__grp{flex-wrap:wrap}
  .anim .lmq__grp + .lmq__grp{display:none}
  .anim .lmq{-webkit-mask-image:none;mask-image:none}
  .anim .lmq__pause{display:none}
  .lmq .lg,.lmq .tw,.lmq .cimg img{transition:none}
}





.svcband{margin:0 0 clamp(1rem,2.6vh,1.9rem)}

.svcband.svcwall{padding-top:clamp(14px,2.2vh,26px)}

.svcband__strip{position:relative;overflow:hidden;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.svcband__track{display:flex;width:max-content}
.svcband__grp{display:flex}

.svcband__grp + .svcband__grp{display:none}

.svcband__cell{flex:none;width:clamp(220px,25vw,360px);overflow:hidden;padding:0 4px}

.svcband__cell img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}
.svcband,.svcband *{user-select:none;-webkit-user-select:none}
.svcband__cell img{display:block;width:100%;
  height:clamp(190px,21vw,304px);
  object-fit:cover;
  filter:grayscale(1) contrast(1.05);
  transition:filter .55s ease;
  
  background:var(--paper-2)}




.anim .svcband__strip{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.anim .svcband__grp + .svcband__grp{display:flex}
.anim .svcband__track{will-change:transform;animation:svcRoll 72s linear infinite}

@keyframes svcRoll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.3333%,0,0)}}




.svcband--rows{--svb-h:clamp(168px,16.5vw,249px)}
.svcband--rows .svcband__cell{width:calc(var(--svb-h) * 1.36546)}
.svcband--rows .svcband__cell img{height:var(--svb-h)}
.svcband--rows .svcband__strip + .svcband__strip{margin-top:8px}


@media (hover:none),(pointer:coarse){
  .svcband--rows .svcband__cell--hero{order:99}
}
.anim .svcband--rows .svcband__strip--rev .svcband__track{animation-name:svcRollRev}
@keyframes svcRollRev{from{transform:translate3d(-33.3333%,0,0)}to{transform:translate3d(0,0,0)}}





.anim .svcband--rows .svcband__strip:nth-of-type(1) .svcband__track{animation-duration:72s}
.anim .svcband--rows .svcband__strip:nth-of-type(2) .svcband__track{animation-duration:119s}
.anim .svcband--rows .svcband__strip:nth-of-type(3) .svcband__track{animation-duration:79s}


.anim .svcband--rows .svcband__strip.rv{opacity:1;transform:none}

.anim .svcband--rows .svcband__strip.rv .svcband__cell{
  opacity:0;transform:translate3d(var(--svb-in,96px),0,0) scale(.82)}
.anim .svcband--rows .svcband__strip.rv.on .svcband__cell{
  opacity:1;transform:none;
  transition:opacity .5s ease var(--svb-d,0ms),
             transform .72s cubic-bezier(.22,.8,.24,1) var(--svb-d,0ms)}

.svcband--rows .svcband__strip--rev{--svb-in:-96px}
.svcband--rows .svcband__cell{--svb-d:calc(var(--svb-i,0) * 70ms + var(--svb-row,0ms))}
.svcband--rows .svcband__grp .svcband__cell:nth-child(1){--svb-i:0}
.svcband--rows .svcband__grp .svcband__cell:nth-child(2){--svb-i:1}
.svcband--rows .svcband__grp .svcband__cell:nth-child(3){--svb-i:2}
.svcband--rows .svcband__grp .svcband__cell:nth-child(4){--svb-i:3}
.svcband--rows .svcband__grp .svcband__cell:nth-child(5){--svb-i:4}
.svcband--rows .svcband__grp .svcband__cell:nth-child(6){--svb-i:5}
.svcband--rows .svcband__grp .svcband__cell:nth-child(7){--svb-i:6}
.svcband--rows .svcband__strip:nth-of-type(2){--svb-row:120ms}
.svcband--rows .svcband__strip:nth-of-type(3){--svb-row:240ms}

.svcband--rows .svcband__grp .svcband__cell:nth-child(8){--svb-i:7}


.svcwall__runway{position:relative}
.svcwall__stage{position:relative}
.svcwall__camera{will-change:auto}

.svcwall__moment{display:none}

.svcwall__readout{margin:1.1rem auto 0;min-height:2.9rem;text-align:center;opacity:0;
  transition:opacity .5s ease}
.svcwall__role{display:block;font-family:var(--disp);font-weight:700;
  font-size:clamp(1.05rem,1.7vw,1.4rem);line-height:1.2}
.svcwall__mkt{display:block;margin-top:.3rem;font-size:.74rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--ice-deep);font-weight:600}

@media (hover:hover) and (pointer:fine){
  .anim .svcwall--on .svcwall__runway{height:260vh}
  .anim .svcwall--on .svcwall__stage{position:sticky;top:var(--navh,95px);
    height:calc(100vh - var(--navh,95px));overflow:hidden;display:flex;
    align-items:center;background:var(--paper)}

  
  .anim .svcwall--on.svcband--rows{
    --svb-h:min(clamp(168px,16.5vw,249px), calc((100vh - var(--navh,95px) - 24px) / 3));
  }
  
  
  .anim .svcwall--on .svcwall__camera{width:100%;
    transform-origin:50% 50%}
  
  .anim .svcwall--on .svcband__track{animation-play-state:paused}
  .anim .svcwall--on.is-live .svcband__track{animation-play-state:running}

  
  .anim .svcwall--on .svcband__cell.is-read img{filter:none}

  
  .anim .svcwall--on .svcband__cell{position:relative}
  .anim .svcwall--on .svcband__cell::after{
    content:attr(data-role) "\A" attr(data-mkt);
    white-space:pre-line;
    position:absolute;left:0;right:0;bottom:0;z-index:2;
    padding:2.6em .7em .62em;
    background:linear-gradient(to top,rgba(18,17,16,.82) 0%,rgba(18,17,16,.62) 42%,rgba(18,17,16,0) 100%);
    color:#fff;text-align:center;pointer-events:none;
    font-family:var(--sans);font-weight:600;
    font-size:clamp(.5rem,.72vw,.68rem);letter-spacing:.15em;text-transform:uppercase;
    line-height:1.5;
    opacity:0;transform:translateY(6px);
    transition:opacity .5s ease,transform .5s cubic-bezier(.22,.9,.28,1);
  }
  
  .anim .svcwall--on .svcband__cell.is-read::after{opacity:1;transform:none}

  

  
  .anim .svcwall--on .svcwall__readout{
    position:absolute;width:1px;height:1px;min-height:0;margin:0;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;opacity:1;
  }
  .svcwall__readout.swap .svcwall__role,
  .svcwall__readout.swap .svcwall__mkt{animation:svwIn .42s ease both}

  
  .anim .svcwall--on .svcwall__moment{display:block;position:absolute;left:0;right:0;
    bottom:clamp(1.4rem,4vh,2.6rem);z-index:4;text-align:center;pointer-events:none}
  
  .svcwall__moment__in{display:inline-block;position:relative;text-align:center;
    background:rgba(251,250,248,.94);padding:.9rem 1.6rem 1rem;
    border:1px solid var(--line);
    box-shadow:0 1px 0 rgba(28,26,25,.04), 0 18px 40px -28px rgba(28,26,25,.45);
    animation:svwCapIn .72s cubic-bezier(.22,.8,.24,1) both .28s}
  .svcwall__moment__t{display:block;font-family:var(--disp);font-weight:700;
    font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.15;
    animation:svwCapLine .6s cubic-bezier(.22,.8,.24,1) both .42s}
  
  .svcwall__moment__t::after{content:"";display:block;height:2px;width:clamp(56px,7vw,92px);
    margin:.55rem auto .5rem;background:var(--ice);
    transform:scaleX(0);transform-origin:0 50%;
    animation:svwCapRule .62s cubic-bezier(.22,.8,.24,1) both .62s}
  .svcwall__moment__s{display:block;font-size:.7rem;letter-spacing:.19em;
    text-transform:uppercase;color:var(--ice-deep);font-weight:600;
    animation:svwCapLine .6s cubic-bezier(.22,.8,.24,1) both .74s}
  
  .anim .svcwall--on:not(.is-live) .svcband__cell--hero img{filter:none}

  
  .anim .svcwall--on.svcband--rows .svcband__strip.rv .svcband__cell,
  .anim .svcwall--on.svcband--rows .svcband__strip.rv.on .svcband__cell{
    opacity:1;transform:none;transition:none}
}
@keyframes svwIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@keyframes svwCapIn{from{opacity:0;transform:translateY(16px) scale(.985)}
                    to{opacity:1;transform:none}}
@keyframes svwCapLine{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes svwCapRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}


@media (prefers-reduced-motion:reduce){
  .svcwall__runway{height:auto!important}
  .svcwall__stage{position:static!important;height:auto!important}
  .svcwall__camera{transform:none!important}
  .svcwall__moment{display:none!important}
  .svcwall__readout{opacity:1}
}

@media (hover:hover) and (pointer:fine){
  
  .anim .svcband:not(.svcwall--on) .svcband__strip:hover .svcband__track{animation-play-state:paused}
  
  .svcband:not(.svcwall--on) .svcband__cell:hover img{filter:none}
}
.anim .svcband__strip:focus-within .svcband__track,
.anim .svcband.is-paused .svcband__track{animation-play-state:paused}


.anim .svcwall--on.is-held .svcband__track{animation-play-state:paused}


@media (hover:hover) and (pointer:fine){
  .anim .svcband__strip{cursor:grab}
  .anim .svcband__strip.is-grabbed{cursor:grabbing}
}

.svcband.is-manual .svcband__track{animation:none!important}


@media (hover:none),(pointer:coarse){
  
  .svcband__strip{overflow-x:hidden;overflow-y:hidden;touch-action:pan-y;cursor:auto;
    -webkit-overflow-scrolling:auto;scrollbar-width:none}
  .svcband__strip::-webkit-scrollbar{display:none}
  
  .anim .svcband__track,
  .anim .svcband--rows .svcband__strip--rev .svcband__track{animation:none}
  .anim .svcband__grp + .svcband__grp{display:flex}
  
}



.svcband__ctl{margin:0}
.svcband__pause{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
  font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-soft);background:var(--paper);cursor:pointer}
.svcband__pause:focus-visible{position:static;width:auto;height:auto;margin:1rem 0 0;overflow:visible;
  clip:auto;clip-path:none;padding:.5rem 1rem;border:1px solid var(--ink);
  color:var(--ink);display:inline-block}

@media (prefers-reduced-motion: reduce){
  .anim .svcband__track{animation:none}
  .anim .svcband__grp + .svcband__grp{display:none}
  .svcband__cell img{transition:none}
  
  .anim .svcband--rows .svcband__strip.rv .svcband__cell,
  .anim .svcband--rows .svcband__strip.rv.on .svcband__cell{
    opacity:1;transform:none;transition:none}
}

.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2.4rem)}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-soft)}
.alt .card{border-color:var(--line)}
.card figure{overflow:hidden}
.card figure img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s cubic-bezier(.22,.8,.24,1)}

.card .body{padding:1.8rem 1.7rem 2rem;display:flex;flex-direction:column;flex:1}
.card h3{font-family:var(--disp);font-weight:700;font-size:1.22rem;letter-spacing:.03em;line-height:1.3}
.card p{margin-top:.9rem;font-size:.97rem;flex:1}
.card .tlink{margin-top:1.5rem}



.pbadge{display:flex;align-items:center;justify-content:center;flex:none;
  width:38px;height:38px;border-radius:50%;background:var(--ice);margin-bottom:1.05rem}
.pbadge svg{width:20px;height:20px;display:block;fill:#fff}


.pillar.has-icon{border-top:0;padding-top:0}

.anim .pbadge{animation:pbreathe 5.6s ease-in-out infinite}
.anim .pillar:nth-child(2) .pbadge{animation-delay:1.1s}
.anim .pillar:nth-child(3) .pbadge{animation-delay:2.2s}
.anim .pillar:nth-child(4) .pbadge{animation-delay:3.3s}
@keyframes pbreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@media (prefers-reduced-motion: reduce){
  .pbadge{transition:none}
  .anim .pbadge{animation:none!important;transform:none!important}
}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3vw,3rem)}
.pillars.four{grid-template-columns:repeat(4,1fr)}
.pillar{border-top:2px solid var(--ice);padding-top:1.5rem}
.pillar b{font-family:var(--disp);font-weight:700;font-size:1.08rem;letter-spacing:.03em;display:block}
.pillar p{margin-top:.8rem;font-size:.95rem}


.pillar.has-icon .pbar{display:flex;align-items:center;gap:.85rem;
  background:var(--ice);min-height:60px;padding:.55rem 1rem;margin-bottom:1.05rem}

#assurance .pillar.has-icon .pbar,
#difference .pillar.has-icon .pbar{min-height:74px}


.pbshots{display:grid;grid-template-columns:auto auto;
  justify-content:center;align-items:start;
  gap:clamp(1rem,2.4vw,2rem);max-width:840px;
  margin:clamp(1.8rem,4vh,3rem) auto 0}
.pbshots figure{position:relative;margin:0;padding:var(--ph-gap,12px);
  background:var(--paper-2)}
.pbshots figure::after{content:"";position:absolute;inset:0;
  border:1px solid var(--line);pointer-events:none}


.pbshots img{display:block;height:clamp(190px,24vw,340px);width:auto;
  max-width:none;object-fit:contain;background:#fff}

.pbshots figcaption{margin-top:calc(var(--ph-gap) + .4rem);text-align:center;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);line-height:1.5}
@media (max-width:640px){
  .pbshots{grid-template-columns:1fr;max-width:340px;gap:1.4rem}
  
  .pbshots img{height:auto;width:100%}
}
.pillar.has-icon .pbar b{font-family:var(--disp);font-weight:700;font-size:.95rem;
  letter-spacing:.03em;line-height:1.22;color:var(--ink);margin:0}
.pillar.has-icon .pbadge{margin-bottom:0;background:#fff}
.pillar.has-icon .pbadge svg{fill:var(--ice)}
.pillar.has-icon .pbadge svg [fill="#6AC1D0"]{fill:#fff}
.pillar.has-icon>p{margin-top:0}





.pillar.has-icon .pbadge{width:42px;height:42px}
.pillar.has-icon .pbar{transition:background .35s ease}

.pillar.has-icon .pbadge svg{width:27px;height:27px;scale:.852;
  transition:scale .38s cubic-bezier(.22,.8,.24,1)}
.pillar.has-icon:hover .pbadge svg{scale:1}



.anim .pillar.has-icon .pbadge svg{animation:gfloat 4.6s ease-in-out infinite}
.anim .pillars .pillar:nth-child(2) .pbadge svg{animation-delay:.7s}
.anim .pillars .pillar:nth-child(3) .pbadge svg{animation-delay:1.4s}
.anim .pillars .pillar:nth-child(4) .pbadge svg{animation-delay:2.1s}

@keyframes gfloat{
  0%,100%{translate:0 0}
  50%{translate:0 -1.6px}
}


@media (hover:hover) and (pointer:fine){
  .pillar.has-icon:hover .pbar{background:color-mix(in srgb,var(--ice) 88%,#fff)}
}


.pillar.has-icon.is-lit .pbar{background:color-mix(in srgb,var(--ice) 88%,#fff)}
.pillar.has-icon.is-lit .pbadge svg{scale:1}

@media (prefers-reduced-motion: reduce){
  .pillar.has-icon .pbar,.pillar.has-icon .pbadge svg{transition:none}
  
  .pillar.has-icon:hover .pbadge svg{scale:.852}
  
  .anim .pillar.has-icon .pbadge svg{animation:none!important;translate:0 0!important;scale:.852!important}
}


.work{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2.4rem)}
.wcard{position:relative;display:block}
.wcard figure{overflow:hidden}

.wcard figure img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:transform .8s cubic-bezier(.22,.8,.24,1)}

.wcard .tag{display:block;font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--ice-deep);margin-top:1.2rem}

.wcard h3{font-family:var(--sans);font-weight:700;font-size:1.24rem;letter-spacing:.005em;line-height:1.38;margin-top:.5rem}


.trot{max-width:920px;margin:0 auto}
.trot__stage{display:grid;align-items:center}

.tq{grid-area:1/1;text-align:center;opacity:0;visibility:hidden;
  transition:opacity .5s ease,visibility 0s linear .5s}
.tq.is-on{opacity:1;visibility:visible;transition:opacity .5s ease,visibility 0s}
.tq .qm{font-family:var(--disp);font-weight:900;font-size:3.4rem;line-height:.6;color:var(--ice);display:block;margin-bottom:1.2rem}


.tq .tlogo{display:block;margin:0 auto 1.35rem;max-height:68px;max-width:132px;width:auto;height:auto}


.tq q{quotes:"\201C" "\201D";font-family:var(--sans);font-weight:500;font-size:clamp(1.05rem,1.55vw,1.28rem);line-height:1.72;color:var(--ink);display:block}
.tq cite{display:block;font-style:normal;margin-top:1.6rem}
.tq cite b{font-size:.95rem;letter-spacing:.08em}
.tq cite span{display:block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:.3rem}

.trot__nav{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:clamp(1.8rem,3.5vh,2.6rem)}
.trot__arrow{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  background:none;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;
  transition:color .25s,border-color .25s}
.trot__arrow svg{width:18px;height:18px}
.trot__arrow:hover{color:var(--ink);border-color:var(--ink)}
.trot__dots{display:flex;align-items:center;gap:.7rem}

.trot__dot{width:30px;height:30px;padding:0;background:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.trot__dot::before{content:"";width:9px;height:9px;border-radius:50%;
  border:1px solid var(--ink-soft);background:transparent;transition:background .3s,border-color .3s,transform .3s}
.trot__dot:hover::before{border-color:var(--ink)}
.trot__dot.is-on::before{background:var(--ice-deep);border-color:var(--ice-deep);transform:scale(1.18)}

@media (prefers-reduced-motion: reduce){
  .tq,.tq.is-on{transition:none}
  .trot__arrow,.trot__dot::before{transition:none}
}

@media (max-width:900px){
  .trot__stage{align-items:start}
}


.cnote{max-width:74ch;margin:0 auto;border-left:2px solid var(--ice);
  padding-left:clamp(1.3rem,3vw,2.1rem)}
.cnote h2{margin-bottom:.7rem}
.cnote p{font-size:clamp(1rem,1.4vw,1.12rem)}



.onerail{padding:clamp(2.4rem,5vh,4rem) 0 clamp(3rem,6vh,5rem)}
.onerail__lede{text-align:center;margin-bottom:clamp(1.1rem,2.4vh,1.8rem)}
.onerail__lede span{font-size:.66rem;font-weight:700;letter-spacing:.28em;
  text-transform:uppercase;color:var(--ice-deep)}


.onerail__run{position:relative;
  height:calc(100vh + var(--rail-travel,0px) * var(--rail-rate,.62))}

.onerail__stage{position:sticky;top:var(--navh,95px);
  height:clamp(340px,72vh,720px);overflow:hidden}
.onerail__track{display:flex;gap:clamp(10px,1.1vw,18px);height:100%;
  padding:0 clamp(14px,3vw,48px);
  transform:translate3d(calc(var(--rail-x,0px) * -1),0,0)}

.onerail__f{margin:0;flex:0 0 auto;height:100%;border-radius:3px;overflow:hidden;
  width:auto;aspect-ratio:var(--ar,3/2)}

.onerail__f img{width:100%;height:100%;object-fit:cover;display:block}

.onerail__stage:focus-visible{outline:2px solid var(--ice-deep);outline-offset:-4px}



.onerail--static .onerail__run{height:auto}
.onerail--static .onerail__stage{position:static;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  touch-action:pan-x pinch-zoom;scrollbar-width:none}
.onerail--static .onerail__stage::-webkit-scrollbar{display:none}
.onerail--static .onerail__track{transform:none}

.onerail--static .onerail__stage{height:auto}

.onerail--static .onerail__track{align-items:flex-start}
.onerail--static .onerail__f{height:auto;width:min(92vw,620px)}
.onerail--static .onerail__f{scroll-snap-align:center}
@media(prefers-reduced-motion:reduce){
  .onerail__run{height:auto}
  .onerail__stage{position:static;overflow-x:auto;overflow-y:hidden}
  .onerail__track{transform:none!important}
}




.citygrid{list-style:none;margin:clamp(2.4rem,5vh,3.6rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,2vw,1.5rem)}
.citygrid li{margin:0;min-width:0;position:relative}


.cityplay{position:absolute;inset:0;width:100%;height:100%;
  border:0;padding:0;margin:0;background:transparent;cursor:pointer;
  display:block}

.cityplay::before{content:"";position:absolute;left:.75rem;bottom:.75rem;
  width:2.75rem;height:2.75rem;border-radius:50%;
  background:rgba(251,250,248,.92) no-repeat center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7.5v9l7.5-4.5z' fill='%231C1A19'/%3E%3C/svg%3E");
  background-size:1.5rem 1.5rem;
  box-shadow:0 2px 10px rgba(28,26,25,.28);
  transition:transform .3s cubic-bezier(.22,.8,.24,1),background-color .3s ease}
.cityplay:hover::before{transform:scale(1.08);background-color:#fff}
.cityplay:focus-visible{outline:3px solid var(--ice-deep);outline-offset:3px}


.cityloop{position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;background:var(--ink);
  opacity:0;transition:opacity .45s ease;pointer-events:none}
.citygrid li:hover .cityloop.is-ready{opacity:1}

.cityloop.is-auto.is-ready{opacity:1}

.cityloop__ctl{margin:0}
.cityloop__pause{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
  font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-soft);background:var(--paper);cursor:pointer}
.cityloop__pause:focus-visible{position:static;width:auto;height:auto;margin:1rem 0 0;overflow:visible;
  clip:auto;clip-path:none;padding:.5rem 1rem;border:1px solid var(--ink)}
@media (prefers-reduced-motion:reduce){
  
  .cityloop.is-auto{display:none}
  .cityloop__ctl{display:none}
}



.vlb{border:0;padding:0;background:transparent;position:fixed;inset:0;
  width:fit-content;height:fit-content;margin:auto;
  max-width:96vw;max-height:94vh;overflow:visible}
.vlb::backdrop{background:rgba(16,15,14,.88)}
.vlb__v{display:block;max-width:96vw;max-height:90vh;width:auto;height:auto;
  background:#000}

.vlb__x{position:absolute;top:.6rem;right:.6rem;width:2.4rem;height:2.4rem;
  border:0;border-radius:50%;cursor:pointer;background:rgba(251,250,248,.92);
  color:var(--ink);font-size:1.35rem;line-height:1;display:grid;place-items:center;
  box-shadow:0 2px 10px rgba(16,15,14,.45)}
.vlb__x:focus-visible{outline:3px solid var(--paper);outline-offset:3px}


.vlb--page{max-height:94vh;overflow:auto;background:var(--paper);
  -webkit-overflow-scrolling:touch}
.vlb__img{display:block;width:min(1100px,92vw);height:auto}

.vlb--page .vlb__x{position:sticky;float:right;top:.6rem;right:.6rem;
  margin-left:-2.4rem;z-index:2}

@media (prefers-reduced-motion: reduce){
  .cityplay::before,.cityplay:hover::before{transition:none;transform:none}
  .cityloop{transition:none}
}

.citygrid video{width:100%;height:auto;aspect-ratio:1/1;display:block;
  object-fit:contain;background:var(--ink);
  border:1px solid var(--line-soft)}
@media (max-width:900px){.citygrid{grid-template-columns:repeat(2,1fr)}}

.mktshots{margin-top:clamp(2.4rem,5vh,3.6rem)}
.mktshots figure{margin:0}

.mktshots img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;
  border:1px solid var(--line-soft)}

.split2.mktshots figure img{aspect-ratio:3/2;object-position:50% 50%}


#event-staffing figure img{aspect-ratio:3/2;object-position:50% 50%}
.mktshots figcaption{margin-top:.85rem;font-size:.72rem;font-weight:700;
  letter-spacing:.26em;text-transform:uppercase;color:var(--ice-deep)}


.cs-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.4rem;
  font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ice-deep)}

@media (pointer:coarse){
  .cs-back{min-height:24px;padding:3px 6px;margin-left:-6px}
}
.cs-back span{transition:transform .3s cubic-bezier(.22,.8,.24,1)}
.cs-back:hover span{transform:translateX(-4px)}
@media (prefers-reduced-motion: reduce){.cs-back span,.cs-back:hover span{transition:none;transform:none}}

.csmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.csmeta > div{padding:1.5rem clamp(1rem,2.4vw,2rem);border-left:1px solid var(--line-soft);
  text-align:center}
.csmeta > div:first-child{border-left:0}
.csmeta dt{font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ice-deep)}
.csmeta dd{margin-top:.6rem;font-family:var(--disp);font-weight:700;color:var(--ink);
  font-size:clamp(1.02rem,1.5vw,1.2rem);letter-spacing:.02em;line-height:1.3}

.csmeta dd.is-data{font-family:var(--sans);font-weight:800;letter-spacing:.005em;
  font-size:clamp(.98rem,1.4vw,1.13rem)}


.wcard h3 .lit{font-family:inherit;font-weight:inherit;letter-spacing:inherit;
  font-size:inherit}


.phero h1 .lit{font-family:inherit;font-weight:inherit;letter-spacing:inherit;
  font-size:inherit}



.phero h1.h1--sans{font-family:var(--sans);font-weight:700;letter-spacing:.005em}
.phero h1.h1--sans .lit{font-family:inherit;font-weight:inherit;
  letter-spacing:inherit;font-size:inherit}
@media (max-width:760px){
  .csmeta{grid-template-columns:1fr}
  .csmeta > div{border-left:0;border-top:1px solid var(--line-soft);padding:1.15rem 0}
  .csmeta > div:first-child{border-top:0;padding-top:0}
}



.hrow{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px,30vw,460px);
  gap:clamp(.8rem,1.6vw,1.3rem);overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-padding-left:0;
  -webkit-overflow-scrolling:touch;padding-bottom:.9rem}
.hrow::-webkit-scrollbar{height:4px}
.hrow::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}
.hrow > figure{scroll-snap-align:start;margin:0;min-width:0}

.hrow img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.05);transition:filter .5s ease}



.fan{position:relative;max-width:1220px;margin:clamp(2.2rem,5vh,3.2rem) auto 0;padding:0 24px;
  --step:clamp(124px,14.4vw,207px);
  height:clamp(230px,24vw,306px)}
.anim .fan.rv{opacity:1;transform:none}          

.fan__f{position:absolute;top:0;left:50%;width:clamp(190px,22vw,318px);margin:0;
  --x:calc(var(--i,0) * var(--step));
  
  transform:translate(-50%,0) rotate(var(--r0,0deg)) translateY(var(--y0,0px));
  transition:transform 1.05s cubic-bezier(.19,1,.22,1),opacity .6s ease;
  opacity:0;will-change:transform}

.fan__f img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  background:var(--paper-2);
  box-shadow:0 18px 40px -22px rgba(20,18,16,.55),0 2px 6px -3px rgba(20,18,16,.35);
  filter:grayscale(1) contrast(1.05);
  transform:translateY(0) rotate(0deg) scale(1);
  transition:transform .34s cubic-bezier(.22,.8,.24,1),filter .34s ease}
.fan__f figcaption{margin-top:.7rem;font-size:.64rem;font-weight:600;line-height:1.3;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);text-align:center;
  opacity:0;transition:opacity .5s ease .35s}

.anim .fan.rv.on .fan__f,html:not(.anim) .fan .fan__f{opacity:1;
  transform:translate(-50%,0) translateX(var(--x)) translateY(var(--y)) rotate(var(--r))}
.anim .fan.rv.on .fan__f figcaption,html:not(.anim) .fan figcaption{opacity:1}
@media (hover:hover) and (pointer:fine){
  
  .anim .fan.rv.on .fan__f:hover{z-index:9}
  
  .fan__f:hover img{filter:none;
    transform:translateY(-14px) rotate(calc(-1 * var(--r,0deg)))}
}
@media (prefers-reduced-motion:reduce){
  .fan__f,.fan__f img,.fan__f figcaption{transition:none}
}

@media (max-width:760px){
  .fan{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:.9rem;padding:0 20px}
  .fan__f{position:static;width:auto;left:auto;transform:translateY(18px)}
  .anim .fan.rv.on .fan__f,html:not(.anim) .fan .fan__f{transform:none}
  .fan__f:nth-child(5){grid-column:span 2}
  
  .fan__f:hover img{transform:none}
}

@media (hover:hover) and (pointer:fine){
  .hrow figure:hover img{filter:none}
}

.hrow figure.is-warm img{filter:none}
.hrow figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:.65rem}
.hrow__hint{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ice-deep);margin-top:.4rem}
@media (max-width:700px){ .hrow{grid-auto-columns:minmax(260px,78%)} }
@media (prefers-reduced-motion:reduce){ .hrow img{transition:none} }


.mreel{margin:clamp(1.4rem,3vh,2.4rem) 0 0}

.mreel__strip{position:relative;overflow:clip;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  padding:clamp(1rem,2vw,1.6rem) 0}
.mreel__track{display:flex;width:max-content;align-items:flex-start}
.mreel__grp{display:flex}

.mreel__grp + .mreel__grp{display:none}
.anim .mreel__grp + .mreel__grp{display:flex}
.mreel__cell{flex:none;width:clamp(240px,26vw,380px);padding:0 7px;margin:0}

.mreel__cell img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}
.mreel,.mreel *{user-select:none;-webkit-user-select:none}
.mreel__cell{position:relative}
.mreel__cell img{display:block;width:100%;object-fit:cover;
  
  background:var(--paper-2);
  
  filter:grayscale(1) contrast(1.05);transition:filter .55s ease}

.mreel__cell img{height:clamp(190px,21vw,300px)}


.mreel__cell figcaption{
  position:absolute;left:7px;right:7px;bottom:0;
  margin:0;padding:1.6rem .9rem .8rem;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
  background:linear-gradient(to top,rgba(20,18,16,.88) 0%,rgba(20,18,16,.72) 45%,rgba(20,18,16,0) 100%);
  opacity:0;transform:translateY(8px);
  transition:opacity .42s ease,transform .42s cubic-bezier(.22,.9,.28,1);
  pointer-events:none}
@media (hover:hover) and (pointer:fine){
  
  .mreel__cell:hover img{filter:none}
  .mreel__cell:hover figcaption{opacity:1;transform:none}
}
@media (hover:none){
  
  .mreel__cell figcaption{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .mreel__cell img{transition:none}
  .mreel__cell figcaption{opacity:1;transform:none;transition:none}
}

@keyframes mreelRoll{
  from{transform:translate3d(-33.3333%,0,0)}
  to{transform:translate3d(0,0,0)}
}
.anim .mreel__track{will-change:transform;animation:mreelRoll 68s linear infinite}
@media (hover:hover) and (pointer:fine){
  
  .anim .mreel__strip:hover .mreel__track{animation-play-state:paused}
}
.anim .mreel.is-paused .mreel__track{animation-play-state:paused}


.mreel__strip{cursor:grab}
.mreel__strip.is-grabbed{cursor:grabbing}
.mreel.is-manual .mreel__track{animation:none!important}
@media (hover:none),(pointer:coarse){
  
  
  .mreel__strip{overflow-x:auto;overflow-y:hidden;touch-action:auto;cursor:auto;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .mreel__strip::-webkit-scrollbar{display:none}
  .anim .mreel__track{animation:none}
  .anim .mreel__grp + .mreel__grp{display:flex}
  .mreel__cell{scroll-snap-align:start}
  .mreel__strip.is-drifting{scroll-snap-type:none}
  
  .mreel__cell figcaption{opacity:1;transform:none}
}
.mreel__ctl{margin:0}
.mreel__pause{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
  font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-soft);background:var(--paper);cursor:pointer}
.mreel__pause:focus-visible{position:static;width:auto;height:auto;margin:1rem 0 0;overflow:visible;
  clip:auto;clip-path:none;padding:.5rem 1rem;border:1px solid var(--ink);
  color:var(--ink);display:inline-block}
@media (prefers-reduced-motion:reduce){
  
  .anim .mreel__track{animation:none}
  .mreel__strip{overflow-x:auto;overflow-y:hidden}
  .mreel__pause{display:none}
}


.dlist{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,1fr);gap:0 clamp(1.6rem,3.4vw,3.2rem)}
.dlist li{padding:.95rem 0;border-top:1px solid var(--line-soft);
  font-size:clamp(.97rem,1.3vw,1.05rem);line-height:1.5}
.dlist li:first-child,.dlist li:nth-child(2){border-top:0}
@media (max-width:700px){
  .dlist{grid-template-columns:1fr}
  .dlist li:nth-child(2){border-top:1px solid var(--line-soft)}
  .dlist li:first-child{border-top:0}
}


.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  gap:.55rem .6rem}

.chips li{border:1px solid var(--line);border-radius:999px;
  padding:.5rem .95rem .5rem .8rem;font-size:.86rem;letter-spacing:.01em;
  color:var(--ink-soft);background:var(--paper);
  display:inline-flex;align-items:center;gap:.52rem;
  transition:color .3s ease,border-color .3s ease,background-color .3s ease,
             box-shadow .3s ease,transform .34s cubic-bezier(.22,.9,.28,1),
             opacity .5s ease}
.chips li::before{content:"";width:6px;height:6px;border-radius:50%;flex:none;
  background:var(--ice-deep);opacity:.5;
  transition:opacity .3s ease,transform .3s cubic-bezier(.22,.9,.28,1)}
@media (hover:hover) and (pointer:fine){
  .chips li:hover{color:var(--ink);border-color:var(--ice-deep);
    background:var(--paper-2);transform:translateY(-2px);
    box-shadow:0 8px 18px -12px rgba(20,18,16,.4)}
  .chips li:hover::before{opacity:1;transform:scale(1.55)}
}

.anim .chips li{opacity:0;transform:translateY(9px)}
.anim .chips.on li{opacity:1;transform:none}
.anim .chips.on li:nth-child(1){transition-delay:.03s}
.anim .chips.on li:nth-child(2){transition-delay:.06s}
.anim .chips.on li:nth-child(3){transition-delay:.09s}
.anim .chips.on li:nth-child(4){transition-delay:.12s}
.anim .chips.on li:nth-child(5){transition-delay:.15s}
.anim .chips.on li:nth-child(6){transition-delay:.18s}
.anim .chips.on li:nth-child(7){transition-delay:.21s}
.anim .chips.on li:nth-child(8){transition-delay:.24s}
.anim .chips.on li:nth-child(9){transition-delay:.27s}
.anim .chips.on li:nth-child(10){transition-delay:.30s}
.anim .chips.on li:nth-child(11){transition-delay:.33s}
.anim .chips.on li:nth-child(12){transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
  .anim .chips li{opacity:1;transform:none;transition:none}
  .chips li,.chips li::before{transition:none}
}



.csnums{display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1.6rem,3vw,2.8rem) clamp(1.2rem,2.6vw,2.4rem);
  padding:.6rem 0}

.csnums.two{grid-template-columns:repeat(2,auto);justify-content:center;
  column-gap:clamp(2.5rem,9vw,7rem)}
.csnums.two > div{align-items:center;text-align:center}
.csnums.two dd{font-size:clamp(2.9rem,5.4vw,4.3rem)}
.csnums.two dt{letter-spacing:.24em}
.csnums.three{grid-template-columns:repeat(3,1fr)}


.csnums > div{display:flex;flex-direction:column-reverse;align-items:center;
  text-align:center;justify-content:flex-end}
.csnums > div:first-child{padding-left:0}
.csnums dt{font-size:.72rem;font-weight:700;letter-spacing:.26em;
  text-transform:uppercase;color:var(--ice-deep);margin-top:.75rem;line-height:1.35}
.csnums dd{margin:0;font-family:var(--sans);font-weight:800;color:var(--ink);
  font-size:clamp(2.3rem,4.2vw,3.3rem);line-height:1;letter-spacing:-.005em;
  font-variant-numeric:tabular-nums}

.csnums dd.is-word{font-size:clamp(1.6rem,2.8vw,2.2rem);letter-spacing:.01em}

@media (max-width:900px){ .csnums{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){
  .csnums,.csnums.two,.csnums.three{grid-template-columns:repeat(2,1fr);
    gap:clamp(1.3rem,5vw,1.8rem) 1.2rem}
  
  .csnums > div:last-child:nth-child(odd){grid-column:1 / -1}
}

.csmore__list{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.csmore__list > li{min-width:0}          
.csmore__list a{display:flex;align-items:center;gap:1.2rem;height:100%;
  background:var(--paper);border:1px solid var(--line-soft);
  padding:1.6rem clamp(1.3rem,2.2vw,1.8rem);
  transition:border-color .35s ease,transform .35s cubic-bezier(.22,.8,.24,1)}
.csmore__list a:hover{border-color:var(--ice);transform:translateY(-2px)}
.csmore__txt{flex:1;min-width:0}
.csmore__kind{display:block;font-size:.72rem;font-weight:700;letter-spacing:.26em;
  text-transform:uppercase;color:var(--ice-deep)}

.csmore__title{display:block;margin-top:.55rem;font-family:var(--sans);font-weight:700;
  font-size:1.14rem;letter-spacing:.005em;line-height:1.38;color:var(--ink)}
.csmore__go{flex:none;color:var(--ice-deep);font-size:1.1rem;
  transition:transform .35s cubic-bezier(.22,.8,.24,1)}
.csmore__list a:hover .csmore__go{transform:translateX(4px)}
@media (prefers-reduced-motion: reduce){
  .csmore__list a,.csmore__go{transition:none}
  .csmore__list a:hover{transform:none}
  .csmore__list a:hover .csmore__go{transform:none}
}


.cta-final{background:var(--ink);color:var(--paper);text-align:center}
.cta-final h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.8rem,3.4vw,2.9rem);letter-spacing:.02em}

@supports (-webkit-background-clip:text) or (background-clip:text){
  .cta-final h2{background:linear-gradient(90deg,var(--ice),#eafcff,var(--ice));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ice)}
  .anim .cta-final h2{animation:shinesweep 5.5s linear infinite}
}
@keyframes shinesweep{to{background-position:200% 0}}


@supports (-webkit-background-clip:text) or (background-clip:text){
  .kw{background:linear-gradient(90deg,#2A8496,var(--ice),#2A8496);
    background-size:200% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:#2A8496}
  .anim .kw{animation:shinesweep 5.5s linear infinite}
}

@media (prefers-reduced-motion: reduce){.kw,.anim .kw{animation:none}}


@supports (-webkit-background-clip:text) or (background-clip:text){
  .eyebrow{
    background:linear-gradient(100deg,
      var(--ice-deep) 0%, var(--ice-deep) 42%,
      #22758A 50%,
      var(--ice-deep) 58%, var(--ice-deep) 100%);
    background-size:260% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:var(--ice-deep);
  }
  .anim .eyebrow{animation:eyebrowsheen 9s linear infinite}
}
@keyframes eyebrowsheen{to{background-position:260% 0}}
@media (prefers-reduced-motion: reduce){.eyebrow,.anim .eyebrow{animation:none}}


.anim .eyebrow.rv{letter-spacing:.52em;transition:opacity .7s ease,
  transform .7s cubic-bezier(.22,.8,.24,1), letter-spacing .9s cubic-bezier(.22,.9,.28,1)}
.anim .eyebrow.rv.on{letter-spacing:.32em}
@media (prefers-reduced-motion: reduce){
  .anim .eyebrow.rv,.anim .eyebrow.rv.on{letter-spacing:.32em;transition:none}
}





.swashline path.swashline__gl{fill:color-mix(in srgb,var(--ice) 42%,#fff);
  -webkit-mask-image:linear-gradient(102deg,transparent 43%,#000 48%,#000 52%,transparent 57%);
          mask-image:linear-gradient(102deg,transparent 43%,#000 48%,#000 52%,transparent 57%);
  -webkit-mask-size:260% 100%;        mask-size:260% 100%;
  -webkit-mask-repeat:no-repeat;      mask-repeat:no-repeat;
  -webkit-mask-position:-80% 0;       mask-position:-80% 0}

.anim .phero .swashline.on path.swashline__gl{animation:swashGlint 5.5s linear infinite}

@keyframes swashGlint{
  0%       {-webkit-mask-position:-80% 0; mask-position:-80% 0}
  38%,100% {-webkit-mask-position:180% 0; mask-position:180% 0}
}
@media (prefers-reduced-motion: reduce){
  
  .swashline__gl{display:none}
}
@media (prefers-reduced-motion: reduce){.cta-final h2,.anim .cta-final h2{animation:none}}
.cta-final p{color:rgba(251,250,248,.75);max-width:60ch;margin:1.3rem auto 0}
.cta-final .btn{margin-top:2.2rem;border-color:var(--paper);color:var(--paper);background:transparent}
.cta-final .btn:hover{background:var(--paper);color:var(--ink)}
.cta-final .rule{background:linear-gradient(90deg,transparent,var(--ice),transparent);width:120px;margin:1.6rem auto 0}


.prose{max-width:68ch}
.prose p+p{margin-top:1.2rem}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}

.split2--films{align-items:stretch}
.split2--films > div{display:flex;flex-direction:column}
.split2--films > div > p{flex:1 0 auto}
.split2 figure img{aspect-ratio:3/4;object-fit:cover;object-position:50% 18%;width:100%}



.edfilm__box{position:relative;margin:clamp(1.1rem,2.2vh,1.6rem) 0 0;overflow:hidden}

.edfilm{width:100%;height:auto;aspect-ratio:1/1;display:block;
  object-fit:cover;background:var(--ink);
  border:1px solid var(--line-soft)}


.creed{font-family:var(--disp);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.4;letter-spacing:.02em;color:var(--ink);max-width:26ch}

.creed.oneline{max-width:none;margin-inline:auto;font-size:clamp(1.05rem,1.85vw,1.6rem);text-wrap:balance}
@media (min-width:1080px){.creed.oneline{white-space:nowrap}}
.shead.center .creed.oneline{margin-top:.2rem}


.shead.sig{margin-bottom:clamp(2.6rem,5.5vh,4rem)}
.sig__title{
  font-family:var(--disp);font-weight:700;
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1.16;letter-spacing:.022em;color:var(--ink);
  text-wrap:balance;max-width:none;
}

.sig .rule{margin-top:1rem;margin-bottom:1.05rem}

.sig .creed.oneline{
  color:var(--ink-soft);
  font-size:clamp(.98rem,1.5vw,1.32rem);
  margin-top:0;
}

.shead.wide{max-width:none}
.signoff{margin-top:2.2rem}
.signoff b{font-family:var(--disp);font-size:1.1rem;letter-spacing:.05em;display:block}
.signoff span{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}


.accolade{margin-top:clamp(1.6rem,3.2vh,2.4rem);position:relative}

.accolade__plate{display:block;position:relative;overflow:hidden;
  border:1px solid var(--line-soft);background:var(--ink)}
.accolade__badge{display:block;width:100%;height:auto}

.accolade__plate::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.30) 50%,transparent 62%);
  transform:translateX(-120%)}
.anim .accolade__plate::after{animation:accShine 6s ease-in-out 1.2s infinite}
@keyframes accShine{
  0%{transform:translateX(-120%)}
  55%,100%{transform:translateX(120%)}
}
.accolade__src{display:block;margin-top:.8rem;
  font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ice-deep)}
@media (prefers-reduced-motion: reduce){
  
  .anim .accolade__plate::after{animation:none}
}


.swashbg{position:absolute;left:-6%;right:-6%;top:50%;transform:translateY(-50%);width:112%;height:auto;pointer-events:none;opacity:.09;color:var(--ice)}
.has-swash{position:relative;overflow:hidden}
.has-swash .wrap{position:relative;z-index:1}



.phero--window.has-swash > .swashbg{top:clamp(105px,15vh,165px);transform:translateY(-50%)}


.phero__frame > .swashbg{left:50%;right:auto;top:50%;
  
  
  transform:translate(-50%,-35.75%);width:145vw;max-width:none;z-index:-1}

.phero__swashwrap{position:relative}
.phero__swashwrap > .swashbg{left:50%;right:auto;top:50%;
  
  transform:translate(-50%,-35.75%);width:112vw;max-width:none;z-index:-1}
.swashline{display:block;width:min(340px,60%);height:auto;margin:0 auto 1.8rem;color:var(--ice)}
.swashline path{fill:currentColor}

.anim .swashline path{clip-path:inset(-10% 100% -10% 0);transition:clip-path 1.3s cubic-bezier(.22,.8,.24,1) .2s}
.anim .swashline.on path{clip-path:inset(-10% -2% -10% 0)}
.cta-final .swashline{color:rgba(106,193,208,.85)}
@media (prefers-reduced-motion: reduce){
  .anim .swashline path{clip-path:none;transition:none}
}


.svcfull{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.4rem,5vw,4.5rem);align-items:start}
.svcfull.flip{grid-template-columns:1fr 1fr}
.svcfull.flip figure{order:2}
.svcfull figure{position:sticky;top:6rem}
.svcfull figure img{aspect-ratio:4/3;object-fit:cover;width:100%}



@media (min-width:901px){
  
  #brand-ambassador-staffing .wrap,
  #event-staffing .wrap,
  #strategic-services .wrap,
  #assurance .wrap,
  
  #clients .wrap,
  #services .wrap,
  #why .wrap,
  #work .wrap,
  
  #featured .wrap,
  #gallery .wrap,
  
  #archive .wrap,
  
  #difference .wrap,
  
  #follow .wrap,
  
  .csmore .wrap,
  .csrec .wrap,
  .wrap.wide{max-width:1440px}
}



@media (min-width:901px){
  
  .svcfull figure img{aspect-ratio:9/8}

  
  
  .svcfull figure img[src$="lambo_launch.jpg"]{aspect-ratio:4/3}
}

.roles{margin-top:1.8rem;display:grid;grid-template-columns:1fr;gap:0;list-style:none}
.roles li{position:relative;padding:.55rem 0 .55rem 1.5rem;border-bottom:1px solid var(--line-soft);font-size:.97rem;color:var(--ink-soft)}
.roles li::before{content:"";position:absolute;left:0;top:1.05rem;width:9px;height:2px;background:var(--ice-deep)}

.roles.acc li{padding:0}
.roles.acc li::before{top:1.75rem;width:12px}
.rolehead{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:1.12rem;font-weight:600;color:var(--ink);text-align:left;padding:1.2rem 0 1.2rem 1.6rem}
.rolehead .ind{flex:0 0 auto;font-weight:400;font-size:1.15rem;line-height:1;color:var(--ice-deep);transition:transform .35s ease}
li.open .rolehead .ind{transform:rotate(45deg)}
.rolepanel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,.8,.24,1)}
.rolepanel>div{overflow:hidden}
li.open .rolepanel{grid-template-rows:1fr}
.rolepanel p{font-size:1rem;padding:0 0 1rem 1.6rem;margin:0;max-width:62ch}

.rolepanel img{width:calc(100% - 1.6rem);max-width:480px;margin:0 0 1rem 1.6rem;aspect-ratio:16/9;object-fit:cover}
@media (prefers-reduced-motion: reduce){.rolepanel{transition:none}.rolehead .ind{transition:none}}


.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem)}
.gcell{overflow:hidden;position:relative}
.gcell img{aspect-ratio:4/3;object-fit:cover;width:100%;transform:scale(1.04)}

.gcell figcaption{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:.75rem}


.mrel{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2vw,1.7rem);align-items:start}
.mrel figure{margin:0}
.mrel img{width:100%;height:auto;display:block}
.mrel figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:.7rem;line-height:1.5}



.mrel__lead{display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,2vw,1.7rem);align-items:start;margin:0 0 clamp(1.6rem,3.4vw,2.8rem)}
.mrel__lead figure{margin:0}
.mrel__lead img{width:100%;height:auto;display:block}
.mrel__lead .lead__photo img{aspect-ratio:1/1;object-fit:cover}
.mrel__lead .lead__doc img{aspect-ratio:1/1;object-fit:contain;background:var(--paper-2)}
.mrel__lead figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:.7rem;line-height:1.5}

@media (max-width:820px){
  .mrel__lead{grid-template-columns:repeat(2,1fr)}
}
.mrel__wide{grid-column:span 2}
.mrel__wide img{aspect-ratio:4/3;object-fit:cover}
.mrel__doc img{aspect-ratio:1/1;object-fit:contain;background:var(--paper-2);
  border:1px solid var(--line-soft)}


.mrel__doc--wide img{aspect-ratio:4/3;object-fit:contain;background:var(--paper-2);
  border:1px solid var(--line-soft)}

.mrel__lead--pair{grid-template-columns:repeat(2,1fr);
  max-width:min(100%,880px);margin-inline:auto}


.mrel__lead--film .mrelvid__box{aspect-ratio:1/1}
.mrel__lead--film .lead__film video{width:100%;height:100%;display:block;
  object-fit:cover;object-position:var(--clipPos)}

.mrel__lead--film .lead__film{--clipPos:50% 50%}

.mrel__lead--film .edfilm,.mrel__lead--film .cityloop{object-position:var(--clipPos)}
.mrel__lead--film .cityloop{object-fit:cover;background:transparent}
.mrel__lead--film .lead__film.is-lowframe{--clipPos:50% 25%}


.mrel__slot{display:flex;align-items:center;justify-content:center;text-align:center;
  aspect-ratio:1/1;background:var(--paper-2);border:1px dashed var(--line-soft);
  padding:1rem}
.mrel__slot--wide{aspect-ratio:4/3}





.mrel__slot--film{aspect-ratio:16/9;grid-column:1/-1;
  max-width:min(100%,540px);margin-inline:auto;width:100%}
.mrelvid--row{aspect-ratio:16/9;grid-column:1/-1;
  max-width:min(100%,860px);margin-inline:auto;width:100%}

.mrel .mrelvid--row{margin-top:0;margin-inline:auto;aspect-ratio:auto}
.mrel__slot span{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);line-height:1.5}

.mcredit{margin:clamp(1.4rem,3vw,2.4rem) 0 0;font-size:.82rem;color:var(--ink-soft);
  line-height:1.7;max-width:72ch}
.mcredit__lab{display:block;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem}


.mrelvid{margin-top:clamp(1.4rem,3vw,2.6rem)}

.mrelvid__box{position:relative;overflow:hidden}
.mrelvid video{width:100%;height:auto;display:block;aspect-ratio:16/9;
  background:var(--paper-2);border:1px solid var(--line-soft)}
.mrelvid figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mkink);opacity:.72;margin-top:.6rem;text-align:center}

.lead__film figcaption{text-align:center}


.mrel__sq img{aspect-ratio:1/1;object-fit:cover}
.mrel__std img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:820px){
  .mrel{grid-template-columns:repeat(2,1fr)}
  .mrel__wide{grid-column:span 2}
}
@media (max-width:520px){
  .mrel{grid-template-columns:1fr}
  .mrel__wide{grid-column:span 1}
}




.gwall{display:grid;grid-template-columns:repeat(5,1fr);
  grid-auto-rows:clamp(92px,9.2vw,182px);gap:6px;
  margin-top:clamp(2rem,4vh,3rem)}
.gwall__cell{position:relative;overflow:hidden;margin:0}

.gwall__cell:nth-child(1),
.gwall__cell:nth-child(8){grid-column:span 2;grid-row:span 2}

.gwall__cell img{width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.06);
  transition:filter 1.4s cubic-bezier(.22,.8,.24,1)}

.gwall__cell.is-lit img{filter:none}

.gwall__cap{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1.5rem .85rem .7rem;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#fff;
  background:linear-gradient(to top,rgba(20,17,15,.86),rgba(20,17,15,0));
  opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}
.anim .gwall__cap{opacity:0;transform:translateY(6px)}
.anim .gwall__cell.is-lit .gwall__cap{opacity:1;transform:none}

.gwall__hit{position:absolute;inset:0;width:100%;height:100%;
  margin:0;padding:0;border:0;background:none;-webkit-appearance:none;appearance:none;
  cursor:pointer;font:inherit;color:inherit}

.gwall__hit:focus-visible{outline:3px solid var(--ice-deep);outline-offset:-6px;
  box-shadow:inset 0 0 0 3px var(--paper)}

@media (max-width:900px){
  .gwall{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(112px,13vw,168px);gap:5px}
}
@media (max-width:600px){
  .gwall{grid-template-columns:repeat(2,1fr);grid-auto-rows:30vw;gap:4px}
  
  .gwall__cell,
  .gwall__cell:nth-child(1),
  .gwall__cell:nth-child(8){grid-column:span 1;grid-row:span 1}
  
  .gwall__cap{font-size:.62rem;padding:1.2rem .6rem .55rem;letter-spacing:.12em}
}
@media (prefers-reduced-motion: reduce){
  .gwall__cell img{transition:none}
  .gwall__cap{transition:none}
  
  .gwall__cell.is-lit img{filter:grayscale(1) contrast(1.06)}
}


.gallery--mono .gcell img{filter:grayscale(1) contrast(1.05);
  transition:filter .55s ease,transform .8s cubic-bezier(.22,.8,.24,1)}
.gallery--mono .gcell:hover img{filter:none}

.gallery--pair{grid-template-columns:repeat(2,1fr)}

.gallery--pair .gcell img{height:clamp(300px,34vw,500px);aspect-ratio:auto;object-fit:cover}
@media (max-width:640px){
  .gallery--pair{grid-template-columns:1fr}
  .gallery--pair .gcell img{height:clamp(240px,60vw,340px)}
}
@media (prefers-reduced-motion: reduce){
  .gallery--mono .gcell img{transition:none}
}


.flyers{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;
  gap:clamp(1.4rem,3vw,2.6rem);max-width:1180px;margin-inline:auto}
.flyers figure{margin:0}
.flyers img{width:100%;height:auto;display:block;border:1px solid var(--line-soft);
  box-shadow:0 18px 44px -28px rgba(20,18,16,.55)}

@media (min-width:641px){
  .flyers figure{aspect-ratio:760/984;display:flex;align-items:center;justify-content:center}
  .flyers figure img{height:100%;width:auto;max-width:100%;object-fit:contain}
}
@media (max-width:640px){.flyers{grid-template-columns:1fr;max-width:420px}}


.flyers figure{transition:transform 1.05s cubic-bezier(.22,.9,.28,1)}


@media (min-width:641px){
  .anim .flyers figure:nth-child(1){transform:translateX(105%) rotate(-6.5deg);
    transform-origin:70% 100%;z-index:1}
  .anim .flyers figure:nth-child(2){transform:rotate(0deg);
    transform-origin:50% 100%;z-index:3}
  .anim .flyers figure:nth-child(3){transform:translateX(-105%) rotate(3.5deg);
    transform-origin:30% 100%;z-index:2}
  .anim .flyers figure.on:nth-child(1){transform:translateX(0) rotate(-3.2deg)}
  .anim .flyers figure.on:nth-child(2){transform:translateX(0) rotate(.6deg)}
  .anim .flyers figure.on:nth-child(3){transform:translateX(0) rotate(3.2deg)}
}

@media (min-width:641px) and (hover:hover) and (pointer:fine){
  .anim .flyers figure.on:nth-child(1):hover,
  .anim .flyers figure.on:nth-child(2):hover,
  .anim .flyers figure.on:nth-child(3):hover{
    
    transform:translateY(-10px) rotate(0deg);z-index:5}
  .anim .flyers figure.on:nth-child(1):hover img,
  .anim .flyers figure.on:nth-child(2):hover img,
  .anim .flyers figure.on:nth-child(3):hover img{
    box-shadow:0 34px 70px -30px rgba(20,18,16,.7)}
  
  .anim .flyers:hover figure.on:not(:hover){opacity:.68}
  .anim .flyers figure{transition:transform 1.05s cubic-bezier(.22,.9,.28,1),
                                  opacity .45s ease}
  .anim .flyers figure img{transition:box-shadow .45s ease}
}
@media (prefers-reduced-motion:reduce){
  .anim .flyers figure:nth-child(1),.anim .flyers figure.on:nth-child(1),
  .anim .flyers figure:nth-child(2),.anim .flyers figure.on:nth-child(2),
  .anim .flyers figure:nth-child(3),.anim .flyers figure.on:nth-child(3){
    transform:none;transition:none}
  .anim .flyers figure.on:nth-child(1):hover,
  .anim .flyers figure.on:nth-child(2):hover,
  .anim .flyers figure.on:nth-child(3):hover{transform:none}
}


.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.6vw,2.4rem)}
.icard{display:flex;flex-direction:column;border:1px solid var(--line-soft);background:var(--paper)}
.icard figure{overflow:hidden}
.icard figure img{aspect-ratio:16/10;object-fit:cover;width:100%;transform:scale(1.035)}

.icard .body{padding:1.5rem 1.5rem 1.7rem;display:flex;flex-direction:column;flex:1}
.icard time{font-size:.76rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ice-deep)}

.icard .icat{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-left:.6rem;padding-left:.6rem;border-left:1px solid var(--line)}


.chips a{text-decoration:none;color:inherit}
.chips li:hover,.chips li:focus-within{border-color:var(--ice-deep);color:var(--ink)}
.chips li:hover::before,.chips li:focus-within::before{opacity:1}
.chips li[aria-current="page"]{border-color:var(--ice-deep);color:var(--ink);background:var(--paper-2)}
.chips li[aria-current="page"]::before{opacity:1}
.postcats{margin:2.4rem 0 0}
.icard h3{font-family:var(--disp);font-weight:700;font-size:1.05rem;line-height:1.4;letter-spacing:.02em;margin-top:.7rem;flex:1}
.icard .tlink{margin-top:1.4rem}



.pfeat{display:grid;grid-template-columns:1.08fr .92fr;
  border:1px solid var(--line-soft);background:var(--paper);align-items:stretch}
.pfeat figure{margin:0;overflow:hidden;height:100%}
.pfeat figure img{display:block;width:100%;height:100%;object-fit:cover;min-height:320px;
  transform:scale(1.035)}

.pfeat .body{padding:clamp(1.8rem,3.4vw,3rem);display:flex;flex-direction:column;
  justify-content:center}
.pfeat time{font-size:.76rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ice-deep)}

.pfeat h3{font-family:var(--disp);font-weight:700;font-size:clamp(1.35rem,2.2vw,1.85rem);
  line-height:1.3;letter-spacing:.02em;margin-top:.8rem}
.pfeat p{margin-top:1rem;font-size:.98rem;max-width:44ch}
.pfeat .tlink{margin-top:1.6rem;align-self:flex-start}
@media (max-width:760px){
  .pfeat{grid-template-columns:1fr}
  .pfeat figure img{min-height:0;aspect-ratio:16/10}
}

.pfeat--film{align-items:center}
.pfeat--film figure{overflow:visible}
.pfeat--film figure video{display:block;width:100%;height:auto;aspect-ratio:16/9;
  background:var(--ink)}

@media (max-width:760px){ .pfeat--film{align-items:stretch} }


.pcite{margin-top:clamp(2.4rem,4.5vw,3.2rem)}
.pcite>h3{font-family:var(--disp);font-weight:700;
  font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.2}
.pcite>p{margin-top:.7rem;font-size:.92rem;max-width:60ch;color:#635d58}

.igrid--two{grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){ .igrid,.igrid--two{grid-template-columns:1fr} }

.pintro{display:grid;grid-template-columns:1fr auto;
  gap:clamp(1.5rem,4vw,3rem);align-items:center}

.pintro .pquote{max-width:none}
.pintro .creed{max-width:52ch}
@media (max-width:760px){
  .pintro{grid-template-columns:1fr;justify-items:start;gap:1.6rem}
}
.pquote{border-left:2px solid var(--ice);padding:1rem 0 1rem 2.2rem;max-width:62ch}
.pquote q{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.5;quotes:"\201C" "\201D"}
.pquote cite{display:block;font-style:normal;font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:1.2rem}


.csplit{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.panel{border:1px solid var(--line);padding:clamp(1.8rem,3vw,2.6rem);background:var(--paper)}
.panel h3{font-family:var(--disp);font-weight:700;font-size:1.3rem;letter-spacing:.03em}
.panel .sub{margin-top:.7rem;font-size:.95rem}
.field{margin-top:1.3rem}
.field label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}
.field input,.field textarea,.field select{width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:.85rem 1rem;transition:border-color .25s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ice-deep)}
.panel form .btn{margin-top:1.7rem;width:100%}
.panel.talent{background:var(--paper-2);border-color:var(--line-soft)}
.panel.talent ul{list-style:none;margin-top:1.3rem}
.panel.talent li{position:relative;padding:.5rem 0 .5rem 1.5rem;font-size:.95rem;color:var(--ink-soft)}
.panel.talent li::before{content:"";position:absolute;left:0;top:1rem;width:9px;height:2px;background:var(--ice-deep)}
.panel.talent .btn{margin-top:1.6rem}

.talent__social{display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;align-items:center;
  margin:1.8rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line-soft)}


.talent__shot{margin:1.8rem 0 0}

.talent__shot img{width:100%;height:auto;display:block;
  aspect-ratio:3/2;object-fit:cover}




footer{border-top:1px solid var(--line-soft);padding:3rem 0 2.6rem;background:var(--paper)}
footer .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6rem}
footer .mark img{height:70px;width:auto}   
footer nav{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center}
footer nav a{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
footer nav a:hover{color:var(--ink)}

@media (pointer:coarse){
  footer nav{gap:1.1rem}
  footer nav a{display:inline-flex;align-items:center;min-height:24px}
}


footer .social{display:inline-flex;align-items:center;gap:.5rem}
@media (pointer:coarse){
  footer .social{min-height:24px;padding:2px 6px;margin-inline:-6px}
}
footer .social svg{width:22px;height:22px}
@media (prefers-reduced-motion: no-preference){
  footer .social svg{animation:sbreathe 4.2s ease-in-out infinite}
  footer .social:nth-of-type(2) svg{animation-delay:2.1s}
  @keyframes sbreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
  
  footer .social[aria-label="Instagram"] svg{animation:igbreathe 6.4s ease-in-out infinite}
  @keyframes igbreathe{
    0%,100%{transform:translateY(0) scale(1)}
    50%{transform:translateY(-3px) scale(1.04)}
  }
}
footer .fine{width:100%;font-size:.78rem;color:#635d58;margin-top:.6rem}


.social-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.2vw,1rem);
  margin-top:clamp(1.8rem,3.5vh,2.6rem)}
.social-strip a{display:block;overflow:hidden;position:relative}
.social-strip img{width:100%;aspect-ratio:1;object-fit:cover;display:block;
  transform:scale(1.045)}

.social-handle{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;
  font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ice-deep)}
.social-handle svg{width:18px;height:18px}

@media (pointer:coarse){ .social-handle{min-height:24px} }
@media (max-width:640px){.social-strip{grid-template-columns:1fr 1fr}}


.toast{position:fixed;left:50%;bottom:2rem;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:.9rem 1.6rem;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;z-index:80}
.toast.on{opacity:1;transform:translate(-50%,0)}


@media (max-width:1020px){
  
  .svc,.work,.igrid{grid-template-columns:1fr 1fr}
  .pillars,.pillars.four{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .nav nav{display:none}
  .menu-btn{display:block}
  
  .split2,.svcfull,.svcfull.flip,.csplit{grid-template-columns:1fr}
  .svcfull.flip figure{order:0}
  .svcfull figure{position:static}
  
  
  .lmq__cell{width:clamp(160px,34vw,206px);min-height:104px;padding:1.25rem .85rem}
  
  .lmq .tw{font-size:clamp(.78rem,2.5vw,.96rem);letter-spacing:.08em}
  .lmq__ctl{text-align:center}
  
  .phero{--ph-ar:3/2;--ph-gap:9px}
  
}
@media (max-width:640px){
  
  .phero--overlay{--ph-ar:5/8}
  
  .phero--overlay.phero--shortplate{--ph-ar:1.15/1}
  
  
  .phero--overlay{--ph-pos:58% 50%!important}
  .phero--overlay .phero__type{max-width:84%;
    padding:clamp(1.3rem,4.5vw,1.7rem) clamp(1.1rem,4vw,1.5rem)}
}
@media (max-width:640px){
  .svc,.work,.igrid,.pillars,.pillars.four,.gallery{grid-template-columns:1fr}
  .roles{grid-template-columns:1fr}
  
  .trot__nav{gap:.9rem}
  .trot__arrow{width:38px;height:38px}
  .tq .qm{font-size:2.8rem}
  .brand img{height:38px}
  
  :root{--navh:65px}
  .phero{--ph-inset:0;--ph-gap:7px}
  .phero .lede{max-width:none;font-size:1.02rem}
  .phero__frame figcaption{font-size:.7rem;letter-spacing:.15em}
  .phero__tick{width:40px}
}
@media (max-width:520px){
  
  .phero .ctas{flex-direction:column;align-items:stretch}
}



.wash{position:relative;isolation:isolate}
.wash::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 200'%3E%3Cpath fill='%236AC1D0' d='M2.0,100.0 L21.6,94.4 40.9,89.8 60.2,86.1 79.5,83.3 98.7,81.4 118.0,80.2 137.4,79.7 156.8,79.9 176.4,80.6 196.1,81.8 216.0,83.5 236.1,85.5 256.5,87.8 277.0,90.3 297.9,93.0 319.0,95.7 340.3,98.6 362.0,101.4 383.9,104.1 406.1,106.6 428.6,108.9 451.4,111.0 474.5,112.7 497.8,114.0 521.4,114.8 545.3,115.0 569.4,114.7 593.7,113.7 618.3,111.9 643.0,109.4 668.0,106.0 693.1,101.7 718.3,96.4 743.7,90.2 769.2,82.8 794.9,74.4 820.6,64.8 846.3,53.9 872.2,41.7 898.0,28.0 L898.0,28.0 870.4,37.2 843.3,45.4 816.6,52.4 790.4,58.3 764.5,63.2 739.1,67.1 714.0,70.0 689.2,72.2 664.8,73.6 640.6,74.3 616.8,74.4 593.2,74.0 569.8,73.1 546.6,71.8 523.7,70.1 500.9,68.2 478.3,66.0 455.9,63.7 433.5,61.3 411.4,58.9 389.3,56.5 367.4,54.2 345.6,52.0 323.9,50.1 302.3,48.5 280.9,47.2 259.5,46.3 238.3,45.9 217.3,46.0 196.5,46.7 175.8,48.1 155.3,50.2 135.0,53.1 115.0,56.8 95.3,61.4 75.9,67.0 56.8,73.6 38.1,81.2 19.8,89.9 2.0,100.0 Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:50% 46%;
  background-size:min(1560px,148%) auto;opacity:.06}

.wash--right::before{background-position:88% 40%;background-size:min(1180px,108%) auto}
.wash--left::before{background-position:10% 58%;background-size:min(1180px,108%) auto}
@media (max-width:700px){
  .wash::before{background-size:200% auto;opacity:.05}
}



.b10grid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2.2vw,1.9rem);margin:2.4rem 0 0}
.b10grid figure{margin:0}
.b10grid img{width:100%;height:auto;display:block;aspect-ratio:3/4;object-fit:cover;
  
  object-position:var(--b10-pos,50% 50%);
  background:var(--paper-2);
  filter:grayscale(1) contrast(1.04);transition:filter .55s ease}
.b10grid figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:.7rem;line-height:1.5}
@media (hover:hover) and (pointer:fine){ .b10grid figure:hover img{filter:none} }

.b10grid figure.is-lit img{filter:none}

@media (max-width:640px){
  .b10grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
  
  .b10grid img{aspect-ratio:1/1}
}



.csclose{margin:0}
.csclose img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover;
  background:var(--paper-2);
  filter:grayscale(1) contrast(1.04);transition:filter .55s ease}
.csclose figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:.9rem;line-height:1.5;text-align:center}
@media (hover:hover) and (pointer:fine){ .csclose:hover img{filter:none} }

.csclose--colour img{filter:none}
@media (prefers-reduced-motion:reduce){ .b10grid img{transition:none} }


.sgrid{display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(.8rem,1.6vw,1.4rem);margin:2.4rem 0 0}
.sgrid figure{margin:0;min-width:0}
.sgrid img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover;
  background:var(--paper-2);
  filter:grayscale(1) contrast(1.04);transition:filter .55s ease}
.sgrid figcaption{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-soft);margin-top:.55rem;line-height:1.5}
@media (hover:hover) and (pointer:fine){ .sgrid figure:hover img{filter:none} }

.sgrid figure.is-lit img{filter:none}
@media (max-width:900px){ .sgrid{grid-template-columns:repeat(2,1fr)} }
@media (prefers-reduced-motion:reduce){ .sgrid img{transition:none} }

.sgrid--three{grid-template-columns:repeat(3,1fr)}
.sgrid--three img{aspect-ratio:3/2}
@media (max-width:900px){ .sgrid--three{grid-template-columns:repeat(3,1fr)} }
@media (max-width:700px){ .sgrid--three{grid-template-columns:1fr} }




.mkplate{--mkink:#3a3128;--mkwater:#2f7f8d;
  max-width:min(1040px,calc(93.2vh - 89px));margin:0 auto}
.mkplate svg{width:100%;height:auto;display:block}
.mk-seawash{fill:var(--mkwater);opacity:.115}   
.mk-stip{fill:var(--mkwater)}                   
.mk-sea{opacity:.5}
.mk-grat{fill:none;stroke:var(--mkink);stroke-width:.4;opacity:.16;vector-effect:non-scaling-stroke}

.mk-vig path{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mk-vig-w{stroke:var(--mkwater)}
.mk-vig-p{stroke:var(--paper)}
.mk-landfill{fill:#fdfaf4}                   

.mk-lakefill{fill:var(--mkwater);opacity:.115}
.mk-lakestip{opacity:.5}

.mk-lakeline{fill:none;stroke:var(--mkink);stroke-width:1;opacity:.62;
  vector-effect:non-scaling-stroke;stroke-linejoin:round}

.mk-rivers{fill:none;stroke:var(--mkwater);stroke-width:.62;opacity:.5;
  stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mk-states{fill:none;stroke:var(--mkink);stroke-width:.5;opacity:.28;vector-effect:non-scaling-stroke}

.mk-borders{fill:none;stroke:var(--mkink);stroke-width:.8;opacity:.45;vector-effect:non-scaling-stroke}

.mk-land{fill:none;stroke:var(--mkink);stroke-width:1.5;opacity:.82;
  stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mk-frame{fill:none;stroke:var(--mkink);opacity:.3;vector-effect:non-scaling-stroke}
.mk-tick{stroke:var(--mkink);opacity:.45;stroke-width:1;vector-effect:non-scaling-stroke}


.mk-gtick{stroke:var(--mkink);opacity:.5;stroke-width:.9;vector-effect:non-scaling-stroke}
.mk-gnum{font-family:var(--disp);font-weight:400;font-size:6.6px;letter-spacing:.1em;
  fill:var(--mkink);opacity:.45}

.mk-sbar{fill:var(--mkink);opacity:.62}
.mk-sbar--off{fill:var(--paper);stroke:var(--mkink);stroke-width:.5;opacity:.62;
  vector-effect:non-scaling-stroke}
.mk-stick{stroke:var(--mkink);opacity:.62;stroke-width:.9;vector-effect:non-scaling-stroke}
.mk-snum{font-family:var(--disp);font-weight:400;font-size:7px;letter-spacing:.14em;
  fill:var(--mkink);opacity:.55}
.mk-compring{fill:none;stroke:var(--mkink);opacity:.34;stroke-width:.7;
  vector-effect:non-scaling-stroke}
.mk-compring--in{opacity:.22}

.mk-comparm{fill:var(--mkink);opacity:.42}
.mk-comparm--o{fill:var(--paper);stroke:var(--mkink);stroke-width:.5;opacity:.52;
  vector-effect:non-scaling-stroke}

.mk-compn{fill:var(--ice);opacity:.85}
.mk-compcore{fill:var(--mkink);opacity:.5}
.mk-cart rect{fill:var(--paper);stroke:var(--mkink);stroke-width:.7;opacity:.92}
.mk-cart .mk-ct{font-family:var(--disp);font-weight:700;font-size:11px;
  letter-spacing:.19em;fill:var(--mkink);text-transform:uppercase}
.mk-cart .mk-cs{font-family:var(--disp);font-weight:400;font-size:8.4px;
  letter-spacing:.14em;fill:var(--mkink);opacity:.62;text-transform:uppercase}
.mk-cart .mk-crule{stroke:var(--ice);stroke-width:1.4}
.mk-ring{fill:none;stroke:var(--ice);stroke-width:1.3;vector-effect:non-scaling-stroke}
.mk-core{fill:var(--ice)}
.mk-lead{stroke:var(--ice);stroke-width:.9;opacity:.55;vector-effect:non-scaling-stroke;transform-box:fill-box}
.mk-stem{stroke:var(--ice);stroke-width:.9;opacity:.55;vector-effect:non-scaling-stroke}

.mk-pin text{font-family:var(--disp);font-weight:700;font-size:var(--mk-rest,10.5px);
  letter-spacing:.13em;fill:var(--mkink);text-transform:uppercase}
.mk-pin text tspan.mk-l2{font-size:var(--mk-rest2,9.5px);opacity:.72}




.mkplate--two{display:grid;grid-template-columns:1fr 1fr;gap:0;
  max-width:min(1040px,143vh)}
.mkplate--two>div:first-child{border-right:1px solid rgba(58,49,40,.14);padding-right:1.5rem}
.mkplate--two>div:last-child{padding-left:1.5rem}
.mk-plab{text-align:center;font-family:var(--disp);font-weight:700;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mkink,#3a3128);opacity:.8;margin:.5rem 0 0}
@media (max-width:720px){
  .mkplate--two{grid-template-columns:1fr;gap:2rem}
  .mkplate--two>div:first-child{border-right:0;padding-right:0;
    border-bottom:1px solid rgba(58,49,40,.14);padding-bottom:1.5rem}
  .mkplate--two>div:last-child{padding-left:0}
}


@media (max-width:900px){
  .actpair{display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,4.5vw,2.6rem)}
  .actpair>.split2,.actpair>.mkplate--two{display:contents}
  .actpair>.split2>*:nth-child(1){order:1}
  .actpair>.mkplate--two>*:nth-child(1){order:2}
  .actpair>.split2>*:nth-child(2){order:3}
  .actpair>.mkplate--two>*:nth-child(2){order:4}
  
  .actpair>.mkplate--two>div:first-child{border-right:0;border-bottom:0;
    padding-right:0;padding-bottom:0}
  .actpair>.mkplate--two>div:last-child{padding-left:0}
  
  .actpair>.mkplate--two>div{max-width:min(1040px,143vh);margin-inline:auto;width:100%}
}


.mkplate--sheet{--mkink:#3a3128;--mkwater:#2f7f8d;
  display:grid;grid-template-columns:820fr 480fr;gap:2.6rem;align-items:start;
  max-width:min(1360px,96vw);margin:0 auto}
.mkplate--sheet>div:last-child{border-left:1px solid rgba(58,49,40,.14);padding-left:2.6rem;
  margin-left:-2.6rem}
.mkplate--sheet svg{width:100%;height:auto;display:block}

.mkplate--sheet .mkwrap svg{--mk-rest:12px;--mk-rest2:10.8px;--mk-lit:19px;--mk-lit2:16.5px}

@media (max-width:860px){
  .mkplate--sheet{grid-template-columns:1fr;gap:2.2rem;max-width:min(680px,94vw)}
  .mkplate--sheet>div:last-child{border-left:0;padding-left:0;margin-left:0;
    border-top:1px solid rgba(58,49,40,.14);padding-top:2.2rem}
  
  .mkplate--sheet .mk-pin text,
  .mkplate--sheet .mk-lead,
  .mkplate--sheet .mk-stem{opacity:0}
  .mkplate--sheet .mk-pin.is-lit text,
  .mkplate--sheet .mk-pin.is-held text,
  .mkplate--sheet .mk-pin:focus-visible text{opacity:1}
  .mkplate--sheet .mk-pin.is-lit .mk-lead,.mkplate--sheet .mk-pin.is-lit .mk-stem,
  .mkplate--sheet .mk-pin.is-held .mk-lead,.mkplate--sheet .mk-pin.is-held .mk-stem,
  .mkplate--sheet .mk-pin:focus-visible .mk-lead,
  .mkplate--sheet .mk-pin:focus-visible .mk-stem{opacity:.55}
  
  .mkplate--sheet>div:first-child .mkwrap svg{--mk-lit:29px;--mk-lit2:25px}
  .mkplate--sheet>div:last-child .mkwrap svg{--mk-lit:17px;--mk-lit2:15px}
  
  .mkplate--sheet .mk-ring{r:9;stroke-width:2.6}
  .mkplate--sheet .mk-core{r:3}
  .mkplate--sheet .mk-halo{r:20}
  
  
  .mkplate--sheet .mk-gnum,.mkplate--sheet .mk-scale,.mkplate--sheet .mk-cs{display:none}
  .mkplate--sheet .mk-ct{font-size:19px}
  
  .mkplate--sheet .mk-cart rect{height:40px}
}


@media (max-width:860px){
  .mkplate--chart .mk-pin text,
  .mkplate--chart .mk-lead,
  .mkplate--chart .mk-stem{opacity:0}
  .mkplate--chart .mk-pin.is-lit text,
  .mkplate--chart .mk-pin.is-held text,
  .mkplate--chart .mk-pin:focus-visible text{opacity:1}
  .mkplate--chart .mk-pin.is-lit .mk-lead,.mkplate--chart .mk-pin.is-lit .mk-stem,
  .mkplate--chart .mk-pin.is-held .mk-lead,.mkplate--chart .mk-pin.is-held .mk-stem,
  .mkplate--chart .mk-pin:focus-visible .mk-lead,
  .mkplate--chart .mk-pin:focus-visible .mk-stem{opacity:.55}
  
  .mkplate--chart .mkwrap svg{--mk-lit:32px;--mk-lit2:27px}
  
  .mkplate--chart .mk-ring{r:10;stroke-width:2.8}
  .mkplate--chart .mk-core{r:3.4}
  .mkplate--chart .mk-halo{r:22}
  
  .mkplate--chart .mk-hit{r:17}
  
  
  
  .mkplate--chart .mk-pin[data-flip]{--mk-litcap:var(--mk-litcapflip,999px)}
  
  .mkplate--chart .mk-pin[data-flip].mk-measuring text,
  .mkplate--chart .mk-pin[data-flip].is-lit text,
  .mkplate--chart .mk-pin[data-flip].is-held text,
  .mkplate--chart .mk-pin[data-flip]:focus-visible text{
    text-anchor:end;
    transform:translateX(calc(var(--mk-leadgap,19) * -2px));
  }
  .mkplate--chart .mk-pin[data-flip] .mk-wash{
    transform:translateX(calc(var(--mk-leadgap,19) * -2px));
  }
  .mkplate--chart .mk-gnum,.mkplate--chart .mk-scale,.mkplate--chart .mk-cs{display:none}
  .mkplate--chart .mk-ct{font-size:19px}
  
  .mkplate--chart .mk-cart rect{height:40px}
}

.mkplate--chart .mk-cart rect{opacity:1}



.mkleg{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(58,49,40,.14)}
.mkleg p{color:var(--ink);font-size:.78rem;line-height:1.55;opacity:.68;margin:0 0 .55rem}
.mkleg p:last-child{margin-bottom:0}

.mkleg__k{display:flex;align-items:center;gap:.5rem;font-family:var(--disp);
  font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.mkleg__k svg{width:22px;height:22px;flex:none}
.mkleg__ring{fill:none;stroke:var(--ice);stroke-width:1.6}
.mkleg__core{fill:var(--ice)}
.mktsub{font-family:var(--disp);font-weight:700;font-size:.82rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink);opacity:.72;margin:3rem 0 1.1rem;
  padding-bottom:.7rem;border-bottom:1px solid rgba(58,49,40,.16)}


.mktgrid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:.1rem 3rem}

.mktgrid li{min-width:0;padding:.86rem 0;border-bottom:1px solid rgba(58,49,40,.1);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;justify-content:space-between}
.mktgrid__city{font-family:var(--disp);font-weight:700;font-size:1.02rem;color:var(--ink)}
.mktgrid__city a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ice);
  padding-bottom:1px;transition:color .25s ease}
.mktgrid__city a:hover,.mktgrid__city a:focus-visible{color:var(--teal-ink,#2A8496)}
.mktgrid__work{font-size:.8rem;letter-spacing:.01em;opacity:.62;text-align:right}
@media (max-width:620px){
  .mktgrid__work{text-align:left;flex-basis:100%}
}


.rolecols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
  gap:0 2.8rem;margin-top:2.6rem}
.rolecols .mktsub{margin-top:0}
.rolecols .mktsub a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;
  transition:border-color .25s ease}
.rolecols .mktsub a:hover,.rolecols .mktsub a:focus-visible{border-bottom-color:var(--ice)}
.rolelist{list-style:none;margin:0;padding:0}
.rolelist li{font-size:.92rem;padding:.5rem 0;border-bottom:1px solid rgba(58,49,40,.09)}

.nyrow{display:grid;grid-template-columns:1fr 1.15fr;gap:2.8rem;align-items:center;
  margin-top:3rem}
.nyrow:first-of-type{margin-top:2.4rem}
.nyrow figure{margin:0}

.nyrow img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  border-radius:2px}

.nyrow--flip{grid-template-columns:1.15fr 1fr}
.nyrow--flip>figure{order:2}

.nyrow__meta{color:var(--ink);font-family:var(--disp);font-weight:400;font-size:.74rem;
  letter-spacing:.16em;text-transform:uppercase;opacity:.68;margin:.5rem 0 1rem}
.nyrow p{margin:0 0 .9rem}
.nyalso{margin-top:3.4rem;padding-top:2.4rem;border-top:1px solid rgba(58,49,40,.14)}
@media (max-width:820px){
  .nyrow{grid-template-columns:1fr;gap:1.5rem;margin-top:2.6rem}
  .nyrow--flip>figure{order:0}
}

.mktwhat{margin-top:3.4rem;padding-top:2.4rem;border-top:1px solid rgba(58,49,40,.14)}
.mktwhat .mktsub{margin-top:0}


.deepgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:2.2rem;margin-top:2.6rem}
.deepcard{display:block;text-decoration:none;color:inherit}
.deepcard figure{margin:0;overflow:hidden;border-radius:2px}

.deepcard img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1)}

@media (hover:hover) and (pointer:fine){
  
}
.deepcard__body h3{font-family:var(--disp);font-weight:700;font-size:1.32rem;
  margin:1.1rem 0 .5rem;color:var(--ink)}
.deepcard__body p{font-size:.92rem;margin:0 0 .8rem}

a.deepcard:hover .tlink,a.deepcard:focus-visible .tlink{color:var(--ice-deep)}


.nyfilm{display:grid;grid-template-columns:1fr 1fr;gap:2.8rem;align-items:center;
  margin-top:3.4rem;padding-top:3rem;border-top:1px solid rgba(58,49,40,.14)}

.citygrid--one{grid-template-columns:1fr;margin:0}
@media (max-width:820px){
  .nyfilm{grid-template-columns:1fr;gap:1.6rem}
}


.mk-hit{fill:transparent;cursor:pointer}

@media (pointer:coarse){ .mk-hit{r:20} }

.mk-pin{-webkit-user-select:none;user-select:none;outline:none}

.mk-pin text{transition:font-size .34s cubic-bezier(.16,1,.3,1),fill .3s ease}

.mkwrap svg{--mk-dim:1;--mk-lit:17px;--mk-lit2:15px}

.mkwrap.has-focus .mk-pin{opacity:.26;transition:opacity .35s ease}
.mkwrap.has-focus .mk-pin.is-lit{opacity:1}



.mk-wash{opacity:0;transition:opacity .3s ease;pointer-events:none}
.mk-pin.is-lit .mk-wash,.mk-pin.is-held .mk-wash,.mk-pin:focus-visible .mk-wash{opacity:1}


.mk-pin{--mk-litfit:min(var(--mk-lit),var(--mk-litcap,999px));
  --mk-lit2fit:min(var(--mk-lit2),var(--mk-litcap,999px))}
.mk-pin.mk-measuring text{font-size:var(--mk-litfit);transition:none}
.mk-pin.mk-measuring text tspan.mk-l2{font-size:var(--mk-lit2fit);transition:none}
.mk-pin.is-lit text{fill:var(--ink);font-size:var(--mk-litfit)}
.mk-pin.is-lit text tspan.mk-l2{font-size:var(--mk-lit2fit)}
.mk-pin.is-lit .mk-ring{stroke-width:2.2}
.mk-pin.is-lit .mk-halo{opacity:.28;transform:scale(1)}
.mk-halo{fill:var(--ice);opacity:0;transform-box:fill-box;transform-origin:center;
  transform:scale(.3);transition:opacity .4s ease,transform .5s cubic-bezier(.16,1,.3,1);
  pointer-events:none}

@media (hover:hover) and (pointer:fine){
  .mk-pin:hover .mk-wash{opacity:1}
  .mk-pin:hover text{font-size:var(--mk-litfit)}
  .mk-pin:hover text tspan.mk-l2{font-size:var(--mk-lit2fit)}
  .mk-pin:hover .mk-ring{stroke-width:2}
  .mk-pin:hover .mk-halo{opacity:.22;transform:scale(1)}
}
.mk-pin.is-held text,.mk-pin:focus-visible text{font-size:var(--mk-litfit)}
.mk-pin.is-held text tspan.mk-l2,.mk-pin:focus-visible text tspan.mk-l2{font-size:var(--mk-lit2fit)}
.mk-pin.is-held .mk-ring,.mk-pin:focus-visible .mk-ring{stroke-width:2.2}
.mk-pin.is-held .mk-halo,.mk-pin:focus-visible .mk-halo{opacity:.28;transform:scale(1)}


.anim .mk-sea,.anim .mk-seawash,.anim .mk-grat,.anim .mk-land,.anim .mk-states,.anim .mk-borders,
.anim .mk-lakefill,.anim .mk-lakestip,.anim .mk-lakeline,
.anim .mk-vig,.anim .mk-frame,.anim .mk-tick,.anim .mk-cart,.anim .mk-scale{opacity:0;transition:opacity 1.1s ease}

.anim .mkwrap.is-in .mk-seawash{opacity:.115}
.anim .mkwrap.is-in .mk-sea{opacity:.5}

.anim .mkwrap.is-in .mk-lakefill{opacity:.115}
.anim .mkwrap.is-in .mk-lakestip{opacity:.5}
.anim .mkwrap.is-in .mk-grat{opacity:.16;transition-delay:.05s}
.anim .mkwrap.is-in .mk-vig{opacity:1;transition-delay:.16s}
.anim .mkwrap.is-in .mk-land{opacity:.82;transition-delay:.22s}
.anim .mkwrap.is-in .mk-lakeline{opacity:.62;transition-delay:.22s}

.anim .mk-plate{clip-path:inset(0 100% 0 0);
  transition:clip-path 1.15s cubic-bezier(.33,.9,.35,1)}
.anim .mkwrap.is-in .mk-plate{clip-path:inset(0 0 0 0)}
.anim .mkwrap.is-in .mk-states{opacity:.28;transition-delay:.34s}
.anim .mkwrap.is-in .mk-borders{opacity:.45;transition-delay:.28s}
.anim .mkwrap.is-in .mk-frame{opacity:.3;transition-delay:.1s}
.anim .mkwrap.is-in .mk-tick{opacity:.45;transition-delay:.1s}
.anim .mkwrap.is-in .mk-cart{opacity:1;transition-delay:.5s}

.anim .mkwrap.is-in .mk-scale{opacity:1;transition-delay:.5s}

.anim .mk-pin{opacity:0;transform:translateY(-13px);
  transition:opacity .5s ease,transform .62s cubic-bezier(.16,1,.3,1)}
.anim .mkwrap.is-in .mk-pin{opacity:1;transform:none}
.anim .mk-lead{transform:scaleX(0);transition:transform .5s var(--ease)}
.anim .mkwrap.is-in .mk-lead{transform:scaleX(1)}

.anim .mk-ring{transform-box:fill-box;transform-origin:center;transform:scale(.35);
  transition:transform .55s cubic-bezier(.16,1,.3,1)}
.anim .mkwrap.is-in .mk-ring{transform:scale(1)}
@media (prefers-reduced-motion:reduce){
  .mk-cross,.mk-lead,.mk-ring{transition:none!important;transform:none!important}
  .anim .mk-sea,.anim .mk-seawash,.anim .mk-grat,.anim .mk-land,.anim .mk-states,.anim .mk-borders,.anim .mk-vig,
  .anim .mk-lakefill,.anim .mk-lakestip,.anim .mk-lakeline,
  .anim .mk-frame,.anim .mk-tick,.anim .mk-cart,.anim .mk-scale,.anim .mk-pin{transition:none!important}
  
  .anim .mk-seawash{opacity:.115!important}
  .anim .mk-sea{opacity:.5!important}
  
  .anim .mk-lakefill{opacity:.115!important}
  .anim .mk-lakestip{opacity:.5!important}
  .anim .mk-lakeline{opacity:.62!important}
  .anim .mk-grat{opacity:.16!important}
  .anim .mk-land{opacity:.82!important}
  .anim .mk-states{opacity:.28!important}
  .anim .mk-borders{opacity:.45!important}
  .anim .mk-frame{opacity:.3!important}
  .anim .mk-tick{opacity:.45!important}
  
  .anim .mk-vig,.anim .mk-cart,.anim .mk-scale,.anim .mk-pin{opacity:1!important}
}


.svcbars{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.15rem 1.6rem}
@media (max-width:900px){.svcbars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svcbars{grid-template-columns:1fr}}
.svcbar{display:flex;align-items:center;gap:.85rem;border-top:1px solid var(--line);padding-top:.85rem}
.svcbar .pbadge{margin-bottom:0;width:46px;height:46px;background:#fff;
  box-shadow:inset 0 0 0 1px rgba(106,193,208,.34);
  transition:background-color .34s ease,box-shadow .34s ease}
.svcbar .pbadge svg{width:26px;height:26px;fill:var(--ice);
  transition:transform .42s cubic-bezier(.16,1,.3,1),fill .3s ease}
.svcbar .pbadge svg [fill="#6AC1D0"]{fill:#fff}
.svcbar b{font-family:var(--disp);font-weight:700;font-size:.9rem;letter-spacing:.02em;
  line-height:1.25;transition:color .32s ease}
.svcbar__rule{display:block;height:1px;background:var(--ice);transform:scaleX(0);
  transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}

.svcbar--desc{align-items:flex-start}
.svcbar--desc .pbadge{margin-top:-2px}

.svcbar__desc{display:block;margin-top:.2rem;font-size:.86rem;line-height:1.6;
  color:var(--ink-soft)}

.anim .svcbar .pbadge{animation:none}
.svcbar .pbadge::after{content:"";position:absolute;inset:-5px;border-radius:50%;
  border:1px solid var(--ice);opacity:0;transform:scale(.86);pointer-events:none}
.svcbar .pbadge{position:relative}

.anim .svcbar.is-lit .pbadge::after{animation:svcRing 1.5s cubic-bezier(.22,.8,.24,1)}

@keyframes svcRing{
  0%{opacity:0;transform:scale(.86)}
  28%{opacity:.45;transform:scale(1)}
  100%{opacity:0;transform:scale(1.16)}
}

@media (hover:hover) and (pointer:fine){
  .svcbar:hover .pbadge{background:var(--ice);box-shadow:inset 0 0 0 1px var(--ice)}
  .svcbar:hover .pbadge svg{transform:scale(1.1);fill:#fff}
  .svcbar:hover .pbadge svg [fill="#6AC1D0"]{fill:var(--ice-deep)}
  .svcbar:hover .pbadge::after{animation:none;opacity:0}
  .svcbar:hover b{color:var(--ice-deep)}
  .svcbar:hover .svcbar__rule{transform:scaleX(1)}
}


.svcbar.is-lit .pbadge{background:var(--ice);box-shadow:inset 0 0 0 1px var(--ice)}
.svcbar.is-lit .pbadge svg{transform:scale(1.1);fill:#fff}
.svcbar.is-lit .pbadge svg [fill="#6AC1D0"]{fill:var(--ice-deep)}
.svcbar.is-lit b{color:var(--ice-deep)}
.svcbar.is-lit .svcbar__rule{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
  
  .anim .svcbar .pbadge::after,
  .anim .svcbar.is-lit .pbadge::after{animation:none}
}
@media (prefers-reduced-motion:reduce){
  .svcbar .pbadge svg,.svcbar__rule{transition:none!important}
}



.svcbars--three{grid-template-columns:repeat(3,1fr);max-width:860px;gap:2rem}
.svcbars--three .svcbar{flex-direction:column;align-items:center;text-align:center;
  justify-content:flex-start;gap:.85rem;border-top:0;padding-top:0}
.svcbars--three .svcbar .pbadge{width:56px;height:56px}
.svcbars--three .svcbar .pbadge svg{width:31px;height:31px}
.svcbars--three .svcbar b{font-size:1rem;letter-spacing:.04em}
.svcbars--three .svcbar>span{display:flex;flex-direction:column;align-items:center}
.svcbars--three .svcbar__rule{width:34px;margin-top:.55rem;transform-origin:center}
@media (max-width:760px){.svcbars--three{grid-template-columns:1fr}}

.svcbars--wide{grid-template-columns:1fr 1fr;max-width:1000px;gap:1.05rem 2.2rem}
@media (max-width:840px){.svcbars--wide{grid-template-columns:1fr}}
.svcbars--wide .svcbar b{font-family:var(--sans);font-weight:400;font-size:.95rem;
  letter-spacing:0;line-height:1.45}

.svcbars--wide .svcbar{align-items:flex-start;border-top:0;padding-top:0}
.svcbars--wide .svcbar .pbadge{margin-top:.1rem}

.svcbars--wide .svcbar--desc b{font-family:var(--disp);font-weight:700;font-size:.92rem;
  letter-spacing:.02em;line-height:1.25}

.svcbars--wide .svcbar--desc .svcbar__rule{width:30px;margin-top:.26rem}


.phero h1 .lit-d{font-family:var(--sans);font-weight:700;font-size:.88em;
  letter-spacing:.02em;vertical-align:.012em}


@media (hover:none),(pointer:coarse){
  .lmq__cell.is-warm .lg{background:var(--bc,var(--ink))}
  .lmq__cell.is-warm .tw{color:var(--bc,var(--ink))}
  
  .lmq__cell.is-warm img{filter:none}
  .svcband__cell.is-warm img{filter:none}
  .mreel__cell.is-warm img{filter:none}
  
}





.evarc{position:relative;--stagew:60%}


.evarc__index[hidden]{display:none}

.evarc__index{
  list-style:none;margin:0;padding:0;
  display:block;position:relative;
  padding-right:calc(var(--stagew) + clamp(1.8rem,4.2vw,4.2rem));
}





.evarc__stage{position:absolute;top:0;right:0;width:var(--stagew);height:100%;margin:0;padding-right:9%}



.evarc__stack{
  display:block;position:sticky;top:var(--evtop);aspect-ratio:1/1;
  
  touch-action:pan-y;
  
  --evtop:118px;        
  --evctl:44px;         
  
  --drop:8%;
}

@media (min-width:1200px){
  .evarc__stack{
    max-width:calc((100vh - var(--evtop) - var(--evctl) - 1.1rem - 14px) / 1.08);
  }
}

.evarc__fan{position:absolute;inset:0;
  transition:transform .6s cubic-bezier(.22,.8,.24,1)}
.evarc__sheet{
  position:absolute;inset:0;
  
  
  padding:6% 6% 11%;
  background-origin:content-box;
  background-size:contain;background-repeat:no-repeat;background-position:50% 50%;
  background-color:var(--print);
  
  
  box-shadow:
    0 0 0 1px rgba(31,27,22,.07),
    0 1px 2px rgba(31,27,22,.10),
    0 14px 30px -20px rgba(31,27,22,.40);
  transform-origin:50% 100%;
  
  
  transition:transform .55s cubic-bezier(.22,.8,.24,1), opacity .45s ease;
}

.evarc__sheet{
  --slot:0;
  transform:translate(calc(var(--slot) * 1.8%), calc(var(--slot) * (var(--drop) / 4)))
            rotate(calc(var(--slot) * 1.4deg));
  z-index:calc(9 - var(--slot));
  opacity:calc(1 - var(--slot) * .07);
}

.evarc__sheet.is-deck{opacity:0}
.evarc__sheet.is-parked{transition:none}

.evarc__sheet.is-empty{display:none}



.evarc.is-fanned .evarc__fan{transform:translateX(-8%) scale(.82)}


.evarc.is-fanned .evarc__sheet{
  opacity:1;
  transform:translateX(calc((var(--slot) - 2) * 6%))
            rotate(calc(var(--slot) * 2deg));
}
.evarc.is-fanned .evarc__sheet.is-deck{opacity:0}




.evarc__ctl{
  position:absolute;left:0;top:calc(100% + var(--drop) + 1.1rem);
  display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;
}

.evarc__cue{
  flex:0 0 100%;width:100%;margin-top:.15rem;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);
}

.evarc__cue--coarse{display:inline}
.evarc__cue--fine{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:901px){
  .evarc__cue--fine{display:inline}
  .evarc__cue--coarse{display:none}
}
.evarc__more{transition:opacity .35s ease;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);
  
  min-width:7.5ch;text-align:center;
}
.evarc__more b{color:var(--ice-deep);font-size:.92rem}



.evarc__step{
  display:grid;place-items:center;width:44px;height:44px;padding:0;
  border:1px solid var(--line);background:none;border-radius:2px;
  font-family:var(--disp);font-size:1rem;line-height:1;color:var(--ink);
  cursor:pointer;transition:border-color .25s ease,color .25s ease,opacity .25s ease;
}

.evarc__step[disabled]{opacity:.3;cursor:default}
.evarc__all{
  margin-left:.35rem;padding:.52rem .95rem;
  border:1px solid var(--line);background:none;border-radius:2px;
  font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);cursor:pointer;white-space:nowrap;
  transition:border-color .25s ease,color .25s ease,background-color .25s ease;
}
@media (hover:hover) and (pointer:fine){
  .evarc__step:not([disabled]):hover{border-color:var(--ice-deep);color:var(--ice-deep)}
  .evarc__all:hover{border-color:var(--ice-deep);color:var(--ice-deep)}
  
  .evarc__fan{cursor:pointer}
}
.evarc__step:focus-visible,.evarc__all:focus-visible{
  outline:3px solid var(--ice-deep);outline-offset:3px
}


.evarc__row{margin:0;position:relative}
.evarc__row:last-child{border-bottom:1px solid var(--line)}

.evarc__row::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:var(--line);transform-origin:left;
}
.anim .evarc__row.rv::before{transform:scaleX(0);
  transition:transform .75s cubic-bezier(.22,.8,.24,1) var(--d,0s)}
.anim .evarc__row.rv.on::before{transform:scaleX(1)}
.anim .evarc__row.rv{transition-delay:var(--d,0s)}

.evarc__open{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:baseline;gap:clamp(.9rem,2vw,1.6rem);
  width:100%;padding:clamp(1rem,1.8vw,1.35rem) 0;border:0;background:none;
  font-family:inherit;color:inherit;text-align:left;cursor:pointer;
}
.evarc__yr{
  font-family:var(--disp);font-weight:700;font-size:.82rem;letter-spacing:.16em;
  color:var(--ice-deep);font-variant-numeric:lining-nums;
}
.evarc__name{
  display:block;font-family:var(--disp);font-weight:700;color:var(--ink);
  font-size:clamp(1.02rem,1.55vw,1.32rem);letter-spacing:.02em;line-height:1.24;
  text-wrap:balance;
}
.evarc__where{
  display:block;margin-top:.34rem;font-size:.72rem;font-weight:700;
  letter-spacing:.19em;text-transform:uppercase;color:var(--ink-soft);
}
.evarc__count{
  font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-soft);white-space:nowrap;
}

.evarc__mark{
  position:absolute;left:calc(var(--wrap-pad,0px) * -1 - 14px);top:0;bottom:0;
  width:2px;background:var(--ice-deep);
  transform:scaleY(0);transform-origin:center;transition:transform .34s cubic-bezier(.22,.8,.24,1);
}
.evarc__row.is-on .evarc__mark{transform:scaleY(1)}
.evarc__row.is-on .evarc__name{color:var(--ink)}
.evarc__row.is-on .evarc__count{color:var(--ice-deep)}


@media (hover:hover) and (pointer:fine){
  .evarc__open:hover .evarc__name{color:var(--ice-deep)}
}
.evarc__open:focus-visible{outline:3px solid var(--ice-deep);outline-offset:4px}




@media (max-width:1199px){
  .evarc__index{padding-right:0}
  
  .evarc__stage{position:static;width:auto;height:auto;
    padding:6px 9% 0 6px;
    margin-bottom:clamp(1.2rem,3vw,2rem)}
  
  
  
  
  .evarc__stack{top:96px;aspect-ratio:1/1;z-index:1;margin-bottom:calc(var(--drop) + 7rem);
    max-width:520px;margin-inline:auto}
  
  .evarc__ctl{width:100%;row-gap:.65rem}
  .evarc__all{margin-left:0;flex-basis:100%}
  
  .evarc.is-fanned .evarc__fan{transform:none}
  
  
  .evarc.is-fanned .evarc__sheet{
    transform:translate(calc(var(--slot) * 1.4%), calc(var(--slot) * (var(--drop) / 4)))
              rotate(calc(var(--slot) * .95deg));
    opacity:calc(1 - var(--slot) * .07);
  }
  .evarc.is-fanned .evarc__sheet.is-deck{opacity:0}
  .evarc__mark{left:-10px}
}

@media (prefers-reduced-motion:reduce){
  .evarc__sheet,.evarc__stack{transition:none}
  .evarc__mark{transition:none}
  
  .anim .evarc__row.rv::before{transform:scaleX(1);transition:none}
}


.evarc__panel[hidden]{display:none}

.evarc__panel{animation:evarcIn .5s cubic-bezier(.22,.8,.24,1) both;
  scroll-margin-top:calc(var(--navh) + 1.2rem)}

.evarc__panel:focus{outline:none}
@keyframes evarcIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.evarc__bar{
  display:flex;align-items:baseline;gap:clamp(1rem,3vw,2.2rem);flex-wrap:wrap;
  padding-bottom:1.2rem;margin-bottom:clamp(1.4rem,2.6vw,2rem);
  border-bottom:1px solid var(--line);
}
.evarc__back{
  flex:0 0 auto;border:0;background:none;padding:0;cursor:pointer;
  font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ice-deep);
}
.evarc__back:focus-visible,.evarc__seqbtn:focus-visible{outline:3px solid var(--ice-deep);outline-offset:4px}
@media (hover:hover) and (pointer:fine){
  .evarc__back:hover,.evarc__seqbtn:hover{color:var(--ink)}
}
.evarc__title{margin:0}
.evarc__ptitle{
  display:block;font-family:var(--disp);font-weight:700;
  font-size:clamp(1.2rem,2.1vw,1.75rem);letter-spacing:.02em;color:var(--ink);
}

@font-face{
  font-family:'ArchivoFigures';
  src:url('assets/fonts/archivo-700-latin.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
  unicode-range:U+0030-0039;
}
.evarc__name,.evarc__ptitle{font-family:'ArchivoFigures',var(--disp)}

.evarc__name.is-sans,.evarc__ptitle.is-sans{
  font-family:var(--sans);font-weight:700;letter-spacing:.005em;
}
.evarc__pwhere{
  display:block;margin-top:.3rem;font-size:.8rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-soft);
}



.evarc__intro{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.4fr);
  gap:clamp(1.6rem,5vw,4.5rem);align-items:start;
  margin-bottom:clamp(1.8rem,3.2vw,2.6rem);
}
.evarc__text{max-width:66ch}

.evarc__side{margin:0;border-top:1px solid var(--line);padding-top:.85rem}
.evarc__pcount{
  margin:0;font-size:.74rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ice-deep);
}
@media (max-width:820px){
  .evarc__intro{grid-template-columns:1fr;gap:1.2rem}
}
.evarc__blurb{font-size:1rem;line-height:1.7;color:var(--ink-soft)}
.evarc__blurb + .evarc__blurb{margin-top:.9rem}

.evarc__credit{
  margin-top:1.1rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);opacity:.8;
}



.evarc__film{margin:0 0 clamp(1.3rem,3vh,2.2rem);
  display:flex;flex-direction:column;align-items:center;gap:.55rem}
.evarc__filmvid{display:block;width:auto;height:auto;
  max-width:100%;max-height:min(62vh,560px);
  background:var(--ink);box-shadow:0 18px 40px -28px rgba(18,17,16,.55)}
.evarc__filmcap{margin:0;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-soft)}
.evarc__grid{columns:3;column-gap:clamp(.7rem,1.4vw,1.1rem)}
.evarc__grid figure{
  break-inside:avoid;margin:0 0 clamp(.7rem,1.4vw,1.1rem);
  background:var(--paper-2);
}
.evarc__grid img{width:100%;height:auto;display:block}

.evarc__seq{
  display:flex;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;
  margin-top:clamp(2rem,4vw,3rem);padding-top:1.3rem;border-top:1px solid var(--line);
}
.evarc__seqbtn{
  border:0;background:none;padding:0;cursor:pointer;text-align:left;
  font-family:var(--disp);font-weight:700;font-size:clamp(.95rem,1.4vw,1.15rem);
  color:var(--ink);max-width:46%;
}
.evarc__seqbtn--next{text-align:right}
.evarc__seqbtn span{
  display:block;font-family:var(--sans);font-size:.7rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ice-deep);
  margin-bottom:.35rem;
}

@media (max-width:1000px){
  .evarc__grid{columns:2}
}
@media (max-width:680px){
  .evarc__index{grid-template-columns:repeat(2,1fr)}
  .evarc__grid{columns:1}
  .evarc__seqbtn{max-width:100%}
}
@media (max-width:420px){
  .evarc__index{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .evarc__panel{animation:none}
  .evarc__shot img,.evarc__veil,.evarc__label{transition:none}
}


.folgrid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(.7rem,1.4vw,1.1rem);
}
.folgrid__cell{
  position:relative;overflow:hidden;aspect-ratio:1/1;
  background:var(--paper-2);margin:0;
}

.folgrid__cell img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  filter:none;
}

.folgrid__b,.folgrid__c{opacity:0}
.anim .folgrid__b{animation:folgridB 30s linear infinite;animation-delay:calc(var(--o,0) * -3.6s)}
.anim .folgrid__c{animation:folgridC 30s linear infinite;animation-delay:calc(var(--o,0) * -3.6s)}

@keyframes folgridB{
  0%,30%{opacity:0}
  35%,63%{opacity:1}
  68%,100%{opacity:0}
}
@keyframes folgridC{
  0%,63%{opacity:0}
  68%,96%{opacity:1}
  100%{opacity:0}
}


.social-handle:focus-visible{outline:3px solid var(--ice-deep);outline-offset:4px}
@media (hover:hover) and (pointer:fine){
  .social-handle:hover{color:var(--ink)}
}

@media (max-width:680px){
  .folgrid{grid-template-columns:repeat(2,1fr)}
}

@media (prefers-reduced-motion:reduce){
  .anim .folgrid__b,.anim .folgrid__c{animation:none}
}



.social-handle .ighandle,
.social-handle .lihandle{
  width:20px;height:20px;flex:0 0 auto;
  transform-origin:50% 50%;
  
  animation:ighBreathe 4.6s ease-in-out infinite;
}
@keyframes ighBreathe{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.09)}
}

.social-handle .lihandle{animation-delay:-2.3s}

.social-handle{transition:color .25s ease,transform .32s cubic-bezier(.22,.8,.24,1)}
@media (hover:hover) and (pointer:fine){
  .social-handle:hover{color:var(--ink);transform:translateY(-2px)}
  .social-handle:hover .ighandle,
  .social-handle:hover .lihandle{animation-play-state:paused}
}
.social-handle:focus-visible .ighandle,
.social-handle:focus-visible .lihandle{animation-play-state:paused}


@media (prefers-reduced-motion:reduce){
  .social-handle .ighandle,
  .social-handle .lihandle{animation:none}
  .social-handle{transition:none}
}




.svcseam{
  position:fixed;
  
  left:0; top:0; width:0; height:0;
  margin:0; padding:0;
  overflow:hidden;
  z-index:3;                 
  pointer-events:none;       
  opacity:0;                 
  background:var(--paper-2); 
  
}

.svcseam img{
  display:block; position:absolute; left:0; top:0;
  max-width:none; max-height:none;
  
  
}



.svcseam__mat{
  position:absolute; inset:0; pointer-events:none;
  box-shadow:
    0 0 0 var(--svcseam-mat,0px) var(--paper),
    0 0 0 calc(var(--svcseam-mat,0px) + 1px) var(--line);
}
.svcseam__tick{                 
  position:absolute; left:50%; top:0; transform:translate(-50%,-50%);
  width:clamp(46px,6vw,78px); height:2px; pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--ice-deep),var(--ice) 50%,var(--ice-deep),transparent);
}


body.svcseam-on .phero__frame > img,
body.svcseam-on .phero__frame::after,
body.svcseam-on .phero__tick{visibility:hidden}


body.svcseam-armed .svcwall__camera{opacity:0}
body.svcseam-armed .svcwall__moment{opacity:0 !important}


@keyframes svcseamCapIn{from{opacity:0}to{opacity:1}}
body:not(.svcseam-armed) .svcwall--on .svcwall__moment{
  animation:svcseamCapIn .38s ease-out 1;
}


body.svcseam-on .phero{border-bottom-color:transparent}


@media (hover:hover) and (pointer:fine){
  .anim body.svcseam-hold.svcseam-held .svchold > .phero{
    position:sticky;top:var(--navh,95px);
  }
}



@media (hover:none),(pointer:coarse){
.anim .svcband--rows .svcband__cell{position:relative}
.anim .svcband--rows .svcband__cell::after{
  content:attr(data-role) "\A" attr(data-mkt);
  white-space:pre-line;
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:2.6em .7em .62em;
  background:linear-gradient(to top,rgba(18,17,16,.82) 0%,rgba(18,17,16,.62) 42%,rgba(18,17,16,0) 100%);
  color:#fff;text-align:center;pointer-events:none;
  font-family:var(--sans);font-weight:600;
  font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;
  line-height:1.5;
  opacity:0;transform:translateY(6px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.9,.28,1);
}
.anim .svcband--rows .svcband__cell.is-warm::after{opacity:1;transform:none}
}



.mcsub{background:var(--paper-2)}
.mcsub__in{display:grid;grid-template-columns:1fr minmax(19rem,25rem);
  gap:clamp(1.8rem,4vw,3.6rem);align-items:center}
.mcsub__say h2{font-family:var(--disp);font-weight:700;letter-spacing:.012em;
  font-size:clamp(1.3rem,2.3vw,1.75rem);margin:0 0 .65rem}
.mcsub__say p{color:var(--ink-soft);max-width:46ch;font-size:.96rem;margin:0}
.mcsub__form{position:relative}
.mcsub__form .field{margin-top:0}
.mcsub__form .btn{margin-top:1.05rem}

.mcsub__bot{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.mcsub__note{margin-top:.9rem;font-size:.92rem;color:var(--ice-deep);min-height:1.35em}
.mcsub__note:empty{margin-top:0}
@media (max-width:880px){.mcsub__in{grid-template-columns:1fr}}
