/* Shared five-page navigation and content layouts. */
.primary-nav a[aria-current="page"]{color:var(--red)}.primary-nav a[aria-current="page"]:after{width:100%}
.page-heading{padding:100px 0 92px;text-align:center;background:#fff;border-bottom:1px solid #ededed}.page-heading .container{max-width:840px}.page-heading .section-kicker{margin:0 0 16px;color:var(--red);font-size:.75rem;letter-spacing:.2em}.page-heading h1{margin:0;color:var(--navy);font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.18;letter-spacing:-.035em}.page-heading h1:after{content:"";display:block;width:54px;height:1px;margin:24px auto 0;background:var(--red)}.page-heading p:last-child{max-width:680px;margin:25px auto 0;color:var(--muted);line-height:1.85;font-size:.99rem}
.home-service-list{max-width:900px;margin:auto;border-top:1px solid #dedede}.home-service-list a{display:grid;grid-template-columns:65px 1fr 30px;align-items:center;gap:20px;min-height:97px;padding:13px 8px;border-bottom:1px solid #dedede}.home-service-list a>span:first-child,.package-index,.service-number,.location-index{color:var(--red);font-size:.78rem;letter-spacing:.1em}.home-service-list strong{font-size:1.15rem;color:var(--navy);font-weight:650}.home-service-list a>span:last-child{text-align:right;color:var(--red);font-size:1.4rem}.home-service-list a:hover strong,.text-link:hover{color:var(--red)}.center-action{text-align:center;margin-top:35px}.text-link{display:inline-block;color:var(--red);font-size:.87rem;font-weight:750;letter-spacing:.015em;border-bottom:1px solid currentColor;padding-bottom:5px}.home-about{background:#fafafa}.home-about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.home-about h2{margin:12px 0 0;font-size:clamp(2.1rem,3.3vw,3.2rem);line-height:1.2}.home-about-grid>div:last-child p{margin:0 0 24px;font-size:.97rem;color:#666a70;line-height:1.9}
.about-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-statement{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center;border:1px solid #e6e6e6;padding:60px;text-align:center}.about-statement:before,.about-statement:after{content:"";position:absolute;width:48px;height:48px;border-color:var(--red);border-style:solid}.about-statement:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.about-statement:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.about-statement p{position:relative;margin:0;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.65;color:var(--navy)}.statement-mark{position:absolute;left:50%;top:18px;transform:translateX(-50%);font-size:4rem;line-height:1;color:#eacbd1}.about-page-grid h2{font-size:clamp(1.8rem,2.4vw,2.7rem);line-height:1.25;margin:0}.about-page-grid .check-list{margin-top:32px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #dedede;border-bottom:1px solid #dedede}.values-grid>div{padding:35px 23px;text-align:center;border-right:1px solid #dedede}.values-grid>div:last-child{border-right:0}.values-grid svg{color:var(--red);width:34px;height:34px}.values-grid h3{margin:18px 0 0;font-size:1rem;font-weight:650}
.service-detail-list{border-top:1px solid #ddd}.service-detail{display:grid;grid-template-columns:60px 90px 1fr;align-items:center;gap:36px;min-height:210px;padding:32px 16px;border-bottom:1px solid #ddd;scroll-margin-top:100px}.service-symbol{width:70px;height:70px;display:grid;place-items:center;border:1px solid #dfbec5;border-radius:50%;color:var(--red)}.service-symbol svg{width:35px;height:35px}.service-detail h2{font-size:clamp(1.45rem,2vw,2rem);margin:0 0 10px}.service-detail p{max-width:650px;margin:0;color:var(--muted);line-height:1.75}.process-wide{grid-template-columns:repeat(4,1fr);max-width:950px;margin:45px auto 0}.process-wide .process-step{border-right:1px solid #e6e6e6}.process-wide .process-step:last-child{border-right:0}
.package-list{border-top:1px solid #ddd}.package-item{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:35px;min-height:200px;padding:35px 10px;border-bottom:1px solid #ddd}.package-item h2{font-size:clamp(1.5rem,2vw,2.1rem);margin:0 0 12px}.package-item p{max-width:560px;margin:0;color:var(--muted);line-height:1.75}.package-item .text-link{white-space:nowrap}
.contact-page-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-method h2,.location-list h2{font-size:clamp(1.9rem,2.5vw,2.6rem);margin:0 0 20px}.contact-method p{color:var(--muted)}.contact-method .btn{margin:16px 0 5px}.contact-method .contact-line-id{font-size:.88rem}.contact-method h3{font-size:.91rem;margin:25px 0 9px}.contact-method>a:not(.btn){display:block;width:max-content;max-width:100%;margin:5px 0;color:var(--text);overflow-wrap:anywhere}.contact-method>a:not(.btn):hover{color:var(--red)}.contact-divider{width:100%;height:1px;background:#ddd;margin:25px 0}.location-list article{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:26px 0;border-top:1px solid #ddd}.location-list article p{margin:0;line-height:1.8}.qr-contact{display:flex;gap:24px;align-items:center;padding:24px;margin-top:18px;background:#fafafa}.qr-contact img{flex:none;width:140px;height:140px;object-fit:contain}.qr-contact p{margin:8px 0 0;color:var(--muted);line-height:1.6;font-size:.88rem}
@media(max-width:860px){.page-heading{padding:75px 0}.home-about-grid,.about-page-grid,.contact-page-grid{grid-template-columns:1fr;gap:45px}.about-statement{min-height:260px}.package-item{grid-template-columns:45px 1fr}.package-item .text-link{grid-column:2}.service-detail{grid-template-columns:45px 70px 1fr;gap:20px}}
@media(max-width:620px){.page-heading{padding:62px 0 56px}.page-heading h1{font-size:2.7rem}.page-heading p:last-child{font-size:.89rem}.home-service-list a{grid-template-columns:36px 1fr 20px;gap:13px;min-height:80px}.home-service-list strong{font-size:.97rem}.home-about-grid{gap:25px}.about-statement{min-height:220px;padding:50px 25px}.values-grid{grid-template-columns:1fr}.values-grid>div{border-right:0;border-bottom:1px solid #dedede;padding:25px}.values-grid>div:last-child{border-bottom:0}.service-detail{grid-template-columns:35px 53px 1fr;gap:11px;min-height:156px;padding:24px 0}.service-symbol{width:49px;height:49px}.service-symbol svg{width:23px;height:23px}.service-detail h2{font-size:1.11rem}.service-detail p{font-size:.8rem}.process-wide{grid-template-columns:repeat(2,1fr)}.process-wide .process-step:nth-child(2){border-right:0}.process-wide .process-step:nth-child(-n+2){border-bottom:1px solid #e6e6e6}.package-item{gap:14px;min-height:0;padding:27px 0}.package-item h2{font-size:1.28rem}.package-item p{font-size:.83rem}.contact-page-grid{gap:55px}.qr-contact{flex-direction:column;align-items:flex-start}.qr-contact img{width:130px;height:130px}}
.about-story{background:#fff;padding-bottom:35px}.about-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.about-story-grid .section-kicker{font-size:.73rem;letter-spacing:.14em}.about-story-grid h2{font-size:clamp(2rem,3vw,3rem);line-height:1.3;margin:13px 0 0;color:var(--navy)}.about-story-copy{border-left:1px solid #dedede;padding-left:35px}.about-story-copy p{font-size:1rem;line-height:2;color:#5f636b;margin:0 0 24px}.about-story-copy p:last-child{margin-bottom:0}
.about-owner{background:#fafafa}.about-owner-grid{display:grid;grid-template-columns:1fr .82fr;gap:clamp(40px,8vw,120px);align-items:center;max-width:1100px}.about-owner-copy{max-width:520px}.about-owner-copy h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.3;color:var(--navy);margin:14px 0 20px}.about-owner-role{font-size:1rem;font-weight:700;color:var(--red);margin:0 0 24px}.about-owner-copy p:last-child{font-size:1rem;color:#5f636b;line-height:1.95;margin:0}.about-owner-photo{margin:0;max-width:440px}.about-owner-photo img{display:block;width:100%;height:auto;aspect-ratio:896/1195;object-fit:cover}
@media(max-width:860px){.about-story-grid{grid-template-columns:1fr;gap:25px}.about-story-copy{padding-left:25px}}
@media(max-width:860px){.about-owner-grid{grid-template-columns:1fr;gap:34px}.about-owner-photo{width:min(100%,440px)}}
@media(max-width:620px){.about-story{padding-bottom:20px}.about-story-grid{gap:20px}.about-story-copy p{font-size:.9rem;line-height:1.85}}
@media(max-width:620px){.about-owner-copy h2{font-size:2rem}.about-owner-copy p:last-child{font-size:.9rem;line-height:1.85}}
.offer-section{padding-bottom:95px}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:1000px;margin:auto}.offer-card{padding:38px 42px 42px;border:1px solid #dedede;border-top:3px solid var(--red);background:#fff}.offer-heading{display:flex;align-items:center;gap:15px}.offer-number{color:var(--red);font-size:.76rem;letter-spacing:.1em}.offer-card h3{margin:0;color:var(--navy);font-size:clamp(1.4rem,2vw,1.9rem)}.offer-fee{color:var(--muted);margin:18px 0 15px;font-size:.9rem}.offer-price{border-top:1px solid #e8e8e8;padding-top:19px;margin-bottom:30px}.offer-price strong{display:block;color:var(--red);font-size:clamp(2.2rem,3vw,3rem);line-height:1.2}.offer-price strong span{font-size:.39em;font-weight:650}.offer-price div{margin-top:8px;color:#777b82;font-size:.9rem}.offer-price del{color:#888}.offer-card .btn{font-size:.85rem}.promo-benefits{padding-top:90px}.benefit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;list-style:none;margin:0 auto;padding:0;max-width:1000px;border-top:1px solid #ddd}.benefit-list li{position:relative;min-height:80px;display:flex;align-items:center;padding:17px 16px 17px 48px;border-bottom:1px solid #ddd;line-height:1.55}.benefit-list li:before{content:"✓";position:absolute;left:15px;color:var(--red);font-weight:800}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1000px;margin:auto;border-top:1px solid #ddd}.related-grid span{padding:27px 16px;border-bottom:1px solid #ddd;text-align:center;color:#4f535b}.related-grid span:not(:nth-child(3n)){border-right:1px solid #ddd}
@media(max-width:860px){.offer-card{padding:30px}.benefit-list{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,1fr)}.related-grid span:not(:nth-child(3n)){border-right:0}.related-grid span:nth-child(odd){border-right:1px solid #ddd}}
@media(max-width:620px){.offer-grid{grid-template-columns:1fr;gap:15px}.offer-section{padding-bottom:65px}.offer-card{padding:28px}.offer-card h3{font-size:1.35rem}.offer-price strong{font-size:2.4rem}.benefit-list li{min-height:67px;font-size:.87rem}.related-grid span{padding:19px 10px;font-size:.83rem}}
