/* BodyTalks / The human form — opt-in public design layer.
   The application owns functional visibility, inputs, canvases and state.
   No assessment steps or application scripts are replaced by this layer. */
html.bt-bauhaus {
  --bt-paper:#f2eee3; --bt-paper2:#faf7ef; --bt-ink:#20211d;
  --bt-ink2:#41423a; --bt-ink3:#67675a; --bt-red:#d3422e;
  --bt-blue:#234d96; --bt-yellow:#ebba32;
  --cream:var(--bt-paper); --warm-white:var(--bt-paper2);
  --charcoal:var(--bt-ink); --stone:var(--bt-ink3);
  --gold:var(--bt-blue); --gold-light:#496caa;
  --border:#d5d1c3; --border-strong:#98968b;
}
html.bt-bauhaus body {background:var(--bt-paper); color:var(--bt-ink);}
html.bt-bauhaus body::before {opacity:.13;}
html.bt-bauhaus header {background:var(--bt-paper); border-bottom:1px solid var(--bt-ink); padding:16px 3.5%; backdrop-filter:none;}
html.bt-bauhaus .logo {font-size:26px; font-weight:800!important; letter-spacing:-1.3px;}
html.bt-bauhaus .logo em {color:var(--bt-ink);}
html.bt-bauhaus .logo::after {content:''; display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--bt-red); margin-left:5px;}
html.bt-bauhaus .header-nav {gap:clamp(12px,1.5vw,25px);}
html.bt-bauhaus .header-nav a {color:var(--bt-ink); font-size:10px; font-weight:600; letter-spacing:.07em;}
html.bt-bauhaus .header-nav a.active {border-bottom:2px solid var(--bt-red); padding-bottom:5px;}
html.bt-bauhaus .header-book {padding:12px 17px; min-height:44px; background:var(--bt-ink); color:var(--bt-paper);}
html.bt-bauhaus .header-book:hover {background:var(--bt-blue);}
html.bt-bauhaus .book-dropdown {border-top:4px solid var(--bt-yellow);}
html.bt-bauhaus .book-role {color:#d0cbbd;}
html.bt-bauhaus .bottom-nav {background:var(--bt-paper); border-top:2px solid var(--bt-ink);}
html.bt-bauhaus .tab-item.active {color:var(--bt-blue);}
html.bt-bauhaus .tab-label {font-weight:600;}
html.bt-bauhaus :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--bt-blue); outline-offset:4px;}
html.bt-bauhaus :is(.page-title,.hero-title,.page-hero h1) {font-weight:800!important; letter-spacing:-.05em;}
html.bt-bauhaus :is(.page-sub,.hero-sub,.tc-bio) {font-weight:400; color:var(--bt-ink2);}
html.bt-bauhaus footer {padding:50px 4%; border-top:1px solid var(--bt-ink); background:var(--bt-paper);}
html.bt-bauhaus .footer-brand {font-size:clamp(36px,6vw,78px); letter-spacing:-.055em; font-weight:800!important;}
html.bt-bauhaus .footer-brand em {color:var(--bt-ink);}
html.bt-bauhaus .footer-links {max-width:360px; padding-top:12px; gap:14px 22px;}
html.bt-bauhaus .footer-links a {color:var(--bt-ink2); font-size:13px;}
html.bt-bauhaus .footer-addr {padding-top:12px; font-size:12px;}

/* Editorial canvas: independent geometry and portrait layers. */
html.bt-home #hero {max-width:none; min-height:0; margin:0; padding:77px 0 0; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; text-align:left; overflow:hidden;}
.bt-studio-topline {padding:24px 4% 18px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; font-size:10px; line-height:1.5; letter-spacing:.13em; text-transform:uppercase;}
.bt-studio-coordinate {text-align:center;}
.bt-studio-edition {text-align:right;}
.bt-studio-stage {position:relative; min-height:565px; width:100%; max-width:1600px; margin:auto; isolation:isolate;}
.bt-studio-heading {position:relative; z-index:3; padding:25px 4% 38px; width:54%; pointer-events:none;}
html.bt-home .hero-eyebrow {font-size:10px; font-weight:600; letter-spacing:.18em; margin:0 0 20px; color:var(--bt-ink2); animation:none; opacity:1;}
html.bt-home .hero-title {font-size:clamp(90px,11.5vw,170px); font-weight:900!important; line-height:.79; letter-spacing:-.065em; text-transform:uppercase; margin:0; max-width:none; opacity:1; animation:none;}
html.bt-home .hero-title em {display:inline-block; color:var(--bt-blue); font-weight:900!important; margin-top:9px;}
.bt-studio-intro {font-size:16px; line-height:1.45; margin-top:28px; font-weight:400; max-width:320px;}
.bt-studio-art {position:absolute; z-index:2; inset:0 0 0 45%; overflow:hidden;}
.bt-studio-person {position:absolute; z-index:3; bottom:-92px; height:650px; width:auto; max-width:none; right:13%; pointer-events:none;}
.bt-studio-disc {position:absolute; width:400px; height:400px; border-radius:50%; right:18%; top:25px; background:var(--bt-red);}
.bt-studio-plane {position:absolute; width:38%; height:48%; bottom:0; right:0; background:var(--bt-blue);}
.bt-studio-arc {position:absolute; width:230px; height:230px; border-radius:100% 0 0 0; bottom:0; left:0; background:var(--bt-yellow);}
.bt-studio-axis {position:absolute; height:86%; top:0; right:20%; width:1px; background:var(--bt-ink); z-index:1;}
.bt-studio-ticks {position:absolute; right:6%; top:18%; width:45px; height:130px; background:repeating-linear-gradient(to bottom,var(--bt-ink) 0 1px,transparent 1px 18px);}
.bt-studio-caption {position:absolute; z-index:4; right:22px; bottom:80px; width:120px; font-size:12px; color:var(--bt-paper); line-height:1.4;}
.bt-studio-caption b {display:block; font-size:9px; text-transform:uppercase; letter-spacing:.08em; margin-top:9px; font-weight:400;}
.bt-studio-note {position:absolute; z-index:4; right:16px; top:12px; font-size:9px; letter-spacing:.17em; text-transform:uppercase; writing-mode:vertical-rl;}
.bt-studio-seal {position:absolute; z-index:5; bottom:28px; left:43%; transform:rotate(-8deg); background:var(--bt-yellow); color:var(--bt-ink); width:110px; height:110px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-direction:column; font-size:15px; font-weight:800; line-height:.94; letter-spacing:-.035em;}
.bt-studio-seal span {position:absolute; right:20px; bottom:22px; font-size:21px;}
.bt-studio-strip {display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; padding:19px 4%; background:var(--bt-ink); color:var(--bt-paper); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;}
.bt-studio-strip span::after {content:'↗'; color:var(--bt-yellow); margin-left:38px;}
.bt-start-panel {display:grid; grid-template-columns:.85fr 1.05fr 1fr; padding:50px 4%; gap:35px; align-items:start; background:var(--bt-yellow);}
.bt-small-label {font-size:10px; letter-spacing:.13em; text-transform:uppercase; font-weight:600;}
.bt-start-heading h2 {font-size:clamp(29px,3.3vw,48px); line-height:1.04!important; letter-spacing:-.05em!important; margin:15px 0 0; font-weight:800!important;}
html.bt-home .hero-sub {max-width:none; font-size:15px; line-height:1.65; margin:0 0 20px; color:var(--bt-ink); opacity:1; animation:none;}
html.bt-home .hero-values {justify-content:flex-start; gap:8px 15px; margin:0; opacity:1; animation:none;}
html.bt-home .hero-value {font-size:9px; letter-spacing:.05em; font-weight:500; color:var(--bt-ink);}
html.bt-home .hero-value::before {width:5px; height:5px; background:var(--bt-ink); border-radius:50%;}
html.bt-home .hero-cta-group {max-width:none; align-items:stretch; opacity:1; animation:none;}
html.bt-home .cta-start {background:var(--bt-ink)!important; color:var(--bt-paper)!important; border:1px solid var(--bt-ink)!important; font-size:11px; letter-spacing:.07em; padding:19px 15px;}
html.bt-home .cta-start:hover {background:var(--bt-blue)!important;}
html.bt-home .skip-book-link {opacity:1!important; text-align:left; justify-content:flex-start; padding:8px 0; color:var(--bt-ink); min-height:44px; font-size:12px!important; line-height:1.5;}

/* One feature film and one companion, rather than identical cards. */
html.bt-home .video-section {padding:75px 4% 85px; background:var(--bt-red); border:0;}
html.bt-home .video-inner {max-width:1400px;}
html.bt-home .video-eyebrow {text-align:left; color:var(--bt-paper); font-size:11px; font-weight:500; letter-spacing:.14em; margin-bottom:25px;}
html.bt-home .video-head-title {font-size:clamp(58px,8.7vw,115px); line-height:.94; font-weight:800!important; letter-spacing:-.06em!important; color:var(--bt-paper); text-align:left; margin-bottom:45px;}
html.bt-home .video-head-title em {color:var(--bt-paper);}
html.bt-home .video-grid {grid-template-columns:1.7fr 1fr; gap:5%; align-items:start;}
html.bt-home .video-card {border:0; padding:0; background:transparent; box-shadow:none;}
html.bt-home .video-card:nth-child(2) {margin-top:90px;}
html.bt-home :is(.video-frame,.video-thumb) {box-shadow:none; border:1px solid var(--bt-ink);}
html.bt-home .video-cap {border-top:1px solid #f2eee399; padding-top:16px; margin-top:22px;}
html.bt-home .video-tag {color:var(--bt-paper); font-size:10px; letter-spacing:.1em;}
html.bt-home .video-cap-title {color:var(--bt-paper); font-size:clamp(21px,2.2vw,29px); line-height:1.15; letter-spacing:-.03em; margin:7px 0 12px;}
html.bt-home .video-cap-sub {color:var(--bt-paper); font-size:14px; font-weight:400; max-width:550px;}
html.bt-home .maps-section {background:var(--bt-paper); border-top:0;}
html.bt-home .maps-inner {max-width:1400px; gap:6%; padding:70px 4%;}
html.bt-home .maps-title {font-size:clamp(46px,6vw,80px); font-weight:800!important; letter-spacing:-.055em;}
html.bt-home .maps-eyebrow::before {content:'02 / ';}
html.bt-home .maps-embed {border:1px solid var(--bt-ink); border-bottom:12px solid var(--bt-blue); min-height:360px;}
html.bt-home .faq-section {background:var(--bt-paper2); padding:75px 4%; border-top:1px solid var(--bt-ink);}
html.bt-home .faq-inner {max-width:1300px; display:grid; grid-template-columns:.75fr 1.25fr; column-gap:9%; align-items:start;}
html.bt-home .faq-eyebrow {grid-column:1/-1; color:var(--bt-blue); text-align:left; margin-bottom:25px;}
html.bt-home .faq-head-title {grid-column:1; grid-row:2/10; font-size:clamp(36px,4.3vw,60px); text-align:left; letter-spacing:-.045em!important; line-height:1; margin:0;}
html.bt-home .faq-item {grid-column:2; border-color:var(--bt-ink);}
html.bt-home .faq-item summary {font-size:16px; padding:23px 0;}
html.bt-home .archive-section {background:var(--bt-blue);}
html.bt-home .archive-inner {max-width:1400px; padding:70px 4%;}
html.bt-home :is(.archive-title,.archive-title em,.archive-eyebrow,.archive-desc,.archive-tag,.archive-friend) {color:var(--bt-paper);}
html.bt-home .archive-title {font-size:clamp(48px,6.5vw,90px); font-weight:800!important; letter-spacing:-.05em;}
html.bt-home .archive-desc {font-size:15px; font-weight:400;}
html.bt-home .archive-cta {background:var(--bt-yellow); color:var(--bt-ink);}
html.bt-home .archive-ornament {border:1px solid #f2eee388; color:var(--bt-paper); border-radius:50%; width:270px; height:270px; display:flex; align-items:center; justify-content:center; font-size:100px; font-weight:500; background:transparent;}

/* Practitioners: large portraits anchored to editorial rows. */
html.bt-team .page-wrap {max-width:1400px; padding:130px 4% 65px;}
html.bt-team .page-eyebrow {color:var(--bt-blue); font-size:11px; font-weight:600; letter-spacing:.14em;}
html.bt-team .page-title {font-size:clamp(46px,7vw,100px); line-height:1; max-width:1200px; letter-spacing:-.055em!important;}
html.bt-team .page-sub {font-size:17px; max-width:640px; margin:26px 0 58px;}
html.bt-team .team-grid {grid-template-columns:1fr; gap:60px;}
html.bt-team .team-card {display:grid; grid-template-columns:1fr 1.1fr; gap:0 7%; padding:0; border:0; border-top:1px solid var(--bt-ink); background:transparent; box-shadow:none;}
html.bt-team .team-card::before {display:none;}
html.bt-team .tc-num {grid-column:1/-1; margin:0; padding:17px 0; font-size:12px; color:var(--bt-ink); font-weight:600; letter-spacing:.1em;}
.bt-portrait {position:relative; overflow:hidden; height:590px; background:var(--bt-blue); margin:0; isolation:isolate;}
.bt-portrait-form {position:absolute; width:430px; height:430px; left:-90px; top:30px; border-radius:50%; background:var(--bt-yellow);}
.bt-portrait::after {content:'01'; position:absolute; z-index:0; right:5px; bottom:-30px; font-size:190px; line-height:1; font-weight:800; color:#f2eee355; letter-spacing:-.08em;}
.bt-portrait img {position:absolute; width:auto; max-width:none; height:680px; left:50%; bottom:-90px; transform:translateX(-50%); z-index:1;}
.bt-portrait-sukh {background:var(--bt-red);}
.bt-portrait-sukh .bt-portrait-form {background:var(--bt-paper); border-radius:0 100% 0 0; left:auto; right:-30px; top:auto; bottom:0;}
.bt-portrait-sukh::after {content:'02';}
.bt-portrait-sukh img {height:550px; bottom:0;}
.bt-practitioner-copy {padding:22px 0 0; align-self:center;}
html.bt-team .tc-name {font-size:clamp(42px,5vw,68px); font-weight:800; letter-spacing:-.045em;}
html.bt-team .tc-title {font-size:14px; margin-bottom:22px;}
html.bt-team .tc-bio {font-size:16px; line-height:1.65;}
html.bt-team .tc-spec {font-size:10px; padding:5px 8px; color:var(--bt-ink2);}
html.bt-team .tc-quote {border-left:3px solid var(--bt-red); font-size:20px; font-style:normal; font-weight:500;}
html.bt-team .tc-price-num {font-size:36px; font-weight:700;}
html.bt-team .tc-btn {min-height:48px; background:var(--bt-blue); font-size:12px; max-width:340px;}
html.bt-team .team-card:nth-child(2) .bt-portrait {grid-column:2; grid-row:2;}
html.bt-team .team-card:nth-child(2) .bt-practitioner-copy {grid-column:1; grid-row:2;}
html.bt-team .team-card:nth-child(2) .tc-btn {background:var(--bt-ink);}
html.bt-team .philosophy {background:var(--bt-yellow); border:0; padding:55px 5%;}
html.bt-team .ph-title {font-size:clamp(32px,4.5vw,64px); font-weight:800; letter-spacing:-.045em;}
html.bt-team .ph-title em {color:var(--bt-ink);}
html.bt-team .ph-item {color:var(--bt-ink); font-size:15px;}

/* Tools retain step/panel/canvas layouts. Entry screens join the brand. */
html.bt-tools .page-hero {max-width:1150px; padding-top:125px; text-align:left; border-bottom:1px solid var(--bt-ink);}
html.bt-tools .page-hero h1 {font-size:clamp(43px,6.5vw,82px); max-width:950px;}
html.bt-tools .page-hero .hero-sub {margin:20px 0 40px; color:var(--bt-ink2); font-weight:400; max-width:670px;}
html.bt-tools .tool-card {border-top-width:7px;}
html.bt-tools .tool-card:nth-child(1) {border-top-color:var(--bt-yellow);}
html.bt-tools .tool-card:nth-child(2) {border-top-color:var(--bt-blue);}
html.bt-tools .tool-card:nth-child(3) {border-top-color:var(--bt-red);}
html.bt-tools .tool-card.active {border-color:var(--bt-blue);}
html.bt-tools #heroSection {position:relative; overflow:hidden; background:var(--bt-paper);}
html.bt-tools #heroSection::before {content:''; width:230px; height:230px; border-radius:50%; border:35px solid var(--bt-red); position:absolute; right:-105px; top:140px; pointer-events:none;}
html.bt-tools #heroSection::after {content:''; width:110px; height:110px; background:var(--bt-yellow); position:absolute; left:-50px; bottom:45px; border-radius:0 100% 0 0; pointer-events:none;}
html.bt-tools #heroSection .hero-inner {position:relative; z-index:1;}
html.bt-tools .hero-title {font-size:clamp(44px,6.5vw,82px);}
html.bt-tools .hero-start {background:var(--bt-blue);}
html.bt-tools .hero-sub {font-weight:400;}
html.bt-programs .page-wrap {max-width:1240px; padding:125px 4% 55px;}
html.bt-programs .page-title {font-size:clamp(45px,7vw,90px);}
html.bt-programs .page-sub {font-size:17px; max-width:650px;}
html.bt-programs .area-tabs {border-top:1px solid var(--bt-ink); border-bottom:1px solid var(--bt-ink); padding:20px 0; gap:10px;}
html.bt-programs .area-tab {min-height:44px; font-weight:600; border-color:var(--bt-ink);}
html.bt-programs .area-tab.active {background:var(--bt-blue); color:#fff;}
html.bt-programs .vs-title {font-size:clamp(30px,4vw,48px); font-weight:700; letter-spacing:-.035em;}
html.bt-programs .vs-desc {font-size:15px; color:var(--bt-ink2);}
html.bt-programs .video-card {border:0; background:transparent;}
html.bt-programs .video-info {border-bottom:1px solid var(--bt-ink); padding:22px 0;}
html.bt-programs .video-title-text {font-size:25px; font-weight:600; letter-spacing:-.03em;}
html.bt-programs .video-thumb {background:var(--bt-blue);}
html.bt-programs .video-card:nth-child(2n) .video-thumb {background:var(--bt-ink);}
html.bt-programs .programs-cta {background:var(--bt-yellow); border:0; padding:40px;}
html.bt-programs .cta-text-title {font-size:32px; font-weight:700; letter-spacing:-.035em;}

@media(min-width:769px) and (max-width:1060px) {
  html.bt-bauhaus header {padding:14px 18px;}
  html.bt-bauhaus .logo {font-size:21px;}
  html.bt-bauhaus .header-nav {gap:10px;}
  html.bt-bauhaus .header-nav a {font-size:9px; letter-spacing:0;}
  html.bt-bauhaus .header-book {padding:10px 12px; font-size:9px;}
  .bt-studio-stage {min-height:510px;}
  .bt-studio-person {height:590px; right:2%;}
  .bt-studio-disc {width:320px; height:320px; right:8%;}
  .bt-studio-caption {right:12px; bottom:24px; width:85px;}
  .bt-start-panel {grid-template-columns:1fr 1fr;}
  .bt-start-heading {grid-column:1/-1;}
  .bt-start-heading h2 br {display:none;}
  .bt-studio-seal {left:42%;}
}
@media(max-width:768px) {
  html.bt-bauhaus header {padding:12px 18px;}
  html.bt-bauhaus .logo {font-size:23px;}
  html.bt-bauhaus .header-book {font-size:10px;}
  html.bt-bauhaus footer {padding:30px 20px;}
  html.bt-home #hero {padding-top:69px;}
  .bt-studio-topline {padding:20px; font-size:9px; grid-template-columns:1fr 1fr;}
  .bt-studio-coordinate {text-align:right;}
  .bt-studio-edition {display:none;}
  .bt-studio-stage {min-height:0;}
  .bt-studio-heading {padding:15px 20px 0; width:100%;}
  html.bt-home .hero-eyebrow {font-size:9px; margin-bottom:18px;}
  html.bt-home .hero-title {font-size:clamp(74px,18vw,130px); line-height:.8; letter-spacing:-.065em;}
  .bt-studio-intro {font-size:13px; margin-top:22px; max-width:220px;}
  .bt-studio-art {position:relative; inset:auto; height:430px; margin-top:24px;}
  .bt-studio-person {height:495px; right:11%; bottom:-75px;}
  .bt-studio-disc {width:290px; height:290px; top:28px; right:10%;}
  .bt-studio-plane {width:36%; height:50%;}
  .bt-studio-arc {width:170px; height:170px;}
  .bt-studio-ticks {right:5%; top:14%; width:25px; height:90px;}
  .bt-studio-note {font-size:8px; right:10px;}
  .bt-studio-caption {right:10px; width:84px; bottom:20px; font-size:10px;}
  .bt-studio-caption b {font-size:8px; letter-spacing:0;}
  .bt-studio-seal {left:20px; bottom:65px; width:88px; height:88px; font-size:12px;}
  .bt-studio-seal span {right:15px; bottom:15px; font-size:16px;}
  .bt-studio-strip {padding:17px 20px; gap:13px; font-size:9px; display:grid; grid-template-columns:1fr 1fr;}
  .bt-studio-strip span::after {margin-left:15px;}
  .bt-start-panel {grid-template-columns:1fr; padding:36px 20px; gap:25px;}
  .bt-start-heading h2 {font-size:40px;}
  .bt-start-heading h2 br {display:none;}
  html.bt-home .hero-sub {font-size:15px;}
  html.bt-home .video-section {padding:50px 20px;}
  html.bt-home .video-head-title {font-size:63px; margin-bottom:30px;}
  html.bt-home .video-grid {grid-template-columns:1fr; gap:35px;}
  html.bt-home .video-card:nth-child(2) {margin-top:0; padding-left:12%;}
  html.bt-home .maps-inner {padding:45px 20px;}
  html.bt-home .faq-section {padding:45px 20px;}
  html.bt-home .faq-inner {display:block;}
  html.bt-home .faq-head-title {margin-bottom:28px; font-size:42px;}
  html.bt-home .faq-item summary {font-size:15px;}
  html.bt-home .archive-inner {padding:45px 20px;}
  html.bt-team .page-wrap {padding:110px 20px 40px;}
  html.bt-team .page-title {font-size:48px;}
  html.bt-team .page-sub {font-size:16px; margin-bottom:32px;}
  html.bt-team .team-card {grid-template-columns:1fr; gap:0;}
  html.bt-team .team-grid {gap:40px;}
  html.bt-team .team-card:nth-child(2) :is(.bt-portrait,.bt-practitioner-copy) {grid-column:auto; grid-row:auto;}
  .bt-portrait {height:440px;}
  .bt-portrait img {height:530px; bottom:-80px;}
  .bt-portrait-sukh img {height:410px; bottom:0;}
  .bt-practitioner-copy {padding:25px 0 0;}
  html.bt-team .tc-name {font-size:43px;}
  html.bt-team .philosophy {padding:30px 22px;}
  html.bt-tools .page-hero {padding-top:110px;}
  html.bt-tools #heroSection::before {width:140px; height:140px; border-width:20px; right:-90px;}
  html.bt-programs .page-wrap {padding:110px 20px 40px;}
  html.bt-programs .programs-cta {padding:28px 20px;}
}
@media(prefers-reduced-motion:reduce) {
  html.bt-bauhaus :is(.hero-eyebrow,.hero-title,.hero-sub,.hero-values,.hero-cta-group,.page-eyebrow,.page-title,.page-sub,.team-card,.philosophy) {opacity:1; transform:none;}
}
