:root{--navy:#0B1F3A;--gold:#C9A227;--cream:#F5F1E8;--ink:#22334a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--navy);font:18px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;top:-80px}.skip:focus{top:0;background:white;padding:12px;z-index:20}header{background:var(--navy);color:white;padding:20px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap}.brand{font:600 19px Georgia,serif;text-decoration:none;max-width:260px}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:15px}nav a{text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--gold)}main{min-height:70vh}.wrap{max-width:1160px;margin:auto;padding:78px 28px}.hero{background:var(--navy);color:white;position:relative}.hero .wrap{padding-top:90px;padding-bottom:90px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:bold;color:#7b6114}.hero .eyebrow,.dark .eyebrow{color:var(--gold)}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,6vw,78px);max-width:950px;margin:20px 0 26px}h2{font-size:clamp(32px,4vw,48px);max-width:850px;margin:10px 0 24px}h3{font-size:28px}p{max-width:780px}.lead{font-size:22px;max-width:760px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;text-decoration:none;padding:13px 22px;background:var(--gold);color:var(--navy);font-size:15px;font-weight:bold;border:1px solid var(--gold)}.button.secondary{background:transparent;color:inherit;border-color:currentColor}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border-top:2px solid var(--gold);padding:28px;background:white}.card h3{margin-top:0}.price{font-size:36px;font-family:Georgia,serif}.dark{background:var(--navy);color:white}.band{border-bottom:1px solid #cfc6b5}.number{color:#7b6114;font-size:14px;letter-spacing:.1em}li{margin-bottom:10px}details{padding:22px 0;border-bottom:1px solid #cfc6b5}summary{cursor:pointer;font-weight:bold}.note{font-size:15px;max-width:850px}footer{background:var(--navy);color:white;padding:40px 5%;font-size:15px}footer a{margin-right:22px}footer p{max-width:none}.breadcrumb{font-size:14px;margin-bottom:24px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px;border-bottom:1px solid #cfc6b5}th{font-size:15px}.table-scroll{overflow-x:auto}@media(max-width:700px){header{padding:20px 24px}nav{gap:14px}.wrap{padding:50px 24px}.hero .wrap{padding:60px 24px}.grid,.three{grid-template-columns:1fr}.lead{font-size:20px}h1{font-size:44px}nav .button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Editorial TLC theme: route lines, field notes, restrained search accents. */
.hero{overflow:hidden}.hero:before{content:"";position:absolute;width:620px;height:620px;border:1px solid #c9a22725;border-radius:50%;right:-350px;top:-260px;pointer-events:none}.hero .wrap{position:relative}h1 em{font-weight:normal;color:#e4cd84}h1{font-size:clamp(40px,5.3vw,72px)}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:center}.home-hero h1{max-width:800px}.home-hero .lead{font-size:20px}.signature{font-family:Georgia,serif;font-style:italic;font-size:21px;color:#e4cd84}.field-note{padding:38px;border:1px solid #c9a22770;background:#ffffff06;position:relative;transform:rotate(1deg)}.field-note h2{font-size:36px}.field-note .lens{width:74px;height:74px;color:var(--gold);margin-bottom:22px}.field-note:after{content:"";width:80px;border-top:3px solid var(--gold);position:absolute;right:-20px;bottom:32px}.route{display:grid;gap:12px;border-left:1px dashed var(--gold);padding-left:22px;margin:30px 0}.route span{position:relative}.route span:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);left:-26px;top:12px}.ticker{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;padding:20px;background:var(--gold);font-size:11px;letter-spacing:.12em;font-weight:bold}.recognition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:42px}.recognition article{padding-top:22px;border-top:1px solid #bca66d}.recognition h3{font-size:28px;line-height:1.2}.recognition p{font-size:17px}.number{font-weight:bold;letter-spacing:.12em;font-size:11px}.service-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:44px 0;border-top:1px solid #cabd9d}.service-feature h3{font-size:34px}.assignment{background:#eae3d3;padding:35px;align-self:center;border-left:3px solid var(--gold)}.assignment h3{font-size:29px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}.editorial-note{border-top:2px solid var(--gold);border-bottom:1px solid #c9a22760;padding:22px 0}.editorial-note blockquote{margin:10px 0;font:italic 32px/1.35 Georgia,serif}.map-section{background-color:#ece6d7;background-image:linear-gradient(#b9a77c15 1px,transparent 1px),linear-gradient(90deg,#b9a77c15 1px,transparent 1px);background-size:54px 54px}.supporting{border-top:1px solid #cabd9d;padding-top:30px}.dark .number{color:var(--gold)}.empty-guide{padding:32px;background:white;border-left:3px solid var(--gold)}.event-card{border-top:2px solid var(--gold);padding:28px 0}.event-meta{font-size:15px;line-height:1.8}.tagline{font-family:Georgia,serif;font-style:italic}.status{display:inline-block;background:#eae3d3;color:var(--navy);font-size:12px;padding:4px 10px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.filters button{font:inherit;font-size:14px;background:white;border:1px solid #b5a26c;padding:10px 14px;cursor:pointer;color:var(--navy)}.filters button[aria-pressed="true"]{background:var(--navy);color:white}.filters button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.event-card[hidden]{display:none}.guide-date{font-weight:bold;color:#6d5410}@media(max-width:900px){.hero-grid,.recognition,.service-feature,.split{grid-template-columns:1fr;gap:28px}.field-note{transform:none;max-width:600px}.hero .wrap{padding-top:55px;padding-bottom:55px}.field-note h2{font-size:30px}.field-note .lens{width:50px;height:50px}.service-feature{padding:32px 0}.assignment{padding:26px}nav{gap:12px;font-size:14px}.wrap{padding-top:56px;padding-bottom:56px}}@media(prefers-reduced-motion:reduce){.field-note{transform:none}}

/* Advercase is reserved for the licensed webfont kit. DM Serif Display is the visible interim heading font. */
:root{--font-display:"Advercase","DM Serif Display",Georgia,serif;--font-body:"DM Sans",Arial,sans-serif}body{font-family:var(--font-body);font-weight:400;line-height:1.7}h1,h2,h3,.brand,.signature,.editorial-note blockquote,.price{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em}h1{line-height:1.08}h2,h3{line-height:1.17}.button,nav,.eyebrow,.number{font-family:var(--font-body)}.button{font-weight:600}.photo{margin:0 0 28px}.photo img{display:block;width:100%;height:auto;background:#eae3d3}.photo figcaption,.portrait figcaption{font-size:13px;line-height:1.5;margin-top:10px;color:#48566a}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:32px}.gallery .wide{grid-column:1/-1}.portrait-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:64px;align-items:center}.portrait{margin:0;padding:22px;border:1px solid #c9a22770;justify-self:center;max-width:320px}.portrait img{display:block;width:100%;height:auto}.portrait figcaption{color:var(--cream)}.testimonial-invite{background:#eae3d3;border-top:1px solid #c9a22760}.hero .photo figcaption{color:var(--cream)}.email-note{font-size:14px;line-height:1.5;margin-top:14px}@media(max-width:800px){.portrait-layout{grid-template-columns:1fr;gap:30px}.portrait{justify-self:start}.gallery{grid-template-columns:1fr}.gallery .wide{grid-column:auto}}

.event-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:36px}.event-types>div{border-top:2px solid var(--gold);padding-top:20px}.event-types h3{font-size:26px}.event-types p{font-size:16px}.portrait-event{max-width:660px}.portrait-event img{height:auto;width:100%;max-height:740px;object-fit:contain;object-position:left;background:transparent}@media(max-width:1000px){.event-types{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.event-types{grid-template-columns:1fr}}


/* Official white TLC logo on the navy header. */
header .brand{display:flex;align-items:center;gap:14px;max-width:none;flex-shrink:0}header .brand-logo{display:block;width:76px;height:76px;object-fit:contain}header .brand span{font-size:17px;line-height:1.25}@media(max-width:700px){header .brand-logo{width:62px;height:62px}header .brand span{font-size:16px}}

/* Consistent editorial grid and responsive alignment. */
:root{--content:1200px;--gutter:clamp(22px,4vw,64px);--space:clamp(64px,7vw,104px)}
body{font-size:17px;line-height:1.7}header{padding:18px var(--gutter);gap:24px}nav{gap:clamp(12px,1.5vw,24px)}
.wrap{width:100%;max-width:calc(var(--content) + 2 * var(--gutter));padding:var(--space) var(--gutter);margin-inline:auto}
h1,h2,h3,p,figure{margin-top:0}h1{font-size:clamp(44px,5vw,76px);line-height:1.06;max-width:100%;margin-bottom:28px;text-wrap:balance}
h2{font-size:clamp(34px,3.3vw,50px);line-height:1.12;margin-bottom:24px;text-wrap:balance}
h3{font-size:clamp(25px,2vw,31px);line-height:1.2;text-wrap:balance}.eyebrow{margin:0 0 20px;line-height:1.5}
p{margin-bottom:20px}.lead{font-size:clamp(19px,1.65vw,22px);line-height:1.6}.actions{margin-top:28px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:14px 24px;line-height:1.35}
.grid,.split,.recognition,.event-types,.gallery{gap:32px;align-items:stretch}.split{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{margin:0;padding:32px;display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:16px}.card h3,.card p{margin:0}
.recognition{gap:32px}.recognition article{display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:18px;padding-top:26px}
.recognition article>*{margin:0}.photo{margin:0}.gallery .photo{display:flex;flex-direction:column}.gallery img{aspect-ratio:3/2;object-fit:cover}
.gallery .wide img{aspect-ratio:16/9}.gallery figcaption{margin-top:12px}.split>div>h3{margin-top:0}
.event-page .hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;padding-block:72px}
.event-page .hero h1 em{display:block}.event-page .hero h1 br{display:none}.event-page .hero .lead{max-width:38em}
.event-hero-photo{position:relative;margin:0}.event-hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.event-hero-photo figcaption{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#e4cd84;margin-top:14px}
.event-page .section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;margin-bottom:40px}
.event-page .section-heading h2{margin:0}.event-page .section-heading p:last-child{margin:0}.event-page .section-heading .lead{font-size:20px}
.event-page .experience-cards{gap:32px}.event-page .experience-card{padding:0;border:0;display:grid;grid-template-rows:auto 1fr;background:#fff}
.experience-card img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}
.experience-card .card-copy{padding:32px;display:grid;grid-template-rows:auto auto 1fr;gap:16px;border-top:2px solid var(--gold)}
.experience-card .card-copy>*{margin:0}.experience-card h3{font-size:30px}.event-page .event-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.event-page .event-types>div{padding:28px 0;display:grid;grid-template-columns:32px 1fr;gap:8px 16px;border-top:1px solid #c6b78f}
.event-page .event-types .number{grid-row:1/3;padding-top:7px}.event-page .event-types h3,.event-page .event-types p{margin:0}
.event-page .event-types p{grid-column:2}.event-page .event-types h3{font-size:28px}
.event-page .investment .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:start}
.event-page .investment .button{margin-top:12px}.event-page .investment h2{margin:0}
.event-page .testimonial-invite .wrap{max-width:calc(var(--content) + 2 * var(--gutter))}
.event-page .gallery{gap:32px}.event-page .map-section{background-image:none}
.inquiry-layout{display:grid;grid-template-columns: .65fr 1.35fr;gap:64px;align-items:start}.inquiry-intro{position:sticky;top:32px}
.inquiry-form{background:#fff;padding:clamp(24px,3vw,44px);border-top:3px solid var(--gold)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.form-field{display:grid;gap:8px}.form-field.full{grid-column:1/-1}
.form-field label{font-size:14px;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #b6b6ad;background:#fff;color:var(--navy);border-radius:0;padding:13px 14px;font:inherit;font-size:16px}
.form-field textarea{min-height:112px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
.inquiry-form fieldset{border:0;margin:32px 0 0;padding:28px 0 0;border-top:1px solid #ded8ca}
.inquiry-form legend{float:left;width:100%;font:26px/1.2 var(--font-display);margin-bottom:24px}.inquiry-form fieldset .form-grid{clear:both}
.form-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin-block:28px}
.form-consent input{margin-top:6px;accent-color:var(--navy)}.button:disabled{opacity:.55;cursor:not-allowed}
.form-status{font-size:14px;margin:16px 0 0}.service-fields[hidden]{display:none}.form-summary{padding:20px;background:var(--cream);margin-top:24px}
@media(min-width:901px){.recognition article{grid-template-rows:34px 76px 1fr}.experience-card .card-copy{grid-template-rows:20px 76px 1fr}}
@media(max-width:1000px){header{justify-content:center}header .brand{margin-right:auto}nav{width:100%;justify-content:space-between}
.event-page .hero .wrap{gap:32px}.event-page .section-heading,.event-page .investment .wrap{gap:32px}}
@media(max-width:760px){.grid,.three,.split,.recognition,.event-page .hero .wrap,.event-page .section-heading,.event-page .investment .wrap,.inquiry-layout{grid-template-columns:1fr}
.event-page .hero .wrap{padding-block:48px}.event-hero-photo img{aspect-ratio:16/10}.event-page .section-heading{gap:24px}
.event-page .event-types{grid-template-columns:1fr}.event-page .experience-cards{gap:28px}.gallery{grid-template-columns:1fr}
.gallery .wide{grid-column:auto}.gallery .wide img{aspect-ratio:3/2}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}
.inquiry-intro{position:static}nav{justify-content:flex-start;gap:16px}.card{padding:26px}.experience-card .card-copy{padding:26px}
.event-page .hero h1{font-size:clamp(44px,10vw,66px)}.event-page .section-heading h2 br{display:none}}

/* Shared portfolio and inquiry finish. */
.text-link{display:inline-flex;margin:0 0 24px;font-size:14px;font-weight:600;text-underline-offset:5px}
.event-photo-link{display:block}.event-photo-link img{transition:filter .2s}.event-photo-link:hover img{filter:brightness(.92)}
.portfolio-gallery img{aspect-ratio:3/2;object-fit:contain;background:#07162a}.portfolio-gallery a{display:block}
.portfolio-page .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:40px}
.portfolio-page .section-heading h2{margin:0}.article-copy{max-width:800px}.article-copy h2{font-size:34px;margin-top:44px}
.visibility-callout{background:#eae3d3;border-top:1px solid #cabd9d}.visibility-callout .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:36px}.visibility-callout p{font-family:var(--font-display);font-size:26px;line-height:1.3;margin:0}
.weekly-edition{padding:32px;background:#fff;border-top:2px solid var(--gold)}.weekly-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.weekly-media img{display:block;width:100%;height:auto}.weekly-list{margin-top:32px}
@media(max-width:760px){.portfolio-page .section-heading,.weekly-media{grid-template-columns:1fr;gap:24px}.visibility-callout .wrap{align-items:flex-start;flex-direction:column}.portfolio-gallery img{aspect-ratio:auto}.visibility-callout p{font-size:23px}}
@media(prefers-reduced-motion:reduce){.event-photo-link img{transition:none}}


/* BBLO: full real photographs and member-led browsing. */
.bblo-hero .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}.bblo-hero-photo img{width:100%;height:auto;object-fit:contain}.bblo-hero-photo figcaption{color:#e4cd84}.bblo-gallery img{object-fit:contain;aspect-ratio:4/3;background:#eae3d3}.directory-label{display:block;font-size:14px;font-weight:600;margin:30px 0 8px}.member-search{font:inherit;font-size:16px;width:100%;max-width:650px;padding:16px;border:1px solid #a89d85;background:#fff;color:var(--navy)}.member-search:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.member-card{scroll-margin-top:30px;display:flex;flex-direction:column;gap:14px}.member-card:target{outline:3px solid var(--gold);outline-offset:5px}.member-person{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.member-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:10px}.member-links .text-link{margin:0}.member-directory [hidden]{display:none}.directory-review{margin-top:32px}.bblo-form-stack{display:grid;gap:40px}.bblo-form-stack article{scroll-margin-top:24px}.bblo-form-stack .form-summary p{overflow-wrap:anywhere}.bblo-page [id]{scroll-margin-top:28px}
@media(max-width:850px){.bblo-hero .wrap{grid-template-columns:1fr;gap:32px}.bblo-hero-photo{max-width:540px}.member-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.member-directory{grid-template-columns:1fr}.bblo-gallery img{aspect-ratio:auto}.bblo-hero h1{font-size:clamp(40px,10vw,58px)}}

/* BBLO dropdown shared by all review pages. */
header .nav-dropdown{position:relative;padding:0;border:0;font-size:inherit;line-height:1.5}header .nav-dropdown>summary{list-style:none;font-weight:400;cursor:pointer;padding:6px 0}header .nav-dropdown>summary::-webkit-details-marker{display:none}header .dropdown-links{position:absolute;right:0;top:calc(100% + 10px);z-index:50;display:grid;gap:0;min-width:270px;max-height:75vh;overflow-y:auto;background:var(--cream);color:var(--navy);border:1px solid #c9a22780;box-shadow:0 12px 34px #07162a44;padding:10px}header .dropdown-links a{padding:10px 12px;display:block;font-size:14px;line-height:1.4}header .dropdown-links a:hover,header .dropdown-links a:focus-visible{background:#e8dfcb}header .nav-dropdown:not([open])>.dropdown-links{display:none}
@media(max-width:700px){header .nav-dropdown[open]{flex-basis:100%}header .dropdown-links{position:static;min-width:0;width:100%;margin-top:10px;max-height:none;box-shadow:none}}
