/* Guardian / Voltage. Final shared theme; the interactive energy hero owns its own presentation. */
:root{
  --ink:#e9f3f8;
  --paper:#080c12;
  --lime:#d9ff77;
  --muted:#a8b8c5;
  --line:#293643;
  --white:#f3f8fc;
  --cyan:#6fe7ff;
  --surface:#101923;
  --surface-raised:#15212c;
  color-scheme:dark;
}
body{
  color:var(--ink);
  background-color:var(--paper);
  background-image:linear-gradient(#8ecae908 1px,transparent 1px),linear-gradient(90deg,#8ecae908 1px,transparent 1px);
  background-size:96px 96px;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--cyan);color:#08131b}
em{color:var(--cyan)}
h1,h2,h3{color:var(--ink)}
.eyebrow{color:var(--cyan);letter-spacing:.16em}
.eyebrow>span:empty{border-radius:0;box-shadow:0 0 12px #6fe7ff48}
.caption,.fine-print{color:var(--muted)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.skip{color:#08131b;box-shadow:0 4px 25px #0006}
.button{
  border-radius:4px;
  background:var(--lime);
  color:#111a14;
  border:1px solid var(--lime);
  min-height:56px;
  box-shadow:inset 0 1px 0 #ffffff50;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.button:hover{background:#e6ffad;border-color:#e6ffad;box-shadow:0 8px 30px #d9ff7717;transform:translateY(-2px)}
.button-dark{background:var(--surface-raised);border-color:#48606f;color:var(--ink)}
.button-dark:hover{background:#203442;border-color:var(--cyan);color:#fff}
.text-link{border-bottom-color:#647987;color:var(--ink);gap:22px}
.text-link:hover{color:var(--cyan);border-bottom-color:var(--cyan)}
.text-link>.icon{color:var(--cyan)}
.section-heading em{color:var(--cyan)}

/* A quiet utility rail and a crisp, translucent navigation bar. */
.utility{background:#06090e;color:#b7c8d3;border-bottom:1px solid #20313c;letter-spacing:.12em}
.utility .container{height:41px}
.utility .icon{color:var(--cyan)}
.header-social{gap:20px}
.header-social a{border:0;border-radius:0;color:#ccdae4;padding:4px 0;min-height:32px;font-size:10px;gap:8px}
.header-social a:hover{color:var(--cyan);background:transparent}
.header-social a>span:first-child{color:var(--cyan);font-size:14px}
.header-social a .icon{opacity:.6;width:12px;height:12px}
.site-header{background:#080d14f0;border-bottom:1px solid #314251;box-shadow:0 8px 25px #00000015;backdrop-filter:blur(20px)}
.site-header:after{content:'';position:absolute;bottom:-1px;left:0;width:23%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);pointer-events:none}
.nav-wrap{height:88px;gap:27px}
.site-header .brand img{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.96}
.nav-wrap nav{gap:25px}
.nav-wrap nav a{position:relative;color:#c6d2dc;font-size:11px;letter-spacing:.025em}
.nav-wrap nav a:after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav-wrap nav a:hover,.nav-wrap nav a[aria-current]{color:var(--cyan)}
.nav-wrap nav a:hover:after,.nav-wrap nav a[aria-current]:after{transform:scaleX(1)}
.header-phone{color:#e5f4fc;font-size:11px}
.header-cta{background:transparent;border:1px solid #668a96;color:var(--cyan);min-height:45px;padding:11px 17px;box-shadow:none;font-size:11px}
.header-cta:hover{background:var(--cyan);border-color:var(--cyan);color:#06121a;box-shadow:0 5px 24px #6fe7ff18}
.menu-toggle span{background:var(--ink)}
.nojs-nav{background:#101923;color:var(--ink);border-bottom:1px solid var(--line)}

/* Inner pages open with atmosphere, generous typography and an electrical trace. */
.inner-hero,.work-intro,.project-detail-hero{
  position:relative;
  isolation:isolate;
  background:radial-gradient(ellipse at 83% 15%,#153349a3,transparent 52%),linear-gradient(120deg,#0a111b,#101923 65%,#0a121c);
  border-bottom:1px solid #2b414f;
  overflow:hidden;
}
.inner-hero{padding:40px 0 84px}
.inner-hero:before,.work-intro:before,.project-detail-hero:before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(#6fe7ff0d 1px,transparent 1px),linear-gradient(90deg,#6fe7ff0d 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(110deg,transparent 20%,#000 100%);
}
.inner-hero:after,.work-intro:after{
  content:'';position:absolute;right:-100px;bottom:40px;width:min(720px,64vw);height:240px;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,#6fe7ff08,#6fe7ff65);
  clip-path:polygon(0 85%,29% 85%,42% 46%,66% 46%,86% 0,100% 0,100% 1%,86% 1%,66.2% 47%,42.2% 47%,29.2% 86%,0 86%);
}
.inner-hero>.container{gap:75px;align-items:center}
.inner-copy{position:relative;padding-top:2px}
.inner-copy:after{content:'';display:block;width:130px;height:2px;background:linear-gradient(90deg,var(--cyan),#6fe7ff00);margin-top:36px}
.inner-hero .breadcrumbs,.work-intro .breadcrumbs,.project-detail-hero .breadcrumbs{color:#a1b6c6;font-size:10px;letter-spacing:.03em;margin-bottom:51px;gap:13px}
.breadcrumbs a{border-bottom-color:#526f83;color:#d9e9f2}
.breadcrumbs a:hover{color:var(--cyan)}
.inner-hero .eyebrow{font-size:9px;color:var(--cyan);margin-bottom:22px}
.inner-hero h1{font-size:clamp(48px,5.9vw,88px);line-height:1.055;letter-spacing:-.064em;max-width:980px;text-wrap:balance}
.inner-hero h1 em,.work-intro h1 em,.project-detail-heading h1 em{color:var(--cyan)}
.inner-hero .inner-copy>p:not(.eyebrow){color:#b5c7d3;font-size:15px;line-height:1.8;max-width:560px;margin-top:29px}
.inner-hero.with-image .inner-copy{max-width:790px}
.inner-hero.with-image figure{position:relative;transform:none;min-height:380px;max-height:510px;width:36%;border:1px solid #536c7b;border-radius:3px 46px 3px 3px;box-shadow:16px 16px 0 #6fe7ff08,0 24px 70px #0005}
.inner-hero figure>img{min-height:100%;max-height:510px;object-position:center}
.inner-hero figcaption,.inner-hero figcaption:has(a){background:linear-gradient(transparent,#060d17f5 26%);color:#d8e7ef;letter-spacing:.02em;font-size:9px;line-height:1.65;padding:30px 19px 17px}
.work-intro{padding:42px 0 78px}
.work-intro h1{font-size:clamp(58px,7.8vw,116px);max-width:1000px;line-height:1.01}
.work-intro-bottom p,.work-intro-bottom>span{color:#b2c5d3}
.work-intro-bottom>span{color:var(--cyan)}
.project-detail-hero{padding-top:40px}
.project-detail-heading h1{font-size:clamp(49px,5.8vw,86px);line-height:1.08}
.project-detail-heading p{color:#b4c6d3;font-size:14px;line-height:1.9}
.project-detail-main,.project-detail-main img{background:#060a10}
.project-detail-main{border:1px solid #354956;border-bottom:0}
.project-detail-main figcaption{color:#c3d2dd;background:#101923;border-top:1px solid #273b49}

/* Trust and service exploration. */
.trust-strip{background:#0d151f;border-bottom:1px solid #2a3a49}
.trust-strip>.container{min-height:104px}
.trust-strip .icon{color:var(--cyan)}
.trust-strip span span{color:#9caebe}
.trust-strip strong{color:#edf6fc;font-size:12px}
.trust-review{color:#dceaf3}
.service-ribbon{background:#0d151f;border-color:var(--line)}
.service-ribbon span:first-child{color:var(--muted)}
.service-ribbon .icon{color:var(--cyan)}
.service-edit{background:#080c12}
.service-directory,.service-directory>a{border-color:#30414e}
.service-directory>a{padding-top:27px;padding-bottom:27px}
.service-directory>a:hover{background:linear-gradient(90deg,#152c36,#111c2600)}
.directory-index{color:var(--cyan);font-size:10px}
.service-directory strong{color:#edf6fc;font-size:22px}
.service-directory small{color:#a7bac7;font-size:12px}
.service-directory .icon{border-color:#4c6371;color:var(--cyan)}
.service-directory>a:hover .icon{background:var(--cyan);color:#07141e;border-color:var(--cyan)}
.service-grid{gap:1px;background:#293a48;border:1px solid #293a48}
.service-card{background:#101923;border:0;padding:35px 31px;overflow:hidden}
.service-card:hover{background:#172735}
.service-top>.icon{color:var(--cyan)}
.service-top>span{color:#829bab;font-size:11px}
.service-card h3{color:#ecf5fc;font-size:26px}
.service-card p{color:#acbdca;line-height:1.85}
.service-bottom{color:#d6e9f4}
.service-bottom>.icon{border-color:#4b6578;color:var(--cyan)}
.service-card:hover .service-bottom>.icon{background:var(--cyan);color:#08151e;border-color:var(--cyan)}
.service-aside,.customer-page-aside{background:linear-gradient(145deg,#182a39,#0b151f);border:1px solid #3c596c;border-top:2px solid var(--cyan);color:var(--ink);box-shadow:0 20px 60px #0002}
.service-aside h2 em,.customer-page-aside h2 em{color:var(--cyan)}
.service-aside>p,.customer-page-aside p{color:#adc1ce}
.service-aside .button,.customer-page-aside .button{color:#111b13}
.aside-number,.aside-credential{color:#b5d8e6}
.aside-number>.icon{color:var(--cyan)}
.check-list{color:#d6e2ec}
.check-list li{border-color:#293e4e}
.check-list .icon{color:var(--cyan)}
.prep-box{background:#101e2a;border:1px solid #2f4759;border-left:3px solid var(--cyan)}
.prep-box>.icon{color:var(--cyan)}
.prep-box p{color:#a8becd}
.related-section,.related-work,.more-projects{background:#101923;border-top:1px solid #293d4b;border-bottom:1px solid #293d4b}
.related-links a{color:#d8e9f4;border-color:#324a5a}
.related-links a:hover,.related-links .icon{color:var(--cyan)}
.customer-page-section{border-color:#2d4353}
.customer-page-section>p{color:#b1c3d0}
.customer-page-links>a{color:#d9ecf6;border-color:#5d7e91}
.customer-page-links>a:hover,.customer-page-links .icon{color:var(--cyan)}
.credentials-inline{color:var(--cyan)}
.faith-statement{color:#d9ffba}
.support-card{background:linear-gradient(140deg,#142432,#101923);border:1px solid #304b5c}
.support-card>.icon{color:var(--cyan)}
.support-card>p{color:#b0c3cf}
.support-card .text-link{color:#d9edf8}

/* Real work stays photographic; the surrounding typography supplies the theatre. */
.project-theatre{background:radial-gradient(ellipse at 18% 70%,#102c3d77,transparent 62%),#0e1721;border-top:1px solid #273b49;border-bottom:1px solid #273b49}
.theatre-heading h2 em{color:var(--cyan)}
.theatre-photo{border:1px solid #496170;border-radius:3px;box-shadow:0 28px 60px #0005}
.theatre-photo-label{background:#080f19e0;color:#e5f6fd;border-left:2px solid var(--cyan);padding:9px 12px}
.chapter-number{color:#4a7d962f}
.project-stage{color:#a8d5e6}
.project-stage:before{background:var(--lime);box-shadow:0 0 13px #d9ff7745}
.theatre-copy p{color:#acbdcb}
.theatre-status{color:#c0d0dc}
.theatre-hint{color:#91adbe}
.theatre-controls button{color:var(--cyan);border-color:#567182;background:#101d29}
.theatre-controls button:hover{background:var(--cyan);color:#08131b;border-color:var(--cyan)}
.theatre-controls button:disabled{opacity:.4}
.real-project-card{padding-bottom:24px;border-bottom:1px solid #2c4354}
.project-image-link{background:#101923;border:1px solid #304759;border-radius:3px}
.project-image-link img[width="360"]{background:#101923}
.project-view{background:#09131fea;color:#d9f4ff;border:1px solid #7195a7;border-radius:2px}
.project-view>.icon{color:var(--cyan)}
.project-card-meta{color:#91b4c8;font-size:10px;gap:15px;line-height:1.6}
.real-project-card h2{color:#edf5fb;font-size:35px}
.real-project-card>p,.project-story>div>p{color:#adbfcd}
.project-detail-gallery img{background:#0d141e;border:1px solid #293e4d}
.project-detail-gallery figcaption{color:#aabfcd;line-height:1.7}
.filter-bar button{background:#111d28;border-color:#3b5366;color:#bfceda;border-radius:3px;transition:background .2s,color .2s,border-color .2s}
.filter-bar button:hover{border-color:var(--cyan);color:var(--cyan)}
.filter-bar button[aria-pressed=true]{background:var(--cyan);border-color:var(--cyan);color:#07141f}
.lighting-moment{background:#0b1420}
.lighting-moment:after{background:linear-gradient(90deg,#060f19f0,#07111b85 53%,#08111a20)}
.lighting-moment-copy h2 em{color:var(--cyan)}
.lighting-moment-copy .eyebrow{color:#cbf3ff}
.lighting-moment-credit{color:#d1e3ee}
.photo-quote-section{background:#080c12}
.upload-badge{background:#111d28;color:#edf5fa;border:1px solid #4b687c;box-shadow:0 20px 40px #0004}
.upload-badge .icon{color:var(--cyan)}
.upload-badge .icon:last-child{background:var(--cyan);color:#09141e}
.mini-steps li>span{color:var(--cyan)}
.photo-frame{border-color:#ddf8ff66}
.photo-frame>span{background:#06121bc9;color:#e4f7ff}
.film-band{background:#080f18}
.film-overlay{background:linear-gradient(90deg,#07101af2,#0a162186)}
.film-copy h2 em{color:var(--cyan)}
.film-copy .eyebrow,.film-copy .text-link{color:#d2f3ff}
.film-copy .caption{color:#bbd1df}

/* Home planning tools, guides and the local service map. */
.finder-grid select{background:#111f2c;color:#e8f4fc;border:1px solid #526c80;border-radius:3px}
.finder-result{background:radial-gradient(ellipse at 100% 0,#25485470,transparent 65%),#101923;border:1px solid #3b5363;border-top:2px solid var(--cyan)}
.finder-result article>.icon{color:var(--cyan)}
.finder-number{color:#6992a326}
.finder-result p{color:#adbfcd}
.finder-result .button{background:var(--lime);border-color:var(--lime);color:#111b13}
.finder-result .button:hover{background:#e6ffad}
.power-section{background:#0b131d;color:var(--ink);border-top:1px solid #293c4c;border-bottom:1px solid #293c4c}
.power-section .eyebrow,.power-section h2 em{color:var(--cyan)}
.power-section .section-heading>p{color:#a9bfce}
.power-section .house-stage{background:radial-gradient(ellipse at center,#17334677,transparent 70%),#0a121b;border:1px solid #3a5366;box-shadow:inset 0 0 70px #0003}
.power-section .scene-tag,.power-section .scene-caption{color:#b6cedb}
.scene-tag>span{background:var(--cyan);box-shadow:0 0 10px #6fe7ff70}
.power-section .scene-motion{color:#dceef8;background:#102232;border-color:#527084}
.power-section .power-option{border-color:#354c5c}
.power-section .power-option button{color:#d9eaf5}
.power-section .power-option button>span>span{color:#a7becd}
.power-section .power-option.active{background:#152a37;border-top-color:var(--cyan)}
.power-option.active>button>.icon,.power-option.active strong,.power-section .power-option>a{color:var(--cyan)}
.option-number{color:#8da9bb}
.planning-links{border-color:#314858}
.planning-links>a{background:#111d29;border-color:#314858}
.planning-links>a:hover{background:#183344}
.planning-links>a>span,.planning-links .icon{color:var(--cyan)}
.guide-card{background:transparent;border-color:#2d4353}
.guide-meta{border-color:#3c5363;color:#9fbece}
.guide-card .guide-art,.guide-art,.art-1,.art-2{background:linear-gradient(140deg,#173042,#101b28);border:1px solid #304c5f}
.guide-art>.icon{color:var(--cyan)}
.guide-art:before{border-color:#568493}
.guide-art:after{border-color:#3a5a6a}
.guide-art>span{color:#91b7c343}
.guide-card h3{color:#e5f1fa}
.guide-card:hover h3{color:var(--cyan)}
.guide-card p{color:#aabfce}
.article-prose>.lead,.prose .lead{color:#e0ecf5}
.article-prose>p,.article-prose section p,.article-prose li,.prose p{color:#b4c5d2}
.article-prose .article-meta{color:#8cb7ce}
.article-prose a:not(.button){color:#b4ebff}
.article-nav{padding-left:25px;border-left:1px solid #3a5265}
.article-nav>a{color:#bcd1df;border-bottom-color:#2d4557}
.article-nav>a:hover{color:var(--cyan)}
.faq-section,.values-section{background:#101923;border-block:1px solid #263c4d}
.faq-list details,.faq-list details:last-child{border-color:#354d5d}
.faq-list summary{color:#e4eff7;font-size:14px;line-height:1.6}
.faq-list summary>span{color:var(--cyan)}
.faq-list p{color:#b0c3d0}
.review-box{background:#132331;border:1px solid #3b566a}
.google-label{color:#d9effb}
.local-section{background:#0d1721;border-block:1px solid #2e4555}
.area-map{background:#101f2b;border-color:#456274;border-radius:45% 45% 3px 3px;box-shadow:0 25px 70px #0003}
.map-grid{background-image:linear-gradient(#6fe7ff18 1px,transparent 1px),linear-gradient(90deg,#6fe7ff18 1px,transparent 1px)}
.coastline{background:#122e3f;border-left:3px double #7dd4e6}
.ocean-label{color:#8cbfce}
.map-road{color:#99b1bf}
.map-point>span{background:var(--lime);box-shadow:0 0 0 9px #d9ff7716,0 0 0 20px #d9ff7708}
.map-point strong{color:#f1f8fa}
.map-point small{color:#bfd6e0}
.map-town{color:#c7dbe5}
.map-town:before{background:var(--cyan)}
.area-map>p{color:#a0bfcb!important}
.area-list{background:#111e2b;border:1px solid #30495c}
.area-list>div{border-color:#30495c}
.area-list span{color:#a3c6d8}
.process-grid article>span{color:var(--cyan)}

/* Community and final invitation. */
.community-section{background:#080e16}
.social-card{border:1px solid #3b5365;border-radius:3px}
.facebook-card{background:linear-gradient(130deg,#17394b,#122230)}
.google-card{background:linear-gradient(140deg,#182732,#101923)}
.facebook-card .social-mark,.google-card .social-mark{color:var(--cyan);opacity:.6}
.social-kicker{color:#b9d8e7}
.social-card p,.facebook-card p,.google-card p{color:#b7cbd7}
.social-action,.facebook-card .social-action{color:var(--cyan)}
.customer-shortcut{border-color:#3c5566;color:#d8e9f3}
.customer-shortcut strong{color:var(--cyan)}
.closing-cta{
  background:radial-gradient(ellipse at 83% 35%,#1d546280,transparent 60%),#10202c;
  border-top:1px solid #526c78;
  border-bottom:1px solid #334d5c;
  position:relative;
  padding:100px 0;
}
.closing-cta:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.closing-cta .eyebrow{color:var(--cyan)}
.closing-cta h2{color:#eef8ff;font-size:clamp(56px,6.4vw,96px);line-height:1.02}
.closing-cta h2 em{color:var(--cyan)}
.closing-cta p:not(.eyebrow){color:#bbcedb;font-size:15px}
.closing-cta .button{background:var(--lime);color:#111c14;border-color:var(--lime);min-width:225px}
.closing-cta .button:hover{background:#e8ffb7;color:#111c14;border-color:#e8ffb7}
.cta-phone{color:#d7eaf5}
.closing-cta .cta-bolt{color:#6fe7ff0c;font-size:420px}

/* Contact controls use their own dark tokens, including native upload controls. */
.contact-section{background:#090f17}
.contact-details h2 em{color:var(--cyan)}
.contact-phone{color:#e6f6ff}
.contact-email{color:#aee7fa;border-color:#5d7e91}
.contact-facts>div>.icon{color:var(--cyan)}
.contact-facts>div>span{color:#a5bdcc}
.contact-facts strong{color:#e1f0f9}
.quick-text{color:var(--cyan)}
.form-panel{background:#111d29;border:1px solid #354d60;border-top:2px solid var(--cyan);padding:34px;border-radius:5px;box-shadow:0 25px 75px #0003}
.quote-form{--quote-ink:#e7f1f9;--quote-muted:#a8bdcd;--quote-lime:#d9ff77;--quote-line:#3a5266;--quote-paper:#142636;color:var(--quote-ink);color-scheme:dark}
.quote-form :is(button,a,input,select,textarea):focus-visible,.quote-property-options input:focus-visible+span,.quote-extra summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.quote-step-heading{color:#f0f7fc}
.quote-progress [aria-current=step]:after{background:var(--cyan)}
.quote-progress [aria-current=step] .quote-progress-number,.quote-progress [data-complete] .quote-progress-number{background:var(--cyan);color:#07131e;border-color:var(--cyan)}
.quote-property-options label>span{background:#101a25;border-color:#3d566b;color:#d4e6f2}
.quote-property-options input:checked+span{background:#d9ff77;border-color:#d9ff77;color:#142016;box-shadow:inset 0 0 0 1px #d9ff77}
.quote-property-options label:hover>span{border-color:var(--cyan)}
.quote-field :is(input,select,textarea){background:#0b1520;color:#eaf4fc;border:1px solid #496478;border-radius:4px;box-shadow:inset 0 2px 5px #0002}
.quote-field :is(input,textarea)::placeholder{color:#8fa8ba}
.quote-field :is(input,select,textarea):hover{border-color:#7a9fb2}
.quote-field :is(input,select,textarea):focus{border-color:var(--cyan)}
.quote-field :is(input,select,textarea)[aria-invalid=true]{border-color:#ffa68e}
.quote-button{background:var(--lime);border-color:var(--lime);color:#112017!important;border-radius:4px;box-shadow:inset 0 1px 0 #fff4}
.quote-button span{color:#112017}
.quote-button:hover{background:#e6ffac;border-color:#e6ffac;color:#112017!important}
.quote-back,.quote-edit-project,.quote-remove-reference{color:#c7eaf9}
.quote-back:hover,.quote-edit-project:hover,.quote-remove-reference:hover{color:var(--cyan)}
.quote-project-reference{background:#152d3c;border-color:#476e83;border-left-color:var(--cyan)}
.quote-reference-label{color:#afc9da}
.quote-reference-title{color:#e4f4ff}
.quote-dropzone{background:#0d1b28;border-color:#597c8d}
.quote-dragging{background:#1a3945;border-color:var(--cyan);outline-color:var(--cyan)}
.quote-optional{background:#203947;color:#c6e3ef}
.quote-photo-slot{background:#111f2b;border-color:#466071}
.quote-photo-slot:focus-within{outline-color:var(--cyan)}
.quote-photo-icon{color:var(--cyan)}
.quote-photo-input{color:#c5dce9;background:#101b26}
.quote-photo-input::file-selector-button{background:#213949;color:#e2f5ff;border:1px solid #56788c;border-radius:3px;padding:6px 8px;font:inherit}
.quote-photo-fallback{background:#142a39;color:#c2dbe9}
.quote-photo-filename{color:#b3cbd9}
.quote-photo-remove{background:#182c3b;border-color:#3d596c;color:#ddf1ff}
.quote-photo-remove:hover{background:#254658}
.quote-summary{background:#152b3b;border-color:#47687d}
.quote-summary-label{color:#afcbdc}
.quote-summary-text{color:#d7eaf5}
.quote-extra{background:#0f1d29;border-color:#3a586e}
.quote-extra summary{color:#dceef9}
.quote-extra[open] summary{border-color:#3a586e}
.quote-returning input,.quote-consent input{accent-color:var(--cyan)}
.quote-preview-note,.quote-unavailable{background:#142d3a;color:#ceeef9;border-color:#4c8699}
.quote-error{background:#3c2526;color:#ffd9cb;border-color:#a57165}
.quote-success-check{background:var(--lime);color:#132017}
.quote-success h3{color:#edf8ff}
.quote-success p{color:#b1c8d8}

/* Footer: a clear destination, with a large architectural wordmark. */
.guardian-footer,.site-footer{background:#060a10;color:#deedf6;position:relative;border-top:1px solid #293e4c}
.guardian-footer{padding-top:78px}
.footer-signature{border-color:#2f4658;padding-bottom:64px}
.footer-signature .eyebrow{color:#97bdcf;font-size:10px;letter-spacing:.12em}
.signature-line{color:#e8f5fd;font-size:clamp(42px,6vw,86px);line-height:1.08}
.signature-line em{color:var(--cyan)}
.signature-arrow{border:1px solid #5c869a;border-radius:5px;color:var(--cyan);background:#10212e;transform:rotate(-5deg);width:96px;height:96px}
.signature-arrow:hover{background:var(--cyan);color:#091520;transform:rotate(0)}
.footer-directory{padding-top:56px;padding-bottom:54px;gap:42px}
.guardian-footer .footer-identity .brand img,.site-footer .brand img{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.94}
.footer-identity p,.footer-top>div:first-child>p{color:#a6bfce;font-size:12px}
.footer-license{color:#b6d8e8}
.footer-license .icon{color:var(--cyan)}
.footer-directory h2,.footer-label{color:#e0f3fd;font-size:10px;letter-spacing:.14em}
.footer-directory nav>a,.footer-connect>a{color:#a9c2d2;font-size:12px;min-height:35px}
.footer-directory nav>a:hover,.footer-connect>a:hover,.footer-meta a:hover{color:var(--cyan)}
.footer-connect>a.footer-contact-phone{font-size:25px;color:#eefaff}
.footer-connect .icon{color:#83c7df}
.footer-meta{border-color:#2e4554;color:#a8c1d0}
.footer-meta .motion-toggle{color:#c3dfed}
.footer-image-credit,.photo-note{color:#8eaabb}
.footer-wordmark,.footer-word{font-size:clamp(64px,14.1vw,216px);line-height:.92;letter-spacing:-.075em;font-weight:800;border-top:1px solid #263e50;color:#426777;padding-top:34px;margin-top:38px;white-space:nowrap}
.footer-wordmark{background:linear-gradient(180deg,#789bad 5%,#36586a 80%);background-clip:text;-webkit-background-clip:text;color:transparent}
.footer-word span{color:var(--cyan)}
.motion-toggle{border-color:#557184;color:#c9dfeb}
.floating-photo{background:var(--lime);color:#111b14;border:1px solid #d9ff77;border-radius:4px;box-shadow:0 12px 38px #0005;padding:13px 17px}
.floating-photo:hover{background:#e8ffb7}
.message-page>.icon{background:var(--cyan);color:#081521}
.message-page h1 em{color:var(--cyan)}
.work-link{background:#142432;border-color:#385367}
.work-link p{color:#b5c7d3}

@media(min-width:761px){
  .guardian-footer{padding-bottom:96px}
  .inner-hero:not(.with-image) .inner-copy{max-width:1060px}
  .inner-hero:not(.with-image) .inner-copy>p:not(.eyebrow){max-width:635px}
  .real-project-card:nth-child(even){margin-top:62px}
}
@media(max-width:1180px){
  .nav-wrap{gap:19px}
  .nav-wrap nav{gap:17px}
  .nav-wrap nav a{font-size:10px}
  .inner-hero>.container,.inner-hero.with-image>.container{gap:40px}
  .inner-hero h1{font-size:clamp(48px,5.4vw,72px)}
  .inner-hero.with-image figure{width:35%;min-height:350px}
  .form-panel{padding:26px}
  .footer-directory{gap:35px}
}
@media(max-width:980px) and (min-width:761px){
  .nav-wrap{gap:14px}
  .nav-wrap nav{gap:13px}
  .nav-wrap nav a{font-size:10px}
  .header-cta{padding:10px 12px;gap:13px;font-size:10px}
  .inner-hero h1{font-size:51px}
  .inner-hero .inner-copy>p:not(.eyebrow){font-size:13px}
  .inner-hero.with-image figure{width:34%;min-height:340px}
  .form-panel{padding:23px}
  .contact-layout{gap:38px;grid-template-columns:.8fr 1.2fr}
  .contact-phone{font-size:24px}
  .quote-project-reference{gap:.65rem;padding:.8rem}
}
@media(max-width:760px){
  body{background-size:64px 64px}
  .utility .container{height:auto;min-height:39px;padding:4px 0}
  .header-social{gap:17px}
  .header-social a{font-size:9px;gap:7px;padding:3px 0;min-height:30px}
  .header-social a>span:first-child{font-size:13px}
  .header-social a .icon{width:11px;height:11px}
  .nav-wrap{height:76px;gap:14px}
  .site-header .brand,.site-header .brand img{width:157px}
  .header-cta{font-size:10px;min-height:39px;padding:9px 12px;gap:13px;margin-left:auto}
  .menu-toggle{width:34px;height:42px;flex-shrink:0}
  .nav-wrap nav{top:76px;background:#0b1520;border-color:#385369;padding:18px 23px 28px;box-shadow:0 25px 40px #0009;gap:0}
  .site-header #main-nav.open{background:#0b1520}
  .nav-wrap nav a{font-size:19px;letter-spacing:-.025em;padding:17px 0;border-color:#2d485b;color:#e0edf5}
  .nav-wrap nav a:after{display:none}
  .nav-wrap nav a[aria-current]{color:var(--cyan)}
  .nav-wrap nav .mobile-nav-contact{color:var(--lime)}
  .inner-hero{padding:28px 0 48px}
  .inner-hero:after,.work-intro:after{width:95vw;right:-75px;bottom:24px;opacity:.7}
  .inner-hero>.container{display:block}
  .inner-hero .breadcrumbs,.work-intro .breadcrumbs,.project-detail-hero .breadcrumbs{font-size:9px;margin-bottom:34px;gap:10px;flex-wrap:wrap}
  .inner-hero .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:19px}
  .inner-hero h1{font-size:clamp(40px,10.5vw,63px);line-height:1.065;letter-spacing:-.059em}
  .inner-hero .inner-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:25px;max-width:540px}
  .inner-copy:after{margin-top:28px;width:100px}
  .inner-hero.with-image figure{margin-top:36px;width:100%;height:350px;min-height:0;max-height:none;transform:none;border-radius:3px 32px 3px 3px;box-shadow:10px 10px 0 #6fe7ff08}
  .inner-hero figure>img{max-height:none;height:100%}
  .inner-hero figcaption,.inner-hero figcaption:has(a){font-size:8px;padding:26px 15px 14px}
  .work-intro{padding:29px 0 53px}
  .work-intro h1{font-size:clamp(53px,13vw,77px)}
  .work-intro-bottom p{font-size:14px}
  .project-detail-hero{padding-top:28px}
  .project-detail-heading h1{font-size:clamp(43px,10.5vw,61px)}
  .project-detail-heading p{font-size:13px}
  .project-detail-main figcaption{font-size:10px}
  .trust-strip>.container{min-height:0}
  .trust-strip strong{font-size:10px}
  .service-directory>a{padding-top:24px;padding-bottom:24px}
  .service-directory strong{font-size:20px}
  .service-directory small{font-size:12px}
  .service-grid{gap:1px}
  .service-card{padding:28px}
  .service-card h3{font-size:25px}
  .service-card p{font-size:13px}
  .service-aside,.customer-page-aside{padding:28px}
  .theatre-copy p{font-size:13px}
  .theatre-controls button{width:40px;height:40px}
  .theatre-status{font-size:9px}
  .real-project-card h2{font-size:32px}
  .real-project-card>p{font-size:13px}
  .project-card-meta{font-size:9px;gap:14px}
  .project-view{font-size:9px}
  .lighting-moment:after{background:linear-gradient(0deg,#06101aed,#07111b96 60%,#07111b2b)}
  .finder-result{padding:28px}
  .guide-card p{font-size:13px}
  .planning-links>a{padding:26px}
  .faq-list summary{font-size:13px}
  .faq-list p{font-size:13px}
  .article-prose>p,.article-prose section p,.article-prose li{font-size:14px}
  .closing-cta{padding:69px 0}
  .closing-cta>.container{gap:27px}
  .closing-cta h2{font-size:clamp(50px,12vw,73px)}
  .closing-cta p:not(.eyebrow){font-size:14px}
  .closing-cta .cta-bolt{font-size:340px}
  .contact-section{padding-top:39px}
  .form-panel{padding:25px 20px;border-radius:4px}
  .contact-details{padding-top:15px}
  .quote-form{font-size:1rem}
  .quote-field :is(input,select,textarea){font-size:16px}
  .quote-progress{gap:.4rem}
  .quote-progress li{font-size:.62rem}
  .quote-step-heading{font-size:1.5rem;line-height:1.2}
  .quote-step-intro{font-size:.85rem}
  .quote-reference-title{font-size:.8rem}
  .quote-project-reference{gap:.6rem;padding:.7rem .8rem}
  .quote-remove-reference{font-size:.68rem!important;padding:.3rem}
  .quote-time-note{max-width:12ch}
  .quote-button{font-size:.75rem!important;gap:.7rem;padding:.8rem .9rem}
  .quote-photo-label{padding:.8rem .2rem;font-size:.65rem}
  .quote-photo-prompt{font-size:.57rem}
  .guardian-footer{padding-top:54px;padding-bottom:108px}
  .footer-signature{padding-bottom:37px;gap:12px}
  .footer-signature .eyebrow{font-size:7px;letter-spacing:.1em;line-height:1.8}
  .signature-line{font-size:clamp(31px,8vw,54px);line-height:1.12}
  .signature-arrow{width:45px;height:45px;border-radius:3px;flex-shrink:0}
  .signature-arrow .icon{width:24px;height:24px}
  .footer-directory{padding:37px 0;gap:30px 22px}
  .footer-identity p{font-size:10px}
  .footer-directory h2{font-size:9px;line-height:1.7}
  .footer-directory nav>a,.footer-connect>a{font-size:11px}
  .footer-connect>a.footer-contact-phone{font-size:27px}
  .footer-wordmark,.footer-word{font-size:14.1vw;padding-top:23px;margin-top:28px}
  .footer-meta{font-size:9px}
  .footer-image-credit{font-size:8px;line-height:1.85}
  .customer-dock,.mobile-dock{background:#0b1520f5;backdrop-filter:blur(18px);border-top:1px solid #496477;box-shadow:0 -8px 30px #0005}
  .customer-dock>a:not(:last-child),.mobile-dock>a:first-child{border-color:#425b6b;color:#d5eefa;border-radius:3px}
  .customer-dock>a:last-child,.mobile-dock>a:last-child{background:var(--lime);color:#0b1a11;border-radius:3px}
}
@media(max-width:365px){
  .header-social{gap:12px}
  .header-social a{font-size:8px;gap:5px}
  .site-header .brand,.site-header .brand img{width:132px}
  .nav-wrap{gap:9px}
  .header-cta{padding:9px 10px;gap:7px;font-size:9px}
  .inner-hero h1{font-size:38px}
  .inner-hero.with-image figure{height:300px}
  .inner-hero .inner-copy>p:not(.eyebrow){font-size:13px}
  .service-directory strong{font-size:18px}
  .service-card{padding:25px}
  .theatre-copy p{font-size:12px}
  .theatre-status{font-size:8px}
  .form-panel{padding:23px 15px}
  .quote-project-reference{gap:.3rem;padding:.65rem}
  .quote-reference-title{font-size:.73rem}
  .quote-property-options{gap:.4rem}
  .quote-property-options label>span{font-size:.73rem}
  .quote-step-heading{font-size:1.35rem}
  .quote-time-note{font-size:.61rem}
  .quote-button{font-size:.68rem!important;padding:.8rem;gap:.5rem}
  .signature-line{font-size:29px}
  .signature-arrow{width:35px;height:35px}
  .footer-directory{gap:30px 14px}
  .footer-directory nav>a{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .button,.header-cta,.nav-wrap nav a:after,.signature-arrow,.filter-bar button{transition:none}
  .button:hover,.signature-arrow:hover{transform:none}
}
