/* Shared phone and tablet refinements. Desktop branding stays intact. */
.mobile-office-details{display:none}
@media(max-width:760px){
 html{scroll-padding-top:150px}
 body{overflow-wrap:break-word}
 header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:10px 16px;min-height:0;box-shadow:0 2px 12px #102e4510}
 header>.brand{grid-column:1;grid-row:1;flex-direction:row;align-items:center;gap:9px;min-width:0}
 header .brand>span{min-width:0}
 header .brand .brand-logo{width:52px;height:52px;align-self:center}
 header .brand .brand-name{font-size:14px;line-height:1.2;letter-spacing:.5px;white-space:normal}
 header .brand .powered,header .brand .great-bridge-office{font-size:12px;line-height:1.35;letter-spacing:0;margin-top:2px}
 header .brand .office-details{display:none}
 header .mobile-menu-slot{grid-column:2;grid-row:1;min-height:0;align-self:center;width:76px}
 header .mobile-nav-toggle,header.mobile-menu-pinned .mobile-nav-toggle{position:static;display:flex;align-items:center;width:100%;min-height:44px;padding:10px;border-radius:6px;font-size:14px;box-shadow:none}
 header .header-actions{grid-column:1/-1;grid-row:2;justify-self:stretch;display:flex;flex-wrap:nowrap;justify-content:stretch;gap:8px;width:100%;min-width:0}
 header .header-actions .btn,header .header-actions .chat-launch{flex:1 1 0;min-width:0;min-height:44px;padding:10px 8px;font-size:14px;line-height:1.3;white-space:normal;text-align:center;border-radius:6px;gap:6px}
 header .header-actions .facebook-link,header .header-actions .instagram-link{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;justify-content:center;gap:0;border-radius:6px}
 header .header-actions .facebook-link>span,header .header-actions .instagram-link>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 header nav[aria-label="Main navigation"],header.mobile-menu-pinned nav[aria-label="Main navigation"]{position:static;grid-column:1/-1;grid-row:3;width:100%;max-height:calc(100svh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;gap:0;padding:4px 0;background:var(--cream);border:0;border-top:1px solid #13598025;border-radius:0;box-shadow:none}
 header.mobile-nav-ready nav[aria-label="Main navigation"]{display:none}
 header.mobile-nav-ready.mobile-nav-open nav[aria-label="Main navigation"]{display:flex}
 header nav[aria-label="Main navigation"] a{min-height:46px;padding:12px 8px;font-size:16px;line-height:1.4;white-space:normal}
 .mobile-office-details{display:block;padding:16px 8px;color:var(--ink);font-size:14px;line-height:1.6;border-top:1px solid #13598025}
 .mobile-office-details p{margin:0 0 4px}
 header nav .mobile-office-details a{display:block!important;min-height:44px;padding:10px 0;border:0;text-decoration:underline}
 main,section,.sectionhead,.contact,.about,.services,.places,.page-links{min-width:0}
 section{padding:40px 20px}
 h1,.standalone-service h1{font-size:clamp(32px,8.5vw,42px);line-height:1.12;max-width:100%;margin:0 0 22px}
 h2{font-size:30px;line-height:1.18}
 h3,.service h3,.city-guide h3{font-size:25px;line-height:1.2}
 p,.service p,.about p,.city-guide p,.sectionhead p{font-size:16px;line-height:1.65}
 .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.5px}
 .btn{min-height:48px;padding:12px 18px;font-size:15px;line-height:1.4;gap:10px;text-align:center}
 .actions{gap:10px;align-items:stretch}
 .actions>.btn,.actions>.app-download{flex:1 1 100%;width:100%}
 .app-download-button{width:100%}
 .textlink{font-size:16px;line-height:1.5;padding:10px 0;min-height:44px}
 input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px;min-height:48px;min-width:0;max-width:100%}
 label{font-size:14px;line-height:1.5}
 .formgrid{grid-template-columns:minmax(0,1fr);gap:18px}
 .full{grid-column:1}
 .form-note{font-size:13px!important}
 .hero{padding:38px 20px 30px;min-height:0;background-position:center 55%}
 .hero h1{font-size:clamp(38px,10vw,46px);margin:18px 0 22px}
 .hero p{margin:0 0 24px}
 .hero-bottom{gap:16px;align-items:flex-start;flex-wrap:wrap;margin-top:28px;font-size:12px;letter-spacing:1px;line-height:1.5}
 .hero-bottom a{padding:8px 0;min-height:44px}
 .hero .leverage-hero-chat{position:static;align-items:flex-start;margin-top:18px;max-width:100%;gap:0}
 .hero:has(.leverage-hero-chat)>.eyebrow{padding-top:0}
 .hero .leverage-hero-chat .leverage-chat-badge{min-height:48px;font-size:15px;padding:12px 18px}
 .hero .leverage-hero-chat .leverage-chat-circle{display:none}
 .landing-search{padding:18px 20px}
 .landing-search label{font-size:16px}
 .search-controls{gap:8px}
 .search-controls .btn{padding:10px 14px;min-width:72px}
 .strip{gap:8px 16px;padding:16px 20px;font-size:12px;letter-spacing:1px}
 .strip a{padding:10px 0}
 .listing-grid,.page-links,.review-grid,.city-guides,.faq-grid,.move-benefit-grid,.why-choose-us-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .listing-body,.service,.city-guide,.review-card,.move-benefit-grid article,.why-choose-us-card{padding:22px}
 .listing-card h3{font-size:26px}
 .listing-price{font-size:29px}
 .listing-meta{font-size:14px}
 .standalone-service .service{padding:0}
 .standalone-service .textlink{font-size:16px}
 .resource-hero-image,.community-hero{margin:24px 0}
 .resource-hero-image img,.community-hero img{width:100%;height:auto}
 .place{height:240px}
 .page-link{padding:20px}
 .sectionhead{margin-bottom:24px}
 .about,.contact{gap:28px}
 .about-art{min-height:260px;padding:34px}
 .value,.seo-service-area,.renovation-experience{padding:36px 20px}
 .value h2{font-size:30px}
 .brand-banner{padding:0 20px 36px}
 .buyer-steps li{grid-template-columns:minmax(0,1fr)}
 .timeline-content{padding:20px;border-left:0}
 .timeline-content h2{font-size:25px}
 .agent-portal{padding:32px 20px}
 .agent-login-card{padding:24px 20px}
 .agent-login-card h1{font-size:34px}
 .agent-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}
 .agent-section-link{min-height:48px;padding:12px 10px;font-size:14px;line-height:1.4;text-align:center;overflow-wrap:anywhere}
 .agent-section{padding:20px 0}
 .agent-checklist input[type="checkbox"]{width:20px;height:20px;min-height:20px}
 footer,footer.landing-page-footer-fix{padding:28px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
 footer .brand,footer.landing-page-footer-fix>.brand{flex:none;min-width:0;min-height:0;max-width:100%;flex-direction:row;align-items:flex-start;gap:12px}
 footer .brand-logo{width:56px;height:56px}
 footer .brand>span{min-width:0}
 footer .brand .brand-name{font-size:16px;white-space:normal;letter-spacing:.5px}
 footer .office-details{font-size:14px;line-height:1.6}
 footer .footer-right,footer.landing-page-footer-fix>.footer-right{flex:none;min-width:0;width:100%;text-align:left}
 .bbb-badge{max-width:100%;gap:10px}
 dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:90dvh;padding:20px;overflow-y:auto}
 .place[id],.city-guide[id],#naval-bases,#property-management{scroll-margin-top:150px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.mobile-page-back{display:none}@media(max-width:760px){.mobile-page-back{display:block;width:fit-content;margin:8px 16px;padding:5px 9px;border:1px solid #285888;border-radius:5px;background:var(--cream);color:#135980;font:700 14px/1.4 Arial,sans-serif;min-height:32px;cursor:pointer}.mobile-page-back:focus-visible{outline:3px solid #bd9b6b;outline-offset:3px}}

/* Keep interior mobile page headings close to the Back button. */
@media(max-width:760px){.mobile-page-back{margin-bottom:0}.mobile-page-back+main{padding-top:10px!important;margin-top:0!important}.mobile-page-back+main>section:first-child{padding-top:0!important;margin-top:0!important}.mobile-page-back+main>section:first-child>h1:first-child{margin-top:0}.mobile-page-back+main>section:first-child .sectionhead{margin-top:0}}
