:root{--ink:#253c48;--muted:#5e6b70;--paper:#f7f6f2;--line:#d4d9d6;--accent:#5c8878}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b97942;outline-offset:5px}img{display:block;max-width:100%}.header{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:.02em}.brand small{display:block;font-size:12px;letter-spacing:.08em;margin-top:5px;font-weight:500}.mark{display:block;width:40px;height:46px;overflow:hidden;flex:none}.mark img{height:46px;width:auto;max-width:none}.button{display:inline-flex;justify-content:center;align-items:center;min-height:60px;border-radius:100px;padding:18px 30px;background:var(--ink);color:white;font-size:16px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#3e5a67;transform:translateY(-2px)}.header-button{min-height:48px;font-size:14px;padding:14px 25px}.hero{max-width:1600px;margin:auto;padding:36px 0 70px 7vw;display:grid;grid-template-columns:43% 57%;align-items:center}.eyebrow{font-size:16px;letter-spacing:.07em;font-weight:700;margin:0 0 20px;color:var(--accent)}.service{font-size:18px;margin:0 0 22px;letter-spacing:.12em}.hero h1{font-size:clamp(32px,3.2vw,52px);line-height:1.65;letter-spacing:.035em;margin:0 0 22px;font-weight:700}.hero h1 em{font-style:normal;color:var(--accent)}.intro{font-size:17px;line-height:2;margin:0 0 26px}.text-link{display:block;font-size:14px;margin-top:21px;width:fit-content;border-bottom:1px solid #a4aeae;padding-bottom:7px}.text-link span{margin-left:30px}.hero-visual{position:relative;margin-left:18px}.hero-visual>img{width:100%;height:610px;object-fit:cover;object-position:55% center;border-radius:100px 0 0 0}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:54px 28px 24px;background:linear-gradient(transparent,#152832bb);color:white;line-height:1.8}.image-caption>span{font-size:18px;letter-spacing:.04em}.image-caption small{display:block;font-size:11px;opacity:.85}.palette-decor{display:flex;position:absolute;right:32px;bottom:-22px;box-shadow:0 4px 15px #253c4814}.palette-decor i{width:45px;height:45px;background:#e3dfd3}.palette-decor i:nth-child(2){background:#849094}.palette-decor i:nth-child(3){background:#294459}.mobile-break{display:none}.section{padding:88px max(6vw,24px);max-width:1600px;margin:auto}.colors{background:white}.section-head{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:42px}h2{font-size:clamp(28px,2.7vw,42px);line-height:1.65;letter-spacing:.04em;margin:0;font-weight:600}.section-head>p{font-size:16px;line-height:2.1;margin:0;color:var(--muted)}.comparison{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.comparison-image{position:relative;overflow:hidden;background:#e9e9e5}.comparison-image>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.image-badge{position:absolute;left:18px;top:18px;padding:8px 12px;background:#fffffff0;font-size:12px}.image-name{position:absolute;bottom:20px;left:20px;background:#253c48df;color:white;padding:8px 14px;font-size:13px;letter-spacing:.05em}.panel-kicker{margin:0 0 14px;font-size:14px;font-weight:700}.color-buttons{display:grid;gap:8px}.color-buttons button{position:relative;cursor:pointer;display:grid;grid-template-columns:36px 1fr;column-gap:13px;text-align:left;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:12px 16px;font-weight:700;font-size:16px}.color-buttons button[aria-pressed=true]{border:2px solid var(--ink);padding:11px 15px;background:#f4f6f4}.color-buttons button[aria-pressed=true]:after{content:'✓';position:absolute;right:14px;top:12px;font-size:14px}.color-buttons button:hover{background:#f0f3f1}.sub{grid-column:2;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.swatch{grid-row:span 2;width:34px;height:34px;border-radius:50%;border:1px solid #0001;background:linear-gradient(90deg,#dbd3c1 50%,#938578 50%)}.swatch.beige{background:linear-gradient(90deg,#e5dfd0 50%,#bba987 50%)}.swatch.gray{background:linear-gradient(90deg,#dfe1e0 50%,#818b94 50%)}.swatch.navy{background:linear-gradient(90deg,#e5e1d5 50%,#29465d 50%)}.color-note{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.number{font-size:11px;letter-spacing:.12em;margin:0 0 9px;color:var(--accent)}h3{font-size:19px;margin:0 0 10px}.color-note>p:not(.number){font-size:14px;line-height:1.9;margin:0}.paint-pair{display:flex;gap:20px;margin-top:15px;font-size:11px}.paint-pair span{display:flex;align-items:center;gap:7px}.paint-pair i{height:17px;width:17px;border:1px solid #0001;display:block}.disclaimer{font-size:12px;line-height:1.9;color:var(--muted);margin:22px 0 0;max-width:900px}.bridge{text-align:center}.bridge>p:last-child{font-size:16px;line-height:2.1;margin:26px 0 0;color:var(--muted)}.contact{display:flex;align-items:center;gap:70px;justify-content:space-between;background:var(--ink);color:white}.contact .eyebrow{color:#c2d2c9}.contact h2{font-size:32px}.light{background:white;color:var(--ink);width:100%}.light:hover{background:#e4ece7}.contact-actions{max-width:430px}.contact-actions p{font-size:12px;line-height:1.9;margin:18px 0 0;color:#dae2e3}footer{display:flex;justify-content:space-between;padding:30px 6vw;font-size:12px;color:var(--muted)}
@media(min-width:1600px){.hero{padding-left:100px}.header{padding-inline:100px}}
@media(max-width:1000px){.hero{grid-template-columns:46% 54%;padding-left:5vw}.hero h1{font-size:33px}.hero-visual>img{height:570px}.intro{font-size:15px}.comparison{grid-template-columns:minmax(0,1fr) 260px;gap:22px}.section-head>p{font-size:14px}.brand{font-size:22px}}
@media(max-width:700px){.header{padding:18px 20px;gap:12px}.brand{font-size:17px;gap:8px;letter-spacing:0}.brand small{font-size:9px;margin-top:4px}.mark{width:29px;height:33px}.mark img{height:33px}.header-button{font-size:11px;padding:12px 15px;min-height:42px}.hero{display:flex;flex-direction:column;padding:28px 0 46px;align-items:stretch}.hero-copy{padding:0 24px}.eyebrow{font-size:13px;margin-bottom:12px}.service{font-size:15px;margin-bottom:17px}.hero h1{font-size:clamp(29px,7.5vw,39px);line-height:1.65;margin-bottom:18px}.intro{font-size:15px;line-height:1.9}.mobile-break{display:block}.hero-copy>.button{width:100%;font-size:14px;min-height:54px}.text-link{margin:18px auto 0}.hero-visual{margin:32px 0 0 24px}.hero-visual>img{height:auto;aspect-ratio:1.3;object-position:center;border-radius:60px 0 0 0}.image-caption{padding:34px 18px 18px}.image-caption>span{font-size:14px}.image-caption small{font-size:10px}.palette-decor{right:24px;bottom:-15px}.palette-decor i{width:30px;height:30px}.section{padding:54px 24px}.section-head{display:block;margin-bottom:26px}h2{font-size:27px;line-height:1.65}.section-head>p{margin-top:20px;font-size:14px;line-height:1.9}.comparison{display:flex;flex-direction:column;gap:22px}.comparison-image{width:100%}.image-badge{top:10px;left:10px;font-size:10px;padding:5px 8px}.image-name{bottom:10px;left:10px;font-size:10px;padding:6px 9px}.color-panel{width:100%}.color-buttons{grid-template-columns:1fr 1fr;gap:8px}.color-buttons button{font-size:13px;grid-template-columns:27px 1fr;padding:11px 9px;column-gap:8px}.color-buttons button[aria-pressed=true]{padding:10px 8px}.color-buttons button[aria-pressed=true]:after{right:5px;top:3px;font-size:10px}.swatch{width:26px;height:26px}.sub{font-size:9px}.color-note{margin-top:22px}.color-note>p:not(.number){font-size:14px}.disclaimer{font-size:11px}.bridge{text-align:left}.bridge>p:last-child{font-size:14px}.bridge br{display:none}.bridge h2 br{display:block}.contact{display:block}.contact h2{font-size:27px}.contact-actions{margin-top:26px}.contact-actions p{font-size:11px}footer{padding:24px;display:block;line-height:2}footer span{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Concrete service and consultation sections */
.disclaimer{font-size:13px}.contact-actions p{font-size:14px}.image-caption small{font-size:12px}
.work-list{border-top:1px solid var(--line)}.work-row{display:grid;grid-template-columns:60px minmax(210px,.8fr) 1.6fr;gap:24px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line)}.work-number{font-size:26px;font-weight:500;color:var(--accent);letter-spacing:.08em}.work-row h3{font-size:24px;margin:0;line-height:1.6}.work-row p{font-size:16px;line-height:2;margin:0}.work-detail{display:block;font-size:13px;color:var(--muted);margin-top:12px;line-height:1.8}.section-note{font-size:13px;line-height:1.9;color:var(--muted);margin:22px 0 0}.cost-note{margin-top:40px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px;background:#eceee8;padding:28px 32px;align-items:center}.cost-note h3{font-size:19px;line-height:1.8;margin:0}.cost-note p{font-size:15px;line-height:1.9;margin:0;color:var(--muted)}.flow{background:white}.flow-list{padding:0;margin:0;list-style:none;max-width:1000px}.flow-list li{display:flex;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}.flow-list li:first-child{border-top:1px solid var(--line)}.flow-number{flex:none;font-size:18px;color:var(--accent);width:50px;height:50px;border:1px solid #b7c7be;border-radius:50%;display:flex;align-items:center;justify-content:center}.flow-list h3{font-size:22px;line-height:1.6;margin:5px 0 10px}.flow-list p{font-size:16px;line-height:1.9;margin:0;color:var(--muted);max-width:750px}.flow-note{font-size:14px;line-height:1.9;margin:24px 0 0;color:var(--muted)}
@media(max-width:1000px){.work-row{grid-template-columns:42px 220px 1fr;gap:18px}.work-row h3{font-size:21px}.desktop-break{display:none}}
@media(max-width:700px){.disclaimer,.contact-actions p,.section-note{font-size:13px}.image-caption small{font-size:12px}.color-buttons button{font-size:12px}.sub{font-size:10px}.work-row{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:26px 0;align-items:start}.work-row>div{grid-column:2}.work-number{font-size:19px;line-height:1.7}.work-row h3{font-size:21px;line-height:1.6}.work-row p{font-size:15px;line-height:1.9}.work-detail{font-size:12px}.cost-note{display:block;padding:24px;margin-top:30px}.cost-note h3{font-size:18px}.cost-note p{font-size:14px;margin-top:14px}.flow-list li{gap:15px;padding:24px 0}.flow-number{width:36px;height:36px;font-size:14px}.flow-list h3{font-size:19px;margin:0 0 12px}.flow-list p{font-size:15px}.flow-note{font-size:13px}}
.phrase{display:inline-block}
