﻿/* Accessible, lazy-loaded image presentation and small interaction polish. */
.service-image,.sector-image{position:relative;background:none!important;overflow:hidden}
.service-image img,.sector-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.journal-image-one,.journal-image-two,.journal-image-three,.blog-image-one,.blog-image-two,.blog-image-three{background-image:none!important}
.journal-image img,.blog-listing-photo img{display:block;width:100%;height:100%;object-fit:cover}
.faq-list summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.blog-listing-photo:focus-visible,.journal-card:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.article-cover{background-repeat:no-repeat}
.article-cover-four{background-image:url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=1800&q=85')}
.article-cover-five{background-image:url('https://images.unsplash.com/photo-1567789884554-0b844b597180?auto=format&fit=crop&w=1800&q=85')}
.article-cover-six{background-image:url('https://images.unsplash.com/photo-1530124566582-a618bc2615dc?auto=format&fit=crop&w=1800&q=85')}
.site-scroll-progress{position:fixed;top:32px;left:0;right:0;height:2px;z-index:41;background:rgba(255,255,255,.15);pointer-events:none}.site-scroll-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#f27943,#f2b085);transform:scaleX(0);transform-origin:left center}.price-evidence article:nth-child(2){transition-delay:.08s}.price-evidence article:nth-child(3){transition-delay:.16s}.journal-card:nth-child(2){transition-delay:.06s}.journal-card:nth-child(3){transition-delay:.12s}.hero-secondary:hover{color:#fff;border-color:#f08b5d}.project-budget-band .button:hover,.industrial-budget-card .button:hover{background:#fff}
.hero-photo{background-image:url('assets/factory-project-hero.jpg')!important;background-position:center 55%;will-change:transform}.hero-shade{background:linear-gradient(90deg,rgba(7,16,24,.91) 0%,rgba(9,22,31,.74) 35%,rgba(10,20,27,.08) 79%),linear-gradient(0deg,rgba(7,15,23,.48),transparent 35%)}.hero-copy{max-width:690px}.hero h1{font-size:clamp(84px,11.2vw,158px);letter-spacing:-.035em}.hero-intro{max-width:460px}.hero-secondary{display:inline-flex;align-items:center;gap:13px;margin-left:19px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.45);font-size:10px;color:#e6ebeb}.hero-secondary span{color:#f29a70;font-size:15px}.hero-stamp{right:calc(var(--pad) + 1.5vw);top:72%;transform:translateY(-50%);min-width:212px;justify-content:space-between}.stamp-big{font-size:72px}.hero-stamp>span:last-child{font-size:8px;letter-spacing:.2em}.hero-bottom{font-size:8px;letter-spacing:.17em}.header-cta{border-bottom:0;padding:12px 16px;background:linear-gradient(120deg,#db5f2e,#f07b41);color:#fff;box-shadow:0 8px 24px rgba(191,79,41,.18);transition:transform .2s,box-shadow .2s}.header-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(191,79,41,.28)}.header-cta span{color:#fff}.price-preview{position:relative;overflow:hidden}.price-preview:after{content:'HTP';position:absolute;right:-.03em;top:2.7em;font-family:var(--display);font-size:clamp(180px,35vw,490px);font-weight:700;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(17,38,51,.035);pointer-events:none}.price-preview>*{position:relative;z-index:1}.project-budget-band{display:grid;grid-template-columns:1.12fr .88fr;min-height:350px;margin:30px 0 25px;position:relative;overflow:hidden;color:#f7f4ec;background:linear-gradient(120deg,#102330 0%,#164664 66%,#247598 100%);border:1px solid rgba(255,255,255,.58);box-shadow:0 26px 60px rgba(14,36,49,.16)}.project-budget-band:before,.project-budget-band:after{content:'';position:absolute;border:1px solid rgba(213,238,244,.18);border-radius:50%;width:460px;height:460px;right:-110px;top:-230px}.project-budget-band:after{width:620px;height:620px;right:-185px;top:-310px}.project-budget-main,.project-budget-copy{position:relative;z-index:1;padding:42px clamp(24px,4vw,56px)}.project-budget-main{display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.2)}.project-budget-main>span{font-size:8px;letter-spacing:.17em;color:#c5dbe1}.project-budget-main strong{font-family:var(--display);font-size:clamp(72px,10vw,134px);font-weight:500;line-height:.86;letter-spacing:-.04em;margin:25px 0 15px;white-space:nowrap}.project-budget-main strong span{color:#f08b5d}.project-budget-main small{font-size:9px;letter-spacing:.09em;color:#bdccd0}.project-budget-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:rgba(219,239,244,.08);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.project-budget-copy p{font-size:12px;line-height:1.9;color:#e2e9e9;max-width:440px;margin:0 0 24px}.project-budget-copy .button{min-width:200px;justify-content:space-between}.price-evidence{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-evidence article{padding:22px 22px 22px 0;border-right:1px solid var(--line)}.price-evidence article+article{padding-left:22px}.price-evidence article:last-child{border-right:0}.price-evidence article>span{display:block;font-size:7px;letter-spacing:.15em;color:#718087;margin-bottom:13px}.price-evidence article>b{display:block;font-family:var(--display);font-size:28px;font-weight:500;color:#19364a}.price-evidence article>p{font-size:9px;line-height:1.75;color:#65737a;margin:8px 0}.price-evidence article>a{display:inline-block;margin-top:7px;font-size:8px;font-weight:700;color:#18597a;text-decoration:underline;text-underline-offset:3px}.price-evidence-note>b{font-family:var(--sans)!important;font-size:12px!important;line-height:1.5!important;font-weight:700!important}.price-evidence-note{background:rgba(255,255,255,.36);padding-left:20px!important}.price-evidence-note>p{margin-top:12px!important}.price-preview>.text-link{margin-top:26px}.price-hero .article-hero-image{background-image:linear-gradient(90deg,rgba(7,16,24,.85),rgba(8,19,27,.41) 57%,rgba(7,15,24,.16)),url('assets/factory-project-hero.jpg');background-position:center 52%}.project-hero-glass{position:absolute;right:var(--pad);bottom:45px;z-index:2;display:flex;flex-direction:column;gap:13px;min-width:236px;padding:20px 23px;color:#fff;border:1px solid rgba(243,249,249,.3);background:rgba(12,31,42,.37);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(0,0,0,.16)}.project-hero-glass>span,.project-hero-glass>small{font-size:7px;letter-spacing:.15em;color:#c2d5da}.project-hero-glass>strong{font-family:var(--display);font-size:23px;line-height:1.04;font-weight:500;letter-spacing:.05em}.pricing-intro h2{font-size:clamp(72px,9vw,116px)}.industrial-budget-card{position:relative;overflow:hidden;margin:35px 0 25px;padding:clamp(26px,5vw,65px);background:linear-gradient(120deg,#112634,#1b5574);color:white;border:1px solid rgba(255,255,255,.75);box-shadow:0 22px 60px rgba(15,37,50,.16)}.industrial-budget-card:after{content:'';position:absolute;width:460px;height:460px;right:-110px;top:-260px;border:1px solid rgba(216,238,241,.22);border-radius:50%;box-shadow:0 0 0 44px rgba(216,238,241,.04),0 0 0 100px rgba(216,238,241,.025)}.budget-card-label{font-size:8px;letter-spacing:.17em;color:#c5dbe1}.industrial-budget-card>strong{position:relative;z-index:1;display:block;font-family:var(--display);font-size:clamp(82px,13vw,166px);line-height:.9;letter-spacing:-.035em;font-weight:500;color:#f5f2eb;margin:25px 0 15px}.industrial-budget-card>strong span{color:#7eb4c9}.industrial-budget-card>strong small{font-size:.35em;letter-spacing:.08em;color:#f08b5d}.industrial-budget-card>p{position:relative;z-index:1;max-width:700px;font-size:12px;line-height:1.85;color:#d6e3e5}.industrial-budget-card>.button{position:relative;z-index:1;margin-top:12px}.hero .button-orange{box-shadow:0 12px 32px rgba(202,86,45,.25)}
@media(max-width:850px){.hero-copy{max-width:590px}.hero-stamp{right:var(--pad);top:auto;bottom:70px;transform:none}.project-budget-main,.project-budget-copy{padding:34px 26px}.project-budget-main strong{font-size:clamp(66px,10vw,94px)}}
@media(max-width:620px){.site-scroll-progress{top:29px}.hero-copy{top:42%;max-width:96%}.hero h1{font-size:clamp(70px,16.5vw,100px);line-height:.83}.hero-intro{max-width:345px;font-size:11px}.hero-secondary{margin-left:13px;font-size:8px}.hero-stamp{bottom:91px;min-width:176px}.hero-stamp .stamp-big{font-size:41px}.project-budget-band{grid-template-columns:1fr}.project-budget-main{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:27px 22px}.project-budget-main strong{font-size:clamp(70px,18vw,96px);margin:18px 0 12px}.project-budget-copy{padding:24px 22px}.project-budget-copy p{font-size:10px}.price-evidence{grid-template-columns:1fr}.price-evidence article,.price-evidence article+article{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.price-evidence article:last-child{border-bottom:0}.project-hero-glass{right:var(--pad);bottom:20px;min-width:0;padding:12px 15px}.project-hero-glass>strong{font-size:18px}.project-hero-glass>span,.project-hero-glass>small{font-size:6px}.industrial-budget-card{padding:24px 19px}.industrial-budget-card>strong{font-size:clamp(68px,18vw,102px)}.pricing-intro h2{font-size:clamp(62px,15vw,90px)}.pricing-faq h2{font-size:clamp(54px,14vw,74px)}.faq-list summary{font-size:22px}.journal-image img,.blog-listing-photo img{min-height:100%;object-fit:cover}}
/* One consistent pricing system */
.price-preview:after{display:none}
/* Homepage FAQ: a quiet editorial pause before the contact section. */
.home-faq{background:#f7f9fb;border-top:1px solid rgba(18,43,60,.08);position:relative;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);column-gap:clamp(36px,7vw,100px);align-items:start}
.home-faq .section-label{color:#627787}
.home-faq .section-label{grid-column:1/-1;width:100%}
.home-faq h2{max-width:390px;margin:48px 0 0;text-transform:none;font-size:clamp(49px,5.4vw,72px);line-height:.96;letter-spacing:-.035em;color:#142b3b}
.home-faq h2 em{font-style:italic;color:#376f98}
.home-faq .faq-list{max-width:none;width:100%;margin:48px 0 0;border-top:1px solid rgba(18,43,60,.2)}
.home-faq .faq-list details{padding:19px 2px;border-color:rgba(18,43,60,.15)}
.home-faq .faq-list summary{font:500 clamp(19px,2vw,25px)/1.28 var(--display);color:#18364b;padding-right:28px;position:relative}
.home-faq .faq-list summary::after{content:'+';position:absolute;right:3px;top:50%;transform:translateY(-50%);font:400 19px/1 var(--sans);color:#276c9a}
.home-faq .faq-list details[open] summary::after{content:'−'}
.home-faq .faq-list details p{max-width:690px;font:400 12px/1.85 var(--sans);color:#586d7a;margin:12px 32px 3px 0}
.home-faq .faq-list details a{color:#145f91}
.home-faq .faq-list summary:focus-visible{outline-color:#176ca2}
@media(max-width:850px){.home-faq{grid-template-columns:minmax(210px,.66fr) minmax(0,1.34fr);column-gap:32px}}
@media(max-width:620px){.home-faq{display:block}.home-faq h2{margin:38px 0 30px;font-size:clamp(53px,14vw,74px)}.home-faq .faq-list{margin:0}.home-faq .faq-list details{padding:16px 1px}.home-faq .faq-list summary{font-size:21px;line-height:1.23;padding-right:27px}.home-faq .faq-list details p{font-size:11px;line-height:1.8;margin-right:12px}}
/* Mobile layout safeguards */
@media(max-width:850px){
  .navigation{gap:clamp(12px,2vw,20px)}
  .header-cta{font-size:9px;white-space:nowrap}
  .workshop-foot{flex-wrap:wrap;line-height:1.7}
  .section-label{flex-wrap:wrap;align-items:flex-start}
}
@media(max-width:620px){
  html,body{max-width:100%;overflow-x:hidden}
  .utility{padding-left:var(--pad);padding-right:var(--pad)}
  .header{gap:4px;padding-left:var(--pad);padding-right:var(--pad)}
  .brand{min-width:0;flex-shrink:0}
  .header-cta{margin-left:auto;margin-right:2px;padding:9px 11px;border:0;border-radius:999px;font-size:9px;line-height:1;flex-shrink:0}
  .menu-toggle{flex-shrink:0;padding:9px}
  .navigation{top:68px}
  .section-label{row-gap:7px;line-height:1.5}
  .section-label span{max-width:100%;overflow-wrap:anywhere}
  .hero-copy{left:var(--pad);right:var(--pad);width:auto;max-width:none;top:41%;transform:translateY(-34%)}
  .hero h1{font-size:clamp(64px,16.5vw,94px);line-height:.86;overflow-wrap:normal}
  .hero-intro{max-width:100%;font-size:11px;line-height:1.7}
  .hero-secondary{margin-top:15px;margin-left:0}
  .hero-stamp{bottom:68px;right:var(--pad)}
  .hero-bottom span:first-child{max-width:40%;line-height:1.45}
  .hero-bottom span:last-child{max-width:37%;line-height:1.45}
  .services{min-height:0}
  .service-image{min-height:250px}
  .service-panel h2{font-size:clamp(49px,13vw,70px)}
  .intro-rule{flex-wrap:wrap;line-height:1.6}
  .workshop-foot{font-size:7px;justify-content:space-between}
  .image-story figcaption{flex-wrap:wrap;line-height:1.5}
  .process-steps{grid-template-columns:1fr 1fr}
  .contact h2{font-size:clamp(58px,16vw,90px);line-height:.86}
  .contact-aside{left:var(--pad);right:var(--pad);bottom:18px;line-height:1.5}
  .footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .footer-bottom{font-size:7px;line-height:1.6}
  .glass-note{display:block}
  .glass-note p{margin-top:12px;font-size:10px;line-height:1.75}
  .pricing-factors h2{font-size:clamp(58px,15vw,82px)}
  .factor-grid{grid-template-columns:1fr 1fr}
  .factor-grid p{font-size:10px}
  .faq-list summary{font-size:21px;line-height:1.2;padding-right:20px}
  .quote-form{padding:16px}
  .quote-form .button{width:100%;justify-content:space-between;gap:12px}
  .blog-listing{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .blog-listing-photo{min-width:0;height:170px}
  .blog-listing h2{font-size:clamp(21px,6vw,27px)}
  .article-body,.article-body *{overflow-wrap:anywhere}
  .article-aside{overflow-wrap:anywhere}
  .article-next>a{font-size:clamp(19px,6vw,24px)}
}
@media(max-width:390px){
  :root{--pad:18px}
  .header{padding-left:18px;padding-right:18px}
  .brand-name{font-size:7px;letter-spacing:.12em}
  .header-cta{padding:9px 9px;font-size:8px}
  .hero-topline{font-size:6px;letter-spacing:.1em}
  .hero-topline span:last-child{max-width:46%;line-height:1.45}
  .hero h1{font-size:clamp(60px,16vw,68px)}
  .hero-copy .eyebrow{font-size:7px;letter-spacing:.12em}
  .hero-stamp{bottom:64px;transform:scale(.88);transform-origin:right bottom}
  .hero-bottom{font-size:6px}
  .contact h2{font-size:58px}
  .blog-listing{grid-template-columns:1fr;gap:12px}
  .blog-listing-photo{height:195px}
}
@media(max-width:720px){
  .header{height:68px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:0;background:none;padding:10px;order:3}
  .menu-toggle i{display:block;width:22px;height:1px;background:var(--ink)}
  .navigation{display:none;position:absolute;left:0;right:0;top:68px;z-index:30;background:#f9f8f4;padding:10px var(--pad) 24px;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}
  .navigation.open{display:flex}
  .navigation a{padding:14px 0;border-bottom:1px solid var(--line)}
}
@media(max-width:620px){
  html,body{overflow-x:clip}
  .hero-copy .button,.hero-secondary{display:flex;width:max-content;max-width:100%;margin-left:0}
  .hero-secondary{margin-top:12px}
}










