*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;background:#F5F1EA;color:#14181F;font-family:"Instrument Sans",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:"Outfit",system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0}
p{margin:0 0 1em}
a{color:inherit}
:focus-visible{outline:2px solid #E4623C;outline-offset:3px;border-radius:4px}
.wrap{max-width:1240px;margin:0 auto;padding:0 22px;width:100%}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:#E4623C;color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-family:"Outfit",sans-serif;font-weight:600;font-size:15px;text-decoration:none;border:0;border-radius:6px;cursor:pointer;transition:transform .18s ease,background .18s ease}
.btn-coral{background:#E4623C;color:#fff}
.btn-coral:hover{background:#cf5231;transform:translateY(-2px)}
.btn-cream{background:#F5F1EA;color:#14181F}
.btn-cream:hover{background:#fff;transform:translateY(-2px)}
.btn-dark{background:#14181F;color:#fff}
.btn-dark:hover{background:#000;transform:translateY(-2px)}
.text-link{font-family:"Outfit",sans-serif;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;color:#14181F}
.text-link:hover{color:#E4623C}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s ease,box-shadow .3s ease}
.site-header.solid{background:#F5F1EA;box-shadow:0 2px 20px rgba(20,24,31,.09)}
.header-inner{display:flex;align-items:center;gap:14px;justify-content:space-between;padding-top:12px;padding-bottom:12px;min-height:64px}
.brand{flex:0 1 auto;min-width:0;display:block}
.brand img{width:150px;height:auto;display:block}
@media(min-width:520px){.brand img{width:168px}}
.site-header:not(.solid) .brand img{background:rgba(255,255,255,.94);padding:6px 10px;border-radius:8px}
.desk-nav{display:none;align-items:center;gap:24px;min-width:0}
.desk-nav a{font-family:"Outfit",sans-serif;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.site-header:not(.solid) .desk-nav a:not(.nav-cta){color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.desk-nav a:not(.nav-cta):hover{color:#E4623C;text-shadow:none}
.ticker{display:none}
.site-header.solid .ticker{display:block;background:#E4623C;color:#fff;font-family:"Outfit",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:5px 10px}
.burger{width:46px;height:46px;flex:0 0 auto;background:rgba(255,255,255,.92);border:0;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;box-shadow:0 2px 12px rgba(20,24,31,.12)}
.burger span{width:20px;height:2px;background:#14181F;display:block}
@media(min-width:920px){.desk-nav{display:flex}.burger{display:none}}

.mobile-menu{position:fixed;inset:0;z-index:150;background:#F5F1EA;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow-y:auto}
.mobile-menu[hidden]{display:none}
.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:24px;padding:70px 20px}
.mobile-menu a{font-family:"Outfit",sans-serif;font-weight:600;font-size:26px;text-decoration:none;text-align:center}
.menu-close{position:absolute;top:14px;right:14px;width:48px;height:48px;font-size:32px;line-height:1;background:none;border:0;cursor:pointer}

/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;padding:132px 0 116px;isolation:isolate}
@media(min-width:900px){.hero{min-height:94vh;padding:170px 0 150px}}
.hero-inner{width:100%}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;z-index:-2}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(44,27,20,.6) 0%,rgba(44,27,20,.3) 40%,rgba(44,27,20,.68) 100%)}
.hero-note{max-width:640px;color:#fff}
.badge{display:inline-block;background:#E4623C;color:#fff;font-family:"Outfit",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:100px;margin-bottom:20px}
.badge-gold{background:#E8C25A;color:#14181F}
.hero h1{font-size:clamp(42px,8.5vw,76px);margin-bottom:22px}
.hero-note p{font-size:clamp(16px,2vw,19px);max-width:58ch;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.sign-off{margin-bottom:.2em}
.signature{font-family:"Outfit",sans-serif;font-weight:700;font-size:30px;color:#F5C7B4;text-shadow:0 1px 12px rgba(0,0,0,.5)}

/* capture */
.capture-band{margin-top:-58px;position:relative;z-index:5}
@media(min-width:900px){.capture-band{margin-top:-80px}}
.capture-card{position:relative;background:#fff;border-radius:20px;box-shadow:0 26px 64px rgba(20,24,31,.2);padding:34px 24px;display:grid;gap:20px}
.capture-card h2{font-size:clamp(27px,4.6vw,40px);margin-bottom:8px}
.capture-card p{margin:0;color:#5A6068}
.squig-a{position:absolute;top:-14px;left:26px;width:66px}
.signup{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.signup input{flex:1 1 180px;min-width:0;min-height:52px;padding:12px 16px;border:2px solid #e3ddd2;border-radius:8px;font:inherit;background:#F5F1EA}
.signup input:focus{border-color:#E4623C;outline:none}
.signup .btn{flex:0 0 auto}
.form-msg{flex-basis:100%;margin:0;font-family:"Outfit",sans-serif;font-weight:600;color:#E4623C;min-height:0}
@media(min-width:840px){.capture-card{grid-template-columns:1fr 1fr;align-items:center;padding:44px 46px;gap:34px}}

/* sections */
.section{padding:82px 0}
@media(min-width:900px){.section{padding:120px 0}}
.sec-title{font-size:clamp(32px,5.4vw,58px);margin-bottom:34px}
.sec-title.small{font-size:clamp(26px,3.6vw,38px)}

/* bento */
.bento{display:grid;gap:20px}
@media(min-width:920px){
  .bento{grid-template-columns:1.32fr 1fr;grid-template-rows:auto auto;align-items:stretch}
  .tile-lg{grid-row:span 2}
}
.tile{background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(20,24,31,.07);transition:transform .25s ease,box-shadow .25s ease;min-width:0}
.tile:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(20,24,31,.14)}
.tile-media{overflow:hidden;background:#efe9df}
.tile-media img{width:100%;height:230px;object-fit:cover;object-position:55% 50%;display:block;transition:transform .5s ease}
.tile:hover .tile-media img{transform:scale(1.03)}
.tile-scoop .tile-media img{object-fit:contain;background:#E4623C;padding:22px 0;height:200px}
.tile-body{padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.tile-body h3{font-size:clamp(20px,2.4vw,27px);line-height:1.15}
.tile-body p{margin:0;color:#5A6068;font-size:16px}
.kicker{font-family:"Outfit",sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#E4623C}
.kicker-blue{color:#5B8CE8}
.kicker-pink{color:#D94F8E}
.link-arrow{margin-top:auto;padding-top:10px;font-family:"Outfit",sans-serif;font-weight:600;color:#E4623C;text-decoration:none}
.link-arrow:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:920px){
  /* large tile: photo grows to fill the extra row height instead of leaving white space */
  .tile-lg .tile-media{flex:1 1 auto;min-height:340px;display:flex}
  .tile-lg .tile-media img{height:100%;min-height:340px}
  .tile-lg .tile-body{flex:0 0 auto;padding:30px 30px 32px}
  .tile-lg .tile-body h3{font-size:30px}
}

.wave-divider{padding:0 22px}
.wave-divider svg{display:block;width:100%;height:34px;max-width:1240px;margin:0 auto}

/* ripple */
.ripple{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:480px;padding:90px 0 64px}
.ripple-inner{width:100%}
.ripple-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 55%;z-index:-2}
.ripple-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(44,30,22,.2) 0%,rgba(44,30,22,.55) 45%,rgba(44,30,22,.9) 100%)}
.ripple-copy{max-width:520px;color:#fff}
.ripple-copy h2{font-size:clamp(34px,6vw,60px);margin-bottom:14px}
.ripple-copy p{font-size:18px;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.ripple-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:22px}
.ripple-cta .text-link{color:#fff}
.ripple-cta .text-link:hover{color:#E8C25A}
@media(min-width:860px){
  .ripple{align-items:center;min-height:560px;padding:90px 0}
  .ripple-scrim{background:linear-gradient(90deg,rgba(44,30,22,.85) 0%,rgba(44,30,22,.5) 48%,rgba(44,30,22,.05) 88%)}
}

/* explore */
.explore-grid{display:grid;gap:16px}
@media(min-width:760px){.explore-grid{grid-template-columns:repeat(3,1fr)}}
.ex-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:0;padding:24px 56px 24px 24px;border-radius:18px;text-decoration:none;background:#fff;border:2px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.ex-card img{width:56px}
.ex-label{font-family:"Outfit",sans-serif;font-weight:700;font-size:clamp(21px,2.6vw,28px);line-height:1.1}
.ex-arrow{position:absolute;right:22px;bottom:22px;font-size:22px;color:#E4623C;transition:transform .25s ease}
.ex-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(20,24,31,.13)}
.ex-card:hover .ex-arrow{transform:translateX(6px)}
.ex-coral{border-color:#E4623C}
.ex-coral:hover{background:#FDF0EA}
.ex-blue{border-color:#5B8CE8}.ex-blue .ex-arrow{color:#5B8CE8}
.ex-blue:hover{background:#EEF3FD}
.ex-pink{border-color:#D94F8E}.ex-pink .ex-arrow{color:#D94F8E}
.ex-pink:hover{background:#FCEEF5}

/* photo tiles */
.photo-grid{display:grid;gap:20px}
@media(min-width:880px){.photo-grid{grid-template-columns:1.5fr 1fr;align-items:stretch}}
.photo-tile{position:relative;display:block;border-radius:20px;overflow:hidden;min-height:280px;text-decoration:none}
.photo-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.photo-tile.big img{object-position:55% 65%}
.photo-tile:not(.big) img{object-position:50% 58%}
.photo-tile:hover img{transform:scale(1.03)}
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:90px 22px 22px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;color:#fff;font-family:"Outfit",sans-serif;font-weight:700;font-size:clamp(23px,3.4vw,36px);line-height:1.1;background:linear-gradient(180deg,rgba(20,24,31,0),rgba(20,24,31,.8))}
.photo-cap em{font-style:normal;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#E4623C;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:transform .25s ease}
.photo-tile:hover .photo-cap em{transform:translateX(5px)}
@media(min-width:880px){.photo-tile{min-height:440px}}

/* app band */
.appband{position:relative;isolation:isolate;min-height:440px;display:flex;align-items:center;padding:76px 0}
.appband-inner{width:100%}
.appband-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 52%;z-index:-2}
.appband-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,60,66,.75),rgba(20,60,66,.5))}
@media(min-width:860px){.appband-scrim{background:linear-gradient(90deg,rgba(20,60,66,.88),rgba(20,60,66,.35) 62%,rgba(20,60,66,0))}}
.appband-copy{max-width:520px;color:#fff}
.appband-copy h2{font-size:clamp(31px,5.4vw,54px);margin-bottom:14px}
.appband-copy p{font-size:18px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.badges img{width:168px;height:auto;border-radius:8px;transition:transform .2s ease}
.badges a:hover img{transform:translateY(-3px)}

/* features */
.feat-grid{display:grid;gap:18px}
@media(min-width:860px){.feat-grid{grid-template-columns:1.3fr 1fr 1fr}}
.feat{background:#fff;border-radius:20px;padding:28px 24px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:240px;box-shadow:0 8px 26px rgba(20,24,31,.06);transition:transform .25s ease}
.feat:hover{transform:translateY(-4px)}
.feat-lg{background:#14181F;color:#fff;min-height:270px}
.feat h3{font-size:clamp(20px,2.5vw,28px);line-height:1.15}
.feat img{width:auto;max-width:200px;max-height:130px;object-fit:contain;align-self:center}

/* social */
.social{padding:66px 0 84px;background:#14181F;color:#fff;overflow:hidden}
.social-head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:30px}
.social-head h2{font-size:clamp(25px,4.2vw,44px);max-width:16ch}
.social-links{display:flex;gap:12px}
.social-links a{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#E4623C;color:#fff}
.social-links a:hover{background:#D94F8E}
.marquee{overflow:hidden;width:100%;max-width:100%;padding:6px 0}
.marquee-track{display:flex;gap:12px;width:max-content;animation:slide 56s linear infinite}
.marquee-rev .marquee-track{animation-direction:reverse}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq{position:relative;flex:0 0 auto;width:170px;border-radius:12px;overflow:hidden;display:block}
.mq img{width:170px;height:170px;object-fit:cover;display:block;transition:transform .4s ease}
.mq:hover img{transform:scale(1.05)}
.mq.is-video::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}

/* scoop */
.scoop-grid{display:grid;gap:20px}
@media(min-width:820px){.scoop-grid{grid-template-columns:repeat(3,1fr)}}
.scoop-card{background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;display:block;box-shadow:0 8px 24px rgba(20,24,31,.07);transition:transform .25s ease,box-shadow .25s ease}
.scoop-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(20,24,31,.12)}
.scoop-card img{width:100%;height:168px;object-fit:cover;object-position:50% 55%;display:block}
.scoop-card h3{font-size:18px;line-height:1.28;padding:20px 20px 24px}

/* footer */
.site-footer{background:#E4623C;color:#fff}
.foot-nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding-top:26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.28)}
.foot-brand img{width:158px;background:#fff;padding:7px 12px;border-radius:8px;display:block}
.foot-links-top{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.foot-links-top a{font-family:"Outfit",sans-serif;font-weight:600;font-size:15px;text-decoration:none}
.foot-links-top a:not(.btn):hover{text-decoration:underline;text-underline-offset:5px}
.foot-main{display:grid;gap:36px;padding-top:44px;padding-bottom:44px}
@media(min-width:880px){.foot-main{grid-template-columns:1.5fr 1fr 1fr;gap:44px}}
.foot-prompt{font-family:"Outfit",sans-serif;font-weight:600;font-size:20px;max-width:24ch}
.signup-dark input{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.6)}
.signup-dark .form-msg{color:#14181F}
.foot-contact{margin-top:18px}
.foot-contact a{text-decoration:underline;text-underline-offset:4px}
.foot-col h4{font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-col a{text-decoration:none}
.foot-col a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-social{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;font-size:15px}
.foot-bottom{padding-bottom:86px;font-size:14px;opacity:.92}
@media(min-width:700px){.foot-bottom{padding-bottom:40px}}
.foot-bottom p{margin:0}

/* sticky cta */
.sticky-cta{position:fixed;right:14px;bottom:14px;z-index:90;background:#14181F;color:#fff;font-family:"Outfit",sans-serif;font-weight:600;font-size:14px;padding:13px 18px;border-radius:100px;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.28);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.sticky-cta.show{opacity:1;transform:none;pointer-events:auto}
.sticky-cta:hover{background:#E4623C}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
  html{scroll-behavior:auto}
}
html{scroll-behavior:smooth}