/* Factory photography and procurement tools, extending the drafting-sheet palette. */
.factory-hero-copy{position:absolute;z-index:5;left:max(5vw,calc((100vw - 1280px)/2));right:6vw;bottom:14vh;color:#fff;max-width:850px;text-shadow:0 2px 22px #0006}
.factory-hero-copy .eyebrow{color:#fff;font-size:11px;letter-spacing:.15em;margin-bottom:24px}
.factory-hero-copy h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(56px,7.5vw,112px);font-weight:500;line-height:.97;letter-spacing:-.035em;margin:0 0 24px}
.factory-hero-copy>p:not(.eyebrow){font-size:clamp(16px,1.5vw,21px);line-height:1.5;color:#f3f3f5}
.factory-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px;text-shadow:none}
.factory-hero-actions .btn{background:#fff;color:#25232d;border:1px solid #fff}
.factory-hero-link{color:#fff;font-size:14px;padding:12px 0;border-bottom:1px solid #ffffff70}
.arrival__pin:has(.factory-hero-copy)::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,rgba(9,15,22,.62),transparent 90%),linear-gradient(0deg,rgba(9,15,22,.28),transparent 65%)}
.factory-tour{padding:100px 0 72px;background:#f8f9fb;position:relative;scroll-margin-top:90px}
.factory-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:40px}
.factory-heading .heading-lg{margin:16px 0 0;font-size:clamp(44px,5.5vw,76px);line-height:1.04}
.factory-heading em,.builder-intro em{font-style:normal;color:var(--indigo)}
.factory-intro{max-width:430px;padding-bottom:6px;font-size:17px;line-height:1.7;color:var(--muted)}
.factory-text-link{display:inline-flex;gap:20px;align-items:center;margin-top:20px;font-size:13px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);padding:0 0 7px;line-height:1.5}
.factory-text-link:hover{color:var(--indigo);border-color:var(--indigo)}
.factory-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.factory-tab{display:flex;align-items:center;gap:8px;border:1px solid #dcdfe6;border-radius:5px;background:transparent;color:var(--ink);padding:13px 15px;font:500 13px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:44px}
.factory-tab span{font:10px 'Space Mono',monospace;color:var(--muted)}
.factory-tab:hover{border-color:var(--indigo);color:var(--indigo)}
.factory-tab[aria-pressed=true]{background:var(--indigo);border-color:var(--indigo);color:white}
.factory-tab[aria-pressed=true] span{color:#d8d2ff}
.factory-view{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);border:1px solid #dcdfe6;border-radius:12px;overflow:hidden;background:#fff;min-height:470px}
.factory-photo{position:relative;display:block;min-width:0;width:100%;height:100%;min-height:470px;padding:0;background:#dfe3e8;border:0;overflow:hidden;cursor:zoom-in;text-align:left}
.factory-photo>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;transition:transform .65s ease}
.factory-photo:hover>img{transform:scale(1.025)}
.factory-photo-tag{position:absolute;bottom:24px;left:24px;background:#101922bc;color:#fff;padding:10px 13px;border:1px solid #ffffff30;backdrop-filter:blur(8px);border-radius:4px;font:10px 'Space Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.factory-expand{position:absolute;top:20px;right:20px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--ink);font-size:23px;box-shadow:0 2px 12px #0001}
.factory-story{display:flex;flex-direction:column;padding:32px;min-width:0}
.factory-index{font:11px 'Space Mono',monospace;color:var(--indigo);letter-spacing:.1em;margin-bottom:36px}
.factory-story h3{font:500 clamp(30px,3.5vw,44px)/1.08 'Barlow Condensed',sans-serif;margin:0 0 16px;color:var(--ink)}
.factory-story p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 24px;min-height:78px}
.factory-thumbs{display:flex;gap:8px;margin-top:auto}
.factory-thumbs button{position:relative;width:calc(25% - 6px);max-width:88px;height:66px;padding:3px;background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer;opacity:.65}
.factory-thumbs button[aria-pressed=true]{border-color:var(--indigo);opacity:1}
.factory-thumbs button:hover{opacity:1}
.factory-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.factory-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.factory-controls>span{font:10px 'Space Mono',monospace;color:var(--muted);text-transform:uppercase}
.factory-controls>div{display:flex;gap:8px}
.factory-controls button{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;font-size:20px;cursor:pointer}
.factory-controls button:hover{border-color:var(--indigo);color:var(--indigo)}
.factory-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:18px;color:var(--muted);font-size:12px}
.factory-footnote>span{text-align:right}
.factory-lightbox{padding:0;border:1px solid #ffffff24;border-radius:12px;background:#12171d;color:#fff;width:min(1200px,94vw);max-width:94vw;max-height:94dvh;overflow:auto;box-shadow:0 20px 120px #0008}
.factory-lightbox::backdrop{background:#071019ed;backdrop-filter:blur(9px)}
.factory-lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px}
.factory-lightbox-top p{font:11px 'Space Mono',monospace;color:#dce0eb}
.factory-lightbox button{background:transparent;border:1px solid #ffffff50;color:white;border-radius:50%;min-width:44px;height:44px;cursor:pointer;font-size:22px}
.factory-lightbox button:hover{background:#ffffff20}
.factory-lightbox figure{margin:0}
.factory-lightbox figure>img{display:block;width:100%;height:min(68dvh,780px);object-fit:contain;background:#0c1015}
.factory-lightbox figcaption{padding:20px 24px;display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:14px}
.factory-lightbox-nav{display:flex;gap:10px;flex-shrink:0}
html:has(.factory-lightbox[open]){overflow:hidden}
.enquiry-builder{padding:96px 0;background:#f0eef9;border-top:1px solid #e0dbee;border-bottom:1px solid #e0dbee;scroll-margin-top:90px}
.builder-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start}
.builder-intro .heading-lg{font-size:clamp(44px,5vw,68px);margin:20px 0 26px;line-height:1.04}
.builder-intro>p:not(.eyebrow){font-size:16px;line-height:1.75;color:var(--muted);max-width:370px}
.builder-form{padding:32px;border:1px solid #fff;border-radius:12px;background:#ffffffbd;box-shadow:0 12px 50px #28204707}
.builder-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}
.builder-fields label{font:10px 'Space Mono',monospace;text-transform:uppercase;color:var(--muted);letter-spacing:.025em}
.builder-fields select,.builder-fields input{display:block;width:100%;min-width:0;min-height:48px;margin-top:12px;background:#fff;border:1px solid #dadbe4;border-radius:5px;padding:12px;color:var(--ink);font:14px 'Hanken Grotesk',sans-serif;text-transform:none;box-sizing:border-box}
.builder-fields select{padding-right:20px;text-overflow:ellipsis}
.builder-wide{grid-column:1/-1}
.builder-summary{margin:26px 0;padding:18px;background:#f2f1f8;border-left:2px solid var(--indigo)}
.builder-summary>span{font:10px 'Space Mono',monospace;text-transform:uppercase;color:var(--indigo)}
.builder-summary p{font-size:14px;line-height:1.65;margin:8px 0 0;overflow-wrap:anywhere}
.builder-form>.btn{width:100%;justify-content:space-between}
.builder-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px}
.quality-photo-section{padding:80px 0;background:#f8f9fb}
.quality-photo-section .heading-lg{margin-top:20px}
.quality-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.quality-photo-grid figure{margin:0}
.quality-photo-grid img{width:100%;height:300px;object-fit:cover;border-radius:8px}
.quality-photo-grid figcaption{font-size:13px;color:var(--muted);line-height:1.6;margin-top:12px}
.factory-tour button:focus-visible,.factory-lightbox button:focus-visible,.builder-form :is(input,select,button):focus-visible,.factory-hero-copy a:focus-visible{outline:3px solid #a99bff;outline-offset:4px}
.no-js .factory-thumbs,.no-js .factory-controls,.no-js .factory-tabs{display:none}
@media(min-width:1600px){.factory-view{min-height:540px}}
@media(max-width:1000px){.factory-heading{gap:35px}.factory-story{padding:24px}.factory-view{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}.builder-layout{gap:36px}.builder-fields{grid-template-columns:1fr}.factory-hero-copy{bottom:12vh}.factory-hero-copy h1{font-size:80px}}
@media(max-width:760px){.factory-tour,.enquiry-builder{padding:60px 0}.factory-heading,.builder-layout{grid-template-columns:1fr;gap:24px}.factory-intro{max-width:none;font-size:15px}.factory-heading{margin-bottom:28px}.factory-tabs{gap:7px}.factory-tab{padding:11px 12px;font-size:12px}.factory-tab span{display:none}.factory-view{grid-template-columns:1fr}.factory-photo{height:310px;min-height:0}.factory-story{padding:24px}.factory-index{margin-bottom:16px}.factory-story p{min-height:0;margin-bottom:20px}.factory-thumbs button{width:76px;height:60px}.factory-controls{margin-top:18px;padding-top:16px}.factory-footnote{display:block;line-height:1.6}.factory-footnote>span{display:block;text-align:left;margin-top:4px}.factory-hero-copy{left:6vw;right:6vw;bottom:13vh}.factory-hero-copy h1{font-size:clamp(52px,10.5vw,78px)}.factory-hero-copy .eyebrow{font-size:9px;line-height:1.7;max-width:260px;margin-bottom:16px}.factory-hero-copy>p:not(.eyebrow){font-size:16px}.factory-hero-actions{gap:16px;margin-top:24px}.factory-hero-actions .btn{font-size:11px}.factory-hero-link{font-size:12px}.builder-form{padding:24px}.builder-fields{gap:20px}.quality-photo-grid{grid-template-columns:1fr}.quality-photo-grid img{height:320px}.factory-lightbox-top{padding:12px 16px}.factory-lightbox figcaption{padding:16px}.factory-lightbox figure>img{height:60dvh}.factory-lightbox-top p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.factory-photo>img,.factory-tab{transition:none}}

/* A miniature product cursor on the product cards and fitting interaction. */
@media (any-hover:hover) and (any-pointer:fine){
 .has-elbow-cursor .rcard,
 .has-elbow-cursor .rcard *,
 .has-elbow-cursor .om6-story .story-visual,
 .has-elbow-cursor .om6-story .story-visual :is(canvas,img,button),
 .has-elbow-cursor .om6-story :is([data-part],[data-story-go]){cursor:var(--elbow-cursor)}
 .has-elbow-cursor .om6-story .nut-model canvas:active{cursor:grabbing}
 .has-elbow-cursor .om6-story [data-nut-range]{cursor:ew-resize}
}
