/* ==========================================================================
   House of Slow - page components (Beaver Builder rows with class "hos-row")
   Row classes: hos-hero, hos-intro, hos-cards, hos-page-intro, hos-empty,
   hos-split, hos-journal, hos-contact, hos-letter, hos-footer (+ hos-ruled).
   Module classes: hos-eyebrow, hos-kicker, hos-h1, hos-h2, hos-h3, hos-text,
   hos-cta, hos-photo. Links in text: a.hos-btn, a.hos-btn--light, a.hos-link.
   ========================================================================== */

/* --- Shell: content on the logo line, max 1520px ------------------------- */
.fl-row.hos-row>.fl-row-content-wrap{padding:0 var(--hos-gutter) !important;}
.fl-row.hos-row .fl-row-content{max-width:var(--hos-content) !important;width:100%;margin:0 auto !important;padding:0 !important;}
.fl-row.hos-row .fl-col-group::before,.fl-row.hos-row .fl-col-group::after,
.fl-row.hos-row .fl-col-content::before,.fl-row.hos-row .fl-col-content::after{display:none !important;content:none !important;}
.fl-row.hos-row .fl-col{float:none !important;width:auto !important;min-width:0;}
.fl-row.hos-row .fl-col-content{margin:0 !important;padding:0 !important;border:0 !important;}
.fl-row.hos-row .fl-module,.fl-row.hos-row .fl-module-content{margin:0 !important;}

/* --- Type ---------------------------------------------------------------- */
.hos-row .fl-module.hos-eyebrow,.hos-row .fl-module.hos-kicker{font-family:var(--hos-sans);font-size:11px;font-weight:600;line-height:1.65;letter-spacing:.15em;text-transform:uppercase;color:var(--hos-label);}
.hos-row .hos-eyebrow p,.hos-row .hos-kicker p{margin:0;}
.hos-row .fl-module.hos-h1,.hos-row .hos-h1 .fl-heading{max-width:850px;margin:22px 0 24px !important;font-family:var(--hos-serif) !important;font-size:clamp(46px,5.4vw,86px) !important;font-weight:400 !important;line-height:1.06 !important;letter-spacing:-.01em;color:#fff !important;}
.hos-row .fl-module.hos-h2,.hos-row .hos-h2 .fl-heading{margin:15px 0 22px !important;font-family:var(--hos-serif) !important;font-size:clamp(34px,3.8vw,56px) !important;font-weight:400 !important;line-height:1.08 !important;letter-spacing:-.005em;color:var(--hos-ink) !important;}
.hos-row .fl-module.hos-h3,.hos-row .hos-h3 .fl-heading{margin:13px 0 14px !important;font-family:var(--hos-serif) !important;font-size:28px !important;font-weight:400 !important;line-height:1.1 !important;color:var(--hos-ink) !important;}
.hos-row .fl-heading a,.hos-row .fl-heading-text{color:inherit !important;font:inherit;text-decoration:none;}
.hos-row .fl-module.hos-text{font-size:17px;line-height:1.65;color:var(--hos-muted);}
.hos-row .hos-text p{margin:0 0 1em;}
.hos-row .hos-text p:last-child{margin-bottom:0;}

/* --- Buttons & links ------------------------------------------------------- */
.hos-row .fl-module.hos-cta{margin-top:30px !important;}
.hos-row .hos-cta p{margin:0;}
.hos-btn,.hos-row .hos-cta a.hos-btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:50px;padding:0 22px;background:var(--hos-ink);color:var(--hos-paper) !important;border:1px solid var(--hos-ink);font-family:var(--hos-sans);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none !important;line-height:1;transition:background-color .2s,color .2s,border-color .2s;}
.hos-btn:hover,.hos-row .hos-cta a.hos-btn:hover{background:transparent;color:var(--hos-ink) !important;}
.hos-btn--light,.hos-row .hos-cta a.hos-btn--light{background:var(--hos-paper);color:var(--hos-ink) !important;border-color:var(--hos-paper);}
.hos-btn--light:hover,.hos-row .hos-cta a.hos-btn--light:hover{background:transparent;color:#fff !important;border-color:#fff;}
.hos-link,.hos-row a.hos-link{display:inline-block;padding-bottom:6px;border-bottom:1px solid var(--hos-stone);font-family:var(--hos-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--hos-ink) !important;text-decoration:none !important;transition:border-color .2s;}
.hos-link:hover,.hos-row a.hos-link:hover{border-color:var(--hos-ink);}

/* --- Photos ----------------------------------------------------------------- */
.hos-row .hos-photo .fl-photo,.hos-row .hos-photo .fl-photo-content,.hos-row .hos-photo a{display:block;width:100%;}
.hos-row .hos-photo img{display:block;width:100% !important;height:480px;object-fit:cover;border-radius:0;}

/* --- Hero ------------------------------------------------------------------- */
.fl-row.hos-hero>.fl-row-content-wrap{position:relative;display:flex;align-items:center;height:min(690px,62vw);min-height:510px !important;overflow:hidden;background-color:#4d4a43;background-size:cover !important;background-position:center 53% !important;}
.fl-row.hos-hero>.fl-row-content-wrap::after{content:"" !important;display:block !important;position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(15,15,14,.68),rgba(15,15,14,.26) 53%,rgba(15,15,14,.05)) !important;opacity:1 !important;}
.fl-row.hos-hero .fl-row-content{position:relative;z-index:1;}
.fl-row.hos-hero .fl-col-content{max-width:960px;}
.hos-hero .fl-module.hos-eyebrow{color:rgba(255,255,255,.78);}
.hos-hero .fl-module.hos-text{max-width:620px;font-size:clamp(16px,1.3vw,20px);color:rgba(255,255,255,.88);}
@media (prefers-reduced-motion:no-preference){
  .fl-row.hos-hero .fl-col-content>.fl-module{animation:hos-rise .4s cubic-bezier(.16,1,.3,1) both;}
  .fl-row.hos-hero .fl-col-content>.fl-module:nth-child(2){animation-delay:.06s;}
  .fl-row.hos-hero .fl-col-content>.fl-module:nth-child(3){animation-delay:.12s;}
  .fl-row.hos-hero .fl-col-content>.fl-module:nth-child(4){animation-delay:.18s;}
}
@keyframes hos-rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* --- Home: intro (kicker + h2 | copy) --------------------------------------- */
.fl-row.hos-intro .fl-row-content{padding:120px 0 105px !important;}
.fl-row.hos-intro .fl-col-group{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:start;}
.fl-row.hos-intro .fl-module.hos-h2{max-width:680px;margin-bottom:0 !important;}
.fl-row.hos-intro .fl-module.hos-text{max-width:660px;padding-top:7px;font-size:18px;}

/* --- Home: three cards ------------------------------------------------------- */
.fl-row.hos-cards .fl-row-content{padding:0 0 125px !important;}
.fl-row.hos-cards .fl-col-group{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.fl-row.hos-cards .hos-photo img{height:280px;transition:opacity .3s ease-out;}
.fl-row.hos-cards .hos-photo a:hover img{opacity:.88;}
.fl-row.hos-cards .fl-module.hos-photo{margin-bottom:24px !important;}
.fl-row.hos-cards .fl-module.hos-text{font-size:15px;color:var(--hos-muted-2);min-height:52px;}
.fl-row.hos-cards .fl-module.hos-cta{margin-top:12px !important;}

/* --- Page intro ------------------------------------------------------------- */
.fl-row.hos-page-intro .fl-row-content{padding:105px 0 68px !important;}
.fl-row.hos-page-intro .fl-col-content{max-width:1030px;}
.fl-row.hos-page-intro .fl-module.hos-text{max-width:790px;font-size:18px;}

/* --- Rule above a section ------------------------------------------------------ */
.fl-row.hos-ruled .fl-row-content{border-top:1px solid var(--hos-line);}

/* --- Empty state (text | photo) ---------------------------------------------- */
.fl-row.hos-empty .fl-row-content{padding:52px 0 65px !important;}
.fl-row.hos-empty .fl-col-group{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;}
.fl-row.hos-empty .fl-col:first-child .fl-col-content{max-width:650px;}
.fl-row.hos-empty .hos-photo img{height:390px;}

/* --- Split (text | photo) ----------------------------------------------------- */
.fl-row.hos-split .fl-row-content{padding:0 0 120px !important;}
.fl-row.hos-split .fl-col-group{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;}
.fl-row.hos-split .fl-col:first-child .fl-col-content{max-width:660px;}
.fl-row.hos-split .hos-photo img{height:480px;}

/* --- Journal feature (photo | text) --------------------------------------------- */
.fl-row.hos-journal .fl-row-content{padding:24px 0 100px !important;}
.fl-row.hos-journal .fl-col-group{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;}
.fl-row.hos-journal .hos-photo img{height:490px;}
.fl-row.hos-journal .fl-module.hos-text{max-width:520px;}

/* --- Contact (form | photo) ----------------------------------------------------- */
.fl-row.hos-contact .fl-row-content{padding:25px 0 120px !important;}
.fl-row.hos-contact .fl-col-group{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:start;}
.fl-row.hos-contact .hos-photo img{height:560px;}

/* Contact form (Gravity Forms 9) */
.hos-gf-contact .gform_wrapper{margin:0 !important;}
.hos-gf-contact .gform_heading{display:none;}
.hos-gf-contact .gform_fields{row-gap:22px !important;}
.hos-gf-contact .gfield_label{display:block;margin:0 0 8px !important;font:600 11px/1.4 var(--hos-sans) !important;letter-spacing:.1em !important;text-transform:uppercase;color:#5e5c57 !important;}
.hos-gf-contact .gfield_required{display:none !important;}
.hos-gf-contact input[type="text"],.hos-gf-contact input[type="email"]{width:100% !important;height:auto !important;min-height:0 !important;padding:10px 0 !important;border:0 !important;border-bottom:1px solid var(--hos-stone) !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;font:400 16px/1.5 var(--hos-sans) !important;color:var(--hos-ink) !important;}
.hos-gf-contact textarea{width:100% !important;min-height:125px !important;height:125px;padding:14px !important;border:1px solid var(--hos-line) !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;font:400 16px/1.5 var(--hos-sans) !important;color:var(--hos-ink) !important;resize:vertical;}
.hos-gf-contact input:focus,.hos-gf-contact textarea:focus{border-color:var(--hos-ink) !important;outline:none !important;}
.hos-gf-contact .ginput_container_consent{display:flex;align-items:flex-start;gap:10px;}
.hos-gf-contact .ginput_container_consent input[type="checkbox"]{margin-top:3px;accent-color:var(--hos-ink);border-radius:0 !important;}
.hos-gf-contact .gfield_consent_label{font:400 14px/1.5 var(--hos-sans) !important;color:var(--hos-muted) !important;}
.hos-gf-contact .gform_footer{margin:12px 0 0 !important;padding:0 !important;}
.hos-gf-contact .gform_button,.hos-gf-contact button[type="submit"],.hos-gf-contact input[type="submit"]{display:inline-flex !important;align-items:center;min-height:50px !important;padding:0 22px !important;background:var(--hos-ink) !important;color:var(--hos-paper) !important;border:1px solid var(--hos-ink) !important;border-radius:0 !important;box-shadow:none !important;font:600 11px/1 var(--hos-sans) !important;letter-spacing:.09em !important;text-transform:uppercase !important;cursor:pointer;transition:background-color .2s,color .2s;}
.hos-gf-contact .gform_button::after,.hos-gf-contact button[type="submit"]::after{content:"\2197";margin-left:22px;}
.hos-gf-contact .gform_button:hover,.hos-gf-contact button[type="submit"]:hover{background:transparent !important;color:var(--hos-ink) !important;}
.hos-gf-contact .gfield_validation_message,.hos-gf-contact .validation_message{margin-top:6px !important;padding:0 !important;border:0 !important;background:none !important;font-size:13px !important;color:#8a3b2e !important;}
.hos-gf-contact .gform_validation_errors{border-radius:0 !important;box-shadow:none !important;}
.hos-gf-contact .gform_confirmation_message{font-size:17px;color:var(--hos-ink);}

/* --- Slow Letter band (Themer footer) ----------------------------------------- */
.fl-row.hos-letter>.fl-row-content-wrap{background:var(--hos-band) !important;}
.fl-row.hos-letter .fl-row-content{padding:76px 0 !important;}
.fl-row.hos-letter .fl-col-group{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.fl-row.hos-letter .fl-module.hos-h2,.fl-row.hos-letter .hos-h2 .fl-heading{margin:12px 0 !important;font-size:clamp(30px,3vw,46px) !important;}
.fl-row.hos-letter .fl-module.hos-text{max-width:580px;font-size:16px;}
#slow-letter{scroll-margin-top:24px;}

.hos-gf-letter .gform_wrapper{margin:0 !important;}
.hos-gf-letter .gform_heading{display:none;}
.hos-gf-letter .gform_fields{display:flex !important;flex-wrap:nowrap;gap:0 !important;align-items:stretch;}
.hos-gf-letter .gfield{margin:0 !important;padding:0 !important;}
.hos-gf-letter .gfield--type-email{flex:1 1 auto;min-width:0;}
.hos-gf-letter .gfield--type-submit{flex:0 0 auto;width:auto !important;}
.hos-gf-letter .gfield_label,.hos-gf-letter .gform-field-label{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.hos-gf-letter input[type="email"]{width:100% !important;height:54px !important;min-height:54px !important;padding:0 18px !important;border:1px solid var(--hos-ink) !important;border-right:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;font:400 15px/1.2 var(--hos-sans) !important;color:var(--hos-ink) !important;}
.hos-gf-letter input[type="email"]::placeholder{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--hos-muted);opacity:1;}
.hos-gf-letter .gform_button,.hos-gf-letter button[type="submit"]{position:relative;width:62px !important;min-width:62px;height:54px !important;min-height:54px !important;margin:0 !important;padding:0 !important;border:1px solid var(--hos-ink) !important;border-radius:0 !important;background:var(--hos-ink) !important;color:transparent !important;font-size:0 !important;box-shadow:none !important;cursor:pointer;}
.hos-gf-letter .gform_button::after,.hos-gf-letter button[type="submit"]::after{content:"\2197";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 22px/1 var(--hos-sans);color:var(--hos-paper);}
.hos-gf-letter .gform_button:hover,.hos-gf-letter button[type="submit"]:hover{background:#3a3a37 !important;}
.hos-gf-letter .gfield_validation_message,.hos-gf-letter .validation_message{margin-top:8px !important;padding:0 !important;border:0 !important;background:none !important;font-size:13px !important;color:#8a3b2e !important;}
.hos-gf-letter .gform_validation_errors,.hos-gf-letter .gform_ajax_spinner{display:none !important;}
.hos-gf-letter .gform_confirmation_message{font-size:17px;line-height:1.6;color:var(--hos-ink);}

/* --- Footer --------------------------------------------------------------------- */
.fl-row.hos-footer .fl-row-content{padding:48px 0 34px !important;}
.fl-row.hos-footer .fl-col-group{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;}
.fl-row.hos-footer .fl-col:last-child .fl-col-content{display:flex;align-items:center;gap:26px;}
.hos-footer .hos-footer-mark a{font-family:var(--hos-serif);font-size:20px;letter-spacing:.02em;text-transform:uppercase;color:var(--hos-ink) !important;text-decoration:none !important;}
.hos-footer .hos-footer-mark p,.hos-footer .hos-footer-links p{margin:0;}
.hos-footer .hos-footer-links p{display:flex;flex-wrap:wrap;gap:14px 26px;}
.hos-footer .hos-footer-links a{font-size:12px;color:var(--hos-muted-2) !important;text-decoration:none !important;transition:color .2s;}
.hos-footer .hos-footer-links a:hover{color:var(--hos-ink) !important;}
.hos-footer .hos-instagram .fl-icon-wrap,.hos-footer .hos-instagram .fl-icon{display:inline-flex;margin:0 !important;}
.hos-footer .hos-instagram i,.hos-footer .hos-instagram i::before{font-size:17px !important;line-height:1 !important;color:var(--hos-muted-2) !important;}
.hos-footer .hos-instagram a{display:inline-flex;width:auto !important;height:auto !important;background:none !important;text-decoration:none !important;}
.hos-footer .hos-instagram a:hover i,.hos-footer .hos-instagram a:hover i::before{color:var(--hos-ink) !important;}

/* --- Tablet ------------------------------------------------------------------------ */
@media (max-width:1000px){
  .fl-row.hos-hero>.fl-row-content-wrap{min-height:450px !important;}
  .fl-row.hos-intro .fl-col-group{gap:5vw;}
  .fl-row.hos-cards .fl-col-group{gap:18px;}
  .fl-row.hos-cards .hos-photo img{height:230px;}
}

/* --- Mobile ------------------------------------------------------------------------- */
@media (max-width:760px){
  .fl-row.hos-hero>.fl-row-content-wrap{height:76vh;min-height:540px !important;max-height:690px;background-position:58% center !important;}
  .hos-row .fl-module.hos-h1,.hos-row .hos-h1 .fl-heading{font-size:clamp(42px,11.5vw,60px) !important;}
  .hos-row .fl-module.hos-text{font-size:16px !important;}
  .fl-row.hos-intro .fl-row-content{padding:78px 0 75px !important;}
  .fl-row.hos-intro .fl-col-group{grid-template-columns:1fr;gap:22px;}
  .fl-row.hos-cards .fl-row-content{padding-bottom:80px !important;}
  .fl-row.hos-cards .fl-col-group{grid-template-columns:1fr;gap:44px;}
  .fl-row.hos-cards .hos-photo img{height:310px;}
  .fl-row.hos-cards .fl-module.hos-text{min-height:0;}
  .fl-row.hos-page-intro .fl-row-content{padding:75px 0 45px !important;}
  .fl-row.hos-empty .fl-col-group,.fl-row.hos-split .fl-col-group,.fl-row.hos-journal .fl-col-group,.fl-row.hos-contact .fl-col-group{grid-template-columns:1fr;gap:35px;}
  .fl-row.hos-empty .fl-row-content,.fl-row.hos-split .fl-row-content,.fl-row.hos-journal .fl-row-content,.fl-row.hos-contact .fl-row-content{padding-bottom:78px !important;}
  .fl-row.hos-journal .fl-row-content{padding-top:0 !important;}
  .fl-row.hos-split .hos-photo img,.fl-row.hos-journal .hos-photo img{height:350px;}
  .fl-row.hos-empty .hos-photo img{height:310px;}
  .fl-row.hos-contact .hos-photo img{height:400px;}
  .fl-row.hos-letter .fl-row-content{padding:56px 0 !important;}
  .fl-row.hos-letter .fl-col-group{grid-template-columns:1fr;gap:28px;}
  .fl-row.hos-footer .fl-row-content{padding:36px 0 28px !important;}
  .fl-row.hos-footer .fl-col-group{flex-direction:column;align-items:flex-start;}
  .fl-row.hos-footer .fl-col:last-child .fl-col-content{flex-wrap:wrap;gap:14px 20px;}
}
/* --- 14 okt 2026: BB 'small column' centring off on mobile --- */
.fl-row.hos-row .fl-col,.fl-row.hos-row .fl-col.fl-col-small{margin-left:0 !important;margin-right:0 !important;max-width:none !important;}
@media (max-width:760px){.fl-row.hos-row .fl-col{width:100% !important;}}
.fl-row.hos-footer .fl-col:last-child .fl-col-content{flex-direction:row !important;justify-content:flex-end !important;align-items:center !important;}
@media (max-width:760px){.fl-row.hos-footer .fl-col:last-child .fl-col-content{justify-content:flex-start !important;}}

/* --- 14 okt 2026: arrows on form buttons (Orbital resets ::after), hidden consent label --- */
.hos-gf-contact .gform_wrapper .gform_button::after{content:"\2197" !important;display:inline !important;margin-left:22px;}
.hos-gf-letter .gform_wrapper .gform_button::after{content:"\2197" !important;display:flex !important;}
.hos-gf-contact .gfield--type-consent>.gfield_label,.hos-gf-contact .gfield--type-consent>legend{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.hos-gf-letter .gform_wrapper button.gform-button::after{content:"\2197" !important;display:flex !important;position:absolute;inset:0;align-items:center;justify-content:center;font:400 22px/1 var(--hos-sans);color:var(--hos-paper);}

/* --- 14 okt 2026: confirmation messages after submitting --- */
.hos-gf-letter .gform_confirmation_message,.hos-gf-contact .gform_confirmation_message{padding:22px 0 0;border-top:1px solid var(--hos-ink);font-family:var(--hos-serif);font-size:clamp(20px,1.8vw,26px);line-height:1.35;color:var(--hos-ink);}
.hos-gf-letter .gform_confirmation_message::before,.hos-gf-contact .gform_confirmation_message::before{display:block;margin-bottom:10px;font:600 11px/1.65 var(--hos-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--hos-label);}
.hos-gf-letter .gform_confirmation_message::before{content:"Ingeschreven \2197";}
.hos-gf-contact .gform_confirmation_message::before{content:"Bericht verstuurd \2197";}
