/* Biography composer 2.6.0. All component styles scoped; gallery CSS untouched. */
.clbio-page{--bio-paper:#f2ece2;--bio-ink:#191612;--bio-accent:#90673d;color:var(--bio-ink);background:var(--bio-paper)}
.clbio-page *, .clbio-lightbox *{box-sizing:border-box}.clbio-shell{max-width:1200px;width:calc(100% - 64px);margin-inline:auto}
.clbio-hero{position:relative;isolation:isolate;padding:clamp(140px,16vw,200px) 0 76px;min-height:430px;background:#eee6da}
.clbio-hero--photo,.clbio-hero--dark{color:#fffaf2;background:#17130f}
.clbio-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}
.clbio-hero--photo:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,6,4,.85),rgba(8,6,4,.56),rgba(8,6,4,.33))}
.clbio-hero h1{font-family:var(--serif,Georgia,serif);font-size:clamp(40px,6.6vw,92px);font-weight:400;line-height:1.06;letter-spacing:-.035em;max-width:1000px;margin:0 0 24px;text-wrap:balance}
.clbio-eyebrow{font-family:var(--sans,Arial,sans-serif);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;color:var(--bio-accent)}
.clbio-hero--photo .clbio-eyebrow,.clbio-hero--dark .clbio-eyebrow{color:#d4b78a}.clbio-intro{max-width:850px;font-size:clamp(18px,2vw,23px);line-height:1.55;margin:0;white-space:normal}
.clbio-blocks{padding:64px 0 76px}.clbio-block{max-width:1120px;width:calc(100% - 64px);margin:0 auto 72px;scroll-margin-top:110px;overflow-wrap:anywhere}
.clbio-block:last-child{margin-bottom:0}.clbio-width-wide{max-width:1400px}.clbio-block.clbio-tone-card{background:#fffcf7;padding:clamp(22px,4vw,48px);border:1px solid #e1d6c6;border-radius:16px}.clbio-block.clbio-tone-dark{background:#201b17;color:#fffaf2;padding:clamp(22px,4vw,48px);border-radius:16px}
.clbio-tone-dark .clbio-eyebrow{color:#d2b184}.clbio-copy h2,.clbio-copy h3{font-family:var(--serif,Georgia,serif);font-weight:400;letter-spacing:-.025em;line-height:1.12;margin:0 0 18px;color:inherit;text-wrap:balance}.clbio-copy h2{font-size:clamp(31px,3.8vw,54px)}.clbio-copy h3{font-size:clamp(25px,2.8vw,38px)}
.clbio-subtitle{font-size:clamp(19px,2vw,23px);line-height:1.45;margin:0 0 18px}.clbio-rich{font-size:18px;line-height:1.75;max-width:78ch}.clbio-rich p{margin:0 0 1em}.clbio-rich ul,.clbio-rich ol{padding-left:1.5em;margin:1em 0}.clbio-rich a{color:inherit;text-decoration:underline;text-underline-offset:3px}.clbio-rich p:last-child{margin-bottom:0}
.clbio-type-story.clbio-has-image{display:grid;grid-template-columns:minmax(0,var(--bio-image-share,45fr)) minmax(0,var(--bio-text-share,55fr));align-items:center;gap:clamp(26px,5vw,68px)}
.clbio-type-story.clbio-layout-left .clbio-images{grid-column:1;grid-row:1}.clbio-type-story.clbio-layout-left .clbio-copy{grid-column:2;grid-row:1}
.clbio-type-story.clbio-layout-right{grid-template-columns:minmax(0,var(--bio-text-share,55fr)) minmax(0,var(--bio-image-share,45fr))}.clbio-type-story.clbio-layout-right .clbio-images{grid-column:2;grid-row:1}.clbio-type-story.clbio-layout-right .clbio-copy{grid-column:1;grid-row:1}
.clbio-type-story.clbio-layout-top,.clbio-type-story.clbio-layout-bottom{display:flex;flex-direction:column;align-items:stretch}.clbio-type-story.clbio-layout-top .clbio-images{order:-1}.clbio-type-story.clbio-layout-top .clbio-rich,.clbio-type-story.clbio-layout-bottom .clbio-rich{max-width:none}
.clbio-type-image .clbio-copy:has(h2,h3,p),.clbio-type-duo .clbio-copy:has(h2,h3,p){margin-bottom:28px}
.clbio-type-duo .clbio-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}
.clbio-figure{margin:0;min-width:0}.clbio-figure>a{display:block;border-radius:8px;overflow:hidden;background:rgba(110,90,60,.08);cursor:zoom-in}.clbio-figure img{display:block;width:100%;height:auto;object-position:var(--bio-focal,50% 50%)}
.clbio-ratio-square img{aspect-ratio:1;object-fit:cover;height:auto}.clbio-ratio-landscape img{aspect-ratio:4/3;object-fit:cover;height:auto}.clbio-ratio-portrait img{aspect-ratio:3/4;object-fit:cover;height:auto}
.clbio-figure figcaption{font-family:var(--sans,Arial,sans-serif);font-size:14px;line-height:1.5;margin:12px 0 0;color:inherit;opacity:.82}.clbio-figure figcaption span{display:block}.clbio-figure figcaption small{display:block;font-size:12px;margin-top:4px}
.clbio-type-quote blockquote{margin:0;border-left:3px solid #aa8255;padding:12px 0 12px 32px}.clbio-type-quote .clbio-rich{font-family:var(--serif,Georgia,serif);font-size:clamp(24px,3vw,36px);line-height:1.45}.clbio-type-quote cite{display:block;font-style:normal;margin-top:20px;font-size:14px}
.clbio-type-heading{margin-bottom:40px}.clbio-booking{text-align:center;border-top:1px solid #ded2bf;padding:64px 0 72px}.clbio-booking h2{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:clamp(30px,4vw,56px);line-height:1.12;margin:0 0 28px}
.clbio-preview-note{position:relative;z-index:10;background:#e7d7b8;color:#30251a;text-align:center;font-size:13px;margin:0;padding:12px}
.clbio-lightbox{border:0;padding:54px 18px 20px;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;background:#151515;color:#fff;overflow:auto;text-align:center}.clbio-lightbox::backdrop{background:#151515}.clbio-lightbox img{width:auto;height:auto;max-width:94vw;max-height:calc(100dvh - 140px);margin:auto;object-fit:contain;display:block}.clbio-lightbox button{position:absolute;right:16px;top:10px;color:#fff;border:1px solid #777;border-radius:50%;background:#252525;width:40px;height:40px;cursor:pointer;font-size:26px}.clbio-lightbox p{max-width:850px;margin:15px auto 0;font-size:14px;line-height:1.5}.clbio-lightbox-open{overflow:hidden}
@media(max-width:720px){.clbio-shell,.clbio-block{width:calc(100% - 36px)}.clbio-hero{padding:124px 0 48px;min-height:360px}.clbio-blocks{padding:38px 0 48px}.clbio-block{margin-bottom:46px}.clbio-type-story.clbio-has-image{display:flex;flex-direction:column;gap:24px;align-items:stretch}.clbio-type-story.clbio-layout-left .clbio-images,.clbio-type-story.clbio-layout-right .clbio-images{order:0}.clbio-type-story .clbio-copy{order:-1}.clbio-type-story.clbio-layout-top .clbio-images{order:-2}.clbio-rich{font-size:17px;line-height:1.7}.clbio-type-duo .clbio-images{grid-template-columns:1fr;gap:28px}.clbio-booking{padding:44px 0}.clbio-tone-card,.clbio-tone-dark{padding:22px!important}}
@media(prefers-reduced-motion:reduce){.clbio-page *{scroll-behavior:auto!important;transition:none!important}}
