/* Source: /static/layout-refinements.css?v=3 */
/* Focused alignment trial; the page sections and content order stay the same. */
.hero-context {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: center;
  display: grid;
  gap: 20px;
  max-width: 390px;
  padding-right: 22px;
  border-right: 1px solid var(--line);
  justify-items: end;
  text-align: right;
  min-width: 0;
}
.hero-context .hero-intro {
  grid-column: auto;
  grid-row: auto;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
}
.hero-context .hero-actions {
  grid-column: auto;
  grid-row: auto;
  gap: 8px;
  width: 100%;
  max-width: 250px;
  align-items: stretch;
  justify-self: end;
}
.hero-context .hero-actions .button { width: 100%; padding-inline: 18px; }
.page-contact .contact-layout { align-items: start; }
.page-contact .contact-guide { align-self: start; min-width: 0; }
.page-contact .contact-guide-intro { margin: 0 0 14px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.project-gallery > .project-gallery-photo { margin-bottom: 0; }
.project-photo-divider {
  height: 1px;
  margin: 30px 0;
  background: var(--fx-frame);
  opacity: .65;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
@media(min-width:901px) {
  .page-contact .contact-guide { margin-top: -44px; transform: translateY(var(--contact-action-shift, 0px)); }
  .page-contact .alt-brief :is(h2,h3) { margin: 10px 0 12px; }
  .page-contact .alt-brief > p { margin-bottom: 12px; }
  .page-contact .alt-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-block: 16px; row-gap: 16px; }
}
@media(max-width:900px) {
  .hero-context { grid-column: 1; grid-row: auto; margin-top: 24px; padding: 0; border: 0; max-width: 560px; }
  .hero-context .hero-actions { max-width: 520px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 12px; }
  .hero-context .hero-actions .button { min-height: 48px; gap: 12px; }
  .hero-context .hero-actions .button .arrow-icon { flex-shrink: 0; }
}
@media(max-width:600px) {
  .project-photo-divider { margin-block: 22px; }
  .hero-context { margin-top: 22px; gap: 18px; }
  .hero-context .hero-actions .button { font-size: 11px; padding-inline: 12px; gap: 8px; }
}


/* Source: /static/local-revision.css?v=20261025popup3 */
/* Local review: original labels/background; retained copy, factory panel and contact access. */
.project-approach{justify-content:center;gap:22px;padding:34px}
.project-approach>h2{font-size:clamp(25px,2.3vw,34px);letter-spacing:-.03em;line-height:1.2}
.approach-points{margin:0;display:grid;gap:18px}
.approach-points>div{padding-top:16px;border-top:1px solid var(--line)}
.approach-points dt{font-size:13px;font-weight:600;margin-bottom:6px}
.approach-points dd{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.project-approach .stage-location{margin-top:0}
.project-approach .stage-location>svg{margin-left:auto}
.factory-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:0;align-items:stretch}
.factory-overview .factory-lead-image{box-shadow:none}
.factory-overview .factory-lead-image>a,.factory-overview .factory-lead-image .visual{height:100%;min-height:460px;aspect-ratio:auto}
.factory-overview .factory-editorial{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:28px;padding:40px;border:1px solid var(--line);border-left:0;background:var(--fx-metal);text-align:left}
.factory-editorial-heading{width:100%}.factory-editorial-heading>.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted)}
.factory-editorial h2{font-size:clamp(30px,2.8vw,40px);line-height:1.15;letter-spacing:-.03em;max-width:12ch;margin:18px 0 0}
.factory-editorial-copy{max-width:42ch}.factory-editorial-copy p{margin:0;font-size:14px;line-height:1.85;color:var(--muted)}.factory-editorial-copy p+p{margin-top:16px}
.factory-editorial-bottom{width:100%;margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}.factory-editorial .alt-factory-motto{margin:0!important;padding-left:0;border-left:0;font-size:23px!important;line-height:1.4}.factory-capabilities{font-size:11px;color:var(--link);margin-top:14px;line-height:1.7}
.quick-contact{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:35;color:var(--ink)}
.quick-contact>summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 18px;list-style:none;cursor:pointer;position:relative;isolation:isolate;background:var(--fx-metal);color:var(--ink);font-size:12px;font-weight:500;border:1px solid var(--control);box-shadow:inset 0 1px 0 rgb(255 255 255 / .16),0 6px 18px var(--fx-shadow),0 0 12px rgb(74 143 232 / .07);transition:box-shadow 220ms ease,border-color 220ms ease}
.quick-contact>summary::-webkit-details-marker{display:none}
.quick-contact svg{width:20px;height:20px;flex-shrink:0}
.quick-contact>summary:focus-visible,.quick-contact-panel a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.quick-contact-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(300px,calc(100vw - 32px));padding:20px;isolation:isolate;color:var(--ink);background:radial-gradient(ellipse at 100% 0%,var(--fx-blue),transparent 68%),var(--fx-metal);border:1px solid var(--control);box-shadow:inset 0 1px 0 rgb(255 255 255 / .12),0 12px 32px var(--fx-deep-shadow)}
.quick-contact-panel>p{margin:0 0 14px;font-size:13px;font-weight:500}
.quick-contact-panel>a{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.quick-contact-panel>a>svg:last-child{margin-left:auto;width:16px}
.quick-contact-panel small{display:block;margin-top:4px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.quick-contact-panel>a:hover{color:var(--link)}
body:has(dialog[open]) .quick-contact{visibility:hidden}
.site-footer{padding-bottom:78px}
.map-frame{position:relative}



.quick-contact>summary::before{content:'';position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--fx-ice),var(--accent),transparent);opacity:.45;pointer-events:none}
.quick-contact>summary::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgb(255 255 255 / .045) 50%,transparent 75%);opacity:.5}

.quick-contact>summary:hover,.quick-contact[open]>summary{border-color:var(--link);box-shadow:inset 0 1px 0 rgb(255 255 255 / .2),0 7px 20px var(--fx-shadow),0 0 14px rgb(74 143 232 / .13)}
.quick-contact>summary>svg{color:var(--link)}

@media(max-width:1100px){.project-approach{padding:26px}.approach-points{gap:12px}.factory-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.factory-overview .factory-editorial{padding:30px}}
@media(max-width:900px){.factory-overview{grid-template-columns:1fr}.factory-overview .factory-lead-image>a{height:auto;min-height:0}.factory-overview .factory-lead-image .visual{min-height:0;height:auto;aspect-ratio:1.6}.factory-overview .factory-editorial{border-left:1px solid var(--line);border-top:0}.factory-editorial h2{max-width:none}.factory-editorial-bottom{margin-top:0}}
@media(max-width:600px){.project-approach{gap:22px;padding:26px 22px}.project-approach>h2{font-size:29px}.project-approach>p{font-size:14px}.approach-points dt{font-size:14px}.approach-points dd{font-size:13px}.factory-overview .factory-editorial{padding:28px 22px;gap:22px}.factory-editorial h2{font-size:32px}.factory-editorial-copy p{font-size:14px}.factory-editorial-bottom{padding-top:20px}.quick-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.quick-contact>summary{padding:11px 14px;font-size:11px;gap:9px}}
@media(prefers-reduced-motion:reduce){.quick-contact>summary::before{animation:none!important}.quick-contact>summary{transition:none}}
@media print{.quick-contact{display:none!important}.site-footer{padding-bottom:0}}

/* Seamless light falloff: an angular halo masked to the border, without dash caps. */
@property --contact-light-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.quick-contact>summary>.contact-border-light{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);padding:1.5px;box-sizing:border-box;pointer-events:none;background:conic-gradient(from var(--contact-light-angle),transparent 0deg 240deg,rgb(57 143 255 / .035) 260deg,rgb(73 157 255 / .16) 278deg,rgb(105 181 255 / .48) 296deg,rgb(157 211 255 / .8) 310deg,rgb(105 181 255 / .48) 324deg,rgb(73 157 255 / .16) 342deg,transparent 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;filter:drop-shadow(0 0 2px rgb(57 143 255 / .25))}
.contact-border-light rect{display:none}
:root[data-motion=full] .contact-border-light{animation:contact-border-halo 8s linear infinite}
@keyframes contact-border-halo{to{--contact-light-angle:360deg}}
#alt-fabrication-services .fabrication-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){#alt-fabrication-services .fabrication-services-grid{grid-template-columns:1fr;gap:28px}#alt-fabrication-services .alt-extra-service p{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.contact-border-light{animation:none!important}}

/* The disclosure uses the same restrained steel and blue-light surface as the site. */

.quick-contact-panel::after{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--fx-ice),var(--link),transparent);opacity:.65}



/* Source: /static/home-fabrication.css?v=20261025r1 */
/* Homepage introduction to the confirmed fabrication services. */
.home-fabrication{padding-block:48px 28px;margin-top:20px}
.home-fabrication-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.home-fabrication-heading .eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted)}
.home-fabrication-heading h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-.03em;line-height:1.15;margin-top:14px;max-width:18ch}
.home-fabrication-heading>.button{flex-shrink:0;font-size:12px}
.home-fabrication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px;border-top:1px solid var(--line)}
.home-fabrication-grid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-top:28px}
.home-fabrication-grid article+article{padding-left:32px;border-left:1px solid var(--line)}
.home-fabrication-grid h3{font-size:clamp(23px,2.2vw,30px);letter-spacing:-.025em;line-height:1.25}
.home-fabrication-grid p{font-size:14px;line-height:1.85;color:var(--muted);max-width:38ch;margin:16px 0 18px}
.home-fabrication-grid .detail-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:12px;margin-top:auto;color:var(--link)}
.home-fabrication-grid .detail-link svg{width:18px;height:18px;flex-shrink:0}
@media(max-width:900px){.home-fabrication-grid{gap:24px}.home-fabrication-grid article+article{padding-left:24px}.home-fabrication-heading{gap:24px}.home-fabrication-grid h3{font-size:25px}.home-fabrication-grid p{font-size:13px}}
@media(max-width:600px){
 .home-fabrication{padding-block:36px 12px;margin-top:0}
 .home-fabrication-heading{display:block}.home-fabrication-heading h2{font-size:34px;max-width:15ch}.home-fabrication-heading>.button{margin-top:16px}
 .home-fabrication-grid{grid-template-columns:1fr;gap:0;margin-top:22px}
 .home-fabrication-grid article{padding-block:24px 20px}
 .home-fabrication-grid article+article{border-left:0;padding-left:0;border-top:1px solid var(--line)}
 .home-fabrication-grid h3{font-size:28px}.home-fabrication-grid p{max-width:none;margin-block:12px 10px;font-size:14px}
}


/* Source: /static/production-photos.css?v=20261025p4 */
/* Local photo study: preserves the existing service and home section structure. */
.process-photo{display:block;width:100%;height:100%;object-fit:cover;border:0}
.home-production-photo{margin:28px 0 0;position:relative;border:1px solid var(--line);overflow:hidden;aspect-ratio:3.8}
.home-production-photo img{object-position:50% 57%}
.home-production-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 22px 16px;background:linear-gradient(transparent,rgba(6,12,20,.85));color:#eef3fa;font-size:11px;letter-spacing:.02em;line-height:1.7}

/* Existing service cards retain their text/order; photography sits before the enquiry link. */
#alt-extra-services .alt-extra-service{display:flex;flex-direction:column;align-items:stretch}
#alt-extra-services .service-card-media{margin:auto 0 12px;padding-top:12px;min-width:0;width:100%}
#alt-extra-services .alt-extra-service>p{min-height:0;margin-bottom:0}
#alt-extra-services .alt-extra-service>.detail-link{align-self:flex-start;margin-top:0}
.service-card-frame,.photo-carousel-frame{position:relative;overflow:hidden;border:1px solid var(--line);background:#0b1119;aspect-ratio:1.5}
.service-card-frame .process-photo{object-position:50% 55%}
.photo-carousel-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory}
.photo-carousel-slide{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:0;margin:0;scroll-snap-align:start}
.photo-carousel-slide .process-photo{object-position:50% 55%}
.photo-carousel[data-ready=true] .photo-carousel-track{overflow:visible;scroll-snap-type:none;transition:transform 320ms cubic-bezier(.22,.61,.36,1)}
.photo-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:#edf4ff;cursor:pointer}
.photo-carousel-arrow[hidden]{display:none}
.photo-carousel-arrow svg{width:20px;height:20px;filter:drop-shadow(0 1px 3px #000)}
.photo-carousel-prev{left:7px}.photo-carousel-next{right:7px}
.photo-carousel-arrow:hover{background:transparent;color:#fff}
.photo-carousel-arrow:focus-visible{outline:2px solid #91b4ff;outline-offset:2px}
@media(max-width:900px){.home-production-photo{aspect-ratio:2.8}}
@media(max-width:600px){
 .home-production-photo{aspect-ratio:1.65;margin-top:22px}.home-production-photo figcaption{padding:36px 16px 12px;font-size:10px}
 #alt-extra-services .service-card-media{margin:auto 0 10px;padding-top:10px}
 .service-card-frame,.service-card-media .photo-carousel-frame{aspect-ratio:1.25}
 .service-card-media .photo-carousel-arrow{width:28px;height:44px}
 .service-card-media .photo-carousel-prev{left:4px}.service-card-media .photo-carousel-next{right:4px}
}
:root[data-motion=paused] .photo-carousel[data-ready=true] .photo-carousel-track,:root[data-motion=reduced] .photo-carousel[data-ready=true] .photo-carousel-track{transition:none}
@media(prefers-reduced-motion:reduce){.photo-carousel[data-ready=true] .photo-carousel-track{transition:none}}

/* Preserve the original 16:9 photo-film stage and fill it edge to edge. */
.page-factory .alt-video-stage>img,.page-factory .alt-video-stage>video{object-fit:cover}

/* The existing three fabrication cards use the same description/photo/enquiry rhythm. */
#alt-fabrication-services .alt-extra-service{display:flex;flex-direction:column;align-items:stretch}
#alt-fabrication-services .alt-extra-service>p{min-height:0;margin-bottom:0}
#alt-fabrication-services .service-card-media{margin:auto 0 12px;padding-top:12px;min-width:0;width:100%}
#alt-fabrication-services .alt-extra-service>.detail-link{align-self:flex-start;margin-top:0}
@media(max-width:600px){#alt-fabrication-services .service-card-media{margin:auto 0 10px;padding-top:10px}}


/* Source: /static/section-dividers.css?v=20261025d2 */
/* Restyle only borders that already exist. No added rule, pseudo-element,
   positioning, width or spacing change: native borders remain in their exact layout. */
main>.alt-section,
main>.about-story,
main>.expertise-section,
main>.certificates-section,
main>.alt-project-facts,
main>.alt-project-nav,
main>.alt-share,
.site-footer{
 border-image-source:var(--fx-frame);
 border-image-slice:1;
}

