@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@700;800&family=Instrument+Serif:ital@0;1&family=Jost:wght@500&family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--font-display:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif!important;--font-brand:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif!important;--font-caps:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif!important;--font-serif:"Instrument Serif",Georgia,serif!important;--font-sans:Manrope,"Helvetica Neue",Arial,sans-serif!important;--font-mono:"IBM Plex Mono",Menlo,monospace!important}
body{font-family:var(--font-sans)}
h1,h2,.h1,.h2{font-family:var(--font-display)!important;font-weight:800!important;text-transform:uppercase;line-height:.92!important;letter-spacing:.005em!important}
h3,.h3{font-family:var(--font-display)!important;font-weight:700!important;text-transform:uppercase;line-height:.95;letter-spacing:.01em}
h1 i,h2 i,h3 i,h1 em,h2 em,h3 em,.h1 i,.h2 i{font-family:var(--font-serif)!important;font-style:italic;font-weight:400!important;text-transform:none;letter-spacing:-.01em;font-size:.9em}

.js .mc-rv{opacity:.3;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.js .mc-rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .mc-rv{opacity:1;transform:none;transition:none}}
.mc-cur{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;background:#0F1A17;color:#F5F3EE;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:12px 16px;border-radius:999px;transform:translate(-50%,-50%) scale(0);transition:transform .25s ease}.mc-cur.on{transform:translate(-50%,-50%) scale(1)}
body>header:first-of-type,header.nav,header.site,.nav{transition:transform .4s ease}.mc-hide{transform:translateY(-100%)!important}
.mc-by{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 16px;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;text-decoration:none;color:inherit;border-top:1px solid rgba(128,128,128,.25)}
.mc-by b{display:inline-flex;flex-direction:column;gap:3px;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:800;font-size:22px;letter-spacing:.01em;line-height:.9;text-transform:uppercase;white-space:nowrap}.mc-by b em{font-family:Jost,Manrope,sans-serif;font-style:normal;font-weight:500;font-size:7px;letter-spacing:.42em;line-height:1;opacity:.85}
img{transition:transform .8s ease}a:hover>img{transform:scale(1.02)}

/* Mica Creek accents */
.btn.brass,.btn.primary,.stick a.brass{background:var(--mc-accent,#D9552B)!important;color:var(--mc-on-accent,#F5F3EE)!important;border-color:var(--mc-accent,#D9552B)!important}
.btn.brass:hover,.btn.primary:hover,.stick a.brass:hover{background:var(--mc-accent-deep,#C24A24)!important;color:var(--mc-on-accent,#F5F3EE)!important;border-color:var(--mc-accent-deep,#C24A24)!important}
:is(.eyebrow,.navtag,.chip,.quiz .qn,.people .p small,.conc div span,.card .spec,.card .price span,.filters .lbl,.filters .count,.poi-list li span,.events .d small,.events .t,.info .box b,.urgent .live,.stats div span,footer h4,.crumbs,.postmeta){font-family:"IBM Plex Mono",Menlo,monospace!important;font-size:11px!important;letter-spacing:.16em!important;color:#0F1A17!important}
:is(.dark,.studio,.hero,footer,.banner,.menu,.lightbox,.collage .note,.ticker.garnet) :is(.eyebrow,.navtag,.chip,.quiz .qn,.people .p small,.conc div span,.card .spec,.card .price span,.filters .lbl,.filters .count,.poi-list li span,.events .d small,.events .t,.info .box b,.urgent .live,.stats div span,footer h4,.crumbs,.postmeta){color:#F5F3EE!important}
footer,footer a{color:#F5F3EE}
main p a:not(.btn):hover,.prose a:hover,.faq .a a:hover{text-decoration:underline;text-decoration-color:var(--mc-accent,#D9552B)}

/* Upgraded top menu bar: larger logo, condenses on scroll, animated links, scroll progress */
header.nav{transition:transform .4s ease,background-color .3s ease,box-shadow .3s ease,border-color .3s ease!important}
header.nav .wrap{height:112px!important;transition:height .35s cubic-bezier(.2,.7,.2,1)}
header.nav .lock img{height:88px!important;transition:height .35s cubic-bezier(.2,.7,.2,1)}
header.nav.mc-scrolled{background:color-mix(in srgb,var(--cream) 88%,transparent)!important;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 10px 30px rgba(10,20,17,.10);border-bottom-color:rgba(15,26,23,.18)!important}
header.nav.mc-scrolled .wrap{height:76px!important}
header.nav.mc-scrolled .lock img{height:56px!important}
header.nav .lock::after{display:none}
header.nav .items a{position:relative;border-bottom:0!important;padding:10px 2px!important;transition:color .2s}
header.nav .items a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--mc-accent,#D9552B);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
header.nav .items a:hover{color:var(--moss)}
header.nav .items a:hover::after,header.nav .items a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
header.nav .items a[aria-current="page"]{font-weight:700}
header.nav .btn{transition:transform .2s,box-shadow .2s,background-color .2s}
header.nav .btn.brass:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,20,17,.18)}
header.nav .burger{transition:transform .2s}header.nav .burger:hover{transform:scale(1.05)}
.mc-prog{position:absolute;left:0;bottom:-2px;height:3px;width:100%;background:var(--sage-deep,var(--sage));transform:scaleX(0);transform-origin:left;pointer-events:none}
@media (max-width:1400px){header.nav .lock img{height:76px!important}}
@media (max-width:1250px){header.nav .lock img{height:62px!important}header.nav.mc-scrolled .lock img{height:50px!important}}
@media (max-width:1100px){header.nav .wrap{height:88px!important}header.nav .lock img{height:62px!important}header.nav.mc-scrolled .wrap{height:68px!important}header.nav.mc-scrolled .lock img{height:46px!important}}
@media (max-width:900px) and (min-width:761px){header.nav .lock img{height:48px!important}header.nav.mc-scrolled .lock img{height:40px!important}}
@media (max-width:700px){header.nav .wrap{height:72px!important}header.nav .lock img{height:46px!important}header.nav.mc-scrolled .wrap{height:60px!important}header.nav.mc-scrolled .lock img{height:38px!important}}
@media (max-width:400px){header.nav .lock img{height:40px!important}header.nav.mc-scrolled .lock img{height:34px!important}}
@media (prefers-reduced-motion:reduce){header.nav,header.nav .wrap,header.nav .lock img,header.nav .items a::after{transition:none!important}}

/* Background textures: tone-on-tone overlays, so they follow whatever the palette colors are */
:root{
--tx-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--tx-grain-lt:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--tx-topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='480' fill='none' stroke='%23F5F3EE' stroke-opacity='.07' stroke-width='1.4'%3E%3Cpath d='M-20 60C60 20 120 90 200 60S340 0 420 40 500 80 500 80'/%3E%3Cpath d='M-20 100C70 60 130 130 210 100S350 40 430 80 500 120 500 120'/%3E%3Cpath d='M-20 140C80 100 140 170 220 140S360 80 440 120 500 160 500 160'/%3E%3Cpath d='M-20 300C40 260 110 320 170 290S280 230 330 270 420 330 500 300'/%3E%3Cpath d='M-20 340C50 300 120 360 180 330S290 270 340 310 430 370 500 340'/%3E%3Cpath d='M-20 380C60 340 130 400 190 370S300 310 350 350 440 410 500 380'/%3E%3Cpath d='M-20 420C70 380 140 440 200 410S310 350 360 390 450 450 500 420'/%3E%3Cellipse cx='120' cy='225' rx='60' ry='26'/%3E%3Cellipse cx='120' cy='225' rx='34' ry='13'/%3E%3Cellipse cx='370' cy='205' rx='70' ry='30'/%3E%3Cellipse cx='370' cy='205' rx='44' ry='18'/%3E%3Cellipse cx='370' cy='205' rx='18' ry='7'/%3E%3C/svg%3E");
}
/* Cream page: soft paper grain */
html body{background-image:var(--tx-grain);background-size:220px 220px;background-blend-mode:normal}
/* Dark bands + footer: topographic contour lines over a fine grain */
html body :is(.section.dark,.studio,footer){background-image:var(--tx-topo),var(--tx-grain-lt)!important;background-size:480px 480px,220px 220px!important;background-repeat:repeat!important}
html body :is(.banner,.ticker.garnet){background-image:var(--tx-grain-lt)!important;background-size:220px 220px!important}
/* Sky blue bands: halftone dot screen */
html body :is(.limebg,.sagebg){background-image:radial-gradient(rgba(15,26,23,.13) 1.1px,transparent 1.6px),var(--tx-grain)!important;background-size:16px 16px,220px 220px!important;background-position:0 0,0 0!important}
/* Soft blue bands: drafting / blueprint grid */
html body .tone{background-image:linear-gradient(rgba(15,26,23,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(15,26,23,.075) 1px,transparent 1px),linear-gradient(rgba(15,26,23,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,26,23,.035) 1px,transparent 1px)!important;background-size:160px 160px,160px 160px,32px 32px,32px 32px!important;background-position:-1px -1px!important}
/* Alert strip: fine diagonal hatching */
html body .urgent{background-image:repeating-linear-gradient(135deg,rgba(15,26,23,.045) 0 1px,transparent 1px 9px)!important}
/* Ticker: subtle horizontal pinstripe */
html body .ticker:not(.garnet){background-image:repeating-linear-gradient(0deg,rgba(15,26,23,.06) 0 1px,transparent 1px 6px)!important}
@media print{html body,html body *{background-image:none!important}}
/* hero lead: deeper scrim behind the copy column + larger, stronger-shadowed text so it reads over the photo */
.hero .bg::after{background:linear-gradient(90deg,rgba(10,20,17,.6) 0%,rgba(10,20,17,.32) 42%,rgba(10,20,17,0) 72%),linear-gradient(180deg,rgba(10,20,17,.15) 0%,rgba(10,20,17,.3) 40%,rgba(10,20,17,.9) 100%)!important}
.hero .wrap .lead{color:#fff;font-size:20px;line-height:32px;font-weight:500;letter-spacing:.005em;max-width:34em;text-shadow:0 1px 2px rgba(0,0,0,.65),0 2px 18px rgba(0,0,0,.45)}
@media (max-width:900px){.hero .wrap .lead{font-size:17px;line-height:27px}.hero .bg::after{background:linear-gradient(180deg,rgba(10,20,17,.25) 0%,rgba(10,20,17,.45) 35%,rgba(10,20,17,.92) 100%)!important}}

/* Menu bar over a hero photo: transparent with light type at the top of the page, frosted cream once you scroll past the photo */
:root{--mc-navh:114px}
@media (max-width:1100px){:root{--mc-navh:90px}}
@media (max-width:700px){:root{--mc-navh:74px}}
html.mc-overhero main>.hero:first-child{margin-top:calc(-1 * var(--mc-navh))}
html.mc-overhero main>.hero:first-child .sticker{top:calc(var(--mc-navh) + 20px)}
header.nav::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(10,20,17,.62) 0%,rgba(10,20,17,.28) 55%,rgba(10,20,17,0) 100%);opacity:0;transition:opacity .4s ease}
header.nav .lock{position:relative}
header.nav .lock img{transition:height .35s cubic-bezier(.2,.7,.2,1),opacity .35s ease}
header.nav .lock .mc-logo-w{position:absolute;left:0;top:50%;translate:0 -50%;opacity:0;pointer-events:none}
header.nav.mc-over .items a,header.nav.mc-over .tel,header.nav.mc-over .navtag,header.nav.mc-over .btn,header.nav.mc-over .burger{transition:color .3s,background-color .3s,border-color .3s,transform .2s,box-shadow .2s}
html body header.nav.mc-over:not(.mc-past){background:transparent!important;border-bottom-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
header.nav.mc-over:not(.mc-past)::before{opacity:1}
header.nav.mc-over:not(.mc-past) .lock .mc-logo-w{opacity:1}
header.nav.mc-over:not(.mc-past) .lock #navlogo{opacity:0}
header.nav.mc-over:not(.mc-past) :is(.items a,.tel){color:var(--cream);text-shadow:0 1px 8px rgba(0,0,0,.35)}
header.nav.mc-over:not(.mc-past) .items a:hover{color:#fff}
header.nav.mc-over:not(.mc-past) .navtag{color:var(--cream)!important;border-color:rgba(245,243,238,.7)}
header.nav.mc-over:not(.mc-past) .btn.txt{color:var(--cream);border-color:rgba(245,243,238,.8);background:rgba(10,20,17,.15)}
header.nav.mc-over:not(.mc-past) .btn.txt:hover{background:var(--cream);color:var(--forest);box-shadow:none}
header.nav.mc-over:not(.mc-past) .btn.brass{background:var(--cream);color:var(--forest);border-color:var(--cream)}
header.nav.mc-over:not(.mc-past) .btn.brass:hover{background:#fff;border-color:#fff;color:var(--forest)}
html body header.nav.mc-over:not(.mc-past) .burger{background:rgba(10,20,17,.25);color:var(--cream);border-color:rgba(245,243,238,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* Sliding pill that follows the pointer across the links and rests on the current page */
header.nav .items.mc-has-ind{position:relative;isolation:isolate}
header.nav .items.mc-has-ind a::after{display:none}
header.nav .items.mc-has-ind a:hover{color:var(--forest)}
.mc-ind{position:absolute;left:0;top:50%;height:38px;margin-top:-19px;border-radius:999px;background:rgba(15,26,23,.07);box-shadow:inset 0 0 0 1.5px rgba(15,26,23,.14);z-index:-1;pointer-events:none;opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),opacity .25s,background-color .3s,box-shadow .3s}
.mc-ind::after{content:"";position:absolute;left:50%;bottom:-7px;width:5px;height:5px;margin-left:-2.5px;border-radius:999px;background:var(--mc-accent,#D9552B)}
header.nav.mc-over:not(.mc-past) .mc-ind{background:rgba(245,243,238,.16);box-shadow:inset 0 0 0 1.5px rgba(245,243,238,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
header.nav.mc-over:not(.mc-past) .items.mc-has-ind a:hover{color:#fff}

/* Mobile menu: circular reveal, staggered links, numbered rows, photo preview on tablets */
.menu:not([hidden]){animation:mc-menu-in .55s cubic-bezier(.2,.7,.2,1) both}
.menu.mc-closing{animation:mc-menu-out .34s cubic-bezier(.5,0,.75,0) both}
@keyframes mc-menu-in{from{clip-path:circle(0 at calc(100% - 56px) 44px)}to{clip-path:circle(150% at calc(100% - 56px) 44px)}}
@keyframes mc-menu-out{from{clip-path:circle(150% at calc(100% - 56px) 44px)}to{clip-path:circle(0 at calc(100% - 56px) 44px)}}
.menu:not([hidden]) nav a,.menu:not([hidden]) .foot,.menu:not([hidden]) .close{animation:mc-row-in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.14s + var(--i,0) * .035s)}
.menu:not([hidden]) .foot{animation-delay:.45s}.menu:not([hidden]) .close{animation-delay:.2s}
@keyframes mc-row-in{from{opacity:0;transform:translateY(22px)}}
.menu nav a{display:flex;align-items:baseline;gap:16px;transition:color .2s,padding-left .35s cubic-bezier(.2,.7,.2,1)}
.menu nav a .mc-n{font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.12em;opacity:.5;min-width:22px;transform:translateY(-.4em)}
.menu nav a .mc-arr{margin-left:auto;font-size:.6em;opacity:0;transform:translateX(-12px);transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
.menu nav a:hover,.menu nav a:focus-visible{padding-left:10px;color:var(--soft)}
.menu nav a:hover .mc-arr,.menu nav a:focus-visible .mc-arr{opacity:1;transform:none}
.menu nav a[aria-current="page"]{color:var(--soft)}
.menu nav a[aria-current="page"] .mc-n{opacity:1;color:var(--mc-accent,#D9552B)}
.menu>*{flex-shrink:0}
.menu .mc-mprev{display:none;margin:0;position:relative;border-radius:22px;overflow:hidden;background:rgba(245,243,238,.06);min-height:0}
.menu .mc-mprev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .5s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.menu .mc-mprev img.on{opacity:1;transform:none}
.menu .mc-mprev figcaption{position:absolute;left:16px;bottom:16px;font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--forest);background:var(--cream);padding:8px 12px;border-radius:999px}
.menu .mc-mprev figcaption:empty{display:none}
@media (min-width:761px){
  .menu:not([hidden]){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:48px;padding:28px 40px}
  .menu .close{grid-column:1/-1;justify-self:end}
  .menu nav{grid-column:1;grid-row:2;align-self:start}
  .menu .mc-mprev{display:block;grid-column:2;grid-row:2;margin-top:20px;animation:mc-row-in .7s .3s cubic-bezier(.2,.7,.2,1) both}
  .menu .foot{grid-column:1/-1;grid-row:3}
}
@media (prefers-reduced-motion:reduce){
  .menu:not([hidden]),.menu.mc-closing,.menu:not([hidden]) nav a,.menu:not([hidden]) .foot,.menu:not([hidden]) .close,.menu .mc-mprev{animation:none!important}
  .mc-ind,header.nav::before,.menu nav a,.menu nav a .mc-arr,.menu .mc-mprev img{transition:none!important}
}
