/* Babylon family 1.7.0 — Thomas Damen's plum-and-sand application.
   This layer is limited to public pages; recap styles and runtimes are untouched. */
@font-face{font-family:'Cormorant Garamond';src:url('/assets/family/cormorant.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Eudoxus Sans';src:url('/assets/family/eudoxus.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Eudoxus Sans';src:url('/assets/family/eudoxus-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
body.family-design{
 --plum:#311D2C;--sand:#E0CDB3;--rose:#B08A87;--copper:#A17643;
 --paper:var(--sand);--ink:var(--plum);--muted:#554150;--rule:#998878;
 --copper-dark:var(--plum);--bg:var(--sand);--text:var(--plum);--border:var(--rule);
 --font-serif:'Cormorant Garamond',Georgia,serif;--font-ui:'Eudoxus Sans',Arial,sans-serif;--font-mono:var(--font-ui);
 --ui-text-primary-light:var(--plum);--ui-text-muted-light:#554150;--ui-interactive-light:var(--plum);
 --ui-text-primary-dark:var(--sand);--ui-text-secondary-dark:var(--sand);--ui-text-muted-dark:var(--sand);
 --ui-canvas-dark:var(--plum);--ui-surface-elevated:var(--plum);--ui-interactive-dark:var(--sand);
 --ui-focus-dark:var(--plum);--ui-focus-light:var(--sand);--ui-surface-light:var(--sand);
 --gutter:clamp(24px,5.55vw,100px);--radius-control:4px;
 background:var(--sand);color:var(--plum);font-family:var(--font-ui);font-size:18px;line-height:1.65;font-synthesis:none;
}
.family-design ::selection{background:var(--rose);color:var(--plum)}
.family-design :is(h1,h2,h3,h4){font-family:var(--font-serif);font-weight:400;letter-spacing:-.035em}
.family-design :is(p,li,dd,dt,input,select,textarea,button){font-family:var(--font-ui)}
.family-design :is(h1,h2,h3,h4) em{font-style:normal;font-weight:300;color:inherit}
.family-design .nav{background:var(--plum);border-color:#e0cdb32e;color:var(--sand);backdrop-filter:none}
.family-design .nav--scrolled{background:var(--plum)}
.family-design .nav__logo{width:218px;flex:0 1 218px}
.family-design .nav__brand-icon{content:url('/assets/family/wordmark-light.svg');mix-blend-mode:normal;width:218px;height:58px;object-fit:contain;object-position:left center}
.family-design .nav__logo::after{display:none}
.family-design :is(.nav__links a,.nav__lang){color:var(--sand);font-size:14px}
.family-design .nav__links .nav__cta{border:1px solid #e0cdb380;background:transparent;color:var(--sand);border-radius:4px}
.family-design .nav__links .nav__cta:hover{background:var(--sand);color:var(--plum)}
.family-design .nav__menu span{background:var(--sand)}
.family-design .mobile-menu{background:var(--plum);color:var(--sand)}
.family-design .mobile-menu a{color:var(--sand);font-family:var(--font-serif);font-weight:400}
.family-design .mobile-menu .nav__cta{background:var(--sand);color:var(--plum);border-radius:4px}
.family-design :is(.cursor-dot,.cursor-ring,.mouse-glow){display:none!important}
.family-design .scroll-progress{background:var(--copper)}
/* A human presence: image fades into the canvas, never across Thomas's face. */
.family-design .hb-hero{
 --ink:var(--sand);--muted:var(--sand);--paper:var(--plum);
 background:var(--plum);color:var(--sand);max-width:none;
 padding:154px var(--gutter) 100px;min-height:780px;gap:4vw;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
 overflow:hidden;isolation:isolate;
}
.family-design .hb-hero--home{min-height:940px;align-items:start;padding-top:155px;padding-bottom:94px}
.family-design .hb-hero .hero-copy{z-index:2}
.family-design .hb-hero__label{font-size:12px;line-height:1.7;font-weight:400;letter-spacing:.11em;padding-left:0;max-width:430px;color:var(--sand);margin-bottom:38px}
.family-design .hb-hero__label::before{display:none}
.family-design .hb-hero__name{font-size:clamp(64px,6.8vw,112px);font-weight:300;line-height:.98;max-width:14ch;letter-spacing:-.045em;color:var(--sand);margin-bottom:32px}
.family-design .hb-hero--home .hb-hero__name{font-size:clamp(88px,9.5vw,152px);font-weight:300;line-height:.88;letter-spacing:-.045em;max-width:10.6ch;margin-bottom:38px}
.family-design .hb-hero--home .hero-title-line{display:block}
.family-design .hb-hero--home .hero-title-line:nth-child(2){margin-left:4vw;white-space:nowrap}
.family-design .hb-hero--home .hb-hero__name em{font-style:normal;color:var(--sand);font-weight:300;white-space:nowrap}
.family-design .hb-hero__sub{font-family:var(--font-ui);font-size:17px;line-height:1.7;color:var(--sand);max-width:47ch;margin-bottom:22px}
.family-design .hb-hero__cta-row{margin-top:30px}
.family-design .hb-hero :is(.hb-hero__cta-primary,.hb-hero__cta-secondary){color:var(--sand);border-color:var(--sand);font-size:14px}
.family-design .hb-hero .hb-hero__cta-primary{background:var(--sand);color:var(--plum);border-radius:4px}
.family-design .hb-hero .hb-hero__cta-primary:hover{background:#fff;color:var(--plum);transform:none}
.family-design .hb-hero .hb-hero__photo{background:transparent;border:0;box-shadow:none;transform:none;align-self:center;aspect-ratio:4/5;width:100%;height:auto;max-height:780px;isolation:auto}
.family-design .hb-hero--home .hb-hero__photo{position:absolute;right:-3%;top:130px;bottom:48px;width:57%;height:auto;max-height:none;aspect-ratio:auto;z-index:0}
.family-design .hb-hero__photo::before{display:none}
.family-design .hb-hero .hb-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-focal,50% 50%);filter:grayscale(1);transform:none;opacity:1}
.family-design .hb-hero--home .hb-hero__photo img{object-position:64% center;mask-image:linear-gradient(90deg,transparent,#000 23%,#000 86%,transparent),linear-gradient(0deg,transparent,#000 16%,#000 88%,transparent);mask-composite:intersect}
.family-design :is(.hb-photo img,.hb-principle__portrait img,.hb-case__photo img,.hb-hero:not(.hb-hero--home) .hb-hero__photo img,.hb-text__photo img){filter:grayscale(1);border:0;border-radius:0;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.family-design :is(.hb-photo,.hb-principle__portrait,.hb-case__photo,.hb-text__photo){background:transparent;border:0;box-shadow:none;transform:none;overflow:visible}
.family-design :is(.hb-photo,.hb-principle__portrait,.hb-case__photo,.hb-text__photo)::before{display:none}
.family-design .hb-photo__caption{font:14px/1.6 var(--font-ui);color:inherit}
/* Reading and service compositions retain their original content sequence. */
.family-design :is(.hb-werk-intro,.hb-panel,.hb-text,.hb-prose,.hb-list,.hb-faq,.hb-facts,.hb-deliverables,.hb-pricing,.hb-crosssell){max-width:none;background:var(--sand);color:var(--plum)}
.family-design :is(.hb-werk-intro,.hb-panel,.hb-text,.hb-prose,.hb-faq,.hb-deliverables,.hb-pricing){padding-top:100px;padding-bottom:100px}
.family-design :is(.hb-panel__body-text,.hb-text__body,.hb-prose,.hb-werk-intro>p,.hb-case__statement-p,.hb-deliverables__list,.hb-faq__answer){font-family:var(--font-ui);font-size:18px;line-height:1.75}
.family-design :is(.hb-panel__head,.hb-text__h2,.hb-faq__title,.hb-werk-intro__title,.hb-facts__title){font-size:clamp(42px,4.7vw,76px);font-weight:300;line-height:1.04;letter-spacing:-.035em;color:var(--plum)}
.family-design .heading--long{font-size:clamp(36px,3.6vw,58px)!important;line-height:1.14!important}
.family-design .hb-werk-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:7vw;align-items:end;padding-inline:var(--gutter)}
.family-design .hb-werk-intro>p{max-width:45ch;margin:0}
.family-design .hb-panel{gap:8vw;align-items:center;padding-inline:var(--gutter)}
.family-design .hb-panel:nth-of-type(even){background:var(--sand)}
.family-design .hb-panel__head{max-width:17ch;margin-bottom:32px}
.family-design .hb-panel__price{font-family:var(--font-ui);font-size:16px;color:var(--plum);line-height:1.65}
.family-design .hb-panel__price em{font:400 32px/1.2 var(--font-serif);color:var(--plum)}
.family-design :is(.hb-panel__cta,.hb-topic__cta,.hb-pricing__cta,.hb-crosssell__cta,.hb-route-grid a){border-radius:4px;font-family:var(--font-ui);font-size:16px}
.family-design .hb-panel__num{font-family:var(--font-ui);font-size:14px;color:var(--plum)}
.family-design .hb-clients{max-width:none;padding:46px var(--gutter);background:var(--sand);border-bottom:1px solid var(--rule)}
.family-design .hb-clients__label{font:400 12px/1.6 var(--font-ui);color:var(--plum);letter-spacing:.12em}
.family-design .hb-testimonial{background:var(--rose);color:var(--plum);max-width:none;padding:100px var(--gutter)}
.family-design .hb-testimonial :is(blockquote,.hb-testimonial__quote){font:400 clamp(32px,3.6vw,58px)/1.15 var(--font-serif);color:var(--plum);letter-spacing:-.025em}
.family-design .hb-testimonial :is(p,a,span){color:var(--plum)}
.family-design .hb-principle{background:var(--plum);color:var(--sand);padding:110px var(--gutter)}
.family-design .hb-principle :is(.hb-principle__title,.hb-principle__body,.hb-principle__quote){color:var(--sand)}
.family-design .hb-principle__title{font-size:clamp(42px,5vw,80px);line-height:1.05;font-weight:300}
.family-design .hb-principle__body{font:18px/1.75 var(--font-ui)}
.family-design .hb-principle__quote{font:400 30px/1.25 var(--font-serif);border-color:var(--copper)}
.family-design .hb-case{background:var(--sand);color:var(--plum)}
.family-design .hb-case__cta{color:var(--plum);border-color:var(--plum);border-radius:4px}
.family-design .hb-case__cta:hover{color:var(--sand);background:var(--plum);border-color:var(--plum)}
.family-design .hb-case__cta:focus-visible{outline:2px solid var(--plum);outline-offset:4px}
.family-design .hb-case :is(.hb-case__caption,.hb-case__client,.hb-panel__cta){color:var(--plum)}
.family-design .hb-case__caption{font-family:var(--font-ui)}
.family-design .hb-case__statement-h{font-size:clamp(42px,5vw,80px);font-weight:300;line-height:1.04;color:var(--plum)}
.family-design .hb-case__statement-h em{color:var(--plum);font-style:normal}
.family-design :is(.hb-closing,.hb-crosssell){background:var(--plum);color:var(--sand);max-width:none;padding:100px var(--gutter)}
.family-design :is(.hb-closing,.hb-crosssell) :is(h1,h2,h3,p,a,.label){color:var(--sand)}
.family-design .hb-closing__h{font:300 clamp(56px,8vw,128px)/.98 var(--font-serif);letter-spacing:-.04em;max-width:17ch}
.family-design .hb-closing__h em{color:inherit;font-style:normal}
.family-design .hb-closing :is(.hb-hero__cta-primary,.hb-closing__cta),.family-design .hb-crosssell__cta{background:var(--sand);color:var(--plum);border-color:var(--sand);border-radius:4px}
.family-design :is(.hb-essay-hero,.hb-essay-body,.hb-essay-next,.privacy-page){background:var(--sand);color:var(--plum)}
.family-design .hb-essay-hero__title{font:300 clamp(48px,6.2vw,100px)/1.03 var(--font-serif);color:var(--plum)}
.family-design .hb-essay-body{font:18px/1.85 var(--font-ui);max-width:76ch}
.family-design .hb-essay-body p{font-family:var(--font-ui)}
.family-design .hb-essay-body .hb-hero__cta-primary{background:var(--plum);color:var(--sand);border-color:var(--plum);border-radius:4px}
.family-design .hb-essay-body .hb-hero__cta-primary:hover{background:var(--sand);color:var(--plum);border-color:var(--plum)}
.family-design .hb-essay-body :is(h2,h3){font-family:var(--font-serif);font-size:36px;color:var(--plum)}
.family-design .essay-card__title{font-size:36px;font-weight:400}
.family-design :is(.essay-card__excerpt,.privacy-page p){font-family:var(--font-ui);font-style:normal}
.family-design :is(.hb-faq summary,.hb-faq__item summary){font-family:var(--font-ui);font-size:18px;color:var(--plum)}
/* Thomas-specific editorial engravings: thinking on paper and shared inquiry. */
.family-design .family-art{display:grid;grid-template-columns:1.7fr 1fr;gap:7vw;align-items:center;background:var(--sand);padding:30px var(--gutter) 100px;isolation:isolate}
.family-design .family-thinking{position:relative;display:block;width:100%;aspect-ratio:1.5;border:0;padding:0;background:transparent;border-radius:0;cursor:pointer;touch-action:manipulation;isolation:isolate}
.family-design .family-thinking:disabled{cursor:default;opacity:1}
.family-design .family-thinking:focus-visible{outline:2px solid var(--plum);outline-offset:8px;box-shadow:none}
.family-design .family-thinking :is(img,canvas){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.family-design .family-thinking canvas{pointer-events:none;visibility:hidden}
.family-design .family-dialogue{position:relative;width:100%;aspect-ratio:1;margin-top:60px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.family-design .family-dialogue img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
/* Family navigation is the sole approved visible copy addition. */
.family-design .footer{background:var(--plum);color:var(--sand);padding-top:56px}
.family-design .footer :is(a,p,.label){color:var(--sand)}
.family-design .footer__brand{border-color:#e0cdb34d}
.family-design .footer__brand>.label{font-weight:300;font-size:clamp(64px,11.4vw,180px);letter-spacing:-.045em}
.family-design .footer__tagline{font-style:normal}
.family-design .family-footer{padding:34px 0;border-top:1px solid #e0cdb366;border-bottom:1px solid #e0cdb366;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1408px;margin:0 auto 60px;color:var(--sand)}
.family-design .family-footer p{font:400 14px/1.5 var(--font-ui)}
.family-design .family-footer>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px}
.family-design .family-footer a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:6px}
.family-design .family-footer [aria-current]{font-weight:700}
.family-design>.family-footer{background:var(--plum);padding:32px var(--gutter);margin:0;max-width:none}
/* Booking keeps its existing state machine, sizing and scroll ownership. */
.family-design :is(.bk-shell,.bk-hub){--font-serif:var(--font-ui);background:var(--sand);color:var(--plum)}
.family-design :is(.bk-hub__title,.bk-hub__card-title,.bk-screen__title,.bk-question,.bk-intro__title,.bk-success__title){font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;letter-spacing:-.035em}
.family-design .bk-hub__title{font-size:clamp(50px,7vw,100px);line-height:1.02}
.family-design .bk-hub__card{border:1px solid var(--rule);background:transparent;border-radius:4px;box-shadow:none}
.family-design .bk-hub__card:hover{background:#ffffff30;border-color:var(--plum)}
.family-design .bk-topbar{background:var(--plum);color:var(--sand);border:0}
.family-design .bk-topbar :is(a,button,span){color:var(--sand)}
.family-design .bk-brand__logo{content:url('/assets/family/icon-light.svg');mix-blend-mode:normal}
.family-design .bk-hub__logo{content:url('/assets/family/wordmark-dark.svg');width:200px;height:60px;mix-blend-mode:normal}
.family-design .bk-shell h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(36px,4vw,56px);line-height:1.1;font-weight:400}
.family-design .bk-topbar :is(.bk-meta,strong){color:var(--sand)}
.family-design .bk-topbar .bk-close{border-color:var(--sand)}
.family-design :is(.bk-btn,.bk-option,.bk-input,.bk-textarea){border-radius:4px}
.family-design .bk-progress__fill{background:var(--copper)}
.family-design .td-consent{font-family:var(--font-ui)}
.family-design .privacy-page{font-family:var(--font-ui);padding-top:64px}
.family-design .privacy-page a:not(.privacy-page__return):not(.privacy-page__language){color:var(--plum)}
.family-design .privacy-page h1{font-size:clamp(48px,6vw,80px)}
.family-design .privacy-page h2{color:var(--plum)}
@media(min-width:1600px){.family-design .hb-hero--home{min-height:1000px}.family-design .hb-hero--home .hb-hero__photo{width:57%;right:0}.family-design .hb-hero--home .hero-copy{max-width:760px}}
@media(max-width:1100px){
 .family-design .nav__logo,.family-design .nav__brand-icon{width:175px}.family-design .nav__logo{flex-basis:175px}
 .family-design .hb-hero--home .hb-hero__name{font-size:clamp(76px,9.5vw,110px)}
 .family-design .hb-hero--home{min-height:920px}.family-design .hb-hero__sub{font-size:16px}
 .family-design .hb-werk-intro{gap:40px}
}
@media(max-width:760px){
 .family-design{--gutter:24px;font-size:17px}
 .family-design .nav__logo,.family-design .nav__brand-icon{width:165px}.family-design .nav__logo{flex-basis:165px}
 .family-design .hb-hero,.family-design .hb-hero--home{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:126px var(--gutter) 56px;min-height:0;max-height:none}
 .family-design .hb-hero .hero-copy{display:contents}
 .family-design .hb-hero__label{grid-row:1;margin-bottom:24px;font-size:11px;max-width:330px}
 .family-design .hb-hero .hb-hero__name{grid-row:2;font-size:clamp(48px,8.7vw,72px);line-height:1.01;max-width:16ch;margin:0 0 26px;overflow-wrap:normal}
 .family-design .hb-hero--home .hb-hero__name{font-size:clamp(54px,10.3vw,78px);line-height:.94;max-width:none}
 .family-design .hb-hero--home .hero-title-line:nth-child(2){margin-left:0;white-space:normal}
 .family-design .hb-hero--home .hb-hero__name em{white-space:normal}
 .family-design .hb-hero .hb-hero__photo{grid-row:3;position:relative;inset:auto;align-self:start;width:calc(100% + 24px);margin:0 -12px 28px;height:auto;aspect-ratio:3/2;max-height:none;z-index:0}
 .family-design .hb-hero--home .hb-hero__photo img{object-position:50% 50%;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
 .family-design .hb-hero .hb-hero__photo--portrait{aspect-ratio:1/1;max-width:500px;justify-self:center}
 .family-design .hb-hero__sub{font-size:17px;max-width:none;margin-bottom:20px}
 .family-design .hb-hero__cta-row{margin-top:6px}
 .family-design :is(.hb-werk-intro,.hb-panel,.hb-text,.hb-prose,.hb-faq,.hb-deliverables,.hb-pricing,.hb-principle,.hb-testimonial,.hb-closing,.hb-crosssell){padding-top:64px;padding-bottom:64px}
 .family-design .hb-werk-intro{display:block}.family-design .hb-werk-intro>p{margin-top:30px}
 .family-design .hb-panel{grid-template-columns:1fr;gap:28px}
 .family-design :is(.hb-panel__head,.hb-text__h2,.hb-faq__title,.hb-werk-intro__title,.hb-facts__title){font-size:42px;line-height:1.1}
 .family-design .heading--long{font-size:34px!important}
 .family-design :is(.hb-panel__body-text,.hb-text__body,.hb-prose,.hb-werk-intro>p,.hb-case__statement-p,.hb-deliverables__list,.hb-faq__answer){font-size:17px}
 .family-design .hb-clients{padding:32px var(--gutter)}
 .family-design .family-art{grid-template-columns:1fr;gap:0;padding:0 12px 50px}
 .family-design .family-dialogue{width:74%;justify-self:end;margin:12px 12px 0;aspect-ratio:1}
 .family-design .family-footer{align-items:start;flex-direction:column;gap:12px;margin-bottom:36px}
 .family-design .family-footer>div{gap:8px 14px;font-size:13px}
 .family-design .hb-essay-body{font-size:17px;line-height:1.8}
}
@media(max-width:360px){.family-design{--gutter:18px}.family-design .nav__logo,.family-design .nav__brand-icon{width:140px}.family-design .nav__logo{flex-basis:140px}.family-design .hb-hero--home .hb-hero__name{font-size:50px}.family-design .family-footer>div{gap:8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.family-design *{scroll-behavior:auto!important;transition:none!important}.family-design .family-thinking canvas{display:none}.family-design .reveal{opacity:1;transform:none}}

.family-design .hb-hero__photo>picture{display:block;width:100%;height:100%}

/* The original offer copy now introduces the booking action in the hero. */
.family-design .hb-hero--home .hb-werk-intro__title{font:400 19px/1.5 var(--font-ui)!important;letter-spacing:0;max-width:44ch;margin:0 0 24px;color:var(--sand)}
.family-design .hb-werk-intro__context{max-width:47ch}
@media(max-width:760px){
 .family-design .hb-hero--home{padding-top:100px}
 .family-design .hb-hero--home .hb-werk-intro__title{grid-row:3;font-size:17px!important;line-height:1.5!important;margin-bottom:20px}
 .family-design .hb-hero--home .hb-hero__cta-row{grid-row:5;margin:0 0 24px}
 .family-design .hb-hero--home .hb-hero__photo{grid-row:4;margin-bottom:24px}
 .family-design .td-consent__notice{gap:8px;padding:12px 14px;border-radius:4px;box-shadow:none}
 .family-design .td-consent__notice-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:start}
 .family-design .td-consent__notice h2{font-size:22px;align-self:center}
 .family-design .td-consent__notice .td-consent__intro{grid-column:1/-1;grid-row:2;margin:0;font-size:14px;line-height:1.45}
 .family-design .td-consent__notice .td-consent__privacy{grid-column:2;grid-row:1;margin:0;min-height:44px;font-size:13px}
 .family-design .td-consent__notice-actions{grid-template-columns:1fr 1fr auto;gap:8px}
 .family-design .td-consent__notice :is(.td-consent__button,.td-consent__text-button){min-height:44px;padding:8px 10px;letter-spacing:.04em;font-size:12px}
 .family-design .td-consent__notice .td-consent__text-button{grid-column:auto}
 .family-design:has(.td-consent-root--content .td-consent__notice) .hb-hero{padding-top:32px}
}
