/* =====================================================================
   YHM DESIGN 2026 — "Quiet Editorial + sage"
   Fonts: Cormorant Garamond (serif) + Jost (sans), self-hosted.
   Theme font names (Unna / Nunito / Ylee) are re-mapped below, so every
   theme template, gallery and form switches to the new type automatically.
   ===================================================================== */

:root{
  --yhm-ivory:#f7f2eb; --yhm-cream:#efe7dc; --yhm-line:#e4dacd;
  --yhm-ink:#2b2520; --yhm-text:#4a3f36; --yhm-muted:#6a5b4e;
  --yhm-sage-50:#eef2ea; --yhm-sage-100:#e1e8db; --yhm-sage-300:#c3d0bb; --yhm-sage-500:#7e9277; --yhm-sage-700:#556950; --yhm-sage-900:#3f4f3b;
  --yhm-clay:#a8644b; --yhm-clay-dark:#8f5340; --yhm-peach:#f3e3d8;
  --yhm-serif:"YHM Serif",Georgia,serif; --yhm-sans:"YHM Sans",system-ui,sans-serif;
}

/* ---------- self-hosted fonts ---------- */
@font-face{font-family:"YHM Serif";src:url(../fonts/cg-latin.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;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:"YHM Serif";src:url(../fonts/cg-latin-ext.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"YHM Serif";src:url(../fonts/cg-italic-latin.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap;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:"YHM Serif";src:url(../fonts/cg-italic-latin-ext.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"YHM Sans";src:url(../fonts/jost-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;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:"YHM Sans";src:url(../fonts/jost-latin-ext.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* theme font names -> new fonts (declared after the theme's own @font-face, so these win) */
@font-face{font-family:"Unna Regular";src:url(../fonts/cg-latin.woff2) format("woff2"),url(../fonts/cg-latin-ext.woff2) format("woff2");font-style:normal;font-display:swap;size-adjust:112%}
@font-face{font-family:"Unna";src:url(../fonts/cg-latin.woff2) format("woff2");font-style:normal;font-display:swap;size-adjust:112%}
@font-face{font-family:"Unna";src:url(../fonts/cg-italic-latin.woff2) format("woff2");font-style:italic;font-display:swap;size-adjust:112%}
@font-face{font-family:"Unna Italic";src:url(../fonts/cg-italic-latin.woff2) format("woff2");font-style:normal;font-display:swap;size-adjust:112%}
@font-face{font-family:"Unna Italic";src:url(../fonts/cg-italic-latin.woff2) format("woff2");font-style:italic;font-display:swap;size-adjust:112%}
@font-face{font-family:"Ylee MHIM";src:url(../fonts/cg-italic-latin.woff2) format("woff2");font-style:normal;font-display:swap;size-adjust:100%}
@font-face{font-family:"Unna Bold";src:url(../fonts/jost-latin.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"Nunito Light";src:url(../fonts/jost-latin.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"Nunito Regular";src:url(../fonts/jost-latin.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"Nunito Bold";src:url(../fonts/jost-latin.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url(../fonts/jost-latin.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url(../fonts/jost-latin.woff2) format("woff2");font-style:italic;font-display:swap}

/* ---------- base ---------- */
html body{background:var(--yhm-ivory)}
body, .flo-footer, .flo-header{font-family:var(--yhm-sans)}
body{color:var(--yhm-text)}
::selection{background:var(--yhm-sage-300); color:var(--yhm-ink)}
.flo-block, .flo-section, main, .flo-wrap, .flo_page_wrap{background-color:transparent}

/* ---------- header (desktop) ---------- */
.flo-header{background:var(--yhm-ivory) !important}
.flo-header *{border-color:var(--yhm-line) !important}
.flo-header__menu a, .flo-header__menu .menu-item > a{font-family:var(--yhm-sans) !important; font-weight:500 !important; font-size:13px !important; letter-spacing:.18em !important; text-transform:uppercase !important; color:var(--yhm-ink) !important; transition:color .2s}
.flo-header__menu a:hover{color:var(--yhm-clay) !important}
.flo-header__menu a[href*="/contact"]{display:inline-block; padding:9px 18px !important; border-radius:999px; background:var(--yhm-clay); color:#fff !important; line-height:1.2 !important; margin:0 !important}
.flo-header__menu a[href*="/contact"]:hover{background:var(--yhm-clay-dark); color:#fff !important}
.flo-header__social a, .flo-header__social .flo-icon{color:var(--yhm-sage-700) !important}

/* logo */
.yhm-logo{display:inline-flex !important; align-items:center; gap:14px; text-decoration:none !important; color:var(--yhm-ink) !important; max-width:none !important; height:auto !important}
.yhm-logo .yhm-logo__mark{width:58px; height:58px; flex:0 0 auto}
.yhm-logo .yhm-logo__text{display:flex; flex-direction:column; line-height:1.05; text-align:left}
.yhm-logo .yhm-logo__name{font-family:var(--yhm-serif); font-weight:500; font-size:30px; letter-spacing:.005em; color:var(--yhm-ink); white-space:nowrap}
.yhm-logo .yhm-logo__tag{margin-top:6px; font-family:var(--yhm-sans); font-weight:500; font-size:10px; letter-spacing:.42em; text-transform:uppercase; color:var(--yhm-sage-700); white-space:nowrap}
@media (min-width:2300px){ .yhm-logo .yhm-logo__mark{width:72px;height:72px} .yhm-logo .yhm-logo__name{font-size:38px} .yhm-logo .yhm-logo__tag{font-size:12px} }

/* ---------- header (mobile) ---------- */
.flo-header-mobile, .flo-header-mobile.flo-header-mobile--dark{background:var(--yhm-ivory) !important; border-bottom:1px solid var(--yhm-line)}
.flo-header-mobile .yhm-logo .yhm-logo__mark{width:42px;height:42px}
.flo-header-mobile .yhm-logo .yhm-logo__name{font-size:22px}
.flo-header-mobile .yhm-logo .yhm-logo__tag{font-size:8px; letter-spacing:.34em; margin-top:4px}
.flo-header-mobile__menu-trigger, .flo-header-mobile__menu-trigger *{color:var(--yhm-ink) !important; border-color:var(--yhm-ink) !important}
.flo-header-mobile__menu-trigger-item{background-color:var(--yhm-ink) !important}
.flo-mobile-menu, .flo-mobile-menu__content{background:var(--yhm-sage-100) !important}
.flo-mobile-menu a{color:var(--yhm-ink) !important; font-family:var(--yhm-serif) !important}
.flo-mobile-menu .yhm-logo .yhm-logo__name{font-size:24px}

/* ---------- footer ---------- */
.flo-footer__main-block, .flo-footer-type-b{background:var(--yhm-cream) !important; color:var(--yhm-text) !important}
.flo-footer, .flo-footer p{color:var(--yhm-text)}
.flo-footer a{color:var(--yhm-ink) !important}
.flo-footer a:hover{color:var(--yhm-clay) !important}
.flo-footer h3, .flo-footer__text-block-title, .flo-footer__copyright-notice-title{font-family:var(--yhm-sans) !important; font-weight:500 !important; letter-spacing:.24em !important; text-transform:uppercase; color:var(--yhm-sage-700) !important}
.flo-footer .menu a, .flo-footer nav a{font-family:var(--yhm-sans) !important; font-weight:500; letter-spacing:.16em}
.flo-footer .yhm-logo .yhm-logo__name{font-size:30px}

/* ---------- buttons / links across theme ---------- */
.flo-post a:not([class]){color:var(--yhm-clay-dark)}
.flo-post a:not([class]):hover{color:var(--yhm-sage-700)}
[class*="__button"], [class*="-button"]:not(.flo-submit-button):not([class*="mpp"]), .flo-link, .flo-btn{transition:background .2s, color .2s}
#to_top_scrollup, .to-top{background-color:var(--yhm-sage-700) !important; border-radius:999px !important; opacity:.9}

/* ---------- sticky "check your date" ---------- */
.yhm-sticky-cta{position:fixed; z-index:9990; left:24px; bottom:24px; display:inline-flex; align-items:center; gap:10px; padding:15px 24px; border-radius:999px; background:var(--yhm-clay); color:#fff !important; text-decoration:none !important; font-family:var(--yhm-sans); font-weight:500; font-size:13px; letter-spacing:.18em; text-transform:uppercase; box-shadow:0 14px 34px -14px rgba(90,50,35,.55); transition:transform .3s, opacity .3s, background .2s}
.yhm-sticky-cta:hover{background:var(--yhm-clay-dark)}
.yhm-sticky-cta svg{width:16px; height:16px}
.yhm-sticky-cta.is-hidden{opacity:0; transform:translateY(20px); pointer-events:none}
@media (max-width:640px){
  .yhm-sticky-cta{left:12px; right:12px; bottom:12px; justify-content:center; padding:16px 20px}
  #to_top_scrollup{bottom:84px !important}
}

/* ---------- page titles (theme) ---------- */
.flo-page-head__title, .section-text-content__title, h1.entry-title{color:var(--yhm-ink) !important}
.flo-page-head--with-border{border-color:var(--yhm-line) !important}

/* =====================================================================
   HOMEPAGE [yhm_home]
   ===================================================================== */
.yhm-home-page .section-text-content{width:100% !important; padding:0 !important}
.yhm-home-page .section-text-content__title{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
.yhm-home-page .section-text-content__content{max-width:none !important}
.yhm-home{--fs:clamp(16px,.3vw + 12.5px,20px); font-family:var(--yhm-sans); font-weight:300; font-size:var(--fs); line-height:1.7; color:var(--yhm-text); text-align:left}
@media (min-width:2300px){ .yhm-home{zoom:1.25} }
@media (min-width:3200px){ .yhm-home{zoom:1.6} }
.yhm-home *{box-sizing:border-box}
.yhm-home p, .yhm-home h1, .yhm-home h2, .yhm-home h3{margin:0; letter-spacing:normal; text-transform:none; text-align:left; color:inherit; font-size:inherit; line-height:inherit}
.yhm-home ul{list-style:none; margin:0; padding:0}
.yhm-home li:before{display:none}
.yhm-home img{display:block; width:100%; height:100%; object-fit:cover; border-radius:4px}
.yhm-wrap{width:min(1280px, calc(100vw - 64px)); margin:0 auto}
.yhm-wrap--narrow{width:min(1100px, calc(100vw - 64px))}
.yhm-home .yhm-eyebrow{font-family:var(--yhm-sans); font-weight:500; font-size:12px; letter-spacing:.32em; text-transform:uppercase; color:var(--yhm-sage-700); margin-bottom:20px}
.yhm-home .yhm-h2{font-family:var(--yhm-serif); font-weight:400; font-size:clamp(40px,2.6vw + 14px,64px); line-height:1.02; color:var(--yhm-ink)}
.yhm-home em{font-style:italic; color:var(--yhm-clay)}

.yhm-pill{display:inline-block; padding:17px 30px; border-radius:999px; font-family:var(--yhm-sans) !important; font-weight:500; font-size:12px !important; letter-spacing:.22em; text-transform:uppercase; text-decoration:none !important; line-height:1.2; transition:background .2s, color .2s, border-color .2s}
.yhm-pill--clay{background:var(--yhm-clay); color:#fff !important; border:1px solid var(--yhm-clay)}
.yhm-pill--clay:hover{background:var(--yhm-clay-dark); border-color:var(--yhm-clay-dark)}
.yhm-pill--line{border:1px solid var(--yhm-sage-500); color:var(--yhm-sage-700) !important; background:transparent}
.yhm-pill--line:hover{background:var(--yhm-sage-700); border-color:var(--yhm-sage-700); color:#fff !important}

/* hero */
.yhm-hero{width:min(1280px, calc(100vw - 64px)); margin:0 auto; padding:clamp(40px,4vw,72px) 0 clamp(56px,5vw,96px); display:flex; flex-wrap:wrap; gap:clamp(32px,4vw,64px); align-items:center}
.yhm-hero__text{flex:1 1 420px; min-width:0}
.yhm-home .yhm-hero__title{font-family:var(--yhm-serif); font-weight:400; font-size:clamp(52px,4.4vw + 12px,96px); line-height:1.02; letter-spacing:-.01em; color:var(--yhm-ink)}
.yhm-home .yhm-hero__lead{margin-top:28px; max-width:480px; font-size:calc(var(--fs) + 2px); color:var(--yhm-text)}
.yhm-hero__btns{margin-top:36px; display:flex; flex-wrap:wrap; gap:14px}
.yhm-hero__photos{flex:1 1 460px; min-width:0; display:flex; gap:18px; align-items:flex-end}
.yhm-hero__big{width:62%; aspect-ratio:2/3}
.yhm-hero__small{width:38%; display:flex; flex-direction:column; gap:14px}
.yhm-hero__small img{aspect-ratio:2/3; height:auto}
.yhm-home .yhm-hero__small p{font-family:var(--yhm-serif); font-style:italic; font-size:19px; color:var(--yhm-sage-700); line-height:1.3}

/* about + stats */
.yhm-about{background:var(--yhm-sage-100); padding:clamp(64px,6vw,110px) 0; text-align:center}
.yhm-home .yhm-about__quote{font-family:var(--yhm-serif); font-weight:500; font-size:clamp(26px,1.6vw + 14px,42px); line-height:1.35; color:var(--yhm-ink); text-align:center; max-width:880px; margin:0 auto}
.yhm-home .yhm-about__sign{margin-top:18px; font-weight:500; font-size:13px; letter-spacing:.3em; text-transform:uppercase; color:var(--yhm-sage-700); text-align:center}
.yhm-statcards{margin:52px 0 40px !important; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
.yhm-statcards li{background:var(--yhm-ivory); border-radius:18px; padding:34px 16px; box-shadow:0 20px 44px -32px rgba(63,79,59,.6); display:flex; flex-direction:column; align-items:center; gap:10px}
.yhm-statcards b{font-family:var(--yhm-serif); font-weight:500; font-size:clamp(52px,3vw + 20px,84px); line-height:1; color:var(--yhm-clay)}
.yhm-statcards span{font-weight:500; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--yhm-sage-900); text-align:center}

/* stories */
.yhm-stories{padding:clamp(64px,6vw,110px) 0}
.yhm-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:44px}
.yhm-stories__grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px}
.yhm-story{text-decoration:none !important; color:var(--yhm-ink) !important; display:block}
.yhm-story:nth-child(2){margin-top:80px}
.yhm-story__img{display:block; aspect-ratio:2/3; overflow:hidden; border-radius:4px}
.yhm-story__img img{transition:transform .7s ease}
.yhm-story:hover .yhm-story__img img{transform:scale(1.035)}
.yhm-story__place{display:block; margin-top:16px; font-weight:500; font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--yhm-sage-700)}
.yhm-story__name{display:block; margin-top:4px; font-family:var(--yhm-serif); font-weight:500; font-size:clamp(24px,.8vw + 16px,32px); line-height:1.2}

/* approach */
.yhm-approach{border-top:1px solid var(--yhm-line); padding:clamp(64px,6vw,100px) 0}
.yhm-approach__grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px}
.yhm-home .yhm-roman{font-family:var(--yhm-serif); font-size:42px; line-height:1; color:var(--yhm-sage-500)}
.yhm-home .yhm-approach h3{margin:12px 0 10px; font-family:var(--yhm-serif); font-weight:500; font-size:clamp(26px,.8vw + 18px,34px); line-height:1.15; color:var(--yhm-ink)}
.yhm-approach__cta{margin-top:44px}

/* review */
.yhm-review{display:flex; flex-wrap:wrap; background:var(--yhm-sage-50)}
.yhm-review__img{flex:1 1 560px; min-width:0; height:clamp(380px,42vw,680px)}
.yhm-review__img img{border-radius:0}
.yhm-review__text{flex:1 1 420px; min-width:0; padding:clamp(48px,5vw,80px) clamp(28px,4vw,64px); display:flex; flex-direction:column; justify-content:center; gap:22px}
.yhm-home .yhm-review__quote{font-family:var(--yhm-serif); font-style:italic; font-weight:500; font-size:clamp(28px,1.4vw + 16px,44px); line-height:1.3; color:var(--yhm-ink)}
.yhm-home .yhm-review__who{font-weight:500; font-size:13px; letter-spacing:.24em; text-transform:uppercase; color:var(--yhm-clay)}
.yhm-review__more{color:var(--yhm-sage-700) !important; font-size:15px}

@media (max-width:900px){
  .yhm-stories__grid{grid-template-columns:1fr 1fr}
  .yhm-story:nth-child(2){margin-top:0}
  .yhm-story:nth-child(3){display:none}
  .yhm-approach__grid{grid-template-columns:1fr; gap:32px}
}
@media (max-width:640px){
  .yhm-wrap, .yhm-wrap--narrow, .yhm-hero{width:calc(100vw - 32px)}
  .yhm-hero__photos{gap:10px}
  .yhm-statcards{grid-template-columns:1fr; gap:12px}
  .yhm-statcards li{flex-direction:row; justify-content:center; padding:18px 16px; gap:16px}
  .yhm-stories__grid{grid-template-columns:1fr; gap:36px}
  .yhm-story:nth-child(3){display:block}
  .yhm-pill{padding:16px 24px}
  .yhm-hero__btns .yhm-pill{flex:1 1 auto; text-align:center}
}
.yhm-logo .yhm-logo__mark text{letter-spacing:0 !important; word-spacing:0 !important}
.yhm-logo .yhm-logo__name, .yhm-logo .yhm-logo__tag{word-spacing:normal !important}
.flo-footer .yhm-logo .yhm-logo__name{letter-spacing:.005em !important}
/* menu: one line, CTA pill at the end */
.flo-header__menu ul.menu{flex-wrap:nowrap !important; align-items:center !important}
.flo-header__menu ul.menu > li{padding:0 clamp(10px,1.1vw,22px) !important; white-space:nowrap}
.flo-header__menu ul.menu > li:last-child{padding-right:0 !important}
.flo-header__menu a, .flo-header__menu .menu-item > a{letter-spacing:.14em !important; font-size:clamp(12px,.2vw + 9.5px,15px) !important}
/* numbers: modern lining figures everywhere */
.yhm-home, #yhm-pr, .yhm-cb, .flo-post{font-variant-numeric:lining-nums}
.yhm-statcards b, #yhm-pr .yhm-stats b, #yhm-pr .yhm-price__big, #yhm-pr .yhm-x__price, .yhm-home .yhm-roman{font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1}
.yhm-pill{font-size:13px !important}
/* less empty space above the footer */
.flo-footer-sidebars{padding-top:0 !important; padding-bottom:0 !important; margin:0 !important}
.yhm-pill{text-transform:uppercase !important; letter-spacing:.2em !important}
.mpp-ok, .mpp-actions button{background:#556950 !important; border-color:#556950 !important; color:#fff !important; border-radius:999px !important}
@media (max-width:767px){
  .flo-header-mobile .yhm-logo{gap:10px}
  .flo-header-mobile .yhm-logo .yhm-logo__mark{width:36px; height:36px}
  .flo-header-mobile .yhm-logo .yhm-logo__name{font-size:19px}
  .flo-header-mobile .yhm-logo .yhm-logo__tag{font-size:7.5px; letter-spacing:.3em}
}
@media (max-width:360px){ .flo-header-mobile .yhm-logo .yhm-logo__tag{display:none} .flo-header-mobile .yhm-logo .yhm-logo__name{font-size:17px} }
