@font-face{font-family:Noto;src:url('assets/NotoSansJP-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Noto;src:url('assets/NotoSansJP-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Noto;src:url('assets/NotoSansJP-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Noto;src:url('assets/NotoSansJP-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#0b2544;--muted:#607894;--gold:#9c6828;--gold-light:#edc87e;--line:#00b94c;--border:#e4ecf3;--pale:#f2f8fd;--serif:'Yu Mincho','游明朝','Hiragino Mincho ProN',serif;--sans:Noto,'Yu Gothic',sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #087ab5;outline-offset:4px}button{color:inherit}img{display:block}a{touch-action:manipulation}.container{width:calc(100% - 64px);max-width:var(--max);margin-inline:auto}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;top:-80px;left:12px;z-index:20;padding:12px;background:#fff;border:2px solid var(--ink)}.skip-link:focus{top:12px}
.site-header{background:#fff}.header-inner{width:calc(100% - 64px);max-width:var(--max);margin:auto;min-height:88px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font:700 27px/1.3 var(--serif);letter-spacing:.03em}.brand-mark{position:relative;width:68px;height:68px;overflow:hidden;flex-shrink:0}.brand-mark img{position:absolute;width:109px;max-width:none;left:-18px;top:-13px}.desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex:1;font-size:13px;font-weight:700;white-space:nowrap}.desktop-nav a{padding-block:16px}.desktop-nav a:hover,.site-footer a:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:12px 26px;border-radius:5px;font-weight:600;line-height:1.5;text-align:center}.button .icon{width:20px;height:20px}.gold{color:white;background:linear-gradient(125deg,#ddb36e,#a77735);border:1px solid #c0985c;box-shadow:inset 0 1px 0 #ffffff55}.gold:hover{filter:brightness(1.05)}.header-booking{font:700 17px/1.5 var(--serif);white-space:nowrap;padding-inline:23px;min-height:52px}.menu-toggle,.mobile-nav{display:none}
.hero-section{display:grid;grid-template-columns:1.92fr 1fr;gap:20px;margin-top:10px;margin-bottom:26px}.hero-main{position:relative;overflow:hidden;border-radius:6px;min-height:520px;isolation:isolate}.hero-photo{position:absolute;inset:0;background:url('assets/hero.png') 65% center/cover;z-index:-2}.hero-main:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#032e40f7 0%,#063d51ed 27%,#063d5175 51%,#063d5100 76%);z-index:-1}.hero-copy{padding:34px 38px;color:white}.area-label{display:inline-block;background:linear-gradient(125deg,#e2bf79,#c9994c);border-radius:3px;padding:6px 14px;font-size:17px;font-weight:700;color:#10344a;margin-bottom:17px}.hero-copy h1{font-size:clamp(38px,4.4vw,66px);white-space:nowrap;letter-spacing:-.035em;line-height:1.45;text-shadow:0 1px 1px #102e4055}.hero-copy h1 span{color:#e6bf73}.hero-sub{font:700 clamp(20px,2.25vw,31px)/1.6 var(--serif);white-space:nowrap;letter-spacing:.01em}.hero-message{color:#edc780;font:600 29px/1.65 var(--serif);margin-block:20px 24px;letter-spacing:.03em}.hero-button{font:700 22px/1.5 var(--serif);min-height:65px;padding-inline:28px;border:1px solid #f5cf7c}.hero-note{font-size:15px;line-height:1.55;margin-top:16px;max-width:270px}.mobile-break{display:none}.related-services{display:grid;grid-template-rows:1fr 1fr;gap:18px}.related-card{border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.photo{position:relative;overflow:hidden;aspect-ratio:var(--ratio);background:#f2eee7}.photo img{position:absolute;max-width:none;pointer-events:none}.related-card>.photo{flex:1;min-height:0}.related-copy{position:relative;padding:11px 44px 13px 16px;background:#fff;line-height:1.5}.related-copy h2{font-size:25px;letter-spacing:-.015em}.related-copy p{font-size:16px;font-weight:600}.related-copy strong{color:#9c6828;font:700 27px/1.3 var(--serif)}.related-copy strong span{font-size:17px}.related-copy small{font-size:13px}.related-copy>.icon{position:absolute;right:16px;top:50%;width:20px;height:20px;transform:translateY(-50%)}.gold-arrow{color:var(--gold);padding-left:6px}.related-card:hover .related-copy,.service-card:hover .service-copy{background:#faf7f1}
.trust-strip{background:#f8f8f7}.trust-inner{display:grid;grid-template-columns:.85fr 1.15fr 1.15fr;padding-block:18px}.trust-inner>span{display:flex;justify-content:center;align-items:center;gap:18px;min-height:36px;border-right:1px solid #9babba;font-size:17px}.trust-inner>span:last-child{border:0}.trust-inner .icon{width:36px;height:36px}
.section{padding-top:34px}.section-heading{text-align:center;margin-bottom:25px}.section-heading:before{content:'';display:block;width:46px;height:2px;background:#ca974f;margin:0 auto 12px}.section-heading h2{font-size:40px;letter-spacing:.015em}.section-heading p{font-size:17px;color:var(--muted);margin-top:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;border:1px solid var(--border);border-radius:6px;overflow:hidden;scroll-margin-top:24px}.service-card .photo{width:100%}.service-copy{padding:10px 8px 20px;text-align:center}.service-copy h3{font-size:31px;line-height:1.5}.service-copy p{font-size:16px;color:var(--muted);margin-bottom:10px}.service-copy>span{font-family:var(--serif);font-size:17px;font-weight:700}.service-copy b{color:var(--gold);font-family:var(--sans);font-size:22px;margin-left:8px}.mobile-chevron{display:none}
.coupon{display:flex;align-items:center;gap:22px;border:1px solid #b98b48;border-radius:6px;padding:18px 24px;margin-block:20px}.coupon h2{font-size:30px;flex:1;letter-spacing:-.015em}.line-logo{display:flex;align-items:center;justify-content:center;width:73px;height:73px;background:#00b94c;border-radius:13px;flex-shrink:0}.line-logo>span{width:53px;height:45px;border-radius:50%;background:#fff;color:#00ad46;font:bold 14px/45px Arial,sans-serif;text-align:center;position:relative}.line-logo>span:after{content:'';position:absolute;left:20px;bottom:-5px;border-top:10px solid #fff;border-right:12px solid transparent;transform:rotate(8deg)}.line-button{border:1px solid #00a642;background:white;color:#008633;white-space:nowrap;font-size:17px;font-family:var(--serif);padding-inline:16px;gap:10px}.line-button:hover{background:#f2fff5}.line-small{width:30px;height:30px;background:#00b94c;color:#fff;display:inline-flex;justify-content:center;align-items:center;border-radius:7px;font:700 8px/1 Arial,sans-serif;flex-shrink:0}
.reasons{background:linear-gradient(110deg,#063d53,#074762);padding-block:22px 28px}.reasons .section-heading{margin-bottom:20px}.reasons .section-heading h2{color:white;font-size:37px}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.reason-card{background:#fff;border-radius:5px;text-align:center;padding:18px 15px 20px;display:flex;flex-direction:column;align-items:center}.reason-card>.icon{width:55px;height:55px;margin-bottom:8px;stroke-width:1.8}.reason-card h3{font-size:23px;letter-spacing:-.02em}.reason-card p{font:500 16px/1.75 var(--sans);color:var(--muted);margin-top:7px}
.booking-flow{padding-top:16px}.booking-flow .section-heading{margin-bottom:15px}.booking-flow .section-heading h2{font-size:35px}.booking-flow .section-heading p{font-size:15px}.steps{list-style:none;margin:0;padding:15px 12px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:6px}.steps li{position:relative;display:flex;gap:15px;align-items:flex-start;padding-right:26px;padding-left:2px}.step-number{width:54px;height:54px;border-radius:50%;display:flex;justify-content:center;align-items:center;background:linear-gradient(125deg,#dfb777,#9d6c2d);color:white;font:700 36px/1 var(--serif);flex-shrink:0;box-shadow:inset 0 0 0 1px #8c6b37}.steps li>.icon{width:48px;height:48px;margin-top:3px}.steps h3{font-size:21px;margin-bottom:3px}.steps p{font-size:14px;color:var(--muted)}.steps li>.step-chevron{width:18px;height:24px;position:absolute;right:12px;top:24px;color:#b98948}.steps li:last-child>.step-chevron{display:none}.slots-entry{display:flex;justify-content:flex-end;align-items:center;gap:8px;color:var(--muted);font-size:13px;min-height:44px}.slots-entry>.icon{width:18px;height:18px}.slots-entry:hover{text-decoration:underline}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-card{position:relative;background:#f1f8fe;border:1px solid var(--border);border-radius:5px;overflow:hidden;display:flex;align-items:flex-start;gap:17px;min-height:182px;padding:20px 25px}.info-card>.icon{width:39px;height:39px;position:relative;z-index:1;margin-top:5px}.info-card>div:not(.photo){position:relative;z-index:1}.info-card h2{font-size:27px;margin-bottom:5px}.info-card h3,.area-card p{font:700 20px/1.7 var(--serif)}.info-card p{font-size:16px;color:var(--muted)}.area-card p{color:var(--ink)}.area-map{position:absolute;width:154px;right:0;bottom:0;opacity:.75;mix-blend-mode:multiply}.payment-photo{position:absolute;right:0;inset-block:0;width:180px;opacity:.7;mask-image:linear-gradient(90deg,transparent,black)}
.faq{padding-top:18px;padding-bottom:28px}.faq .section-heading{margin-bottom:15px}.faq .section-heading h2{font-size:35px}.faq-list{display:grid;gap:8px}.faq-item{border:1px solid var(--border);border-radius:5px;padding:0 18px}.faq-item summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;min-height:58px;font:700 18px/1.5 var(--serif);position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>.icon:first-child{width:25px;height:25px}.faq-item summary>.icon:last-child{width:19px;height:19px;margin-left:auto;transform:rotate(90deg)}.faq-item[open] summary>.icon:last-child{transform:rotate(-90deg)}.faq-item p{font-size:15px;color:var(--muted);padding:0 34px 16px 41px}.faq-item[open]{display:grid;grid-template-columns:37% 1fr;align-items:center}.faq-item[open] p{padding:12px 32px 12px 12px}.faq-item[open] summary>.icon:last-child{position:absolute;right:calc(-170% + 4px)}
.final-cta{background:#f8f7f3;padding-block:18px}.final-inner{display:flex;align-items:center;gap:40px}.final-photo{width:43%;max-width:510px;flex-shrink:0}.final-copy{flex:1}.final-copy:before{content:'';display:block;width:44px;height:2px;background:#ca974f;margin-bottom:10px}.final-copy h2{font-size:29px;line-height:1.5;white-space:nowrap;letter-spacing:-.015em}.final-copy p{font-size:15px;color:var(--muted);margin-top:3px}.final-buttons{display:flex;gap:12px;margin-top:14px}.final-buttons .button{font-size:17px;padding-inline:17px;min-height:52px;white-space:nowrap}.final-buttons .gold{font-family:var(--serif)}.site-footer{padding:22px 0 12px}.footer-inner{width:calc(100% - 64px);max-width:var(--max);margin:auto;display:flex;align-items:center;gap:28px}.footer-inner .brand{font-size:25px}.footer-inner .brand-mark{width:56px;height:56px}.footer-inner .brand-mark img{width:90px;left:-15px;top:-11px}.footer-inner nav{display:flex;gap:22px;font-size:13px;font-weight:500;flex:1;flex-wrap:wrap}.footer-inner>p{font-size:12px;color:var(--muted);white-space:nowrap}.preview-note{font-size:12px;color:var(--muted);text-align:center;margin-top:12px}
/* Separate reservation-frame demo: existing functionality, no real availability. */
.slots-main{padding:35px 0 45px}.slots-main h1{font-size:36px;margin-top:8px}.slots-main h2{font-size:27px;margin-top:30px;margin-bottom:10px}.tag{color:var(--gold);font-size:15px}.notice{background:#f2f8fd;border-left:4px solid var(--ink);padding:20px;margin-block:22px}.date{display:flex;align-items:center;gap:15px;margin-bottom:18px}.date label{font-weight:600}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.slot{border:1px solid var(--border);border-radius:6px;padding:20px;background:#fff}.slot.full{background:#f6f7f8}.slot h3{font:700 21px/1.5 var(--sans);margin-bottom:12px}.slot strong{font-size:27px;color:var(--gold)}.sub{font-size:14px;color:var(--muted)}.slot label{display:flex;gap:8px;align-items:center;font-size:14px;margin-block:14px}.slot input{width:68px}.slots-main select,.slots-main input{border:1px solid #9bafbe;border-radius:4px;padding:10px;background:white;min-height:44px;color:var(--ink)}.preferences{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.preferences label{display:flex;flex-direction:column;gap:8px;font-weight:600}.preferences select{width:100%;font-size:14px}.slots-main button{padding:12px 20px;min-height:48px;border:1px solid #9bafbe;border-radius:5px}.slots-main button.gold{border-color:#c0985c}.result:not(:empty){margin-top:20px;border-left:4px solid var(--gold);background:#faf7f0;padding:20px}.actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:25px}.actions a{padding-block:8px;text-decoration:underline}
@media (max-width:1200px) and (min-width:901px){.header-inner{gap:14px}.brand{font-size:22px}.brand-mark{width:52px;height:52px}.brand-mark img{width:84px;left:-14px;top:-10px}.desktop-nav{gap:13px;font-size:11px}.header-booking{font-size:14px;padding-inline:15px}.hero-main{min-height:420px}.hero-copy{padding:25px}.hero-copy h1{font-size:clamp(34px,4.5vw,54px)}.hero-sub{font-size:clamp(18px,2.25vw,27px)}.hero-message{font-size:23px;margin-block:15px}.hero-button{font-size:18px;padding-inline:18px;min-height:54px}.hero-note{font-size:13px}.related-copy h2{font-size:20px}.related-copy p{font-size:13px}.trust-inner>span{font-size:14px;gap:12px}.coupon h2{font-size:22px}.coupon{gap:13px;padding-inline:16px}.coupon .line-logo{width:56px;height:56px}.coupon .line-button{font-size:14px;padding-inline:12px}.reason-card h3{font-size:20px}.steps li{gap:10px}.steps h3{font-size:17px}.steps p{font-size:12px}.step-number{width:42px;height:42px;font-size:29px}.steps li>.icon{width:35px;height:35px}.final-inner{gap:24px}.final-copy h2{font-size:23px}.final-buttons{flex-wrap:wrap}.footer-inner{gap:16px}.footer-inner .brand{font-size:20px}.footer-inner nav{gap:12px}}
@media(max-width:900px){
body{font-size:14px}.container,.header-inner,.footer-inner{width:calc(100% - 28px)}.header-inner{min-height:64px;gap:8px}.brand{font-size:18px;gap:5px;letter-spacing:-.02em}.brand-mark{width:43px;height:43px}.brand-mark img{width:70px;left:-12px;top:-8px}.header-booking{margin-left:auto;font-size:13px;min-height:40px;padding:7px 12px;gap:5px}.header-booking .icon{width:13px;height:13px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px 7px;border:0;background:transparent;min-width:36px;min-height:44px}.menu-toggle span{width:20px;height:2px;background:var(--ink)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-nav:not([hidden]){display:grid;position:absolute;top:64px;left:0;right:0;z-index:10;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 10px 20px #0b254420;padding:10px 20px}.mobile-nav a{min-height:44px;padding:10px 8px;border-bottom:1px solid var(--border)}
.hero-section{display:block;margin-top:0;margin-bottom:12px}.hero-main{min-height:310px;border-radius:5px}.hero-copy{padding:18px 20px}.hero-photo{background-position:69% center}.hero-main:after{background:linear-gradient(90deg,#032e40f5 0%,#063d51c7 39%,#063d5133 75%,transparent)}.area-label{font-size:12px;padding:4px 10px;margin-bottom:10px}.hero-copy h1{font-size:34px;letter-spacing:-.055em}.hero-copy h1 span{color:white}.hero-sub{font-size:18px;letter-spacing:-.04em}.hero-message{font-size:20px;margin-block:12px 14px;line-height:1.5}.mobile-break{display:block}.hero-button{font-size:16px;min-height:48px;padding:9px 17px;gap:10px}.hero-button .icon{width:16px;height:16px}.hero-note{font-size:12px;margin-top:10px;line-height:1.45}.related-services{gap:7px;margin-top:9px}.related-card{flex-direction:row;min-height:71px}.related-card>.photo{width:34%;flex:none;aspect-ratio:1.6;align-self:stretch}.related-copy{padding:8px 28px 8px 12px;flex:1;display:flex;flex-direction:column;justify-content:center}.related-copy h2{font-size:17px;line-height:1.35;letter-spacing:-.03em}.related-copy p{font-size:12px;line-height:1.4;margin-top:4px}.related-copy strong{font-size:23px}.related-copy strong span,.related-copy small{font-size:12px}.related-copy>.icon{width:16px;height:16px;right:9px}
.trust-inner{display:block;padding:0;width:100%}.trust-inner>span{justify-content:flex-start;padding:7px max(32px,calc((100% - 280px)/2));border-right:0;border-bottom:1px solid var(--border);gap:16px;min-height:40px;font:700 13px/1.5 var(--serif);white-space:nowrap}.trust-inner .icon{width:24px;height:24px}
.section{padding-top:20px}.section-heading{margin-bottom:15px}.section-heading:before{width:34px;margin-bottom:9px}.section-heading h2{font-size:24px;letter-spacing:-.02em}.section-heading p{font-size:12px;margin-top:5px;line-height:1.6}.service-grid{display:grid;grid-template-columns:1fr;gap:8px}.service-card{display:flex;min-height:99px;align-items:stretch}.service-card .photo{width:36%;flex-shrink:0;aspect-ratio:1.35;align-self:stretch}.service-copy{flex:1;text-align:left;padding:8px 24px 8px 13px;display:flex;flex-direction:column;justify-content:center}.service-copy h3{font-size:21px;line-height:1.25}.service-copy p{font-size:12px;margin:3px 0 2px;line-height:1.35}.service-copy>span{font-size:12px}.service-copy b{font-size:16px;margin-left:5px}.mobile-chevron{display:block;position:absolute;right:7px;top:50%;width:16px;height:16px;transform:translateY(-50%)}
.coupon{position:relative;display:grid;grid-template-columns:48px 1fr;gap:9px 14px;padding:14px;margin-block:12px}.line-logo{width:48px;height:48px;border-radius:10px}.line-logo>span{width:35px;height:30px;font-size:9px;line-height:30px}.line-logo>span:after{left:15px;bottom:-4px;border-top-width:6px;border-right-width:8px}.coupon h2{font-size:19px;line-height:1.45;letter-spacing:-.04em}.coupon .line-button{grid-column:1/-1;min-height:44px;font-size:14px;padding:7px 10px}.line-small{width:28px;height:28px}.line-button{font-size:14px;gap:8px}.line-button .icon{width:16px;height:16px}
.reasons{padding-block:16px}.reasons .container{width:calc(100% - 28px)}.reasons .section-heading{margin-bottom:13px}.reasons .section-heading h2{font-size:23px;letter-spacing:-.03em}.reason-grid{grid-template-columns:1fr;gap:7px}.reason-card{flex-direction:row;text-align:left;padding:11px 14px;gap:14px;min-height:85px}.reason-card>.icon{width:34px;height:34px;margin:0}.reason-card h3{font-size:17px;line-height:1.4}.reason-card p{font-size:12px;line-height:1.5;margin-top:3px}.reason-card p br{display:none}
.booking-flow{padding-top:17px}.booking-flow .section-heading{margin-bottom:12px}.booking-flow .section-heading h2{font-size:25px}.booking-flow .section-heading p{font-size:12px}.steps{grid-template-columns:1fr;padding:0;border:0;gap:8px}.steps li{gap:12px;min-height:72px;align-items:center;padding:5px 22px 5px 3px}.step-number{width:30px;height:30px;font-size:22px}.steps li>.icon{width:30px;height:30px;margin:0}.steps h3{font-size:17px;margin-bottom:2px}.steps p{font-size:12px;line-height:1.4}.steps li>.step-chevron{width:14px;height:18px;right:5px;top:26px;color:var(--ink)}.steps li:last-child>.step-chevron{display:block}.steps p br{display:none}.slots-entry{font-size:12px;justify-content:flex-start;min-height:44px;margin-top:2px}
.info-grid{grid-template-columns:1fr;gap:8px}.info-card{padding:13px 15px;gap:16px;min-height:103px}.info-card>.icon{width:29px;height:29px;margin-top:4px}.info-card h2{font-size:21px;margin-bottom:0}.info-card h3,.area-card p{font:700 15px/1.6 var(--serif)}.info-card p{font-size:12px;line-height:1.6}.area-map{width:90px;opacity:.35}.payment-photo{width:100px;opacity:.25}.faq{padding-block:18px}.faq .section-heading{margin-bottom:12px}.faq .section-heading h2{font-size:25px}.faq-list{gap:6px}.faq-item{padding:0 10px}.faq-item summary{min-height:46px;font-size:14px;gap:9px}.faq-item summary>.icon:first-child{width:19px;height:19px}.faq-item summary>.icon:last-child{width:14px;height:14px}.faq-item[open]{display:block}.faq-item[open] summary>.icon:last-child{position:static}.faq-item p,.faq-item[open] p{font:400 13px/1.7 var(--sans);padding:0 17px 12px 28px}
.final-cta{padding-block:12px}.final-inner{gap:12px;display:grid;grid-template-columns:40% 1fr;align-items:stretch}.final-photo{width:100%;max-width:none;aspect-ratio:1.2}.final-copy{display:contents}.final-copy:before{display:none}.final-copy h2{font-size:21px;white-space:normal;line-height:1.5;letter-spacing:-.04em;align-self:center}.final-copy p{grid-column:1/-1;font-size:12px;margin-top:-7px}.final-buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr;margin:0;gap:7px}.final-buttons .button{font-size:16px;min-height:46px;padding:7px 12px}.final-buttons .line-button{font-size:14px}
.site-footer{padding:15px 0 12px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}.footer-inner .brand{font-size:14px;gap:2px;margin-top:2px}.footer-inner .brand-mark{width:35px;height:35px}.footer-inner .brand-mark img{width:57px;left:-10px;top:-7px}.footer-inner nav{gap:5px 12px;font-size:12px;justify-content:flex-end}.footer-inner nav a{min-height:28px;display:flex;align-items:center}.footer-inner>p{grid-column:1/-1;text-align:right;font-size:12px}.preview-note{font-size:12px;padding-inline:14px;margin-top:12px}
.slots-main{padding-top:22px}.slots-main h1{font-size:27px}.slots-main h2{font-size:24px}.notice{padding:15px;font-size:13px}.slots-grid{grid-template-columns:repeat(2,1fr);gap:9px}.slot{padding:12px}.slot h3{font-size:16px}.slot p{font-size:13px}.slot label{flex-direction:column;align-items:flex-start;gap:4px}.preferences{grid-template-columns:1fr;gap:12px}.preferences select{font-size:13px}.actions{gap:10px}.slots-main .tag{font-size:13px}
}
@media(max-width:360px){.header-inner{gap:4px}.brand{font-size:15px}.brand-mark{width:34px;height:34px}.brand-mark img{width:55px;left:-9px;top:-7px}.header-booking{font-size:12px;padding-inline:7px}.menu-toggle{min-width:32px;padding-inline:5px}.hero-copy{padding:17px 15px}.hero-copy h1{font-size:29px}.hero-sub{font-size:16px}.hero-message{font-size:19px}.hero-button{font-size:14px;padding-inline:12px}.hero-main{min-height:294px}.related-copy h2{font-size:15px}.service-copy h3{font-size:19px}.coupon h2{font-size:17px}.section-heading h2{font-size:22px}.reasons .section-heading h2{font-size:21px}.reason-card{padding:10px;gap:10px}.reason-card h3{font-size:15px}.footer-inner .brand{font-size:12px}.steps h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.related-services{grid-template-rows:repeat(2,minmax(0,1fr))}
.hero-main:after{background:linear-gradient(90deg,#032e40fa 0%,#063d51e8 35%,#063d51b8 65%,#063d5100 95%)}
@media(max-width:900px){.hero-main:after{background:linear-gradient(90deg,#032e40f7 0%,#063d51ce 45%,#063d5175 80%,#063d5133)}}
.skip-link:focus{outline:3px solid #087ab5;outline-offset:4px}
.related-card>.photo{aspect-ratio:auto}
.brand-mark img{width:108px;left:-18px;top:-16px}
@media(max-width:900px){.desktop-nav{display:none}.header-inner{gap:6px}.brand{font-size:16px}.menu-toggle{width:44px;min-width:44px;padding-inline:11px}.brand-mark img{width:70px;left:-12px;top:-10px}.related-card>.photo{aspect-ratio:1.6}.footer-inner .brand-mark img{width:57px;left:-10px;top:-8px}}
@media(max-width:360px){.brand{font-size:13px;gap:2px}.brand-mark{width:28px;height:32px}.brand-mark img{width:48px;left:-10px;top:-8px}.header-booking{font-size:12px;padding-inline:6px;gap:3px}.header-inner{gap:4px}.menu-toggle{padding-inline:11px}}

@media (min-width:901px) and (max-width:1200px){.final-copy h2{white-space:normal}.brand-mark img{width:84px;left:-14px;top:-12px}}
.brand-mark img{width:90px;left:-11px;top:-11px}
.footer-inner .brand-mark img{width:74px;left:-9px;top:-9px}
@media(min-width:901px) and (max-width:1200px){.brand-mark img{width:69px;left:-8px;top:-8px}}
@media(max-width:900px){.brand-mark img{width:57px;left:-7px;top:-7px}.footer-inner .brand-mark img{width:46px;left:-5px;top:-5px}}
@media(max-width:360px){.brand-mark img{width:38px;left:-5px;top:-5px}.footer-inner .brand-mark img{width:46px;left:-5px;top:-5px}}

/* v13: keep the approved home layout, add a separate repair entry. */
.repair-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px;padding:9px 12px;min-height:44px;color:var(--ink);font-size:16px}
.repair-entry strong{font-weight:600}.repair-entry-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--gold);font-weight:500}.repair-entry .icon{width:20px;height:20px}.repair-entry:hover{background:#faf8f3}.desktop-nav{gap:17px}.site-header a[aria-current=page]{color:var(--gold)}
.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);padding-block:18px}.breadcrumbs a:hover{text-decoration:underline}.repair-intro{padding:42px 24px 48px;text-align:center;background:linear-gradient(110deg,#f4f8fa,#fbf7ee);border:1px solid var(--border);border-radius:6px}.repair-eyebrow{font-size:14px;letter-spacing:.08em;color:var(--gold);margin-bottom:14px}.repair-intro h1{font-size:44px;line-height:1.5}.repair-lead{font-size:18px;margin-top:18px}.repair-contact-note{font-size:14px;color:var(--muted);margin-top:10px}.repair-line{background:#fff;color:#008633;border:1px solid #00a642;min-height:56px;gap:12px;padding-inline:30px}.repair-intro .repair-line{margin-top:24px}.repair-line:hover{background:#f0fff5}.repair-mobile-break{display:none}
.repair-service-section{padding-block:36px}.repair-services{display:grid;grid-template-columns:1fr 1fr;gap:24px}.repair-services article{border:1px solid var(--border);border-radius:6px;overflow:hidden}.repair-services .photo{aspect-ratio:2.2}.repair-service-copy{padding:23px 28px 26px}.repair-small-label{font-size:11px;letter-spacing:.12em;color:var(--gold)}.repair-service-copy h2{font-size:30px;margin-top:3px}.repair-service-copy p{font-size:16px;color:var(--muted);margin-top:10px}.repair-detail-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;margin-top:10px;color:var(--gold);font-size:15px}.repair-detail-link .icon{width:19px;height:19px}.repair-photo-note{font-size:12px;color:var(--muted);margin-top:12px}
.repair-contact-section{background:linear-gradient(110deg,#063d53,#074762);padding-block:32px}.repair-contact-section .section-heading h2,.repair-contact-section .section-heading p{color:#fff}.repair-contact-section .section-heading h2{font-size:32px}.repair-checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.repair-checklist li{display:flex;gap:16px;align-items:flex-start;background:#fff;padding:24px 20px;border-radius:5px}.repair-checklist .step-number{width:38px;height:38px;font-size:27px}.repair-checklist h3{font-size:22px}.repair-checklist p{font-size:14px;color:var(--muted);margin-top:7px}.repair-contact-action{text-align:center;margin-top:28px}.repair-contact-action>p{font-size:13px;color:#fff;margin-top:10px}.repair-return{text-align:center;padding-block:36px 42px}.repair-return h2{font-size:28px}.repair-return p{font-size:15px;color:var(--muted);margin-top:9px}.repair-home{border:1px solid #b98b48;background:#fff;color:var(--gold);font-size:15px;margin-top:18px}
/* Match the compact mobile board while retaining readable text and touch targets. */
@media(max-width:900px){
 .repair-entry{display:block;padding:8px 3px;font-size:13px}.repair-entry-link{display:flex;justify-content:flex-end;margin-top:2px;min-height:32px;font-size:13px}
 .section{padding-top:16px}.section-heading{margin-bottom:12px}.section-heading h2{line-height:1.35}.reason-card{min-height:73px;padding-block:10px}.steps{gap:5px}.steps li{min-height:60px}.steps li>.step-chevron{top:22px}.area-card{min-height:85px}.final-photo{aspect-ratio:1.65}.final-copy h2{font-size:19px;line-height:1.45}
 .breadcrumbs{font-size:12px;padding-block:12px;gap:8px}.repair-intro{padding:28px 15px 30px}.repair-eyebrow{font-size:12px;letter-spacing:.025em}.repair-intro h1{font-size:29px;line-height:1.5}.repair-mobile-break{display:block}.repair-lead{font-size:14px;margin-top:15px}.repair-contact-note{font-size:12px;margin-top:10px}.repair-line{font-size:15px;min-height:48px;padding:10px 18px}.repair-intro .repair-line{margin-top:18px}.repair-service-section{padding-block:22px}.repair-services{grid-template-columns:1fr;gap:16px}.repair-services .photo{aspect-ratio:2.2}.repair-service-copy{padding:17px 18px}.repair-service-copy h2{font-size:26px}.repair-service-copy p{font-size:14px}.repair-small-label{font-size:11px}.repair-contact-section{padding-block:25px}.repair-contact-section .section-heading h2{font-size:25px}.repair-checklist{grid-template-columns:1fr;gap:9px}.repair-checklist li{padding:16px;gap:14px}.repair-checklist h3{font-size:19px}.repair-checklist p{font-size:13px;margin-top:4px}.repair-contact-action{margin-top:20px}.repair-contact-action>p{font-size:12px}.repair-return{padding-block:26px 30px}.repair-return h2{font-size:24px}.repair-return p{font-size:13px}.repair-home{font-size:13px;padding-inline:14px}
}
@media(max-width:360px){.repair-intro h1{font-size:25px}.repair-contact-section .section-heading h2{font-size:22px}.repair-return h2{font-size:21px}}
@media(min-width:901px) and (max-width:1100px){.desktop-nav{display:none}.header-booking{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:0;padding:10px 11px;min-width:44px;min-height:44px}.menu-toggle span{width:20px;height:2px;background:var(--ink)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-nav:not([hidden]){display:grid;position:absolute;top:88px;left:0;right:0;z-index:10;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 10px 20px #0b254420;padding:10px 20px}.mobile-nav a{min-height:44px;padding:10px 8px;border-bottom:1px solid var(--border)}}
.repair-heading-part{display:inline-block;white-space:nowrap}@media(max-width:360px){.repair-line{font-size:14px;gap:8px;padding-inline:10px;white-space:nowrap;max-width:100%}}

/* v14: restore the reference's typographic hierarchy without changing copy or routes. */
@font-face{font-family:MakaseruSerif;src:url('assets/NotoSerifJP-700.woff2') format('woff2');font-weight:700;font-display:swap}
.refined-site{--serif:MakaseruSerif,'Yu Mincho',serif;--muted:#496079;--border:#dce4ea}
.refined-site h1,.refined-site h2,.refined-site h3{font-synthesis:none}
.refined-site .service-card{border-color:#d8e1e6;box-shadow:0 2px 3px #18394d08;background:#fff}
.refined-site .service-copy{background:linear-gradient(180deg,#ffffff,#fdfbf7);padding:18px 14px 20px}
.refined-site .service-copy h3{font-weight:700;letter-spacing:.015em}
.refined-site .service-copy p{font-weight:500;line-height:1.65}
.refined-site .service-copy>span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.5}
.refined-site .service-copy b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:10px}
.refined-site .service-card:hover{border-color:#b99a63}
.refined-site .step-number{font-family:var(--serif);font-weight:700;background:linear-gradient(145deg,#d9b773,#a67937);border:1px solid #c1a16c;box-shadow:inset 0 1px 1px #fff8,0 1px 2px #56371118}
.refined-site .steps{background:linear-gradient(180deg,#fff,#fcfcfb);border-color:#dce4ea}
.refined-site .steps h3{font-weight:700}
.refined-site .gold{background:linear-gradient(135deg,#d9b370 0%,#bb904f 52%,#a97938 100%);box-shadow:inset 0 1px 0 #fff8,0 1px 2px #79542220}
.refined-site .reason-card{border:1px solid #dce4ea}
@media(min-width:1101px){
 .refined-site .brand{font-size:34px;letter-spacing:0;gap:8px}.refined-site .desktop-nav{font-size:14px;gap:16px}.refined-site .header-booking{font-size:20px;padding-inline:22px}
}
@media(min-width:901px){
 .refined-site .hero-copy h1{font-size:clamp(48px,5vw,74px)}.refined-site .hero-sub{font-size:clamp(23px,2.6vw,36px)}.refined-site .hero-message{font-size:31px}.refined-site .hero-copy{padding-top:32px}.refined-site .hero-button{font-size:24px}.refined-site .hero-note{font-size:18px}
 .refined-site .related-copy h2{font-size:29px}.refined-site .related-copy p{font-size:18px}.refined-site .related-copy strong{font-size:30px}
 .refined-site .trust-inner>span{font-size:20px;gap:14px}.refined-site .trust-inner{padding-block:20px}
 .refined-site .section-heading h2{font-size:48px;line-height:1.45}.refined-site .section-heading p{font-size:20px}.refined-site .section-heading{margin-bottom:26px}
 .refined-site .service-copy h3{font-size:39px;line-height:1.4}.refined-site .service-copy p{font-size:19px;margin-block:6px 10px}.refined-site .service-copy>span{font-size:23px}.refined-site .service-copy b{font-size:24px}
 .refined-site .coupon h2{font-size:33px}.refined-site .coupon .line-button{font-size:19px}.refined-site .coupon{padding-block:20px}
 .refined-site .reasons{padding-block:28px 32px}.refined-site .reasons .section-heading h2{font-size:43px}.refined-site .reason-card{padding:20px 12px 24px}.refined-site .reason-card>.icon{width:62px;height:62px;margin-bottom:12px}.refined-site .reason-card h3{font-size:27px;letter-spacing:-.025em}.refined-site .reason-card p{font-size:18px;line-height:1.7}
 .refined-site .booking-flow{padding-top:26px}.refined-site .booking-flow .section-heading h2{font-size:43px}.refined-site .booking-flow .section-heading p{font-size:18px}
 .refined-site .steps{padding:18px 14px}.refined-site .steps li{display:grid;grid-template-columns:54px 46px minmax(0,1fr);gap:12px;padding:4px 24px 4px 4px;align-items:start}.refined-site .step-number{width:54px;height:54px;font-size:35px}.refined-site .steps li>.icon{width:46px;height:50px;margin-top:3px}.refined-site .steps h3{font-size:24px;line-height:1.5;letter-spacing:-.04em}.refined-site .steps p{font-size:17px;line-height:1.6;margin-top:4px}.refined-site .steps li>.step-chevron{position:absolute;right:7px;top:24px;width:15px;height:22px}
 .refined-site .info-card h2{font-size:32px}.refined-site .info-card h3,.refined-site .area-card p{font-size:23px}.refined-site .info-card p{font-size:18px}.refined-site .area-card p{font-size:23px}.refined-site .info-card{min-height:200px}
 .refined-site .faq .section-heading h2{font-size:43px}.refined-site .faq-item summary{font-size:22px;min-height:66px}.refined-site .faq-item p{font-size:17px;line-height:1.7}
 .refined-site .final-copy h2{font-size:34px;white-space:normal}.refined-site .final-copy p{font-size:18px}.refined-site .final-buttons .button{font-size:20px;white-space:normal}.refined-site .final-inner{gap:30px}.refined-site .footer-inner .brand{font-size:28px}
}
@media(min-width:901px) and (max-width:1100px){
 .refined-site .hero-copy h1{font-size:47px}.refined-site .hero-sub{font-size:23px}.refined-site .hero-message{font-size:25px}.refined-site .hero-note{font-size:16px}.refined-site .hero-button{font-size:20px;padding-inline:20px}
 .refined-site .trust-inner>span{font-size:16px}.refined-site .service-copy h3{font-size:32px}.refined-site .service-copy p{font-size:16px}.refined-site .section-heading h2{font-size:39px}.refined-site .service-copy>span{font-size:20px}
 .refined-site .reason-card h3{font-size:21px}.refined-site .reason-card p{font-size:16px}.refined-site .coupon h2{font-size:26px}.refined-site .coupon .line-button{font-size:16px}
 .refined-site .steps li{grid-template-columns:40px 34px minmax(0,1fr);gap:8px;padding-right:16px}.refined-site .step-number{width:40px;height:40px;font-size:28px}.refined-site .steps li>.icon{width:34px;height:38px}.refined-site .steps h3{font-size:20px}.refined-site .steps p{font-size:15px}
}
@media(max-width:900px){
 .refined-site .service-copy{padding:10px 24px 10px 12px;text-align:left;background:#fff}.refined-site .service-copy h3{font-size:23px;line-height:1.4}.refined-site .service-copy p{font-size:13px;line-height:1.55;margin-block:3px 0}.refined-site .service-copy>span{min-height:30px;font-size:14px;justify-content:flex-start}.refined-site .service-copy b{width:18px;height:18px;margin-left:5px;font-size:17px}
 .refined-site .section-heading h2{font-size:27px;letter-spacing:-.025em}.refined-site .section-heading p{font-size:13px}.refined-site .section-heading{margin-bottom:17px}
 .refined-site .reasons .section-heading h2{font-size:26px}.refined-site .reason-card h3{font-size:18px;line-height:1.5}.refined-site .reason-card p{font-size:13px;line-height:1.6}.refined-site .reason-card{padding:12px 14px;min-height:84px}
 .refined-site .booking-flow .section-heading h2{font-size:28px}.refined-site .booking-flow .section-heading p{font-size:13px}
 .refined-site .steps{gap:0;padding:0;border:1px solid #dce4ea;border-radius:5px;background:#fff}.refined-site .steps li{padding:13px 25px 13px 10px;min-height:88px;gap:10px}.refined-site .steps li+li{border-top:1px solid #e3e9ed}.refined-site .step-number{width:34px;height:34px;font-size:24px}.refined-site .steps li>.icon{width:32px;height:34px}.refined-site .steps h3{font-size:18px;line-height:1.5}.refined-site .steps p{font-size:13px;line-height:1.6}.refined-site .steps li>.step-chevron{right:8px;top:34px;width:12px}
 .refined-site .info-card h2{font-size:23px}.refined-site .info-card h3,.refined-site .area-card p{font-size:16px}.refined-site .info-card p{font-size:13px}.refined-site .faq .section-heading h2{font-size:28px}.refined-site .faq-item summary{font-size:15px;min-height:50px}.refined-site .faq-item p{font-size:14px}
 .refined-site .final-copy h2{font-size:22px;line-height:1.5}.refined-site .hero-copy h1{font-size:34px}.refined-site .hero-sub{font-size:19px}.refined-site .hero-message{font-size:22px}
}
@media(max-width:360px){.refined-site .hero-copy h1{font-size:29px}.refined-site .hero-sub{font-size:16px}.refined-site .hero-message{font-size:19px}.refined-site .service-copy{padding-left:10px;padding-right:20px}.refined-site .service-copy h3{font-size:21px}.refined-site .service-copy p{font-size:12px}.refined-site .section-heading h2{font-size:23px}.refined-site .reason-card h3{font-size:16px}.refined-site .steps h3{font-size:16px}.refined-site .final-copy h2{font-size:19px}}

.refined-site .related-title-line{display:block}
@media(min-width:901px){.refined-site .related-title-line{font-size:26px}.refined-site .service-card .photo{aspect-ratio:2.05}.refined-site .service-copy p{font:700 18px/1.65 var(--serif)}.refined-site .steps p{font-size:16px}}
@media(min-width:1101px) and (max-width:1279px){.refined-site .header-inner{gap:16px}.refined-site .brand{font-size:26px;gap:6px}.refined-site .desktop-nav{font-size:13px;gap:10px}.refined-site .header-booking{font-size:17px;padding-inline:18px}}
@media(min-width:901px) and (max-width:1100px){.refined-site .related-title-line{font-size:21px}.refined-site .service-copy p{font-size:15px}.refined-site .steps p{font-size:14px}}

.refined-site .service-copy .keep{display:inline-block}
@media(max-width:900px){.refined-site .service-heading-tail,.refined-site .final-title-line{display:block}.refined-site .final-copy h2{font-size:20px;text-wrap:balance}}
@media(max-width:360px){.refined-site .final-copy h2{font-size:18px}}

/* v15: calm, readable booking instructions; preserve the section heading. */
.refined-site .booking-flow .steps{padding:22px 18px;background:#fff}
.refined-site .booking-flow .steps li{grid-template-columns:36px 30px minmax(0,1fr);gap:12px;padding:2px 22px 2px 0;align-items:start}
.refined-site .booking-flow .step-number{width:36px;height:36px;background:#b18b4c;box-shadow:none;border:0;color:#fff;font:600 17px/1 var(--sans);letter-spacing:0}
.refined-site .booking-flow .steps li>.icon{width:30px;height:34px;margin-top:1px;stroke-width:1.7}
.refined-site .booking-flow .steps li>div{min-width:0}
.refined-site .booking-flow .steps h3{font:600 18px/1.6 var(--sans);letter-spacing:0;margin:1px 0 5px}
.refined-site .booking-flow .steps p{font:400 14px/1.8 var(--sans);letter-spacing:0;margin:0;color:#526b83}
.refined-site .booking-flow .steps p br{display:initial}
.refined-site .booking-flow .steps li>.step-chevron{width:12px;height:18px;right:5px;top:12px;margin:0}
@media(min-width:901px) and (max-width:1100px){
 .refined-site .booking-flow .steps{padding:18px 12px}
 .refined-site .booking-flow .steps li{grid-template-columns:30px 24px minmax(0,1fr);gap:8px;padding-right:14px}
 .refined-site .booking-flow .step-number{width:30px;height:30px;font-size:15px}
 .refined-site .booking-flow .steps li>.icon{width:24px;height:28px}
 .refined-site .booking-flow .steps h3{font-size:16px}
 .refined-site .booking-flow .steps p{font-size:12px}
 .refined-site .booking-flow .steps li>.step-chevron{width:10px;height:16px;right:2px;top:10px}
}
@media(max-width:900px){
 .refined-site .booking-flow .steps{padding:0}
 .refined-site .booking-flow .steps li{grid-template-columns:30px 24px minmax(0,1fr);gap:10px;padding:16px 24px 16px 12px;min-height:94px}
 .refined-site .booking-flow .step-number{width:30px;height:30px;font-size:15px}
 .refined-site .booking-flow .steps li>.icon{width:24px;height:28px}
 .refined-site .booking-flow .steps h3{font-size:16px;line-height:1.6;margin:0 0 4px}
 .refined-site .booking-flow .steps p{font-size:13px;line-height:1.75}
 .refined-site .booking-flow .steps li>.step-chevron{width:10px;height:16px;right:8px;top:22px}
}
@media(max-width:360px){
 .refined-site .booking-flow .steps li{gap:8px;padding-left:10px;padding-right:20px}
 .refined-site .booking-flow .steps h3{font-size:15px}
 .refined-site .booking-flow .steps p{font-size:12px}
}

/* v16: ratios measured from the adopted PC/mobile board; home page only. */
@font-face{font-family:MakaseruText;src:url('assets/NotoSerifJP-600.woff2') format('woff2');font-weight:600;font-display:swap}
.reference-site{--serif:MakaseruText,serif;--ink:#0b205e;--muted:#60779a;--max:1376px;--border:#e0e8f1}
.reference-site h1,.reference-site h2,.reference-site h3{font-weight:600;letter-spacing:0}
.reference-site .header-inner{min-height:94px;gap:20px}
.reference-site .brand{font:600 34px/1.35 var(--serif);letter-spacing:0;gap:12px}
.reference-site .brand-mark{width:72px;height:72px}
.reference-site .brand-mark img{width:114px;left:-20px;top:-17px}
.reference-site .desktop-nav{font-size:15px;gap:20px}
.reference-site .header-booking{font:600 21px/1.4 var(--serif);min-height:62px;padding-inline:26px}
.reference-site .hero-section{grid-template-columns:1.92fr 1fr;gap:22px;margin-top:8px;margin-bottom:20px}
.reference-site .hero-main{min-height:0;aspect-ratio:434/296;border-radius:7px}
.reference-site .hero-photo{background-position:right center}
.reference-site .hero-main:after{background:linear-gradient(90deg,#062f41fa 0%,#062f41ed 29%,#062f41b3 46%,#062f4126 72%,transparent 94%)}
.reference-site .hero-copy{padding:38px 44px}
.reference-site .area-label{font-size:20px;padding:6px 16px;margin-bottom:20px;border-radius:3px}
.reference-site .hero-copy h1{font:600 clamp(40px,5.2vw,76px)/1.4 var(--serif);letter-spacing:-.04em;text-shadow:none}
.reference-site .hero-sub{font:600 clamp(22px,2.6vw,37px)/1.5 var(--serif);letter-spacing:0}
.reference-site .hero-message{font:600 33px/1.65 var(--serif);letter-spacing:.025em;margin-block:22px 24px}
.reference-site .hero-button{font:600 25px/1.5 var(--serif);min-height:70px;padding:13px 27px}
.reference-site .hero-note{font:500 19px/1.6 var(--sans);margin-top:18px;max-width:320px}
.reference-site .related-services{gap:16px}
.reference-site .related-card{border-color:#e0e8f1}
.reference-site .related-card>.photo{flex:none;height:auto;aspect-ratio:225/95}
.reference-site .related-copy{padding:10px 38px 13px 17px;flex:1;background:#fff}
.reference-site .related-copy h2{font:600 28px/1.4 var(--serif)}
.reference-site .related-title-line{display:inline;font-size:inherit}
.reference-site .related-title-line+.related-title-line:before{content:' '}
.reference-site .related-copy p{font:600 20px/1.5 var(--serif);margin-top:4px}
.reference-site .related-copy strong{font:600 34px/1.1 var(--serif)}
.reference-site .related-copy strong span,.reference-site .related-copy small{font-size:17px}
.reference-site .trust-strip{background:#f7f7f5}
.reference-site .trust-inner{padding-block:15px}
.reference-site .trust-inner>span{font:600 21px/1.5 var(--serif);gap:18px;min-height:48px}
.reference-site .trust-inner .icon{width:40px;height:40px}
.reference-site .section{padding-top:32px}
.reference-site .section-heading{margin-bottom:24px}
.reference-site .section-heading:before{width:50px;height:2px;margin-bottom:12px}
.reference-site .section-heading h2{font:600 47px/1.4 var(--serif);letter-spacing:0}
.reference-site .section-heading p{font:400 19px/1.65 var(--sans);margin-top:8px}
.reference-site .service-grid{gap:20px}
.reference-site .service-card{border-color:#e0e8f1;box-shadow:0 1px 2px #0c244309;border-radius:5px}
.reference-site .service-card .photo{aspect-ratio:2.05}
.reference-site .service-copy{padding:14px 12px 15px;background:#fff}
.reference-site .service-copy h3{font:600 38px/1.45 var(--serif);letter-spacing:0}
.reference-site .service-copy p{font:500 19px/1.65 var(--sans);margin:4px 0 8px;color:#617aa0}
.reference-site .service-copy>span{font:600 21px/1.5 var(--serif);min-height:36px}
.reference-site .service-copy b{font-size:22px;width:22px;height:22px;margin-left:7px}
.reference-site .repair-entry{margin-top:5px;margin-bottom:0;padding-block:3px;font-size:13px;min-height:34px}
.reference-site .coupon{margin-block:12px 20px;padding:17px 22px;gap:20px;background:#fffefb;border:1px solid #bd934e;box-shadow:0 1px 2px #9a773512}
.reference-site .coupon h2{font:600 32px/1.45 var(--serif)}
.reference-site .coupon .line-logo{width:72px;height:72px}
.reference-site .coupon .line-button{font:600 20px/1.5 var(--serif);min-height:65px;padding-inline:16px}
.reference-site .gold{background:linear-gradient(180deg,#dfb46c 0%,#bc904c 60%,#a87d3c 100%);border-color:#c8a366;box-shadow:inset 0 1px 0 #fff7}
.reference-site .reasons{padding-block:24px 27px;background:linear-gradient(105deg,#06334b 0%,#0a4560 48%,#08415b 100%)}
.reference-site .reasons .section-heading{margin-bottom:18px}
.reference-site .reasons .section-heading h2{font:600 41px/1.5 var(--serif)}
.reference-site .reason-grid{gap:16px}
.reference-site .reason-card{padding:18px 12px 20px;border:1px solid #d4e0eb;border-radius:5px;box-shadow:0 2px 4px #01233216}
.reference-site .reason-card>.icon{width:62px;height:62px;margin-bottom:9px;stroke-width:2}
.reference-site .reason-card h3{font:600 26px/1.5 var(--serif);letter-spacing:-.025em}
.reference-site .reason-card p{font:400 19px/1.65 var(--sans);margin-top:6px}
.reference-site .booking-flow{padding-top:19px}
.reference-site .booking-flow .section-heading h2{font:600 41px/1.4 var(--serif)}
.reference-site .booking-flow .section-heading p{font-size:17px}
.reference-site .booking-flow .section-heading{margin-bottom:17px}
.reference-site .info-card{background:linear-gradient(110deg,#f7faff,#eaf4fd);padding:23px 25px;min-height:200px;gap:18px}
.reference-site .info-card h2{font:600 32px/1.5 var(--serif);margin-bottom:2px}
.reference-site .info-card h3,.reference-site .area-card p{font:600 24px/1.6 var(--serif)}
.reference-site .info-card p{font-size:18px;line-height:1.7}
.reference-site .area-card p{font:600 24px/1.6 var(--serif)}
.reference-site .area-map{width:170px;opacity:.95;mix-blend-mode:normal}
.reference-site .payment-photo{width:210px;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 50%)}
.reference-site .faq{padding-top:17px;padding-bottom:26px}
.reference-site .faq .section-heading h2{font:600 41px/1.4 var(--serif)}
.reference-site .faq .section-heading{margin-bottom:16px}
.reference-site .faq-list{gap:7px}
.reference-site .faq-item summary{font:600 20px/1.6 var(--serif);min-height:70px;gap:14px}
.reference-site .faq-item p{font:400 16px/1.65 var(--sans)}
.reference-site .faq-item[open]{grid-template-columns:34% 1fr}
.reference-site .faq-item[open] summary>.icon:last-child{right:calc(-194% + 4px)}
.reference-site .final-cta{background:#f8f7f3;padding-block:15px}
.reference-site .final-inner{gap:32px}
.reference-site .final-photo{width:43%;max-width:none}
.reference-site .final-copy h2{font:600 34px/1.45 var(--serif)}
.reference-site .final-copy p{font-size:18px;margin-top:5px}
.reference-site .final-buttons .button{font-size:21px;min-height:65px;padding-inline:22px}
.reference-site .footer-inner{gap:24px}
.reference-site .footer-inner .brand{font-size:31px;gap:10px}
.reference-site .footer-inner .brand-mark{width:62px;height:62px}
.reference-site .footer-inner .brand-mark img{width:98px;left:-17px;top:-15px}
.reference-site .footer-inner nav{font-size:14px;gap:18px}
@media(min-width:901px) and (max-width:1279px){
 .reference-site .brand{font-size:26px;gap:8px}.reference-site .brand-mark{width:58px;height:58px}.reference-site .brand-mark img{width:93px;left:-16px;top:-14px}
 .reference-site .desktop-nav{font-size:12px;gap:12px}.reference-site .header-inner{gap:14px}.reference-site .header-booking{font-size:18px;padding-inline:20px}
 .reference-site .hero-copy{padding:28px 30px}.reference-site .hero-copy h1{font-size:clamp(43px,5.2vw,65px)}.reference-site .hero-message{font-size:26px;margin-block:18px}.reference-site .hero-button{font-size:20px;min-height:58px}.reference-site .hero-note{font-size:15px}
 .reference-site .area-label{font-size:16px;margin-bottom:14px}.reference-site .hero-sub{font-size:26px}.reference-site .related-copy h2{font-size:23px}.reference-site .related-copy p{font-size:17px}.reference-site .related-copy strong{font-size:28px}
 .reference-site .trust-inner>span{font-size:17px;gap:14px}.reference-site .service-copy h3{font-size:32px}.reference-site .service-copy p{font-size:16px}.reference-site .service-copy>span{font-size:19px}
 .reference-site .coupon h2{font-size:26px}.reference-site .coupon .line-button{font-size:17px}.reference-site .reason-card h3{font-size:22px}.reference-site .reason-card p{font-size:16px}
 .reference-site .final-copy h2{font-size:28px}.reference-site .final-buttons .button{font-size:17px;padding-inline:16px}.reference-site .footer-inner .brand{font-size:26px}.reference-site .footer-inner nav{font-size:12px;gap:14px}
}
@media(max-width:900px){
 .reference-site .container,.reference-site .header-inner,.reference-site .footer-inner{width:calc(100% - 24px)}
 .reference-site .header-inner{min-height:64px;gap:6px}.reference-site .brand{font-size:15px;gap:5px}.reference-site .brand-mark{width:38px;height:38px}.reference-site .brand-mark img{width:62px;left:-10px;top:-9px}
 .reference-site .header-booking{font-size:14px;min-height:44px;padding:8px 10px;gap:7px}.reference-site .header-booking .icon{width:16px;height:16px}.reference-site .menu-toggle{width:36px;min-width:36px;padding-inline:8px}.reference-site .mobile-nav:not([hidden]){top:64px}
 .reference-site .hero-section{display:block;margin-top:0;margin-bottom:10px}.reference-site .hero-main{aspect-ratio:auto;min-height:320px}.reference-site .hero-copy{padding:18px 19px}
 .reference-site .hero-photo{background-position:80% center}.reference-site .hero-main:after{background:linear-gradient(90deg,#062f41fa 0%,#062f41d9 35%,#062f4166 67%,transparent 100%)}
 .reference-site .area-label{font-size:12px;padding:4px 10px;margin-bottom:9px}.reference-site .hero-copy h1{font:600 clamp(28px,8.5vw,37px)/1.4 var(--serif);letter-spacing:-.045em}.reference-site .hero-sub{font:600 19px/1.5 var(--serif);letter-spacing:-.035em}
 .reference-site .hero-message{font:600 20px/1.5 var(--serif);margin-block:11px 14px;letter-spacing:0}.reference-site .hero-button{font:600 16px/1.5 var(--serif);min-height:48px;padding:9px 17px}.reference-site .hero-note{font:500 12px/1.5 var(--sans);margin-top:10px}
 .reference-site .related-services{gap:6px;margin-top:9px}.reference-site .related-card{min-height:72px;flex-direction:row}.reference-site .related-card>.photo{width:34%;aspect-ratio:1.6;align-self:stretch}
 .reference-site .related-copy{padding:7px 26px 7px 10px;display:flex;flex-direction:column;justify-content:center}.reference-site .related-copy h2{font:600 17px/1.35 var(--serif)}.reference-site .related-copy p{font:600 12px/1.4 var(--serif);margin-top:4px}.reference-site .related-copy strong{font-size:23px}.reference-site .related-copy strong span,.reference-site .related-copy small{font-size:11px}
 .reference-site .trust-inner{padding:0}.reference-site .trust-inner>span{font:600 13px/1.5 var(--serif);min-height:39px;padding:7px max(24px,calc((100% - 280px)/2));gap:14px}.reference-site .trust-inner .icon{width:25px;height:25px}
 .reference-site .section{padding-top:18px}.reference-site .section-heading{margin-bottom:15px}.reference-site .section-heading:before{width:32px;margin-bottom:8px}.reference-site .section-heading h2{font:600 25px/1.4 var(--serif)}.reference-site .service-heading-tail{display:inline}.reference-site .section-heading p{font:400 12px/1.6 var(--sans);margin-top:5px}
 .reference-site .service-grid{gap:7px}.reference-site .service-card{min-height:95px}.reference-site .service-card .photo{width:36%;aspect-ratio:1.4}.reference-site .service-copy{padding:8px 22px 8px 12px;background:#fff}
 .reference-site .service-copy h3{font:600 21px/1.35 var(--serif)}.reference-site .service-copy p{font:500 12px/1.5 var(--sans);margin:3px 0}.reference-site .service-copy>span{font:600 13px/1.5 var(--serif);min-height:26px;justify-content:flex-start}.reference-site .service-copy b{font-size:16px;width:16px;height:16px;margin-left:4px}
 .reference-site .repair-entry{font-size:11px;min-height:34px}.reference-site .coupon{padding:12px;gap:8px 11px;margin-block:8px 12px}.reference-site .coupon .line-logo{width:44px;height:44px}.reference-site .coupon h2{font:600 18px/1.45 var(--serif);letter-spacing:-.03em}.reference-site .coupon .line-button{font:600 14px/1.5 var(--serif);min-height:44px;padding:7px 10px}
 .reference-site .reasons{padding-block:15px}.reference-site .reasons .container{width:calc(100% - 24px)}.reference-site .reasons .section-heading{margin-bottom:10px}.reference-site .reasons .section-heading h2{font:600 24px/1.4 var(--serif)}.reference-site .reason-grid{gap:7px}
 .reference-site .reason-card{padding:11px 12px;gap:12px;min-height:82px}.reference-site .reason-card>.icon{width:34px;height:34px;margin:0}.reference-site .reason-card h3{font:600 17px/1.45 var(--serif)}.reference-site .reason-card p{font:400 12px/1.6 var(--sans);margin-top:3px}
 .reference-site .booking-flow{padding-top:17px}.reference-site .booking-flow .section-heading h2{font:600 25px/1.4 var(--serif)}.reference-site .booking-flow .section-heading p{font-size:12px}.reference-site .booking-flow .section-heading{margin-bottom:12px}
 .reference-site .info-card{padding:13px 14px;gap:12px;min-height:101px}.reference-site .info-card h2{font:600 21px/1.4 var(--serif);margin:0}.reference-site .info-card h3,.reference-site .area-card p{font:600 15px/1.6 var(--serif)}.reference-site .info-card p{font-size:12px;line-height:1.65}.reference-site .area-map{width:100px;opacity:.45}.reference-site .payment-photo{width:115px;opacity:.4}
 .reference-site .faq{padding-block:17px}.reference-site .faq .section-heading h2{font:600 25px/1.4 var(--serif)}.reference-site .faq .section-heading{margin-bottom:12px}.reference-site .faq-item summary{font:600 14px/1.5 var(--serif);min-height:44px;gap:9px}.reference-site .faq-item p{font:400 13px/1.7 var(--sans)}.reference-site .faq-item[open]{display:block}.reference-site .faq-item[open] summary>.icon:last-child{position:static}
 .reference-site .final-cta{padding-block:12px}.reference-site .final-inner{gap:10px}.reference-site .final-photo{width:100%;aspect-ratio:1.2}.reference-site .final-copy h2{font:600 20px/1.45 var(--serif)}.reference-site .final-title-line{display:inline}.reference-site .final-copy p{font-size:12px;margin-top:-6px}.reference-site .final-buttons .button{font-size:16px;min-height:46px;padding-inline:12px}.reference-site .final-buttons .line-button{font-size:14px}
 .reference-site .footer-inner{gap:8px}.reference-site .footer-inner .brand{font-size:14px;gap:3px}.reference-site .footer-inner .brand-mark{width:34px;height:34px}.reference-site .footer-inner .brand-mark img{width:55px;left:-9px;top:-8px}.reference-site .footer-inner nav{font-size:11px;gap:4px 9px}
}
@media(max-width:360px){
 .reference-site .brand{font-size:13px;gap:3px}.reference-site .brand-mark{width:33px;height:33px}.reference-site .brand-mark img{width:54px;left:-9px;top:-8px}.reference-site .header-inner{gap:4px}.reference-site .header-booking{font-size:12px;padding-inline:8px;gap:5px}.reference-site .header-booking .icon{width:14px;height:14px}.reference-site .menu-toggle{width:36px;min-width:36px;padding-inline:8px}
 .reference-site .hero-copy{padding-inline:15px}.reference-site .hero-copy h1{font-size:28px}.reference-site .hero-sub{font-size:16px}.reference-site .hero-main{min-height:300px}.reference-site .hero-button{font-size:14px;padding-inline:12px}.reference-site .related-copy h2{font-size:15px}
 .reference-site .section-heading h2{font-size:22px}.reference-site .coupon h2{font-size:16px}.reference-site .reason-card h3{font-size:15px}.reference-site .reasons .section-heading h2{font-size:21px}.reference-site .service-copy h3{font-size:19px}.reference-site .service-copy p{font-size:11px}.reference-site .final-copy h2{font-size:18px}.reference-site .footer-inner .brand{font-size:12px}
}

/* Keep the adopted board's actual emblem and LINE pictograms through native CSS crops. */
.reference-site .brand-mark img{visibility:hidden}
.reference-site .line-logo>span{visibility:hidden}
.reference-site .line-small{font-size:0;color:transparent;border-radius:5px}
@media(min-width:1280px){
 .reference-site .brand{font-size:38px}.reference-site .brand-mark{width:80px;height:80px}.reference-site .desktop-nav{font-size:17px;gap:20px}
 .reference-site .trust-inner>span{font-size:22px}
 .reference-site .section-heading h2{font-size:51px}
 .reference-site .service-copy h3{font-size:45px}.reference-site .service-copy p{font-size:22px}.reference-site .service-copy>span{font-size:24px}
 .reference-site .coupon h2{font-size:36px}.reference-site .coupon .line-logo{width:80px;height:80px}.reference-site .coupon .line-button{font-size:23px}
 .reference-site .reason-card h3{font-size:30px}.reference-site .reason-card p{font-size:21px}
 .reference-site .info-card h2{font-size:36px}.reference-site .info-card h3,.reference-site .area-card p{font-size:27px}.reference-site .info-card p{font-size:20px}.reference-site .area-card p{font-size:27px}
 .reference-site .faq .section-heading h2{font-size:45px}.reference-site .faq-item summary{font-size:23px}.reference-site .faq-item p{font-size:18px}
 .reference-site .final-copy h2{font-size:36px}.reference-site .final-buttons .button{font-size:23px}
}
@media(max-width:900px){
 .reference-site .related-title-line{display:inline-block;white-space:nowrap;font-size:16px}
 .reference-site .reason-card{min-height:70px;padding-block:10px}
 .reference-site .reason-card h3{font-size:16px;line-height:1.45}
 .reference-site .reason-card p{line-height:1.5}
 .reference-site .booking-flow .steps li{min-height:76px;padding-block:10px}
 .reference-site .booking-flow .steps h3{font-size:15px;line-height:1.5;margin-bottom:3px}
 .reference-site .booking-flow .steps p{font-size:12px;line-height:1.5}
 .reference-site .booking-flow .steps li>.step-chevron{top:18px}
 .reference-site .final-copy h2{font-size:17px;letter-spacing:-.015em;line-height:1.5}
 .reference-site .final-title-line{display:block}
}
@media(max-width:360px){
 .reference-site .related-title-line{font-size:14px}
 .reference-site .reason-card h3{font-size:15px}
 .reference-site .final-copy h2{font-size:14px}
}

/* v17: match the adopted board's step proportions while retaining readable sans-serif labels. */
.reference-site .booking-flow .steps{padding:20px 14px;min-height:144px;gap:12px;background:#fff}
.reference-site .booking-flow .steps li{grid-template-columns:64px 52px minmax(0,1fr);gap:12px;padding:2px 26px 2px 0;align-items:start;border:0;min-height:100px}
.reference-site .booking-flow .step-number{width:64px;height:64px;background:#b18b4c;border:0;box-shadow:none;font:600 28px/1 var(--sans);letter-spacing:0}
.reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:52px;height:56px;margin-top:3px;stroke-width:1.8}
.reference-site .booking-flow .steps h3{font:600 23px/1.5 var(--sans);letter-spacing:0;margin:0 0 7px}
.reference-site .booking-flow .steps p{font:400 17px/1.65 var(--sans);letter-spacing:0;margin:0;color:#526b83}
.reference-site .booking-flow .steps li>.step-chevron{width:18px;height:24px;right:3px;top:34px;margin:0;color:#b18b4c}
@media(min-width:901px) and (max-width:1279px){
 .reference-site .booking-flow .steps{padding:18px 12px;min-height:128px;gap:8px}
 .reference-site .booking-flow .steps li{grid-template-columns:48px 40px minmax(0,1fr);gap:8px;padding-right:18px;min-height:88px}
 .reference-site .booking-flow .step-number{width:48px;height:48px;font-size:23px}
 .reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:40px;height:44px;margin-top:2px}
 .reference-site .booking-flow .steps h3{font-size:18px;margin-bottom:6px}
 .reference-site .booking-flow .steps p{font-size:14px;line-height:1.7}
 .reference-site .booking-flow .steps li>.step-chevron{width:12px;height:20px;right:1px;top:25px}
}
@media(max-width:900px){
 .reference-site .booking-flow .steps{padding:0;min-height:0;gap:0}
 .reference-site .booking-flow .steps li{grid-template-columns:36px 32px minmax(0,1fr);gap:10px;min-height:100px;padding:16px 24px 16px 12px;border:0;align-items:start}
 .reference-site .booking-flow .steps li+li{border-top:1px solid #e5eaf0}
 .reference-site .booking-flow .step-number{width:36px;height:36px;font-size:18px}
 .reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:32px;height:36px;margin-top:0}
 .reference-site .booking-flow .steps h3{font-size:16px;line-height:1.5;margin:0 0 5px}
 .reference-site .booking-flow .steps p{font-size:13px;line-height:1.6}
 .reference-site .booking-flow .steps li>.step-chevron{width:12px;height:18px;right:7px;top:22px;color:var(--ink)}
}
@media(max-width:360px){
 .reference-site .booking-flow .steps li{grid-template-columns:32px 28px minmax(0,1fr);gap:8px;padding:14px 19px 14px 10px;min-height:94px}
 .reference-site .booking-flow .step-number{width:32px;height:32px;font-size:17px}
 .reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:28px;height:32px}
 .reference-site .booking-flow .steps h3{font-size:15px}
 .reference-site .booking-flow .steps p{font-size:12.5px}
}

/* Keep each step's title and semantic description lines intact on narrow desktop layouts. */
@media(min-width:901px) and (max-width:1279px){
 .reference-site .booking-flow .steps li{grid-template-columns:36px 28px minmax(0,1fr);gap:7px;padding-right:10px}
 .reference-site .booking-flow .step-number{width:36px;height:36px;font-size:18px}
 .reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:28px;height:32px;margin-top:0}
 .reference-site .booking-flow .steps h3{font-size:16px}
 .reference-site .booking-flow .steps p{font-size:12px;line-height:1.7}
 .reference-site .booking-flow .steps li>.step-chevron{width:9px;height:16px;top:23px;right:0}
}
@media(min-width:1050px) and (max-width:1279px){
 .reference-site .booking-flow .steps li{grid-template-columns:44px 36px minmax(0,1fr);gap:8px;padding-right:16px}
 .reference-site .booking-flow .step-number{width:44px;height:44px;font-size:22px}
 .reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:36px;height:40px}
 .reference-site .booking-flow .steps h3{font-size:18px}
 .reference-site .booking-flow .steps p{font-size:14px}
 .reference-site .booking-flow .steps li>.step-chevron{width:12px;height:20px;top:26px}
}

@media(min-width:1280px) and (max-width:1399px){
 .reference-site .site-header .brand{font-size:26px;gap:8px}
 .reference-site .site-header .brand-mark{width:58px;height:58px}
 .reference-site .desktop-nav{font-size:13px;gap:12px}
 .reference-site .header-inner{gap:14px}
 .reference-site .header-booking{font-size:18px;padding-inline:20px}
 .reference-site .booking-flow .steps li{grid-template-columns:56px 46px minmax(0,1fr)}
 .reference-site .booking-flow .step-number{width:56px;height:56px;font-size:26px}
 .reference-site .booking-flow .steps li>.icon:not(.step-chevron){width:46px;height:50px}
 .reference-site .booking-flow .steps h3{font-size:22px}
 .reference-site .booking-flow .steps p{font-size:16px}
}

/* v18: a stable full-width question row with its answer below in every viewport. */
.reference-site .faq-list{gap:10px}
.reference-site .faq-item,.reference-site .faq-item[open]{display:block;grid-template-columns:none;padding:0;overflow:visible;border:1px solid #d9e3ec;border-radius:5px;background:#fff}
.reference-site .faq-item summary{display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:18px 22px;min-height:72px;list-style:none;cursor:pointer;border-radius:4px;font:600 23px/1.6 var(--serif)}
.reference-site .faq-item summary>span{min-width:0;overflow-wrap:anywhere}
.reference-site .faq-item summary>.icon:first-child{width:26px;height:26px}
.reference-site .faq-item summary>.icon:last-child,.reference-site .faq-item[open] summary>.icon:last-child{position:static;right:auto;top:auto;width:20px;height:20px;margin:0;justify-self:end;transform:rotate(90deg);transition:transform 140ms ease}
.reference-site .faq-item[open] summary>.icon:last-child{transform:rotate(-90deg)}
.reference-site .faq-item[open]{border-color:#c1d0de}
.reference-site .faq-item[open] summary{border-radius:4px 4px 0 0}
.reference-site .faq-item summary:hover{background:#f7f9fb}
.reference-site .faq-item summary:focus-visible{outline:3px solid #087ab5;outline-offset:3px}
.reference-site .faq-item p,.reference-site .faq-item[open] p{position:relative;width:auto;max-width:none;margin:0;padding:18px 56px 22px 62px;border-top:1px solid #e8edf2;background:#fafbfd;color:#526b83;font:400 18px/1.8 var(--sans);overflow-wrap:anywhere;border-radius:0 0 4px 4px}
.reference-site .faq-item p:before{content:'A';position:absolute;left:28px;top:20px;color:#9c753b;font:600 15px/1.8 var(--sans)}
@media(max-width:1279px) and (min-width:901px){
 .reference-site .faq-item summary{font-size:20px}
 .reference-site .faq-item p,.reference-site .faq-item[open] p{font-size:16px}
}
@media(max-width:900px){
 .reference-site .faq-list{gap:8px}
 .reference-site .faq-item summary{grid-template-columns:20px minmax(0,1fr) 16px;gap:10px;padding:14px 12px;min-height:54px;font:600 15px/1.6 var(--serif)}
 .reference-site .faq-item summary>.icon:first-child{width:20px;height:20px}
 .reference-site .faq-item summary>.icon:last-child,.reference-site .faq-item[open] summary>.icon:last-child{width:16px;height:16px}
 .reference-site .faq-item p,.reference-site .faq-item[open] p{padding:14px 16px 17px 42px;font:400 14px/1.8 var(--sans)}
 .reference-site .faq-item p:before{left:16px;top:15px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.reference-site .faq-item summary>.icon:last-child,.reference-site .faq-item[open] summary>.icon:last-child{transition:none}}

/* v19: a distinct repair entry below the three cleaning categories. */
.reference-site #home-repair{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:24px;margin:24px 0 20px;padding:26px 28px;border:1px solid #e1d8c7;border-left:4px solid #b58a47;border-radius:5px;background:#faf8f3;min-height:132px;color:var(--ink)}
.reference-site #home-repair:hover{background:#faf8f3}
.reference-site #home-repair .repair-entry-mark{display:grid;place-items:center;width:56px;height:56px;background:#fff;border:1px solid #e3ddcf;border-radius:50%;color:#9a7237}
.reference-site #home-repair .repair-entry-mark .icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reference-site #home-repair h3{font:600 28px/1.5 var(--serif);margin:0;letter-spacing:0}
.reference-site #home-repair h3 .keep{display:inline-block}
.reference-site #home-repair p{font:400 16px/1.7 var(--sans);margin:7px 0 0;color:var(--muted)}
.reference-site #home-repair .repair-entry-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 18px;border:1px solid #a67f43;border-radius:4px;background:#fff;color:var(--ink);font:600 17px/1.6 var(--sans);white-space:nowrap;margin:0;text-decoration:none}
.reference-site #home-repair .repair-entry-link .icon{width:20px;height:20px;color:#a67f43}
.reference-site #home-repair .repair-entry-link:hover{background:#f3eee4;border-color:#89612a}
.reference-site #home-repair .repair-entry-link:focus-visible{outline:3px solid #087ab5;outline-offset:4px}
@media(min-width:901px) and (max-width:1279px){.reference-site #home-repair{gap:18px;padding:22px;grid-template-columns:48px minmax(0,1fr) auto}.reference-site #home-repair .repair-entry-mark{width:48px;height:48px}.reference-site #home-repair h3{font-size:23px}.reference-site #home-repair p{font-size:14px}.reference-site #home-repair .repair-entry-link{font-size:15px;padding-inline:14px}}
@media(max-width:900px){.reference-site #home-repair{grid-template-columns:40px minmax(0,1fr);gap:14px 12px;margin:16px 0 12px;padding:18px 16px;min-height:0}.reference-site #home-repair .repair-entry-mark{width:40px;height:40px;align-self:start;margin-top:3px}.reference-site #home-repair .repair-entry-mark .icon{width:24px;height:24px}.reference-site #home-repair h3{font-size:22px;line-height:1.5}.reference-site #home-repair p{font-size:13px;line-height:1.7;margin-top:6px}.reference-site #home-repair .repair-entry-link{grid-column:1/-1;min-height:48px;font-size:15px;padding:10px 14px;gap:12px}.reference-site #home-repair .repair-entry-link .icon{width:19px;height:19px}}
@media(max-width:360px){.reference-site #home-repair{padding:16px 12px;column-gap:10px}.reference-site #home-repair h3{font-size:19px}.reference-site #home-repair p{font-size:12px}}

/* v20: size type for its own card width; keep words and actions intact. */
.copy-unit{display:inline-block;white-space:nowrap}
.reference-site .reason-card>div{width:100%}
.reference-site .related-copy,.reference-site .service-copy,.reference-site .coupon,.reference-site .reason-card>div,.reference-site .final-copy,.repair-checklist li>div{container-type:inline-size;min-width:0}
.reference-site .related-copy h2{font-size:clamp(14px,5.7cqi,24px);line-height:1.5;white-space:nowrap}
.reference-site .related-title-line{display:inline;font-size:inherit;white-space:nowrap}
.reference-site .reason-card h3{font-size:clamp(16px,6.5cqi,25px);line-height:1.5;letter-spacing:0;white-space:nowrap}
.reference-site .coupon{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}
.reference-site .coupon h2{font-size:clamp(20px,1.75cqi,25px);line-height:1.5;white-space:nowrap;letter-spacing:0}
.reference-site .coupon .line-button{font-size:18px;white-space:nowrap;min-height:56px;padding-inline:14px;gap:10px}
.reference-site .coupon .line-logo{width:64px;height:64px}
.reference-site .final-copy h2{font-size:clamp(18px,3.55cqi,28px);line-height:1.5;white-space:nowrap;letter-spacing:0}
.reference-site .final-title-line{display:inline;font-size:inherit}
.reference-site .final-copy p{margin-top:9px;line-height:1.7}
.reference-site .final-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);gap:12px}
.reference-site .final-buttons .button{white-space:nowrap;font-size:clamp(14px,2.2cqi,17px);min-height:56px;padding-inline:12px;gap:9px;min-width:0}
.reference-site .final-buttons .line-small{width:26px;height:26px;flex:none}.reference-site .final-buttons .icon{width:18px;height:18px}
.repair-checklist li>div{flex:1}.repair-checklist h3{white-space:nowrap;font-size:clamp(16px,7cqi,22px)}
.repair-checklist p{font-size:13px;line-height:1.8;text-wrap:pretty}
@media(min-width:901px){
 .reference-site .service-copy p{font-size:clamp(12px,4.6cqi,19px);white-space:nowrap;line-height:1.7}
 .reference-site .booking-flow .steps p{font-size:15px;line-height:1.8;text-wrap:pretty}
 .reference-site .booking-flow .steps li:first-child p{font-size:15px;text-wrap:pretty}
 .reference-site .payment-card>div:not(.photo){min-width:0;flex:1}
 .reference-site .payment-card p{font-size:16px;line-height:1.8}
}
@media(min-width:901px) and (max-width:1279px){
 .reference-site .coupon{grid-template-columns:64px minmax(0,1fr)}
 .reference-site .coupon h2{font-size:24px}.reference-site .coupon .line-button{grid-column:2;justify-self:start;min-height:48px}
 .reference-site .reason-card{padding-inline:10px}.reference-site .reason-card h3{font-size:clamp(14px,6.3cqi,22px)}
 .reference-site .final-buttons{grid-template-columns:1fr}.reference-site .final-buttons .button{font-size:16px}
}
@media(min-width:901px) and (max-width:1100px){.repair-checklist{grid-template-columns:1fr}.repair-checklist p{font-size:14px}}
@media(max-width:900px){
 .reference-site .reason-card>div{width:auto;flex:1}
 .reference-site .final-inner{grid-template-columns:40% minmax(0,1fr)}
 .reference-site .related-copy h2{font-size:clamp(13px,6cqi,17px);white-space:normal}
 .reference-site .related-title-line{display:inline-block;font-size:inherit;white-space:nowrap}
 .reference-site .service-copy p{font-size:12px;line-height:1.7}
 .reference-site .section-heading h2{font-size:clamp(21px,6vw,25px);letter-spacing:0}
 .reference-site .service-heading-tail{display:inline;white-space:nowrap}
 .reference-site .coupon{grid-template-columns:44px minmax(0,1fr);gap:10px}
 .reference-site .coupon .line-logo{width:44px;height:44px}.reference-site .coupon h2{font-size:17px;white-space:normal}
 .reference-site .coupon .line-button{grid-column:1/-1;font-size:14px;min-height:46px;justify-self:stretch}
 .reference-site .reason-card h3{font-size:clamp(13px,5.7cqi,17px)}
 .reference-site .final-copy h2{font-size:clamp(14px,4.6vw,19px);white-space:normal;line-height:1.6;min-width:0}.reference-site .final-title-line{display:inline-block;font-size:inherit}
 .reference-site .final-buttons{grid-template-columns:1fr;gap:9px}.reference-site .final-buttons .button{font-size:15px;min-height:48px}
 .reference-site .payment-card p{font-size:12px;line-height:1.8}
 .reference-site .booking-flow .steps p{font-size:13px;line-height:1.8;text-wrap:pretty}
 .repair-checklist h3{font-size:20px}
}
@media(max-width:360px){
 .reference-site .related-copy h2{font-size:13px}.reference-site .service-copy p{font-size:11px}
 .reference-site .coupon h2{font-size:15px}.reference-site .reason-card h3{font-size:13px}
 .reference-site .final-copy h2{font-size:14px}.reference-site .final-buttons .button{font-size:14px}
 .repair-checklist h3{font-size:18px}
}

@media(min-width:901px) and (max-width:1279px){.reference-site .booking-flow .steps p{font-size:14px}}

/* v21: stable header space, compact scroll state and a complete footer. */
body{--header-expanded:88px;--header-compact:72px}
body.reference-site{--header-expanded:94px}
html{scroll-padding-top:110px}
.header-space{height:var(--header-expanded)}
.site-header{position:fixed;inset:0 0 auto;z-index:40;background:#fff;border-bottom:1px solid transparent;transition:box-shadow .2s ease,border-color .2s ease}
body .site-header .header-inner{min-height:var(--header-expanded);height:var(--header-expanded);transition:min-height .2s ease,height .2s ease}
.site-header .brand,.site-header .brand-mark,.site-header .header-booking{transition:font-size .2s ease,width .2s ease,height .2s ease,min-height .2s ease,padding .2s ease}
body .site-header.is-compact{border-color:var(--border);box-shadow:0 3px 16px #0b254412}
body .site-header.is-compact .header-inner{min-height:var(--header-compact);height:var(--header-compact)}
body .site-header.is-compact .brand{font-size:23px;gap:8px}
body .site-header.is-compact .brand-mark{width:46px;height:46px}
body .site-header.is-compact .brand-mark img{width:74px;left:-12px;top:-9px}
body .site-header.is-compact .header-booking{font-size:17px;min-height:46px;padding:9px 18px}
body .site-header .mobile-nav:not([hidden]){top:100%;max-height:calc(100dvh - var(--header-expanded) - 16px);overflow-y:auto;overscroll-behavior:contain}
body .site-header.is-compact .mobile-nav:not([hidden]){max-height:calc(100dvh - var(--header-compact) - 16px)}
.skip-link{z-index:60}
body.reference-site .hero-note{max-width:none;font:500 clamp(12px,1.05vw,16px)/1.6 var(--sans);white-space:nowrap}
body .site-footer{padding:42px 0 20px;background:#0b2544;color:#f5f2eb;border-top:3px solid #ba955b;margin-top:0}
body .site-footer .footer-inner{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(380px,1.4fr) minmax(270px,1fr);gap:40px;align-items:start}
body .site-footer .footer-inner .brand{font:600 25px/1.4 var(--serif);gap:9px;letter-spacing:0}
body .site-footer .footer-inner .brand-mark{width:48px;height:48px;background-color:#fff;border-radius:50%}
body .site-footer .footer-inner .brand-mark img{width:77px;left:-13px;top:-10px}
.footer-description{font-size:13px;line-height:1.9;color:#c4d0dd;margin-top:17px}
.footer-area{font-size:14px;line-height:1.8;margin-top:18px}
.footer-area>span{display:block;font-size:12px;color:#d5b580;letter-spacing:.06em;margin-bottom:3px}
body .site-footer .footer-directory{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;font:400 14px/1.6 var(--sans)}
body .site-footer h2{font:600 15px/1.6 var(--sans);color:#d5b580;letter-spacing:.02em;margin-bottom:12px}
body .site-footer .footer-directory a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:9px 0;border-bottom:1px solid #ffffff1c}
.footer-directory .icon{width:12px;height:12px}
body .site-footer a:hover{color:#efd29d}
body .site-footer .footer-contact h2{color:#f5f2eb;font-size:16px}
.footer-contact>p{font-size:13px;color:#c4d0dd;line-height:1.9;margin-bottom:14px}
body .site-footer .footer-contact .button{display:flex;width:100%;font:600 15px/1.5 var(--serif);white-space:nowrap;min-height:48px;padding:12px 10px;gap:8px;margin-top:10px}
body .site-footer .footer-contact .gold:hover{color:#fff}
body .site-footer .footer-contact .line-button:hover{color:#008633}
.footer-contact .button .icon{width:18px;height:18px}
.footer-contact .line-small{width:26px;height:26px}
.footer-bottom{width:calc(100% - 64px);max-width:var(--max);margin:28px auto 0;border-top:1px solid #ffffff28;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-bottom>p{font-size:12px;color:#aebed0}
.footer-top{font-size:13px;display:inline-flex;gap:16px;align-items:center;min-height:44px}
.footer-top>span{font:400 21px/1 Arial,sans-serif}
body .site-footer .preview-note{font-size:12px;color:#aebed0;line-height:1.8;margin:6px auto 0;padding-inline:12px}
@media(min-width:901px) and (max-width:1279px){
 body .site-footer .footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px}
 body .site-footer .footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 24px;align-items:center;padding-top:22px;border-top:1px solid #ffffff28}
 .footer-contact>p{grid-column:1;grid-row:2;margin:0}
 body .site-footer .footer-contact h2{margin:0;grid-column:1;grid-row:1}
 body .site-footer .footer-contact .button{grid-row:1/3;margin:0;font-size:14px}
}
@media(max-width:900px){
 body,body.reference-site{--header-expanded:64px;--header-compact:56px}
 html{scroll-padding-top:80px}
 body .site-header.is-compact .brand{font-size:14px;gap:4px}
 body .site-header.is-compact .brand-mark{width:32px;height:32px}
 body .site-header.is-compact .brand-mark img{width:52px;left:-9px;top:-6px}
 body .site-header.is-compact .header-booking{font-size:12px;min-height:44px;padding:8px 10px}
 body.reference-site .hero-note{font-size:11px;letter-spacing:-.01em}
 body .site-footer{padding:28px 0 16px}
 body .site-footer .footer-inner{width:calc(100% - 32px);display:grid;grid-template-columns:1fr;gap:25px}
 body .site-footer .footer-inner .brand{font-size:20px;gap:8px}
 body .site-footer .footer-inner .brand-mark{width:42px;height:42px}
 .footer-description{margin-top:12px;font-size:13px}
 .footer-area{margin-top:10px}
 body .site-footer .footer-directory{gap:20px;font-size:13px}
 body .site-footer h2{font-size:14px;margin-bottom:5px}
 body .site-footer .footer-contact{border-top:1px solid #ffffff28;padding-top:22px}
 body .site-footer .footer-contact .button{font-size:15px;min-height:48px}
 .footer-bottom{width:calc(100% - 32px);margin-top:20px;gap:10px}
 .footer-top{font-size:12px;gap:8px}
}
@media(max-width:360px){
 body .site-header.is-compact .brand{font-size:13px;gap:3px}
 body .site-header.is-compact .header-booking{padding-inline:8px}
 body .site-footer .footer-inner .brand{font-size:18px}
 body .site-footer .footer-directory{gap:14px;font-size:12px}
 body .site-footer .footer-contact .button{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .site-header,.site-header .header-inner,.site-header .brand,.site-header .brand-mark,.site-header .header-booking{transition:none!important}
}

@media(max-width:360px){
 body .site-header .header-inner{width:calc(100% - 20px);gap:4px}
 body .site-header .brand,body .site-header.is-compact .brand{font-size:12px;gap:3px}
 body .site-header .brand-mark{width:32px;height:32px}
 body .site-header .header-booking,body .site-header.is-compact .header-booking{font-size:11.5px;padding-inline:6px;gap:4px}
}

@media(min-width:361px) and (max-width:900px){
 body .site-header .brand{font-size:15px;gap:5px}
 body .site-header .brand-mark{width:38px;height:38px}
 body .site-header .header-booking{font-size:13px;min-height:44px;padding:8px 10px}
 body .site-header.is-compact .brand{font-size:14px;gap:4px}
 body .site-header.is-compact .brand-mark{width:32px;height:32px}
 body .site-header.is-compact .header-booking{font-size:12px}
}
@media(max-width:900px){
 body .site-header .menu-toggle{width:44px;min-width:44px}
 .site-footer .footer-directory .icon{display:none}
}

/* v22: phone composition, real existing A-proposal photos; desktop unchanged. */
.mobile-photo{display:none}
@media(max-width:900px){
 body.reference-site .container{width:calc(100% - 32px)}
 body.reference-site .hero-section{margin-top:8px;margin-bottom:20px}
 body.reference-site .hero-main{min-height:520px;border-radius:6px;background:#faf9f6}
 body.reference-site .hero-photo{background:none}
 .mobile-photo{display:flex;position:absolute;inset:0;overflow:hidden}
 .mobile-photo-part{display:block;flex:1;min-width:0;background-image:var(--mobile-photo);background-size:cover;background-position:center}
 body.reference-site .hero-photo .mobile-photo{bottom:auto;height:54%}
 body.reference-site .hero-photo .mobile-photo-part{background-position:50% 48%}
 body.reference-site .hero-main:after{background:linear-gradient(180deg,transparent 0%,transparent 32%,#08394bdd 50%,#08394b 57%,#062f41 100%)}
 body.reference-site .hero-copy{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:24px}
 body.reference-site .area-label{position:absolute;left:20px;top:20px;font:600 12px/1.5 var(--sans);letter-spacing:.02em;padding:6px 10px;margin:0;box-shadow:none}
 body.reference-site .hero-copy h1{font:600 clamp(30px,8.3vw,40px)/1.4 var(--serif);letter-spacing:-.03em;text-shadow:none;white-space:nowrap}
 body.reference-site .hero-sub{font:600 clamp(14px,3.9vw,19px)/1.65 var(--serif);letter-spacing:0;white-space:nowrap;margin-top:2px}
 body.reference-site .hero-message{font:600 19px/1.65 var(--serif);letter-spacing:.02em;margin:16px 0 18px;color:#edcf91}
 body.reference-site .mobile-break{display:block}
 body.reference-site .hero-button{width:100%;font:600 clamp(14px,3.9vw,18px)/1.5 var(--sans);min-height:54px;padding:13px 12px;gap:8px;white-space:nowrap;border-color:#e5bd7d;background:linear-gradient(135deg,#ca9f5e,#a87c3d)}
 body.reference-site .hero-note{font:400 clamp(10px,2.8vw,12px)/1.7 var(--sans);letter-spacing:0;margin-top:12px;white-space:nowrap;color:#e3ebee}
 body.reference-site .related-services{gap:10px;margin-top:12px}
 body.reference-site .related-card{min-height:108px;border-color:#dce3e7;box-shadow:none;background:#fff;align-items:stretch}
 body.reference-site .related-card>.photo{width:35%;flex:none;aspect-ratio:auto;min-height:108px}
 body.reference-site .related-copy{padding:14px 28px 14px 14px;display:flex;flex-direction:column;justify-content:center;min-width:0}
 body.reference-site .related-copy h2{font:600 clamp(14px,3.9vw,18px)/1.5 var(--serif);letter-spacing:0;white-space:normal}
 body.reference-site .related-copy .related-title-line{display:block;white-space:nowrap}
 body.reference-site .related-copy p{font:500 12px/1.7 var(--sans);margin-top:5px}
 body.reference-site .related-copy strong{font:600 21px/1.5 var(--serif)}
 body.reference-site .related-copy strong span{font-size:13px}
 body.reference-site .related-copy small{font-size:10px}
 body.reference-site .related-copy>.icon{right:9px;width:14px;height:14px}
 body.reference-site .trust-strip{background:#faf9f6}
 body.reference-site .trust-inner{padding:10px 0;gap:0}
 body.reference-site .trust-inner>span{justify-content:flex-start;min-height:40px;padding:7px 12px;gap:12px;font:500 13px/1.7 var(--sans);border:0;border-bottom:1px solid #e7e6df}
 body.reference-site .trust-inner>span:last-child{border:0}
 body.reference-site .trust-inner .icon{width:23px;height:23px}
 body.reference-site .section{padding-top:30px}
 body.reference-site .section-heading{margin-bottom:20px}
 body.reference-site .section-heading:before{width:30px;margin-bottom:12px}
 body.reference-site .section-heading h2{font:600 clamp(20px,5.5vw,26px)/1.6 var(--serif);letter-spacing:.015em}
 body.reference-site .section-heading p{font:400 12px/1.8 var(--sans);margin:7px auto 0;max-width:32em;text-wrap:pretty}
 body.reference-site .service-grid{gap:12px}
 body.reference-site .service-card{min-height:126px;border:1px solid #dce3e7;box-shadow:none;align-items:stretch}
 body.reference-site .service-card>.photo{width:35%;aspect-ratio:auto;min-height:126px;flex:none}
 body.reference-site .service-copy{padding:15px 28px 12px 14px;display:flex;flex-direction:column;justify-content:center;min-width:0;background:#fff}
 body.reference-site .service-copy h3{font:600 20px/1.5 var(--serif);letter-spacing:0}
 body.reference-site .service-copy p{font:400 11px/1.8 var(--sans);margin:4px 0 7px;white-space:normal;color:#496079}
 body.reference-site .service-copy>span{font:600 12px/1.7 var(--sans);min-height:20px;justify-content:flex-start}
 body.reference-site .service-copy b{font-size:17px;width:18px;height:18px;margin-left:5px}
 body.reference-site .service-card .mobile-chevron{right:9px;width:14px;height:14px}
 body.reference-site .repair-entry{margin-top:18px;padding:18px 16px;gap:10px;box-shadow:none;background:#faf9f6;border-color:#e3ded3}
 body.reference-site .repair-entry-copy h3{font:600 16px/1.65 var(--sans)}
 body.reference-site .repair-entry-copy p{font-size:12px;line-height:1.8;margin-top:4px}
 body.reference-site .repair-entry-link{font-size:13px;min-height:44px}
 body.reference-site .coupon{padding:16px;margin-block:22px;gap:12px;background:#fff;border-color:#bf9d66}
 body.reference-site .coupon h2{font:600 16px/1.65 var(--serif)}
 body.reference-site .coupon .line-logo{width:38px;height:38px}
 body.reference-site .coupon .line-button{font:500 14px/1.5 var(--sans);min-height:48px;padding:10px;gap:8px;white-space:nowrap}
 body.reference-site .reasons{padding:28px 0;background:#07394d}
 body.reference-site .reasons .section-heading{margin-bottom:17px}
 body.reference-site .reasons .section-heading h2{font-size:21px}
 body.reference-site .reason-grid{gap:10px}
 body.reference-site .reason-card{padding:16px 14px;gap:14px;min-height:98px;border:0;border-radius:4px;box-shadow:none}
 body.reference-site .reason-card>.icon{width:32px;height:32px}
 body.reference-site .reason-card h3{font:600 clamp(13px,3.7vw,17px)/1.65 var(--sans);white-space:normal;letter-spacing:0}
 body.reference-site .reason-card p{font:400 12px/1.85 var(--sans);margin-top:4px}
 body.reference-site .reason-card p br{display:none}
 body.reference-site .steps{gap:0;background:#fff}
 body.reference-site .steps li{padding:18px 26px 18px 14px;min-height:110px;gap:12px;border-bottom:1px solid #e6ebee;align-items:flex-start}
 body.reference-site .steps li:last-child{border-bottom:0}
 body.reference-site .steps .step-number{width:32px;height:32px;font:600 19px/1 var(--sans);margin-top:1px}
 body.reference-site .steps li>.icon:not(.step-chevron){width:31px;height:31px;margin-top:1px}
 body.reference-site .steps h3{font:600 clamp(14px,3.9vw,18px)/1.5 var(--sans);letter-spacing:0;white-space:nowrap}
 body.reference-site .steps p{font:400 12px/1.85 var(--sans);margin-top:7px}
 body.reference-site .steps li>.step-chevron{width:13px;height:13px;top:29px;right:9px}
 body.reference-site .info-grid{gap:12px;margin-top:24px}
 body.reference-site .info-card{padding:18px 16px;gap:14px;min-height:114px}
 body.reference-site .info-card>.icon{width:27px;height:27px}
 body.reference-site .info-card h2{font:600 20px/1.5 var(--serif)}
 body.reference-site .info-card h3{font:600 15px/1.8 var(--sans);letter-spacing:0}
 body.reference-site .info-card p{font:400 12px/1.85 var(--sans);margin-top:5px}
 body.reference-site .area-card p{font-size:15px;font-weight:500}
 body.reference-site .payment-photo{display:none}
 body.reference-site .payment-card{background:#f2f8fd}
 body.reference-site .faq{padding-bottom:30px}
 body.reference-site .faq-item summary{font:500 14px/1.75 var(--sans);min-height:56px;padding:15px 32px 15px 34px}
 body.reference-site .faq-item p{font:400 13px/1.9 var(--sans);padding:0 16px 18px 34px}
 body.reference-site .final-cta{padding:24px 0;background:#faf9f6}
 body.reference-site .final-inner{grid-template-columns:1fr;gap:0}
 body.reference-site .final-photo{grid-column:1;aspect-ratio:2.5;min-height:0;border-radius:4px;margin-bottom:18px}
 body.reference-site .final-copy h2{grid-column:1;font:600 22px/1.7 var(--serif);text-align:left;letter-spacing:0}
 body.reference-site .final-copy p{grid-column:1;font:400 12px/1.8 var(--sans);margin-top:8px;text-align:left}
 body.reference-site .final-buttons{grid-column:1;gap:10px;margin-top:18px}
 body.reference-site .final-buttons .button{font:500 14px/1.5 var(--sans);min-height:50px;white-space:nowrap}
 body.reference-site .site-footer{padding-top:30px}
 body.reference-site .footer-inner{gap:26px}
 body.reference-site .footer-directory{gap:16px;font-size:12px}
 body.reference-site .footer-contact .button{font-family:var(--sans)}
}
@media(max-width:360px){
 body.reference-site .hero-main,body.reference-site .hero-copy{min-height:480px}
 body.reference-site .hero-copy{padding:20px 16px}
 body.reference-site .hero-copy h1{font-size:30px}
 body.reference-site .hero-message{font-size:18px;margin:12px 0 16px}
 body.reference-site .hero-photo .mobile-photo{height:52%}
 body.reference-site .related-copy{padding-left:10px}
 body.reference-site .related-copy h2{font-size:13px}
 body.reference-site .service-card>.photo{width:32%}
 body.reference-site .service-copy{padding-left:11px}
 body.reference-site .steps li{gap:8px;padding-left:10px}
 body.reference-site .steps .step-number{width:28px;height:28px;font-size:17px}
 body.reference-site .steps li>.icon:not(.step-chevron){width:27px;height:27px}
 body.reference-site .steps h3{font-size:13px}
 body.reference-site .reasons .section-heading h2{font-size:19px}
}

@media(max-width:900px){
 body.reference-site .hero-copy h1 span{color:#edcf91}
 body.reference-site .service-copy p{font-size:12px}
 body.reference-site .steps p .copy-unit{display:inline;white-space:normal}
 body.reference-site .steps p br{display:none}
}

/* Narrow phones between the existing 360px and 390px checks. */
@media(min-width:361px) and (max-width:389px){
 body .site-header .brand{font-size:14px}
 body .site-header .header-booking{font-size:12px;padding-inline:8px}
}

@media(min-width:361px) and (max-width:374px){body .site-header .header-booking{padding-inline:6px}}

/* v39: match the existing footer circular emblem, with the same source crop and separate wordmark. */
body .site-header .brand .brand-mark{--emblem-width:56px;position:relative;display:block;width:var(--emblem-width);height:var(--emblem-width);overflow:hidden;flex-shrink:0;background-image:url('assets/reference.png')!important;background-color:#fff;border-radius:50%;line-height:0;background-size:calc(var(--emblem-width)*24.275) calc(var(--emblem-width)*40.5)!important;background-position:calc(var(--emblem-width)*-.525) calc(var(--emblem-width)*-.45)!important}
body .site-header .brand .brand-mark img{visibility:hidden;position:absolute;width:calc(var(--emblem-width)*1.25);height:auto;max-width:none;left:calc(var(--emblem-width)*-.125);top:calc(var(--emblem-width)*-.125);mix-blend-mode:multiply}
body .site-header.is-compact .brand .brand-mark{--emblem-width:42px}
@media(max-width:900px){body .site-header .brand .brand-mark{--emblem-width:38px}body .site-header.is-compact .brand .brand-mark{--emblem-width:32px}}
@media(max-width:360px){body .site-header .brand .brand-mark{--emblem-width:30px}body .site-header.is-compact .brand .brand-mark{--emblem-width:28px}}

/* v40: use the same circular brand mark in every footer, without overlapping full-logo lettering. */
body .site-footer .brand .brand-mark{--emblem-width:52px;position:relative;display:block;width:var(--emblem-width);height:var(--emblem-width);overflow:hidden;flex-shrink:0;border-radius:50%;background-color:#fff;background-image:url('assets/reference.png')!important;background-size:calc(var(--emblem-width)*24.275) calc(var(--emblem-width)*40.5)!important;background-position:calc(var(--emblem-width)*-.525) calc(var(--emblem-width)*-.45)!important}
body .site-footer .brand .brand-mark img{display:none!important}
@media(max-width:900px){body .site-footer .brand .brand-mark{--emblem-width:42px}}

/* v41: render the complete original supplied image, including the Japanese and English lettering. */
body{--header-expanded:104px;--header-compact:76px}
body .site-header .brand .brand-mark,body .site-footer .brand .brand-mark{display:block;width:84px;height:84px;flex:none;overflow:visible;border-radius:0;background:none!important;line-height:0}
body .site-header .brand .brand-mark img,body .site-footer .brand .brand-mark img{display:block!important;visibility:visible!important;position:static!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain;object-position:center;left:auto!important;top:auto!important;transform:none;mix-blend-mode:normal}
body .site-header.is-compact .brand .brand-mark{width:60px;height:60px}
body .site-footer .brand .brand-mark{width:144px;height:144px}
body .site-footer .brand>span:last-child{display:none}
@media(max-width:900px){body{--header-expanded:80px;--header-compact:64px}body .site-header .brand .brand-mark{width:64px;height:64px}body .site-header.is-compact .brand .brand-mark{width:48px;height:48px}body .site-header .brand>span:last-child{display:none}body .site-footer .brand .brand-mark{width:128px;height:128px}}

/* v42: integrate the complete original logo into light brand surfaces; preserve every source pixel. */
body .site-footer{background:#faf9f6;color:#0b2544;border-top:2px solid #b79256}
body .site-footer .footer-description,body .site-footer .footer-contact>p,body .site-footer .footer-bottom>p,body .site-footer .preview-note{color:#4d5f72}
body .site-footer h2,body .site-footer .footer-area>span{color:#825d29}
body .site-footer .footer-contact h2{color:#0b2544}
body .site-footer .footer-directory a,body .site-footer .footer-bottom,body .site-footer .footer-contact{border-color:#ded8cc}
body .site-footer a:hover{color:#825d29}
body .site-footer .brand .brand-mark img,body .site-header .brand .brand-mark img{mix-blend-mode:multiply}
body .site-header .brand>span:last-child{display:none}
body .site-header .brand .brand-mark{width:92px;height:92px}
body .site-header.is-compact .brand .brand-mark{width:60px;height:60px}
@media(max-width:900px){body .site-header .brand .brand-mark{width:64px;height:64px}body .site-header.is-compact .brand .brand-mark{width:48px;height:48px}}

/* Keep meaningful phrases together on narrow repair pages. */
.repair-heading-phrase{display:inline-block;white-space:nowrap}
