:root{--navy:#152641;--navy2:#203755;--gold:#b99a5e;--cream:#faf9f6;--text:#26364b;--muted:#66758b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{text-decoration:none}.site-header{background:var(--navy);color:white;min-height:85px;padding:20px max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:25px;line-height:1.1;color:white;font-weight:800;letter-spacing:.11em}.brand span{display:block;font-size:11px;letter-spacing:.39em;color:#d6bf91;font-weight:500;margin-top:5px}.site-header nav{display:flex;gap:28px}.site-header nav a{color:#e7e9ef;font-size:13px}.site-header nav a:hover{color:#e6c88c}.hero{min-height:520px;background:var(--navy);color:white;padding:80px max(24px,calc((100% - 1180px)/2));display:flex;gap:80px;align-items:center}.hero-inner{flex:1.3}.hero h1{font-size:clamp(42px,5.5vw,77px);line-height:1.08;max-width:750px;letter-spacing:-.045em;margin:12px 0 24px}.hero h1 em,.booking-intro h2 em{color:#dfbc79;font-style:normal}.hero .lead{color:#d7e0e9;font-size:18px;max-width:530px;line-height:1.85}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--gold);margin:0 0 12px}.btn{display:inline-block;border:0;border-radius:6px;padding:15px 24px;font-size:14px;font-weight:700;cursor:pointer;transition:background .18s ease}.btn.gold{background:#c8a86b;color:#172740;margin-top:18px}.btn.gold:hover{background:#ddbf85}.btn.dark{background:var(--navy);color:white}.btn.dark:hover{background:var(--navy2)}.btn:disabled{opacity:.5;cursor:wait}.full{width:100%}.hero-accent{flex:.7;max-width:330px;border:1px solid #56647a;padding:38px 31px;background:#ffffff08}.accent-top{color:#e0bc78;font-size:12px;letter-spacing:.15em}.hero-accent strong{display:block;font-family:Georgia,serif;font-size:33px;line-height:1.2;margin:20px 0}.hero-accent p{color:#d2dce7;font-size:14px}.accent-line{height:2px;background:#b99a5e;width:45px;margin:25px 0}.wrap{max-width:1180px;margin:auto;padding:90px 24px}.services h2,.booking-section h2{font-size:clamp(32px,4vw,47px);line-height:1.2;letter-spacing:-.025em;color:var(--navy)}.services h2{margin-bottom:42px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-grid article{background:white;border:1px solid #e7e7e7;padding:26px 24px;min-height:230px}.service-icon{font-family:Georgia,serif;color:var(--gold);font-size:27px}.service-grid h3{font-size:17px;margin:21px 0 10px}.service-grid p{color:var(--muted);font-size:14px;line-height:1.7}.booking-section{background:#edf0f2;padding:95px 24px}.booking-wrap{max-width:1180px;margin:auto;display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;align-items:start}.booking-intro{padding:25px 15px 0 0}.booking-intro h2{font-size:clamp(40px,5vw,64px);margin:8px 0 22px}.booking-intro>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.85}.info-line{padding:12px 0;font-size:14px}.info-line span{color:#9f8249;margin-right:12px}.booking-intro .privacy-note{font-size:12px!important;margin-top:30px;line-height:1.7!important}.booking-form{background:white;border-radius:12px;padding:40px;box-shadow:0 22px 65px #15264114;border:1px solid #e4e8eb}.booking-form h3{font-size:27px;margin:0 0 4px;color:var(--navy)}.form-subtitle,.fineprint{font-size:13px;color:var(--muted)}.form-subtitle{margin:0 0 28px}.fineprint{margin:14px 0 0;text-align:center}.booking-form label{display:block;font-size:13px;font-weight:650;margin:0 0 6px;color:var(--navy)}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;font:inherit;font-size:14px;color:var(--navy);border:1px solid #d5dce3;border-radius:5px;padding:12px 13px;margin:0 0 20px;background:white;min-width:0}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #d9ba78;outline-offset:1px}.booking-form small{font-weight:400;color:#65758d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status{font-size:13px;color:#586f43;min-height:14px}.status:not(:empty){padding:10px;background:#f2f4e7;border-radius:4px}footer{padding:45px max(24px,calc((100% - 1180px)/2));background:var(--navy);color:#c1cbd5;display:flex;justify-content:space-between;gap:20px;align-items:center}footer strong{display:block;color:white;letter-spacing:.12em}footer span{display:block;font-size:12px;color:#d7c191}footer p{font-size:12px;max-width:400px;text-align:right}.admin-main{max-width:1100px;margin:60px auto;padding:0 24px;min-height:60vh}.admin-panel{background:white;border:1px solid #e2e6ea;padding:30px;border-radius:10px;margin-bottom:25px}.admin-panel h2{color:var(--navy)}.admin-panel input{padding:10px;max-width:240px}.admin-panel button{margin:4px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{text-align:left;border-bottom:1px solid #e2e6eb;padding:10px}.admin-table form{display:inline}.admin-table button{background:#e9edf2;border:0;padding:7px 10px;border-radius:4px;cursor:pointer}.hour-row{display:flex;align-items:center;gap:10px;padding:7px;border-bottom:1px solid #eee}.hour-row span{width:115px}.hour-row input[type=time]{width:110px}.admin-message{min-height:20px;color:#476a44}@media(max-width:900px){.hero{gap:30px}.hero-accent{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.booking-wrap{gap:28px}}@media(max-width:650px){.site-header{padding:18px 18px;align-items:flex-start}.site-header nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{font-size:11px}.brand{font-size:19px;white-space:nowrap}.brand span{font-size:8px}.hero{padding:70px 24px;min-height:auto}.hero h1{font-size:42px}.hero .lead{font-size:16px}.wrap{padding:65px 24px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:180px}.booking-wrap{grid-template-columns:1fr;gap:30px}.booking-section{padding:55px 16px}.booking-intro{padding:0}.booking-form{padding:24px 18px}.form-grid{grid-template-columns:1fr;gap:0}footer{display:block;padding:32px 24px}footer p{text-align:left}.admin-table{display:block;overflow-x:auto}}
/* Integrated Schafer Financial identity */
.site-header .brand{display:flex;align-items:center;flex-shrink:0;letter-spacing:normal;line-height:1}
.site-header .brand img{display:block;width:clamp(180px,23vw,300px);height:auto;max-height:72px}
.site-header{min-height:94px}
@media(max-width:650px){.site-header .brand img{width:clamp(165px,44vw,220px)}.site-header{min-height:76px}}

/* Brand correction: SF monogram uses the approved navy and gold on white. */
.site-header{background:#fff;color:#102c4d;border-bottom:1px solid #e7e8ea;padding-top:12px;padding-bottom:12px;min-height:95px}
.site-header nav a{color:#102c4d;font-weight:600}
.site-header nav a:hover{color:#a47b2c}
.site-header .brand img{width:clamp(250px,32vw,370px);max-height:94px}
@media(max-width:650px){
 .site-header{padding:12px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:0}
 .site-header .brand img{width:min(88vw,340px);max-height:none}
 .site-header nav{display:flex;flex-wrap:nowrap;justify-content:center;width:100%;gap:10px;margin-top:-8px;padding-bottom:4px}
 .site-header nav a{font-size:12px;padding:6px 9px;white-space:nowrap}
}

/* Schafer Financial — definitive light header for original navy/gold monogram. */
.site-header {
  background: #ffffff !important;
  color: #102c4d;
  border-bottom: 1px solid #e7e7e7;
  box-shadow: 0 1px 8px rgba(16,44,77,.035);
  padding: 12px max(20px, calc((100% - 1180px)/2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 94px;
  gap: 18px;
}
.site-header .brand { display: inline-flex; align-items: center; line-height: 1; flex-shrink: 1; min-width: 0; }
.site-header .brand img { display: block; width: min(360px, 100%); height: auto; max-height: none; }
.site-header nav { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.site-header nav a { color: #102c4d !important; font-size: 13px; font-weight: 600; text-decoration: none; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: #a47b2c !important; }
@media (max-width: 650px) {
  .site-header { flex-direction: column; padding: 12px 16px 16px; gap: 2px; min-height: auto; }
  .site-header .brand { width: 100%; justify-content: center; }
  .site-header .brand img { width: min(340px, 90vw); max-height: none; }
  .site-header nav { justify-content: center; flex-wrap: nowrap; gap: 10px; width: 100%; margin: 0; padding: 0; }
  .site-header nav a { font-size: 12px; padding: 6px; white-space: nowrap; }
}

/* About / founder story */
.about-section{background:#fff;padding:95px 24px 75px;scroll-margin-top:25px}
.about-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(34px,7vw,110px)}
.about-visual{position:relative;padding:18px 18px 0 0}
.about-photo-placeholder{aspect-ratio:4/4.6;max-width:430px;margin:auto;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:linear-gradient(155deg,#f3f0e9,#e9edf1);border:1px solid #e6e2da;box-shadow:0 24px 55px rgba(21,38,65,.09)}
.about-photo-monogram{font-family:Georgia,serif;color:#b99a5e;font-size:clamp(64px,10vw,118px);letter-spacing:-.06em;font-weight:500}
.about-photo-caption{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#68778b}
.about-photo-accent{position:absolute;right:0;bottom:-18px;width:70%;height:70%;border:3px solid #d7bc82;z-index:0}
.about-content h2{font-size:clamp(34px,4.1vw,52px);letter-spacing:-.035em;line-height:1.15;color:#152641;margin:12px 0 18px}
.about-content h2 em{color:#aa8544;font-style:normal}
.about-kicker{font-size:18px;color:#4a5d74;font-weight:500;margin:0 0 25px}
.about-bio p{color:#607085;font-size:15px;line-height:1.85;margin:0 0 17px}
.about-bio strong{color:#1f3556}
.about-heart{display:flex;align-items:flex-start;gap:19px;margin:26px 0 27px;padding:23px 22px;border-left:3px solid #be9d5b;background:#f7f6f2}
.about-heart-symbol{font-size:26px;color:#ae8747;line-height:1.25}
.about-heart h3{color:#152641;font-size:17px;margin:0 0 6px}
.about-heart p{color:#607085;font-size:14px;line-height:1.75;margin:0}
.about-future-team{max-width:1180px;margin:65px auto 0;padding:27px 32px;background:#f7f6f2;border:1px solid #eae4d6;display:flex;gap:28px;align-items:center}
.about-future-label{white-space:nowrap;font-size:11px;letter-spacing:.18em;color:#a3834e;font-weight:800}
.about-future-team p{margin:0;color:#647387;font-size:14px}
@media(max-width:800px){.about-wrap{gap:35px}.about-section{padding:65px 22px}.about-photo-placeholder{aspect-ratio:4/5}}
@media(max-width:650px){.about-wrap{grid-template-columns:1fr}.about-visual{width:min(100%,350px);margin:0 auto 8px}.about-photo-placeholder{max-width:300px}.about-content h2{font-size:36px}.about-future-team{display:block;padding:20px;margin-top:45px}.about-future-team p{margin-top:8px}.site-header nav{gap:4px}.site-header nav a{font-size:11px;padding:5px 7px}}

/* Multi-page layout — Home, About, Services, Book */
.site-header nav a[aria-current="page"]{color:#9c773c!important;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.site-header nav a[href="/book.html"]{background:#152641;color:#fff!important;border-radius:5px;padding:10px 15px}
.site-header nav a[href="/book.html"]:hover,.site-header nav a[href="/book.html"][aria-current="page"]{background:#b39356;color:#14243e!important}
.footer-admin{display:inline-block;margin-top:12px;font-size:12px;color:#d8c19a;text-decoration:underline;text-underline-offset:3px}
.footer-admin:hover{color:#fff}
.home-hero{min-height:475px}
.home-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.btn.outline-light{border:1px solid #9fadc0;color:white;background:transparent}
.btn.outline-light:hover{border-color:#fff;background:#ffffff18}
.home-summary{background:#fff;padding:70px 24px 75px}
.home-summary-inner{max-width:1180px;margin:auto}
.home-summary h2{max-width:560px;font-size:clamp(30px,4vw,45px);line-height:1.2;color:#152641;margin:0 0 30px}
.home-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 23px}
.home-summary-grid a{display:block;background:#f8f8f7;border:1px solid #e9e7e3;padding:23px;color:#22364e}
.home-summary-grid a:hover{border-color:#b99a5e;transform:translateY(-2px);transition:.2s}
.home-summary-grid span{font-family:Georgia,serif;font-size:24px;color:#b99a5e}
.home-summary-grid h3{font-size:18px;margin:14px 0 8px}
.home-summary-grid p{font-size:14px;color:#647387;margin:0}
.text-link{font-size:14px;font-weight:700;color:#294464;text-decoration:underline;text-underline-offset:4px}
.home-last{text-align:center;background:#f4f5f5;padding:70px 24px 80px}
.home-last h2{font-size:clamp(30px,4vw,42px);color:#152641;margin:0 0 10px}
.home-last p:not(.eyebrow){color:#657386;margin-bottom:24px}
.page-banner{background:#152641;color:white;padding:65px 24px 70px}
.page-banner-inner{max-width:1180px;margin:auto}
.page-banner h1{font-size:clamp(37px,5vw,57px);line-height:1.15;letter-spacing:-.035em;margin:6px 0 15px}
.page-banner p:not(.eyebrow){font-size:17px;color:#d7dfe8;max-width:680px;margin:0}
.services-page{padding:65px 24px 85px;background:#faf9f6}
.services-page-inner{max-width:1080px;margin:auto}
.service-detail{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:24px;align-items:start;background:#fff;border:1px solid #e6e7e6;border-radius:9px;padding:28px 30px;margin-bottom:16px}
.service-no{font-family:Georgia,serif;font-size:31px;color:#b79b62}
.service-detail h2{font-size:25px;color:#172943;margin:0 0 10px}
.service-detail p{color:#647387;font-size:15px;margin:0 0 15px;line-height:1.7}
.duration{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#90703d;font-weight:700}
.service-book{align-self:center;color:#1b3454;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.service-book:hover{color:#a47b2c}
.service-disclaimer{font-size:13px;color:#657386;margin-top:23px}
.booking-section.booking-dedicated{padding-top:65px;padding-bottom:85px}
.about-section{padding-top:70px}
@media(max-width:800px){.service-detail{grid-template-columns:40px minmax(0,1fr);gap:15px}.service-book{grid-column:2}}
@media(max-width:650px){.site-header nav{gap:2px;justify-content:center}.site-header nav a{font-size:11px;padding:7px 6px}.site-header nav a[href="/book.html"]{padding:8px 9px}.home-hero{min-height:auto;padding:65px 24px}.home-summary-grid{grid-template-columns:1fr}.home-summary{padding:55px 20px}.page-banner{padding:50px 20px}.service-detail{padding:20px 18px}.service-detail h2{font-size:21px}.services-page{padding:40px 15px 55px}.booking-section.booking-dedicated{padding:45px 16px}.about-section{padding-top:50px}}

/* Customer profiles and first-time intake */
.intake-intro{background:#f5f3eb;border-left:3px solid #b99a5e;padding:16px 18px;margin:16px 0 25px}
.intake-intro h3{font-size:19px;color:#172943;margin:0 0 6px}
.intake-intro p{font-size:14px;line-height:1.7;color:#485b72;margin:0}
.intake-detail{border-color:#d8c399;background:#fffefb}
#client-search{max-width:350px;width:100%;margin:6px 0 18px}
.client-table-wrap{overflow-x:auto}
.client-detail{margin-top:24px;background:#f8f8f7;border:1px solid #e5e6e7;border-radius:8px;padding:22px}
.client-detail h3{font-size:20px;color:#152641;margin:0 0 12px}
.client-detail h3:not(:first-child){margin-top:25px}
.client-detail textarea{width:100%;min-height:100px;display:block;margin:8px 0 6px;padding:12px;border:1px solid #ced3da;border-radius:5px;font:inherit}
.client-note-warning{font-size:12px;color:#657386;margin:6px 0 14px}
@media(max-width:650px){.client-detail{padding:15px}.client-table-wrap{margin:0 -5px}.intake-intro{padding:14px}}

/* Verified client portal */
.portal-section{background:#faf9f7;padding:62px 22px 88px;min-height:420px}
.portal-wrap{max-width:1080px;margin:auto}
.portal-auth-card{max-width:490px;margin:auto;background:#fff;border:1px solid #e4e5e6;padding:34px;border-radius:10px;box-shadow:0 12px 30px rgba(18,35,61,.06)}
.portal-auth-card h2{font-size:29px;color:#152641;line-height:1.15;margin:0 0 10px}
.portal-auth-card p{color:#5c6d81;line-height:1.65}
.portal-auth-card label{display:block;font-weight:600;margin:20px 0 7px;color:#152641}
.portal-auth-card input{width:100%;padding:13px 14px;border-radius:5px;border:1px solid #d1d7e0;font:inherit;margin:0 0 16px}
.portal-text-button{background:transparent;border:0;color:#285078;text-decoration:underline;cursor:pointer;margin:15px 0 0}
.portal-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.portal-heading h2{font-size:clamp(28px,4vw,42px);color:#152641;margin:4px 0 8px}
.portal-heading p:not(.eyebrow){color:#5c6d81;margin:0}
.portal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portal-box{background:#fff;border:1px solid #e4e5e6;border-radius:9px;padding:26px;margin:0 0 20px}
.portal-box h3{color:#152641;font-size:21px;margin:0 0 12px}
.portal-box p{color:#617186;line-height:1.7}
.portal-box .btn{display:inline-block;margin-top:12px}
.portal-bookings .admin-table{width:100%;margin:18px 0}
#portal-status{max-width:900px;margin:20px auto}
[hidden]{display:none!important}
@media(max-width:750px){.portal-summary-grid{grid-template-columns:1fr}.portal-heading{align-items:flex-start;flex-direction:column}.portal-auth-card{padding:25px 20px}}
@media(max-width:650px){.site-header nav{flex-wrap:wrap!important;gap:6px!important;row-gap:6px}.site-header nav a{font-size:11px!important}.portal-section{padding:40px 14px}.portal-box{padding:19px}.portal-bookings{overflow-x:auto}}


/* Schafer Financial Lab: match the approved light-background navy/gold brand.
   Overrides legacy dark-header layout across every page. */
.site-header,.site-header.site-header{background:#fff!important;color:#102c4d!important;border-bottom:1px solid #e6e6e2!important;min-height:104px;padding-top:12px;padding-bottom:12px;align-items:center}
.site-header nav a,.site-header nav a:visited{color:#102c4d!important;font-weight:600}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:#b3893b!important}
.site-header .brand{display:flex;align-items:center;line-height:1;flex-shrink:0}
.site-header .brand img{display:block;width:clamp(275px,31vw,440px)!important;max-height:110px!important;height:auto!important;object-fit:contain}
@media(max-width:900px){.site-header{flex-wrap:wrap;justify-content:center;gap:14px}.site-header nav{justify-content:center;flex-wrap:wrap}}
@media(max-width:650px){.site-header{padding:15px 12px!important;gap:10px!important}.site-header .brand img{width:min(92vw,355px)!important;max-height:none!important}.site-header nav{gap:3px 9px!important}.site-header nav a{font-size:12px!important;padding:5px 4px!important}}


/* Schafer Financial Lab homepage: clean editorial financial-science direction */
.lab-hero{background:#fcfbf8;color:#112a47;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:clamp(30px,5vw,80px);align-items:center;padding:88px max(24px,calc((100vw - 1180px)/2)) 96px;min-height:615px}
.lab-overline,.lab-section-kicker{color:#a47d35;font-size:12px;font-weight:800;letter-spacing:.19em;margin:0 0 22px}
.lab-overline-rule{width:36px;height:2px;background:#be994e;display:inline-block;vertical-align:middle;margin-right:14px}
.lab-hero h1{font:normal clamp(43px,5.2vw,71px)/1.09 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0 0 23px;max-width:680px}
.lab-hero h1 em{font-style:normal;color:#b08a45}
.lab-hero-lead{color:#51647b;font-size:17px;line-height:1.88;max-width:575px;margin:0}
.lab-hero-actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-top:30px}
.lab-btn{border-radius:4px;display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;font-weight:700;font-size:13px;transition:background .2s,color .2s}
.lab-btn-primary{background:#122b49;color:#fff}.lab-btn-primary:hover{background:#244668}
.lab-btn-outline{border:1px solid #a9b0b8;color:#173450;background:#fff}.lab-btn-outline:hover{background:#f0f0eb}
.lab-hero-note{color:#738196;font-size:12px;margin-top:17px}
.lab-hero-showcase{position:relative;background:#142c49;color:white;min-height:415px;padding:37px;box-shadow:0 24px 70px rgba(15,37,61,.12);overflow:hidden;display:flex;flex-direction:column}
.lab-showcase-accent{position:absolute;width:175px;height:175px;border:1px solid rgba(207,164,82,.24);transform:rotate(45deg);top:-112px;right:-68px}
.lab-showcase-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#d8bc80;letter-spacing:.18em;font-weight:700}
.lab-showcase-top span{color:#d3dce8;letter-spacing:.08em}
.lab-showcase-monogram{align-self:center;font:600 105px/1 Georgia,serif;letter-spacing:-.09em;margin:40px 0 27px;color:#e6eaf0;white-space:nowrap}
.lab-showcase-monogram span{color:#c49a50}
.lab-showcase-rule{height:2px;background:linear-gradient(90deg,transparent,#c29b56,transparent);width:100%}
.lab-hero-showcase h2{color:#fff;font:normal 28px/1.3 Georgia,serif;letter-spacing:0;margin:18px 0 7px;text-align:center}
.lab-hero-showcase p{font-size:13px;color:#c8d3df;text-align:center;margin:0}
.lab-showcase-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;gap:10px;color:#d7bc82;font-size:10px;letter-spacing:.10em}
.lab-intro{background:#fff;padding:87px max(24px,calc((100vw - 1180px)/2)) 100px;text-align:center}
.lab-intro h2{color:#122a46;font:normal clamp(32px,3.7vw,47px)/1.2 Georgia,serif;margin:0 0 14px}
.lab-intro>p:not(.lab-section-kicker){color:#617085;max-width:700px;margin:0 auto 39px;line-height:1.8}
.lab-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;text-align:left}
.lab-feature{background:#fbfaf7;border:1px solid #e6e2d9;display:flex;flex-direction:column;padding:30px;min-height:270px;transition:transform .2s,border-color .2s}
.lab-feature:hover{transform:translateY(-3px);border-color:#b99a5e}
.lab-feature-no{color:#ad8741;font-size:13px;font-weight:700;letter-spacing:.12em}
.lab-feature h3{font:normal 25px/1.2 Georgia,serif;color:#182f4c;margin:23px 0 12px}
.lab-feature p{font-size:14px;color:#607087;line-height:1.7;margin:0 0 24px}
.lab-feature-link{color:#a17c39;font-size:12px;font-weight:700;margin-top:auto}
.lab-bottom-cta{background:#eff1f2;padding:65px max(24px,calc((100vw - 1180px)/2));display:flex;gap:40px;align-items:center;justify-content:space-between}
.lab-bottom-cta h2{font:normal clamp(27px,3vw,38px)/1.22 Georgia,serif;color:#112a47;margin:0 0 12px;max-width:650px}
.lab-bottom-cta p:not(.lab-section-kicker){font-size:14px;color:#66758b;margin:0}
.lab-bottom-cta .lab-section-kicker{margin-bottom:12px}
@media(max-width:850px){.lab-hero{grid-template-columns:1fr;gap:30px;padding:60px 22px}.lab-hero-showcase{max-width:650px;width:100%;margin:auto}.lab-feature-grid{grid-template-columns:1fr}.lab-feature{min-height:unset}.lab-intro{padding:63px 22px}.lab-bottom-cta{padding:55px 22px;flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.lab-hero h1{font-size:42px}.lab-hero-showcase{min-height:350px;padding:24px}.lab-showcase-monogram{font-size:80px}.lab-hero-actions .lab-btn{width:100%}.lab-showcase-top{font-size:9px}}


/* Approved logo appears in a light brand showcase, not as a generic text monogram */
.lab-hero-showcase{background:#fff;border:1px solid #e6e2d9;color:#152c49;box-shadow:0 21px 60px rgba(15,37,61,.09)}
.lab-showcase-top{color:#a17b39}.lab-showcase-top span{color:#697a8d}
.lab-showcase-logo{display:flex;align-items:center;justify-content:center;flex:1;padding:50px 0 28px}
.lab-showcase-logo img{display:block;width:100%;max-width:565px;height:auto}
.lab-showcase-rule{background:linear-gradient(90deg,transparent,#b99a5e,transparent)}
.lab-hero-showcase h2{color:#132e4c}.lab-hero-showcase p{color:#5c7084}
.lab-showcase-bottom{border-color:#e7e3dc;color:#a17b39}


/* Screenshot-based fixes — Nov 5: stable desktop margins, readable navigation */
.site-header nav a[href="/book.html"],.site-header nav a[href="/book.html"]:visited{color:#fff!important;background:#152641!important}
.site-header nav a[href="/book.html"]:hover{background:#af8b48!important;color:#102c4d!important}
.lab-hero{box-sizing:border-box;width:100%;padding-left:max(34px,calc((100% - 1170px)/2));padding-right:max(34px,calc((100% - 1170px)/2));overflow:hidden}
.lab-hero-copy,.lab-hero-showcase{min-width:0}
.lab-hero h1{font-size:clamp(42px,4.6vw,64px);line-height:1.13;overflow-wrap:normal}
.lab-hero-showcase{min-height:390px}
.lab-showcase-logo{padding:38px 4px 20px}
.lab-showcase-logo img{width:100%;max-width:520px;height:auto;image-rendering:auto}
@media(max-width:900px){.lab-hero{padding:56px 30px;grid-template-columns:1fr}.lab-hero h1{font-size:clamp(39px,6vw,61px)}}
@media(max-width:480px){.lab-hero{padding:48px 20px}.lab-hero h1{font-size:40px}.lab-showcase-logo{padding:24px 0 13px}}


.lab-showcase-message{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:33px 0 26px}
.lab-showcase-label{font-size:10px;letter-spacing:.18em;color:#a27b37;font-weight:800}
.lab-showcase-message h2,.lab-hero-showcase .lab-showcase-message h2{font:normal clamp(36px,3.5vw,51px)/1.14 Georgia,'Times New Roman',serif;letter-spacing:-.02em;color:#132b48;text-align:left;margin:18px 0 15px}
.lab-showcase-message h2 em{font-style:normal;color:#ae8948}
.lab-hero-showcase .lab-showcase-message p{font-size:14px;line-height:1.75;color:#5a6b7f;text-align:left;max-width:350px}

/* Booking availability popup calendar */
.booking-form .date-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 13px;margin:0 0 20px;background:#fff;border:1px solid #d5dce4;border-radius:5px;color:#62748a;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.booking-form .date-trigger.has-date{color:#142b48;font-weight:650}
.booking-form .date-trigger:disabled{cursor:not-allowed;opacity:.65}
.booking-form .date-trigger:focus-visible,.date-dialog button:focus-visible{outline:3px solid #cba35d;outline-offset:2px}
.date-trigger-icon{font-size:23px;color:#b58c47;line-height:1}
.date-dialog{width:min(440px,calc(100vw - 28px));max-height:min(700px,calc(100dvh - 28px));padding:25px 25px 20px;border:1px solid #e0e4e8;border-radius:16px;background:#fff;color:#142b48;box-shadow:0 28px 90px #0b203e40;overflow:auto}
.date-dialog::backdrop{background:rgba(12,29,50,.57);backdrop-filter:blur(3px)}
.calendar-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
.calendar-eyebrow{margin:0 0 8px;color:#b38b49;font-size:10px;font-weight:800;letter-spacing:.15em}
.calendar-modal-header h3{margin:0;color:#132b49;font:600 22px/1.3 Georgia,serif}
.date-dialog .calendar-close{border:0;background:#f1f3f5;border-radius:50%;width:33px;height:33px;font-size:24px;line-height:1;cursor:pointer;color:#3b506a}
.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.calendar-month-nav strong{font-size:17px;font-weight:700;color:#152b48}
.calendar-month-nav button{border:1px solid #e2e6eb;border-radius:8px;background:#fff;color:#152b48;font-size:25px;width:38px;height:38px;cursor:pointer;line-height:1}
.calendar-month-nav button:disabled{opacity:.3;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekdays{margin-bottom:8px}
.calendar-weekdays span{text-align:center;color:#7b8897;font-size:11px;font-weight:700}
.calendar-day,.calendar-blank{aspect-ratio:1;min-width:0}
.date-dialog .calendar-day{border:1px solid transparent;border-radius:9px;background:#f5f6f7;color:#b0b7c0;font-family:inherit;font-size:14px;font-weight:600;line-height:1;cursor:not-allowed}
.date-dialog .calendar-day.is-available{background:#edf3f1;border:1px solid #d0e2d9;color:#183e36;cursor:pointer}
.date-dialog .calendar-day.is-available:hover{background:#d6e7dc;border-color:#87a99a}
.date-dialog .calendar-day.is-selected{background:#142b48;border-color:#142b48;color:#fff}
.date-dialog .calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px #c19b56}
.calendar-legend{display:flex;align-items:center;gap:8px;margin:18px 0 0;color:#60718a;font-size:12px;line-height:1.5}
.calendar-legend-dot{display:inline-block;width:11px;height:11px;border-radius:3px;background:#edf3f1;border:1px solid #b8d3c5;flex-shrink:0}
@media(max-width:480px){.date-dialog{padding:20px 15px 17px}.calendar-weekdays,.calendar-grid{gap:3px}.date-dialog .calendar-day{font-size:13px}}

/* Select the appointment date and time in the same calendar dialog */
.booking-date-field{margin-bottom:8px}
.date-dialog{width:min(480px,calc(100vw - 28px))}
.calendar-times{border-top:1px solid #e5e8ed;margin-top:20px;padding-top:19px}
.calendar-times[hidden]{display:none}
.calendar-times-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:13px}
.calendar-times-header h4{font-size:15px;font-weight:750;color:#132b49;margin:0}
.calendar-times-header p{font-size:11px;color:#69798d;margin:0}
.calendar-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.date-dialog .calendar-time-slot{border:1px solid #c6d3e0;border-radius:8px;background:#f7f9fb;color:#142d4a;font-family:inherit;font-size:13px;font-weight:700;padding:12px 5px;cursor:pointer;transition:background .15s,border-color .15s}
.date-dialog .calendar-time-slot:hover{background:#e7f0f7;border-color:#9bb5ce}
.date-dialog .calendar-time-slot:active{background:#142b48;color:#fff}
.calendar-time-status{color:#687a8f;font-size:12px;line-height:1.5;margin:10px 0 0}
@media(max-width:420px){.calendar-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-times-header{align-items:flex-start;flex-direction:column;gap:4px}}


/* The Lab: dedicated tools and dashboards landing page */
.tools-hero{background:linear-gradient(135deg,#112944 0%,#1b3552 70%,#233e58 100%);color:#fff;padding:88px max(24px,calc((100% - 1180px)/2)) 96px;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(36px,6vw,88px);align-items:center}
.tools-hero-inner{min-width:0}.tools-eyebrow{font-size:11px;letter-spacing:.2em;font-weight:800;color:#b99554;margin:0 0 20px}.tools-hero .tools-eyebrow{color:#dfbe82}
.tools-hero h1{font-size:clamp(40px,4.4vw,62px);line-height:1.12;letter-spacing:-.045em;margin:0 0 25px;color:#fff}
.tools-hero h1 em{color:#e5c38c;font-style:normal}.tools-hero-inner>p:not(.tools-eyebrow){color:#d2dce6;font-size:16px;line-height:1.85;max-width:500px;margin:0 0 32px}
.tools-hero-link{display:inline-flex;align-items:center;gap:14px;color:#162a44;background:#e2bf81;border-radius:5px;padding:13px 20px;font-weight:750;font-size:13px}
.tools-hero-link:hover{background:#f0d29d}.tools-preview{min-width:0;background:#f8fafb;color:#162b46;border:1px solid #ffffff30;border-radius:14px;box-shadow:0 30px 75px #09172855;overflow:hidden}
.tools-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid #e4e9ed;font-size:10px;font-weight:800;letter-spacing:.12em;color:#60748b}
.tools-preview-dots{display:flex;gap:5px}.tools-preview-dots i{width:7px;height:7px;background:#d2dbe4;border-radius:50%}.tools-preview-dots i:first-child{background:#c5a467}
.tools-preview-mark{color:#af8745}.tools-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px}
.tools-preview-tile{background:#fff;border:1px solid #e3e9ef;border-radius:9px;padding:18px;min-height:150px}.tools-preview-tile>span{display:block;font-size:11px;color:#63758b;font-weight:700}
.tools-preview-wide{grid-column:1/-1;min-height:210px}.tools-skeleton-title{height:14px;width:43%;border-radius:4px;background:#d9e2ea;margin:18px 0 12px}
.tools-skeleton-short{height:8px;width:66%;border-radius:4px;background:#e6ebf0;margin:14px 0 0}.tools-chart-bars{height:105px;display:flex;align-items:flex-end;gap:9px;padding-top:6px;border-bottom:1px solid #dfe6ec}
.tools-chart-bars b{flex:1;display:block;background:linear-gradient(#d3b47a,#e6d7b8);border-radius:4px 4px 0 0}
.tools-ring{width:66px;height:66px;border-radius:50%;background:conic-gradient(#bd9a5d 0 64%,#e5eaf0 64% 100%);margin:16px auto 4px;position:relative}
.tools-ring:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.tools-progress{height:9px;border-radius:9px;background:#e6ebf0;overflow:hidden;margin:22px 0 0}.tools-progress i{display:block;width:58%;height:100%;background:#bd9a5d;border-radius:9px}
.tools-preview-caption{font-size:10px;color:#728399;text-align:center;margin:0 15px 17px}
.tools-content{max-width:1180px;margin:auto;padding:95px 24px 105px;scroll-margin-top:20px}.tools-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:34px}
.tools-section-head h2{font-size:clamp(34px,3.5vw,48px);line-height:1.16;letter-spacing:-.035em;color:#152b46;margin:0 0 13px}
.tools-section-head p:not(.tools-eyebrow){margin:0;color:#63758a;max-width:560px}.tools-phase{font-size:10px;font-weight:800;letter-spacing:.12em;color:#826634;background:#f2ebdc;padding:9px 13px;border-radius:3px;white-space:nowrap}
.tools-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tools-card{background:#fff;border:1px solid #e1e6ea;border-radius:9px;padding:29px 27px 26px;min-height:330px;display:flex;flex-direction:column}
.tools-card-icon{width:54px;height:54px;background:#f1eee6;color:#997439;border-radius:10px;display:grid;place-items:center;font-size:29px;margin-bottom:26px}
.tools-card-tag{color:#a78345;font-size:10px;letter-spacing:.15em;font-weight:800}.tools-card h3{font-size:23px;letter-spacing:-.025em;color:#152c48;line-height:1.25;margin:10px 0 12px}
.tools-card p{font-size:14px;line-height:1.8;color:#62738a;margin:0 0 24px}.tools-card-status{font-size:12px;font-weight:750;color:#6a7785;margin-top:auto;padding-top:16px;border-top:1px solid #edf0f2}
.tools-privacy{color:#748398;font-size:12px;line-height:1.7;margin:26px 0 0}.tools-cta{background:#f0eee9;padding:68px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:45px}
.tools-cta h2{font-size:clamp(28px,3.3vw,39px);line-height:1.2;letter-spacing:-.03em;color:#162c48;margin:0 0 12px}.tools-cta p:not(.tools-eyebrow){margin:0;color:#66758b;max-width:580px}
.tools-cta .lab-btn{white-space:nowrap}
@media(max-width:1000px){.tools-hero{grid-template-columns:1fr;padding:70px 30px;gap:35px}.tools-preview{width:100%;max-width:650px}.tools-card-grid{gap:12px}.tools-card{padding:23px 20px}}
@media(max-width:720px){.tools-hero{padding:55px 22px}.tools-content{padding:64px 20px 74px}.tools-section-head{display:block}.tools-phase{display:inline-block;margin-top:20px}.tools-card-grid{grid-template-columns:1fr}.tools-card{min-height:unset}.tools-cta{padding:55px 22px;flex-direction:column;align-items:flex-start;gap:25px}.tools-hero h1{font-size:clamp(35px,9vw,47px)}}
@media(max-width:410px){.tools-preview-grid{padding:12px;gap:8px}.tools-preview-tile{padding:12px}.tools-preview-wide{min-height:175px}.tools-chart-bars{height:80px}.tools-preview-top{padding:12px}}


/* Existing Scriptable widget gallery — synthetic examples only */
.lab-widget-hero-preview,.lab-native-widget{background:#24170f;color:#fff4e3;border-radius:19px;border:1px solid #614332;box-shadow:0 24px 65px #0b0b0b30;font-variant-numeric:tabular-nums}
.lab-widget-hero-preview{padding:22px 24px;max-width:520px;width:100%;justify-self:end}
.lab-widget-header,.lab-native-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;letter-spacing:.075em}
.lab-widget-header{font-size:15px}.lab-widget-demo-pill,.lab-native-demo{color:#e8ad61;font-size:10px;letter-spacing:.09em;font-weight:800}
.lab-widget-mainstat{margin:20px 0 12px;background:#303a24;border-radius:12px;padding:19px}.lab-widget-mainstat>span,.lab-widget-two span{display:block;color:#d8bfa3;font-size:10px;font-weight:750;letter-spacing:.09em}
.lab-widget-mainstat strong{display:block;color:#b7d58e;font-size:37px;line-height:1.3;margin:4px 0}.lab-widget-mainstat small{color:#d8bfa3;font-size:11px}
.lab-widget-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lab-widget-two>div{background:#3a291d;padding:14px;border-radius:10px}.lab-widget-two strong{display:block;font-size:20px;color:#fff4e3;margin-top:5px}
.lab-widget-inner{background:#302017;border-radius:10px;margin-top:11px;padding:10px 14px}.lab-widget-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;color:#d8bfa3}.lab-widget-line strong{color:#fff4e3}.lab-widget-bottom,.lab-native-footer{text-align:center;color:#d8bfa3;font-size:9px;font-weight:700;letter-spacing:.08em;margin-top:15px}
.lab-widget-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.lab-widget-entry{display:flex;flex-direction:column;gap:20px;min-width:0}.lab-widget-copy{padding:2px 3px}.lab-widget-copy h3{font-size:25px;color:#152b46;line-height:1.2;margin:11px 0 10px}.lab-widget-copy p{font-size:14px;color:#62738a;line-height:1.75;min-height:96px;margin:0 0 13px}
.lab-widget-copy a{color:#8e6c32;font-weight:800;font-size:12px}.lab-widget-copy a:hover{text-decoration:underline}
.lab-native-widget{border-radius:17px;box-shadow:0 15px 38px #1e2a3a1d;padding:17px;min-height:360px;display:flex;flex-direction:column;gap:11px}
.lab-native-title{font-size:13px;letter-spacing:.03em;min-height:22px}.lab-native-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lab-native-cell{min-width:0;background:#3a291d;border-radius:10px;padding:13px 12px}.lab-native-cell small{display:block;font-size:9px;color:#d8bfa3;letter-spacing:.05em;font-weight:800}.lab-native-cell strong{display:block;font-size:19px;line-height:1.25;color:#b7d58e;margin:8px 0 5px;overflow-wrap:anywhere}
.lab-native-cell>span{color:#d8bfa3;font-size:10px}.lab-native-safe{background:#303a24}.lab-native-details{background:#302017;flex:1}
.lab-native-details>div{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #614332;font-size:11px;line-height:1.3}.lab-native-details>div:last-child{border:0}.lab-native-details span{color:#d8bfa3}.lab-native-details b{color:#fff4e3;white-space:nowrap}.lab-native-footer{margin-top:auto;padding-top:6px}
.lab-budget-list>div{display:grid;grid-template-columns:1fr auto;column-gap:6px;row-gap:7px;padding:8px 0}.lab-budget-list i{grid-column:1/-1;display:block;height:6px;border-radius:9px;background:linear-gradient(to right,var(--accent) 0 var(--fill),#654733 var(--fill) 100%)}
.lab-native-paycheck{display:flex;justify-content:space-between;gap:6px;align-items:center}.lab-native-paycheck strong{font-size:15px;color:#fff4e3}.lab-native-paycheck>span{font-size:9px;color:#e8ad61}.lab-paycheck-list b.lab-native-positive{color:#b7d58e}
.lab-widget-install{margin-top:42px;padding:30px 34px;background:#f1eee7;border:1px solid #e4dccd;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:24px}.lab-widget-install h3{color:#162c48;font-size:22px;margin:0 0 7px}.lab-widget-install p{color:#65748a;font-size:13px;max-width:620px;margin:0}.lab-widget-install a{white-space:nowrap}
@media(max-width:1100px){.lab-widget-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-widget-copy p{min-height:unset}.lab-widget-entry:last-child{grid-column:1/-1;max-width:520px}}
@media(max-width:720px){.lab-widget-gallery{grid-template-columns:1fr}.lab-widget-entry:last-child{grid-column:auto;max-width:none}.lab-widget-entry{gap:12px}.lab-native-widget{min-height:unset}.lab-widget-install{padding:25px 20px;flex-direction:column;align-items:flex-start}.lab-widget-hero-preview{padding:18px}.lab-widget-mainstat strong{font-size:30px}}


/* The Lab seasonal preview selector. Visual themes only; no financial requests. */
.lab-season-picker{margin:-3px 0 35px;padding:25px 28px 23px;background:#f8f7f4;border:1px solid #e5e7e9;border-radius:12px}
.lab-season-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.lab-season-intro .tools-eyebrow{margin-bottom:9px}.lab-season-intro h3{font-size:25px;color:#152b46;line-height:1.2;margin:0 0 8px;letter-spacing:-.025em}
.lab-season-intro p:not(.tools-eyebrow){font-size:13px;color:#66778b;line-height:1.55;margin:0}
.lab-season-current{text-align:right;flex-shrink:0}.lab-season-current span{display:block;color:#7d8a98;font-size:10px;letter-spacing:.12em;font-weight:800;margin-bottom:5px}.lab-season-current strong{font-size:16px;color:#162b47}
.lab-season-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lab-season-button{font-family:inherit;font-weight:700;font-size:14px;line-height:1.2;border:1px solid #d8dfe4;background:#fff;color:#263a51;border-radius:9px;cursor:pointer;padding:15px 10px;display:flex;justify-content:center;align-items:center;gap:10px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.lab-season-button:hover{border-color:#b08b51;transform:translateY(-1px)}.lab-season-button:focus-visible{outline:3px solid #b58b49;outline-offset:3px}
.lab-season-button[aria-pressed="true"]{border:2px solid #a77b3c;background:#f5ecdd;box-shadow:0 2px 10px #82612d17;padding:14px 9px}
.lab-season-button-icon{font-size:22px;line-height:1}.lab-season-mark{display:inline-block;margin-right:3px}
.lab-seasonal{--season-bg:#24170f;--season-card:#3a291d;--season-inset:#302017;--season-safe:#303a24;--season-text:#fff4e3;--season-muted:#d8bfa3;--season-accent:#b7d58e;--season-badge:#e8ad61;--season-border:#614332;--season-track:#654733;--season-cat-1:#d9a441;--season-cat-2:#d97845;--season-cat-3:#c86539;--season-cat-4:#b58a56;--season-glow:#a85d2a}
.lab-seasonal[data-lab-season="spring"]{--season-bg:#142b2a;--season-card:#24413c;--season-inset:#1b3431;--season-safe:#2b473a;--season-text:#f4fff4;--season-muted:#c1dbd0;--season-accent:#e2f3b4;--season-badge:#f2bed3;--season-border:#50756a;--season-track:#466b5e;--season-cat-1:#b8d98b;--season-cat-2:#edb7cd;--season-cat-3:#c3b8ee;--season-cat-4:#9ad7c7;--season-glow:#d89ab4}
.lab-seasonal[data-lab-season="summer"]{--season-bg:#0c3040;--season-card:#18485b;--season-inset:#143a4b;--season-safe:#215361;--season-text:#f6fdff;--season-muted:#c1e1e9;--season-accent:#ffdc84;--season-badge:#f9c56d;--season-border:#427588;--season-track:#3d6877;--season-cat-1:#ffcf76;--season-cat-2:#69c8d8;--season-cat-3:#f7a56e;--season-cat-4:#a0ddba;--season-glow:#e5ad50}
.lab-seasonal[data-lab-season="winter"]{--season-bg:#17253f;--season-card:#253852;--season-inset:#1c2e49;--season-safe:#224257;--season-text:#f6fbff;--season-muted:#c5d8eb;--season-accent:#b9eaff;--season-badge:#d4e5ff;--season-border:#486383;--season-track:#3d5773;--season-cat-1:#a8d9ff;--season-cat-2:#b7b7f5;--season-cat-3:#82cfd5;--season-cat-4:#d7c7f2;--season-glow:#a1c5f2}
.lab-seasonal .lab-widget-hero-preview,.lab-seasonal .lab-native-widget{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--season-glow) 19%,transparent),transparent 55%),var(--season-bg);color:var(--season-text);border-color:var(--season-border);transition:background .2s,border-color .2s,color .2s}
.lab-seasonal .lab-widget-mainstat,.lab-seasonal .lab-native-safe{background:var(--season-safe)}
.lab-seasonal .lab-widget-mainstat strong,.lab-seasonal .lab-native-cell strong,.lab-seasonal .lab-paycheck-list b.lab-native-positive{color:var(--season-accent)}
.lab-seasonal .lab-widget-mainstat>span,.lab-seasonal .lab-widget-mainstat small,.lab-seasonal .lab-widget-two span,.lab-seasonal .lab-widget-line,.lab-seasonal .lab-widget-bottom,.lab-seasonal .lab-native-footer,.lab-seasonal .lab-native-cell small,.lab-seasonal .lab-native-cell>span,.lab-seasonal .lab-native-details span{color:var(--season-muted)}
.lab-seasonal .lab-widget-two>div,.lab-seasonal .lab-native-cell:not(.lab-native-safe):not(.lab-native-details){background:var(--season-card)}
.lab-seasonal .lab-widget-two strong,.lab-seasonal .lab-widget-line strong,.lab-seasonal .lab-native-details b,.lab-seasonal .lab-native-paycheck strong{color:var(--season-text)}
.lab-seasonal .lab-widget-inner,.lab-seasonal .lab-native-details{background:var(--season-inset)}
.lab-seasonal .lab-native-details>div{border-color:var(--season-border)}
.lab-seasonal .lab-widget-demo-pill,.lab-seasonal .lab-native-demo,.lab-seasonal .lab-native-paycheck>span{color:var(--season-badge)}
.lab-seasonal .lab-budget-list>div:nth-child(1) i{background:linear-gradient(to right,var(--season-cat-1) 0 var(--fill),var(--season-track) var(--fill) 100%)}
.lab-seasonal .lab-budget-list>div:nth-child(2) i{background:linear-gradient(to right,var(--season-cat-2) 0 var(--fill),var(--season-track) var(--fill) 100%)}
.lab-seasonal .lab-budget-list>div:nth-child(3) i{background:linear-gradient(to right,var(--season-cat-3) 0 var(--fill),var(--season-track) var(--fill) 100%)}
.lab-seasonal .lab-budget-list>div:nth-child(4) i{background:linear-gradient(to right,var(--season-cat-4) 0 var(--fill),var(--season-track) var(--fill) 100%)}
@media(max-width:720px){.lab-season-picker{padding:21px 17px}.lab-season-intro{align-items:flex-start;flex-direction:column;gap:12px}.lab-season-current{text-align:left}.lab-season-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(prefers-reduced-motion:reduce){.lab-season-button,.lab-seasonal .lab-widget-hero-preview,.lab-seasonal .lab-native-widget{transition:none}}


/* Authentic Lab listing: no simulated widget screenshots or unimplemented seasonal controls */
.lab-authentic-hero{background:#f9fafb;color:#152b46;border-radius:15px;border:1px solid #dfe6ec;padding:clamp(26px,4vw,46px);box-shadow:0 20px 45px #08182b25;max-width:530px}
.lab-authentic-hero h2{font-size:clamp(29px,3.5vw,43px);line-height:1.18;letter-spacing:-.04em;color:#172d49;margin:17px 0}
.lab-authentic-hero>p{font-size:14px;line-height:1.7;color:#5e7084;margin:0 0 24px}
.lab-authentic-hero-note{border-left:3px solid #b58c49;padding:12px 15px;background:#f1eee8;font-size:13px;line-height:1.65;color:#5a6472}
.lab-authentic-hero-note strong{color:#1d334d}
@media(max-width:720px){.lab-authentic-hero{padding:25px}}


/* Interactive native-source Scriptable demos, no screenshots */
.lab-interactive{display:grid;grid-template-columns:minmax(0,0.88fr) minmax(0,1.12fr);gap:24px;align-items:start}
.lab-preview-controls{background:#f8f9fa;border:1px solid #e0e5eb;border-radius:12px;padding:27px;display:flex;flex-direction:column;gap:30px}
.lab-preview-control h3{font-size:18px;color:#162c48;line-height:1.3;margin:0 0 14px}
.lab-choice-grid{display:grid;grid-template-columns:1fr;gap:9px}
.lab-choice-grid button{display:flex;align-items:center;justify-content:flex-start;min-height:45px;text-align:left;border:1px solid #dbe2e8;background:#fff;border-radius:8px;color:#24394f;padding:10px 14px;cursor:pointer;font:700 13px/1.4 system-ui,sans-serif}
.lab-choice-grid button:hover{border-color:#b99758}.lab-choice-grid button:focus-visible{outline:3px solid #b99758;outline-offset:2px}
.lab-choice-grid button[aria-pressed="true"]{background:#f3eadb;border:2px solid #a78345;padding:9px 13px;color:#192e47}
.lab-season-choice{grid-template-columns:repeat(2,minmax(0,1fr))}
.lab-demo-explainer{background:#f1eee7;border-left:3px solid #b38d4d;padding:15px 17px;border-radius:3px}
.lab-demo-explainer strong{font-size:13px;color:#162c48}.lab-demo-explainer p{font-size:12px;line-height:1.75;color:#5f6e80;margin:6px 0 0}
.lab-demo-install{font-size:13px;font-weight:750;color:#8b692e}.lab-demo-install:hover{text-decoration:underline}
.lab-preview-stage{background:#edf0f3;border:1px solid #dce3e8;border-radius:12px;min-width:0;padding:20px}
.lab-preview-stage-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;font-size:14px;color:#172e49}
.lab-preview-stage-top span{font-size:10px;letter-spacing:.07em;color:#8b6c38;font-weight:800;white-space:nowrap}
.lab-preview-viewport{display:flex;align-items:flex-start;justify-content:center;min-height:410px;overflow-x:auto;padding:0 0 12px}
#lab-widget-render{display:flex;justify-content:center;align-items:flex-start;min-width:342px}
#lab-widget-render>.native-widget{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#fff4e3;line-height:1.2;box-shadow:0 14px 40px #0b14232a;border-radius:22px;overflow:hidden}
#lab-widget-render .native-text{line-height:1.15}
#lab-widget-render .native-image canvas{max-width:none}
.lab-preview-disclaimer{font-size:11px;line-height:1.6;color:#65758a;margin:12px 0 0;text-align:center}
.lab-preview-error{padding:35px 20px;background:#fff;border-radius:12px;color:#6d3240;font-size:14px}
@media(max-width:980px){.lab-interactive{grid-template-columns:1fr}.lab-preview-controls{gap:22px}.lab-choice-grid.lab-widget-choice{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.lab-preview-controls{padding:18px}.lab-choice-grid.lab-widget-choice{grid-template-columns:1fr}.lab-preview-stage{padding:15px 8px}.lab-preview-viewport{justify-content:flex-start}.lab-preview-stage-top{padding:0 7px}.lab-preview-disclaimer{padding:0 8px}}

/* Debt HQ uses the actual iPhone two-wide, one-high medium widget family. */
.lab-preview-viewport.lab-medium-viewport{min-height:208px;align-items:flex-start}
#lab-widget-render>.native-widget.lab-debt-medium{width:342px!important;min-width:342px;height:158px!important;min-height:158px;max-height:158px;overflow:hidden;border-radius:20px;flex-shrink:0}
#lab-widget-render>.lab-debt-medium .native-spacer{min-height:0}


/* Private admin Monarch connection overview */
.monarch-health-notice{border:1px solid #d8dfe8;border-left:3px solid var(--gold);background:#f5f7fa;color:#34445a;padding:12px 14px;border-radius:5px;font-size:13px;margin:15px 0}
.monarch-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.monarch-stat{border:1px solid #e1e5eb;background:#fff;border-radius:9px;padding:14px}
.monarch-stat span{display:block;color:#57697d;font-size:12px}
.monarch-stat strong{display:block;font-size:25px;color:var(--navy);line-height:1.3;margin-top:4px}
.monarch-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.monarch-toolbar input{min-width:190px;flex:1;max-width:410px}
.monarch-toolbar label{font-size:13px;font-weight:600}
.monarch-chip{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:650;white-space:nowrap}
.monarch-neutral{background:#eaf0f6;color:#344d67}
.monarch-good{background:#e5f4ec;color:#1d6741}
.monarch-warning{background:#fdf0dc;color:#7e4d12}
.monarch-table td{vertical-align:top}
.monarch-table td div{color:#687b8c;font-size:12px;margin-top:3px}
.monarch-help{font-size:12px;color:#657388;margin-top:12px}
@media(max-width:760px){.monarch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.monarch-toolbar{align-items:stretch;flex-direction:column}.monarch-toolbar input{width:100%;max-width:none}}

/* Intake questionnaire */
.intake-questionnaire{background:#f8f7f2;border:1px solid #e6e1d4;border-radius:8px;padding:18px;margin:16px 0 22px}.intake-questionnaire h4{color:#172943;font-size:18px;margin:0 0 5px}.intake-questionnaire-note{font-size:12px;color:#5f6c7d;margin:0 0 14px;line-height:1.55}.booking-form .intake-question{border:0;border-top:1px solid #e0e3e5;padding:12px 0 2px;margin:12px 0 8px}.booking-form .intake-question legend{font-size:13px;font-weight:700;color:#172943;padding:0 0 8px}.booking-form .intake-question .intake-option{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:500;margin:7px 0;color:#33445a}.booking-form .intake-question .intake-option input[type=radio],.booking-form .intake-question .intake-option input[type=checkbox]{display:inline-block;flex:0 0 16px;width:16px;height:16px;padding:0;margin:2px 0 0;accent-color:#213a58}.booking-form .intake-questionnaire textarea{margin-bottom:14px;min-height:64px}.admin-table details summary{cursor:pointer;color:#203755;font-weight:700}.admin-table details pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:12px;line-height:1.55;min-width:220px;max-width:420px;margin:8px 0 2px;color:#34445a}.admin-table td details{max-width:430px}

/* Private initial consultation guide */
.meeting-guide h3{margin:26px 0 12px;color:var(--navy);font-size:19px}
.meeting-guide-intro{max-width:850px;line-height:1.7;color:#4c5a6b}
.meeting-guide-script{background:#f6f3eb;border-left:4px solid var(--gold);padding:15px 18px;margin:18px 0;border-radius:5px;color:#34445a}
.meeting-guide-script p{line-height:1.7;margin:8px 0 0}
.meeting-agenda td{vertical-align:top;line-height:1.55}
.meeting-agenda td:first-child{white-space:nowrap;font-weight:700;color:var(--navy)}
.meeting-steps{padding-left:22px;line-height:1.65;color:#34445a}
.meeting-steps li{padding:0 0 9px 4px}
.meeting-guide-resource{font-size:13px;margin:18px 0}.meeting-guide-resource a{color:#284a72;font-weight:700}
.meeting-note-template{margin:12px 0 25px;border:1px solid #e0e4e8;border-radius:6px;padding:12px 14px}
.meeting-note-template summary{cursor:pointer;color:var(--navy);font-weight:700}
.meeting-note-template pre{white-space:pre-wrap;font:inherit;line-height:1.6;color:#405067}
@media(max-width:650px){.meeting-guide{padding:20px 15px}.meeting-agenda{min-width:640px}}

/* Initial consultation teaching module */
.meeting-guide-intro{max-width:900px;line-height:1.7;color:#4c5a6b}
.module-outcomes,.module-materials{background:#f4f6f8;border:1px solid #e1e6eb;border-radius:7px;padding:14px 18px;margin:16px 0;color:#3b4c60;line-height:1.6}
.module-outcomes ul{margin:8px 0 0;padding-left:22px}
.module-card-list{display:grid;gap:12px;margin:22px 0}
.module-card{border:1px solid #dfe4ea;border-radius:9px;overflow:hidden;background:#fff}
.module-card summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;cursor:pointer;background:#f7f8fa;color:var(--navy);font-weight:750}
.module-card summary strong{white-space:nowrap;font-size:13px;color:#80622f}
.module-card[open] summary{border-bottom:1px solid #e1e6eb}
.module-card-body{padding:18px;line-height:1.6;color:#3e4c5e}
.module-card-body p{margin:0 0 12px}
.module-card-body h4{margin:0 0 8px;color:var(--navy);font-size:15px}
.module-script{background:#f8f4ea;border-left:3px solid var(--gold);padding:12px 15px}
.module-checklist{list-style:none;padding:0;margin:8px 0 18px}
.module-checklist li{margin:8px 0}
.module-checklist label{display:flex;gap:9px;align-items:flex-start;cursor:pointer}
.module-checklist input{flex:0 0 16px;width:16px;height:16px;margin:3px 0 0;accent-color:#203957}
.module-activity{background:#f2f6f8;border:1px solid #dce5ea;border-radius:7px;padding:14px 16px;margin-top:14px}
.module-activity p:last-child{margin-bottom:0}
.module-note-template{background:#f7f8fa;border:1px dashed #cbd4dd;padding:14px 17px;border-radius:7px;max-width:760px}
.module-note-template pre{white-space:pre-wrap;font:inherit;line-height:1.65;margin:0;color:#34445a}
@media(max-width:640px){.module-card summary{align-items:flex-start;flex-direction:column;gap:4px}.module-card-body{padding:14px}.module-outcomes,.module-materials{padding:12px}}

/* Session-type module catalog */
.session-type-list{margin-top:18px}
.session-type-module>.module-card-body{padding:18px}
.session-type-module>summary{display:flex;align-items:center}
.client-module-state{margin-left:auto;white-space:nowrap;border-radius:999px;padding:4px 9px;background:#eaf0f6;color:#344d67;font-size:11px;font-weight:750}
.client-modules .session-type-module summary{gap:8px}
.client-modules .session-type-module .module-card-body{padding:14px}
@media(max-width:640px){.client-module-state{margin-left:0}.session-type-module>summary{align-items:flex-start;flex-direction:column}}


/* Sitewide mobile refinement — shared by public, client and admin pages. */
html,body{max-width:100%}
img,svg,video,canvas{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
:where(main,section,article,aside,.admin-main,.portal-wrap,.settings-wrap,.lab-preview-stage,.lab-preview-viewport){min-width:0}
:where(.admin-panel,.portal-box,.portal-auth-card,.module-card,.settings-next){overflow-wrap:anywhere}
:where(input,select,textarea){max-width:100%}
:where(.client-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
:where(.admin-table){min-width:520px}
:where(button,.btn,[role="button"]){touch-action:manipulation}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #b99a5e;outline-offset:3px}
@media(max-width:760px){
  .site-header{padding:12px 16px!important;min-height:0;display:flex;flex-direction:column;align-items:center;gap:8px}
  .site-header .brand{display:flex;justify-content:center;max-width:100%;min-width:0}
  .site-header .brand img{width:min(290px,78vw)!important;height:auto!important}
  .site-header nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 7px;width:100%;max-width:100%;margin:0}
  .site-header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border-radius:8px;font-size:12px!important;line-height:1.25;white-space:normal;text-align:center}
  .site-header nav a[aria-current="page"]{background:rgba(185,154,94,.14);font-weight:750}
  .hero{padding:48px 20px;min-height:0;gap:24px}
  .hero h1{font-size:clamp(34px,9vw,52px);overflow-wrap:break-word}
  .hero .lead{font-size:16px;line-height:1.65}
  .page-banner,.tools-hero{padding-left:18px;padding-right:18px}
  .page-banner h1,.tools-hero h1{font-size:clamp(30px,8vw,44px);line-height:1.15}
  .admin-main{margin:26px auto;padding:0 14px}
  .admin-main h1{font-size:clamp(26px,7vw,38px);line-height:1.18}
  .admin-panel,.portal-box,.portal-auth-card{padding:18px 15px;margin-left:0;margin-right:0}
  .portal-section,.settings-wrap{padding-left:14px;padding-right:14px}
  .portal-summary-grid{grid-template-columns:minmax(0,1fr)}
  .btn,button[type="submit"]{min-height:44px}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px;width:100%;max-width:100%}
  textarea{min-height:100px}
  .admin-panel .btn,.portal-auth-card .btn,.settings-wrap .btn{max-width:100%}
  .module-card summary{gap:8px;flex-wrap:wrap}
  .module-card-body{overflow-wrap:anywhere}
  .lab-preview-stage,.lab-preview-viewport{max-width:100%;min-width:0}
  .lab-preview-viewport{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch}
  .lab-preview-viewport>*{flex-shrink:0}
  footer{padding-left:18px;padding-right:18px}
}
@media(max-width:420px){
  .site-header nav{gap:3px 4px}
  .site-header nav a{padding:7px 8px;font-size:11px!important}
  .admin-panel,.portal-box,.portal-auth-card{padding:15px 12px}
  .admin-main{padding:0 10px}
  .page-banner,.tools-hero{padding-left:14px;padding-right:14px}
  .module-card summary{padding:13px}
}
