
@font-face { font-family:"Museo Sans"; src:url("fonts/museo-sans-300.woff") format("woff"); font-style:normal; font-weight:200; font-display:swap; }
@font-face { font-family:"Museo Sans"; src:url("fonts/museo-sans-300.woff") format("woff"); font-style:normal; font-weight:300; font-display:swap; }
@font-face { font-family:"Museo Sans"; src:url("fonts/museo-sans-300-italic.woff") format("woff"); font-style:italic; font-weight:300; font-display:swap; }
@font-face { font-family:"Museo Sans"; src:url("fonts/museo-sans-500.woff") format("woff"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Museo Sans"; src:url("fonts/museo-sans-700.woff") format("woff"); font-style:normal; font-weight:700; font-display:swap; }

:root { --paper:#fffdf9; --ink:#23282b; --muted:#bbb4ae; --line:#d8d1c9; --dark:#1f2528; --section-top:64px; --section-bottom:96px; --ease:cubic-bezier(.22,1,.36,1); --hero-filter-saved:saturate(.62) contrast(1.03) brightness(.96) hue-rotate(7deg); --hero-overlay-saved:rgba(187,180,174,.06); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"Museo Sans",Arial,sans-serif; font-weight:300; }
a { color:inherit; text-decoration:none; }
img,video { display:block; width:100%; height:100%; object-fit:cover; }
button,input,textarea { font:inherit; }
.header { height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4.5vw; border-bottom:1px solid var(--line); position:absolute; inset:0 0 auto; z-index:10; color:var(--ink); }
.wordmark { display:block; width:126px; height:32px; overflow:hidden; position:relative; flex:none; }
.wordmark img { position:absolute; width:152px; height:auto; max-width:none; left:-13px; top:-85px; object-fit:contain; }
.nav { display:flex; gap:34px; font-size:14px; font-weight:300; letter-spacing:.04em; }
.nav a,.header-cta { transition:opacity .25s; }.nav a:hover,.header-cta:hover { opacity:.55; }
.header-cta { justify-self:end; display:flex; align-items:center; font-size:14px; font-weight:300; border-bottom:1px solid #bbb4ae; padding-bottom:5px; }.header-cta .arrow-mark,.button .arrow-mark { margin-left:18px; }
.arrow-mark { display:inline-block; width:6.6px; height:6.6px; flex:0 0 6.6px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.menu-button { display:none; border:0; background:none; }
.hero { height:100vh; height:100dvh; min-height:620px; padding-top:82px; display:grid; grid-template-columns:48.5% 51.5%; overflow:hidden; }
.hero-copy { padding:38px 4.5vw 4.8vw; display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:500; line-height:1.4; margin:0; }
h1,h2 { font-family:"Museo Sans",Arial,sans-serif; font-weight:300; letter-spacing:-.055em; margin:0; line-height:.91; }
h1 { font-size:clamp(50px,min(6.25vw,11dvh),104px); }
h1 em,h2 em { font-weight:300; color:#bbb4ae; }
.hero-bottom { display:grid; grid-template-columns:minmax(250px,370px) auto; align-items:end; gap:32px; }
.hero-bottom p { margin:0; font-size:15px; line-height:1.55; max-width:390px; }
.button { min-height:54px; padding:0 22px; border:1px solid; display:inline-flex; align-items:center; justify-content:space-between; min-width:190px; font-size:14px; font-weight:300; cursor:pointer; transition:background .25s,color .25s; }
.button-dark { background:var(--ink); color:var(--paper); border-color:var(--ink); }.button-dark:hover { background:transparent; color:var(--ink); }
.hero-image-wrap { position:relative; min-height:0; overflow:hidden; }
.hero-slides,.hero-slide { position:absolute; inset:0; }
.hero-slide { opacity:0; z-index:0; pointer-events:none; transform:translateZ(0); will-change:opacity; transition:opacity 1.8s cubic-bezier(.45,0,.2,1); }
.hero-slide.is-active { opacity:1; z-index:1; }
.hero-image { transform:scale(1.02); filter:none; animation:slowZoom 24s linear alternate infinite; }
.hero-slide-original img { object-position:center 42%; }.hero-slide-karma img { object-position:46% center; }.hero-slide-flamingo img { object-position:48% center; }.hero-slide-sandalwood img { object-position:63% center; }
.hero-image-wrap::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:transparent; mix-blend-mode:normal; }
.hero-dots { position:absolute; left:clamp(28px,4.5vw,54px); bottom:clamp(28px,4.5vw,54px); z-index:3; display:flex; align-items:center; gap:25px; }
.hero-dots button { width:8px; height:8px; padding:0; border:1px solid rgba(255,253,249,.9); border-radius:50%; background:transparent; cursor:pointer; transition:background-color .25s,transform .25s; }
.hero-dots button:hover,.hero-dots button:focus-visible { transform:scale(1.25); outline:none; }.hero-dots button.is-active { background:#fffdf9; }
.vertical-note { position:absolute; right:13px; top:110px; z-index:3; color:white; writing-mode:vertical-rl; font-size:9px; letter-spacing:.22em; }
.hero-in { opacity:0; transform:translateY(18px); animation:enter .9s var(--ease) forwards; }.hero-in.one { animation-delay:.15s }.hero-in.two { animation-delay:.3s }.hero-in.three { animation-delay:.5s }.hero-in.image-in { transform:translateY(0); animation-delay:.05s; }
.section-pad { padding:var(--section-top) 4.5vw var(--section-bottom); }
.statement.section-pad,.dark-intro.section-pad,.process.section-pad,.contact.section-pad { padding-top:var(--section-top); }
.statement { min-height:760px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.statement h2 { font-size:clamp(64px,8.5vw,144px); max-width:1250px; }
.statement-foot { margin-left:50%; display:grid; grid-template-columns:1.4fr .7fr; gap:96px; border-top:1px solid var(--line); padding-top:32px; }.statement-foot p,.statement-foot span { font-size:14px; line-height:1.55; margin:0; }.statement-foot span { color:var(--muted); }
.range { position:relative; border-bottom:1px solid var(--line); }.range-sticky { position:sticky; top:0; height:100vh; height:100dvh; overflow:hidden; padding:clamp(58px,7.5vh,82px) 0 clamp(56px,7vh,78px); background:var(--paper); }.section-heading { display:grid; grid-template-columns:1fr 2fr; align-items:start; margin:0 4.5vw clamp(76px,8.5vh,104px); }.section-heading h2 { font-size:clamp(50px,5.5vw,86px); }.range-viewport { overflow:hidden; }.range-track { width:max-content; display:flex; align-items:flex-start; gap:clamp(52px,5.5vw,92px); padding:0 4.5vw; will-change:transform; }.range-card { flex:none; width:clamp(310px,24vw,400px); }.range-card:nth-child(3n+2) { width:clamp(340px,27vw,450px); }.range-card:nth-child(4n) { width:clamp(300px,23vw,380px); }.range-card:nth-child(even) { margin-top:74px; }
.range-image { height:clamp(310px,44vh,490px); overflow:hidden; background:#f2eadf; position:relative; }.range-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transform:scale(1.018); filter:none; transition:opacity 1.25s var(--ease),transform 2.8s var(--ease),filter .6s; }.range-image img:first-child { opacity:1; transform:scale(1); }.range-card:hover .range-image img:first-child { opacity:0; transform:scale(1.055); }.range-card:hover .range-image img:last-child { opacity:1; transform:scale(1.055); filter:none; }
.range-meta { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:11px; margin-top:15px; font-size:9px; letter-spacing:.15em; }.range-meta p { margin:0; }.range-card h3 { font-family:"Museo Sans",Arial,sans-serif; font-size:27px; font-weight:300; letter-spacing:-.025em; margin:18px 0 6px; }.range-copy { margin:0; color:var(--muted); font-size:14px; font-weight:300; line-height:1.5; }
.dark-section { background:var(--dark); color:#edf1f1; padding-bottom:83px; }
.dark-intro { padding-bottom:58px; }.dark-intro h2 { font-size:clamp(64px,7.8vw,126px); margin-top:0; }.dark-intro h2 em { color:#bbb4ae; }
.capabilities { display:grid; grid-template-columns:50% 50%; margin:0 4.5vw; border-top:1px solid #474743; }
.capability-image { height:566px; margin:54px 2.2vw 0 0; position:relative; overflow:hidden; background:#2b3134; }.capability-image img { object-position:center center; filter:none; }
.capability-list { padding:0; border-left:1px solid #474743; }.capability { min-height:124px; padding:0 2.2vw; display:grid; grid-template-columns:50px 1fr 32px; grid-template-rows:124px 0fr; column-gap:18px; align-items:center; border-bottom:1px solid #474743; transition:grid-template-rows .62s var(--ease),background-color .4s ease; }.capability.is-open { grid-template-rows:82px 1fr; background:rgba(255,255,255,.018); }.capability>span,.capability p { font-size:10px; font-weight:300; color:#999690; }.capability>span { grid-column:1; grid-row:1; }.capability h3 { grid-column:2; grid-row:1; font:300 25px "Museo Sans",Arial,sans-serif; letter-spacing:-.025em; margin:0; }.capability-detail { grid-column:2/4; grid-row:2; align-self:start; min-height:0; overflow:hidden; }.capability p { font-size:14px; line-height:1.55; margin:0 0 28px; opacity:0; transform:translateY(-7px); transition:opacity .36s ease,transform .5s var(--ease); }.capability.is-open p { opacity:1; transform:none; transition-delay:.1s; }.capability-toggle { grid-column:3; grid-row:1; position:relative; justify-self:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:transparent; color:#999690; cursor:pointer; }.capability-toggle::before,.capability-toggle::after { content:""; position:absolute; left:8px; right:8px; top:14px; height:1px; background:currentColor; transition:transform .38s var(--ease); }.capability-toggle::after { transform:rotate(90deg); }.capability.is-open .capability-toggle::after { transform:rotate(0); }.capability-toggle:focus-visible { outline:1px solid currentColor; outline-offset:2px; }
.process { display:grid; grid-template-columns:1fr 1fr; gap:0; }.process-title { position:sticky; top:130px; align-self:start; padding-right:8vw; }.process-title h2 { font-size:clamp(56px,5.3vw,84px); margin:0 0 38px; }.process-title>p:last-child { width:100%; max-width:none; font-size:14px; line-height:1.6; color:var(--muted); }
.steps { border-top:1px solid var(--line); }.step { min-height:172px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:60px 1fr; align-content:center; position:relative; }.step span { font-size:10px; color:var(--muted); }.step h3 { font:300 35px "Museo Sans",Arial,sans-serif; letter-spacing:-.025em; margin:0; }.step p { grid-column:2; max-width:350px; color:var(--muted); font-size:14px; line-height:1.5; margin:9px 0 0; }
.proof { height:100vh; height:100dvh; min-height:620px; display:grid; grid-template-columns:50% 50%; background:#fffdf9; border-top:1px solid var(--line); overflow:hidden; }.proof-image { min-height:0; overflow:hidden; }.proof-image img,.proof-video { object-position:35% center; filter:none; }.proof-copy { min-height:0; padding:clamp(64px,10dvh,140px) 5vw; display:flex; flex-direction:column; }.proof-copy h2 { font-size:clamp(52px,min(6.4vw,11dvh),104px); margin:0 0 clamp(24px,4dvh,40px); }.proof-copy>p:not(.eyebrow) { max-width:400px; line-height:1.6; font-size:14px; }.retail { margin-top:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding-top:29px; font-size:10px; }.logo-slot { aspect-ratio:1/1; min-height:0; border:1px dashed rgba(35,40,43,.28); display:flex; align-items:center; justify-content:center; padding:clamp(24px,3.2vw,42px); text-align:center; color:#667075; background:transparent; }.logo-slot img { width:100%; height:100%; max-width:118px; max-height:42px; object-fit:contain; filter:grayscale(1) sepia(.12) saturate(.35) hue-rotate(340deg) brightness(.72) contrast(.92); opacity:.72; transition:filter .45s var(--ease),opacity .45s var(--ease),transform .45s var(--ease); }.logo-slot:hover img,.logo-slot:focus-within img { filter:none; opacity:1; transform:scale(1.025); }
.contact { min-height:760px; background:#22292c; color:#bbb4ae; display:grid; grid-template-columns:1fr 1fr; gap:0; }.contact-title { padding-top:70px; padding-right:5vw; }.contact-title h2 { color:#fffdf9; font-size:clamp(72px,7vw,116px); margin:0 0 64px; }.contact-title>p:last-child { width:100%; max-width:none; color:#fffdf9; line-height:1.6; font-size:14px; }
.contact-form { padding-top:70px; padding-left:5vw; }.contact-form .form-field { display:block; border-bottom:1px solid #5a5954; padding:0 0 17px; margin-bottom:54px; }.contact-form .field-label { display:block; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:#bbb4ae; margin-bottom:21px; }.contact-form input:not([type="checkbox"]),.contact-form textarea { width:100%; border:0; color:#fffdf9; background:transparent; outline:none; resize:none; font-family:"Museo Sans",Arial,sans-serif; font-weight: 200; font-size:25px; }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#fffdf9; }.consents { display:grid; gap:18px; margin:2px 0 22px; }.consent-row { display:flex; align-items:flex-start; gap:13px; cursor:pointer; }.consent-checkbox { appearance:none; width:15px; height:15px; flex:0 0 15px; margin:2px 0 0; border:1px solid #bbb4ae; border-radius:0; background:transparent; cursor:pointer; }.consent-checkbox:checked { background:#bbb4ae; box-shadow:inset 0 0 0 3px #22292c; }.consent-checkbox:focus-visible { outline:1px solid #fffdf9; outline-offset:3px; }.contact-form .consent-text { display:block; color:rgba(187,180,174,.78); font-size:14px; font-weight:200; line-height:1.55; letter-spacing:0; text-transform:none; margin:0; }.consent-text a { color:inherit; font-weight:200; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }.consent-text a.consent-plain-link { text-decoration:none; }.button-light { background:#eeeae2; color:#242421; width:100%; margin-top:19px; }.button-light:hover { background:transparent; color:#eeeae2; }
.contact .contact-title h2 { margin-top:0; }
.site-footer { padding:76px 4.5vw 30px; display:grid; grid-template-columns:1.45fr 1.05fr 1.05fr 1.25fr 1.05fr; align-items:start; gap:52px 34px; border-top:1px solid var(--line); font-size:14px; font-weight:300; line-height:1.55; }.site-footer p { margin:0; }.footer-brand,.footer-group { display:flex; flex-direction:column; align-items:flex-start; }.footer-brand { gap:28px; }.footer-brand>p { max-width:300px; color:#65615d; }.footer-group,.footer-bottom { font-size:12px; font-weight:200; }.footer-group { gap:8px; }.footer-label { margin-bottom:10px!important; color:#8f8983; font-size:10px; font-weight:300; letter-spacing:.14em; text-transform:uppercase; }.footer-address,.footer-operator { margin-top:18px!important; }.footer-address span,.footer-operator span { display:block; margin-bottom:5px; color:#8f8983; }.footer-group a,.footer-bottom a { border-bottom:1px solid transparent; transition:border-color .25s; }.footer-group a:hover,.footer-bottom a:hover { border-color:#bbb4ae; }.footer-documents a { color:#65615d; text-decoration:underline; text-decoration-color:#bbb4ae; text-underline-offset:4px; }.footer-operator a { color:inherit; }.footer-bottom { grid-column:1/-1; display:flex; flex-direction:row; justify-content:space-between; padding-top:22px; border-top:1px solid var(--line); }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease),transform .9s var(--ease); }.reveal.is-visible { opacity:1; transform:none; }
@keyframes enter { to { opacity:1; transform:none; } } @keyframes slowZoom { to { transform:scale(1.08); } }
@media (max-width:900px) { .header { grid-template-columns:1fr auto; position:absolute; }.nav,.header-cta { display:none; }.menu-button { display:block; color:inherit; text-transform:uppercase; font-size:10px; }.nav-open { display:flex; position:absolute; top:82px; left:0; right:0; padding:28px; background:var(--paper); flex-direction:column; }.hero { height:auto; min-height:0; grid-template-columns:1fr; overflow:visible; }.hero-copy { min-height:720px; padding:104px 22px 72px; }.hero-bottom { grid-template-columns:1fr; }.hero-image-wrap { height:85vh; }.section-pad { padding:64px 22px; }.statement { min-height:620px; }.statement-foot { margin-left:0; grid-template-columns:1fr; gap:32px; }.range { height:auto!important; padding:64px 22px; }.range-sticky { position:relative; height:auto; overflow:visible; padding:0; }.section-heading { grid-template-columns:1fr; gap:72px; margin:0 0 72px; }.range-viewport { overflow:visible; }.range-track { width:auto; display:grid; grid-template-columns:1fr 1fr; gap:72px 14px; padding:0; transform:none!important; }.range-track .range-card { width:auto; }.range-card:nth-child(even) { margin-top:104px; }.capabilities,.process,.proof,.contact { grid-template-columns:1fr; }.capabilities { margin:0 22px; }.capability-image { height:520px; margin:0 0 42px; }.capability-list { border-left:0; }.capability { grid-template-columns:38px 1fr 32px; }.capability p { grid-column:2/4; }.process-title { position:static; padding-right:0; }.proof { height:auto; min-height:0; overflow:visible; }.proof-image { height:75vh; }.proof-copy { min-height:680px; padding:144px 22px; }.contact { gap:48px; }.contact-title { padding-top:0; padding-right:0; }.contact-form { padding-left:0; }.retail { gap:24px; flex-wrap:wrap; }.site-footer { grid-template-columns:1fr 1fr; padding:64px 22px 28px; gap:48px 24px; }.footer-brand,.footer-bottom { grid-column:1/-1; } }
@media (max-width:540px) { h1 { font-size:49px; }.hero-copy { min-height:650px; }.range-track { grid-template-columns:1fr; }.range-card:nth-child(even) { margin-top:0; }.range-image { height:520px; }.capability { min-height:105px; }.capability h3 { font-size:21px; }.proof { min-height:0; }.statement h2 { font-size:53px; }.site-footer { grid-template-columns:1fr; }.footer-brand,.footer-bottom { grid-column:1; }.footer-bottom { flex-direction:column; gap:10px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; }.hero-in,.reveal { opacity:1; transform:none; } }

@media (min-width:901px) and (max-height:800px) { .range-sticky { padding:42px 0 30px; }.section-heading { margin-bottom:44px; }.range-image { height:300px; }.range-card:nth-child(even) { margin-top:48px; } }

.capability.is-open { grid-template-rows:124px 1fr; }
.capability p { width:100%; max-width:calc(100% - 30px - 2.2vw); margin-top:-26px; }
.capability.is-open .capability-detail { overflow:visible; }
.capability-list { border-right:1px solid #474743; }
