:root{--ink:#123b48;--accent:#23788b;--paper:#fff;--soft:#edf5f6;--line:#cddfe3;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif;line-height:1.8;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.demo-bar{padding:8px 4vw;background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.04em}.demo-bar em{font-style:normal;margin-left:20px;opacity:.8}.demo-bar a{text-decoration:underline;text-underline-offset:4px}.header{height:96px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{flex-shrink:0;display:flex;flex-direction:column}.brand span{font-size:10px;letter-spacing:.18em}.brand strong{font-size:24px;font-weight:700;letter-spacing:.05em;line-height:1.6}.header nav{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:700}.nav-contact{padding:12px 18px;background:var(--accent);color:#fff}.menu-toggle{display:none;min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:22px}.hero{position:relative;display:grid;grid-template-columns:45% 55%;min-height:650px;overflow:hidden}.hero-copy{padding:72px 0 70px 8vw;position:relative;z-index:2;align-self:center}.eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;color:var(--accent);margin-bottom:24px}.hero h1{font-family:var(--serif);font-size:clamp(40px,4.5vw,68px);font-weight:500;line-height:1.5;letter-spacing:.04em;margin-right:-120px}.hero-sub{font-size:18px;font-weight:700;margin:24px 0 16px}.hero-description{font-size:15px;line-height:2}.hero-photo{min-width:0;position:relative;margin:30px 0 30px 25px;min-height:570px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 35%);pointer-events:none}.hero-photo figcaption{position:absolute;right:24px;bottom:25px;z-index:2;writing-mode:vertical-rl;letter-spacing:.15em;font-family:var(--serif);font-size:18px;background:#ffffffdb;padding:18px 10px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:13px 24px;border:1px solid var(--ink);font-size:14px;font-weight:700}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.secondary{background:var(--paper)}.button:hover{filter:brightness(.93)}.hero-index{position:absolute;bottom:16px;left:8vw;font-size:10px;letter-spacing:.2em}.service-strip{display:flex;justify-content:space-between;gap:20px;padding:24px 8vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.service-strip a{font-weight:700}.section{padding:100px 8vw}.section h2{font-family:var(--serif);font-size:clamp(30px,3.3vw,46px);font-weight:500;line-height:1.6;letter-spacing:.03em}.about{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.about-copy p{font-size:16px;line-height:2.2;margin-bottom:22px}.signature{display:block;margin-top:35px;font-family:var(--serif);font-size:22px}.service{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-head>p,.section-head>div>p:not(.eyebrow){max-width:480px;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.number{font-size:14px;font-weight:700;color:var(--accent);display:block;margin-bottom:24px}.service-grid h3{font-size:21px;margin-bottom:12px}.service-grid p{font-size:15px;line-height:1.9}.note{font-size:12px!important;opacity:.82;margin-top:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filters button{padding:10px 28px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:14px;min-height:44px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project{padding:28px;border:1px solid var(--line);min-width:0}.project-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}.project-head span{font-size:12px;background:var(--soft);padding:4px 14px}.project-head b{font-size:38px;font-family:var(--serif);font-weight:400;color:var(--accent)}.project h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.6;margin-bottom:18px}.project>p{font-size:14px}.project details{border-top:1px solid var(--line);margin-top:24px;font-size:14px}.project summary{padding-block:14px;cursor:pointer}.project details p{padding-bottom:16px}.promise{background:var(--ink);color:#fff}.promise .eyebrow{color:#a8d6df}.promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:50px}.promise-grid article{border-top:1px solid #ffffff50;padding-top:25px}.promise-grid span{font-size:13px;opacity:.7}.promise-grid h3{font-size:23px;font-weight:500;margin:20px 0 16px}.promise-grid p{font-size:15px;opacity:.85}.flow ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.flow li{border-top:1px solid var(--line);padding-top:20px}.flow b{font-size:30px;font-family:var(--serif);color:var(--accent)}.flow h3{font-size:18px;margin:14px 0}.flow li p{font-size:14px}.area{background:var(--soft);display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center}.area p{font-size:15px;margin-top:20px}.area ul{padding:0;list-style:none;margin:0}.area li{padding:18px 0;border-bottom:1px solid var(--line);font-size:19px}.area>.note{grid-column:1/-1}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:7vw}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:17px;cursor:pointer;list-style:none;position:relative;padding:22px 38px 22px 0;font-weight:700}.faq-list summary:after{content:'＋';position:absolute;right:0}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:15px;padding:0 0 24px;line-height:2}.contact{background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-heading>p{font-size:14px;margin-top:22px}.design-link{display:inline-block;margin-top:32px;border-bottom:1px solid var(--ink);font-size:14px;font-weight:700;padding-bottom:8px}.demo-form label{display:block;font-size:14px;font-weight:700;margin:0 0 8px}.demo-form label:not(:first-child){margin-top:24px}.demo-form label span{font-size:10px;margin-left:12px;color:var(--accent)}.demo-form input,.demo-form select,.demo-form textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:14px;border-radius:0;font-size:16px}.demo-form textarea{resize:vertical}.demo-form button{width:100%;margin-top:24px}.form-result{background:var(--paper);padding:24px;border:2px solid var(--accent);margin-top:24px;font-size:14px}.form-result p{margin-top:16px}.result-content{white-space:pre-wrap}footer{padding:50px 5vw;display:flex;gap:40px;align-items:center;justify-content:space-between}footer p{font-size:11px;line-height:1.9}footer a:not(.brand){font-size:12px;text-decoration:underline;text-underline-offset:5px}footer small{font-size:9px;letter-spacing:.08em}.mobile-cta{display:none}
/* Warm editorial identity for interiors. */
.interior{--ink:#41362e;--accent:#956042;--paper:#fbf8f2;--soft:#eee7dc;--line:#d9ccbc}.interior .header{height:100px}.interior .brand strong{font-size:22px;font-family:var(--serif)}.interior .hero{grid-template-columns:1fr;min-height:760px;margin:0 3vw}.interior .hero-photo{grid-row:1;grid-column:1;margin:0;min-height:760px}.interior .hero-photo:after{background:linear-gradient(90deg,#1e180f80,transparent 80%)}.interior .hero-copy{grid-column:1;grid-row:1;color:white;padding:70px 5vw;align-self:end;max-width:950px;text-shadow:0 2px 15px #211a1550}.interior .hero h1{font-size:clamp(40px,4.8vw,70px);margin:0}.interior .hero .eyebrow{color:#ffefdb}.interior .hero .secondary{color:var(--ink);text-shadow:none}.interior .hero .primary{background:#fff;color:var(--ink);border-color:#fff;text-shadow:none}.interior .hero-photo figcaption{background:transparent;color:#fff;font-size:13px;bottom:auto;top:35px}.interior .hero-index{display:none}.interior .service-strip{margin:0 3vw;padding-inline:5vw}.interior .service-grid{gap:24px;border:0}.interior .service-grid article{border:0;border-top:1px solid var(--line);background:transparent;padding:28px 0}.interior .number{font-family:var(--serif);font-size:25px;font-weight:400}.interior .project{background:#eee7dc;border:0}.interior .promise{background:#554638}.interior .promise .eyebrow{color:#efcfaf}
/* Bold technical identity for the local electrician. */
.electric{--ink:#102638;--accent:#a86617;--paper:#fff;--soft:#f2f5f7;--line:#cfd9df}.electric .demo-bar{background:#f4bd5c;color:#102638}.electric .brand strong{font-weight:900}.electric .hero{background:#102638;color:#fff;grid-template-columns:48% 52%;min-height:680px}.electric .hero-copy{padding:66px 2vw 66px 6vw}.electric .hero h1{font-family:"Yu Gothic",Meiryo,sans-serif;font-weight:900;font-size:clamp(40px,4.4vw,66px);line-height:1.45;margin-right:0}.electric .hero .eyebrow{color:#f4bd5c}.electric .hero-photo{margin:0;min-height:680px}.electric .hero-photo:after{background:linear-gradient(90deg,#102638,transparent 55%)}.electric .hero-photo figcaption{display:none}.electric .hero .primary{background:#f4bd5c;border-color:#f4bd5c;color:#102638}.electric .hero .secondary{background:transparent;border-color:#9eb2c0;color:#fff}.electric .hero-index{left:6vw}.electric .section h2{font-family:"Yu Gothic",Meiryo,sans-serif;font-weight:800}.electric .service-grid article{border-top:3px solid var(--accent)}.electric .service-grid{gap:18px;border:0}.electric .number{font-size:32px;line-height:1}.electric .service-strip{background:#f4bd5c;border:0;font-weight:700}.electric .project{border-top:4px solid #f4bd5c}.electric .promise .eyebrow{color:#f4bd5c}
@media(max-width:1100px){.header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 5vw;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 120px);overflow:auto}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:12px}.menu-toggle{display:block}.hero-copy{padding-left:5vw}.hero h1{font-size:46px;margin-right:-50px}.hero-photo{margin-left:0}.section{padding:72px 6vw}.section-head{gap:28px}.service-grid article{padding:26px}.contact{gap:5vw}.electric .hero h1{font-size:46px}.electric .hero-copy{padding-left:5vw}.service-strip{padding-inline:5vw}.service-strip>span:nth-child(3){display:none}.promise-grid{gap:24px}.flow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.brand strong{font-size:22px}footer{flex-wrap:wrap}}
@media(max-width:780px){html{scroll-padding-top:90px}.header,.interior .header{height:82px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:45px 6vw;grid-row:1}.hero h1{margin-right:0;font-size:44px}.hero-photo{grid-row:2;margin:0;min-height:0;height:420px}.hero-photo:after{display:none}.hero-index{display:none}.hero-photo figcaption{font-size:16px}.service-strip{flex-wrap:wrap;font-size:12px;padding:20px 6vw}.section{padding:60px 6vw}.about{gap:30px;grid-template-columns:1fr}.section-head{display:block}.section-head>p,.section-head>div:nth-child(2){margin-top:24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects{grid-template-columns:1fr}.project{padding:28px}.project-head{margin-bottom:18px}.project h3{font-size:25px}.promise-grid{grid-template-columns:1fr}.promise-grid article{padding-top:20px}.promise-grid h3{margin:10px 0}.area{grid-template-columns:1fr}.faq{grid-template-columns:1fr;gap:30px}.contact{grid-template-columns:1fr;gap:40px}.interior .hero{margin:0;min-height:700px}.interior .hero-photo{grid-row:1;min-height:700px;height:auto}.interior .hero-photo:after{display:block;background:linear-gradient(0deg,#24190ed9,transparent 100%)}.interior .hero-copy{grid-row:1;padding:45px 6vw;align-self:end}.interior .hero h1{font-size:43px}.interior .hero-photo figcaption{top:20px;right:12px}.interior .service-strip{margin:0}.electric .hero{grid-template-columns:1fr;min-height:0}.electric .hero-copy{padding:45px 6vw}.electric .hero-photo{grid-row:2;min-height:0;height:420px}.electric .hero h1{font-size:44px}.electric .hero-photo:after{display:none}}
@media(max-width:480px){.demo-bar{font-size:10px;gap:10px;padding-inline:5vw}.demo-bar em{display:none}.header{padding-inline:5vw;gap:10px}.brand strong{font-size:21px}.brand span{font-size:9px}.hero h1,.electric .hero h1{font-size:clamp(33px,9.1vw,42px)}.hero-copy{padding:36px 6vw 40px}.hero .eyebrow{font-size:11px;letter-spacing:.07em;margin-bottom:20px}.hero-sub{font-size:16px;line-height:1.8}.hero-description{font-size:14px}.hero-description br{display:none}.hero-photo,.electric .hero-photo{height:300px}.hero-photo figcaption{font-size:13px;right:12px;bottom:12px;padding:12px 6px}.actions{gap:10px;flex-direction:column}.button{font-size:14px;padding:13px 20px}.service-strip{gap:12px}.service-strip>a{flex-basis:100%}.section h2{font-size:30px;line-height:1.6}.service-grid{grid-template-columns:1fr}.service-grid article{padding:28px}.section{padding-block:48px}.eyebrow{margin-bottom:18px;font-size:12px}.section-head{margin-bottom:30px}.about-copy p{font-size:15px}.service-grid h3{font-size:22px}.filters button{padding-inline:24px}.project h3{font-size:23px}.flow ol{gap:24px;grid-template-columns:1fr}.flow li{display:grid;grid-template-columns:50px 1fr;gap:6px 14px}.flow b{grid-row:1/3;font-size:32px}.flow h3{margin:0}.flow p{grid-column:2}.area h2{font-size:28px}.area li{font-size:17px}.faq-list summary{font-size:16px}.interior .hero{min-height:720px}.interior .hero-photo{min-height:720px}.interior .hero h1{font-size:clamp(31px,8.4vw,40px)}.interior .hero-sub{font-size:15px}.interior .hero-copy{padding-bottom:35px}.interior .service-grid{gap:0}.interior .service-grid article{padding:28px 0}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:16px 6vw calc(16px + env(safe-area-inset-bottom));background:var(--accent);color:#fff;z-index:40;font-weight:700;font-size:14px}.electric .mobile-cta{background:#f4bd5c;color:#102638}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}footer{padding:36px 6vw;gap:24px}footer .brand{width:100%}.demo-form input,.demo-form textarea{scroll-margin-bottom:100px}}
.interior .hero{height:760px;min-height:0}.interior .hero-photo{height:100%;min-height:0}.interior .hero-copy{padding-top:40px;padding-bottom:45px}.interior .hero .hero-sub{margin-top:18px}.interior .hero .actions{margin-top:24px}
@media(max-width:780px){.interior .hero{height:720px}.interior .hero-photo{height:100%;min-height:0}}
@media(max-width:480px){.interior .hero{height:740px}.interior .hero-copy{padding-top:28px;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
