@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:700;font-display:swap;src:url("assets/zen-kaku-gothic-new-700.woff2") format("woff2")}

:root{
  --blue:#12577b;--blue-deep:#0c405c;--lime:#dcec8a;--paper:#f5f8fa;
  --ink:#143447;--muted:#486275;--line:#cbd8df;--white:#fff;
  --font:"Zen Kaku Gothic New","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  --body:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  --space:clamp(5rem,9vw,8rem);--width:72rem;
  color-scheme:light;scroll-behavior:smooth;scroll-padding-top:2rem;
  font-family:var(--body);font-size:16px;line-height:1.85;color:var(--ink);background:var(--white);
  accent-color:var(--blue);caret-color:var(--blue);scrollbar-color:var(--blue) var(--paper);
}
*{box-sizing:border-box}
body{margin:0;overflow-wrap:anywhere;-webkit-text-size-adjust:100%}
::selection{color:var(--blue-deep);background:var(--lime)}
:focus-visible{outline:3px solid #8b4c00;outline-offset:5px;border-radius:3px}
.hero :focus-visible,.monthly-plan :focus-visible{outline-color:var(--lime)}
a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:1px}
button,input{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
button{color:inherit}
svg{display:block;flex:none}
.icon{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--font);font-weight:700;line-height:1.5;word-break:normal;overflow-wrap:anywhere;text-wrap:balance}
h2{font-size:clamp(1.65rem,3.2vw,2.5rem);letter-spacing:.015em}
h3{font-size:1.4rem}
p{max-width:43rem}
p+p{margin-top:1rem}
ul,ol{margin:0;padding:0}
.container{width:min(var(--width),calc(100% - 5rem));margin-inline:auto}
.section-space{padding-block:var(--space)}
.small-note,.service-note,.oneoff-note,.area-note{font-size:.875rem;line-height:1.9;color:var(--muted)}
.keep{white-space:nowrap}
.mobile-break{display:none}
.skip-link{position:fixed;left:1rem;top:-8rem;z-index:30;padding:.7rem 1rem;background:var(--white);color:var(--blue-deep)}
.skip-link:focus{top:1rem}

.site-header{max-width:90rem;margin:auto;min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.3rem 3rem;background:var(--white)}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;white-space:nowrap;font-family:var(--font);font-size:1.3rem;font-weight:700;letter-spacing:.025em;line-height:1.5}
.brand-it{margin-inline:.12em;font-size:1.2em}
.brand-mark{width:2.5rem;height:2.5rem;stroke:var(--blue);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.desktop-nav{display:flex;align-items:center;gap:1.8rem;font-weight:700;font-size:.86rem;white-space:nowrap}
.desktop-nav>a{text-decoration:none;transition:color .18s}
.desktop-nav>a:hover{color:var(--blue);text-decoration:underline}
.desktop-nav .nav-contact{display:flex;gap:1rem;align-items:center;padding:.85rem 1.2rem;background:var(--lime);color:var(--blue-deep);border-radius:.3rem}
.desktop-nav .nav-contact:hover{background:#cce176;text-decoration:none}
.mobile-menu{display:none}

.hero{background:var(--blue);color:var(--white)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 10rem;column-gap:3rem;padding-top:clamp(3rem,6vw,5.6rem);padding-bottom:3.8rem}
.hero h1{font-size:clamp(2.2rem,4.75vw,4.35rem);line-height:1.55;letter-spacing:.01em}
.hero h1 span{color:var(--lime)}
.hero-lead{margin-top:1.9rem;font-size:clamp(1.05rem,1.55vw,1.25rem);line-height:1.95;font-weight:700;letter-spacing:.02em}
.hero-description{margin-top:1.15rem;max-width:39rem;font-size:.94rem;line-height:1.95;color:#dcebf2}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}
.hero-actions>span{font-size:.85rem;color:#e6f0f4}
.button{min-height:3.75rem;display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;padding:.9rem 1.5rem;border-radius:.35rem;text-decoration:none;font-family:var(--font);font-size:1rem;font-weight:700;line-height:1.65;transition:background-color .18s,color .18s}
.button .icon{transition:translate .25s cubic-bezier(.16,1,.3,1)}
.button:hover .icon{translate:4px 0}
.button-lime{color:var(--blue-deep);background:var(--lime);min-width:17rem}
.button-lime:hover{background:#e7f4ac}
.button-blue{background:var(--blue);color:var(--white)}
.button-blue:hover{background:var(--blue-deep)}
.button-white{color:var(--blue-deep);background:var(--white)}
.button-white:hover{background:#f1f6dc}
.hero-phone{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;text-decoration:none;width:fit-content;margin-top:1.2rem}
.hero-phone>span{font-size:1.08rem;font-weight:700;letter-spacing:.045em;font-variant-numeric:tabular-nums}
.hero-phone small{font-size:.75rem;color:#dcebf2;margin-left:.35rem}
.hero-phone:hover>span{text-decoration:underline}
.hero-phone .icon{width:1.1rem;height:1.1rem}
.hero-route{display:flex;align-items:center;flex-direction:column;padding-top:1rem;color:var(--lime)}
.route-caption{font-size:.75rem;letter-spacing:.06em;white-space:nowrap}
.hero-route ul{list-style:none;display:flex;flex-direction:column;width:100%;margin-top:2.5rem;position:relative}
.hero-route ul:before{content:"";position:absolute;width:2px;background:var(--lime);left:1rem;top:.85rem;bottom:3.4rem}
.hero-route li{position:relative;padding-left:3rem;padding-bottom:3rem;font-family:var(--font);font-size:1.3rem;line-height:1.5}
.hero-route li:before{content:"";position:absolute;left:.54rem;top:.4rem;width:1rem;height:1rem;background:var(--blue);border:3px solid var(--lime);border-radius:50%}
.hero-route li:first-child:before{background:var(--lime)}
.hero-route li:last-child{padding-bottom:0}
.hero-route li span{display:block;margin-top:.45rem;font-size:.7rem;letter-spacing:.12em;font-family:var(--body);color:#dcebf2}
.hero-foot{display:flex;align-items:center;gap:1.8rem;border-top:1px solid #51809a;padding-block:1.15rem;font-size:.75rem;color:#dcebf2}
.hero-foot>span+span{padding-left:1.8rem;border-left:1px solid #51809a}
.hero-foot>a{display:flex;align-items:center;gap:.75rem;margin-left:auto;text-decoration:none;color:var(--white)}
.hero-foot>a:hover{text-decoration:underline}
.hero-foot .icon{width:1rem;height:1rem;rotate:90deg}

.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}
.section-intro>p{font-size:.94rem;line-height:1.95;max-width:30rem;color:var(--muted)}
.problem-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;border-bottom:1px solid var(--line)}
.problem-tabs button{position:relative;display:flex;align-items:center;gap:.7rem;border:0;background:transparent;padding:1.3rem .8rem 1.5rem;min-height:5rem;font-family:var(--font);font-weight:700;font-size:1rem;line-height:1.6;text-align:left}
.problem-tabs button:after{content:"";height:4px;position:absolute;bottom:-1px;left:0;right:0;background:transparent}
.problem-tabs button[aria-selected=true]:after{background:var(--blue)}
.problem-tabs button[aria-selected=true]{color:var(--blue)}
.problem-tabs button:hover{background:var(--paper)}
.problem-tabs button>.icon{margin-left:auto;width:1.15rem;height:1.15rem;rotate:90deg}
.tab-stop{width:.8rem;height:.8rem;flex:none;border:2px solid #6d8796;border-radius:50%;background:var(--white)}
[aria-selected=true] .tab-stop{border-color:var(--blue);background:var(--lime);box-shadow:0 0 0 4px var(--paper)}
.service-panel{display:grid;grid-template-columns:1.08fr 1fr;gap:4.5rem;padding-top:3rem}
.service-panel[hidden]{display:none}
.service-panel.is-entering{animation:route-arrive .32s cubic-bezier(.16,1,.3,1)}
@keyframes route-arrive{from{clip-path:inset(0 0 8% 0);opacity:.65}to{clip-path:inset(0);opacity:1}}
.service-main h3{font-size:clamp(1.45rem,2.3vw,1.9rem);line-height:1.7;margin-bottom:1.3rem}
.service-main p{font-size:.94rem;line-height:2}
.text-link{display:inline-flex;align-items:center;gap:1.4rem;font-weight:700;font-size:.94rem;color:var(--blue);margin-top:1.5rem;text-decoration:none;border-bottom:1px solid var(--blue);padding-block:.4rem}
.text-link:hover{gap:1.8rem}
.text-link .icon{width:1.2rem;height:1.2rem}
.service-specific{background:var(--paper);padding:2rem 2.25rem;align-self:start;border-radius:.8rem}
.service-specific h4{font-size:1.05rem}
.check-list{list-style:none;margin-top:1rem}
.check-list li{position:relative;padding:.65rem 0 .65rem 1.35rem;font-size:.92rem;line-height:1.8}
.check-list li:before{content:"";width:.38rem;height:.38rem;border-radius:50%;position:absolute;left:.1rem;top:1.25rem;background:var(--blue)}
.service-note{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem;font-size:.79rem}

.pricing{background:var(--paper)}
.pricing-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.monthly-plan{background:var(--blue);color:var(--white);border-radius:1rem;padding:2.5rem}
.monthly-plan h3{font-size:clamp(1.45rem,2.5vw,1.85rem);line-height:1.65}
.plan-name{font-size:.86rem;margin-top:1.6rem;color:#dcebf2}
.plan-price{display:flex;align-items:baseline;gap:.6rem;margin-top:.1rem!important;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}
.plan-price strong{font-family:var(--font);font-size:clamp(2.4rem,4.2vw,3.5rem);letter-spacing:.015em;color:var(--lime);line-height:1.5}
.plan-price>span{font-size:1rem;font-weight:700}
.tax{font-size:.72rem;font-weight:400}
.monthly-plan>p:not(.plan-name,.plan-price,.plan-fine){font-size:.88rem;margin-top:1rem;line-height:1.9;color:#e1edf3}
.plan-includes{list-style:none;margin-block:1.5rem 1.8rem}
.plan-includes li{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 0;border-top:1px solid #51809a;font-size:.82rem}
.plan-includes .icon{color:var(--lime);margin-top:.12rem;width:1.1rem;height:1.1rem}
.plan-includes strong{display:block;font-size:1.15rem;line-height:1.6;font-family:var(--font)}
.plan-includes small{font-size:.7rem;color:#dcebf2}
.monthly-plan>.button{width:100%;font-size:.9rem;gap:1rem}
.plan-fine{font-size:.8rem;color:#dcebf2;margin-top:1.2rem;line-height:1.9}
.oneoff{padding-top:.8rem}
.oneoff h3{font-size:1.35rem;margin-bottom:1rem}
.price-list>div{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.price-list dt{font-size:.94rem;font-weight:700;line-height:1.7}
.price-list dt span{display:block;font-size:.76rem;font-weight:400;color:var(--muted);margin-top:.25rem}
.price-list dd{margin:0;white-space:nowrap;font-size:1.5rem;line-height:1.5;font-weight:700;font-variant-numeric:tabular-nums}
.price-list dd span{font-size:.8rem;margin-left:.3rem}
.price-list dd.estimate{font-size:1rem}
.oneoff-note{margin-top:1.5rem;font-size:.8rem}
.price-details{margin-top:1.5rem;border-bottom:1px solid var(--line)}
.price-details summary{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;font-size:.86rem;font-weight:700;list-style:none}
.price-details>div{padding-bottom:1.2rem;font-size:.8rem;line-height:1.9;color:var(--muted)}
summary::-webkit-details-marker{display:none}
details[open]>summary>.icon{rotate:45deg}

.flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;list-style:none}
.flow-steps li{position:relative;padding-top:.6rem}
.flow-steps li:not(:last-child):after{content:"";position:absolute;top:1.7rem;left:3rem;width:calc(100% - .5rem);height:1px;background:var(--line)}
.step-number{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--lime);color:var(--blue-deep);font-family:var(--font);font-size:1rem;font-weight:700}
.flow-steps h3{font-size:1.15rem;margin-block:1.2rem .75rem}
.flow-steps p{font-size:.9rem;line-height:1.95;color:var(--muted)}
.area{background:#eaf0e2}
.area-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:5rem;align-items:center}
.area h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.area h2+p{margin-top:1.4rem;font-size:.94rem}
.area-note{margin-top:1rem;font-size:.8rem}
.city-line{display:flex;justify-content:space-between;list-style:none;position:relative;padding-top:1.5rem}
.city-line:before{content:"";height:2px;position:absolute;left:2.5rem;right:2.5rem;top:2.08rem;background:var(--blue)}
.city-line li{position:relative;font-family:var(--font);font-size:1.4rem;font-weight:700;padding-top:2rem;text-align:center}
.city-line li:before{content:"";width:1.2rem;height:1.2rem;background:var(--lime);border:3px solid var(--blue);border-radius:50%;position:absolute;left:calc(50% - .6rem);top:0}
.scope-note{border-top:1px solid #b9c9b1;margin-top:2.5rem;padding-top:1.5rem}
.scope-note h3{font-size:1rem}
.scope-note p{font-size:.85rem;margin-top:.7rem;line-height:1.95;color:#35533c}

.faq-layout{display:grid;grid-template-columns:1fr 1.85fr;gap:4rem}
.faq-layout>div:first-child>p{margin-top:1rem;color:var(--muted);font-size:.9rem}
.faq-items{border-top:1px solid var(--line)}
.faq-items details{border-bottom:1px solid var(--line)}
.faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;list-style:none;padding:1.45rem 0;font-size:.94rem;font-weight:700;line-height:1.85}
.faq-items summary:hover{color:var(--blue)}
.faq-items summary .icon{width:1.2rem;height:1.2rem;flex:none;color:var(--blue)}
.faq-items details>div{padding:0 2.7rem 1.5rem 0;font-size:.89rem;color:var(--muted);line-height:2}
.contact{background:var(--lime)}
.contact-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}
.contact-heading h2{font-size:clamp(1.9rem,3.7vw,2.9rem)}
.contact-heading>p{font-size:.94rem;color:#365339}
.contact-options{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid #91a555;padding-top:2.5rem}
.contact-options h3{display:flex;align-items:center;gap:.6rem;font-size:1rem;margin-bottom:.9rem}
.contact-options .phone-number{font-family:var(--font);font-size:clamp(1.8rem,3.15vw,2.5rem);letter-spacing:.015em;line-height:1.5;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.phone-number:hover,.email-address:hover{text-decoration:underline}
.contact-options p{font-size:.83rem;line-height:1.9;margin-top:.65rem}
.contact-options .contact-fine{font-size:.76rem;max-width:24rem;color:#365339;margin-top:1.4rem}
.email-address{font-size:clamp(1.15rem,2.1vw,1.6rem);font-weight:700;text-decoration:none;line-height:1.8}
.contact-email>.button{margin-top:1.3rem;font-size:.9rem;min-height:3.2rem}
.copy-email{display:block;border:0;background:transparent;text-decoration:underline;text-underline-offset:.25em;padding:.6rem 0;font-size:.75rem;line-height:1.6;text-align:left}
.copy-email:hover{color:var(--blue)}
.copy-email[hidden]{display:none}
.copy-status{display:block;min-height:1.8em;font-size:.75rem;color:#23492d}
.contact-notes{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #91a555}
.contact-notes p{max-width:none;font-size:.8rem;line-height:1.9;color:#365339}
.contact-notes p+p{margin-top:.3rem}
.site-footer{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;padding-block:2.7rem}
.site-footer .brand{font-size:1.05rem}
.site-footer .brand-mark{width:2rem;height:2rem}
.site-footer>p{font-size:.7rem;color:var(--muted)}
.site-footer>small{font-size:.65rem;margin-left:auto;color:var(--muted)}
.back-top{display:flex;align-items:center;gap:.5rem;font-size:.7rem;width:100%;justify-content:flex-end;text-decoration:none}
.back-top:hover{text-decoration:underline}
.back-top .icon{width:1rem;height:1rem;rotate:-90deg}
.mobile-contact{display:none}

@media(min-width:1500px){.hero-inner{padding-block:5.5rem 4.5rem}}
@media(max-width:1100px){
  .site-header{padding-inline:2rem;gap:1rem}.desktop-nav{gap:1.2rem;font-size:.78rem}.brand{font-size:1.12rem}
  .container{width:calc(100% - 4rem)}.hero-inner{grid-template-columns:minmax(0,1fr) 8rem;gap:1.5rem}
  .hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem)}.hero-route li{padding-left:2.8rem}.route-caption{font-size:.75rem}
  .section-intro{gap:2rem}.section-intro>p{font-size:.85rem}.service-panel{gap:2.5rem}.service-specific{padding:1.8rem}
  .pricing-layout{gap:2.5rem}.monthly-plan{padding:2rem}.plan-price{gap:.3rem}.plan-price strong{font-size:3rem}.plan-price>span{font-size:.85rem}.tax{font-size:.75rem}
  .area-layout{gap:3rem}.faq-layout{gap:2.5rem}.contact-options{gap:3rem}
}
@media(max-width:800px){
  :root{--space:4.5rem;scroll-padding-top:1rem}
  .container{width:calc(100% - 3rem)}.site-header{min-height:5rem;padding:1rem 1.5rem}.desktop-nav{display:none}.brand{font-size:1.12rem}
  .mobile-menu{display:block;position:static}.mobile-menu summary{display:flex;align-items:center;gap:.35rem;list-style:none;font-size:.76rem;font-weight:700;min-height:2.75rem}.mobile-menu summary .icon{width:1.1rem;height:1.1rem}
  .mobile-menu nav{position:absolute;left:0;right:0;top:5rem;z-index:10;padding:1rem 1.5rem 1.5rem;background:var(--white);box-shadow:0 12px 24px rgb(20 52 71 / .12)}
  .mobile-menu nav a{display:block;padding:.9rem;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700;font-size:.9rem}
  .hero-inner{grid-template-columns:minmax(0,1fr);padding-block:2.8rem 2rem;gap:0}.hero h1{font-size:clamp(1.8rem,5.65vw,2.75rem);line-height:1.65}
  .hero-description{font-size:.85rem}.hero-lead{font-size:1.03rem;margin-top:1.5rem}.hero-actions{gap:1rem;margin-top:1.6rem}.hero-actions>span{font-size:.76rem}.hero-phone{margin-top:1rem}.hero-phone small{font-size:.69rem}
  .hero-route{padding-top:2.5rem;align-items:flex-start}.route-caption{font-size:.7rem}.hero-route ul{flex-direction:row;justify-content:space-between;width:100%;max-width:29rem;margin-top:1rem}
  .hero-route ul:before{height:1px;width:auto;left:1rem;right:1rem;top:.7rem;bottom:auto}.hero-route li{font-size:1rem;padding:1.8rem 0 0;min-width:3.8rem;text-align:center}
  .hero-route li:before{left:calc(50% - .5rem);top:.2rem}.hero-route li span{font-size:.7rem;margin-top:.3rem}.hero-route li:last-child{padding-bottom:0}
  .hero-foot{font-size:.75rem;flex-wrap:wrap;gap:.5rem 1rem;padding-block:1rem}.hero-foot>span+span{padding-left:1rem}.hero-foot>a{display:none}
  .section-intro{display:block;margin-bottom:2rem}.section-intro>p{margin-top:1rem;font-size:.88rem}.section-intro h2 br:not(.mobile-break){display:none}
  .problem-tabs{grid-template-columns:minmax(0,1fr);border:0;gap:0}.problem-tabs button{min-height:3.8rem;padding:1rem .8rem;font-size:.94rem;border-bottom:1px solid var(--line)}
  .problem-tabs button[aria-selected=true]{background:var(--blue);color:var(--white);border-radius:.4rem;border-bottom-color:transparent}.problem-tabs button[aria-selected=true] .tab-stop{border-color:var(--lime);box-shadow:none}.problem-tabs button:after{display:none}.problem-tabs button>.icon{rotate:0deg}
  .service-panel{grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:2rem}.service-main h3{font-size:1.6rem;line-height:1.65}.service-main p{font-size:.91rem}.service-specific{padding:1.8rem}.service-note{font-size:.8rem}
  .pricing-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.monthly-plan{padding:2rem}.monthly-plan h3{font-size:1.7rem}.plan-price strong{font-size:3.4rem}.plan-price>span{font-size:1rem}.tax{font-size:.72rem}.oneoff{padding-top:0}
  .price-list>div{padding-block:1.25rem}.price-list dt{font-size:.9rem}.price-list dd{font-size:1.45rem}.oneoff h3{font-size:1.25rem}
  .flow-steps{grid-template-columns:minmax(0,1fr);gap:2rem}.flow-steps li{display:grid;grid-template-columns:2.3rem minmax(0,1fr);column-gap:1rem;padding-top:0}.flow-steps h3{grid-column:2;margin:0 0 .6rem;font-size:1.05rem}.flow-steps p{grid-column:2;font-size:.87rem}.step-number{grid-row:1 / span 2}
  .flow-steps li:not(:last-child):after{top:3rem;left:1.1rem;width:1px;height:calc(100% - 1rem)}
  .area-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.area h2{font-size:1.8rem}.area h2+p br{display:none}.area-note{font-size:.8rem}.city-line{max-width:33rem}.city-line li{font-size:1.2rem}.scope-note{margin-top:2rem}
  .faq-layout{grid-template-columns:minmax(0,1fr);gap:1.8rem}.faq-layout>div:first-child>p{margin-top:.8rem}.faq-layout>div:first-child>p br{display:none}.faq-items summary{font-size:.88rem;padding-block:1.25rem;gap:1rem}.faq-items details>div{font-size:.85rem;padding-right:1.8rem}
  .contact-heading{display:block}.contact-heading h2{font-size:1.9rem}.contact-heading>p{margin-top:1.2rem;font-size:.88rem}.contact-options{grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:2rem;padding-top:1.8rem}.contact-options .phone-number{font-size:2rem}.contact-options h3{font-size:.96rem}.contact-options .contact-fine{max-width:none}.contact-email{border-top:1px solid #91a555;padding-top:1.8rem}.email-address{font-size:1.4rem}.contact-notes{margin-top:1.8rem}
  .site-footer{display:block;padding-block:2rem 7rem}.site-footer>p{margin-top:.8rem;font-size:.75rem}.site-footer>small{display:block;margin-top:.7rem}.back-top{margin-top:1.5rem}
  .mobile-contact{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--white);padding:.65rem 1rem max(.65rem,env(safe-area-inset-bottom));gap:.65rem;box-shadow:0 -4px 20px rgb(20 52 71 / .1)}
  .mobile-contact a{display:flex;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;min-height:2.9rem;font-family:var(--font);font-weight:700;font-size:.85rem;border:1px solid var(--blue);border-radius:.35rem;color:var(--blue)}
  .mobile-contact a:last-child{background:var(--blue);color:var(--white)}.mobile-contact .icon{width:1.15rem;height:1.15rem}
}
@media(max-width:380px){.container{width:calc(100% - 2rem)}.site-header{padding-inline:1rem}.brand{font-size:1rem;gap:.3rem}.brand-mark{width:2.1rem;height:2.1rem}.hero h1{font-size:1.77rem}.hero-actions{gap:.75rem}.hero-actions .button{width:100%;min-width:0}.hero-phone{gap:.4rem}.hero-phone small{width:100%;margin-left:1.5rem}.hero-foot{gap:.4rem;font-size:.7rem}.hero-foot>span+span{padding-left:.4rem}.monthly-plan{padding:1.5rem}.plan-price strong{font-size:2.8rem}.plan-price>span{font-size:.85rem}.monthly-plan>.button{padding-inline:1rem;font-size:.84rem}.contact-options .phone-number{font-size:1.75rem}.contact-heading h2{font-size:1.7rem}.service-specific{padding:1.5rem}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.mobile-contact,.hero-actions,.copy-email,.back-top{display:none}.hero,.monthly-plan,.contact{background:white;color:black}.hero h1 span,.plan-price strong{color:black}.hero-route,.hero-foot{display:none}.container{width:100%}.section-space{padding-block:2rem}.hero-inner{display:block;padding-block:1rem}.service-panel[hidden]{display:grid}.problem-tabs{display:none}.pricing-layout{gap:2rem}.monthly-plan{border:1px solid #999}.monthly-plan p,.monthly-plan .plan-fine,.monthly-plan .plan-name,.hero-description,.hero-phone small{color:black}a[href^="mailto"]:after{content:" (" attr(href) ")";font-size:.7rem}.site-footer{padding-bottom:1rem}}
