/* Mobile has its own calm masthead, type scale, and thumb navigation. */
.site-header .brand picture{display:contents}
/* Keep the complete Maine mark centered inside the desktop jewel's facets. */
@media(min-width:1101px){
  .site-header .brand-jewel{padding:18px;gap:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .site-header .brand-jewel img{width:176px;height:180px;max-width:100%;max-height:100%;place-self:center;object-fit:contain;object-position:center}
}
.mobile-action-bar,.mobile-copy,.mobile-bio,.mobile-story{display:none}
@media(min-width:651px){
  .search-title.headline-pair .headline-primary,.search-title.headline-pair .headline-secondary{display:inline;font-size:inherit;line-height:inherit;margin:0;text-decoration:none}
  .search-title.headline-pair .headline-primary:after{content:' '}
}
@media(max-width:1100px){
  :root{--utility-height:38px;--mobile-bar-height:62px}
  html{scroll-padding-bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom,0px) + 20px)}
  body{padding-bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom,0px))}
  .site-subheader{display:flex;justify-content:center;min-height:38px;height:auto;padding:0 20px;gap:0}
  .site-subheader .subheader-left{display:flex;justify-content:center;align-items:center;width:auto;min-height:38px;font-size:15px;line-height:1.3;max-width:none}
  .site-subheader .subheader-right{display:none}
  .site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:82px auto;min-height:82px;height:auto;padding:0 24px;border-bottom:1px solid #8f7d56}
  .site-header .brand-jewel{position:static;grid-column:1;grid-row:1;justify-self:start;align-self:center;transform:none;width:186px;height:64px;padding:0;margin:0;display:flex;isolation:auto}
  .site-header .brand-jewel:before,.site-header .brand-jewel:after{content:none;display:none}
  .site-header .brand-jewel img{width:186px;height:62px;max-width:100%;object-fit:contain}
  .site-header .menu-toggle{grid-column:2;grid-row:1;min-width:48px;min-height:48px;padding:12px;display:flex;justify-content:center;gap:0;border:1px solid #a28d60;border-radius:8px}
  .site-header .menu-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .hamburger{display:flex;flex-direction:column;gap:5px;width:23px}.hamburger i{display:block;width:23px;height:2px;background:currentColor}
  .site-header #main-navigation{grid-column:1/-1;grid-row:2;padding:8px 0 20px;font-size:18px;align-items:stretch}
  .site-header nav a{padding:15px 3px;line-height:1.4;min-height:52px;text-align:left}
  .mobile-action-bar{position:fixed;inset:auto 0 0;z-index:1000;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:8px max(16px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));height:auto;background:#F4F0E6;border-top:1px solid #c3b692;box-shadow:0 -4px 20px #193f340d}
  .mobile-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-action-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:6px 8px;border-radius:8px;font:600 16px/1.25 'DM Sans',sans-serif;letter-spacing:0;white-space:nowrap;min-width:0}
  .mobile-action-search{color:#F4F0E6;background:#193D32;border:1px solid #193D32}
  .mobile-action-value{color:#193D32;background:#e6d2ac;border:1px solid #c8ab75}
  .mobile-action-bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .mobile-action-bar a:hover{color:inherit;filter:brightness(.97)}
  main input,main select,main textarea{font-size:18px;max-width:100%;min-height:52px}
}
@media(max-width:650px){
  :root{--major-heading:clamp(2.5rem,12.3vw,3.25rem);--supporting-heading:clamp(1.65rem,7.8vw,2.125rem)}
  body{font-size:18px;line-height:1.65}
  .site-header{padding:0 20px}
  .site-header .brand-jewel{width:180px;height:60px}
  .site-header .brand-jewel img{width:180px;height:60px}
  .desktop-copy{display:none}.mobile-copy{display:inline}
  .section{padding:48px 24px}
  .home-properties{padding-top:38px;padding-bottom:36px}
  .section-heading{display:block;width:100%;max-width:none;gap:0;margin:0 auto 28px;text-align:center}
  .hero h1,.section-heading h2,.valuation-feature h2,.about h2,.one-maine,.page-intro h1,.property-title h1,.guide-locality h2,.centered-guide-search>h2,.community-map-section>h2,.footer-top h2{font-size:var(--major-heading);font-weight:500;line-height:1.06;letter-spacing:-.025em;overflow-wrap:normal}
  .headline-pair,.valuation-feature .headline-pair,.about .headline-pair,.page-intro .headline-pair,.footer-top .headline-pair{--headline-first:var(--major-heading);--headline-second:var(--supporting-heading)}
  .headline-pair .headline-primary,.one-maine{display:block;font-size:var(--major-heading);line-height:1.06;margin:0;letter-spacing:-.025em}
  .headline-pair .headline-secondary,.many-ways{display:block;font-size:var(--supporting-heading);line-height:1.13;margin:6px 0 0;letter-spacing:-.025em;text-underline-offset:.2em}
  .headline-pair .headline-primary,.headline-pair .headline-secondary,.one-maine,.many-ways{text-wrap:nowrap}
  main .section-label,main .section .section-label,main .communities .eyebrow,main .valuation-feature .section-label,main .service-copy .section-label{font-size:13px;line-height:1.5;letter-spacing:.09em;margin-bottom:14px}
  .hero{height:auto;min-height:470px;max-height:none}
  .hero .hero-copy{padding:48px 24px 72px;max-width:100%}
  .hero h1{margin:0 auto 25px}
  .hero p{font-size:18px;line-height:1.6;max-width:34ch;margin-bottom:24px}
  .hero .button{font-size:16px;min-height:52px;padding:14px 18px}
  .hero-video-toggle,.hero-video-fallback{min-height:44px;bottom:12px;font-size:13px}
  .section-heading p,.about p:not(.section-label),.valuation-feature p:not(.section-label),.page-intro p:not(.section-label),.service-copy p:not(.section-label),.community-map-section>p:not(.map-source){font-size:18px;line-height:1.65}
  .section-heading p br{display:none}
  h2:not(.headline-pair),.inner-page .guide h2{font-size:36px;line-height:1.15}
  h3,.inner-page .guide h3,.map-layout .county-panel-copy h3{font-size:30px;line-height:1.16}
  .button,.button.small,.text-link{font-size:17px;line-height:1.4;min-height:48px}
  .button{padding:14px 18px;max-width:100%;white-space:normal}
  .property-grid,.area-grid,.service-stories{grid-template-columns:1fr;gap:28px}
  .property-grid .property{margin:0 0 8px}
  .property-grid .property h3{font-size:32px;line-height:1.15}
  .property-grid .property p{font-size:17px}.property-grid .property .price{font-size:25px}
  .property .spec{font-size:14px;line-height:1.5}.view-property{font-size:16px;min-height:44px;padding:8px 0}
  .property-search-band{margin:0;padding:0 16px 42px}
  .property-search-panel{padding:30px 22px;border-radius:12px}
  .property-search-band .search-title{max-width:none;margin:0 auto 20px;font-family:var(--brand-display)}
  .property-search-band .search-introduction{font-size:17px;line-height:1.6}
  .property-search-band .search{gap:20px;padding-top:22px}
  .property-search-band .search label{font-size:13px;letter-spacing:.04em}
  .search,#filters{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:22px 18px}
  .search label,#filters label{min-width:0;width:100%;font-size:16px;letter-spacing:0}
  .search select,#filters select{width:100%;font-size:18px;min-height:54px}
  #filters .saved-filter{display:flex;align-items:center;gap:10px}
  #filters .saved-filter input{width:22px;height:22px;min-height:22px;margin:0;flex:none}
  #filters .text-link{justify-self:center}
  .valuation-feature{gap:24px}
  .valuation-feature .centered-heading{min-width:0}
  .valuation-feature h2,.about h2{margin-bottom:22px}
  .valuation-feature .section-cta{margin-top:0}
  .valuation-explorer__hotspot{font-size:15px;line-height:1.3;min-height:44px;white-space:normal;text-align:center}
  .valuation-explorer p.valuation-explorer__caption-title{font-size:28px;line-height:1.2}
  .valuation-explorer p.valuation-explorer__caption-copy{font-size:17px;line-height:1.6}
  .valuation-explorer p.valuation-explorer__disclosure{font-size:13px;line-height:1.55}
  .about{gap:30px}
  .about .about-copy{grid-row:1;width:100%;text-align:center}
  .about-visual{grid-row:2;max-width:530px}
  .about .broker-introduction{grid-row:3;margin-top:0;padding-top:25px}
  .desktop-bio{display:none}.mobile-bio{display:block}
  .mobile-story{display:block;text-align:left;margin:14px 0 22px;border-top:1px solid #AAB5A2;border-bottom:1px solid #AAB5A2}
  .mobile-story summary{cursor:pointer;padding:14px 0;min-height:48px;font-size:17px;font-weight:600;color:#193D32}
  .mobile-story>div{padding:4px 0 5px}.about .mobile-story p{font-size:17px;line-height:1.65}
  .about .about-promise{font-size:17px;margin-bottom:12px}
  .about .portrait{padding-bottom:40px;margin:0 auto}
  .about .portrait span{font-size:12px;letter-spacing:.08em;min-height:40px;padding:10px}
  .team-stats{margin-top:16px}.team-stats dt{font-size:40px}.team-stats dd{font-size:14px;line-height:1.45}.team-stats>div{padding:17px 8px}
  .broker-introduction h3{font-size:34px}.broker-introduction .text-link{font-size:16px}
  .area{height:330px}.area>div{left:23px;right:23px;bottom:24px}.area h3{font-size:34px;line-height:1.12;margin:13px 0 20px}.area small{font-size:13px}.area span{font-size:16px}
  .service-copy{padding:28px 22px}.service-copy h3{font-size:38px;line-height:1.1;margin-bottom:18px}
  .service-copy .button{width:100%}
  .map-toolbar{grid-template-columns:1fr;gap:16px}.map-toolbar label{font-size:16px}.map-toolbar select{min-height:54px}
  .map-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:22px}
  #community-map{height:390px}.map-layout .resource,.county-panel-copy{padding:24px}
  .map-legend{gap:12px;font-size:14px}.community-map-section .map-source{font-size:13px;line-height:1.6}
  .leaflet-touch .leaflet-bar a,.leaflet-bar a{width:44px;height:44px;line-height:44px}
  .page-intro{padding-top:44px;padding-bottom:42px}.page-intro h1{margin-bottom:24px}
  .page-intro h2{font-size:30px;line-height:1.2}.page-intro .button{margin-top:24px}
  .page-intro .long-town-title .headline-primary,.centered-guide-search .long-town-title .headline-primary{font-size:clamp(1.95rem,9.5vw,2.6rem)}
  .town-outline{height:185px;margin-top:20px}
  .guide,.form-layout{grid-template-columns:minmax(0,1fr);gap:30px}
  .guide h3{margin-top:28px}.resource{padding:24px}.resource a{font-size:17px;min-height:48px}.resource p{font-size:17px;line-height:1.65}
  .centered-guide-search>h3{font-size:30px}.guide-neighbors{gap:10px}.guide-neighbors a{font-size:16px;min-height:46px}
  .step{padding:26px 0}.step h2{font-size:32px}.faq-list summary{font-size:18px;line-height:1.5;min-height:44px}.faq-list details p{font-size:18px}
  .resource-links{display:grid;gap:12px}.resource-links a{font-size:17px;min-height:44px}
  .town-card h2{font-size:32px;margin:18px 0}.town-card p{font-size:17px}.town-card small{font-size:13px}
  .property-title{display:block}.property-title h1{font-size:42px;text-wrap:balance}.property-title span{font-size:16px}.detail-price{font-size:30px}
  .property-actions .button{width:100%}.property-specs>div{font-size:16px;gap:15px}.detail-facts{gap:18px;padding:24px 0;grid-template-columns:repeat(2,1fr)}
  .enquiry{padding:24px 20px}.enquiry label{font-size:17px}.enquiry .button{width:100%;font-size:17px}.fine,.notice{font-size:15px;line-height:1.6}
  footer{padding:46px 24px 22px}.footer-top{text-align:center;padding-bottom:32px}.footer-top h2{margin-bottom:25px}.footer-top .button{font-size:17px}
  .footer-bottom{text-align:center;font-size:15px;padding-top:28px}.footer-bottom small{font-size:14px}.footer-logo{width:140px}
}
@media(max-width:360px){
  .section{padding-left:20px;padding-right:20px}.hero .hero-copy{padding-left:20px;padding-right:20px}
  .site-header{padding:0 16px}.site-header .brand-jewel,.site-header .brand-jewel img{width:174px;height:58px}
  .mobile-action-bar{gap:8px;padding-left:12px;padding-right:12px}.mobile-action-bar a{font-size:15px;gap:6px}
  .mobile-action-bar svg{display:none}.valuation-explorer__hotspot{font-size:14px}
}
@media(min-width:651px) and (max-width:900px){
  :root{--major-heading:clamp(3.5rem,8vw,4.5rem);--supporting-heading:clamp(2.2rem,4.8vw,2.8rem)}
  .hero{height:530px}.hero .hero-copy{padding-top:40px;padding-bottom:65px}
}
@media print{.mobile-action-bar{display:none}body{padding-bottom:0}}
/* Review refinements: clear promises, balanced imagery, and a useful broker introduction. */
.hero .headline-pair .headline-secondary{font-size:calc(var(--major-heading) * .8);text-decoration:none;line-height:1.08}
.hero-line{display:inline-block}
footer .button.light:hover,footer .button.light:focus-visible{background:#D5BC83;border-color:#D5BC83;color:#193D32}
.property-search-band .search-title.headline-pair .headline-primary,.property-search-band .search-title.headline-pair .headline-secondary{display:block;line-height:1.08}
.property-search-band .search-title.headline-pair .headline-primary{font-size:clamp(2.8rem,4.5vw,3.8rem)}
.property-search-band .search-title.headline-pair .headline-primary:after{content:none}
.property-search-band .search-title.headline-pair .headline-secondary{font-size:clamp(2rem,3.2vw,2.7rem);margin-top:8px;text-decoration:none;color:#e3c797}
.valuation-feature .valuation-title{font-size:var(--major-heading);max-width:10ch;margin:0 auto 28px;text-wrap:balance}
.valuation-explorer{max-width:550px}
.valuation-explorer .valuation-explorer__caption{padding:0 0 22px;min-height:140px}
.valuation-explorer__canvas{max-width:500px;margin:auto}
.valuation-explorer .valuation-explorer__hotspot{gap:7px;font-size:17px}
.feature-value-cue{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid #d3b778;border-radius:50%;font-size:13px;line-height:1;color:#f5dfb3;flex:none}
.broker-profile{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;align-items:center;max-width:800px;margin:0 auto;text-align:left}
.broker-profile .broker-placeholder{display:block;width:150px;height:180px;object-fit:contain;border:1px solid #b9c4ad}
.broker-profile .section-label{margin:0 0 8px}
.broker-profile h2,.broker-profile h3{font:500 42px/1.1 var(--brand-display);margin:0 0 12px}
.about .broker-profile p:not(.section-label),.broker-profile p{font-size:17px;line-height:1.6;margin:0 0 13px}
.broker-profile .broker-license{font-size:14px;color:#35513f;font-weight:600}
.broker-license span{display:block;font-size:13px;font-weight:400}
.broker-profile .text-link{font-size:16px}
.broker-team-section{background:#e3eadb}
@media(max-width:650px){
 .property-search-band .search-title.headline-pair .headline-primary{font-size:clamp(2.1rem,9.6vw,2.6rem)}
 .property-search-band .search-title.headline-pair .headline-secondary{font-size:var(--supporting-heading)}
 .valuation-feature .valuation-title{font-size:var(--major-heading);line-height:1.06;max-width:10ch}
 .valuation-explorer .valuation-explorer__caption{min-height:0;padding:0 0 24px}
 .valuation-explorer .valuation-explorer__hotspot{font-size:15px;gap:5px}
 .valuation-explorer__hotspot:before{display:none}
 .feature-value-cue{width:20px;height:20px;font-size:12px}
 .broker-profile{grid-template-columns:100px minmax(0,1fr);gap:20px;align-items:start}
 .broker-profile .broker-placeholder{width:100px;height:120px}
 .broker-profile .broker-details{display:contents}
 .broker-profile .section-label{align-self:end;margin:0;font-size:12px}
 .broker-profile h2,.broker-profile h3{grid-column:2;grid-row:1;align-self:center;font-size:32px;margin:28px 0 0}
 .broker-profile .section-label{grid-column:2;grid-row:1;align-self:start}
 .broker-profile p:not(.section-label),.broker-profile .text-link{grid-column:1/-1;margin:0}
 .broker-profile .text-link{justify-self:start}
 .broker-profile .broker-license{font-size:14px}
}
