:root{--ink:#292c2b;--muted:#636864;--red:#9a3028;--paper:#f5f5f1;--line:#d6d9d4;--side:clamp(25px,6vw,112px);--hero-progress:0;--craft-progress:1;--mincho:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}button{border-radius:0}figure,p,h1,h2{margin:0}button[hidden]{display:none}.skip-link{position:fixed;z-index:100;top:8px;left:12px;background:white;padding:14px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:31px var(--side);border-bottom:1px solid #343c3514}.brand{font-family:var(--mincho);font-size:24px;font-weight:600;letter-spacing:.045em;line-height:1.5}.brand span{display:block;margin-top:6px;font-family:sans-serif;font-size:10px;font-weight:400;letter-spacing:.16em}.site-header nav{display:flex;align-items:center;gap:40px}.nav-link{padding:13px 0;font-size:14px}.header-consult{display:flex;align-items:center;justify-content:space-between;gap:29px;min-height:49px;padding:13px 20px;background:transparent;color:var(--ink);border:1px solid #787f7677;font-size:14px}.header-consult:hover{background:#fff8}.header-consult span{font-size:20px}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:max(100svh,740px);padding:153px var(--side) 141px;overflow:hidden;background:#e5e8e5}.hero-photo,.hero-shade,.light-sweep{position:absolute;inset:0;z-index:-3}.hero-photo{transform:translateY(calc(var(--hero-progress)*35px));will-change:transform}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:photo-breathe 18s ease-in-out infinite alternate}.hero-shade{z-index:-2;background:linear-gradient(90deg,#f0f2edee 0%,#f0f2eddf 24%,#f0f2ed8c 47%,#ecf0ed0a 72%),linear-gradient(0deg,#f0f2edba,transparent 23%)}.light-sweep{z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 38%,#ffffff0d 43%,#ffffff2b 49%,#ffffff0d 54%,transparent 60%);transform:translateX(-100%);animation:light-pass 13s ease-in-out 1s infinite}.contour{position:absolute;z-index:-1;width:75%;height:auto;right:-6%;bottom:8%;pointer-events:none}.contour path{stroke:#fafffc;stroke-width:1.2;stroke-opacity:.5;stroke-dasharray:1400;stroke-dashoffset:0;animation:draw-line 3.6s ease-out .3s both}.contour path+path{stroke-opacity:.24;animation-delay:.8s}
.hero-content{max-width:890px;opacity:calc(1 - var(--hero-progress)*.58);transform:translateY(calc(var(--hero-progress)*-21px));will-change:opacity,transform}.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 29px;font-size:14px;font-weight:500;letter-spacing:.12em}.eyebrow span{height:1px;width:25px;background:var(--red)}h1{font-family:var(--mincho);font-size:clamp(50px,5.3vw,91px);font-weight:400;line-height:1.46;letter-spacing:-.065em}.title-line{display:block;white-space:nowrap;animation:text-appear 1.2s cubic-bezier(.2,.7,.2,1) both}.title-line+.title-line{animation-delay:.12s}.hero-description{font-size:17px;line-height:2;letter-spacing:.055em;margin-top:30px}.hero-action{margin-top:36px}.consult-button{display:flex;align-items:center;justify-content:space-between;gap:33px;min-height:63px;border:1px solid var(--red);padding:18px 24px;background:var(--red);color:#fff;font-size:17px;letter-spacing:.025em;transition:background .2s}.consult-button:hover{background:#79221d}.button-arrow{font-size:24px;font-weight:400;line-height:1}.hero-action p{font-size:12px;color:#565e58;margin-top:13px;line-height:1.7}.hero-bottom{position:absolute;bottom:35px;left:var(--side);right:var(--side);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.scroll-cue{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:12px;letter-spacing:.12em}.scroll-line{display:block;width:1px;height:46px;background:#8a938c;position:relative;overflow:hidden}.scroll-line::after{content:"";position:absolute;top:-20px;left:0;width:1px;height:20px;background:var(--red);animation:scroll-line 3s ease-in-out infinite}.hero-meta{text-align:right;display:flex;flex-direction:column;gap:11px;padding-bottom:3px}.location{font-size:10px;letter-spacing:.18em}.image-note{font-size:10px;color:#5f6760;letter-spacing:.02em}
.philosophy{max-width:1680px;margin:auto;padding:98px var(--side) 130px}.section-marker{display:flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.11em}.section-marker>span:first-child{color:var(--red)}.section-marker p{font-size:13px;letter-spacing:.07em}.marker-rule{height:1px;background:var(--line);flex:1}.section-marker>span:last-child{color:var(--muted);font-size:10px}.philosophy-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(45px,8vw,135px);align-items:center;margin-top:67px}.craft-visual{opacity:calc(.3 + var(--craft-progress)*.7);transform:translateY(calc(22px - var(--craft-progress)*22px))}.craft-visual img{display:block;width:100%;aspect-ratio:1.04;object-fit:cover;object-position:52% center}.craft-visual figcaption{font-size:10px;color:var(--muted);line-height:1.8;margin-top:12px}.craft-message{padding:25px 0 35px;opacity:calc(.45 + var(--craft-progress)*.55);transform:translateY(calc(30px - var(--craft-progress)*30px))}.section-kicker{color:var(--red);font-size:13px;letter-spacing:.1em}.craft-message h2{font-family:var(--mincho);font-size:clamp(36px,3.2vw,55px);line-height:1.55;letter-spacing:.04em;font-weight:400;margin:24px 0 32px}.craft-message>p:not(.section-kicker){font-size:17px;line-height:2.15;letter-spacing:.02em;margin-top:21px}.text-consult{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:55px;padding:13px 0;background:none;border:0;border-bottom:1px solid #8e9890;font-size:17px;color:var(--ink);margin-top:32px}.text-consult span{font-size:22px;color:var(--red)}.prototype-footer{border-top:1px solid var(--line);padding:30px var(--side) 37px;display:flex;justify-content:space-between;gap:25px;color:var(--muted)}.prototype-footer>span{font-family:var(--mincho);font-size:17px}.prototype-footer p{font-size:11px;line-height:1.9;text-align:right}
.mobile-consult{display:none}
dialog{width:560px;max-width:calc(100vw - 32px);max-height:calc(100svh - 40px);padding:30px 37px 35px;overflow:auto;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #12221930}dialog::backdrop{background:#18201870;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}.dialog-top>span{font-size:11px;letter-spacing:.08em;color:var(--red)}.dialog-close{display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 12px;background:none;border:1px solid var(--line);color:var(--ink);font-size:14px}.dialog-close span{font-size:22px}dialog h2{font-family:var(--mincho);font-size:34px;font-weight:400;margin-bottom:23px}dialog p{font-size:17px;line-height:1.9}dialog ol{padding:0;list-style:none;margin:28px 0}dialog li{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.6}dialog li span{font-size:12px;color:var(--red);padding-top:4px}.estimate-note{font-size:14px}.demo-note{font-size:12px;color:var(--muted);margin-top:21px;padding-top:18px;border-top:1px solid var(--line)}.noscript-note{padding:20px var(--side);font-size:14px;line-height:1.8}
@keyframes photo-breathe{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes light-pass{0%,12%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}@keyframes draw-line{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}@keyframes text-appear{from{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes scroll-line{0%,15%{transform:translateY(0)}85%,100%{transform:translateY(85px)}}
@media(min-width:1700px){.hero-content{margin-left:max(0px,calc((100vw - 1680px)/2 - var(--side) + 100px))}.hero-shade{background:linear-gradient(90deg,#f0f2edeb 0%,#f0f2edda 24%,#f0f2ed77 47%,#ecf0ed0a 72%)}}
@media(max-width:1050px){.site-header nav{gap:23px}.brand{font-size:21px}.header-consult{font-size:13px;gap:17px;padding:12px 16px}.nav-link{font-size:12px}.hero{min-height:max(100svh,720px)}.hero-shade{background:linear-gradient(90deg,#f0f2edf2 0%,#f0f2eddc 28%,#f0f2ed6f 66%,#ecf0ed15 100%)}.philosophy-layout{gap:45px}.craft-message h2{font-size:38px}.craft-message>p:not(.section-kicker){font-size:16px}}
@media(max-width:760px){html{scroll-padding-top:28px}.site-header{padding:23px var(--side);align-items:center}.brand{font-size:19px;letter-spacing:.025em}.brand span{font-size:9px;letter-spacing:.11em;margin-top:4px}.site-header nav{gap:0}.nav-link{display:none}.header-consult{font-size:11px;padding:8px 10px;gap:10px;min-height:44px}.header-consult span{font-size:17px}.hero{min-height:max(100svh,790px);align-items:flex-start;padding:151px var(--side) 188px}.hero-photo img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#eff2eeeb 0%,#eff2eeb5 47%,#eff2ee4a 100%),linear-gradient(0deg,#eff2eeaa,transparent 37%)}.hero-content{max-width:100%;width:100%}.eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:26px;gap:10px}.eyebrow span{width:20px}h1{font-size:clamp(32px,8.5vw,59px);letter-spacing:-.075em;line-height:1.58}.hero-description{font-size:16px;line-height:2;margin-top:25px;letter-spacing:.01em}.hero-action{margin-top:32px}.consult-button{font-size:16px;min-height:59px;padding:16px 18px;gap:22px;width:100%;max-width:365px}.hero-action p{font-size:11px;max-width:290px;margin-top:12px;line-height:1.8}.hero-bottom{bottom:123px;align-items:flex-end}.scroll-cue{font-size:10px;gap:10px;line-height:1.7}.scroll-line{height:35px}.hero-meta{gap:8px;max-width:180px}.location{font-size:8px;letter-spacing:.09em}.image-note{font-size:9px;line-height:1.6}.contour{width:140%;right:-36%;bottom:18%}.philosophy{padding:61px var(--side) 73px}.section-marker{gap:13px;font-size:10px}.section-marker p{font-size:12px;white-space:nowrap}.section-marker>span:last-child{font-size:8px;white-space:nowrap}.philosophy-layout{grid-template-columns:1fr;gap:36px;margin-top:36px}.craft-visual img{aspect-ratio:1.18;object-position:55% center}.craft-visual figcaption{font-size:9px;margin-top:10px;line-height:1.8}.craft-message{padding:0 0 0 15px}.section-kicker{font-size:12px}.craft-message h2{font-size:38px;margin:20px 0 23px}.craft-message>p:not(.section-kicker){font-size:16px;line-height:2.1;margin-top:21px}.text-consult{font-size:16px;margin-top:26px}.prototype-footer{display:block;padding:27px var(--side) 125px}.prototype-footer>span{font-size:17px}.prototype-footer p{text-align:left;font-size:10px;margin-top:13px;max-width:310px}.mobile-consult{position:fixed;display:block;bottom:0;left:0;right:0;z-index:25;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#f4f5f0f2;border-top:1px solid #d5d9d1;backdrop-filter:blur(12px)}.mobile-consult a[data-consult]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:53px;padding:15px 20px;border:0;color:#fff;background:var(--red);font-size:16px;letter-spacing:.01em}.mobile-consult a[data-consult]>span:last-child{font-size:22px;line-height:1}dialog{padding:23px 24px 27px;max-height:calc(100svh - 32px)}.dialog-top>span{font-size:10px}.dialog-close{font-size:13px;padding:9px 10px;gap:8px}dialog h2{font-size:29px}dialog p{font-size:16px}dialog li{font-size:16px}.estimate-note{font-size:13px}.demo-note{font-size:12px}.noscript-note{padding-bottom:110px}}
@media(max-width:370px){.site-header{gap:12px}.brand{font-size:17px}.header-consult{font-size:10px;gap:7px;padding:8px}.hero{padding-top:142px;min-height:max(100svh,760px)}.hero-description{font-size:15px}.consult-button{font-size:15px;padding:16px 14px}.hero-meta{max-width:143px}.image-note{font-size:8px}.hero-bottom{gap:14px}.craft-message{padding-left:0}.craft-message>p:not(.section-kicker){font-size:15px}}
@media(min-width:761px){.site-header{position:fixed;background:#f2f4efed;backdrop-filter:blur(10px)}.hero-meta{padding-right:150px}}
@media(max-width:760px){.site-header{background:#f2f4efdd;backdrop-filter:blur(8px)}.site-header nav{display:none}.brand{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-photo,.hero-content,.craft-visual,.craft-message{transform:none!important;opacity:1!important}.title-line{opacity:1!important;filter:none!important}.contour path{stroke-dashoffset:0}.light-sweep{display:none}}

/* top-v3 full-page composition */
:root{--story-progress:0;--steps-progress:0;--closing-progress:0}body{font-size:16px}h3{margin:0;font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header nav{gap:26px}.nav-link{font-size:13px;white-space:nowrap}.brand{white-space:nowrap}.brand span,.section-marker>span:last-child,.location,.image-note,.hero-action p,.craft-visual figcaption,.prototype-footer p,.dialog-top>span,.demo-note,.section-note,.section-marker>span:first-child{font-size:12px}.hero{background:var(--paper)}.motion-enabled .hero-stage{height:calc(max(100svh,740px) + 180px)}.motion-enabled .hero{position:sticky;top:0}.hero-photo,.hero-shade{clip-path:inset(calc(var(--hero-progress)*4%) calc(var(--hero-progress)*4.5%))}.hero-photo{transform:translateY(calc(var(--hero-progress)*25px))}.hero-content{opacity:calc(1 - var(--hero-progress)*.48)}.hero-bottom{bottom:40px}.hero-meta{padding-right:150px;max-width:none}.image-note{max-width:230px;line-height:1.7}
.philosophy{padding-top:93px;padding-bottom:87px}.philosophy-layout{align-items:start;grid-template-columns:1.02fr 1fr;gap:clamp(55px,8vw,135px);margin-top:56px}.craft-visual{opacity:1;transform:none}.motion-enabled .craft-visual{position:sticky;top:153px}.craft-frame{overflow:hidden;background:#d5d8d1}.craft-visual img{aspect-ratio:1.03;transform:scale(calc(1 + var(--story-progress)*.065)) translateY(calc(var(--story-progress)*-9px));object-position:52% center}.chapter-track{display:flex;align-items:center;gap:15px;margin-top:25px;font-size:12px;color:var(--muted)}.chapter-track i{height:1px;background:var(--line);flex:1}.chapter-track span.is-current{color:var(--red)}.craft-chapter{min-height:min(65svh,570px);padding:27px 0 72px;border-top:1px solid var(--line)}.craft-chapter:first-child{border-top:0;padding-top:15px}.craft-chapter:last-child{padding-bottom:20px}.craft-chapter .section-kicker{font-size:12px;letter-spacing:.08em}.craft-chapter h2,.craft-chapter h3{font-family:var(--mincho);font-weight:400;font-size:clamp(36px,3.3vw,55px);line-height:1.52;letter-spacing:.01em;margin:24px 0 29px}.craft-chapter>p:not(.section-kicker){font-size:17px;line-height:2.1;max-width:430px;margin-top:23px}.craft-chapter .text-consult{font-size:16px;gap:23px}.section-wrap{max-width:1680px;margin:auto;padding:92px var(--side) 107px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin:62px 0 61px}.section-heading h2,.faq h2,.access h2{font-family:var(--mincho);font-size:clamp(35px,3.3vw,55px);font-weight:400;line-height:1.55;letter-spacing:.01em}.section-heading>p,.section-heading>div>p{font-size:17px;line-height:2;max-width:480px}.section-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:22px}.repair{border-top:1px solid var(--line)}.repair-row{display:grid;grid-template-columns:40px 1.05fr 1.4fr;column-gap:28px;position:relative;border-top:1px solid var(--line);padding:32px 0 30px}.repair-row:last-child{border-bottom:1px solid var(--line)}.row-number{font-size:12px;color:var(--red);padding-top:6px}.repair-row h3{font-family:var(--mincho);font-size:25px;line-height:1.6}.repair-row>p{font-size:16px;line-height:1.95}.row-keyword{font-size:12px;color:var(--muted);grid-column:2;margin-top:12px}.repair-row::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:#969f91;transform:scaleX(var(--row-progress,1));transform-origin:left}
.consultation{background:#2d3531;color:#f3f4ee}.consultation .section-marker{color:#c6cfc5}.consultation .section-marker>span:first-child{color:#d0b6a5}.consultation .marker-rule{background:#ffffff30}.consultation .section-marker>span:last-child{color:#c6cfc5}.consultation-note{font-size:13px!important;line-height:1.9!important;color:#c6cfc5;margin-top:19px}.steps{position:relative;list-style:none;margin:0;padding:37px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:54px;border-top:1px solid #ffffff2b}.steps::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:#d4daca;transform:scaleX(var(--steps-progress));transform-origin:left}.step-number{font-family:var(--mincho);display:block;font-size:42px;color:#9fab9f;line-height:1}.steps li.is-current .step-number{color:#f9f9f2}.steps h3{font-size:22px;font-weight:500;margin:22px 0 17px}.steps p{font-size:16px;color:#d2d8cf;line-height:2}.consultation-action{display:flex;align-items:center;gap:40px;margin-top:55px}.consultation-action .consult-button{background:#f0f1e8;color:#2d3531;border-color:#f0f1e8}.consultation-action .consult-button:hover{background:#d5dccc}.consultation-action>p{font-size:12px;line-height:1.9;color:#c7d0c4}
.faq-layout{display:grid;grid-template-columns:.8fr 1.25fr;gap:65px;margin-top:60px}.faq h2{font-size:clamp(32px,2.9vw,47px)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0;font-size:17px;line-height:1.7;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.faq-list summary>span{font-size:23px;color:var(--red);font-weight:300;flex-shrink:0;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-answer{padding:0 35px 28px 0;animation:answer-open .25s ease-out}.faq-answer p{font-size:16px;line-height:2;color:#515b52}.access{border-top:1px solid var(--line);padding-top:85px}.access-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;margin-top:60px}.access-heading>p:first-child{font-size:12px;color:var(--red);letter-spacing:.12em;margin-bottom:21px}.access h2{font-size:clamp(34px,3.2vw,51px)}.access-intro{font-size:17px;line-height:2;margin-top:25px}.access-information{padding-top:6px}.access-information h3{font-family:var(--mincho);font-size:25px;margin-bottom:25px}.access-information dl{margin:0}.access-information dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.9}.access-information dt{color:var(--muted);font-size:13px;padding-top:2px}.access-information dd{margin:0}.map-link{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:54px;font-size:16px;border-bottom:1px solid #929c91;padding:15px 0;margin-top:15px}.map-link>span:not(.sr-only){color:var(--red);font-size:22px}
.closing{position:relative;isolation:isolate;overflow:hidden;text-align:center;background:#d9dfd8;padding:89px var(--side) 80px}.closing-image{position:absolute;z-index:-2;inset:-20% 0;background:url("../img/hero-burgundy.webp") center 60%/cover no-repeat;transform:translateY(calc(var(--closing-progress)*-32px))}.closing::before{content:"";position:absolute;z-index:-1;inset:0;background:#f1f4eddf}.closing-content>p:first-child{font-size:14px;letter-spacing:.07em}.closing h2{font-family:var(--mincho);font-size:clamp(31px,3.7vw,59px);font-weight:400;line-height:1.5;letter-spacing:-.03em;margin:24px 0 30px}.closing .consult-button{margin:auto}.closing-note{font-size:12px;line-height:1.8;margin-top:17px}.closing-image-note{display:block;font-size:12px;color:var(--muted);margin-top:35px}.prototype-footer{padding-bottom:85px}.prototype-footer>div>span{font-family:var(--mincho);font-size:20px}.prototype-footer p{font-size:12px;text-align:left;margin-top:12px}.prototype-footer>div:last-child{text-align:right}.prototype-footer>div:last-child p{text-align:right}.back-top{display:inline-flex;align-items:center;min-height:44px;font-size:13px}@keyframes answer-open{from{opacity:.5;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:1100px) and (min-width:761px){.site-header nav{gap:18px}.site-header .nav-link:nth-child(2){display:none}.philosophy-layout{gap:45px}.craft-chapter{min-height:490px}.craft-chapter>p:not(.section-kicker){font-size:16px}.craft-chapter h2,.craft-chapter h3{font-size:37px}.steps{gap:30px}.steps h3{font-size:19px}.section-heading{gap:32px}.section-heading>p,.section-heading>div>p{font-size:16px}.repair-row{grid-template-columns:27px 1fr 1.25fr;gap:20px}.repair-row h3{font-size:22px}.access-layout{gap:45px}.faq-layout{gap:40px}.consultation-action{gap:25px}}
@media(max-width:760px){.brand span{font-size:12px}.hero{padding-top:151px;min-height:max(100svh,790px)}.motion-enabled .hero-stage{height:auto}.motion-enabled .hero{position:relative;top:auto}.hero-description{font-size:16px}.hero-photo,.hero-shade{clip-path:inset(calc(var(--hero-progress)*1%) calc(var(--hero-progress)*2%))}.hero-meta{padding-right:0;max-width:170px}.hero-action p,.location,.image-note,.scroll-cue{font-size:12px}.hero-bottom{bottom:134px;gap:18px}.hero-action p{max-width:290px}.image-note{line-height:1.7}.location{font-size:12px;letter-spacing:.03em}.scroll-cue{gap:9px;max-width:115px}.mobile-consult a[data-consult]{font-size:16px}.section-marker{gap:12px}.section-marker p,.section-marker>span,.section-marker>span:last-child{font-size:12px}.section-marker>span:last-child{letter-spacing:.015em}.section-marker .marker-rule{min-width:10px}.philosophy{padding:61px var(--side) 59px}.philosophy-layout{grid-template-columns:1fr;gap:34px;margin-top:34px}.motion-enabled .craft-visual{position:relative;top:auto}.craft-visual img{aspect-ratio:1.16;transform:scale(calc(1 + var(--story-progress)*.02))}.craft-visual figcaption{font-size:12px;line-height:1.8}.chapter-track{display:none}.craft-chapter{min-height:0;padding:33px 0 32px}.craft-chapter:first-child{padding-top:4px}.craft-chapter:last-child{padding-bottom:0}.craft-chapter h2,.craft-chapter h3{font-size:35px;line-height:1.55;margin:19px 0 21px}.craft-chapter>p:not(.section-kicker){font-size:16px;line-height:2;margin-top:16px}.craft-chapter .text-consult{font-size:16px;gap:20px;margin-top:25px}.section-wrap{padding:61px var(--side) 65px}.section-heading{display:block;margin:35px 0 34px}.section-heading h2,.faq h2,.access h2{font-size:34px;line-height:1.55}.section-heading>p,.section-heading>div{margin-top:24px}.section-heading>p,.section-heading>div>p{font-size:16px;line-height:2}.repair-row{grid-template-columns:25px 1fr;gap:0 14px;padding:26px 0}.repair-row h3{font-size:23px;line-height:1.6}.repair-row>p{grid-column:2;font-size:16px;margin-top:17px;line-height:1.95}.row-keyword{font-size:12px;margin-top:13px}.row-number{font-size:12px}.section-note{font-size:12px}.consultation-note{font-size:12px!important;margin-top:18px}.steps{display:block;padding:0 0 0 27px;border-top:0;border-left:1px solid #ffffff32}.steps::before{width:2px;height:100%;left:-1px;top:0;transform:scaleY(var(--steps-progress));transform-origin:top}.steps li{padding:0 0 31px}.steps li:last-child{padding-bottom:3px}.step-number{font-size:34px}.steps h3{font-size:21px;margin:12px 0}.steps p{font-size:16px;line-height:2}.consultation-action{display:block;margin-top:36px}.consultation-action .consult-button{font-size:16px;max-width:none}.consultation-action>p{font-size:12px;margin-top:18px;line-height:1.9}.faq-layout{display:block;margin-top:34px}.faq-list{margin-top:31px}.faq-list summary{font-size:16px;padding:20px 0;gap:16px;line-height:1.9}.faq-answer{padding:0 12px 24px 0}.faq-answer p{font-size:16px;line-height:1.95}.access-layout{display:block;margin-top:36px}.access-heading>p:first-child{font-size:12px}.access-intro{font-size:16px;margin-top:20px}.access-information{padding-top:0;margin-top:33px}.access-information h3{font-size:23px;margin-bottom:17px}.access-information dl>div{grid-template-columns:91px 1fr;gap:14px;font-size:16px;padding:15px 0}.access-information dt{font-size:12px;padding-top:3px}.map-link{font-size:16px;line-height:1.7;gap:15px}.closing{padding:64px var(--side) 55px}.closing-content>p:first-child{font-size:12px}.closing h2{font-size:29px;line-height:1.6;margin:22px 0 25px;white-space:normal}.closing .consult-button{font-size:16px}.closing-note,.closing-image-note{font-size:12px;line-height:1.9}.closing-image-note{margin-top:28px}.prototype-footer{padding:32px var(--side) 149px}.prototype-footer>div>span{font-size:20px}.prototype-footer p{font-size:12px;max-width:none;line-height:1.9}.prototype-footer>div:last-child,.prototype-footer>div:last-child p{text-align:left}.prototype-footer>div:last-child{margin-top:23px}.back-top{font-size:13px}.dialog-top>span{font-size:12px}.dialog-top{gap:13px}.dialog-close{font-size:14px}.demo-note{font-size:12px}}
@media(max-width:370px){.hero-description{font-size:16px}.consult-button{font-size:16px;gap:12px}.hero-meta{max-width:155px}.hero-bottom{gap:13px}.location,.image-note{font-size:12px}.section-marker{gap:9px}.section-marker>span:last-child{max-width:115px;text-align:right;white-space:normal;line-height:1.6}.craft-chapter h2,.craft-chapter h3,.section-heading h2,.faq h2,.access h2{font-size:32px}.repair-row h3{font-size:21px}.access-information dl>div{grid-template-columns:80px 1fr;gap:10px}.closing h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.hero-stage{height:auto!important}.hero,.craft-visual{position:relative!important;top:auto!important}.hero-photo,.hero-shade{clip-path:none!important}.craft-visual img,.closing-image{transform:none!important}.steps::before,.repair-row::before{transform:scaleX(1)!important}.craft-chapter{min-height:auto}.faq-answer{animation:none!important}}
.craft-visual img{height:auto}
@media(min-width:761px){.craft-frame{max-height:max(220px,calc(100svh - 285px))}.craft-visual img{max-height:max(220px,calc(100svh - 285px));object-fit:cover}}

/* v4: familiar words, purposeful color, legible controls. */
:root{--red:#bb4938;--muted:#505c54;--line-green:#06c755;--teal:#2f7d76;--cream:#fff7e8;--sky:#e8f3f5;--paper:#fafaf6}
.hero-action [data-consult]>span:not(.button-arrow){white-space:nowrap}
body a[data-consult][href]>span:not(.button-arrow){color:inherit;font-size:16px;font-weight:600;line-height:1.55}
.brand{font-size:24px}.brand span{font-size:14px;letter-spacing:.04em}.site-header nav{gap:22px}.nav-link{font-size:16px}.site-header{padding-top:20px;padding-bottom:20px}.hero-content{max-width:990px;opacity:1}.eyebrow{font-size:16px;font-weight:600;letter-spacing:.055em}.eyebrow span{width:27px;height:4px;border-radius:2px}h1{font-size:clamp(43px,4.8vw,78px);line-height:1.48;letter-spacing:-.075em;font-weight:500}.hero-description{font-size:19px;font-weight:500;line-height:1.95;letter-spacing:.02em}.hero-action p{font-size:14px;color:#405147;max-width:430px}.hero-bottom .scroll-cue{font-size:16px;letter-spacing:.025em}.location{font-size:14px}.image-note,.craft-visual figcaption,.closing-image-note{font-size:12px;color:#525e56}.hero-meta{padding-right:175px}.hero-shade{background:linear-gradient(90deg,#f6f8f1f2 0%,#f6f8f1e3 28%,#f6f8f193 52%,#f6f8f10a 77%),linear-gradient(0deg,#f6f8f1bf,transparent 25%)}
body a[data-consult][href]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:12px 16px;background:#06c755;color:#06351d;border:1px solid #06c755;font-size:16px;font-weight:600;line-height:1.55;text-align:left;letter-spacing:0;box-shadow:none;transition:box-shadow .18s;transform:none;border-radius:4px}
body a[data-consult][href]:hover{background:#06c755;color:#06351d;box-shadow:0 0 0 3px #087d3c45;transform:none}
body a[data-consult][href] .line-icon{display:block;flex:0 0 40px;width:40px;height:40px;max-width:none;object-fit:contain;object-position:center;margin:0;filter:none;transform:none;opacity:1;animation:none;transition:none;box-shadow:none;border-radius:0}
body a[data-consult][href] .button-arrow{font-size:23px;font-weight:400;line-height:1;flex-shrink:0;color:#06351d}body a[data-consult][href]>span:not(.button-arrow){flex:1}.hero-action .consult-button,.closing .consult-button,.consultation-action .consult-button{min-width:360px;max-width:430px}.header-consult{margin:0;white-space:nowrap}.craft-chapter .text-consult{width:100%;max-width:405px}.section-marker,.section-marker p,.section-marker>span,.section-marker>span:first-child,.section-marker>span:last-child{font-size:14px;letter-spacing:.04em;color:#536158}.section-marker>span:first-child{font-size:16px;font-weight:700;color:var(--red)}.section-marker p{font-size:16px;font-weight:600;color:var(--ink)}.section-kicker,.craft-chapter .section-kicker{font-size:14px;font-weight:600}.craft-chapter:nth-child(2) .section-kicker{color:var(--teal)}.craft-chapter:nth-child(3) .section-kicker{color:#986523}.chapter-track{font-size:14px;gap:12px;color:#46564a}.craft-chapter>p:not(.section-kicker){font-size:18px;line-height:2}.craft-chapter h2,.craft-chapter h3{font-size:clamp(33px,3vw,49px);line-height:1.55}.section-heading>p,.section-heading>div>p{font-size:18px;line-height:1.95}.section-heading h2,.faq h2,.access h2{font-size:clamp(34px,3.1vw,51px)}.section-note{font-size:14px;color:#4e5f53}
.repair{background:linear-gradient(#f4f7f2,#fafaf6)}.repair-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.repair-row,.repair-row:last-child{display:flex;flex-direction:column;align-items:flex-start;position:relative;gap:0;padding:29px 25px 25px;background:var(--cream);border:1px solid #e0ccab;border-top:5px solid #d0a04d;border-radius:6px;overflow:hidden}.repair-row:nth-child(2){background:#ebf4ef;border-color:#bad5c9;border-top-color:var(--teal)}.repair-row:nth-child(3){background:var(--sky);border-color:#b9d6da;border-top-color:#588f9a}.repair-row::before{background:#bd8e3c;height:4px;top:-4px}.row-number{font-family:var(--mincho);font-size:32px;line-height:1.2;color:#886123;padding:0;margin-bottom:22px}.repair-row:nth-child(2) .row-number{color:#28665d}.repair-row:nth-child(3) .row-number{color:#326672}.row-keyword{font-size:14px;font-weight:500;color:#4d5b52;margin:0 0 11px;line-height:1.65}.repair-row h3{font-family:inherit;font-weight:600;font-size:23px;line-height:1.6;margin:0}.repair-row>p{font-size:16px;line-height:1.95;margin:18px 0 27px;flex:1}.repair-row .repair-consult{width:100%;margin-top:auto}.repair-row .repair-consult>span:not(.button-arrow){max-width:180px}.consultation{background:#2e4540}.consultation .section-marker,.consultation .section-marker>span:last-child,.consultation .section-marker p{color:#e1ece0}.consultation .section-marker>span:first-child{color:#f4c986}.consultation-note{font-size:14px!important;color:#e0eadd}.steps p{font-size:17px;color:#e2ece0}.steps h3{font-size:23px}.step-number{color:#c1d7be}.steps li.is-current .step-number{color:#ffdb99}.steps::before{background:#e2c486}.consultation-action>p{font-size:14px;color:#e4eddf;line-height:1.9}.consultation-action .consult-button{flex-shrink:0}.faq-intro>p{font-size:17px;line-height:1.95;margin:22px 0}.faq-consult{max-width:340px}.faq-list summary{font-size:18px;font-weight:500;min-height:72px}.faq-list summary>span{display:grid;place-items:center;width:36px;height:36px;background:#edf3e9;border:1px solid #bfcfbd;border-radius:50%;color:#426441;font-size:24px}.faq-answer p{font-size:17px;line-height:2}.faq-list details[open]{background:#f0f5ed}.faq-list details[open] summary,.faq-list details[open] .faq-answer{padding-left:16px;padding-right:16px}.access-heading>p:first-child{font-size:14px;font-weight:600}.access-intro{font-size:18px}.access-information{background:#f1f5e9;padding:28px 31px;border-left:4px solid #9cad73}.access-information dt{font-size:14px;color:#4f5c46}.access-information dd{font-size:17px}.access-information dl>div{grid-template-columns:115px 1fr}.map-link{background:#fff;border:1px solid #7f966c;min-height:62px;padding:15px 18px;font-size:16px;font-weight:600;color:#36542e;border-radius:4px;margin-top:22px}.map-link:hover{background:#e2edd9}.map-link>span:not(.sr-only){color:#36542e}.closing::before{background:#fff9e9e8}.closing-content>p:first-child{font-size:18px}.closing h2{font-size:clamp(30px,3.4vw,55px)}.closing-note{font-size:14px;color:#415443}.prototype-footer p{font-size:13px}.prototype-footer>div:first-child p{font-size:16px}.back-top{font-size:16px;border:1px solid #8e9d87;padding:10px 15px;background:#f3f5ee;border-radius:4px}.dialog-top>span{font-size:14px}.dialog-close{font-size:16px}.estimate-note{font-size:14px}.demo-note{font-size:12px}.dialog-top{align-items:flex-start}.dialog-top>span{padding-top:10px}.dialog-top form{flex-shrink:0}dialog li span{font-size:14px}
@media(max-width:1100px) and (min-width:761px){.site-header .nav-link:nth-child(3){display:none}.site-header nav{gap:18px}.brand{font-size:22px}.philosophy-layout{gap:38px}.craft-chapter h2,.craft-chapter h3{font-size:34px}.craft-chapter>p:not(.section-kicker){font-size:17px}.repair-list{gap:14px}.repair-row,.repair-row:last-child{padding:24px 17px 20px}.repair-row h3{font-size:21px}.repair-row .repair-consult{gap:8px;padding:12px}.repair-row .repair-consult .button-arrow{display:none}.section-heading>p,.section-heading>div>p{font-size:17px}.consultation-action{align-items:flex-start;flex-direction:column;gap:20px}.access-information{padding:23px 20px}.access-layout{gap:30px}.access-information dl>div{grid-template-columns:98px 1fr;gap:12px}}
@media(max-width:760px){.site-header{padding-top:20px;padding-bottom:20px}.brand{font-size:22px}.brand span{font-size:14px}.hero{padding-top:146px;padding-bottom:210px;min-height:max(100svh,860px)}h1{font-size:clamp(29px,7.4vw,52px);line-height:1.63;letter-spacing:-.08em}.eyebrow{font-size:14px;letter-spacing:0;gap:8px;margin-bottom:23px}.eyebrow span{width:18px;flex-shrink:0}.hero-description{font-size:17px;line-height:1.95;margin-top:22px;max-width:390px}.hero-action{margin-top:25px}.hero-action p{font-size:14px;max-width:330px;line-height:1.85}.hero-action .consult-button,.closing .consult-button,.consultation-action .consult-button{min-width:0;max-width:none;width:100%}.hero-bottom{bottom:164px;align-items:flex-start;gap:18px}.hero-meta{padding-right:0;max-width:175px;gap:8px}.hero-bottom .scroll-cue{font-size:16px;max-width:125px;letter-spacing:0;gap:9px}.location{font-size:14px}.image-note{font-size:12px}.philosophy{padding-top:57px}.craft-chapter h2,.craft-chapter h3{font-size:32px}.craft-chapter>p:not(.section-kicker){font-size:17px}.section-heading h2,.faq h2,.access h2{font-size:33px;line-height:1.6}.section-heading>p,.section-heading>div>p{font-size:17px}.section-marker p{font-size:16px}.section-marker>span,.section-marker>span:last-child{font-size:14px;letter-spacing:0;max-width:120px;line-height:1.5}.section-marker .marker-rule{min-width:7px}.section-marker>span:last-child{display:none}.section-note{font-size:14px;line-height:1.9}.repair-list{grid-template-columns:1fr;gap:20px}.repair-row,.repair-row:last-child{padding:23px 22px}.row-number{font-size:31px;margin-bottom:16px}.row-keyword{font-size:14px}.repair-row h3{font-size:24px}.repair-row>p{font-size:17px;margin:16px 0 24px}.repair-row .repair-consult{max-width:none}.consultation-note{font-size:14px!important}.steps p{font-size:17px}.steps h3{font-size:22px}.consultation-action>p{font-size:14px}.faq-intro>p{font-size:17px;margin:19px 0 23px}.faq-consult{width:100%;max-width:none}.faq-list{margin-top:32px}.faq-list summary{font-size:17px;line-height:1.8;padding:21px 0;gap:15px}.faq-list summary>span{width:33px;height:33px;min-width:33px;font-size:23px}.faq-answer p{font-size:17px}.access-intro{font-size:17px}.access-information{margin-top:29px;padding:22px 19px}.access-information h3{font-size:22px;line-height:1.7}.access-information dl>div{grid-template-columns:1fr;gap:3px;padding:13px 0}.access-information dt{font-size:14px}.access-information dd{font-size:17px}.map-link{font-size:16px;line-height:1.65;padding:14px;gap:10px}.closing h2{font-size:30px;line-height:1.65}.closing-content>p:first-child{font-size:17px}.closing-note{font-size:14px}.prototype-footer{padding-bottom:155px}.prototype-footer p{font-size:13px}.back-top{font-size:16px}.mobile-consult{padding:11px 18px calc(11px + env(safe-area-inset-bottom))}.mobile-consult a[data-consult][href]{min-height:66px;padding:11px 14px;gap:10px}.hero-meta .image-note{max-width:175px}.estimate-note{font-size:14px}.dialog-close{font-size:16px}.dialog-top>span{font-size:14px}.demo-note{font-size:12px}}
@media(max-width:370px){.brand{font-size:21px}.hero{padding-top:145px;min-height:max(100svh,880px)}h1{font-size:28px;letter-spacing:-.085em}.hero-description{font-size:16px}.eyebrow{font-size:14px}.hero-action p{font-size:14px}.hero-bottom{bottom:165px;gap:14px}.hero-meta{max-width:154px}.hero-bottom .scroll-cue{font-size:16px}.section-heading h2,.faq h2,.access h2,.craft-chapter h2,.craft-chapter h3{font-size:30px}.repair-row,.repair-row:last-child{padding:23px 18px}.repair-row h3{font-size:23px}.repair-row .repair-consult{gap:10px;padding:12px}.repair-row .repair-consult .button-arrow{display:none}.closing h2{font-size:28px}.mobile-consult a[data-consult][href]{gap:10px;padding:11px 12px}.mobile-consult a[data-consult][href] .button-arrow{font-size:20px}}

.site-header .brand-logo{display:block;width:clamp(280px,27vw,380px);flex:0 0 auto;line-height:1}
.site-header .brand-crop{display:block;position:relative;width:100%;aspect-ratio:1605 / 232;overflow:hidden;margin:0;letter-spacing:0}
/* Original PNG preserved. CSS view window: x85..1690, y326..558. */
.site-header .brand-crop img{display:block;position:absolute;width:110.5296%;height:auto;max-width:none;left:-5.29595%;top:-140.51724%;object-fit:contain;filter:none;opacity:1;transform:none;animation:none}
@media(max-width:760px){.site-header .brand-logo{width:min(100%,340px);flex:0 1 auto;min-width:0}.site-header .brand-crop{margin:0}}
@media(max-width:760px){.hero-description{margin-top:14px}.hero-action{margin-top:12px}.hero-action p{font-size:16px;line-height:1.85}}

/* v5: repair stories, a single-open accordion, and a place-first map layout. */
.repair{background:var(--paper)}.repair-list{display:block}.repair-list .repair-story{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:clamp(38px,6vw,100px);position:relative;padding:39px 0 77px;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;overflow:visible}.repair-story::before{height:1px;top:-1px;background:#9a5142}.repair-story .repair-photo{margin:0;overflow:hidden;aspect-ratio:1.48;background:#e6e8e1}.repair-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}.repair-story:nth-child(2){grid-template-columns:.83fr 1.17fr;padding-top:60px;padding-bottom:95px}.repair-story:nth-child(2) .repair-photo{grid-column:2;grid-row:1;aspect-ratio:1.23;max-width:570px;margin-left:auto}.repair-story:nth-child(2) .repair-copy{grid-column:1;grid-row:1;padding-left:24px}.repair-story:nth-child(3){grid-template-columns:1.08fr .92fr;padding-top:44px;padding-bottom:35px}.repair-story:nth-child(3) .repair-photo{aspect-ratio:1.55}.repair-copy{padding:10px 0;max-width:460px}.repair-caption{display:flex;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px solid #cbd0c6;margin-bottom:25px}.repair-story .row-number{font-family:var(--mincho);color:#a44935;font-size:45px;line-height:1;margin:0;padding:0}.repair-story .row-keyword{font-size:14px;font-weight:500;color:#4b5a50;line-height:1.7;margin:0}.repair-story h3{font-family:var(--mincho);font-weight:500;font-size:clamp(25px,2.4vw,37px);line-height:1.5;letter-spacing:-.025em}.repair-copy>p{font-size:17px;line-height:2;margin:25px 0 29px}.repair-story .repair-consult{width:max-content;max-width:100%;margin:0}.repair-story .repair-consult>span:not(.button-arrow){max-width:none}.repair-image-note{font-size:12px;line-height:1.8;color:#526055;margin-top:16px}.repair .section-note{margin-top:10px}
.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item h3{margin:0;font:inherit}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:78px;padding:23px 0;border:0;background:none;color:var(--ink);font-size:18px;font-weight:500;text-align:left;line-height:1.8}.faq-question:focus-visible{outline:3px solid var(--red);outline-offset:4px}.faq-question:hover{color:#864031}.faq-icon{position:relative;display:block;flex:0 0 36px;width:36px;height:36px;border:1px solid #b5c4af;border-radius:50%;background:#edf3e9;color:#405d3d;transition:transform .28s ease;transform-origin:50% 50%}.faq-icon::before,.faq-icon::after{content:"";position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%)}.faq-icon::before{width:14px;height:2px}.faq-icon::after{width:2px;height:14px}.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}.faq-list .faq-answer{padding:0;overflow:hidden;animation:none;box-sizing:border-box}.faq-answer[hidden]{display:none!important}.faq-answer-inner{padding:0 40px 27px 0}.faq-answer-inner p{font-size:17px;line-height:2;color:#4d5b51}.faq-item.is-open .faq-question{color:#814434}.faq-item.is-open{background:linear-gradient(90deg,#f1f5ed80,transparent)}
.access{padding-bottom:112px}.access-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(38px,6vw,90px);margin-top:60px}.access-heading>p:first-child{color:#9b4737;font-size:15px;letter-spacing:.07em}.access h2{font-size:clamp(34px,3.5vw,54px);line-height:1.52}.access-address{font-style:normal;font-size:20px;line-height:1.8;margin-top:29px;letter-spacing:.025em}.access-intro{font-size:16px;line-height:1.9;margin-top:13px}.access-strip{display:grid;grid-template-columns:1fr 1fr;gap:27px 30px;margin:32px 0 0;padding-top:25px;border-top:1px solid #c9cec4}.access-strip>div{display:block;padding:0}.access-strip dt{font-size:14px;line-height:1.7;color:#5f6c60;margin-bottom:7px}.access-strip dd{font-size:19px;font-weight:500;line-height:1.7;margin:0}.access-strip>div:first-child dd{font-size:26px;font-weight:400;letter-spacing:-.035em;white-space:nowrap}.access-strip dd>span{display:inline-block;padding:0 7px;color:#727c6e}.access-strip small{display:block;font-size:14px;font-weight:400;line-height:1.8;margin-top:3px}.access-map{padding-top:15px}.map-frame{position:relative;overflow:hidden;width:100%;height:590px;background:#e3e8df}.map-frame iframe{display:block;width:100%;height:100%;border:0;position:relative}.map-sub-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#405344;margin-top:13px;text-decoration:underline;text-underline-offset:5px}.map-sub-link:hover{color:var(--red)}
[data-reveal="title"]{transition:clip-path .72s cubic-bezier(.22,.68,.23,1),transform .72s cubic-bezier(.22,.68,.23,1);clip-path:inset(0 0 0 0)}[data-reveal="title"].reveal-pending{clip-path:inset(0 0 100% 0);transform:translateY(12px)}[data-reveal="rule"] .marker-rule{transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1)}[data-reveal="rule"].reveal-pending .marker-rule{transform:scaleX(.06)}[data-reveal="photo"]{transition:clip-path .95s cubic-bezier(.2,.7,.2,1);clip-path:inset(0 0 0 0)}[data-reveal="photo"].reveal-pending{clip-path:inset(0 15% 0 0)}[data-reveal="story"] .repair-copy{transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .65s ease}[data-reveal="story"].reveal-pending .repair-copy{transform:translateX(25px);opacity:.65}[data-reveal="story"].reveal-pending:nth-child(even) .repair-copy{transform:translateX(-25px)}[data-reveal="map"]{clip-path:inset(0);transition:clip-path .95s cubic-bezier(.2,.7,.2,1)}[data-reveal="map"].reveal-pending{clip-path:inset(9% 0 0 12%)}
@media(max-width:1100px) and (min-width:761px){.repair-list .repair-story{gap:33px}.repair-copy>p{font-size:16px}.repair-story:nth-child(2) .repair-copy{padding-left:0}.repair-caption{gap:15px}.repair-story .row-number{font-size:38px}.access-layout{gap:33px;grid-template-columns:.85fr 1.15fr}.access-strip{gap:23px 19px}.access-strip dd{font-size:17px}.access-strip>div:first-child dd{font-size:23px}.map-frame{height:610px}.access-address{font-size:18px}}
@media(max-width:760px){.repair-list .repair-story,.repair-list .repair-story:nth-child(2),.repair-list .repair-story:nth-child(3){display:flex;flex-direction:column;align-items:stretch;gap:27px;padding:30px 0 43px;margin:0;grid-template-columns:none}.repair-story .repair-photo,.repair-story:nth-child(2) .repair-photo,.repair-story:nth-child(3) .repair-photo{aspect-ratio:1.25;max-width:none;margin:0;width:100%}.repair-story:nth-child(2) .repair-photo{aspect-ratio:1.42}.repair-story:nth-child(3) .repair-photo{aspect-ratio:1.2}.repair-story .repair-copy,.repair-story:nth-child(2) .repair-copy{padding:0;max-width:none;width:100%}.repair-caption{gap:18px;padding-bottom:16px;margin-bottom:20px}.repair-story .row-number{font-size:35px}.repair-story .row-keyword{font-size:14px}.repair-story h3{font-size:28px;line-height:1.55}.repair-copy>p{font-size:17px;line-height:1.95;margin:17px 0 23px}.repair-story .repair-consult{width:max-content;max-width:100%}.repair-image-note{font-size:12px;line-height:1.9;margin-top:0}.repair .section-note{font-size:14px;margin-top:13px}.faq-question{font-size:17px;line-height:1.8;gap:16px;padding:21px 0;min-height:78px}.faq-icon{width:34px;height:34px;flex-basis:34px}.faq-answer-inner{padding:0 8px 25px 0}.faq-answer-inner p{font-size:17px;line-height:1.95}.access{padding-bottom:64px}.access-layout{display:block;margin-top:34px}.access-heading>p:first-child{font-size:14px}.access h2{font-size:34px}.access-address{font-size:19px;margin-top:22px}.access-intro{font-size:16px;margin-top:12px}.access-strip{gap:23px 18px;margin-top:25px;padding-top:24px}.access-strip dt{font-size:14px}.access-strip dd{font-size:17px}.access-strip>div:first-child dd{font-size:25px}.access-strip small{font-size:14px}.access-map{padding-top:0;margin-top:34px}.map-frame{height:400px}.map-sub-link{font-size:14px;margin-top:11px}[data-reveal="title"]{transition-duration:.5s}[data-reveal="photo"],[data-reveal="map"]{transition-duration:.65s}[data-reveal="story"].reveal-pending .repair-copy{transform:translateX(10px);opacity:.8}[data-reveal="story"].reveal-pending:nth-child(even) .repair-copy{transform:translateX(-10px)}}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal] .repair-copy,[data-reveal] .marker-rule{clip-path:none!important;transform:none!important;opacity:1!important;transition:none!important}.faq-icon{transition:none!important}}

/* v6: stronger editorial motion, visual consultation flow, cohesive access, and closing CTA. */
.motion-enabled .craft-visual{position:sticky;top:128px;align-self:start}
.philosophy{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(135deg,#fbfbf7 0%,#fbfbf7 58%,#eef3ec 100%)}
.philosophy::before{content:"";position:absolute;z-index:-1;width:58vw;height:58vw;right:-27vw;top:23%;border-radius:50%;background:#dce7df;opacity:calc(var(--story-progress)*.52);transform:scale(calc(.82 + var(--story-progress)*.18));transition:opacity .2s linear}
.philosophy-layout{align-items:start}
.chapter-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;padding:8px;background:#f3f3ed;border:1px solid #d9ddd4;font-size:14px}
.chapter-track button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:10px 12px;border:0;background:transparent;color:#46554c;font:inherit;font-size:16px;line-height:1.45;cursor:pointer;transition:background .32s ease,color .32s ease,transform .32s ease,box-shadow .32s ease}
.chapter-track button span{font-family:var(--mincho);font-size:18px;color:#9a4838;transition:color .32s ease}
.chapter-track button:hover{background:#e8ece4;transform:translateY(-2px)}
.chapter-track button:focus-visible{outline:3px solid #9a4838;outline-offset:2px}
.chapter-track button[aria-current="true"]{background:#9a4838;color:#fff;box-shadow:0 9px 22px #762b2028}
.chapter-track button[aria-current="true"] span{color:#ffe2bd}
.craft-chapter{min-height:min(53svh,470px);padding:30px 0 48px}
.craft-chapter:first-child{padding-top:8px}
.craft-chapter:last-child{padding-bottom:16px}
.craft-chapter .section-kicker{font-size:clamp(17px,1.35vw,21px);line-height:1.65;letter-spacing:.025em}
.craft-chapter h2,.craft-chapter h3{font-size:clamp(39px,3.45vw,57px);line-height:1.47;margin:15px 0 24px}
.craft-chapter>p:not(.section-kicker){max-width:500px;font-size:18px;line-height:2;margin-top:17px}

.consultation{position:relative;overflow:hidden;background:linear-gradient(128deg,#233a35 0%,#2e4942 57%,#1e332f 100%)}
.consultation::after{content:"";position:absolute;inset:auto -8vw -32vw auto;width:58vw;height:58vw;border:1px solid #e9c98538;border-radius:50%;pointer-events:none}
.consultation .section-wrap{position:relative;z-index:1}
.consultation-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:clamp(48px,8vw,128px);align-items:end}
.consultation-heading .consultation-lead{justify-self:start;max-width:590px;margin:0}
.consultation-heading .consultation-lead>p:first-child{font-size:clamp(22px,1.85vw,29px);line-height:1.85;color:#fff;letter-spacing:.01em}
.consultation-heading .consultation-note{font-size:16px!important;line-height:1.9;margin-top:22px;color:#d8e3dc}
.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,35px);padding:36px 0 0;border:0;margin-top:12px}
.steps::before{top:calc(36px + clamp(180px,15vw,235px));left:5%;width:90%;height:2px;background:#e5c783;transform:scaleX(var(--steps-progress));transform-origin:left;opacity:.8}
.steps li{position:relative;z-index:1;padding:0;min-width:0}
.steps li:nth-child(2){margin-top:58px}
.steps figure{position:relative;z-index:1;margin:0;aspect-ratio:1.36;overflow:hidden;background:#182a27;box-shadow:0 22px 45px #101e1b45}
.steps li:nth-child(2) figure{aspect-ratio:1.08}
.steps figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,#132824a8);pointer-events:none}
.steps figure img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.steps li:nth-child(1) figure img{object-position:49% 54%}
.steps li:nth-child(2) figure img{object-position:50% 50%}
.steps li:nth-child(3) figure img{object-position:50% 53%}
.step-copy{position:relative;z-index:2;width:calc(100% - 34px);margin:-34px 0 0 34px;padding:27px 26px 25px;background:#f4f2e9;color:#263a35;border-top:4px solid #dfbb70;box-shadow:0 14px 32px #111d1b25}
.step-number{position:absolute;right:20px;top:-47px;font-family:var(--mincho);font-size:64px;line-height:1;color:#f3cd82!important;text-shadow:0 2px 14px #0c1d1950}
.steps h3{font-family:var(--mincho);font-weight:500;font-size:clamp(24px,2vw,31px);line-height:1.55;margin:0 0 14px;color:#263a35}
.steps p{font-size:17px;line-height:1.9;color:#4a5a52;margin:0}
.steps li.is-current .step-copy{border-top-color:#ffd68a}
.consultation-action{margin-top:58px}

.access-layout{grid-template-columns:minmax(340px,.84fr) minmax(0,1.16fr);gap:clamp(42px,6vw,92px);margin-top:48px}
.access-brand-logo{width:min(100%,430px);margin:0 0 24px}
.access-brand-logo>span{display:block;position:relative;width:100%;aspect-ratio:1605/232;overflow:hidden}
.access-brand-logo img{display:block;position:absolute;width:110.5296%;height:auto;max-width:none;left:-5.29595%;top:-140.51724%;object-fit:contain;filter:none;opacity:1;transform:none}
.access h2{margin:0 0 15px;font-size:clamp(37px,3.5vw,56px);line-height:1.48}
.access-address{margin-top:0;font-size:22px}
.access-intro{margin-top:13px;font-size:17px}
.access-strip{margin-top:28px;padding-top:23px}
.access-map{padding-top:0}
.map-frame{height:620px}

.closing{min-height:680px;display:flex;align-items:center;text-align:left;padding:96px var(--side);background:#1e2d29;color:#fff}
.closing-image{inset:-13% 0;background-position:65% 59%;transform:translate3d(0,calc((var(--closing-progress) - .5)*-70px),0) scale(calc(1.06 - var(--closing-progress)*.035));filter:saturate(.8) contrast(1.05)}
.closing::before{background:linear-gradient(90deg,#182925f7 0%,#1c302ce5 42%,#182a25a3 62%,#1828221c 100%)}
.closing::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,#a13f3185 0%,transparent 32%);transform:scaleX(var(--closing-progress));transform-origin:left;opacity:.55;mix-blend-mode:screen}
.closing-content{width:min(100%,820px);margin:0;position:relative;z-index:2}
.closing-accent{position:absolute;z-index:1;right:clamp(24px,4vw,74px);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;color:#fff;font-size:clamp(12px,1vw,16px);letter-spacing:.3em;line-height:1.8;opacity:.58;white-space:nowrap}
.closing-eyebrow{display:flex;align-items:center;gap:16px;margin:0;font-size:18px!important;letter-spacing:.05em;color:#f3dfc5}
.closing-eyebrow span{display:block;width:54px;height:3px;background:#c95646}
.closing h2{font-size:clamp(52px,6.3vw,96px);line-height:1.26;letter-spacing:-.055em;margin:24px 0 26px;color:#fff;text-shadow:0 8px 35px #0b17135c}
.closing-lead{font-size:20px;line-height:1.9;color:#eaf0ec;margin:0 0 33px}
.closing-action{display:flex;align-items:center;gap:27px}
.closing .consult-button{margin:0;min-width:390px;box-shadow:0 20px 45px #071c1540}
.closing-note{font-size:15px;line-height:1.8;margin:0;color:#dfe9e3}

[data-reveal]{transition-delay:var(--reveal-delay,0ms)!important}
[data-reveal="title"]{clip-path:inset(0);transform:translateY(0);transition:clip-path .9s cubic-bezier(.16,.78,.18,1),transform .9s cubic-bezier(.16,.78,.18,1)}
[data-reveal="title"].reveal-pending{clip-path:inset(0 0 84% 0);transform:translateY(30px)}
[data-reveal="rule"] .marker-rule{transition:transform 1.15s cubic-bezier(.16,.78,.18,1)}
[data-reveal="rule"].reveal-pending .marker-rule{transform:scaleX(.01)}
[data-reveal="photo"]{clip-path:inset(0);transition:clip-path 1.1s cubic-bezier(.16,.78,.18,1)}
[data-reveal="photo"].reveal-pending{clip-path:inset(0 34% 0 0)}
[data-reveal="photo"].reveal-pending img{transform:scale(1.11);filter:saturate(.55)}
[data-reveal="story"] .repair-copy{transition:transform .95s cubic-bezier(.16,.78,.18,1),opacity .75s ease}
[data-reveal="story"].reveal-pending .repair-copy{transform:translateX(55px);opacity:.08}
[data-reveal="story"].reveal-pending:nth-child(even) .repair-copy{transform:translateX(-55px)}
[data-reveal="copy"]{transition:transform .75s cubic-bezier(.16,.78,.18,1),opacity .65s ease}
[data-reveal="copy"].reveal-pending{transform:translateY(28px);opacity:0}
[data-reveal="step"]{transition:transform .9s cubic-bezier(.16,.78,.18,1),opacity .75s ease}
[data-reveal="step"].reveal-pending{transform:translateY(64px);opacity:0}
[data-reveal="step"].reveal-pending figure img{transform:scale(1.12)}
[data-reveal="button"]{transition:transform .7s cubic-bezier(.16,.78,.18,1),opacity .58s ease,box-shadow .3s ease}
[data-reveal="button"].reveal-pending{transform:translateY(24px);opacity:0}
body a[data-consult][href][data-reveal="button"]{transform:translateY(0);opacity:1;transition:transform .7s cubic-bezier(.16,.78,.18,1),opacity .58s ease,box-shadow .3s ease}
body a[data-consult][href][data-reveal="button"].reveal-pending{transform:translateY(24px);opacity:0}
body a[data-consult][href][data-reveal="button"]:hover:not(.reveal-pending){transform:translateY(-2px)}
[data-reveal="brand"]{clip-path:inset(0);transition:clip-path .95s cubic-bezier(.16,.78,.18,1),transform .95s cubic-bezier(.16,.78,.18,1)}
[data-reveal="brand"].reveal-pending{clip-path:inset(0 84% 0 0);transform:translateX(-18px)}
[data-reveal="map"]{clip-path:inset(0);transition:clip-path 1.15s cubic-bezier(.16,.78,.18,1)}
[data-reveal="map"].reveal-pending{clip-path:inset(12% 0 0 26%)}
[data-reveal="closing"]{transition:transform 1s cubic-bezier(.16,.78,.18,1),opacity .75s ease}
[data-reveal="closing"].reveal-pending{transform:translateY(70px);opacity:0}

@media(max-width:1100px) and (min-width:761px){
  .chapter-track{grid-template-columns:1fr}.chapter-track button{justify-content:flex-start;font-size:16px;padding-inline:14px}.chapter-track button span{font-size:17px}.craft-chapter{min-height:440px}
  .consultation-heading{grid-template-columns:.9fr 1.1fr;gap:42px}.steps{gap:18px}.step-copy{width:calc(100% - 18px);margin-left:18px;padding:23px 18px}.step-number{font-size:52px}.steps p{font-size:16px}
  .access-layout{grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:40px}.map-frame{height:600px}
  .closing{min-height:620px}.closing h2{font-size:65px}.closing-accent{display:none}
}

@media(max-width:760px){
  .motion-enabled .craft-visual{position:relative;top:auto}
  .philosophy::before{width:110vw;height:110vw;right:-64vw;top:45%}
  .chapter-track{display:grid;grid-template-columns:1fr;margin:16px 0 5px;padding:6px;gap:5px}
  .chapter-track button{justify-content:flex-start;min-height:49px;padding:9px 14px;font-size:16px}
  .chapter-track button span{min-width:25px;font-size:17px}
  .craft-chapter{min-height:0;padding:31px 0 34px}
  .craft-chapter:first-child{padding-top:17px}
  .craft-chapter .section-kicker{font-size:17px;line-height:1.7}
  .craft-chapter h2,.craft-chapter h3{font-size:clamp(34px,9vw,43px);line-height:1.5;margin:12px 0 19px}
  .craft-chapter>p:not(.section-kicker){font-size:17px;line-height:1.95;margin-top:15px}
  .consultation-heading{display:block}
  .consultation-heading .consultation-lead{max-width:none;margin-top:28px}
  .consultation-heading .consultation-lead>p:first-child{font-size:21px;line-height:1.8}
  .consultation-heading .consultation-note{font-size:15px!important;margin-top:15px}
  .steps{display:block;margin-top:34px;padding:0 0 0 20px;border-left:1px solid #ffffff38}
  .steps::before{width:3px;height:100%;left:-2px;top:0;transform:scaleY(var(--steps-progress));transform-origin:top}
  .steps li,.steps li:nth-child(2){margin:0;padding:0 0 42px}
  .steps li:last-child{padding-bottom:0}
  .steps figure,.steps li:nth-child(2) figure{aspect-ratio:1.28}
  .step-copy{width:calc(100% - 14px);margin:-28px 0 0 14px;padding:24px 20px 22px}
  .step-number{font-size:50px;right:15px;top:-40px}
  .steps h3{font-size:26px;margin-bottom:12px}.steps p{font-size:16px;line-height:1.9}
  .consultation-action{margin-top:42px}
  .access-layout{display:block;margin-top:34px}
  .access-brand-logo{width:min(100%,385px);margin-bottom:19px}
  .access h2{font-size:37px;line-height:1.48;margin-bottom:13px}
  .access-address{font-size:20px;margin-top:0}
  .access-intro{font-size:17px}
  .access-map{margin-top:36px}.map-frame{height:420px}
  .closing{min-height:660px;padding:78px var(--side) 94px;align-items:flex-end}
  .closing-image{inset:-8% -36% -8% -22%;background-position:70% center}
  .closing::before{background:linear-gradient(180deg,#18292566 0%,#192b27f2 54%,#172722fc 100%)}
  .closing-accent{display:none}
  .closing-eyebrow{font-size:16px!important;line-height:1.7}.closing-eyebrow span{width:35px}
  .closing h2{font-size:clamp(43px,13.2vw,61px);line-height:1.3;margin:20px 0 22px}
  .closing-lead{font-size:18px;line-height:1.85;margin-bottom:27px}
  .closing-action{display:block}.closing .consult-button{min-width:0;width:100%}.closing-note{font-size:15px;margin-top:16px}
  [data-reveal="story"].reveal-pending .repair-copy,[data-reveal="story"].reveal-pending:nth-child(even) .repair-copy{transform:translateY(32px)}
  [data-reveal="photo"].reveal-pending{clip-path:inset(0 25% 0 0)}
  [data-reveal="map"].reveal-pending{clip-path:inset(10% 0 0 16%)}
}

.reduced-motion .craft-visual{position:relative;top:auto}
.reduced-motion [data-reveal],.reduced-motion [data-reveal] .repair-copy,.reduced-motion [data-reveal] .marker-rule,.reduced-motion [data-reveal] img{clip-path:none!important;transform:none!important;opacity:1!important;filter:none!important;transition:none!important}
.reduced-motion .steps::before,.reduced-motion .repair-row::before{transform:none!important}
@media(prefers-reduced-motion:reduce){.motion-enabled .craft-visual{position:relative;top:auto}.philosophy::before{transition:none}.steps::before,.repair-row::before{transform:none!important}[data-reveal] img{transform:none!important;filter:none!important}.closing-image{transform:none!important}}

/* v7: phone paths, editorial updates, delayed mobile actions, and favicon-ready branding. */
.header-phone{display:flex;flex-direction:column;justify-content:center;min-height:49px;padding:6px 15px;border-left:1px solid #bdc2b9;color:#314138;white-space:nowrap;line-height:1.2}
.header-phone span{font-size:11px;color:#687369;letter-spacing:.04em}
.header-phone strong{margin-top:5px;font-family:Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:.025em}
.header-phone:hover{color:var(--red)}
.access-phone-button{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:390px;min-height:66px;margin-top:22px;padding:12px 19px;border:1px solid #a74a3b;background:#fff;color:#733529;transition:background .25s ease,color .25s ease,transform .25s ease}
.access-phone-button span{font-size:14px;font-weight:600}
.access-phone-button strong{font-family:Arial,sans-serif;font-size:20px;letter-spacing:.02em}
.access-phone-button:hover{background:#a74a3b;color:#fff;transform:translateY(-2px)}

.updates{position:relative;padding-top:112px;padding-bottom:122px;overflow:hidden;background:linear-gradient(135deg,#fafaf6 0%,#fafaf6 72%,#f2e9df 100%)}
.updates::after{content:"";position:absolute;z-index:0;right:-11vw;bottom:-23vw;width:45vw;height:45vw;border:1px solid #a74a3b24;border-radius:50%;pointer-events:none}
.updates>*{position:relative;z-index:1}
.updates-heading{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,125px);align-items:end;margin-top:54px}
.updates-heading h2{font-family:var(--mincho);font-size:clamp(42px,4.2vw,68px);font-weight:400;line-height:1.45;letter-spacing:-.04em}
.updates-heading>p{max-width:510px;font-size:18px;line-height:2;color:#4d5a51}
.updates-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(350px,.78fr);gap:clamp(35px,5vw,78px);align-items:start;margin-top:65px}
.works-feature{position:relative;min-width:0}
.works-feature figure{position:relative;overflow:hidden;margin:0;width:88%;aspect-ratio:1.42;background:#e2e6de}
.works-feature figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,#1b2d284d)}
.works-feature figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.works-feature:hover figure img{transform:scale(1.025)}
.works-feature-copy{position:relative;width:72%;margin:-92px 0 0 auto;padding:34px 36px 31px;background:#293f39;color:#f4f4ee;box-shadow:0 24px 50px #14241f2d}
.update-label{font-size:13px;font-weight:700;letter-spacing:.1em;color:#c46550}
.works-feature-copy .update-label{color:#f0c578}
.works-feature-copy h3{margin:13px 0 19px;font-family:var(--mincho);font-size:clamp(27px,2.25vw,36px);font-weight:400;line-height:1.55}
.works-feature-copy>p:not(.update-label){font-size:15px;line-height:1.9;color:#dde6df}
.works-feature-copy a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:17px;border-top:1px solid #ffffff3b;font-size:15px;color:#fff}
.works-feature-copy a span{font-size:21px;color:#f2c576}
.news-list{padding:8px 0 0}
.news-list-head{padding:0 0 24px;border-bottom:3px solid #9f493a}
.news-list-head h3{margin-top:9px;font-family:var(--mincho);font-size:30px;font-weight:400;line-height:1.5}
.news-list>article{display:grid;grid-template-columns:96px 1fr;gap:23px;padding:26px 0;border-bottom:1px solid #c9cec5}
.news-list>article>p{margin:0}
.news-list>article>p span{display:inline-block;padding:6px 9px;background:#e8ede5;color:#4a5d50;font-size:12px;line-height:1.4}
.news-list h4{margin:0;font-size:18px;font-weight:600;line-height:1.65}
.news-list article div p{margin-top:9px;font-size:15px;line-height:1.85;color:#586359}
.news-future{margin-top:23px;padding-left:21px;border-left:3px solid #d5a65d;font-size:14px;line-height:1.8;color:#566158}

@media(max-width:1250px) and (min-width:761px){
  .site-header .brand-logo{width:clamp(260px,24vw,330px)}
  .site-header .nav-link:first-child{display:none}
  .header-phone{padding-inline:11px}
  .header-phone strong{font-size:14px}
}

@media(max-width:960px) and (min-width:761px){
  .site-header .nav-link{display:none!important}
  .updates-grid{grid-template-columns:1.05fr .95fr;gap:30px}
  .works-feature figure{width:94%}
  .works-feature-copy{width:82%;padding:28px 27px}
}

@media(max-width:760px){
  .header-phone{display:none}
  .updates{padding-top:67px;padding-bottom:75px}
  .updates-heading{display:block;margin-top:34px}
  .updates-heading h2{font-size:38px;line-height:1.5}
  .updates-heading>p{margin-top:22px;font-size:17px;line-height:1.95}
  .updates-grid{display:block;margin-top:42px}
  .works-feature figure{width:94%;aspect-ratio:1.24}
  .works-feature-copy{width:88%;margin:-48px 0 0 auto;padding:27px 24px 26px}
  .works-feature-copy h3{font-size:28px}
  .works-feature-copy>p:not(.update-label){font-size:16px}
  .news-list{margin-top:53px;padding:0}
  .news-list-head h3{font-size:28px}
  .news-list>article{grid-template-columns:1fr;gap:12px;padding:23px 0}
  .news-list h4{font-size:18px}
  .news-list article div p{font-size:16px}
  .access-phone-button{max-width:none;min-height:64px}
  .mobile-consult{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 12px));transition:opacity .32s ease,transform .38s cubic-bezier(.2,.72,.25,1),visibility 0s linear .38s}
  .mobile-consult.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
  .mobile-consult-inner{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(106px,.84fr);gap:8px;max-width:560px;margin:0 auto}
  .mobile-consult a[data-consult][href]{min-width:0;width:100%;padding-inline:11px}
  .mobile-consult a[data-consult][href] .line-icon{width:34px;height:34px;flex-basis:34px}
  .mobile-consult a[data-consult][href]>span:not(.button-arrow){font-size:15px;white-space:nowrap}
  .mobile-phone{display:flex;align-items:center;justify-content:center;gap:8px;min-height:66px;padding:10px 12px;background:#963e31;color:#fff;border:1px solid #963e31;font-size:15px;font-weight:700;white-space:nowrap}
  .phone-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff9c;border-radius:50%;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.03em}
}

@media(max-width:370px){
  .mobile-consult{padding-inline:10px}
  .mobile-consult-inner{grid-template-columns:1.08fr .92fr;gap:6px}
  .mobile-consult a[data-consult][href] .button-arrow{display:none}
  .mobile-phone{padding-inline:8px}
  .works-feature-copy{width:92%;padding-inline:20px}
}

@media(prefers-reduced-motion:reduce){
  .mobile-consult,.mobile-consult.is-visible{transition:none!important}
  .works-feature figure img,.access-phone-button{transition:none!important}
}

/* v7: high-contrast LINE labels and a small directional hover cue. */
body a[data-consult][href],body a[data-consult][href]>span:not(.button-arrow),body a[data-consult][href] .button-arrow{color:#fff}
body a[data-consult][href] .button-arrow{display:inline-block;transform-origin:center;transition:transform .28s cubic-bezier(.2,.72,.25,1)}
body a[data-consult][href]:hover .button-arrow,body a[data-consult][href]:focus-visible .button-arrow{transform:translate(4px,-4px) scale(1.12)}
body a[data-consult][href]:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #087d3c66}
@media(prefers-reduced-motion:reduce){body a[data-consult][href] .button-arrow{transition:none!important}body a[data-consult][href]:hover .button-arrow,body a[data-consult][href]:focus-visible .button-arrow{transform:none!important}}

/* v8: repair-method labels carry meaning, so keep them at regular reading size. */
.repair-story .row-keyword{font-size:clamp(17px,1.2vw,20px);font-weight:600;line-height:1.55;color:#34443a;letter-spacing:.01em}
@media(max-width:760px){.repair-story .row-keyword{font-size:17px;line-height:1.6}}

/* v9: approachable type hierarchy — Gothic for information and actions,
   Mincho only where history, craft, or decorative numerals need a quieter tone. */
:root{--gothic:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif}
body{font-family:var(--gothic)}
.hero-content{max-width:1030px}
h1{font-family:var(--gothic);font-size:clamp(44px,4.7vw,78px);font-weight:700;line-height:1.42;letter-spacing:-.055em}
.section-heading h2,
.repair-story h3,
.steps h3,
.updates-heading h2,
.works-feature-copy h3,
.news-list-head h3,
.faq h2,
.access h2,
.access-information h3,
dialog h2{font-family:var(--gothic);font-weight:700;letter-spacing:-.025em}
.repair-story h3,.steps h3,.works-feature-copy h3,.news-list-head h3,.access-information h3{font-weight:600}
.craft-chapter h2,
.craft-chapter h3,
.closing h2,
.row-number,
.repair-story .row-number,
.step-number,
.chapter-track button span{font-family:var(--mincho)}

@media(max-width:760px){
  h1{font-size:clamp(27px,7.2vw,42px);line-height:1.5;letter-spacing:-.055em}
}
@media(max-width:370px){h1{font-size:25px;letter-spacing:-.06em}}

/* v10: exactly twice the v9 decorative number size at each breakpoint.
   The space below each image keeps the enlarged numeral off the photograph. */
.steps figure{margin-bottom:94px}
.step-copy{margin-top:0;padding-top:44px}
.step-number{font-size:128px;top:-94px;pointer-events:none}
@media(max-width:1100px) and (min-width:761px){.step-number{font-size:104px;top:-94px}.step-copy{padding-top:24px}}
@media(max-width:760px){.steps figure{margin-bottom:80px}.step-copy{margin-top:0;padding-top:30px}.step-number{font-size:100px;top:-80px}}
.news-list--latest-five>.news-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start;padding:24px 0}
.news-thumb{margin:0;width:100%;aspect-ratio:1.2;overflow:hidden;background:#e4e9e0}
.news-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.news-copy{min-width:0}.news-category{display:inline-block;font-size:14px;font-weight:600;line-height:1.5;color:#52684f;margin-bottom:8px}
.news-list--latest-five h4{font-size:18px;line-height:1.7}.news-list--latest-five .news-copy p{font-size:16px;line-height:1.85;margin-top:8px;color:#4b5a50}
@media(max-width:760px){.news-list--latest-five>.news-item{grid-template-columns:76px minmax(0,1fr);gap:15px;padding:23px 0}.news-list--latest-five h4{font-size:17px}.news-thumb{aspect-ratio:1}.news-category{font-size:14px}}
.header-phone{padding:9px 13px;border:1px solid #a6b0a1;border-radius:4px;background:#f3f5ee;min-height:59px;color:#314138}
.header-phone span{font-size:13px;color:#50634e}.header-phone strong{font-size:16px}
[data-phone-link][aria-disabled="true"],[data-phone-link][aria-disabled="true"]:hover,[data-phone-link][aria-disabled="true"]:active{cursor:default;transform:none;transition:none;box-shadow:none}
.header-phone[aria-disabled="true"]:hover{background:#f3f5ee;color:#314138}
.access-phone-button[aria-disabled="true"]:hover{background:#fff;color:#733529}
.header-phone[aria-disabled="false"]:hover{background:#e3eadc;color:#314138}
.prototype-footer{align-items:center}.prototype-footer .copyright{font-size:13px;line-height:1.8;color:#50604f;text-align:right;margin:0;max-width:430px}
.floating-top{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;justify-content:center;gap:3px;width:58px;height:64px;min-height:0;margin:0;padding:9px;border:1px solid #a2aea0;background:#f8faf3f5;color:#344935;box-shadow:0 4px 18px #19342312;text-decoration:none;opacity:0;transform:translateY(12px);visibility:hidden;pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s}
.floating-top>span:first-child{font-size:24px;line-height:1}.floating-top>span:last-child{font-size:12px;line-height:1.3;letter-spacing:.08em}
.floating-top.is-visible{opacity:1;transform:none;visibility:visible;pointer-events:auto}
@media(max-width:760px){.prototype-footer .copyright{text-align:left;margin-top:25px;font-size:12px}.floating-top{right:16px;bottom:calc(110px + env(safe-area-inset-bottom));width:52px;height:58px}}
@media(prefers-reduced-motion:reduce){.floating-top{transition:none!important;transform:none!important}}

/* v11: compact copyright; mobile fixed-control clearance lives outside footer. */
.prototype-footer{display:block;padding:24px var(--side);text-align:center}
.prototype-footer .copyright{font-size:13px;line-height:1.8;text-align:center;max-width:none;margin:0}
@media(max-width:760px){
  body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .prototype-footer{padding:24px var(--side)}
  .prototype-footer .copyright{font-size:12px;text-align:center;max-width:calc(100% - 120px);margin:0 auto}
}

/* v13: two intentional title lines; mobile contrast independent of photo tones. */
.closing-title-line{display:block;white-space:nowrap}
@media(max-width:760px){
  .hero{background:#132622;color:#f9fbf7}
  .hero-shade{background:linear-gradient(110deg,rgba(12,26,24,.88),rgba(12,26,24,.80))}
  .hero .light-sweep{display:block;background:linear-gradient(105deg,transparent 38%,rgba(54,24,14,.08) 44%,rgba(80,36,18,.20) 49%,rgba(54,24,14,.08) 54%,transparent 60%)}
  .hero h1{font-size:clamp(25.5px,7.8vw,48px);line-height:1.5;letter-spacing:-.065em;color:#fff}
  .hero .title-line{display:block;white-space:nowrap}
  .hero .eyebrow,.hero .hero-description,.hero .hero-action p,.hero .location,.hero .image-note,.hero .scroll-cue{color:#f9fbf7}
  .hero .eyebrow span{background:#ef9a87}
  .hero .scroll-line{background:#d9e5df}
  .closing::before{background:linear-gradient(180deg,rgba(12,26,24,.84),rgba(12,26,24,.94))}
  .closing::after{display:none}
  .closing h2{font-size:clamp(32px,9.8vw,58px);line-height:1.35;letter-spacing:-.04em;color:#fff}
  .closing .closing-eyebrow,.closing .closing-lead,.closing .closing-note,.closing .closing-image-note{color:#f9fbf7}
  .closing-eyebrow span{background:#ef9a87}
}
@media(max-width:370px){.hero{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.hero .light-sweep{display:none}}

/* v14: remove the unused hero meta label and keep the works heading in two balanced lines. */
.works-title-line{display:block;white-space:nowrap}
@media(max-width:1100px) and (min-width:761px){.works-feature-copy h3{font-size:22px}}
@media(max-width:760px){.works-feature-copy h3{font-size:clamp(21px,6.4vw,25px);line-height:1.55}}

/* v15: a fixed, non-interactive brand layer that drifts behind the scrolling page. */
.brand-marquee{position:fixed;z-index:0;top:54%;left:0;width:100%;overflow:hidden;padding:12px 0 18px;pointer-events:none;user-select:none;opacity:0;visibility:hidden;transform:translateY(-50%);transition:opacity .7s ease,visibility 0s linear .7s;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}
.brand-marquee.is-visible{opacity:1;visibility:visible;transition-delay:0s}
.brand-marquee-track{display:flex;width:max-content;will-change:transform;animation:brand-marquee-left 46s linear infinite}
.brand-marquee-group{display:flex;flex:none;align-items:center;min-width:100vw;gap:clamp(120px,12vw,240px);padding-right:clamp(120px,12vw,240px)}
.brand-marquee-group span{display:block;white-space:nowrap;font-family:var(--gothic);font-size:clamp(70px,8.7vw,144px);font-weight:700;line-height:.92;letter-spacing:-.055em;color:rgba(41,63,57,.035)}
@keyframes brand-marquee-left{to{transform:translateX(-50%)}}
@media(max-width:760px){.brand-marquee{top:48%;padding:10px 0 14px}.brand-marquee-track{animation-duration:36s}.brand-marquee-group{gap:84px;padding-right:84px}.brand-marquee-group span{font-size:clamp(54px,17vw,82px);color:rgba(41,63,57,.04)}}
@media(prefers-reduced-motion:reduce){.brand-marquee-track{animation:none;transform:none}}

/* v17: keep the marquee at the back; opaque sections and UI surfaces cover it. */
main{position:relative;isolation:isolate}
main>.hero-stage,main>section{position:relative;z-index:1}
.repair{background:transparent}
.faq-list,.access-strip,.access-brand-logo{position:relative;background:var(--paper)}
.faq-item.is-open{background:#f0f5ed}
.repair-photo,.map-frame,.access-strip,.access-brand-logo,.works-feature-copy,.step-copy,body a[data-consult][href],.access-phone-button,.map-link,.map-sub-link,.mobile-phone{position:relative;z-index:2;opacity:1}
.repair-photo img,.map-frame iframe,.access-brand-logo img{opacity:1}
[data-reveal="photo"],[data-reveal="photo"].reveal-pending,[data-reveal="map"],[data-reveal="map"].reveal-pending,[data-reveal="brand"],[data-reveal="brand"].reveal-pending{clip-path:inset(0);opacity:1}
[data-reveal="story"] .repair-copy,[data-reveal="story"].reveal-pending .repair-copy{opacity:1}
body a[data-consult][href][data-reveal="button"],body a[data-consult][href][data-reveal="button"].reveal-pending{opacity:1}

/* v18: let the rear marquee breathe through the three requested section surfaces. */
.philosophy{background:linear-gradient(135deg,rgba(251,251,247,.9) 0%,rgba(251,251,247,.9) 58%,rgba(238,243,236,.9) 100%)}
.consultation{background:linear-gradient(128deg,rgba(35,58,53,.94) 0%,rgba(46,73,66,.94) 57%,rgba(30,51,47,.94) 100%)}
.updates{background:linear-gradient(135deg,rgba(250,250,246,.9) 0%,rgba(250,250,246,.9) 72%,rgba(242,233,223,.9) 100%)}
.brand-marquee.is-over-soft-light .brand-marquee-group span{color:rgba(41,63,57,.17)}
.brand-marquee.is-over-dark .brand-marquee-group span{color:rgba(3,18,15,.50)}
.works-feature-copy[data-reveal="copy"],.works-feature-copy[data-reveal="copy"].reveal-pending,.steps li[data-reveal="step"],.steps li[data-reveal="step"].reveal-pending,.news-list>article[data-reveal="step"],.news-list>article[data-reveal="step"].reveal-pending{opacity:1}
@media(max-width:760px){.brand-marquee.is-over-soft-light .brand-marquee-group span{color:rgba(41,63,57,.18)}.brand-marquee.is-over-dark .brand-marquee-group span{color:rgba(3,18,15,.54)}}

/* v19: tint background planes only; foreground photos, UI and cards stay opaque. */
.repair{background:linear-gradient(rgba(244,247,242,.9),rgba(250,250,246,.9))}
.faq,.access{background:rgba(245,245,241,.9)}
.brand-marquee.is-over-light .brand-marquee-group span{color:rgba(41,63,57,.16)}
.faq-item{background:var(--paper);opacity:1}
.faq-item.is-open{background:#f0f5ed}
.map-sub-link{background:var(--paper);opacity:1}
.craft-visual img,.steps figure,.news-thumb,.works-feature figure{opacity:1}
@media(max-width:760px){.brand-marquee.is-over-light .brand-marquee-group span{color:rgba(41,63,57,.17)}}

/* LINE相談ボタンを button から a に変更したため、button と同じ「内容に合わせた幅」を既定にする（詳細度0。幅指定のある既存ルールが優先される） */
:where(a[data-consult]){width:fit-content}

/* 相談ダイアログ：公式LINEのQRとリンク（PCのみ表示。スマホはボタンから公式LINEを直接開く） */
.dialog-line{display:flex;align-items:center;gap:24px;margin:0 0 24px;padding:20px;background:#fff;border:1px solid var(--line)}
.dialog-line-qr{display:block;flex:0 0 165px;width:165px;height:165px}
.dialog-line-copy{flex:1;min-width:0}
dialog .dialog-line-copy p{font-size:15px;line-height:1.8;margin:0 0 14px}
.dialog-line-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 14px;background:#06c755;color:#fff;border:1px solid #06c755;border-radius:4px;font-size:16px;font-weight:600;line-height:1.4}
.dialog-line-link:hover{box-shadow:0 0 0 3px #087d3c45}
.dialog-line-link:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.dialog-line-link .line-icon{display:block;flex:0 0 32px;width:32px;height:32px}
.dialog-line-link>span:not(.button-arrow){flex:1}
.dialog-line-link .button-arrow{font-size:21px;font-weight:400;line-height:1}
@media (max-width:560px){.dialog-line{flex-direction:column;align-items:stretch;text-align:left}.dialog-line-qr{margin:0 auto}}
