:root{color-scheme:dark;--ink:#101113;--ink2:#191b1e;--ink3:#25272a;--paper:#f4f1eb;--soft:#c9c5bf;--red:#e3292f;--red-dark:#a72228;--orange:#ff822f;--line:#ffffff25;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}button,input,select{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;top:-100px;left:12px;background:#fff;color:#111;padding:12px;z-index:100}.skip-link:focus{top:12px}
.topline{background:#090a0c;border-bottom:1px solid #ffffff18;color:#d4d1cb;font-size:.79rem}.topline .container{display:flex;align-items:center;justify-content:space-between;min-height:34px}.topline a{text-decoration:none;color:#fff}.header{position:sticky;top:0;z-index:30;background:#121316ed;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:34px;min-height:84px}.brand{display:flex;align-items:center;flex:none}.brand img{width:184px;height:auto}.nav{display:flex;align-items:center;gap:26px;margin-left:auto}.nav a{text-decoration:none;color:#d8d5d0;font-size:.91rem;font-weight:700;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--orange)}.nav .nav-cta{border:1px solid #fb8d58;padding:9px 15px;color:#fff}.menu-toggle{display:none;align-items:center;gap:8px;color:#fff;border:1px solid var(--line);background:none;padding:8px 12px;margin-left:auto}
.eyebrow{font:800 .79rem/1.3 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 16px}.eyebrow.dark{color:#ab2a2d}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.65rem,5vw,5.1rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:24px;font-weight:850}h2{font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.24;letter-spacing:-.035em;margin-bottom:20px;font-weight:830}h3{font-size:1.23rem;line-height:1.35;margin-bottom:10px}p{color:var(--soft)}.lead{font-size:clamp(1.08rem,1.6vw,1.23rem);line-height:1.8;max-width:680px}.text-muted{color:var(--soft)}.accent{color:var(--orange)}.section{padding:105px 0}.section.dark{background:var(--ink2)}.section.light{background:var(--paper);color:var(--ink);color-scheme:light}.section.light p{color:#4b4a49}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px}.section-head p{max-width:460px;margin:0}.section-head h2{max-width:680px;margin-bottom:0}.kicker{color:var(--orange);font-size:.83rem;letter-spacing:.12em;font-weight:800}.fine{font-size:.86rem;line-height:1.7}.rule{border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;font-size:.94rem;font-weight:800;line-height:1.4;padding:15px 23px;min-height:52px;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#f23d43}.btn-outline{border-color:#ffffff80;color:#fff;background:transparent}.btn-outline:hover{border-color:var(--orange)}.btn-ink{background:var(--ink);color:#fff}.link-arrow{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;border-bottom:1px solid var(--orange);padding-bottom:4px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 40%,#572622 0,#17181b 40%,#101113 80%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line)}.hero-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;min-height:690px;gap:20px}.hero-copy{position:relative;z-index:2;padding:68px 0 80px}.hero-copy h1{max-width:670px}.hero-copy .lead{max-width:570px}.hero-aside{display:flex;align-items:center;gap:19px;margin-top:42px;color:#ccc8c3;font-size:.82rem;font-weight:700;letter-spacing:.05em}.hero-aside:before{content:"";width:52px;height:2px;background:var(--orange)}.hero-art{height:610px;align-self:end;position:relative;isolation:isolate}.hero-art .roof{position:absolute;inset:42px -70px 0 -70px;width:calc(100% + 140px);height:calc(100% - 42px);object-fit:cover;object-position:center;filter:brightness(.58) saturate(.9)}.hero-art:before{content:"";position:absolute;z-index:1;inset:42px -70px 0 -70px;background:linear-gradient(90deg,#101113b0,transparent 38%),linear-gradient(0deg,#1011139c,transparent 28%)}.hero-art:after{content:"";position:absolute;z-index:1;right:-70px;top:20px;width:38%;height:9px;background:var(--red)}.hero-person{position:absolute;z-index:2;height:68%;width:auto;max-width:46%;right:-9%;bottom:0;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 8px 30px #0008)}.hero-caption{position:absolute;z-index:3;bottom:20px;right:0;background:#101113cb;border-left:3px solid var(--orange);padding:8px 13px;color:#fff;font-size:.75rem;max-width:220px}
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:#1b1c1f}.stats-strip div{padding:24px 32px;border-right:1px solid var(--line)}.stats-strip strong{display:block;color:#fff;font-size:1rem}.stats-strip span{display:block;font-size:.82rem;color:#b9b5ae}
.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{display:flex;flex-direction:column;min-height:285px;padding:29px;background:#232529;border:1px solid #ffffff17;text-decoration:none;transition:transform .22s,border-color .22s}.service-card:hover{transform:translateY(-4px);border-color:#ee7448}.service-card .index{color:var(--orange);font:800 .8rem system-ui;letter-spacing:.12em;margin-bottom:auto}.service-card h3{font-size:1.28rem;margin:30px 0 12px}.service-card p{font-size:.91rem;margin:0}.service-card .next{margin-top:19px;color:#fff;font-size:.84rem;font-weight:800}.feature{padding:30px 0;border-top:1px solid var(--line)}.feature b{color:var(--orange);font-size:.8rem;letter-spacing:.1em}.feature h3{margin:12px 0}.feature p{margin-bottom:0;font-size:.94rem}.image-card{position:relative;overflow:hidden;background:#303136}.image-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.image-card:hover img{transform:scale(1.035)}.image-card .image-body{padding:20px 22px 22px;background:#222428}.image-card .image-body p{font-size:.9rem;margin:0}.image-card .label{color:var(--orange);font-size:.73rem;font-weight:850;letter-spacing:.1em;margin:0 0 8px}.image-card h3{margin-bottom:7px}.image-card.wide{grid-column:span 2}.image-card.wide img{aspect-ratio:2/1}.photo-wall{columns:3;column-gap:18px}.photo-wall .image-card{break-inside:avoid;margin:0 0 18px}.photo-wall .image-card img{display:block;height:auto;aspect-ratio:auto;object-fit:contain}.photo-wall .image-card:hover img{transform:none}.case-note{margin-top:24px;border-left:3px solid var(--orange);padding:16px 22px;background:#ffffff0d;color:#d6d2cc;font-size:.91rem}.case-note strong{color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:min(7vw,90px)}.split-photo{position:relative}.split-photo img{width:100%;height:min(540px,57vw);min-height:370px;object-fit:cover}.split-photo .photo-note{position:absolute;bottom:0;left:0;background:#101113e8;color:white;padding:12px 18px;font-size:.76rem}.checklist{padding:0;list-style:none}.checklist li{padding:11px 0 11px 27px;position:relative;border-bottom:1px solid var(--line)}.checklist li:before{content:"";width:8px;height:8px;background:var(--orange);position:absolute;left:2px;top:21px}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff38;border:1px solid #ffffff38}.steps article{background:#1d1f22;padding:28px;min-height:190px}.steps small{display:block;color:var(--orange);font-weight:800;letter-spacing:.15em;margin-bottom:23px}.steps p{font-size:.91rem;margin-bottom:0}.cta-band{background:linear-gradient(115deg,#7a171c,#c6282d 58%,#e9532b);padding:68px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{margin:0;max-width:630px}.cta-inner p{color:#fff2e9;margin:10px 0 0}.cta-inner .btn{background:#fff;color:#841b1b;flex:none}
.page-hero{padding:100px 0 74px;background:#1b1d20;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-10%;bottom:-50%;height:480px;width:480px;border:90px solid #e3292f0c;border-radius:50%}.page-hero h1{font-size:clamp(2.7rem,4.6vw,4.7rem);max-width:920px}.page-hero p{max-width:700px}.breadcrumb{color:#ada9a4;font-size:.84rem;margin-bottom:40px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:var(--orange)}.content-narrow{max-width:800px}.anchor-nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.anchor-nav a{text-decoration:none;padding:8px 13px;border:1px solid var(--line);font-size:.87rem}.anchor-nav a:hover{border-color:var(--orange)}
.solution-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;padding:74px 0;border-bottom:1px solid var(--line);align-items:center;scroll-margin-top:120px}.solution-row:nth-child(even){grid-template-columns:1.15fr .85fr}.solution-row:nth-child(even) .solution-photo{order:-1}.solution-row img{width:100%;aspect-ratio:4/3;object-fit:cover}.solution-row h2{font-size:clamp(1.85rem,2.8vw,2.7rem)}.solution-row p{max-width:560px}.solution-row .small-tag{color:var(--orange);font-size:.8rem;letter-spacing:.1em;font-weight:850}
.rates{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#aaa5a0;border:1px solid #aaa5a0}.rate{padding:30px;background:#f7f4ee}.rate b{display:block;font-size:clamp(2.4rem,4vw,4rem);line-height:1.15;color:#a32226;letter-spacing:-.06em}.rate span{display:block;margin-top:10px;color:#4e4945}.rate strong{display:block;min-height:46px}.notice{background:#ebded0;color:#45332d;border-left:4px solid #d45b30;padding:18px 24px;margin-top:22px}.notice p{color:inherit;margin:0}.faq details{padding:19px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800;font-size:1rem}.faq details p{margin:12px 0 0}.faq details a{color:var(--orange)}
.team-grid img{aspect-ratio:auto;height:auto;object-fit:contain;background:#161719}.team-grid .image-body{min-height:116px}.contact-box{background:#242629;border:1px solid var(--line);padding:30px}.contact-box h3{margin-bottom:17px}.contact-box a{display:block;text-decoration:none;font-size:1.4rem;font-weight:850;color:#fff;word-break:break-word}.contact-box a:hover{color:var(--orange)}.contact-box p{font-size:.9rem;margin:10px 0 0}.office-address{margin-top:18px}.office-address address{font-style:normal;color:#fff;font-size:1.08rem;line-height:1.65}.office-address address span{color:#c9c4bd;font-size:.92rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-weight:750;font-size:.9rem}.contact-form input,.contact-form select{display:block;width:100%;background:#242629;border:1px solid #76736f;color:#fff;padding:13px;margin-top:7px;border-radius:0}.contact-form input:focus,.contact-form select:focus{outline:2px solid var(--orange);outline-offset:2px}.contact-form .full{grid-column:1/-1}.contact-form .helper{color:var(--soft);font-size:.83rem;margin:0}.privacy-content h2{font-size:1.5rem;margin-top:45px}.privacy-content a{color:var(--orange)}
.footer{background:#0a0b0d;padding:55px 0 22px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:48px}.footer img{width:196px;margin-bottom:20px}.footer p,.footer a,.footer address{font-size:.88rem;color:#bdb8b1}.footer address{font-style:normal;line-height:1.65;margin-top:18px}.footer a{text-decoration:none}.footer a:hover{color:#fff}.footer h3{font-size:.95rem;color:#fff}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin-bottom:10px}.foot-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:18px;justify-content:space-between;color:#aaa49e;font-size:.78rem}
.cookie-banner{position:fixed;z-index:100;left:18px;bottom:18px;max-width:515px;background:#f4f1eb;color:#161719;box-shadow:0 18px 65px #0009;padding:22px 24px;border-top:4px solid var(--red);display:none}.cookie-banner.visible{display:block}.cookie-banner p{color:#444;margin:6px 0 16px;font-size:.88rem}.cookie-banner .buttons{display:flex;gap:9px;flex-wrap:wrap}.cookie-banner button{border:1px solid #333;padding:9px 15px;background:none;color:#161719;font-size:.86rem;font-weight:750}.cookie-banner button.accept{background:#161719;color:#fff}.cookie-banner a{color:#8d2427}.cookie-control{background:none;border:0;padding:0;color:#bdb8b1;text-align:left;font-size:.88rem}.cookie-control:hover{color:#fff}
@media(max-width:1050px){.nav{gap:15px}.nav a{font-size:.83rem}.brand img{width:156px}.hero-inner{min-height:610px}.hero-art{height:545px}.hero-person{right:-10%;height:66%}}
@media(max-width:800px){.header-inner{min-height:72px}.menu-toggle{display:flex}.nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:15px 24px 26px;background:#151619;box-shadow:0 18px 30px #0008;flex-direction:column;align-items:stretch;gap:6px}.nav.open{display:flex}.nav a{padding:10px;font-size:1rem}.nav .nav-cta{text-align:center}.hero-inner{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:68px 0 22px}.hero-art{height:430px;margin-right:0}.hero-person{right:-4%;height:70%;max-width:44%}.hero-art .roof{inset:42px -10% 0 -10%;width:120%;height:calc(100% - 42px)}.hero-art:before{inset:42px -10% 0 -10%}.hero-art:after{right:-10%;top:24px}.grid-3,.steps{grid-template-columns:repeat(2,1fr)}.photo-wall{columns:2}.split{gap:30px}.solution-row,.solution-row:nth-child(even){grid-template-columns:1fr 1fr;gap:25px}.solution-row img{min-height:280px}.section{padding:75px 0}.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1.5fr 1fr;gap:30px}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.topline{font-size:.7rem}.topline .container span:last-child{display:none}.brand img{width:155px}.hero-copy{padding-top:60px}.hero-copy h1{font-size:clamp(2.6rem,10vw,3.7rem)}.hero-art{height:340px;margin-right:0}.hero-art .roof{inset:38px -16px 0 -16px;width:calc(100% + 32px);height:calc(100% - 38px)}.hero-art:before{inset:38px -16px 0 -16px}.hero-art:after{right:-16px;top:20px}.hero-person{height:66%;max-width:43%;right:-7%}.hero-caption{right:0;bottom:8px;font-size:.68rem;max-width:180px}.hero-aside{margin-top:25px}.stats-strip{grid-template-columns:1fr}.stats-strip div{padding:15px 20px;border-right:0;border-bottom:1px solid var(--line)}.section{padding:64px 0}.section-head{display:block}.section-head h2{margin-bottom:14px}.grid-2,.grid-3,.steps,.rates,.split,.solution-row,.solution-row:nth-child(even),.contact-form,.footer-grid{grid-template-columns:1fr}.photo-wall{columns:1}.service-card{min-height:230px}.image-card.wide{grid-column:auto}.image-card.wide img{aspect-ratio:4/3}.split-photo img{min-height:0;height:300px}.solution-row,.solution-row:nth-child(even){gap:15px;padding:48px 0}.solution-row:nth-child(even) .solution-photo{order:0}.solution-row img{min-height:0}.page-hero{padding:65px 0 55px}.page-hero h1{font-size:clamp(2.4rem,9vw,3.4rem)}.breadcrumb{margin-bottom:25px}.rate strong{min-height:0}.contact-form .full{grid-column:1}.footer-grid{gap:18px}.foot-bottom{display:block}.cookie-banner{left:8px;right:8px;bottom:8px;max-width:none}}
.photo-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.photo-wall .image-card{break-inside:auto;margin:0;display:flex;flex-direction:column}.photo-wall .image-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.photo-wall .image-card .image-body{flex:1}@media(max-width:800px){.photo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.photo-wall{grid-template-columns:1fr}}
/* Keep the restored homepage person secondary to the solar roof. */
.hero-person{height:55%;max-width:34%;right:-2%}
.team-grid{align-items:start}.team-grid .image-card img{display:block;width:100%;height:auto;object-fit:cover;background:#17181b}.team-grid .image-card:nth-child(-n+2) img{aspect-ratio:3/4}.team-grid .image-card:nth-child(n+3) img{aspect-ratio:4/3}.team-grid .image-card:hover img{transform:none}
.photo-wall.roof-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.video-feature{padding:54px 0;background:#141518;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.video-frame{position:relative;max-width:860px;margin:0 auto;background:#08090a;border:1px solid #ffffff24;box-shadow:0 24px 65px #0008;overflow:hidden}
.video-frame:before{content:"";display:block;position:absolute;z-index:2;left:0;top:0;width:72px;height:5px;background:var(--red);pointer-events:none}
.video-frame video{display:block;width:100%;aspect-ratio:16/9;background:#08090a;object-fit:contain}
@media(max-width:1050px){.hero-person{right:-2%;height:54%;max-width:35%}}
@media(max-width:800px){.hero-person{right:-2%;height:56%;max-width:36%}}
@media(max-width:600px){.hero-person{right:-2%;height:54%;max-width:36%}.video-feature{padding:36px 0}}
@media(max-width:600px){.photo-wall.roof-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
