[hidden]{display:none!important}
:root{color-scheme:dark;--ink:#191a1c;--paper:#f2f2f2;--muted:#b9bdc5;--accent:#e5eaf2;--line:#41454d;--body-font:Manrope,"Segoe UI",sans-serif;scroll-behavior:smooth;scroll-padding-top:28px}
*{box-sizing:border-box}html:has(body.home){height:auto;overflow-x:clip;overflow-y:auto}body.home{margin:0;min-height:100dvh;overflow-x:clip;background:var(--ink);color:var(--paper);font-family:var(--body-font);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}a{color:inherit;text-decoration:none;text-underline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}html{scrollbar-color:#777d87 var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:absolute;top:12px;left:20px;transform:translateY(-160%);background:var(--accent);color:var(--ink);padding:14px 20px;z-index:5}.skip-link:focus{transform:translateY(0)}
.site-header{height:96px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:2}.wordmark{display:inline-flex;align-items:center;flex:none}.wordmark img{display:block;width:112px;height:56px;filter:invert(1)}.site-header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.nav-guide,.nav-collection{min-height:44px;display:flex;align-items:center;padding:10px 0}.nav-scan{display:flex;align-items:center;padding:13px 19px;border:1px solid #777d87;min-height:46px}
.hero{position:relative;min-height:700px;min-height:min(800px,calc(100dvh - 96px));padding:clamp(60px,9vw,125px) 5% 100px;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:1;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.hero h1{font-size:clamp(56px,6.2vw,92px);line-height:1.07;letter-spacing:-.04em;font-weight:650;max-width:760px}.hero h1 span{color:#c7cdd6}.hero-actions{display:flex;align-items:center;gap:14px;margin-top:36px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:16px 24px;font-weight:650;font-size:14px;border-radius:999px}.button-primary{background:#e5eaf2;color:#191a1c}.text-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;font-weight:600;font-size:13px}.hero-object{position:absolute;z-index:0;right:-3%;top:0;width:74%;height:100%;pointer-events:none;background:var(--ink)}.hero-object img{display:block;width:100%;height:100%;object-fit:contain;object-position:center right;mix-blend-mode:lighten}
.collection{padding:90px 5% 84px;background:#e9ecf0;color:#24282e;color-scheme:light}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:36px}.collection h2,.process h2{font-size:clamp(34px,3.5vw,52px);font-weight:600;letter-spacing:-.035em;line-height:1.14}.collection-heading p{font-size:14px;line-height:1.5;color:#59616c;padding-bottom:6px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.collection-style{position:relative;display:grid;grid-template-columns:1fr auto;text-align:left;padding:0 22px 20px;overflow:hidden;min-width:0;border-radius:24px;background:#f4f6f8;background-image:linear-gradient(145deg,#ffffffc2,#ffffff10 60%,#ffffff83);box-shadow:inset 0 1px 1px #fff,0 8px 25px #29334009;color:#363d47;isolation:isolate}.collection-style[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #637185,inset 0 1px 0 #fff,0 8px 24px #29334014}.collection-art{display:block;grid-column:1/-1;position:relative;aspect-ratio:1.6;width:calc(100% + 44px);margin:0 -22px;overflow:hidden;mix-blend-mode:multiply}.collection-art img{position:absolute;display:block;width:300%;max-width:none;height:auto;top:50%;transform:translateY(-50%);left:calc(var(--concept-index) * -100%)}.collection-name{font-size:19px;letter-spacing:-.02em;font-weight:650;line-height:26px}.collection-selected{opacity:0;width:25px;height:25px;border-radius:50%;background:#303b4b;color:#fff;padding:2px}.collection-selected svg{width:100%;height:100%;stroke-width:1.7}.collection-style[aria-pressed=true] .collection-selected{opacity:1}.collection-style:focus-visible,.collection a:focus-visible{outline-color:#3d4a5d}.collection-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}.collection-bottom p{font-size:12px;line-height:1.5;color:#59616c}.collection .collection-scan{color:#fff;background:#303844;min-width:170px;box-shadow:inset 0 1px 0 #ffffff30,0 5px 15px #30384412}
.site-footer{margin:0 5%;border-top:1px solid var(--line);padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:22px}.site-footer p{font-size:12px;line-height:1.6;color:#b9bdc5}
@supports ((backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px))){.collection-style{background-color:#ffffff45;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}
@media(min-width:1600px){.hero{padding-left:max(5%,calc((100vw - 1500px)/2))}.site-header,.site-footer{margin-left:max(5%,calc((100vw - 1500px)/2));margin-right:max(5%,calc((100vw - 1500px)/2))}.collection{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}}
@media(max-width:900px){.site-header nav{gap:20px}.hero{min-height:620px;padding-top:75px}.hero h1{font-size:clamp(48px,7.3vw,70px)}.hero-object{right:-16%;width:85%}.collection{padding-top:65px;padding-bottom:60px}.collection-heading{display:block}.collection-heading p{margin-top:14px}.collection-grid{gap:12px}.collection-style{padding:0 15px 16px;border-radius:20px}.collection-art{width:calc(100% + 30px);margin:0 -15px}.process{gap:7%;padding:70px 5%}}
@media(max-width:600px){.site-header{height:82px;margin:0 6%}.wordmark img{width:98px;height:49px}.site-header nav{gap:14px}.nav-guide,.nav-collection{display:none}.nav-scan{font-size:12px;min-height:44px;padding:12px 16px}.hero{padding:48px 6% 0;min-height:0}.hero h1{font-size:clamp(41px,10.5vw,62px);line-height:1.08}.hero-actions{margin-top:26px;gap:10px}.button{min-height:50px;font-size:13px;padding:14px 20px}.hero-object{position:relative;width:114%;right:auto;top:auto;height:330px;margin:5px -7% 0}.hero-object img{width:140%;max-width:none;margin-left:-40%;object-position:right}.collection{padding:52px 6%}.collection-heading{margin-bottom:25px}.collection h2,.process h2{font-size:36px}.collection-heading p{font-size:13px}.collection-grid{gap:8px}.collection-style{padding:0 10px 12px;border-radius:16px;grid-template-columns:1fr}.collection-art{width:calc(100% + 20px);margin:0 -10px;aspect-ratio:1.15}.collection-name{font-size:13px;line-height:20px}.collection-selected{position:absolute;right:8px;bottom:13px;width:15px;height:15px;padding:1px}.collection-bottom{flex-direction:column;align-items:flex-start;gap:20px;margin-top:18px}.collection-bottom p{font-size:11px}.collection .collection-scan{width:100%}.process{display:block;padding:52px 6% 60px}.process-intro .text-action{margin-top:12px}.process-steps{margin-top:24px}.process-steps li{padding:23px 0;gap:16px}.process-steps h3{font-size:21px}.process-steps p{font-size:13px}.site-footer{margin:0 6%;padding:22px 0;gap:24px}.site-footer p{font-size:10px;max-width:150px}}
@media(max-width:360px){.hero-actions .text-action{padding-left:13px;padding-right:13px}.hero-object{height:285px}.collection-style{padding-left:7px;padding-right:7px}.collection-art{width:calc(100% + 14px);margin:0 -7px}.collection-selected{right:5px;width:13px;height:13px;bottom:15px}.collection-name{font-size:12px}}
@media(hover:hover){.collection-style:hover{background-color:#fff}.nav-guide:hover,.nav-collection:hover{color:#fff}.inline-link:hover{text-decoration-thickness:2px}}
@media(prefers-reduced-motion:no-preference){.collection-style{transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}.collection-style:active{transform:scale(.98)}}
.home.motion-still .hero-object img{animation:none}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(prefers-reduced-transparency:reduce){.collection-style{background:#f5f7fa;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Open product shelf: imagery floats above compact, optically edged controls. */
.home .collection{background:#edf0f3;padding-top:76px;padding-bottom:66px;position:relative;isolation:isolate}
.home .collection-heading{margin-bottom:22px}
.home .collection-grid{gap:20px}
.home .collection-style,.home .collection-style[aria-pressed=true],.home .collection-style:hover{display:grid;grid-template-columns:1fr;justify-items:center;background:none;box-shadow:none;border:0;border-radius:0;padding:0;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:auto}
.home .collection-art{width:100%;margin:0;aspect-ratio:1.55;mix-blend-mode:multiply;overflow:hidden}
.home .collection-art img{filter:brightness(1.28) contrast(1.06)}
.home .collection-name{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;min-width:126px;min-height:48px;padding:12px 32px;font-size:14px;font-weight:600;line-height:20px;border-radius:999px;background:#ffffff70;background-image:linear-gradient(125deg,#ffffffef 0%,#ffffff40 25%,#ffffff05 52%,#ffffffac 100%);box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffffd9,inset -1px -1px 0 #65738a42,0 5px 12px #31465a0d;color:#505b6b;overflow:hidden}
.home .collection-name::before{content:"";position:absolute;z-index:-1;inset:2px;border-radius:inherit;border-top:1px solid #ffffffc9;border-bottom:1px solid #fff7;pointer-events:none}
.home .collection-style[aria-pressed=true] .collection-name{color:#222d3c;background-color:#ffffffb8;box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px #72839c7a,inset -1px -1px 0 #5e6d8540,0 6px 16px #32415d18}
.home .collection-selected{display:none}
.home .collection-style:focus-visible{outline:0}
.home .collection-style:focus-visible .collection-name{outline:2px solid #45566f;outline-offset:4px}
.home .collection-bottom{margin-top:26px}
.home .collection .collection-scan{background:#3d4859;background-image:linear-gradient(130deg,#ffffff28,#ffffff04 48%,#ffffff20);box-shadow:inset 0 1px 0 #ffffff85,inset 0 -1px 0 #1521327a,0 8px 20px #22304618;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.home .process{display:flex;flex-direction:column;align-items:center;gap:24px;padding:48px 7% 42px}
.process-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,960px);gap:70px}
.process-step{min-width:0;min-height:44px;padding:0;color:#d9dfe8;display:flex;flex-direction:column;align-items:center;gap:8px;border-radius:12px}
.process-step svg{width:100%;height:auto;max-height:168px;stroke:#9ea9b9;stroke-width:1.2;fill:none;overflow:visible}
.process-step .process-lens{stroke:#e6ebf2;stroke-width:1.2;fill:#ffffff08}
.process-step .process-muted{stroke:#677180;stroke-width:1}
.process-step .process-markers{fill:#a8b3c3;stroke:none}
.process-step .process-shine{stroke:#f4f8ff;stroke-width:1.8;opacity:.85}
.process-step span{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.01em}
.process-sheet{display:inline-flex;min-height:44px;align-items:center;font-size:12px;color:#c0c8d4;text-decoration:underline}
@supports ((backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px))){.home .collection-name{backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25)}}
@media(hover:hover){.home .collection-style:hover .collection-name{background-color:#ffffffcb}.process-step:hover{color:#fff}.process-step:hover .process-lens{stroke:#fff}}
@media(prefers-reduced-motion:no-preference){.home .collection-art img{transition:transform .45s cubic-bezier(.16,1,.3,1)}.home .collection-style:hover .collection-art img{transform:translateY(-52%)}.home .collection-name{transition:box-shadow .25s ease,background-color .25s ease}.home .collection-style{transition:none}.home .collection-style:active{transform:none}.home .collection-style:active .collection-name{transform:scale(.97)}}
@media(max-width:600px){.home .collection{padding:45px 6% 40px}.home .collection-heading{margin-bottom:4px}.home .collection-grid{gap:7px}.home .collection-art{aspect-ratio:1.12}.home .collection-name{min-width:0;width:100%;min-height:44px;padding:10px 12px;font-size:12px}.home .collection-style{padding-bottom:0}.home .collection-bottom{gap:18px;margin-top:24px}.home .process{padding:30px 6% 22px;gap:12px}.process-visuals{gap:17px}.process-step{gap:5px}.process-step svg{max-height:110px}.process-step span{font-size:13px}.process-sheet{font-size:11px}}
@media(prefers-reduced-transparency:reduce){.home .collection-name{background:#f8fafc;backdrop-filter:none;-webkit-backdrop-filter:none}.home .collection .collection-scan{background:#3d4859;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Keep the opening viewport entirely charcoal. The image keeps its own size;
   any extra viewport height becomes quiet space, not an enlarged product. */
.home{--landing-header:96px}
.home>.site-header{height:var(--landing-header)}
.home .hero{min-height:calc(100vh - var(--landing-header));min-height:calc(100svh - var(--landing-header));min-height:calc(100dvh - var(--landing-header))}
.home .hero-object{max-height:760px}
/* Blend the complete photographic layer into an explicit charcoal backdrop.
   Filtering/rotating the old image against an isolated transparent hero exposed
   its rectangular boundary. Fade only the image's empty studio margins. */
.home .hero{background:var(--ink)}
.home .hero-object{display:flex;align-items:center;background:transparent;mix-blend-mode:lighten}
.home .hero-object img{height:auto;flex-shrink:0;mix-blend-mode:normal;filter:grayscale(1);animation:none;transform:none;transform-origin:70% 55%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 80%,transparent 100%)}
.home .hero-motion{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:auto;max-width:none;filter:grayscale(1);opacity:0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 80%,transparent 100%)}
.home .hero-object.has-motion .hero-motion{opacity:1}
.home .hero-object.has-motion img{opacity:0;animation:none}
.home .hero-motion-toggle{position:absolute;right:5%;bottom:22px;z-index:2;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:12px;border:1px solid #ffffff36;border-radius:999px;background:linear-gradient(145deg,#ffffff24,#ffffff09);color:#eef2f7;box-shadow:inset 0 1px 0 #ffffff2c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
.home .hero-motion-toggle[hidden]{display:none}
.hero-motion-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;fill:none}
.hero-motion-toggle .motion-play{display:none;fill:currentColor;stroke:none}
.hero-motion-toggle[data-state="paused"] .motion-play{display:block}
.hero-motion-toggle[data-state="paused"] .motion-pause{display:none}
.home .hero-motion-toggle:focus-visible{outline:2px solid #e4edf9;outline-offset:4px}
@media(max-width:600px){.home .hero-motion{width:140%;left:-40%}.home .hero-motion-toggle{right:6%;bottom:16px}}
@media(prefers-reduced-transparency:reduce){.home .hero-motion-toggle{background:#34383f;backdrop-filter:none;-webkit-backdrop-filter:none}}
@keyframes frame-arrive{from{transform:translate3d(8px,8px,0) rotate(-.45deg) scale(1.012)}to{transform:translate3d(0,0,0) rotate(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){.home:not(.motion-still) .hero-object.is-ready img{animation:frame-arrive 950ms cubic-bezier(.16,1,.3,1) both}}
@media(max-width:600px){.home{--landing-header:82px}}
@media(max-height:500px) and (min-width:601px){
  .home{--landing-header:72px}
  .home .hero{padding-top:28px;padding-bottom:36px}
  .home .hero h1{font-size:clamp(30px,5.3vw,46px)}
  .home .hero-actions{margin-top:22px}
  .home .hero-object{max-height:400px;right:0;width:64%}
}
