@charset "UTF-8";
:root{color-scheme:dark;--orange:#f47b0b;--orange-hover:#ff9631;--ink:#0c0d0b;--surface:#141512;--paper:#f4f3ee;--text:#f7f6ef;--muted:#b2b4a9;--line:#34362e;--radius:8px;--width:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--ink);color:var(--text);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;font-weight:600;letter-spacing:-.045em}h2{font-size:clamp(34px,3.4vw,50px)}h3{font-size:25px;letter-spacing:-.025em}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--ink)}.container{width:min(var(--width),calc(100% - 112px));margin-inline:auto}.section{padding:100px 0}.eyebrow{font-size:13px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px;color:var(--orange);display:flex;align-items:center;gap:12px}.accent-line{display:inline-block;width:24px;height:2px;background:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 23px;min-height:54px;border-radius:5px;font-weight:650;font-size:15px;line-height:1.4;transition:background .2s,transform .2s;white-space:nowrap}.button span{font-size:22px;line-height:1}.button:hover{transform:translateY(-2px)}.button-orange{background:var(--orange);color:var(--ink)}.button-orange:hover{background:var(--orange-hover)}.button-dark{background:var(--ink);color:var(--text)}.button-dark:hover{background:#282a22}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:15px;font-weight:600;border-bottom:1px solid var(--line);padding:9px 0}.text-link:hover{color:var(--orange)}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:var(--paper);color:var(--ink);padding:12px 18px}.skip-link:focus{top:100px}
.site-header{position:sticky;top:0;z-index:20;background:var(--orange);color:var(--ink);border-bottom:1px solid #db6800}.header-inner{max-width:1440px;padding:10px 56px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}.brand{width:148px;flex-shrink:0;background:var(--ink);border-radius:5px;padding:4px 10px}.brand img{width:128px;height:57px;object-fit:contain}nav{display:flex;align-items:center;gap:34px}nav>a:not(.button){font-weight:600;font-size:15px;position:relative;padding:10px 0}nav>a:not(.button):after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:4px;background:var(--ink);transition:right .2s}nav>a:hover:after,nav>a[aria-current]:after{right:0}.header-quote{margin-left:12px;padding:12px 20px;min-height:48px}.menu-toggle{display:none}
.hero{background:#090a06}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:25px;align-items:center;padding-top:76px;padding-bottom:72px;min-height:610px}.hero h1{font-size:clamp(45px,4.65vw,70px);letter-spacing:-.055em;max-width:660px;line-height:1.06}.hero h1 span{color:var(--orange)}.hero-description{color:var(--muted);font-size:18px;line-height:1.7;max-width:480px;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.hero-brand img{width:100%;height:auto;border-radius:6px}.hero-bottom{border-top:1px solid var(--line);padding-top:23px;padding-bottom:25px;display:flex;justify-content:space-between;gap:24px;font-size:13px;color:var(--muted)}.hero-bottom a{display:flex;gap:22px;align-items:center;color:var(--text)}.hero-bottom a:hover{color:var(--orange)}
.services{background:var(--surface)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:48px}.section-heading>p{max-width:345px;color:var(--muted);font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-photo{position:relative;border-radius:var(--radius);overflow:hidden;background:#20211c;aspect-ratio:4/5}.service-photo>img{width:100%;height:100%;object-fit:cover}.service-card:first-child .service-photo>img{object-position:48% center}.service-card:nth-child(2) .service-photo>img{object-position:57% center}.service-card:nth-child(3) .service-photo>img{object-position:center center}.photo-number{position:absolute;top:16px;left:16px;background:var(--ink);color:var(--text);border:1px solid #ffffff2a;border-radius:4px;padding:4px 10px;font-size:13px;letter-spacing:.08em}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;margin-bottom:17px}.card-title>span{color:var(--orange);font-size:26px}.service-card>p{color:var(--muted);line-height:1.75;min-height:112px;font-size:16px}.card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;margin-top:24px;font-size:14px;font-weight:600}.card-link:hover{color:var(--orange)}.card-link>span{font-size:22px}.services-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}.services-bottom p{color:var(--muted)}
.section-light{background:var(--paper);color:var(--ink)}.section-light .eyebrow{color:#9b4400}.craft-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.craft-intro h2{font-size:clamp(44px,4.5vw,65px)}.craft-intro h2 span{color:#a64700}.craft-intro>p:last-child{margin-top:28px;max-width:280px;color:#62645a;font-size:18px}.benefits article{display:flex;gap:30px;border-top:1px solid #cecec4;padding:26px 0}.benefits article:first-child{padding-top:6px;border-top:0}.benefit-number{font-size:13px;color:#9b4400;white-space:nowrap;font-weight:650;margin-top:4px}.benefits h3{font-size:24px}.benefits p{color:#5b5e53;margin-top:11px;max-width:440px}.process{background:var(--ink)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:58px 0 0}.steps li{border-top:1px solid var(--line);padding-top:20px}.step-number{display:block;color:var(--orange);font-size:14px;letter-spacing:.08em;margin-bottom:27px}.steps h3{font-size:24px;line-height:1.2}.steps p{font-size:15px;color:var(--muted);margin-top:19px;line-height:1.75}.faq{background:var(--surface);border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.faq .text-link{margin-top:30px}.questions details{border-top:1px solid var(--line)}.questions details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:18px;font-weight:550;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:24px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:26px;font-weight:300;color:var(--orange);transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}.questions details>p{color:var(--muted);padding:0 40px 24px 0;line-height:1.8}.closing{background:#20231b;padding:64px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing .eyebrow{margin-bottom:16px}.closing h2{font-size:clamp(34px,4vw,56px)}.closing p:last-child{color:var(--muted);margin-top:20px}.site-footer{padding:65px 0 0;background:#090a06}.footer-grid{display:grid;grid-template-columns:1.3fr .65fr 1.2fr .7fr;gap:45px;padding-bottom:50px}.footer-brand img{width:160px;height:auto}.footer-brand p{margin-top:22px}.footer-grid h2{font-size:14px;letter-spacing:0;font-weight:600;margin-bottom:22px}.footer-grid>div>a:not(:has(img)){display:block;color:var(--muted);font-size:14px;margin-bottom:9px;overflow-wrap:anywhere}.footer-grid a:hover{color:var(--orange)!important}.footer-grid p{font-size:13px;color:var(--muted);line-height:1.8}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:12px;color:var(--muted)}.footer-bottom a{font-size:13px}.footer-bottom span{margin-left:12px}.reveal{animation:appear .65s ease both}@keyframes appear{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-grid{min-height:650px}.service-photo{aspect-ratio:4/4.6}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{padding-inline:32px}nav{gap:24px}.hero-grid{gap:12px;min-height:540px;padding-top:60px;padding-bottom:60px}.hero h1{font-size:52px}.hero-description{font-size:16px}.hero-actions{gap:20px}.section{padding:80px 0}.section-heading{gap:35px}.service-grid{gap:20px}.card-title h3{font-size:22px}.service-card>p{min-height:168px}.craft-grid,.faq-grid{gap:60px}.footer-grid{gap:25px}.steps{gap:22px}.steps h3{font-size:21px}}
@media(max-width:800px){.header-inner{padding:8px 24px;min-height:76px}.brand{width:132px}.brand img{width:112px;height:50px}.menu-toggle{display:flex;align-items:center;gap:15px;border:1px solid #0c0d0b50;background:transparent;border-radius:5px;padding:9px 13px;min-height:44px;font-weight:600;color:var(--ink)}.menu-symbol{font-size:20px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px 25px;background:var(--orange);border-top:1px solid #0c0d0b30;box-shadow:0 15px 25px #0003;align-items:stretch;gap:6px}nav.is-open{display:flex;flex-direction:column}nav>a:not(.button){padding:12px 0}nav>a:after{display:none}.header-quote{margin:12px 0 0;justify-content:center}.container{width:calc(100% - 48px)}.hero-grid{grid-template-columns:1fr;gap:20px;padding-top:48px;padding-bottom:24px;min-height:0}.hero h1{font-size:clamp(42px,7.6vw,64px);max-width:650px}.hero-description{max-width:520px;font-size:17px}.hero-brand{max-width:500px;width:100%;margin:auto}.hero-brand img{width:100%}.hero-bottom{font-size:12px;padding-block:20px}.hero-bottom>a{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:22px}.section-heading>p{max-width:520px}.service-grid{gap:16px}.service-photo{aspect-ratio:3/4}.card-title h3{font-size:20px}.card-title>span{display:none}.service-card>p{font-size:14px;min-height:190px}.card-link{font-size:13px;gap:10px}.craft-grid,.faq-grid{grid-template-columns:1fr;gap:40px}.craft-intro h2 br{display:none}.craft-intro h2{max-width:600px}.craft-intro>p:last-child{max-width:440px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.closing-inner{align-items:flex-start;flex-direction:column;gap:28px}.faq .text-link{margin-top:20px}}
@media(max-width:560px){.container{width:calc(100% - 40px)}.header-inner{padding-inline:20px}.section{padding:64px 0}.eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:20px}.hero h1{font-size:44px}.hero-grid{padding-top:40px}.hero-description{font-size:16px;margin-top:24px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:27px}.button{font-size:14px;padding:14px 19px;gap:26px}.text-link{font-size:14px;gap:15px}.hero-brand{margin-top:10px}.hero-bottom{padding-top:18px}h2{font-size:36px}.section-heading{margin-bottom:32px}.section-heading>p{font-size:16px}.service-grid{grid-template-columns:1fr;gap:40px}.service-photo{aspect-ratio:1.1}.service-card:first-child .service-photo{aspect-ratio:4/3}.service-card:nth-child(3) .service-photo{aspect-ratio:3/4}.card-title{margin-top:20px;margin-bottom:12px}.card-title h3{font-size:27px}.card-title>span{display:block}.service-card>p{font-size:16px;min-height:0}.card-link{font-size:14px;margin-top:20px;padding-top:14px}.services-bottom{align-items:flex-start;flex-direction:column;margin-top:36px;padding-top:26px}.services-bottom p{max-width:290px}.craft-intro h2{font-size:44px}.benefits article{gap:20px}.benefits h3{font-size:23px}.benefits p{font-size:16px}.steps{gap:32px 23px;margin-top:35px}.step-number{margin-bottom:20px}.steps h3{font-size:21px}.steps p{font-size:15px}.faq-grid{gap:30px}summary{font-size:17px;padding:21px 0}.questions details>p{padding-right:12px;font-size:16px}.closing{padding:48px 0}.closing p:last-child{font-size:16px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-brand{grid-column:1/-1}.footer-grid>div:nth-child(3){grid-column:1/-1;grid-row:3}.footer-grid>div:nth-child(4){grid-column:2;grid-row:2}.footer-grid h2{margin-bottom:17px}.site-footer{padding-top:45px}.footer-grid>div>a:not(:has(img)){font-size:15px}.footer-bottom{align-items:flex-start;font-size:12px}.footer-bottom p{max-width:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Revision 2: header and hero artwork only. All other v1 styles retained. */
.site-header::before{content:"";position:absolute;inset:0 auto 0 0;width:calc(max(0px,(100vw - 1440px)/2) + 252px);background:var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 44px) 100%,0 100%);pointer-events:none}
.header-inner{position:relative;min-height:64px;padding-top:4px;padding-bottom:4px}
.brand{width:130px;background:transparent;border-radius:0;padding:0}
.brand img{width:124px;height:55px;object-fit:contain}
#main-nav{gap:16px}
#main-nav>a:not(.button){padding:8px 14px;border:1px solid transparent;border-radius:7px;transition:background .2s,border-color .2s}
#main-nav>a:not(.button)::after{display:none}
#main-nav>a[aria-current="page"]{background:#d96708;border-color:var(--ink)}
#main-nav>a:not(.button):hover{background:#df6c09;border-color:#0c0d0b70}
.header-quote{min-height:42px;padding:10px 18px;margin-left:8px}
.hero-artwork{position:relative;aspect-ratio:3/2;isolation:isolate;overflow:visible;background:none}
.hero-brand-title{position:absolute;top:18px;left:calc(50% - 30px);right:auto;width:max-content;text-align:left;white-space:nowrap;font-family:inherit;font-size:clamp(32px,3.55vw,52px);line-height:1.06;font-weight:600;letter-spacing:-.055em;color:#fff}
.hero-brand-title span{display:inline;color:var(--orange);font-size:1.2em;font-weight:600;margin:0 10px 0 0}
.hero-grid{position:relative}
.hero-artwork{position:static}
.header-quote{color:var(--orange)}
/* Viewport onto the original bulb: source pixels and logo proportions unchanged. */
.button .quote-bulb{display:inline-block;flex:0 0 20px;width:20px;height:24px;transform:scale(1.25);transform-origin:center;background-image:url('assets/header-logo.png');background-repeat:no-repeat;background-size:53.695px 24px;background-position:-33.898px 0;clip-path:polygon(0 0,100% 0,100% 100%,18% 100%,18% 40%,0 40%);font-size:0;line-height:0}
@media(min-width:801px){.hero{background-color:#090a06;background-image:linear-gradient(90deg,#090a06 0%,#090a06f5 32%,#090a0670 57%,#090a0610 100%),url('assets/hero-house-background-v2.png');background-repeat:no-repeat;background-position:center,right center;background-size:cover,auto 100%}.hero-bottom{position:relative}}
.menu-symbol{display:block;width:18px;height:14px;font-size:0;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.menu-symbol::after{content:"";position:absolute;top:4px;left:0;right:0;border-top:2px solid currentColor}
@media(max-width:1100px){.site-header::before{width:220px}}
@media(max-width:800px){
  .site-header::before{width:190px;clip-path:polygon(0 0,100% 0,calc(100% - 40px) 100%,0 100%)}
  .header-inner{min-height:58px;padding-top:3px;padding-bottom:3px;position:static}
  .brand{position:relative;width:114px;z-index:1}
  .brand img{width:114px;height:51px}
  .menu-toggle{position:relative;background:#dc6a08;border:1px solid #0c0d0b99;border-radius:7px;min-height:42px;padding:8px 13px;gap:12px}
  .menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:#cb5e05;border-color:var(--ink)}
  #main-nav{gap:6px}
  #main-nav>a:not(.button){padding:11px 14px}
  .header-quote{margin:12px 0 0}
  .hero-artwork{display:none}
}




@media(min-width:801px) and (max-width:1100px){.hero-brand-title{font-size:3vw}}
/* Subtle neon treatment matching the architectural hero illustration. */
.hero-brand-title{text-shadow:0 0 3px #ffffff80,0 0 12px #fff3de45,0 0 24px #f47b0b35}
.hero-brand-title span{text-shadow:0 0 3px #f47b0bc0,0 0 12px #f47b0b85,0 0 28px #f47b0b55,0 0 46px #f47b0b25}
/* Services page: shared Home header, footer, cards and buttons above. */
.services-intro{padding:76px 0 66px;background:#090a06;border-bottom:1px solid var(--line)}
.services-intro h1{font-size:clamp(44px,4.65vw,70px);line-height:1.06;letter-spacing:-.055em;max-width:950px}
.services-intro h1 span{color:var(--orange)}
.services-intro-copy{max-width:630px;font-size:18px;line-height:1.75;color:var(--muted);margin-top:28px}
.services-intro .text-link{margin-top:26px}
.additional-services .section-heading>p{color:#5b5e53}
.additional-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 40px}
.additional-service{border-top:1px solid #cecec4;padding-top:27px}
.additional-icon{color:#a64700;width:40px;height:40px;margin-bottom:25px}
.additional-icon svg{width:100%;height:100%;display:block}
.additional-service h3{font-size:24px;line-height:1.2;max-width:300px}
.additional-service p{color:#5b5e53;line-height:1.75;margin-top:16px}
@media(max-width:800px){.additional-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.services-intro{padding:54px 0}.services-intro-copy{font-size:17px}}
@media(max-width:560px){.services-intro{padding:40px 0 44px}.services-intro h1{font-size:44px}.services-intro-copy{font-size:16px;margin-top:24px}.additional-grid{grid-template-columns:1fr;gap:32px}.additional-service h3{max-width:none}.additional-icon{margin-bottom:18px}}
/* Services-only hero image and tighter section spacing. */
.services-page .services-intro{position:relative;isolation:isolate;padding-bottom:42px;overflow:hidden}
.services-page .services-intro::before{content:"";position:absolute;inset:0 0 0 44%;z-index:-1;background:linear-gradient(90deg,#090a06 0%,#090a0699 19%,#090a0626 52%,#090a0610 100%),url('assets/services-equipment.jpg') center/cover no-repeat}
.services-page .services-intro h1,.services-page .services-intro-copy{position:relative;max-width:58%}
.services-page .services-intro-copy{text-shadow:0 1px 8px #090a06}
.services-page #primary-services{padding-top:60px;padding-bottom:60px}
.services-page .additional-services{padding-top:60px}
@media(max-width:1100px){.services-page .services-intro h1{font-size:clamp(40px,4.65vw,52px)}.services-page .services-intro::before{left:42%;background-image:linear-gradient(90deg,#090a06 0%,#090a06bb 24%,#090a0633 70%),url('assets/services-equipment.jpg')}}
@media(max-width:800px){.services-page .services-intro{padding-bottom:32px}.services-page .services-intro h1,.services-page .services-intro-copy{max-width:100%}.services-page .services-intro::before{left:25%;opacity:.32}.services-page #primary-services{padding-top:44px;padding-bottom:44px}.services-page .additional-services{padding-top:44px}}
@media(max-width:560px){.services-page .services-intro{padding-bottom:26px}.services-page .services-intro h1{font-size:44px}.services-page .services-intro::before{left:10%;opacity:.22}.services-page #primary-services{padding-top:36px;padding-bottom:36px}.services-page .additional-services{padding-top:36px}}
/* A restrained orange divider between the Services intro and main focus. */
.services-page .services-intro{border-bottom:2px solid var(--orange)}
/* Portfolio: original proportions, no categories, captions or lightbox. */
.portfolio-heading{background:#090a06;padding:54px 0 38px}
.portfolio-heading h1{font-size:clamp(44px,4.65vw,70px);line-height:1.06;letter-spacing:-.055em}
.portfolio-heading h1 span{color:var(--orange)}
.portfolio-page{background:#090a06}
.portfolio-gallery{columns:2;column-gap:24px;padding-top:12px}
.portfolio-gallery>img{width:100%;height:auto;border-radius:8px;display:block;break-inside:avoid;margin:0 0 24px;image-orientation:from-image}
.portfolio-quote{display:flex;justify-content:center;padding-top:28px;padding-bottom:60px}
@media(max-width:600px){.portfolio-heading{padding:36px 0 26px}.portfolio-gallery{columns:1;padding-top:0}.portfolio-gallery>img{margin-bottom:20px}.portfolio-quote{padding-top:12px;padding-bottom:44px}}
/* Contact page: direct contact cards, no request form. */
.contact-page{background:#090a06}
.contact-intro{position:relative;isolation:isolate;padding:64px 0 76px;overflow:hidden}
.contact-intro::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#090a06 25%,#090a0690 58%,#090a0620),url('assets/hero-house-background-v2.png') right 12px top 0 / min(56vw,720px) auto no-repeat;pointer-events:none}
.contact-heading{max-width:660px}
.contact-intro h1{font-size:clamp(44px,5.5vw,76px);line-height:1.05;letter-spacing:-.04em;margin:0 0 26px;font-weight:600}
.contact-intro h1 span{color:var(--orange)}
.contact-lead{max-width:600px;font-size:18px;line-height:1.7;color:#c4c4bd}
.contact-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:52px}
.contact-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px 22px;border:1px solid #f47b0b80;border-top:3px solid var(--orange);border-radius:8px;background:#1b1d16f5;text-decoration:none;transition:background .2s,border-color .2s}
.contact-card:hover{background:#292b20;border-color:var(--orange)}
.contact-card:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.contact-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:12px;background:#f47b0b18;color:var(--orange);margin-bottom:26px}
.contact-icon svg{width:30px;height:30px}
.contact-card-label{color:var(--orange);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:12px}
.contact-card-title{color:#fffaf0;font-size:clamp(18px,1.65vw,25px);font-weight:600;line-height:1.4;overflow-wrap:anywhere;max-width:100%}
.contact-card-copy{color:#bfc1b6;font-size:14px;line-height:1.6;margin-top:12px}
@media(max-width:1100px){.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card-title{font-size:25px}.contact-intro::before{opacity:.65}}
@media(max-width:700px){.contact-intro{padding:40px 0 48px}.contact-intro::before{opacity:.22;background-position:center,right top;background-size:auto,450px auto}.contact-lead{font-size:16px}.contact-cards{margin-top:32px;gap:16px}.contact-card{padding:22px 18px}.contact-card-title{font-size:21px}}
@media(max-width:480px){.contact-cards{grid-template-columns:1fr}.contact-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:18px}.contact-icon{grid-row:1/4;width:48px;height:48px;margin:0}.contact-card-label,.contact-card-title,.contact-card-copy{grid-column:2}.contact-card-title{font-size:clamp(17px,5.2vw,23px)}.contact-card-label{margin-bottom:6px}.contact-card-copy{margin-top:8px}}
/* Individual service pages. */
.detail-hero{padding:48px 0 56px;border-bottom:2px solid var(--orange)}
.detail-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.detail-back{display:inline-block;color:#b2b4a9;font-size:14px;margin-bottom:28px}
.detail-back:hover{color:var(--orange)}
.detail-hero h1{font-size:clamp(44px,4.8vw,68px);line-height:1.07;letter-spacing:-.05em}
.detail-hero h1 span{color:var(--orange)}
.detail-lead{color:var(--muted);font-size:18px;line-height:1.7;margin:26px 0 30px;max-width:540px}
.detail-hero-photo{width:100%;border-radius:8px;border:1px solid #ffffff20}
.detail-local{padding:48px 0;background:#1c1e16}
.detail-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.detail-split>div>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.8}
.detail-split>div>p+p{margin-top:16px}
.detail-section{padding:64px 0}
.detail-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 36px;margin-top:40px}
.detail-capabilities article{border-top:2px solid var(--orange);padding-top:24px}
.detail-capabilities h3,.detail-scenes h3{font-size:24px;margin-bottom:14px}
.detail-capabilities p,.detail-scenes p{color:var(--muted);line-height:1.75}
.detail-light{background:var(--paper);color:var(--ink)}
.detail-light .eyebrow{color:#a64a00}
.detail-light .detail-split>div>p:not(.eyebrow){color:#55584e}
.detail-control{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.detail-control img{border-radius:8px;width:100%}
.detail-control h2{margin-bottom:24px}
.detail-control p:not(.eyebrow){color:#55584e;line-height:1.75;margin-bottom:16px}
.control-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.control-options span{border:1px solid #96988d;border-radius:5px;padding:7px 12px;font-size:14px}
.detail-section-copy{max-width:600px;color:var(--muted);margin-top:24px;font-size:17px}
.detail-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.detail-scenes article{padding:28px;background:#1a1c15;border:1px solid var(--line);border-radius:8px}
.detail-scenes h3{color:var(--orange)}
.detail-technical .questions{margin-top:36px;max-width:960px}
@media(max-width:1000px){.detail-hero-grid,.detail-control{gap:32px}.detail-split{gap:40px}.detail-scenes{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-capabilities{gap:28px}.detail-hero h1{font-size:48px}}
@media(max-width:700px){.detail-hero{padding:32px 0 36px}.detail-hero-grid,.detail-control,.detail-split{grid-template-columns:1fr;gap:28px}.detail-hero h1{font-size:clamp(40px,9vw,54px)}.detail-lead{font-size:16px}.detail-hero-photo{max-height:320px;object-fit:cover}.detail-section{padding:44px 0}.detail-local{padding:36px 0}.detail-capabilities,.detail-scenes{grid-template-columns:1fr;gap:24px}.detail-capabilities{margin-top:28px}.detail-scenes article{padding:24px}.detail-control img{max-height:350px;object-fit:cover}.detail-back{margin-bottom:20px}}
.custom-lighting-page .lighting-hero-photo{max-height:540px;width:auto;max-width:100%;justify-self:center;object-fit:contain}
@media(max-width:700px){.custom-lighting-page .lighting-hero-photo{max-height:360px}}
.service-card{position:relative}
.service-card .card-link::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.service-card:hover .card-link,.service-card:focus-within .card-link{color:var(--orange)}
.service-card .card-link:focus-visible{outline:none}
.service-card .card-link:focus-visible::after{outline:3px solid var(--orange);outline-offset:6px}
.services-actions{display:flex;gap:16px;flex-wrap:wrap}
.button-outline{border:1px solid var(--orange);color:var(--orange);background:transparent}
.button-outline:hover{background:#f47b0b18}
@media(max-width:560px){.services-actions{width:100%}.services-actions .button{justify-content:center}}

/* Return to Home, directly below the shared header. */
.page-home-nav{display:block;position:sticky;top:var(--header-height,64px);z-index:19;background:transparent;padding:12px 20px;border:0;box-shadow:none;pointer-events:none}
.page-home-nav>.container{width:auto;max-width:none;margin:0}
.page-home-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;color:var(--orange);background:var(--ink);border:1px solid #f47b0b70;border-radius:7px;text-decoration:none;font-size:15px;font-weight:600;transition:background .2s,border-color .2s;pointer-events:auto}
.page-home-link:hover{background:#f47b0b18;border-color:var(--orange)}
.page-home-link:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.page-home-link svg{flex:none}
.page-home-link.is-up svg{transform:rotate(90deg)}
.migration-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.migration-faq{max-width:900px;margin-top:40px}
.migration-faq details{border-bottom:1px solid var(--line);padding:20px 0}
.migration-faq summary{cursor:pointer;font-size:clamp(18px,2vw,23px);font-weight:600;line-height:1.5;padding:8px 32px 8px 0;position:relative}
.migration-faq summary::after{content:'+';position:absolute;right:0;top:8px;color:var(--orange)}
.migration-faq details[open] summary::after{content:'−'}
.migration-faq summary:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.migration-faq details[open] summary{color:var(--orange)}
.migration-faq details p{max-width:760px;color:var(--muted);line-height:1.8;margin:16px 0}

.about-page .about-portrait{max-width:480px;justify-self:center;object-fit:contain;max-height:none;height:auto}
