/* Preserve the original cream/plum design; increase type and fit it responsively. */
body{font-size:18px}
.hero-copy,.service-card,.approach-copy,.visit-copy{min-width:0}
.announcement{height:auto;min-height:38px;padding-top:8px;padding-bottom:8px;font-size:11px}
.announcement a{font-size:12px}
.site-header nav{font-size:15px;gap:28px;margin-right:20px}
.button{font-size:16px;min-height:60px;max-width:100%}
.button-small,.site-header .button-small{font-size:14px;min-height:46px}
.hero-copy .eyebrow,.eyebrow,.video-story-copy .eyebrow{font-size:11px}
.hero-description,.section-heading>p,.approach-intro,.visit-intro,.visit address,.closing p:not(.eyebrow){font-size:18px;line-height:1.75}
.hero-description{max-width:470px}
.hero-tagline{font-size:30px}
.hero .button{font-size:16px;gap:10px;min-height:60px}
.hero .button .arrow{margin-left:6px}
.button-note,.image-footnote,.service-action>span,.arrival-note,.copy-address,.closing-contact{font-size:13px;line-height:1.7}
.button-note{max-width:410px}
.subtle-link{font-size:14px}
.photo-caption{font-size:11px}
.image-footnote{gap:18px;flex-wrap:wrap}
.image-footnote span:last-child{font-size:11px}
.hero-image{object-position:center top}
.hero-stamp span{font-size:7px;letter-spacing:.13em}
.practical-bar strong{font-size:16px}
.practical-bar p span,.practical-link{font-size:14px}
.section-heading>p{max-width:415px}
.service-content h3{font-size:36px}
.service-lead{font-size:28px}
.service-content>p:not(.service-lead):not(.service-kicker),.reason p,.steps p,.faq-answer,.faq-aside,.video-explanation{font-size:17px;line-height:1.8}
.service-kicker,.service-category{font-size:11px}
.illustrative-label{font-size:10px}
.benefit-list,.service-bridge,.text-link,.visit-facts p{font-size:16px}
.benefit-list{line-height:1.6;gap:14px}
.benefit-list .icon{width:19px;height:19px;margin-top:3px}
.service-action .button,.first-visit>.button,.visit-actions .button,.video-story-copy .button{font-size:16px;min-height:59px}
.service-action .button{gap:12px;text-align:left}
.service-bridge{flex-wrap:wrap;text-align:center}
.approach-caption,.reason>span{font-size:12px}
.approach-intro,.reason p{max-width:none}
.reason h3,.steps h3,.faq-list summary{font-size:19px;line-height:1.45}
.reason{padding:23px 0}
.approach-copy .text-link{font-size:16px}
.steps p{max-width:none}
.video-conversation{font-size:16px;line-height:1.7}
.video-caption{font-size:12px}
.location-label strong{font-size:29px}
.location-label small{font-size:12px}
.footer-top>div{font-size:14px}
.footer-top>div a{font-size:13px}
.footer-bottom{font-size:12px;line-height:1.7}
.toast{font-size:15px}

@media(max-width:1100px){
  .site-header nav{font-size:14px;gap:20px;margin-right:0}
  .hero .button{font-size:14px;padding:17px 18px}
  .hero .button .arrow{display:none}
  .hero-description,.section-heading>p,.approach-intro,.visit-intro{font-size:17px}
  .hero-copy .eyebrow{font-size:10px;letter-spacing:.11em}
  .practical-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .practical-link{display:none}
  .service-content h3{font-size:33px}
  .service-action .button{font-size:15px;padding:17px}
  .video-story-grid{grid-template-columns:.9fr 1fr;gap:30px;padding:36px}
  .video-story-copy h2{font-size:44px}
  .video-story-copy .button{font-size:16px}
  .approach h2{font-size:44px}
  .approach-visual img{height:760px}
  .steps h3,.reason h3{font-size:18px}
  .visit h2{font-size:44px}
  .footer-top{gap:35px}
}
@media(max-width:980px){
  .video-story-grid{grid-template-columns:1fr}
  .site-header nav{display:none}
  .hero{gap:5%}
  .hero-tagline{font-size:27px}
  .service-grid{gap:24px}
  .service-content{padding:27px 23px}
  .service-content h3{font-size:32px}
  .service-lead{font-size:27px}
  .service-content>p:not(.service-lead):not(.service-kicker){font-size:16px}
  .benefit-list{font-size:15px}
  .service-action .button{font-size:14px}
  .practical-bar strong{font-size:15px}
  .practical-bar p span{font-size:13px}
  .practical-bar>div{gap:10px}
  .reason p{font-size:16px}
  .approach-copy .text-link{font-size:15px;gap:17px}
  .faq-list summary{font-size:18px}
  .visit address{font-size:17px}
  .location-label{padding:18px 15px;gap:10px}
  .location-label strong{font-size:26px}
}
@media(max-width:760px){
  body{font-size:17px;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .announcement{font-size:10px;text-align:center;justify-content:center}
  .announcement a{display:none}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding-top:38px;padding-bottom:36px}
  .hero-copy{padding:0}
  .hero-copy .eyebrow{font-size:11px;margin-bottom:22px}
  h1{font-size:clamp(58px,10.5vw,80px);line-height:1.02}
  h1 br:last-of-type{display:none}h1 em:after{content:' '}
  .hero-description{font-size:17px;max-width:580px;line-height:1.8;margin-bottom:25px}
  .hero-tagline{font-size:28px}
  .hero .button{font-size:16px;padding:18px 22px;min-height:60px;gap:11px}
  .hero .button .icon{width:22px;height:22px}
  .hero .button .arrow{display:block;margin-left:auto;width:21px;height:21px}
  .button-note{font-size:13px;max-width:480px;line-height:1.7}
  .hero-visual{margin-left:22px}
  .image-frame{aspect-ratio:1.04;border-radius:40% 40% 0 0}
  .hero-stamp{width:105px;height:105px;left:-22px;bottom:61px;gap:7px}
  .hero-stamp span{font-size:6px}
  .hero-stamp b{font-size:23px}
  .photo-caption{font-size:10px}
  .image-footnote{font-size:12px;gap:4px 15px}
  .image-footnote span:last-child{font-size:11px}
  .practical-bar{gap:16px;align-items:start}
  .practical-bar>div{flex-direction:column;align-items:flex-start;gap:11px}
  .practical-bar strong{font-size:14px;white-space:normal}
  .practical-bar p span{font-size:12px}
  .practical-bar>div .icon{width:24px;height:24px}
  .eyebrow{font-size:11px}
  .section-heading{display:block;margin-bottom:33px}
  .section-heading h2,.approach h2,.faq-grid h2,.visit h2{font-size:48px}
  .section-heading>p{font-size:17px;max-width:570px;margin-top:22px;padding:0}
  .desktop-break{display:none}
  .service-grid{grid-template-columns:1fr;gap:30px}
  .service-content{padding:30px}
  .service-content h3{font-size:36px}
  .service-lead{font-size:29px}
  .service-content>p:not(.service-lead):not(.service-kicker){font-size:17px}
  .benefit-list{font-size:16px}
  .service-action .button{font-size:16px;min-height:59px;padding:17px 20px}
  .service-action>span{font-size:13px}
  .service-category{font-size:10px}
  .service-bridge{font-size:16px;flex-direction:column;gap:12px}
  .video-story-grid{padding:30px;gap:30px}
  .video-story-copy h2{font-size:44px}
  .video-explanation{font-size:17px;max-width:none}
  .video-story-copy .eyebrow{font-size:11px}
  .video-story-copy .button{font-size:16px}
  .video-conversation{font-size:15px}
  .video-caption{font-size:12px}
  .approach-grid{display:flex;flex-direction:column-reverse;gap:42px}
  .approach-copy{width:100%}
  .approach-intro{font-size:17px;max-width:none}
  .reason h3{font-size:19px}
  .reason p{font-size:17px}
  .reason>span{font-size:12px}
  .approach-copy .text-link{font-size:16px;gap:20px}
  .approach-visual{width:100%}
  .approach-visual img{height:auto;aspect-ratio:.95;border-radius:180px 180px 0 0}
  .approach-caption{font-size:11px}
  .steps{display:flex;flex-direction:column;gap:0;margin-bottom:28px}
  .steps li{position:relative;padding:24px 0 27px 62px}
  .step-number{position:absolute;top:24px;left:0;font-size:38px}
  .steps h3{font-size:19px;margin-top:0;margin-bottom:12px}
  .steps p{font-size:17px;max-width:none}
  .first-visit>.button{font-size:16px}
  .faq-grid{display:block}
  .faq-aside,.faq-answer{font-size:17px}
  .faq-grid .text-link{font-size:16px}
  .faq-list{margin-top:33px}
  .faq-list summary{font-size:18px;padding:24px 0}
  .visit{display:flex;flex-direction:column;align-items:stretch;gap:35px}
  .visit-intro,.visit address{font-size:17px}
  .visit-facts p{font-size:16px}
  .visit-actions .button{font-size:16px}
  .visit-visual>img{height:auto;aspect-ratio:1.02}
  .location-label{padding:20px;left:18px;right:18px;bottom:18px}
  .location-label strong{font-size:29px}
  .location-label small{font-size:12px}
  .closing p:not(.eyebrow){font-size:17px}
  .closing .eyebrow{font-size:10px}
  .closing .button{font-size:16px;min-height:59px}
  .closing-contact{font-size:13px}
  .footer-top{flex-wrap:wrap;gap:26px}
  .footer-top>div{order:3;flex-basis:100%;font-size:14px}
  .footer-top>div a{font-size:13px}
  .footer-bottom{flex-direction:column;font-size:12px;gap:11px}
  .mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(252,250,246,.98);border-top:1px solid var(--line);padding:12px 15px calc(12px + env(safe-area-inset-bottom));gap:15px;align-items:center;z-index:50;box-shadow:0 -5px 22px #392e300a}
  .mobile-directions{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:65px;font-size:12px;line-height:1.5}
  .mobile-directions .icon{width:22px;height:22px}
  .mobile-actions>.button{flex:1;min-height:55px;padding:15px;font-size:15px;gap:10px}
  .mobile-actions>.button .icon:last-child{margin-left:auto;width:19px;height:19px}
  .toast{bottom:calc(100px + env(safe-area-inset-bottom));font-size:14px}
}
@media(max-width:480px){
  h1{font-size:clamp(55px,14.4vw,66px)}
  .hero-copy .eyebrow{font-size:10px;letter-spacing:.08em}
  .hero .button{font-size:15px;padding:17px 18px;gap:10px}
  .site-header .button-small{font-size:13px;padding:10px 12px}
  .button-note{font-size:12px;text-align:left}
  .hero-stamp{width:97px;height:97px}.hero-stamp span{font-size:5.5px}.hero-stamp b{font-size:21px}
  .image-frame{aspect-ratio:.97}
  .practical-bar{gap:10px}.practical-bar strong{font-size:12px}.practical-bar p span{font-size:11px}
  .service-content{padding:27px 23px}.service-content h3{font-size:33px}
  .service-action .button{font-size:15px;padding:17px 16px}.service-action>span{font-size:12px}
  .benefit-list{font-size:15px}.service-bridge{font-size:15px}
  .video-story-grid{padding:25px 20px}.video-story-copy h2{font-size:40px}
  .video-story-copy .button{font-size:14px;padding:17px 14px;gap:8px}
  .video-story-copy .button .icon{width:19px;height:19px}.video-story-copy .button .arrow{margin-left:auto}
  .video-caption{font-size:11px}
  .reason h3{font-size:18px}.reason p{font-size:16px}
  .approach-caption{font-size:10px}.approach-copy .text-link{font-size:15px}
  .faq-list summary{font-size:17px}.faq-answer{font-size:16px}
  .visit-actions .button{font-size:15px;padding:17px 19px}.location-label strong{font-size:27px}
  .closing .button{font-size:15px;padding:17px 16px;gap:9px}
  .closing .button .icon{width:21px;height:21px}
  .mobile-actions>.button{font-size:14px}.mobile-directions{font-size:11px}
  .footer-bottom{font-size:11px}
}
@media(max-width:365px){
  h1{font-size:52px}.hero .button{font-size:14px;padding:16px 14px}.hero .button .arrow{display:none}
  .hero-copy .eyebrow{font-size:9px}.tiny-line{width:15px;margin-right:5px}
  .service-content{padding:25px 20px}.service-action .button{font-size:14px;padding:16px 13px}
  .video-story-copy .button{font-size:13px}.video-story-copy .button .arrow{display:none}
  .section-heading h2,.approach h2,.faq-grid h2,.visit h2{font-size:43px}
  .closing .button{font-size:14px}.closing .button .icon:last-child{display:none}
  .location-label{padding:17px 14px}.location-label strong{font-size:25px}
  .mobile-actions>.button{font-size:13px;padding:14px 12px}.mobile-actions>.button .icon:last-child{display:none}
}
