:root{
  
  --c-bg:#FAF7F2;
  --c-surface:#F2EADF;
  --c-text:#241A1C;
  --c-primary:#6E1F2E;
  --c-primary-dark:#5A1826;
  --c-secondary:#D8CBB6;
  --c-accent:#B4485A;
  --c-dark-bg:#2B1218;
  --c-dark-text:#F4EADD;
  --c-hairline:#E4D9C8;
  --c-wash:rgba(216,203,182,0.55);
  --c-claret-fade:rgba(110,31,46,0.06);
  --c-claret-veil:rgba(110,31,46,0.08);

  
  --font-display:'Fraunces','Iowan Old Style',Georgia,'Times New Roman',serif;
  --font-body:'Karla','Helvetica Neue',Helvetica,Arial,sans-serif;
  --fs-body:1.0625rem;
  --fs-body-lg:1.125rem;
  --fs-kicker:0.75rem;
  --fs-h1:clamp(2.6rem,6.2vw,4.9rem);
  --fs-h2:clamp(1.9rem,3.4vw,2.9rem);
  --fs-h3:1.25rem;
  --lh-body:1.62;
  --measure:62ch;
  --measure-tight:46ch;

  
  --sp-1:0.25rem;
  --sp-2:0.5rem;
  --sp-3:0.75rem;
  --sp-4:1rem;
  --sp-5:1.5rem;
  --sp-6:2rem;
  --sp-7:2.75rem;
  --sp-8:3.5rem;
  --sp-9:4.5rem;
  --sp-10:6rem;
  --sp-11:7.5rem;
  --sp-12:9.5rem;

  
  --radius-sm:2px;
  --radius:4px;
  --radius-lg:6px;
  --hairline:1px solid var(--c-hairline);

  
  --mo-dur:620ms;
  --mo-ease:cubic-bezier(0.22,0.61,0.36,1);
  --mo-dist:22px;
  --mo-stagger:110ms;
  --mo-hover:180ms;

  
  --container:1160px;
  --container-narrow:820px;
  --header-h:68px;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

html,body{margin:0;padding:0}

body{
  background-color:var(--c-bg);
  color:var(--c-text);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img,picture,video,svg{max-width:100%;display:block}
img{height:auto}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:500;
  font-variation-settings:'SOFT' 50,'WONK' 0;
  color:var(--c-text);
  margin:0 0 var(--sp-4);
  text-wrap:balance;
}

h1{font-size:var(--fs-h1);line-height:1.03;letter-spacing:-0.012em}
h2{font-size:var(--fs-h2);line-height:1.12;letter-spacing:-0.008em}
h3{font-family:var(--font-body);font-weight:700;font-size:var(--fs-h3);line-height:1.34;letter-spacing:0}
h4{font-family:var(--font-body);font-weight:700;font-size:1.0625rem;line-height:1.4}

h1:has(.sand-wash),h2:has(.sand-wash),h3:has(.sand-wash){line-height:1.3}

p{margin:0 0 var(--sp-4);max-width:var(--measure)}
p:last-child{margin-bottom:0}

ul,ol{margin:0 0 var(--sp-4);padding-left:1.15rem}
li{margin:0 0 var(--sp-2)}

strong,b{font-weight:700}

blockquote{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.95rem);line-height:1.28}

hr{border:0;border-top:var(--hairline);margin:var(--sp-8) 0}

a{color:var(--c-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--mo-hover) var(--mo-ease)}
a:hover{color:var(--c-accent)}

:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:var(--radius-sm)}

::selection{background:var(--c-secondary);color:var(--c-text)}

.container{width:min(100% - 2.5rem,var(--container));margin-inline:auto}
.container--narrow{width:min(100% - 2.5rem,var(--container-narrow));margin-inline:auto}
.container--flush{width:100%;max-width:none;margin-inline:0}

.section{padding-block:var(--sp-10)}
.section--tight{padding-block:var(--sp-8)}
.section--tall{padding-block:var(--sp-12)}
.section--flush{padding-block:0}
.section--rule{border-top:1px solid var(--c-primary)}
.section--hairline{border-top:var(--hairline)}
.section--surface{background:var(--c-surface)}

.section--dark{
  background-color:var(--c-dark-bg);
  background-image:linear-gradient(180deg,var(--c-claret-fade),rgba(110,31,46,0));
  color:var(--c-dark-text);
}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--c-dark-text)}
.section--dark a{color:var(--c-dark-text)}
.section--dark a:hover{color:var(--c-secondary)}

.measure{max-width:var(--measure)}
.measure-tight{max-width:var(--measure-tight)}
.lede{font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.55;max-width:52ch}
.small{font-size:0.9375rem}
.text-center{text-align:center}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.stack>*+*{margin-top:var(--sp-4)}
.stack-lg>*+*{margin-top:var(--sp-6)}

.grid{display:grid;gap:var(--sp-6)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid--mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}

@media (max-width:900px){
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .grid--2,.grid--3,.grid--auto,.grid--mosaic{grid-template-columns:minmax(0,1fr)}
}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.skip-link{position:absolute;left:var(--sp-4);top:-100px;z-index:200;background:var(--c-primary);color:var(--c-dark-text);padding:0.75rem 1.1rem;border-radius:var(--radius);text-decoration:none;font-weight:700;font-size:0.9375rem}
.skip-link:focus{top:var(--sp-2);color:var(--c-dark-text)}

#what-we-do,#who-we-work-with,#airbnb-hosting-support,#how-we-work,#about-mathou-venture,#contact,#main,.anchor-target{scroll-margin-top:calc(var(--header-h) + 1rem)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  font-family:var(--font-body);font-weight:700;font-size:0.9375rem;letter-spacing:0.03em;
  min-height:44px;padding:0.75rem 1.35rem;
  border:1px solid transparent;border-radius:var(--radius);
  text-decoration:none;cursor:pointer;background:none;
  transition:background-color var(--mo-hover) var(--mo-ease),color var(--mo-hover) var(--mo-ease),border-color var(--mo-hover) var(--mo-ease);
}
.btn__arrow{display:inline-block;transition:transform var(--mo-hover) var(--mo-ease)}
.btn:hover .btn__arrow,.btn:focus-visible .btn__arrow{transform:translateX(3px)}

.btn--primary{background:var(--c-primary);color:var(--c-dark-text)}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--c-primary-dark);color:var(--c-dark-text)}

.btn--ghost{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--c-surface);color:var(--c-primary)}

.btn--sm{min-height:44px;padding:0.6rem 1.05rem;font-size:0.875rem}
.btn--block{width:100%}

.section--dark .btn--primary{background:var(--c-primary);color:var(--c-dark-text)}
.section--dark .btn--ghost{color:var(--c-dark-text);border-color:var(--c-secondary)}
.section--dark .btn--ghost:hover{background:rgba(216,203,182,0.14);color:var(--c-dark-text)}

.threshold-rule{
  display:block;width:min(148px,120px + 28px);height:2px;border:0;margin:0 0 12px;
  background-image:linear-gradient(to right,var(--c-primary) 0,var(--c-primary) 28px,var(--c-secondary) 28px,var(--c-secondary) 100%);
}
.section--dark .threshold-rule{background-image:linear-gradient(to right,var(--c-accent) 0,var(--c-accent) 28px,var(--c-secondary) 28px,var(--c-secondary) 100%)}

.kicker{
  display:block;font-family:var(--font-body);font-weight:500;font-size:var(--fs-kicker);
  text-transform:uppercase;letter-spacing:0.16em;line-height:1.4;
  color:var(--c-primary);margin:0 0 var(--sp-4);max-width:none;
}
.section--dark .kicker{color:var(--c-secondary)}
.section-open{margin-bottom:var(--sp-5)}

.sand-wash{
  background-color:var(--c-wash);
  color:var(--c-text);
  border-radius:0;
  padding:0.05em 0.1em;
  box-shadow:0 0 0 3px var(--c-wash),inset 0 -1px 0 0 var(--c-accent);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

.handling-index{list-style:none;margin:0;padding:0;counter-reset:hidx}
.handling-index__row{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:start;
  column-gap:0.875rem;
  padding-block:24px;
  margin:0;
  border-top:var(--hairline);
  transition:background-color var(--mo-hover) var(--mo-ease);
}
.handling-index__row:last-child{border-bottom:var(--hairline)}
.handling-index__num{
  font-family:var(--font-display);font-weight:600;font-size:28px;line-height:1;
  color:var(--c-accent);letter-spacing:0.01em;
  transition:color var(--mo-hover) var(--mo-ease);
}
.handling-index__dash{display:block;width:16px;height:1px;background:var(--c-secondary);margin-top:0.9rem}
.handling-index__body{min-width:0}
.handling-index__title{font-family:var(--font-body);font-weight:700;font-size:17px;line-height:1.4;margin:0 0 var(--sp-2);color:var(--c-text)}
.handling-index__text{margin:0;max-width:var(--measure-tight);font-size:var(--fs-body)}
.handling-index__row:hover{background-color:var(--c-surface)}
.handling-index__row:hover .handling-index__num{color:var(--c-primary)}
.section--dark .handling-index__row{border-color:rgba(216,203,182,0.28)}
.section--dark .handling-index__title,.section--dark .handling-index__text{color:var(--c-dark-text)}
.section--dark .handling-index__row:hover{background-color:rgba(216,203,182,0.08)}

@media (max-width:520px){
  .handling-index__dash{display:none}
  .handling-index__row{grid-template-columns:auto minmax(0,1fr);column-gap:0.75rem}
}

.ledger{border-top:1px solid var(--c-primary)}
.ledger-row{
  display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.4fr);
  gap:var(--sp-5);
  padding-block:var(--sp-6);
  border-bottom:var(--hairline);
  transition:background-color var(--mo-hover) var(--mo-ease);
}
.ledger-row:hover{background-color:var(--c-surface)}
@media (max-width:768px){.ledger-row{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)}}

.card{background:var(--c-surface);border:1px solid var(--c-secondary);border-radius:var(--radius);padding:var(--sp-6)}
.card p{max-width:var(--measure-tight)}
.card--dark{background-color:var(--c-dark-bg);border-color:rgba(216,203,182,0.35);color:var(--c-dark-text)}
.card--dark h2,.card--dark h3,.card--dark h4,.card--dark p{color:var(--c-dark-text)}
.card--plain{background:transparent;border-color:var(--c-hairline)}

.faq{border-top:var(--hairline)}
.faq details{border-bottom:var(--hairline)}
.faq summary{
  cursor:pointer;list-style:none;padding:var(--sp-4) 0;
  font-family:var(--font-body);font-weight:700;font-size:var(--fs-body);
  display:flex;justify-content:space-between;gap:var(--sp-4);min-height:44px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--font-display);font-weight:600;color:var(--c-accent);font-size:1.25rem;line-height:1}
.faq details[open] summary::after{content:'\2013'}
.faq__answer{padding:0 0 var(--sp-5);max-width:var(--measure)}

.img-treated{
  display:block;width:100%;height:auto;
  filter:sepia(0.13) saturate(1.2) contrast(0.96) brightness(1.03) hue-rotate(-8deg);
}
.img-treated--card{border:1px solid var(--c-secondary)}
.img-frame{position:relative;overflow:hidden;background:var(--c-surface)}
.img-frame--veil::after{content:'';position:absolute;inset:0;background:var(--c-claret-veil);pointer-events:none}
.img-bleed{width:100%;}
.img-bleed .img-treated{width:100%;object-fit:cover;height:clamp(280px,52vh,620px)}

.reveal{opacity:1;transform:none}
.media-zoom{position:relative;overflow:hidden}
.media-zoom img{width:100%}
.link-draw{position:relative;text-decoration:none;color:var(--c-primary)}
.link-draw::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--c-accent);transform:scaleX(0);transform-origin:left center}
.link-draw:hover::after,.link-draw:focus-visible::after{transform:scaleX(1)}
.section--dark .link-draw{color:var(--c-dark-text)}
.section--dark .link-draw::after{background:var(--c-secondary)}

@media (prefers-reduced-motion: no-preference){
  .reveal{
    opacity:0;
    transform:translateY(var(--mo-dist));
    transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);
    transition-delay:var(--reveal-delay,0ms);
  }
  .reveal.is-visible{opacity:1;transform:none}

  .reveal-stagger>*{
    opacity:0;
    transform:translateY(var(--mo-dist));
    transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);
    transition-delay:var(--reveal-delay,0ms);
  }
  .reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{opacity:1;transform:none}

  .threshold-rule.reveal{
    opacity:1;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform var(--mo-dur) var(--mo-ease);
    transition-delay:var(--reveal-delay,0ms);
  }
  .threshold-rule.reveal.is-visible{transform:scaleX(1)}

  .media-zoom img{transition:transform calc(var(--mo-dur) * 2) var(--mo-ease)}
  .media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}

  .link-draw::after{transition:transform var(--mo-hover) var(--mo-ease)}

  .ken-burns{animation:kenburns 12s var(--mo-ease) infinite alternate;will-change:transform}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.04)}}

  .hero-settle{animation:heroSettle 9s var(--mo-ease) 1 both;will-change:transform}
  @keyframes heroSettle{from{transform:scale(1.04)}to{transform:scale(1)}}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-stagger>*{opacity:1!important;transform:none!important;transition:none!important}
  .threshold-rule.reveal{transform:none!important}
  .ken-burns,.hero-settle{animation:none!important;transform:none!important}
  .media-zoom:hover img,.media-zoom:focus-within img{transform:none}
  .link-draw::after{transition:none}
}

.site-header{
  position:sticky;top:0;z-index:100;
  background-color:var(--c-bg);
  border-bottom:1px solid var(--c-primary);
}
.site-header__inner{
  display:flex;align-items:center;gap:var(--sp-5);
  min-height:var(--header-h);
}

.wordmark-lock{display:inline-flex;align-items:center;gap:0.6rem;text-decoration:none;color:var(--c-primary);flex:0 0 auto}
.wordmark-lock:hover{color:var(--c-primary)}
.mv-mark{display:block;flex:0 0 auto;width:30px;height:30px}
.mv-mark svg{width:100%;height:100%;display:block}

.wordmark{
  font-family:var(--font-display);font-weight:600;font-variation-settings:'SOFT' 60,'WONK' 0;
  text-transform:uppercase;letter-spacing:0.10em;
  font-size:clamp(0.95rem,2.4vw,1.125rem);line-height:1;
  color:var(--c-primary);white-space:nowrap;
  display:inline-flex;align-items:baseline;gap:0.34em;
}
.wordmark__terminal{display:inline-block;width:5px;height:5px;background:var(--c-accent);transform:rotate(45deg);flex:0 0 auto}

.wordmark--stack{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:0.85;gap:0;white-space:normal}
.wordmark--stack .wordmark__word{display:block}
.wordmark--stack .wordmark__word:last-of-type{display:inline-flex;align-items:baseline;gap:0.34em}
.wordmark--light{color:var(--c-dark-text)}
.wordmark--light .wordmark__terminal{background:var(--c-secondary)}

.nav{margin-left:auto}
.nav__links{display:flex;align-items:center;gap:clamp(0.9rem,1.6vw,1.6rem);list-style:none;margin:0;padding:0}
.nav__links li{margin:0}
.nav__links a{
  font-family:var(--font-body);font-weight:500;font-size:0.9375rem;letter-spacing:0.01em;
  color:var(--c-text);text-decoration:none;white-space:nowrap;
  padding-block:0.4rem;display:inline-block;
}
.nav__links a:hover{color:var(--c-primary)}
.header__cta{flex:0 0 auto}

.nav-toggle{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.nav-burger{
  display:none;align-items:center;gap:0.55rem;
  min-height:46px;min-width:46px;padding:0.65rem;justify-content:center;
  margin-left:auto;cursor:pointer;
  font-family:var(--font-body);font-weight:700;font-size:0.8125rem;text-transform:uppercase;letter-spacing:0.12em;
  color:var(--c-primary);border:1px solid rgba(110,31,46,0.32);border-radius:var(--radius);
  background:var(--c-surface);
}
.nav-burger__bars{display:block;width:20px}
.nav-burger__bars i{display:block;height:2px;background:var(--c-primary);margin:3px 0}
.nav-toggle:focus-visible ~ .site-header__inner .nav-burger{outline:2px solid var(--c-accent);outline-offset:3px}

.mnav{
  position:fixed;left:0;right:0;top:var(--header-h);
  height:calc(100dvh - var(--header-h));
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  background-color:var(--c-bg);
  border-top:1px solid var(--c-primary);
  opacity:0;visibility:hidden;transform:translateY(-8px);
  z-index:99;
}
@media (prefers-reduced-motion: no-preference){
  .mnav{transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease),visibility 0s linear var(--mo-dur)}
  .nav-toggle:checked ~ .mnav{transition-delay:0s}
}
.nav-toggle:checked ~ .mnav{opacity:1;visibility:visible;transform:none}
.mnav__inner{width:min(100% - 2.5rem,var(--container));margin-inline:auto;padding-block:var(--sp-5) var(--sp-8)}
.mnav__close{
  display:inline-flex;align-items:center;gap:0.5rem;min-height:44px;padding:0.5rem 0.2rem;
  font-family:var(--font-body);font-weight:700;font-size:0.8125rem;text-transform:uppercase;letter-spacing:0.14em;
  color:var(--c-primary);cursor:pointer;
}
.mnav__list{list-style:none;margin:var(--sp-3) 0 var(--sp-5);padding:0;border-top:var(--hairline)}
.mnav__list li{margin:0;border-bottom:var(--hairline)}
.mnav__item{display:block;cursor:pointer}
.mnav__item a{
  display:block;min-height:52px;padding:0.9rem 0;
  font-family:var(--font-display);font-weight:500;font-size:1.15rem;line-height:1.3;
  color:var(--c-text);text-decoration:none;
}
.mnav__item a:hover{color:var(--c-primary)}
.mnav__cta{width:100%}
.mnav__meta{margin-top:var(--sp-5);font-size:0.9375rem;color:var(--c-text)}

body:has(.nav-toggle:checked){overflow:hidden}

@media (max-width:1080px){
  .nav{display:none}
  .nav-burger{display:inline-flex}
}
@media (max-width:600px){
  :root{--header-h:60px}
  .site-header .header__cta{display:none}
  .site-header__inner{gap:var(--sp-3)}
  .nav-burger__txt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
}

.footer{
  background-color:var(--c-dark-bg);
  background-image:linear-gradient(180deg,var(--c-claret-fade),rgba(110,31,46,0));
  color:var(--c-dark-text);
  padding-block:var(--sp-9) var(--sp-6);
  margin-top:0;
}
.footer__inner{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 0.9fr;
  gap:var(--sp-7) var(--sp-6);
  padding-bottom:var(--sp-8);
}
.footer__brand{max-width:34ch}
.footer .wordmark{font-size:clamp(1.35rem,3vw,1.7rem)}
.footer__blurb{margin-top:var(--sp-4);font-size:0.9375rem;line-height:1.6;color:var(--c-dark-text);max-width:32ch}
.footer__heading{
  font-family:var(--font-body);font-weight:500;font-size:var(--fs-kicker);
  text-transform:uppercase;letter-spacing:0.16em;color:var(--c-secondary);
  margin:0 0 var(--sp-3);
}
.footer__list{list-style:none;margin:0;padding:0}
.footer__list li{margin:0 0 0.4rem}
.footer__list a,.footer__list span{font-size:0.9375rem;line-height:1.5}
.footer__list a{color:var(--c-dark-text);text-decoration:none;display:inline-block;padding-block:0.35rem}
.footer__list a:hover{color:var(--c-secondary)}
.footer__note{font-size:0.9375rem;color:var(--c-dark-text);opacity:0.86;margin:0}
.footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3) var(--sp-5);
  padding-top:var(--sp-5);
  border-top:1px solid rgba(216,203,182,0.3);
}
.footer__bottom p{margin:0;font-size:0.875rem;max-width:none}
.footer__bottom a{color:var(--c-dark-text);text-decoration:none}
.footer__bottom a:hover{color:var(--c-secondary)}
.footer__rule{width:min(148px,148px);height:2px;border:0;margin:0 0 12px;background-image:linear-gradient(to right,var(--c-accent) 0,var(--c-accent) 28px,var(--c-secondary) 28px,var(--c-secondary) 100%)}

@media (max-width:900px){
  .footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .footer__inner{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
  .footer__bottom{flex-direction:column;align-items:flex-start}
}

.nn-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;}
