@charset "UTF-8";
:root{--ink:#24221f;--muted:#646561;--line:#d9ddd9;--paper:#fff;--surface:#f3f5f3;--orange:#ed7000;--gold:#f4aa00;--accent-text:#a64600;--gutter:clamp(22px,4.5vw,72px);--max:1240px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink)}
a{color:inherit;text-decoration:none;touch-action:manipulation}
button{font:inherit;cursor:pointer;touch-action:manipulation}
img{display:block;max-width:100%;width:100%;height:auto}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
h1,h2,h3,h4{text-wrap:pretty;overflow-wrap:break-word}
button,a{-webkit-tap-highlight-color:transparent}
::selection{background:#ffd297;color:#231a13}
:focus-visible{outline:3px solid #ba5300;outline-offset:5px}
.wrap{max-width:calc(var(--max) + var(--gutter)*2);padding-inline:var(--gutter);width:100%;margin-inline:auto}
.skip-link{position:fixed;top:6px;left:10px;z-index:1000;transform:translateY(-160%);padding:12px 20px;background:#fff;color:#24221f}
.skip-link:focus{transform:translateY(0)}
.eyebrow{font-family:Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;line-height:1.5;color:var(--accent-text)}
.review-bar{position:sticky;top:0;z-index:100;background:#24272a;color:#fff;font-size:.875rem;line-height:1.4;border-bottom:1px solid #464a4e}
.draft-notice{background:#263730;color:#ecf2ed;padding:5px 20px;font-size:.75rem;line-height:1.9;text-align:center;letter-spacing:.04em}
html[data-preview="true"] .draft-notice{display:none}
.review-inner{display:flex;align-items:center;gap:26px;padding:8px 24px;max-width:1700px;margin:auto;min-height:53px}
.review-home{color:#e8ecef;padding:8px 0;white-space:nowrap}
.review-current{color:#d0d6da;font-size:.8125rem}
.review-inner nav{margin-left:auto;display:flex;gap:6px}
.review-inner nav a{padding:7px 15px;border:1px solid #64696e;border-radius:4px;white-space:nowrap}
.review-inner nav a[aria-current]{background:#fff;color:#24272a;border-color:#fff;font-weight:700}
.review-inner nav a:hover{background:#555c61;color:#fff}
.review-bar :focus-visible{outline-color:#ffb15b}
html[data-preview="true"] .review-bar{display:none}
html[data-preview="true"]{scroll-behavior:auto}
.site-header{background:#fff;color:#24221f;position:relative;z-index:30;border-bottom:1px solid #e8eae7}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:100px}
.brand{display:block;flex:0 0 auto;width:286px;max-width:100%}
.brand-logo{width:100%;height:auto;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:25px}
.site-nav a{font-size:.875rem;font-weight:650;white-space:nowrap;padding:12px 0}
.site-nav a:hover{color:var(--accent-text)}
.site-nav a[aria-current="location"]{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:8px}
.site-nav .nav-contact{background:var(--ink);color:#fff;padding:15px 24px}
.site-nav .nav-contact:hover{background:#44443f;color:#fff}
.menu-toggle{display:none;min-width:54px;min-height:48px;border:0;padding:2px;background:none;color:#24221f;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.menu-symbol{display:block;width:24px;height:12px;border-block:2px solid currentColor;position:relative}
.menu-label{font-size:.75rem;line-height:1.2}
.menu-toggle[aria-expanded="true"] .menu-symbol{border:0}
.menu-toggle[aria-expanded="true"] .menu-symbol::before,.menu-toggle[aria-expanded="true"] .menu-symbol::after{content:"";position:absolute;top:5px;left:0;width:24px;height:2px;background:currentColor;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-symbol::after{transform:rotate(-45deg)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:#fff;padding:18px 27px;min-height:58px;font-weight:650;font-size:.875rem;line-height:1.5;transition:background .2s,transform .2s}
.button>span{font-family:Arial,sans-serif;font-size:1.4rem;line-height:1}
.button:hover{background:#4b4b43;transform:translateY(-2px)}
.hero h1{font-size:clamp(2.5rem,4.55vw,4.25rem);line-height:1.5;letter-spacing:.025em;font-weight:750}
.hero-lead{font-size:1.125rem;line-height:1.95;margin-top:24px}
.hero .button{margin-top:33px}
.hero-photo{min-width:0;position:relative;overflow:hidden}
.hero-photo>img{height:100%;object-fit:cover}
.hero-photo figcaption{font-size:.75rem;line-height:1.5}
.hero-bottom-note{display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.12em}
.hero-bottom-note a{padding:10px 0}
.facts{border-block:1px solid var(--line)}
.facts-inner{display:grid;grid-template-columns:1fr 1fr 1.15fr;padding-block:30px}
.facts-compact .facts-inner{grid-template-columns:1fr 1fr}
.facts-compact .fact-permit{display:flex;grid-column:auto;border:0;border-left:1px solid var(--line);padding:2px 0 2px 34px;margin-top:0;gap:0}
@media(max-width:680px){.facts-compact .facts-inner{grid-template-columns:1fr}.facts-compact .fact-permit{border-left:0;border-top:1px solid var(--line);margin-top:20px;padding:20px 0 0}.facts-compact .fact-value span{display:inline;margin-left:10px}}
.fact{padding:2px 34px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.fact:first-child{border:0;padding-left:0}
.fact:last-child{padding-right:0}
.fact-label{font-size:.875rem;color:var(--muted);line-height:1.6;margin-bottom:5px}
.fact-number{font-family:Arial,sans-serif;font-size:3.25rem;font-weight:500;line-height:1.2;letter-spacing:-.035em}
.fact-number span{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:1rem;letter-spacing:.025em;font-weight:650;margin-left:14px}
.fact-value{font-size:1.75rem;letter-spacing:.035em;line-height:1.9}
.fact-value span{font-size:.875rem;margin-left:10px}
.fact-permit strong{font-size:1.15rem;font-weight:700}
.permit-number{font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:5px}
.section{padding-block:104px}
h2{font-size:clamp(1.875rem,3.1vw,2.75rem);line-height:1.6;letter-spacing:.04em;font-weight:750}
.section-title>.eyebrow,.company-heading>.eyebrow,.contact-title>.eyebrow{margin-bottom:16px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}
.section-heading>p{font-size:1rem;line-height:1.9;color:var(--muted);padding-bottom:8px}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px}
.about-copy{padding-top:25px;color:var(--muted);font-size:1rem;line-height:1.95}
.about-copy p+p{margin-top:18px}
.about-copy .lead{color:var(--ink);font-size:1.125rem;font-weight:650;line-height:1.9;margin-bottom:23px}
.process-photos{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px}
.process-photos figure>img{aspect-ratio:2.2;object-fit:cover;object-position:center 54%}
figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:.875rem;margin-top:12px;font-weight:600}
figcaption>span{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.1em;color:var(--muted);font-weight:400}
.services{background:var(--surface)}
.services-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.service{background:var(--paper);min-width:0;display:flex;flex-direction:column}
.service-photo{height:270px;position:relative;overflow:hidden}
.service-photo>img{height:100%;object-fit:cover;object-position:center 54%}
.service-number{position:absolute;left:24px;top:22px;font-family:Arial,sans-serif;font-size:1.5rem;line-height:1;font-weight:500;color:#fff}
.service-photo .service-number{background:#232922;display:grid;place-items:center;width:42px;height:42px}
.service-text{padding:32px 34px;flex:1;display:flex;flex-direction:column}
.service-text>h3{font-size:1.75rem;line-height:1.6;letter-spacing:.035em;margin-top:10px;margin-bottom:15px}
.service-text>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:var(--muted)}
.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;margin-bottom:26px}
.service-tags span{padding:4px 12px;background:var(--surface);font-size:.8125rem;line-height:1.8}
.line-link{border-top:1px solid var(--line);padding-top:21px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.875rem;font-weight:650;line-height:1.7}
.line-link>span{font-family:Arial,sans-serif;font-size:1.4rem}
.line-link:hover{color:var(--accent-text)}
.fireproof-panel{position:relative;height:270px;background:#293c37;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:35px 30px}
.fireproof-panel>p{font-size:1.75rem;line-height:1.6;letter-spacing:.06em}
.panel-label{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.16em;color:#cedbd3}
.work-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.work-category{font-size:1.0625rem;font-weight:700;letter-spacing:.025em;line-height:1.8;margin-bottom:20px}
.fireproof-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:48px}
.fireproof-record{min-width:0;padding:28px 34px;background:var(--surface);border-top:2px solid var(--orange)}
.fireproof-record h3{font-size:1.25rem;line-height:1.8;font-weight:650;letter-spacing:.035em}
.record-area{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:19px}
.record-area dt{font-size:.875rem;color:var(--muted)}
.record-area dd{font-family:Arial,sans-serif;font-size:3rem;font-weight:500;line-height:1.2;letter-spacing:-.025em;white-space:nowrap}
.record-area dd span{font-size:1rem;margin-left:9px;letter-spacing:0;color:var(--muted)}
.record-area dd .area-approx{margin-left:0;margin-right:9px}
@media(max-width:960px){.fireproof-record{padding:24px}.record-area dd{font-size:2.625rem}}
@media(max-width:680px){.work-category{font-size:1rem;margin-bottom:17px}.fireproof-records{grid-template-columns:1fr;gap:16px;margin-bottom:34px}.fireproof-record{padding:23px 26px}.fireproof-record h3{font-size:1.1875rem}.record-area{margin-top:15px}.record-area dd{font-size:2.75rem}}
.work-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface)}
.work-image>img{height:100%;object-fit:cover;object-position:center top}
/* Keep both facade comparisons above the vehicles, including on narrow screens.
   A 1536px-wide portrait source shows only its top 960px at this fixed ratio. */
.facade-comparison .work-image{aspect-ratio:8/5}
.facade-comparison .work-image>img{object-position:center top}
.photo-label{position:absolute;bottom:18px;left:18px;padding:7px 14px;background:#242624;color:#fff;display:flex;align-items:center;gap:18px;font-size:.875rem;line-height:1.7}
.photo-label>span{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.07em;color:#e5e8e5}
.after-label{background:#b85300}
.work-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-block:18px 23px;border-bottom:1px solid var(--line)}
.work-caption h3{font-size:1.15rem;letter-spacing:.04em}
.work-caption>span{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.1em;color:var(--muted)}
.work-bottom{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:48px}
.roof-photo>img{aspect-ratio:1.55;object-fit:cover;object-position:center 58%}
.past-projects>h3{font-size:1.1875rem;letter-spacing:.025em;line-height:1.8;border-bottom:1px solid var(--ink);padding-bottom:14px}
.past-project{padding-block:17px;border-bottom:1px solid var(--line)}
.past-project>span{font-size:.75rem;color:var(--muted)}
.past-project h4{font-size:1.0625rem;font-weight:650;line-height:1.8;margin-top:2px}
.past-project p{font-size:.875rem;color:var(--muted);margin-top:3px}
.company{background:var(--surface)}
.company-inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:85px}
.company-heading>p:not(.eyebrow){font-size:1.0625rem;color:var(--muted);margin-top:25px}
.company-logo{max-width:290px;margin-top:37px;background:#fff;padding:18px 15px}
.company-details{border-top:1px solid var(--ink)}
.company-details>div{display:grid;grid-template-columns:152px minmax(0,1fr);gap:25px;padding-block:20px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.85}
.company-details dt{font-size:.875rem;color:var(--muted);font-weight:650}
.company-details dd{min-width:0;overflow-wrap:anywhere}
.invoice-number{font-family:Arial,sans-serif;letter-spacing:.035em}
.contact{background:#293c37;color:#fff;padding-block:82px}
.contact-inner{display:grid;grid-template-columns:1fr .93fr;gap:80px;align-items:center}
.contact .eyebrow{color:#ffd39e}
.contact h2{font-size:clamp(1.875rem,2.9vw,2.625rem);line-height:1.6}
.contact-title>p:not(.eyebrow){font-size:1rem;line-height:1.9;color:#e2e9e4;margin-top:23px}
.contact-area{display:block;font-size:.875rem;color:#c4d0c8;margin-top:18px}
.contact-options{border-top:1px solid #8fa497}
.contact-phone{display:block;padding-block:23px;border-bottom:1px solid #8fa497}
.contact-label{display:block;font-size:.875rem;line-height:1.7;color:#e0e9e3}
.phone-number{font-family:Arial,sans-serif;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.5;letter-spacing:.015em;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.phone-number>span,.contact-mail>span:last-child{font-family:Arial,sans-serif;font-size:1.75rem;font-weight:400}
.contact-hours{display:block;font-size:.75rem;line-height:1.5;color:#cfdbd3;margin-top:5px}
.contact-mail{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:25px;border-bottom:1px solid #8fa497}
.contact-mail>span:first-child{min-width:0}
.email-address{display:block;font-family:Arial,sans-serif;font-size:1.35rem;overflow-wrap:anywhere;margin-top:5px;line-height:1.6}
.contact-options a:hover{color:#ffd299}
.contact a:focus-visible{outline-color:#ffb052}
.site-footer{background:#fff;color:#24221f;padding-block:36px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.footer-inner:has(.footer-privacy){flex-wrap:wrap}
.footer-privacy{font-size:.875rem;line-height:1.8;text-decoration:underline;text-underline-offset:4px}
@media(max-width:680px){.footer-privacy{order:2;flex-basis:100%}}
.site-footer .brand{width:230px}
.site-footer p{font-size:.75rem;color:#676962}
.back-top{font-size:.875rem;color:#62665f;padding:10px 0}
.c-only,.mobile-break{display:none}

/* A: white space, a quiet editorial headline, and an architectural photograph. */
.design-a{--ink:#263730;--muted:#616c65;--surface:#f2f5f2;--line:#d4ddd5}
.design-a h1,.design-a h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:600}
.design-a .hero-a{display:grid;grid-template-columns:1.02fr .98fr;column-gap:66px;row-gap:28px;padding-top:44px;padding-bottom:27px;align-items:center}
.design-a .hero-copy{padding-block:40px}
.design-a .hero-copy>.eyebrow{margin-bottom:32px}
.design-a .hero-note{font-size:.8125rem;color:var(--muted);margin-top:30px;border-left:2px solid var(--orange);padding-left:12px;line-height:1.4}
.design-a .hero-photo{height:530px}
.design-a .hero-photo img{object-position:56% center}
.design-a .hero-photo figcaption{position:absolute;bottom:20px;left:22px;background:#fff;padding:8px 14px;font-weight:500;color:#33423a}
.design-a .hero-bottom-note{grid-column:1/-1;color:var(--muted)}
.design-a .about{padding-block:120px}
.design-a .fact-number{color:#b15100}
.design-a .service-text{border-top:3px solid #ed7000}
.design-a .contact-title h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}

/* B: a full-width working photograph, large type, and dark horizontal sections. */
.design-b{--ink:#f3f4f1;--muted:#bac1c3;--paper:#191b1c;--surface:#232728;--line:#465054;--accent-text:#ffae59;background:var(--paper)}
.design-b .site-nav .nav-contact{background:#ed7000;color:#211b16}
.design-b .site-nav a:hover{color:#9e4500}
.design-b .site-nav .nav-contact:hover{background:#ffc070}
.design-b .hero-b{position:relative;min-height:660px;isolation:isolate;display:flex;flex-direction:column;justify-content:center}
.design-b .hero-photo{position:absolute;inset:0;z-index:-2;margin:0}
.design-b .hero-photo img{object-position:center 45%;height:100%;width:100%}
.design-b .hero-b::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,18,.92) 0%,rgba(12,16,18,.73) 40%,rgba(12,16,18,.13) 80%);z-index:-1}
.design-b .hero-copy{padding-block:60px 100px}
.design-b .hero h1{font-size:clamp(3rem,5.4vw,5rem);line-height:1.4;font-weight:800;letter-spacing:.035em;max-width:800px}
.design-b .hero .eyebrow{color:#ffbd72;margin-bottom:29px}
.design-b .hero-lead{color:#edf0ed;margin-top:26px}
.design-b .button{background:#ed7000;color:#201912;min-width:246px}
.design-b .button:hover{background:#ffaf56}
.design-b .hero-bottom-note{position:absolute;bottom:23px;left:0;right:0;color:#d1d8d9}
.design-b .facts{background:#232728;border-top:0}
.design-b .fact-number{color:#ffad52}
.design-b .fact-number span{color:#f3f4f1}
.design-b .fact-value{font-size:1.9rem}
.design-b .about-intro{grid-template-columns:1fr 1.13fr;gap:85px}
.design-b h2{font-size:clamp(2rem,3.5vw,3.125rem);line-height:1.45;letter-spacing:.025em}
.design-b .about .eyebrow{border-left:3px solid #ed7000;padding-left:14px}
.design-b .process-photos{gap:24px}
.design-b .process-photos figure>img{aspect-ratio:2.55}
.design-b .services{background:#191b1c;padding-top:10px}
.design-b .services-list{display:block;border-top:1px solid #5b6265}
.design-b .service{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #5b6265;margin:0;background:#232728}
.design-b .service-photo,.design-b .fireproof-panel{height:auto;min-height:380px}
.design-b .service-photo img{height:100%;position:absolute;inset:0;object-position:center 48%}
.design-b .service-text{padding:48px 50px}
.design-b .service-text h3{font-size:2rem}
.design-b .service-number{color:#ffb064;font-size:2.75rem;background:none;left:30px;top:25px}
.design-b .service-photo .service-number{background:#161c1d;font-size:1.5rem}
.design-b .service-tags span{border:1px solid #626b6f;color:#e3e9e9}
.design-b .fireproof-panel{order:2;background:#ed7000;color:#231b14;align-items:flex-start;padding:45px 50px}
.design-b .fireproof-panel>p{font-size:2.25rem;line-height:1.7;font-weight:750}
.design-b .fireproof-panel .service-number{position:static;color:#663405;font-size:2.75rem;line-height:1;margin-bottom:5px}
.design-b .fireproof-panel .panel-label{color:#472a13}
.design-b .works{background:#edf0ed;color:#222a2b;--muted:#5c6868;--line:#bdc9c8;--ink:#222a2b;--surface:#e1e5e3;--accent-text:#a54b00}
.design-b .work-comparison{gap:2px}
.design-b .work-bottom{gap:54px}
.design-b .company{background:#232728}
.design-b .company-inner{grid-template-columns:.7fr 1.3fr}
.design-b .company-logo{max-width:310px;background:#fff;padding:20px}
.design-b .contact{background:#ed7000;color:#211c16}
.design-b .contact .eyebrow{color:#452f1e}
.design-b .contact-title>p,.design-b .contact-label,.design-b .contact-area,.design-b .contact-hours{color:#3d2c1e}
.design-b .contact-options,.design-b .contact-phone,.design-b .contact-mail{border-color:#9e4d0b}
.design-b .contact-options a:hover{color:#fff}
.design-b .contact a:focus-visible{outline-color:#211c16}

/* C: centered copy, a photo triptych, and generous rounded white surfaces. */
.design-c{--ink:#2f2721;--muted:#6e665e;--line:#e1dbd4;--paper:#fff;--surface:#f8f3ed;--accent-text:#a94b00}
.design-c .site-header{border-bottom:0}
.design-c .site-nav .nav-contact{background:#ed7000;color:#221912;border-radius:32px}
.design-c .site-nav .nav-contact:hover{background:#f4aa00}
.design-c .hero-c{padding-top:34px;padding-bottom:48px;overflow:hidden;background:linear-gradient(#fff 65%,#fff0da 65%)}
.design-c .hero-copy{text-align:center;margin:auto;padding-bottom:40px}
.design-c .hero-location{font-size:.875rem;line-height:1.8;font-weight:650;display:inline-block;padding:4px 18px;border:1px solid #e9b165;border-radius:30px;color:#995000;margin-bottom:17px}
.design-c .hero h1{font-size:clamp(2.3rem,4.35vw,3.625rem);line-height:1.55;letter-spacing:.045em;font-weight:750}
.design-c .hero-lead{font-size:1rem;margin-top:18px;line-height:1.9}
.design-c .hero .button{border-radius:36px;background:#ed7000;color:#241b15;margin-top:25px;padding:17px 29px}
.design-c .hero .button:hover{background:#f4aa00}
.design-c .hero-gallery{display:grid;grid-template-columns:.8fr 1.25fr .8fr;gap:24px;align-items:center;max-width:1170px;margin:auto}
.design-c .hero-gallery figure{height:236px;overflow:hidden;position:relative;border-radius:26px}
.design-c .hero-gallery figure:nth-child(2){height:292px;border-radius:32px}
.design-c .hero-gallery img{height:100%;object-fit:cover;object-position:center 55%}
.design-c .hero-gallery figure:nth-child(2) img{object-position:63% center}
.design-c .hero-gallery figcaption{position:absolute;bottom:15px;left:20px;right:16px;font-size:.75rem;color:#fff;background:#44382dbf;padding:6px 10px;border-radius:5px;display:inline-block}
.design-c .facts{background:#fff0da;border:0;padding-bottom:44px}
.design-c .facts-inner{padding-block:0;gap:18px}
.design-c .fact{background:#fff;border:0;padding:20px 24px;border-radius:18px;text-align:center;align-items:center}
.design-c .fact-number{color:#ad4d00;font-weight:650;font-size:2.75rem}
.design-c .fact-number span{font-size:.875rem;color:var(--ink);margin-left:10px}
.design-c .fact-value{font-size:1.625rem}
.design-c .fact-value span{font-size:.875rem}
.design-c .fact-permit strong{font-size:1.1rem}
.design-c .permit-number{font-size:.75rem}
.design-c .section-heading{align-items:center}
.design-c .section-title .eyebrow{display:inline-block;border-bottom:3px solid #f4aa00;padding-bottom:9px}
.design-c h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.55;font-weight:750}
.design-c .c-only{display:inline}
.design-c .services{background:#fff;padding-top:90px}
.design-c .services-list{gap:28px}
.design-c .service{border-radius:24px;overflow:hidden;background:#f8f3ed}
.design-c .service-photo{height:260px}
.design-c .service-photo .service-number{border-radius:50%;color:#241b15;background:#f4aa00;font-size:1.125rem}
.design-c .service-text{padding:30px 34px 35px}
.design-c .service-tags span{background:#fff;border-radius:25px}
.design-c .fireproof-panel{height:260px;background:#f4aa00;color:#302114;align-items:flex-start;padding:42px 40px 28px}
.design-c .fireproof-panel .service-number{top:22px;left:auto;right:25px;border:1px solid #b17900;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#41310e;font-size:1.125rem}
.design-c .fireproof-panel>p{font-size:1.9rem;font-weight:700;line-height:1.7}
.design-c .panel-label{color:#5b4106}
.design-c .about{background:#f8f3ed}
.design-c .about-intro{grid-template-columns:1fr 1.15fr;gap:65px}
.design-c .process-photos figure>img{border-radius:18px;aspect-ratio:2.05}
.design-c .work-image{border-radius:20px}
.design-c .photo-label{border-radius:7px}
.design-c .roof-photo>img{border-radius:18px}
.design-c .company{background:#f8f3ed}
.design-c .company-inner{gap:60px}
.design-c .company-details{background:#fff;border:0;border-radius:20px;padding:8px 30px}
.design-c .company-details>div{grid-template-columns:140px minmax(0,1fr);gap:20px}
.design-c .company-details>div:last-child{border-bottom:0}
.design-c .company-logo{padding:0;background:none}
.design-c .contact{background:#fff0da;color:#2f2721}
.design-c .contact .eyebrow{color:#a04b00}
.design-c .contact-title>p,.design-c .contact-area{color:#5a493b}
.design-c .contact-options{border:0}
.design-c .contact-phone,.design-c .contact-mail{background:#fff;border:0;border-radius:18px;padding:23px 28px}
.design-c .contact-mail{margin-top:14px}
.design-c .contact-label,.design-c .contact-hours{color:#6e6259}
.design-c .contact-options a:hover{color:#a04b00}

@media(min-width:1650px){.design-a .hero-photo{height:590px}.design-b .hero-b{min-height:740px}}
@media(max-width:1160px){
 .header-inner{gap:22px;min-height:92px}.header-inner .brand{width:244px}.site-nav{gap:18px}.site-nav .nav-contact{padding:13px 18px}.hero h1{font-size:clamp(2.25rem,4.5vw,3.8rem)}.design-a .hero-a{column-gap:40px}.design-a .hero-photo{height:490px}.fact{padding-inline:25px}.fact-value{font-size:1.5rem}.fact-permit strong{font-size:1rem}.fact-value span{display:block;line-height:1.5;margin:0}.design-b .fact-value{font-size:1.6rem}.section{padding-block:86px}.about-intro,.design-b .about-intro{gap:50px}.company-inner,.design-b .company-inner{gap:55px;grid-template-columns:.65fr 1.35fr}.company-details>div{grid-template-columns:130px minmax(0,1fr);gap:20px}.contact-inner{gap:50px}.design-b .service-text{padding:37px}.design-b .fireproof-panel{padding:40px}.design-c .fact{padding-inline:16px}.design-c .fact-value span{display:inline;margin-left:5px}.design-c .company-inner{gap:38px}.design-c .company-details{padding-inline:24px}.design-c .company-details>div{grid-template-columns:120px minmax(0,1fr);gap:15px}
}
@media(max-width:960px){
 .header-inner{flex-wrap:wrap;gap:0;padding-block:20px;min-height:90px}.site-nav{width:100%;flex-wrap:wrap;gap:6px 23px;padding-top:18px}html[data-enhanced="true"] .menu-toggle{display:flex}html[data-enhanced="true"] .site-nav{display:none}html[data-enhanced="true"] .site-nav.is-open{display:flex}.menu-toggle{margin-left:auto}.design-a .hero-a{column-gap:30px;padding-top:28px}.design-a .hero-photo{height:470px}.design-a .hero-copy>.eyebrow{font-size:.75rem;line-height:1.8;margin-bottom:24px}.hero-lead{font-size:1rem}.design-a .hero-copy{padding-block:30px}.hero .button{margin-top:25px}.facts-inner{grid-template-columns:1fr 1fr;gap:0}.fact-permit{grid-column:1/-1;border:0;border-top:1px solid var(--line);margin-top:22px;padding:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.fact-permit .fact-label{grid-column:1}.fact-permit strong{grid-column:1;font-size:1.1rem}.permit-number{grid-column:2;grid-row:1/3;align-self:center}.fact-value{font-size:1.75rem}.fact-value span{display:inline;margin-left:10px}.about-intro{gap:35px}.about-copy{padding-top:20px}.desktop-break{display:none}.section-heading{gap:30px}.section-heading>p{max-width:390px}.service-text{padding:27px}.service-text>h3{font-size:1.625rem}.services-list{gap:23px}.service-photo,.fireproof-panel{height:235px}.fireproof-panel>p{font-size:1.5rem}.work-bottom{gap:34px}.company-inner,.design-b .company-inner{grid-template-columns:.55fr 1.45fr;gap:30px}.company-details>div{grid-template-columns:115px minmax(0,1fr);gap:15px}.company-heading h2{font-size:1.8rem}.contact-inner{gap:35px}.phone-number{font-size:1.85rem}.email-address{font-size:1.15rem}.design-b .hero-b{min-height:630px}.design-b .service-text{padding:31px}.design-b .service-text>h3{font-size:1.75rem}.design-b .fireproof-panel{padding:34px}.design-b .fireproof-panel>p{font-size:1.9rem}.design-b .about-intro{gap:38px}.design-b .hero h1{font-size:3.9rem}.design-b .hero-photo img{object-position:62% center}.design-b .hero-b::before{background:linear-gradient(90deg,rgba(12,16,18,.94),rgba(12,16,18,.55) 60%,rgba(12,16,18,.3))}.design-c .hero-gallery{gap:18px}.design-c .hero-gallery figure{height:180px;border-radius:18px}.design-c .hero-gallery figure:nth-child(2){height:230px;border-radius:22px}.design-c .facts-inner{grid-template-columns:1fr 1fr;gap:18px}.design-c .fact-permit{display:flex;grid-column:1/-1;margin:0;padding:18px 20px}.design-c .fact-value{font-size:1.75rem}.design-c .fact-value span{display:inline}.design-c .service-text{padding-inline:28px}.design-c .fireproof-panel{padding-inline:28px}.design-c .about-intro{gap:38px}.design-c .company-inner{grid-template-columns:.55fr 1.45fr;gap:25px}.design-c .company-details>div{grid-template-columns:110px minmax(0,1fr)}.design-c .company-details{padding-inline:22px}.design-c .contact-phone,.design-c .contact-mail{padding-inline:22px}
}
@media(max-width:680px){
 html{scroll-padding-top:68px}.review-inner{padding:7px 14px;gap:12px;min-height:52px}.review-home{font-size:.8125rem}.review-current{font-size:.8125rem}.review-description{display:none}.review-inner nav{gap:4px}.review-inner nav a{padding:7px 10px;font-size:.8125rem}.header-inner{min-height:81px;padding-block:15px}.header-inner .brand{width:220px;max-width:calc(100% - 70px)}.site-nav,.site-nav.is-open{flex-direction:column;align-items:stretch;gap:0;padding:18px 0 3px}.site-nav a{border-top:1px solid #d8ddd7;padding:13px 4px}.site-nav .nav-contact{padding:13px 18px;margin-top:8px;text-align:center}.section{padding-block:65px}h2{font-size:1.9375rem;line-height:1.6}.eyebrow{font-size:.75rem}.section-title>.eyebrow{margin-bottom:14px}.button{padding:16px 23px;gap:32px;min-height:56px}.hero h1{font-size:clamp(2.05rem,7.6vw,3rem);line-height:1.52}.hero-lead{font-size:1rem;line-height:1.95;margin-top:21px}.hero-bottom-note{font-size:.75rem;letter-spacing:.04em}.hero-bottom-note>span{max-width:230px}.facts-inner{padding-block:24px}.fact{padding:0 0 0 22px;justify-content:flex-start}.fact-label{font-size:.8125rem}.fact-number{font-size:2.75rem}.fact-number span{font-size:.875rem;margin-left:10px}.fact-value{font-size:1.5rem;line-height:1.6}.fact-value span{display:block;font-size:.875rem;margin-left:0;line-height:1.5}.fact-permit{padding:20px 0 0;display:flex;gap:0;margin-top:22px}.fact-permit strong{font-size:1.0625rem}.permit-number{align-self:flex-start;font-size:.75rem;margin-top:5px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:1rem;padding-bottom:0;margin-top:17px;max-width:none}.about-intro{display:block}.about-copy{padding-top:24px;font-size:1rem}.about-copy .lead{font-size:1.125rem}.process-photos{gap:14px;margin-top:30px}.process-photos figure>img{aspect-ratio:1.15}.process-photos figcaption{display:block;font-size:.875rem;line-height:1.7;margin-top:9px}.process-photos figcaption>span{display:block;font-size:.75rem;line-height:1.5;margin-top:3px}.services-list{grid-template-columns:1fr;gap:27px}.service-photo{height:auto;aspect-ratio:1.65}.service-text{padding:27px 25px 29px}.service-text h3{font-size:1.625rem}.service-text>p:not(.eyebrow){font-size:1rem}.service-tags{margin-top:22px;margin-bottom:24px}.fireproof-panel{height:230px;align-items:flex-start;padding:48px 28px 25px;gap:14px}.fireproof-panel>p{font-size:1.7rem}.fireproof-panel .service-number{left:auto;right:23px;font-size:1.4rem}.line-link{font-size:.875rem}.work-comparison{gap:10px}.work-image{aspect-ratio:1/1.1}.photo-label{bottom:9px;left:9px;gap:0;padding:5px 9px;font-size:.8125rem}.photo-label>span{display:none}.work-caption{padding:15px 0 19px;display:block}.work-caption h3{font-size:1.125rem}.work-caption>span{font-size:.75rem}.work-bottom{grid-template-columns:1fr;gap:33px;margin-top:31px}.roof-photo>img{aspect-ratio:1.65}.roof-photo figcaption{font-size:.875rem;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.past-projects>h3{font-size:1.1875rem}.past-project{padding-block:16px}.past-project h4{font-size:1.0625rem}.company-inner{display:block}.company-heading h2{font-size:1.9375rem}.company-heading>p:not(.eyebrow),.company-logo{display:none}.company-details{margin-top:30px}.company-details>div{grid-template-columns:104px minmax(0,1fr);gap:17px;padding-block:18px;font-size:1rem}.company-details dt{font-size:.875rem}.contact{padding-block:62px}.contact-inner{grid-template-columns:1fr;gap:33px}.contact h2{font-size:1.875rem}.contact-title>p:not(.eyebrow){font-size:1rem;margin-top:20px}.contact-area{font-size:.875rem}.phone-number{font-size:2rem}.email-address{font-size:1.3rem}.contact-options{width:100%}.contact-phone{padding-block:22px}.contact-mail{padding-block:23px}.footer-inner{flex-wrap:wrap;gap:20px}.site-footer{padding-block:28px}.site-footer .brand{width:200px;max-width:65%}.site-footer p{order:3;width:100%;font-size:.75rem}.back-top{font-size:.75rem;margin-left:auto}.mobile-break{display:inline}
 .design-a .hero-a{display:flex;flex-direction:column;align-items:stretch;padding-top:34px;padding-bottom:19px;gap:25px}.design-a .hero-copy{padding:0}.design-a .hero-copy>.eyebrow{margin-bottom:23px;font-size:.75rem;letter-spacing:.12em}.design-a .hero h1{font-size:clamp(2.2rem,9vw,3.125rem);line-height:1.55;letter-spacing:.015em}.design-a .hero .button{margin-top:24px}.design-a .hero-note{margin-top:25px;font-size:.8125rem}.design-a .hero-photo{height:auto;aspect-ratio:1.32}.design-a .hero-photo img{height:100%;object-position:50% 56%}.design-a .hero-photo figcaption{bottom:15px;left:15px;padding:7px 10px}.design-a .hero-bottom-note{gap:10px;font-size:.75rem}.design-a .hero-bottom-note>span{max-width:220px;line-height:1.6}.design-a .about{padding-block:68px}
 .design-b .hero-b{min-height:650px}.design-b .hero-copy{padding-top:60px;padding-bottom:95px}.design-b .hero h1{font-size:clamp(2.55rem,10vw,3.75rem);line-height:1.45}.design-b .hero .eyebrow{font-size:.75rem;line-height:1.8;letter-spacing:.12em;max-width:270px;margin-bottom:29px}.design-b .hero-photo img{object-position:65% center}.design-b .hero-b::before{background:linear-gradient(90deg,rgba(12,16,18,.9),rgba(12,16,18,.54) 65%,rgba(12,16,18,.37))}.design-b .hero-lead{font-size:1rem;line-height:2;margin-top:23px}.design-b .hero .button{margin-top:29px;min-width:223px}.design-b .hero-bottom-note{bottom:19px;font-size:.75rem;gap:15px}.design-b .hero-bottom-note>span{max-width:200px;line-height:1.7}.design-b .fact-value{font-size:1.5rem}.design-b h2{font-size:2.1rem;line-height:1.55}.design-b .about-intro{display:block}.design-b .process-photos{gap:14px}.design-b .process-photos figure>img{aspect-ratio:1.15}.design-b .services{padding-top:18px}.design-b .service{display:flex}.design-b .service-photo{height:auto;min-height:0;aspect-ratio:1.65}.design-b .fireproof-panel{order:0;height:auto;min-height:255px;padding:32px 29px;gap:13px}.design-b .fireproof-panel .service-number{font-size:1.75rem;margin-bottom:0}.design-b .fireproof-panel>p{font-size:1.9rem}.design-b .service-text{padding:29px}.design-b .service-text h3{font-size:1.75rem}.design-b .fireproof-service{margin-top:25px}.design-b .work-bottom{gap:33px}.design-b .company-inner{display:block}.design-b .company-heading h2{font-size:2.1rem}.design-b .contact h2{font-size:1.9rem}
 .design-c .hero-c{padding-top:25px;padding-bottom:32px;background:linear-gradient(#fff 73%,#fff0da 73%)}.design-c .hero-location{font-size:.8125rem;padding:4px 14px;margin-bottom:18px}.design-c .hero h1{font-size:clamp(1.75rem,7vw,2.625rem);line-height:1.65;letter-spacing:.005em}.design-c .hero-lead{font-size:1rem;line-height:1.85;margin-top:16px}.design-c .hero .button{margin-top:23px;padding:16px 24px}.design-c .hero-copy{padding-bottom:29px}.design-c .hero-gallery{grid-template-columns:1fr 1.6fr 1fr;gap:10px;width:calc(100% + 54px);margin-left:-27px}.design-c .hero-gallery figure{height:148px;border-radius:16px}.design-c .hero-gallery figure:nth-child(2){height:190px;border-radius:20px}.design-c .hero-gallery figure:nth-child(2) img{object-position:65% center}.design-c .hero-gallery figcaption{font-size:.75rem;left:10px;right:10px;bottom:10px;padding:5px 8px;line-height:1.5}.design-c .facts{padding-bottom:31px}.design-c .facts-inner{gap:12px;padding-block:0}.design-c .fact{padding:16px 12px;border-radius:14px}.design-c .fact-label{font-size:.8125rem}.design-c .fact-number{font-size:2.5rem}.design-c .fact-number span{font-size:.8125rem;margin-left:7px}.design-c .fact-value{font-size:1.375rem;line-height:1.55}.design-c .fact-value span{font-size:.8125rem;display:block;margin:0}.design-c .fact-permit{padding:16px 18px;margin:0}.design-c .fact-permit strong{font-size:1rem}.design-c .permit-number{font-size:.75rem;align-self:center;line-height:1.8}.design-c .services{padding-top:64px}.design-c h2{font-size:2rem;line-height:1.65}.design-c .section-heading{display:block}.design-c .section-heading>p{font-size:1rem}.design-c .c-only{display:none}.design-c .services-list{gap:25px}.design-c .service{border-radius:20px}.design-c .service-photo{height:auto;aspect-ratio:1.65}.design-c .service-text{padding:27px}.design-c .fireproof-panel{height:244px;padding:45px 30px 28px}.design-c .fireproof-panel>p{font-size:1.8rem}.design-c .about-intro{display:block}.design-c .process-photos figure>img{aspect-ratio:1.15;border-radius:15px}.design-c .work-image{border-radius:14px}.design-c .photo-label{border-radius:5px}.design-c .company-inner{display:block}.design-c .company-details{padding:4px 20px;border-radius:17px}.design-c .company-details>div{grid-template-columns:96px minmax(0,1fr);gap:15px}.design-c .company-heading h2{font-size:2rem}.design-c .contact h2{font-size:1.875rem}.design-c .contact-phone,.design-c .contact-mail{padding:22px 24px;border-radius:16px} 
}
@media(max-width:370px){
 .review-inner{gap:9px;padding-inline:11px}.review-current{display:none}.header-inner .brand{width:201px}.hero-lead br:not(.mobile-break){display:none}.fact-number span{display:block;margin:4px 0 0}.fact-value{font-size:1.4rem}.fact-number{font-size:2.6rem}.company-details>div{grid-template-columns:88px minmax(0,1fr);gap:14px}.phone-number{font-size:1.8rem}.email-address{font-size:1.125rem}.site-footer .brand{width:175px}.back-top{font-size:.75rem}.design-c .fact-number span{display:inline;margin-left:6px}.design-c .fact-value{font-size:1.25rem}.design-c .company-details{padding-inline:16px}.design-c .company-details>div{grid-template-columns:87px minmax(0,1fr);gap:11px}.design-c .contact-phone,.design-c .contact-mail{padding-inline:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
