/* Shared brand treatment, then phone-only layout refinements. */
:root{--header-height:96px;--mobile-dock-height:calc(70px + env(safe-area-inset-bottom,0px))}
.wordmark{display:block;width:max-content;max-width:none;white-space:nowrap}
.wordmark small{display:block;width:max-content;font-size:.75rem;line-height:1.5;letter-spacing:0;text-transform:none;white-space:nowrap}
.wordmark>span{overflow-wrap:normal}
.wordmark>span:first-child{margin-right:3px}
.nav-toggle{gap:8px}
.nav-toggle svg{flex-shrink:0}

@media screen and (max-width:1320px){
  .nav-toggle{min-height:44px}
  .nav{max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top,0px));overscroll-behavior:contain;scroll-padding-block:16px}
  .nav-item{grid-template-columns:minmax(0,1fr) 48px;align-items:center}
  .nav-item>button{width:48px;height:48px;border-radius:8px}
  .nav-item>button[aria-expanded=true]{background:var(--accent-soft);color:var(--blue)}
  .nav-link-group a{min-height:44px;display:flex;align-items:center;line-height:1.5}
}

@media screen and (max-width:760px){
  html{scroll-padding-top:calc(var(--header-height) + 16px)}
  .topbar{display:none}
  .container{width:calc(100% - 36px);max-width:100%}
  .header .container{width:calc(100% - 28px)}
  .header-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px 94px;gap:7px;min-height:94px;padding:12px 0 38px}
  .header .wordmark{position:static;min-width:0;max-width:none;justify-self:start;font-size:clamp(1.25rem,5.5vw,1.65rem)}
  .header .wordmark small{position:absolute;left:0;bottom:12px;display:block;margin:0;font-size:.75rem;line-height:1.5;letter-spacing:0;text-transform:none;white-space:nowrap}
  .nav-toggle{grid-column:2;margin:0;justify-content:center;width:44px;height:44px;padding:10px;border-radius:9px}
  .nav-toggle>span{display:none}
  .header-tools{grid-column:3;gap:6px}
  .search-trigger,.theme-toggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;flex-shrink:0}
  .header-tools>.btn{display:none}
  .nav{padding:8px 18px 24px;max-height:calc(100dvh - var(--header-height) - var(--mobile-dock-height))}
  .nav-menu-groups{gap:18px}
  .nav-link-group ul{grid-template-columns:1fr;gap:0}
  .nav-link-group a{font-size:1rem;padding-block:10px}
  .nav-link-group h3{font-size:.875rem;margin-bottom:8px}
  .nav-item>a{font-size:1rem;line-height:1.5}

  /* Keep intrinsic text widths from stretching grids or contact panels. */
  .grid>*,.finance-home-grid>*,.calculator>*,.fields>*,.page-hero-grid>*,.content-layout>*,.partner-route-grid>*{min-width:0}
  h1,h2,h3,.breadcrumbs,.article a,.footer a,.home-email-row strong,.contact-method{overflow-wrap:anywhere}
  .page-hero h1{font-size:clamp(2rem,8vw,2.7rem);line-height:1.18}
  .finance-front h1{font-size:clamp(2.15rem,8.8vw,3.1rem);line-height:1.15}
  .finance-home{padding-top:28px}
  .finance-home-grid{gap:28px}
  .home-explorer .finance-link{min-height:118px;padding:16px 13px;gap:8px}
  .home-explorer .finance-link>div{min-width:0}
  .home-explorer .finance-link h2{font-size:1rem;line-height:1.4}
  .home-explorer .finance-link p{font-size:.875rem;line-height:1.5}
  .finance-link b{flex-shrink:0}
  .home-explorer-foot{flex-wrap:wrap;gap:14px}
  .home-explorer-foot p{max-width:none;font-size:.875rem}
  .home-explorer-foot button{font-size:.875rem;min-height:44px}
  .home-route-links a,.home-profile-links a{display:inline-flex;align-items:center;min-height:44px}
  .major-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
  .major-links a{margin:0;padding:12px 0;min-height:44px;font-size:.875rem;align-items:center}
  .wealth-links{gap:8px 12px;font-size:.875rem}
  .wealth-links a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:6px 0}
  .home-jack-portrait{height:clamp(240px,74vw,350px)}
  .home-email-row{padding:14px 12px;gap:10px}
  .home-email-row strong{font-size:.9375rem}
  .market-card p,.market-card .card-link{font-size:.875rem;line-height:1.6}
  .marquee-controls{flex-wrap:wrap}
  .marquee-controls button,.jump-links a,.search-suggestions button{min-height:44px;min-width:44px;font-size:.875rem}
  .marquee-window{overscroll-behavior-x:contain}

  /* The house stays below the current header; short screens keep it in flow. */
  .tour-visual{top:var(--header-height)}
  .tour-image-frame{height:28svh;min-height:180px;max-height:260px}
  .tour-navigation{flex-wrap:wrap}
  .tour-navigation button{height:auto;min-height:44px;padding:8px;font-size:.875rem}
  .tour-step{min-height:58svh;scroll-margin-top:calc(var(--header-height) + 28svh + 88px)}
  .tour-step p{font-size:1rem}
  .priority-tabs button,.project-stage-tabs>button{font-size:.875rem;line-height:1.5;min-height:44px}
  .project-stage-tabs{flex-wrap:wrap}
  .project-stage-tabs>button{flex:1 1 70px}
  .project-workspace,.protection-workspace{padding:22px}
  .priority-panel label{min-height:44px}

  /* A 16px input font avoids automatic zoom when typing on iPhones. */
  input:not([type=checkbox]):not([type=radio]),select,textarea,.chat-form input{font-size:1rem;min-width:0;max-width:100%}
  .field input,.field select,.field textarea{min-height:48px}
  .form-panel,.calculator-controls,.calculator-result{padding:24px 20px}
  .calculator-result output{font-size:clamp(2rem,9vw,3.2rem);overflow-wrap:anywhere}
  .article table,.calculator table{display:block;max-width:100%;overflow-x:auto;font-size:.875rem;overscroll-behavior-x:contain}
  .search-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px 16px}
  .search-dialog-head{gap:12px}
  .search-dialog-head button{flex-shrink:0}
  .site-search-results a{min-height:48px;overflow-wrap:anywhere}

  .mobile-contact{min-height:calc(70px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px max(14px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}
  .mobile-contact a{font-size:.875rem;min-height:44px;padding:10px 8px;white-space:normal;text-align:center}
  .footer{padding-bottom:calc(var(--mobile-dock-height) + 36px)}
  .footer .wordmark{max-width:none}
  .footer .wordmark small{font-size:.75rem}
  .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .chat-launcher{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(var(--mobile-dock-height) + 14px);width:60px;height:60px;padding:3px}
  .chat-puppet-face{width:50px;height:50px}
  .chat-launcher[aria-expanded=true]{visibility:hidden}
  .chat-panel{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));top:max(12px,env(safe-area-inset-top,0px));bottom:calc(var(--mobile-dock-height) + 12px);width:auto;max-width:none;height:auto;max-height:none}
  .chat-header{gap:10px;padding:12px;flex-shrink:0}
  .chat-header button{width:44px;height:44px}
  .chat-header span:not(.chat-agent-avatar){font-size:.75rem;line-height:1.5}
  .chat-log{min-height:0;padding:12px}
  .chat-message p{font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
  .chat-message a{font-size:.875rem;min-height:44px;padding-top:8px;overflow-wrap:anywhere}
  .chat-message.you{margin-left:18px}
  .chat-prompts{flex-wrap:nowrap;overflow-x:auto;flex-shrink:0;overscroll-behavior-x:contain;padding:9px 12px}
  .chat-prompts button{white-space:nowrap;font-size:.875rem;min-height:44px;flex-shrink:0}
  .chat-form{padding:8px 12px 4px;flex-shrink:0}
  .chat-form input{min-height:48px}
  .chat-form button{width:44px}
  .chat-privacy{font-size:.75rem;line-height:1.5;flex-shrink:0;padding:7px 12px 12px}
  .chat-panel[data-keyboard-open=true]{top:calc(var(--guide-visible-top,0px) + 8px);bottom:auto;height:calc(var(--guide-visible-height,100dvh) - 16px)}
  .chat-panel[data-keyboard-open=true] .chat-prompts{display:none}
}

@media screen and (max-width:480px){
  .market-grid{grid-template-columns:1fr}
  .market-card img{aspect-ratio:1.65}
  .market-card-copy{padding:22px}
  .service-disclosure>summary{padding:16px;gap:12px}
  .search-input-row{flex-wrap:wrap}
  .search-input-row input{flex:1 1 100%}
  .search-input-row .btn{width:100%}
  .project-tabs>button{padding:13px}
}

@media screen and (max-width:360px){
  .header-row{grid-template-columns:minmax(0,1fr) 44px 94px;gap:5px}
  .header .container{width:calc(100% - 20px)}
  .home-explorer .finance-links{grid-template-columns:1fr}
  .home-explorer .finance-link{min-height:88px}
  .home-jack-body{padding:20px}
  .protection-workspace,.project-workspace{padding:18px}
}

@media screen and (max-width:760px) and (max-height:600px){
  .tour-visual{position:relative;top:auto}
  .tour-image-frame{height:240px}
  .tour-step{min-height:0;scroll-margin-top:calc(var(--header-height) + 16px)}
  .chat-agent-avatar{display:none}
  .chat-header{padding:8px 12px}
}
