.renovation-page { --reform-ink:#173943; --reform-muted:#60737a; }
.renovation-page .header { background:rgba(255,255,255,.98); color:var(--reform-ink); }
.renovation-page .brand img { filter:none; }
.renovation-page .container { width:min(1140px,88%); }
.renovation-breadcrumb { padding-top:119px; display:flex; gap:12px; font-size:12px; color:var(--reform-muted); flex-wrap:wrap; }
.renovation-breadcrumb a:hover { color:var(--blue); text-decoration:underline; }
.renovation-hero { display:grid; grid-template-columns:.82fr 1.3fr; gap:54px; align-items:center; padding-top:45px; padding-bottom:75px; }
.renovation-kicker { color:var(--blue); font:700 12px/1.5 Arial,sans-serif; letter-spacing:.15em; margin-bottom:20px; }
.renovation-hero h1 { font-family:'Yu Mincho','Hiragino Mincho ProN',serif; font-weight:500; font-size:clamp(34px,3.5vw,52px); line-height:1.65; letter-spacing:.065em; }
.renovation-intro { margin-top:25px; font-size:16px; line-height:2; }
.renovation-area { font-size:12px; color:var(--reform-muted); margin-top:14px; }
.renovation-text-link { display:inline-flex; align-items:center; gap:14px; font-size:13px; font-weight:700; color:var(--dark); }
.renovation-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.renovation-hero-photos { position:relative; padding-bottom:100px; }
.renovation-hero figure { margin:0; }
.renovation-shop-photo { aspect-ratio:1.65; overflow:hidden; border-radius:16px; }
.renovation-shop-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; transform:scale(1.12); transform-origin:30% 38%; }
.renovation-shop-inset { position:absolute; right:-18px; bottom:0; width:34%; background:white; padding:7px; border-radius:12px; }
.renovation-shop-inset img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:7px; }
.renovation-affiliation { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:25px 0; display:flex; align-items:center; gap:30px; }
.renovation-affiliation img { width:195px; height:auto; }
.renovation-affiliation p { font-size:14px; font-weight:700; }
.renovation-affiliation span { font-size:12px; color:var(--reform-muted); }
.renovation-affiliation > a { margin-left:auto; flex-shrink:0; }
.renovation-section { padding:90px 0; }
.renovation-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:35px; }
.renovation-section-head .renovation-kicker,.renovation-awards .renovation-kicker { margin-bottom:12px; }
.renovation-page h2 { font-size:clamp(24px,2.6vw,34px); font-weight:500; letter-spacing:.055em; line-height:1.6; }
.renovation-section-head > p { font-size:13px; color:var(--reform-muted); padding-bottom:4px; }
.renovation-case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 34px; }
.renovation-card { display:block; }
.renovation-card-photo { position:relative; overflow:hidden; border-radius:10px; background:#edf3f3; }
.renovation-card-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .4s ease; }
.renovation-card:hover .renovation-card-photo img { transform:scale(1.035); }
.renovation-card-arrow { position:absolute; bottom:16px; right:16px; min-height:40px; padding:9px 15px; display:inline-flex; align-items:center; gap:10px; background:white; border-radius:24px; color:var(--dark); font-size:12px; font-weight:700; line-height:1.5; box-shadow:0 2px 8px #1739430d; }
.renovation-card-arrow svg { width:17px; height:17px; }
.renovation-card-body { padding:19px 2px 0; }
.renovation-card-location { color:var(--reform-muted); font-size:12px; margin-bottom:6px; }
.renovation-card h3 { font-size:19px; font-weight:700; line-height:1.6; }
.renovation-card-kind { color:var(--reform-muted); font-size:13px; margin-top:10px; }
.renovation-card-price { margin-top:8px; display:flex; align-items:center; gap:15px; font-size:17px; font-weight:700; }
.renovation-card-price span { font-size:11px; font-weight:400; color:var(--reform-muted); }
.renovation-more-row { text-align:center; margin-top:38px; }
.renovation-button { display:inline-flex; align-items:center; justify-content:center; gap:25px; padding:17px 28px; background:var(--blue); color:#fff; border:1px solid var(--blue); border-radius:40px; font-size:14px; font-weight:700; line-height:1.6; min-height:54px; }
.renovation-button:hover { background:var(--dark); border-color:var(--dark); }
.renovation-button.outline { background:white; color:var(--dark); min-width:245px; }
#more-cases { border-radius:0; }
.renovation-button.outline:hover { background:var(--light); }
.case-note { font-size:11px; line-height:1.9; color:var(--reform-muted); margin-top:24px; }
.renovation-all-link { margin-top:12px; }
.renovation-awards { background:#edf7fa; padding:52px 0; }
.renovation-awards-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:70px; align-items:center; }
.renovation-awards h2 + p { color:var(--reform-muted); font-size:12px; margin-top:16px; }
.renovation-award-list a { display:grid; grid-template-columns:80px 1fr 18px; gap:20px; align-items:center; padding:20px 0; border-bottom:1px solid #cfdee4; }
.renovation-award-list a:first-child { padding-top:0; }
.renovation-award-list a:last-child { padding-bottom:0; border:0; }
.award-year { font:400 32px/1 Arial,sans-serif; color:var(--blue); }
.renovation-award-list p { font-size:11px; }
.renovation-award-list h3 { font-size:20px; }
.renovation-award-list div > span { font-size:11px; color:var(--reform-muted); }
.renovation-award-list a:hover h3 { color:var(--blue); }
.renovation-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 36px; }
.renovation-services article { border-top:1px solid var(--line); padding:26px 0; }
.menu-number { font:400 13px Arial,sans-serif; color:var(--blue); }
.renovation-services h3 { font-size:19px; margin-top:10px; }
.renovation-services p { font-size:12px; color:var(--reform-muted); margin-top:8px; }
.renovation-flow { background:#f6f9f9; padding:66px 0 80px; }
.renovation-flow ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.renovation-flow li { border-top:1px solid #bfdce4; padding-top:20px; }
.renovation-flow li > span { font:400 30px/1 Arial,sans-serif; color:var(--blue); }
.renovation-flow h3 { font-size:17px; margin-top:18px; }
.renovation-flow li p { margin-top:12px; font-size:13px; color:var(--reform-muted); }
.renovation-page main > .contact-simple { padding:62px 0; background:#19364f; color:white; }
.renovation-page .footer { margin-top:0; padding-bottom:25px; }
.renovation-dialog { width:min(960px,calc(100% - 48px)); max-height:90dvh; padding:0; border:0; border-radius:14px; color:var(--reform-ink); background:white; overscroll-behavior:contain; }
.renovation-dialog::backdrop { background:rgba(14,34,43,.65); backdrop-filter:blur(4px); }
.dialog-toolbar { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); padding:10px 26px; }
.dialog-toolbar > span { font:700 11px/1.5 Arial,sans-serif; letter-spacing:.12em; color:var(--blue); }
.dialog-close { display:flex; gap:12px; align-items:center; border:0; background:transparent; color:var(--reform-ink); font-size:13px; min-height:44px; padding:5px 10px; }
.dialog-close span { font-size:28px; font-weight:400; line-height:1; }
.case-detail { padding:34px 48px 48px; }
.case-detail .renovation-kicker { margin-bottom:12px; }
.case-detail .renovation-kicker span { display:inline-block; margin-left:20px; color:var(--reform-muted); font-family:Zen,sans-serif; font-weight:400; letter-spacing:.02em; }
.case-detail h1,.case-detail h2 { font-size:clamp(23px,2.6vw,34px); line-height:1.65; font-weight:500; }
.case-detail-hero { margin-top:28px; }
.case-detail-hero img { width:100%; height:auto; max-height:530px; object-fit:contain; background:#f5f7f7; border-radius:6px; }
.case-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; margin:28px 0 0; }
.case-facts > div { display:grid; grid-template-columns:115px 1fr; gap:10px; padding:13px 0; border-bottom:1px solid var(--line); font-size:13px; }
.case-facts dt { color:var(--reform-muted); font-size:11px; }
.case-facts dd { margin:0; }
.case-detail .case-note { margin-top:12px; }
.case-description { margin-top:34px; }
.case-detail h3 { font-size:19px; margin-bottom:15px; }
.case-description p { font-size:14px; line-height:2; margin-top:10px; }
.before-after { margin-top:34px; }
.before-after-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.before-after figure { margin:0; min-width:0; }
.before-after img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#f3f5f5; border-radius:6px; }
.before-after figcaption { font-size:12px; padding-top:10px; }
.before-after figcaption span { color:var(--blue); font:700 11px Arial,sans-serif; letter-spacing:.06em; margin-right:12px; }
.case-detail-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; margin:32px 0; }
.case-detail-links a { font-size:12px; }
.standalone-case { padding:45px 0 75px; }
.standalone-case .case-detail { padding:0; max-width:920px; margin:auto; }
.renovation-interview-jump { margin-top:16px; text-decoration:underline; text-underline-offset:4px; }
.renovation-case-gallery { margin-top:44px; }
.renovation-case-gallery > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; }
.renovation-case-gallery figure { margin:0; }
.renovation-case-gallery img { width:100%; height:300px; object-fit:contain; background:#f5f7f7; }
.renovation-case-gallery figcaption { margin-top:10px; color:var(--reform-muted); font-size:12px; line-height:1.8; }
.renovation-page .case-interview { --accent:var(--blue); --muted:var(--reform-muted); --sans:Zen,sans-serif; padding:65px 0 30px; margin-top:60px; border-top:1px solid var(--line); }
.renovation-page .case-interview-inner { width:100%; }
@media (max-width:700px) {
 .renovation-case-gallery > div { grid-template-columns:1fr; gap:25px; }
 .renovation-case-gallery img { height:auto; max-height:400px; }
 .renovation-page .case-interview { padding-top:45px; margin-top:45px; }
}
.back-to-cases { margin-top:35px; }
@media(max-width:1000px){.renovation-hero{gap:28px}.renovation-hero h1{font-size:36px}.renovation-affiliation{gap:20px}.renovation-affiliation img{width:165px}.renovation-awards-layout{gap:35px}.renovation-page .contact-simple-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:700px){
 .renovation-page{padding-bottom:62px}.renovation-page .container{width:calc(100% - 40px)}.renovation-breadcrumb{padding-top:96px;font-size:10px;gap:8px}
 .renovation-hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px;gap:30px}.renovation-hero h1{font-size:clamp(24px,7.4vw,30px);line-height:1.6;letter-spacing:.03em}.desktop-break{display:none}.renovation-kicker{margin-bottom:12px}.renovation-intro{font-size:14px;margin-top:18px}.renovation-area{font-size:11px;margin-top:10px}.renovation-hero-copy>a{margin-top:17px}
 .renovation-hero-photos{padding-bottom:60px}.renovation-shop-photo{border-radius:10px;aspect-ratio:1.55}.renovation-shop-inset{right:-5px;width:36%;padding:5px}.renovation-card-arrow{right:12px;bottom:12px;min-height:36px;padding:8px 12px;font-size:11px;gap:8px}
 .renovation-affiliation{display:grid;grid-template-columns:1fr auto;gap:15px;padding:22px 0}.renovation-affiliation img{width:185px;grid-column:1/-1}.renovation-affiliation p{font-size:12px}.renovation-affiliation span{display:block;font-size:11px;max-width:240px}.renovation-affiliation>a{font-size:11px;align-self:start}
 .renovation-section{padding:55px 0}.renovation-section-head{display:block;margin-bottom:25px}.renovation-section-head>p{margin-top:12px;font-size:12px}.renovation-page h2{font-size:25px;letter-spacing:.02em}.renovation-case-grid{grid-template-columns:1fr;gap:35px}.renovation-card h3{font-size:18px}.renovation-card-body{padding-top:15px}.renovation-card-price{font-size:16px}.renovation-card-more{margin-top:9px}.renovation-more-row{margin-top:30px}.case-note{font-size:10px}
 .renovation-awards{padding:38px 0}.renovation-awards-layout{grid-template-columns:1fr;gap:28px}.renovation-awards h2+p{margin-top:12px}.renovation-award-list a{grid-template-columns:65px 1fr 14px;gap:17px}.award-year{font-size:28px}
 .renovation-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px}.renovation-services h3{font-size:16px}.renovation-services p{font-size:11px}.renovation-services article{padding:20px 0}
 .renovation-flow{padding:44px 0 50px}.renovation-flow ol{grid-template-columns:1fr;gap:24px}.renovation-flow li{display:grid;grid-template-columns:42px 1fr;gap:8px 14px;padding-top:19px}.renovation-flow li>span{grid-row:1/3;font-size:24px;padding-top:4px}.renovation-flow h3{margin:0;font-size:17px}.renovation-flow li p{grid-column:2;margin:0;font-size:12px}
 .renovation-page main>.contact-simple{padding:40px 0}.renovation-contact-note{font-size:11px}.renovation-page .contact-simple-buttons{grid-template-columns:1fr;gap:18px}.renovation-page .contact-simple .contact-action{font-size:14px}.renovation-page .contact-simple-buttons p{font-size:12px}.renovation-page .contact-simple-phone a{font-size:25px}
 .renovation-dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:10px}.dialog-toolbar{padding:7px 14px}.case-detail{padding:22px 20px 30px}.case-detail .renovation-kicker{font-size:10px}.case-detail .renovation-kicker span{margin-left:10px}.case-detail h1,.case-detail h2{font-size:23px}.case-detail-hero{margin-top:22px}.case-facts{grid-template-columns:1fr;margin-top:18px}.case-description p{font-size:13px}.before-after-grid{grid-template-columns:1fr;gap:23px}.case-detail .renovation-button{width:100%;font-size:12px;gap:10px;padding:15px 12px}.case-detail-links{margin:24px 0}.standalone-case{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){.renovation-card-photo img{transition:none}.renovation-page{scroll-behavior:auto}}

.renovation-proof { grid-column:1 / -1; min-width:0; }
.renovation-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.renovation-facts > div { border-top:1px solid var(--line); padding:16px 12px; text-align:center; min-width:0; }
.renovation-facts > div + div { border-left:1px solid var(--line); }
.renovation-facts > div > span { display:block; align-content:center; min-height:42px; font-size:14px; line-height:1.5; }
.renovation-facts strong { display:flex; align-items:baseline; justify-content:center; gap:4px; font-size:60px; line-height:1.05; margin-top:6px; font-weight:500; color:var(--blue); }
.renovation-facts small { font-size:14px; line-height:1.5; white-space:nowrap; }
@media(max-width:600px) {
 .renovation-facts > div { padding:14px 4px; }
 .renovation-facts > div > span { font-size:12px; min-height:36px; }
 .renovation-facts strong { font-size:clamp(28px,8vw,46px); gap:2px; }
 .renovation-facts small { font-size:11px; }
 .renovation-facts .fact-marker { font-size:9px; }
 .renovation-proof .facts-notes { font-size:10px; }
}

.renovation-proof .facts-notes a { text-decoration:underline; text-underline-offset:3px; }
.renovation-proof .facts-notes a:hover { color:var(--blue); }

/* Slow fade with a small lift; avoid abrupt movement while reading. */
.renovation-page .reform-reveal { opacity:0; translate:0 16px; transition:opacity 1.5s cubic-bezier(.22,.55,.3,1) var(--reform-delay,0ms),translate 1.8s cubic-bezier(.22,.55,.3,1) var(--reform-delay,0ms); }
.renovation-page .reform-reveal.reform-visible { opacity:1; translate:0 0; }
.renovation-card-photo img { transition:transform .9s cubic-bezier(.22,.55,.3,1); }
@media(prefers-reduced-motion:reduce) {
 .renovation-page .reform-reveal { opacity:1; translate:none; transition:none; }
 .renovation-card-photo img { transition:none; }
}
@media print { .renovation-page .reform-reveal { opacity:1; translate:none; } }

.renovation-resources { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr); gap:64px; padding-block:80px; }
.renovation-page .renovation-resources h2 { font-size:clamp(24px,2.2vw,30px); font-weight:500; line-height:1.7; letter-spacing:.02em; }
.renovation-resources-body > p { margin:0; color:var(--reform-muted); font-size:16px; line-height:2; }
.renovation-resource-links { list-style:none; margin:26px 0 0; padding:0; border-top:1px solid var(--reform-line,#dce7e9); }
.renovation-resource-links li { border-bottom:1px solid var(--reform-line,#dce7e9); }
.renovation-resource-link { display:block; padding:18px 0; color:#0000ee; font-size:14px; line-height:1.8; text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:3px; }
.renovation-resource-link:hover { color:#0000ee; text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:3px; }
.renovation-resource-link:focus-visible { outline:2px solid var(--blue); outline-offset:5px; }
@media(max-width:800px) { .renovation-resources { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:48px; } .renovation-resource-links { margin-top:24px; } }
.renovation-audience { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:24px; }
.renovation-audience a { display:flex; align-items:center; justify-content:center; padding:13px 8px; border:1px solid #b9d4dc; border-radius:6px; font-size:14px; font-weight:700; text-align:center; }
.renovation-audience a:hover { background:#eaf5f8; }
.renovation-business { border-top:1px solid var(--line); }
.renovation-business-intro { max-width:850px; font-size:16px; line-height:2; }
.renovation-business-lead { margin:24px 0 40px; padding:18px 22px; border:1px solid #b9d4dc; background:transparent; font-size:17px; font-weight:700; line-height:1.8; }
.renovation-business-heading { font-size:23px; margin-bottom:24px; }
.renovation-business-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.renovation-business-card { grid-column:span 2; border:1px solid #d5e3e8; border-radius:10px; overflow:hidden; }
.renovation-business-card:nth-last-child(-n+2) { grid-column:span 3; }
.renovation-business-card figure { margin:0; }
.renovation-business-card figure img { width:100%; height:auto; aspect-ratio:1.7; object-fit:cover; display:block; }
.renovation-business-card figcaption { font-size:13px; color:#526a73; padding:9px 24px 0; }
.renovation-business-card figcaption a { text-decoration:underline; }
.renovation-business-card > div { padding:24px; }
.renovation-business-label { color:var(--blue); font-size:14px; font-weight:700; }
.renovation-business-card h3 { font-size:21px; line-height:1.6; margin:8px 0 12px; }
.renovation-business-card p { font-size:16px; line-height:1.9; margin-bottom:20px; }
.renovation-business-card .renovation-text-link { font-size:14px; }
.renovation-business-links { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.renovation-business-links .renovation-button { border-radius:0; }
#business-renovation, #works { scroll-margin-top:100px; }
@media(max-width:900px) {
 .renovation-business-grid { grid-template-columns:1fr; }
 .renovation-business-card, .renovation-business-card:nth-last-child(-n+2) { grid-column:auto; }
 .renovation-business-card > div { padding:20px; }
 .renovation-business-lead { padding:16px; font-size:16px; }
 .renovation-business-links .renovation-button { white-space:normal; text-align:left; }
}

.renovation-exterior-view { display:block; width:100%; aspect-ratio:1.7; min-height:260px; border:0; }

.renovation-record-list { list-style:none; padding:0; margin:32px 0 0; }
.renovation-record-list li { border:0; background:none; padding:0; margin:0; }
.renovation-record-list a { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 0; color:inherit; text-decoration:none; }
.renovation-record-list strong { font-size:19px; line-height:1.6; }
.renovation-record-description { display:block; margin-top:7px; font-size:14px; line-height:1.9; color:#526a73; }
.renovation-record-list a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.renovation-business-card:nth-last-child(-n+2) { grid-column:span 2; }
@media(max-width:760px) { .renovation-business-card:nth-last-child(-n+2) { grid-column:auto; } }
.renovation-facts > div > span { font-weight:700; }

.renovation-card h3, .renovation-business-card h3 a, .renovation-record-list strong { text-decoration:underline; text-decoration-color:#000; text-underline-offset:5px; text-decoration-thickness:1px; }
.renovation-business-card h3 a { color:inherit; }
.renovation-business-card p { margin-bottom:0; }

@media(max-width:800px) {
 .renovation-hero { display:flex; flex-direction:column; align-items:stretch; gap:20px; }
 .renovation-hero-copy { display:contents; }
 .renovation-hero-copy > .renovation-kicker { order:0; margin:0; }
 .renovation-hero-copy h1 { order:1; margin:0; }
 .renovation-hero-photos { order:2; }
 .renovation-hero-copy .renovation-intro { order:3; margin:0; }
 .renovation-hero-copy .renovation-area { order:4; margin:0; }
 .renovation-audience { order:5; margin:0; }
 .renovation-proof { order:6; }
}
