/* V8: architecture, time and material each have their own motion grammar. */
.v4-home .factory-invitation{display:block;height:225svh;min-height:0;overflow:visible;background:#0a2044;margin:0;padding:0;--factory-entry:0;--factory-split:0;--factory-copy:0}
.factory-stage{height:100svh;position:sticky;top:0;overflow:hidden;background:#e9eef6;isolation:isolate}
.factory-stage .factory-portrait{position:absolute;inset:0 auto 0 0;width:calc(100% - var(--factory-split)*48%);height:100%;min-height:0;clip-path:inset(calc((1 - var(--factory-entry))*12%) calc((1 - var(--factory-entry))*8%) round calc((1 - var(--factory-entry))*70px));z-index:2;background:#0a2044}
.factory-stage .factory-portrait img{width:100%;height:100%;margin:0;object-fit:cover;object-position:45% 50%;transform:scale(calc(1.08 - var(--factory-split)*.08));}
.factory-stage .factory-words{position:absolute;inset:0 0 0 52%;padding:8%;display:flex;flex-direction:column;justify-content:center;gap:26px;opacity:var(--factory-copy);transform:translateY(calc((1 - var(--factory-copy))*50px));}
.factory-stage .factory-words h2{font-size:clamp(44px,4.5vw,90px);line-height:1.04;letter-spacing:-.055em;margin:0;max-width:10ch}
.factory-stage .factory-words p{font-size:clamp(17px,1.3vw,24px);line-height:1.6;margin:0;max-width:34ch}.factory-stage .factory-words .button{align-self:flex-start}
.factory-eyebrow{position:absolute;z-index:3;left:var(--gutter);top:42px;color:white;text-shadow:0 2px 15px #0008;font-size:11px;letter-spacing:.18em}
.v4-home .drawing-invitation{position:relative;isolation:isolate;min-height:92svh;overflow:hidden;gap:9%;padding:150px var(--gutter) 100px;background:#0a2044;--draw-progress:0;--draw-offset:75px;--draw-angle:-18deg}
.drawing-invitation:before{inset:0;width:100%;height:100%;border:0;border-radius:0;background:#0b30b0;transform:none;clip-path:ellipse(calc(25% + var(--draw-progress)*85%) calc(15% + var(--draw-progress)*95%) at 75% 30%);z-index:-2}
.drawing-invitation:after{display:none}.drawing-invitation>div{background:transparent;position:relative;z-index:2;transform:translateY(var(--draw-offset));opacity:calc(.25 + var(--draw-progress)*.75)}
.drawing-invitation>h2{font-size:clamp(58px,7vw,138px);max-width:9ch;line-height:1.01;letter-spacing:-.065em;transform:translateY(calc(var(--draw-offset)*.5));position:relative;z-index:2}
.drawing-invitation .drawing-profile{position:absolute;width:min(70vw,1200px);height:auto;right:-8%;top:50%;transform:translateY(-50%) rotate(var(--draw-angle));color:#acc4ff;opacity:.26;pointer-events:none;z-index:-1}
.drawing-profile path,.drawing-profile circle{stroke-width:.8;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw-progress));vector-effect:non-scaling-stroke}
.drawing-eyebrow{position:absolute;left:var(--gutter);top:70px;font-size:11px;letter-spacing:.18em;color:#bfd3ff}
.v4-home footer{border-top:1px solid #314b7c;background:#0a2044}
/* A legible time instrument, rather than seven identical rows. */
.history.section-block{display:block;padding:0!important;height:370svh;position:relative;background:#0b2549;color:white;overflow:visible}
.history-stage{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;padding:80px max(var(--gutter),calc((100vw - 1600px)/2));isolation:isolate}
.history-heading{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:30px;border-top:1px solid #ffffff30;padding-top:25px}.history-heading h2{font-size:clamp(28px,3vw,54px);letter-spacing:-.04em;margin:0}.history-heading p{font-size:12px;letter-spacing:.1em;color:#a4bce0}
.history-year{position:absolute;left:5%;top:20%;font-size:clamp(160px,25vw,500px);font-weight:500;letter-spacing:-.085em;line-height:1;color:#b7c9e5;font-variant-numeric:tabular-nums;user-select:none}
.history-stage:before{content:'';position:absolute;left:50%;top:30%;width:1px;height:48%;background:#ffffff20;transform:rotate(24deg);z-index:-1}
.history-stage .history-list{position:absolute;left:58%;right:8%;top:49%;height:150px}
.history-list article{position:absolute;inset:0;display:block;padding:0;border:0;opacity:var(--history-alpha,0);transform:translateY(var(--history-y,0));pointer-events:none;transition:none}
.history-list article strong{display:block;font-size:14px;font-weight:400;color:#8eafe2;margin-bottom:22px;letter-spacing:.1em}.history-list article p{font-size:clamp(22px,2vw,38px);line-height:1.35;margin:0;max-width:25ch;letter-spacing:-.02em}
.history-ruler{position:absolute;left:8%;right:8%;bottom:9%;display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid #ffffff28}
.history-ruler:before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#b9d0f4;transform:scaleX(var(--history-progress,0));transform-origin:left}
.history-ruler button{position:relative;padding:12px 0;background:none;border:0;color:#7f9fc8;font-size:15px;cursor:pointer;transition:color .3s}
.history-ruler button:before{content:'';position:absolute;top:-30px;left:50%;height:9px;width:1px;background:currentColor;transition:height .3s}.history-ruler button[aria-current=true]{color:white}.history-ruler button[aria-current=true]:before{height:18px;top:-39px}
.history-stage>.small-note{position:absolute;bottom:15px;left:8%;right:8%;font-size:10px;color:#8da6c9;margin:0}
/* Three separate specimens travel towards the collection as the page is explored. */
.collection-scroll{height:155svh;background:#e6ebf2}
.collection-intro{position:sticky;top:0;height:100svh;min-height:650px;padding:120px max(var(--gutter),calc((100vw - 1600px)/2)) 80px;align-content:center;isolation:isolate;--collection-progress:0}
.collection-intro:before{content:'';position:absolute;inset:12% 4%;border:1px solid #52658320;border-radius:50%;transform:rotate(-22deg) scale(calc(.85 + var(--collection-progress)*.25));z-index:-1}
.collection-intro h1{font-size:clamp(64px,7.5vw,130px);line-height:.98;letter-spacing:-.065em;transform:translateY(calc(var(--collection-progress)*-65px));opacity:calc(1 - var(--collection-progress)*.65)}
.collection-intro>p{max-width:31ch;font-size:19px;transform:translateY(calc(var(--collection-progress)*-40px));opacity:calc(1 - var(--collection-progress)*.7)}
.collection-kicker{position:absolute;left:max(var(--gutter),calc((100vw - 1600px)/2));top:90px;letter-spacing:.15em;font-size:11px;color:#527093}
.collection-scroll-cue{position:absolute;bottom:50px;left:max(var(--gutter),calc((100vw - 1600px)/2));font-size:12px;border-bottom:1px solid #7e90ac;padding-bottom:10px}
.collection-objects{height:420px;perspective:1000px;gap:24px;align-items:center;transform:translateY(calc(var(--collection-progress)*75px))}
.collection-objects a{position:relative;transition:filter .7s;filter:drop-shadow(0 22px 20px #0c29451a)}
.collection-objects a:nth-child(1){transform:translateY(calc(-30px + var(--collection-progress)*90px)) rotate(calc(-12deg + var(--collection-progress)*16deg))!important}
.collection-objects a:nth-child(2){transform:translateY(calc(35px - var(--collection-progress)*65px)) rotate(calc(8deg - var(--collection-progress)*14deg))!important}
.collection-objects a:nth-child(3){transform:translateY(calc(85px - var(--collection-progress)*55px)) rotate(calc(-14deg + var(--collection-progress)*20deg))!important}
.collection-objects img{max-height:400px;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.collection-objects a:hover img{transform:translateY(-12px) scale(1.035)}
.product-library{position:relative;z-index:2;border-radius:32px 32px 0 0;margin-top:-32px;padding-top:55px;box-shadow:0 -20px 65px #15314b08}
.product-card{border-radius:3px;transition:box-shadow .5s,background .5s!important;transform:none;background:transparent;position:relative}.product-card:hover{box-shadow:0 18px 45px #142e4410;background:white}
.product-card .catalog-image{height:clamp(235px,23vw,345px);padding:30px;position:relative;background:#eef1f5}
.product-card .catalog-image img{object-fit:contain!important;max-width:100%;max-height:100%;transform:translate(0,0) scale(.96)!important;transition:transform .8s cubic-bezier(.16,.7,.2,1)!important}
.product-card:hover .catalog-image img{transform:translate(var(--hover-x,0px),var(--hover-y,-4px)) scale(1)!important}
.product-card .catalog-copy{background:transparent;border-top:1px solid #d3dce6;padding:24px 20px 28px}.product-card .catalog-copy h3{font-size:clamp(18px,1.4vw,25px);font-weight:500;letter-spacing:-.025em;line-height:1.25}.card-arrow{transition:transform .5s}.product-card:hover .card-arrow{transform:rotate(45deg)}
#category-filters button{position:relative;border-radius:0;border-bottom:1px solid #c8d3e455;padding:15px 12px;transition:background .4s,color .4s,padding .4s}#category-filters button[aria-pressed=true]{background:#0b30b0;padding-left:22px}#category-filters button[aria-pressed=true]:before{content:'';position:absolute;left:9px;top:50%;width:4px;height:4px;border-radius:50%;background:white}
.filter-select{position:relative;margin-bottom:28px}.filter-trigger{width:100%;min-height:54px;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;background:transparent;border:0;border-bottom:1px solid #9cacbf;border-radius:0;padding:12px 3px;font:inherit;font-size:15px;cursor:pointer;color:#162335}
.filter-trigger:after{content:'+';font-size:22px;font-weight:300;transition:transform .4s}.filter-trigger[aria-expanded=true]:after{transform:rotate(45deg)}
.filter-options{position:absolute;z-index:25;top:calc(100% + 9px);left:0;min-width:100%;width:max-content;max-width:min(340px,85vw);max-height:330px;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #dce4ed;padding:8px;box-shadow:0 24px 60px #0b254922;border-radius:12px;animation:filter-open .3s cubic-bezier(.2,.7,.2,1);scrollbar-width:thin}
.filter-options button{display:block;text-align:left;width:100%;white-space:normal;background:none;border:0;padding:12px 15px;border-radius:6px;color:#33465e;font:inherit;font-size:14px;cursor:pointer}.filter-options button:hover,.filter-options button:focus-visible{background:#edf2fa;outline:0}.filter-options button[aria-selected=true]{color:#1238b7;background:#edf2ff}
.filter-trigger:focus:not(:focus-visible),.filter-options button:focus:not(:focus-visible){outline:none}.filter-trigger:focus-visible{outline:2px solid #829ed3;outline-offset:4px}
@keyframes filter-open{from{opacity:0;transform:translateY(-8px);clip-path:inset(0 0 35% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(max-width:760px){
 .v4-home .factory-invitation{height:auto}.factory-stage{position:relative;height:auto;display:block}.factory-stage .factory-portrait{position:relative;width:100%;height:56svh;clip-path:none}.factory-stage .factory-portrait img{transform:none}.factory-stage .factory-words{position:relative;inset:auto;padding:45px var(--gutter) 60px;opacity:1;transform:none}.factory-stage .factory-words h2{font-size:46px;max-width:12ch}.factory-eyebrow{top:24px;font-size:9px}
 .v4-home .drawing-invitation{display:block;min-height:700px;padding:125px var(--gutter) 65px}.drawing-invitation>h2{font-size:58px;margin-bottom:45px}.drawing-invitation .drawing-profile{width:130vw;right:-60%;top:60%}.drawing-invitation>div{max-width:33ch}.drawing-eyebrow{top:50px;font-size:9px}
 .history.section-block{height:auto}.history-stage{position:relative;height:auto;min-height:0;padding:60px var(--gutter) 45px}.history-heading{display:block}.history-heading h2{font-size:36px}.history-year{display:none}.history-stage .history-list{position:relative;inset:auto;height:auto;margin-top:40px;border-left:1px solid #7292bc60;padding-left:24px}.history-list article{position:relative;inset:auto;opacity:1;transform:none;padding:0 0 45px}.history-list article:before{content:'';position:absolute;width:7px;height:7px;left:-28px;top:15px;background:#bed4f8;border-radius:50%}.history-list article strong{font-size:42px;margin-bottom:12px}.history-list article p{font-size:18px;max-width:30ch}.history-ruler{display:none}.history-stage>.small-note{position:relative;inset:auto;line-height:1.6}
 .collection-scroll{height:auto}.collection-intro{height:auto;min-height:640px;position:relative;padding:90px var(--gutter) 80px}.collection-kicker{top:35px;font-size:9px}.collection-intro h1{font-size:59px;max-width:10ch;transform:none;opacity:1}.collection-intro>p{font-size:17px;transform:none;opacity:1}.collection-objects{height:220px;margin-top:24px;gap:14px;transform:none}.collection-objects img{max-height:195px}.collection-objects a:nth-child(n){transform:none!important}.collection-scroll-cue{bottom:35px}.collection-intro:before{inset:35% -20% 12%;transform:rotate(-22deg)}
 .product-library{border-radius:22px 22px 0 0;margin-top:-22px}.product-card .catalog-image{height:180px;padding:19px}.product-card .catalog-copy{padding:18px 12px}.product-card .catalog-copy h3{font-size:16px}.filter-options{max-height:260px}.filter-select{margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){
 .v4-home .factory-invitation{height:auto}.factory-stage{position:relative;height:85svh;min-height:650px}.factory-stage .factory-portrait{width:52%;clip-path:none}.factory-stage .factory-words{opacity:1;transform:none}.drawing-invitation *, .collection-intro *{animation:none!important;transition:none!important}.collection-scroll{height:auto}.collection-intro{position:relative;height:auto;min-height:650px}.history.section-block{height:auto}.history-stage{position:relative;height:auto;padding:70px var(--gutter)}.history-year,.history-ruler{display:none}.history-stage .history-list{position:relative;inset:auto;height:auto;margin-top:50px}.history-list article{position:relative;inset:auto;opacity:1;transform:none;padding:25px 0;border-bottom:1px solid #ffffff20}.history-stage>.small-note{position:relative;inset:auto}.filter-options{animation:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.factory-stage{height:auto;min-height:0}.factory-stage .factory-portrait{width:100%}}

.collection-objects a:nth-child(n){align-self:center;flex-shrink:1}
.collection-objects a:nth-child(1){width:37%}.collection-objects a:nth-child(2){width:18%}.collection-objects a:nth-child(3){width:33%}
@media(min-width:761px){.collection-objects{gap:20px}}
.filter-select.opens-up .filter-options{top:auto;bottom:calc(100% + 9px)}
@media(min-width:761px) and (max-height:900px){.filters{position:relative;top:auto;align-self:start}}

@media(max-width:760px),(prefers-reduced-motion:reduce){.history-stage:before{display:none}}
