/* V1.2 responsive refinement layer.
   The approved desktop visual system remains in site-v8.css; this file adds
   targeted navigation, booking, story-support, and small-screen corrections. */

.brand-mark{
  width:40px;
  height:40px;
  border:1px solid var(--line-strong);
  border-radius:50%;
  object-fit:cover;
  object-position:center 42%;
  filter:grayscale(1);
}

.company-preview{color:inherit;text-decoration:none}
.work-card,.service-card{scroll-margin-top:96px}
.source-status{text-align:right}

.books-section--standalone{padding-top:clamp(62px,9vw,112px)}
.book-feature-copy h1{margin:52px 0 9px;font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:500;line-height:1.08;letter-spacing:-.035em}

.logo-stage[data-logo-style="church"] .text-mark,
.work-logo[data-logo-style="church"] .text-mark{font-family:Georgia,serif;font-size:19px;font-weight:650;letter-spacing:-.035em;line-height:1.08}
.logo-stage[data-logo-style="church"] img,
.work-logo[data-logo-style="church"] img{width:min(92px,76%);height:min(92px,76%);object-fit:contain}
html[data-theme="dark"] .logo-stage[data-logo-style="church"] img,
html[data-theme="dark"] .work-logo[data-logo-style="church"] img{filter:invert(1)}

.nonprofit-mark{
  display:grid;
  justify-items:center;
  gap:7px;
  width:min(240px,100%);
  margin:0 auto 54px;
  padding:24px 18px;
  border:1px solid var(--line);
  background:var(--paper-strong);
  text-align:center;
}
.nonprofit-mark>img{width:64px;height:64px;object-fit:contain}
html[data-theme="dark"] .nonprofit-mark>img{filter:invert(1)}
.nonprofit-mark strong{font-family:Georgia,serif;font-size:22px;font-weight:600;letter-spacing:-.035em}
.nonprofit-mark small{color:var(--muted);font-size:10px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}

.record-video-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.video-record-grid{display:grid;gap:24px}
.video-record{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);border:1px solid var(--line);background:var(--paper-strong)}
.video-record:nth-child(even){grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)}
.video-record:nth-child(even) .video-frame{order:2;border-right:0;border-left:1px solid var(--line)}
.video-frame{min-width:0;aspect-ratio:16/9;border-right:1px solid var(--line);background:#05090e}
.video-frame iframe{display:block;width:100%;height:100%;border:0}
.video-record-copy{align-self:center;min-width:0;padding:clamp(24px,4vw,52px)}
.video-record-copy>span{color:var(--teal);font-size:11px;font-weight:790;letter-spacing:.09em;text-transform:uppercase}
.video-record-copy h1,.video-record-copy h2{margin:14px 0 11px;font-size:clamp(2rem,3.4vw,3.35rem);overflow-wrap:anywhere}
.video-record-copy p{color:var(--muted)}
.video-record-copy .video-venue{margin-bottom:18px;color:var(--ink);font-size:13px;font-weight:760}

.home-quote-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.home-quote-actions button{
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(241,174,145,.62);
  background:transparent;
  color:#f1ae91;
  font-size:13px;
  font-weight:730;
}
.home-quote-actions button:hover{background:#f1ae91;color:#111b24}

.service-switcher,.connection-mobile-list{display:none}
.service-card[hidden],.connection-node[hidden],.connection-mobile-item[hidden]{display:none!important}

.booking-dialog{overscroll-behavior:contain}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.booking-form button[disabled],.book-interest-form button[disabled]{cursor:wait;opacity:.68}
.booking-form-header{margin:-46px -38px 0;padding:46px 122px 28px 38px;background:var(--night);color:#f5f2ea;box-shadow:inset 5px 0 var(--teal)}
.booking-form-header[data-booking-intent="speaking"]{box-shadow:inset 5px 0 var(--orange)}
.booking-form-header h2{color:#f5f2ea}
.booking-form-header>p:last-child{margin-bottom:0;color:#b7c1c8;font-size:15px}
.booking-form-header .eyebrow{color:#b7c1c8}
.intent-choice{margin:18px 0 0;padding:0;border:0;background:transparent}
.intent-choice>span{display:block;padding:0 0 7px;color:var(--muted);font-size:10px;font-weight:790;letter-spacing:.08em;text-transform:uppercase}
.intent-choice .intent-tabs{margin:0}
.intent-tabs button[aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--orange)}
.booking-progress{display:grid;grid-template-columns:1fr 1fr;margin:15px 0 0;border:1px solid var(--line)}
.booking-progress span{padding:8px 10px;color:var(--muted);font-size:10px;font-weight:780;letter-spacing:.07em;text-transform:uppercase}
.booking-progress span+span{border-left:1px solid var(--line)}
.booking-progress span.active{background:var(--blue-soft);color:var(--ink)}
.booking-lead-summary{display:grid;gap:3px;margin-top:17px;padding:12px 14px;background:var(--blue-soft)}
.booking-lead-summary span{color:var(--teal);font-size:10px;font-weight:790;letter-spacing:.08em;text-transform:uppercase}
.booking-lead-summary strong{font-size:13px}
.booking-lead-summary small{color:var(--muted);font-size:11px}
.booking-actions{display:grid;grid-template-columns:minmax(108px,.34fr) minmax(0,1fr);gap:10px;margin-top:14px}
.booking-actions .button-primary,.booking-actions .button-secondary{width:100%}
.booking-form--success{display:flex;min-height:650px;flex-direction:column;justify-content:center}
.booking-success{display:grid;justify-items:start;gap:18px;margin-top:24px;padding:24px;border:1px solid var(--line);background:var(--blue-soft)}
.booking-success-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font-size:22px;font-weight:850}
.booking-success p{margin:0;color:var(--ink);font-size:16px;line-height:1.65}
.booking-success .button-primary{min-width:130px}

@media(max-width:820px){
  html,body,.shell,.site-main{max-width:100%;overflow-x:clip}
  .container,.narrow{max-width:100%}
  .brand-mark{width:36px;height:36px}

  .hero-grid{gap:26px}
  .portrait-frame{width:100%;margin-top:4px}
  .portrait-frame img{aspect-ratio:1/1;object-position:center center}
  .portrait-note{position:static;width:auto;margin:0;border-width:1px 0 0;box-shadow:none}

  .company-preview-media>.logo-stage{overflow:hidden}
  .company-preview-media>.logo-stage[data-logo-style="iooi"] img,
  .company-preview-media>.logo-stage[data-logo-style="dfv"] img{width:52px;height:52px;max-height:52px}

  .affiliation-section{padding-top:22px;overflow:visible}
  .affiliation-header{padding-bottom:15px}
  .affiliation-rail{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    width:100%;
    padding:0;
    overflow:visible;
    scroll-snap-type:none;
    border-top:1px solid var(--line);
  }
  .affiliation-item{
    min-width:0;
    min-height:92px;
    padding:12px 8px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    opacity:.82;
  }
  .affiliation-item:nth-child(4n){border-right:0}
  .affiliation-mark{min-height:42px;font-size:16px;letter-spacing:-.035em}
  .affiliation-mark img{max-width:74px;max-height:34px}
  .affiliation-item>div:last-child>strong{font-size:9.5px;line-height:1.2}
  .affiliation-item>div:last-child>span{display:none}
  .affiliation-item[data-affiliation-style="stanford-text"] .affiliation-mark{font-size:17px}
  .affiliation-item[data-affiliation-style="daily"] .affiliation-mark{font-size:14px}
  .affiliation-item[data-affiliation-style="lsp"] .affiliation-mark,
  .affiliation-item[data-affiliation-style="mecha"] .affiliation-mark{font-size:14px}

  .service-switcher{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:0 0 18px;
    padding:7px;
    border:1px solid var(--line-strong);
    background:var(--paper-strong);
  }
  .service-switcher button{min-height:46px;padding:8px;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:760}
  .service-switcher button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
  .service-card{min-width:0;padding:28px 24px}
  .service-card h2{margin-top:26px}

  .connection-map{display:none}
  .connection-mobile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-bottom:1px solid var(--line)}
  .connection-mobile-item{display:grid;gap:4px;min-width:0;min-height:67px;padding:10px;text-align:left;border:1px solid var(--line);background:var(--paper-strong);color:var(--ink)}
  .connection-mobile-item span{color:var(--teal);font-size:9px;font-weight:780;letter-spacing:.07em;text-transform:uppercase}
  .connection-mobile-item strong{overflow-wrap:anywhere;font-size:12px;line-height:1.2}
  .connection-mobile-item.active{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--orange)}
  .connection-detail{min-width:0}

  .letter-layout{gap:26px;padding-block:42px 72px}
  .letter-aside{display:grid;grid-template-columns:108px minmax(0,1fr);gap:14px;align-items:start}
  .letter-aside figure{max-width:none}
  .letter-aside img{aspect-ratio:1/1;object-position:center 32%}
  .letter-aside figcaption{display:none}
  .letter-links{min-width:0;margin-top:0;border-top:0}
  .letter-links a,.letter-links button{min-width:0;padding:9px 0;font-size:12px;text-align:left}
  .letter-aside [data-book-intent]{display:none!important}
  .letter-paper{padding-left:0;border-left:0}

  .book-feature--newsletter figure{display:none}
  .book-feature-copy h1{margin-top:28px}

  .video-record,.video-record:nth-child(even){grid-template-columns:1fr}
  .video-record:nth-child(even) .video-frame{order:0;border-left:0}
  .video-frame,.video-record:nth-child(even) .video-frame{border-right:0;border-bottom:1px solid var(--line)}
  .record-video-actions{display:grid;grid-template-columns:1fr 1fr}

  .booking-dialog{
    width:calc(100% - 12px);
    max-width:720px;
    max-height:calc(100dvh - 12px);
    margin:auto;
    overflow-x:hidden;
  }
  #booking-content,.booking-grid,.booking-form,.booking-fields,.booking-fields label{min-width:0;min-inline-size:0;max-width:100%}
  .booking-grid{min-width:0}
  .booking-profile{min-width:0}
  .booking-form{min-width:0;padding:30px 19px 22px}
  .booking-form-header{margin:-30px -19px 0;padding:34px 104px 24px 19px}
  .booking-form h2{font-size:clamp(1.8rem,8.5vw,2.45rem)}
  .intent-tabs{position:relative;z-index:1;margin:16px 0 0}
  .booking-fields>*{min-width:0}
  .booking-fields input,.booking-fields textarea,.booking-fields select{width:100%;max-width:100%;min-width:0;min-inline-size:0;font-size:16px}
  .booking-fields input[type="date"]{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0}
  @supports (-webkit-touch-callout:none){.booking-fields input[type="date"]{width:-webkit-fill-available}}
  .booking-form--success{min-height:560px}
}

@media(max-width:560px){
  .site-header{height:64px}
  .mobile-drawer{inset:64px 0 auto}
  .book-button{min-width:0;padding-inline:10px}
  .brand{gap:8px}

  .company-preview{grid-template-columns:1fr;min-width:0}
  .source-status{text-align:left}
  .company-preview-media{grid-template-columns:96px minmax(0,1fr);grid-template-rows:136px;min-width:0;border-right:0;border-bottom:1px solid var(--line)}
  .company-preview-media::after{display:none}
  .company-preview-media>.logo-stage{height:136px;min-height:0;padding:11px;overflow:hidden;border-right:1px solid #e2e2de;border-bottom:0}
  .company-preview-media>.logo-stage[data-logo-style="iooi"] img,
  .company-preview-media>.logo-stage[data-logo-style="dfv"] img{width:52px;height:52px;max-height:52px}
  .company-preview-media>img{height:136px;min-height:0}
  .company-preview-copy{min-width:0;padding:14px}
  .company-preview h3,.company-preview p{overflow-wrap:anywhere}

  .work-card{min-width:0}
  .work-card-top{grid-template-columns:1fr;grid-template-rows:86px 160px;min-height:0}
  .work-logo{min-width:0;height:86px;padding:15px;border-right:0;border-bottom:1px solid var(--line)}
  .work-scene{width:100%;height:160px;min-width:0}
  .work-card-copy{min-width:0;padding:20px}
  .work-card h2{overflow-wrap:anywhere;font-size:27px}
  .work-meta{align-items:flex-start;flex-direction:column;gap:5px}

  .book-feature--newsletter{display:block}
  .book-feature-copy{min-width:0;padding:24px 20px}

  .letter-aside{grid-template-columns:112px minmax(0,1fr);gap:12px}
  .letter-paper p{font-size:16px;line-height:1.7}

  .video-record-copy{padding:23px 19px}
  .record-video-actions{grid-template-columns:1fr}

  .connection-mobile-list{grid-template-columns:1fr 1fr;padding:8px}
  .connection-detail-copy{padding:20px}
  .filter-row{gap:7px}
  .filter-row button{min-width:0;padding-inline:7px}

  .booking-dialog[open]{
    position:fixed;
    inset:auto;
    top:calc(var(--booking-vv-top,0px) + 6px);
    left:calc(var(--booking-vv-left,0px) + 6px);
    width:calc(var(--booking-vv-width,100vw) - 12px);
    height:calc(var(--booking-vv-height,100dvh) - 12px);
    max-width:none;
    max-height:none;
    margin:0;
    overflow:hidden;
  }
  .booking-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}
  #booking-content,.booking-grid{width:100%;height:100%;min-height:0;max-height:none}
  #booking-content{overflow:hidden}
  .booking-grid{display:block;overflow:hidden}
  .booking-profile{display:none}
  .booking-form{box-sizing:border-box;width:100%;height:100%;min-height:0;max-height:100%;padding:0 15px max(24px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:84px;scroll-padding-bottom:160px}
  .booking-form-header{margin:0 -15px;padding:66px 16px 22px;box-shadow:inset 0 5px var(--teal)}
  .booking-form-header[data-booking-intent="speaking"]{box-shadow:inset 0 5px var(--orange)}
  .booking-form-header .eyebrow{padding-top:14px;border-top:1px solid rgba(245,242,234,.32)}
  .booking-form--success{height:100%;min-height:0;padding:58px 15px 24px}
  .intent-tabs{grid-template-columns:1fr 1fr;gap:6px}
  .intent-tabs button{min-width:0;min-height:44px;padding:7px;font-size:11px}
  .booking-fields{grid-template-columns:1fr;gap:11px}
  .booking-fields label.full{grid-column:auto}
  .booking-actions{grid-template-columns:96px minmax(0,1fr)}
  .booking-actions .button-primary,.booking-actions .button-secondary{min-width:0;padding-inline:8px;font-size:12px}
  .dialog-close{top:10px;right:10px;min-width:58px;min-height:44px;line-height:1}
}

@media(max-width:380px){
  .affiliation-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .affiliation-item:nth-child(4n){border-right:1px solid var(--line)}
  .affiliation-item:nth-child(3n){border-right:0}
  .connection-mobile-list{grid-template-columns:1fr}
  .home-quote-actions{display:grid}
}

@media print{
  .service-switcher,.connection-mobile-list,.home-quote-actions{display:none!important}
  .service-card[hidden]{display:flex!important}
  .book-feature--newsletter figure{display:grid!important}
}
