@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/PlayfairDisplay-normal-400.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/PlayfairDisplay-italic-400.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/OpenSans-normal-400.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/OpenSans-normal-600.woff2) format("woff2")}

:root{
  /* palette sampled from homebypari.com */
  --ink:#383d36; --ink-deep:#2c302b; --muted:#636b60; --muted-2:#727b70; --line:#e4e7e1;
  --sage:#788875; --sage-dark:#4a5648; --sage-soft:#9ba799;
  --paper:#ffffff; --paper-2:#f6f7f3; --paper-3:#f2f2ed;
  --light:#f6f7f3; --light-muted:#c9cec6;
  /* type tokens */
  --t-cap:12px;
  --t-body:clamp(15px, 0.55vw + 10px, 17px);
  --t-lede:clamp(19px, 0.9vw + 12px, 23px);
  --t-h3:clamp(25px, 1.4vw + 12px, 31px);
  --t-h2:clamp(38px, 4.4vw, 66px);
  --t-hero:clamp(54px, 8.6vw, 128px);
  --t-ghost:clamp(150px, 24vw, 340px);
  --tr-0:0; --tr-tight:-0.015em; --tr-wide:0.2em;
  --lh-tight:1.06; --lh-head:1.18; --lh-body:1.65;
  --serif:"Playfair Display", Georgia, serif;
  --sans:"Open Sans", Arial, sans-serif;
  --pad:clamp(20px, 4vw, 64px);
  --measure:62ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html{scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
em{font-style:italic;font-family:var(--serif)}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance;letter-spacing:var(--tr-tight)}
p{margin:0}

/* roles */
.h2{font-size:var(--t-h2);line-height:var(--lh-head)}
.h3{font-size:var(--t-h3);line-height:var(--lh-head)}
.h2 em,.hero__title em{color:var(--sage)}
.light .h2 em,.h2.light em{color:var(--sage-soft)}
.lede{font-family:var(--serif);font-size:var(--t-lede);line-height:var(--lh-head)}
.body{font-size:var(--t-body);line-height:var(--lh-body)}
.cap{font-size:var(--t-cap);line-height:var(--lh-body)}
.eyebrow,.label{font-family:var(--sans);font-size:var(--t-cap);font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase;line-height:var(--lh-body);color:var(--muted-2)}
.eyebrow{display:block;margin-bottom:18px}
.eyebrow--light{color:var(--light-muted)}
.muted{color:var(--muted)}
.light{color:var(--light)}
.light-muted{color:var(--light-muted)}
.lede--light{color:var(--light)}
.measure{max-width:var(--measure)}

/* links + buttons (brand: underline caps link, rectangle buttons) */
.u-link{position:relative;text-decoration:none;display:inline-block;padding-bottom:6px;color:var(--sage-dark)}
.u-link::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;opacity:.5;transform-origin:right;transition:transform .5s cubic-bezier(.6,0,.2,1)}
.u-link:hover::after{animation:redraw .7s cubic-bezier(.6,0,.2,1)}
@keyframes redraw{0%{transform:scaleX(1);transform-origin:right}49%{transform:scaleX(0);transform-origin:right}50%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:var(--t-cap);font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase;text-decoration:none;background:var(--sage-dark);color:var(--light);padding:17px 26px;border:1px solid var(--sage-dark);transition:background .35s,color .35s,border-color .35s;will-change:transform}
.btn:hover{background:var(--ink-deep);border-color:var(--ink-deep)}
.btn--sm{padding:12px 18px}
.btn--ghost{background:transparent;color:var(--sage-dark)}
.btn--ghost:hover{background:var(--sage-dark);color:var(--light)}
.btn--ghost-light{background:transparent;color:var(--light);border-color:rgba(246,247,243,.6)}
.btn--ghost-light:hover{background:var(--light);color:var(--ink);border-color:var(--light)}
.btn--light{background:var(--light);color:var(--ink);border-color:var(--light)}
.btn--light:hover{background:var(--sage-soft);border-color:var(--sage-soft);color:var(--ink-deep)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--pad);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(228,231,225,.7);transition:transform .5s cubic-bezier(.6,0,.2,1)}
.nav.is-hidden{transform:translateY(-100%)}
.nav__logo img{height:44px;width:auto}
.nav__links{display:flex;gap:30px}
.nav__links .u-link{font-size:var(--t-cap);font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase;color:var(--ink)}

/* BEAT 1 hero */
.hero{position:relative;height:100vh;height:100svh;overflow:hidden;background:#2e2a24}
.hero__stage{position:relative;height:100%;width:100%;overflow:hidden}
.hero__tilt,.hero__zoom{position:absolute;inset:-3%;will-change:transform}
.hero__zoom{inset:0;transform-origin:78% 46%}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero__img--new{-webkit-mask-image:linear-gradient(112deg,#000 42%,transparent 58%);mask-image:linear-gradient(112deg,#000 42%,transparent 58%);-webkit-mask-size:320% 100%;mask-size:320% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0}
.hero__dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,30,26,.38) 0%,rgba(28,30,26,.08) 38%,rgba(28,30,26,.55) 100%);pointer-events:none}
.hero__words{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.hero__word{grid-area:1/1;font-family:var(--serif);font-size:var(--t-hero);line-height:var(--lh-tight);letter-spacing:var(--tr-tight);color:var(--light);opacity:0;text-shadow:0 2px 40px rgba(0,0,0,.25);will-change:transform,opacity}
.hero__word em{color:var(--light)}
.hero__final{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(90px,13vh,140px);max-width:820px;opacity:0;visibility:hidden}
.hero__title{font-size:var(--t-hero);line-height:var(--lh-tight);color:var(--light);margin-bottom:22px}
.hero__title em{color:var(--light)}
.hero__final .lede{max-width:34ch}
.hero__cue{position:absolute;left:var(--pad);right:var(--pad);bottom:28px;display:flex;align-items:center;gap:16px;color:var(--light);font-size:var(--t-cap);font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase}
.hero__cue-track{flex:1;height:1px;background:rgba(246,247,243,.3);position:relative;overflow:hidden}
.hero__cue-fill{position:absolute;inset:0;background:var(--light);transform-origin:left;transform:scaleX(0)}
.hero__cue-pct{min-width:4ch;text-align:right}

/* BEAT 2 manifesto */
.manifesto{position:relative;min-height:100vh;display:grid;place-items:center;padding:140px var(--pad);overflow:hidden;background:var(--paper)}
.manifesto__inner{position:relative;z-index:1;max-width:1000px;text-align:center}
.manifesto .h2{margin-bottom:34px}
.manifesto .lede{max-width:40ch;margin:0 auto;color:var(--ink)}
.sweep .w{opacity:.16;transition:none}
.ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-style:italic;font-size:var(--t-ghost);line-height:1;color:var(--ink);opacity:.045;white-space:nowrap;pointer-events:none;will-change:transform}

/* BEAT 3 collections */
.collections{background:var(--paper-2);padding:130px var(--pad) 60px}
.collections__head{max-width:1340px;margin:0 auto 60px}
.collections__head .h2{margin-bottom:18px}
.collections__grid{max-width:1340px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,100px)}
.collections__sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:90px 0 40px}
.collections__frame{position:relative;width:100%;aspect-ratio:1/1;max-height:72vh;overflow:hidden;background:var(--paper-3)}
.col-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1),transform 1.6s cubic-bezier(.2,.7,.2,1);transform:scale(1.12)}
.col-img.is-active{clip-path:inset(0 0 0 0);transform:scale(1);z-index:2}
.col-img.was-active{clip-path:inset(0 0 0 0);z-index:1;transform:scale(1)}
.collections__count{font-family:var(--serif);font-size:var(--t-h3)}
.collections__num{display:inline-block}
.collections__list{list-style:none;margin:0;padding:0}
.col-item{min-height:78vh;display:flex;flex-direction:column;justify-content:center;gap:14px;border-top:1px solid var(--line);opacity:.28;transition:opacity .6s}
.col-item.is-active{opacity:1}
.col-item .eyebrow{margin:0}
.col-item .body{max-width:44ch}
.col-item .u-link{align-self:flex-start;margin-top:6px}
.col-item__img{display:none}

/* BEAT 4 lamp */
.lamp{background:var(--ink-deep)}
.lamp__pin{height:100vh;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(40px,6vw,110px);padding:0 var(--pad) 0 0;overflow:hidden}
.lamp__frame{position:relative;height:100vh;aspect-ratio:1017/1600}
.lamp__iris{position:absolute;inset:0;clip-path:circle(0% at 51.9% 20.6%);will-change:clip-path}
.lamp__iris img{width:100%;height:100%;object-fit:cover}
.lamp__glow{position:absolute;left:51.9%;top:20.6%;width:46vh;height:46vh;transform:translate(-50%,-50%) scale(.2);border-radius:50%;background:radial-gradient(circle,rgba(255,214,150,.9) 0%,rgba(255,196,120,.35) 28%,rgba(255,190,110,0) 68%);opacity:0;will-change:transform,opacity}
.lamp__copy{max-width:560px}
.lamp__copy .h2{margin-bottom:28px}
.lamp__line{margin-bottom:18px;opacity:0;transform:translateY(24px)}

/* BEAT 5 finds */
.finds{background:var(--ink)}
.finds__pin{position:relative;min-height:100vh;padding:84px var(--pad) 30px;display:flex;flex-direction:column;overflow:hidden}
.finds__head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:1340px;width:100%;margin:0 auto 10px}
.finds__note{max-width:42ch}
.finds__board{position:relative;width:100%;max-width:1240px;margin:0 auto}
.twine{position:absolute;left:50%;width:100vw;margin-left:-50vw;top:22px;height:1.5px;background:var(--sage-soft);transform-origin:left;transform:scaleX(0);z-index:0}
.twine--2{top:252px;transform-origin:right}
.finds__tags{position:relative;z-index:1;list-style:none;margin:22px auto 0;padding:0;width:100%;max-width:1240px;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:230px;column-gap:clamp(12px,1.6vw,26px);row-gap:0}
.tag{position:relative;display:flex;justify-content:center;will-change:transform}
.tag__swing{transform-origin:50% 0;animation:sway 5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.7s)}
@keyframes sway{from{transform:rotate(calc(var(--r) - 1.2deg))}to{transform:rotate(calc(var(--r) + 1.2deg))}}
.tag__string{display:block;width:1px;height:30px;margin:0 auto;background:var(--sage-soft)}
.tag__card{position:relative;display:flex;flex-direction:column;gap:6px;width:clamp(150px,15vw,200px);min-height:166px;padding:26px 16px 14px;background:var(--paper-2);color:var(--ink);text-decoration:none;clip-path:polygon(18% 0,82% 0,100% 12%,100% 100%,0 100%,0 12%);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s}
.tag__card::before{content:"";position:absolute;top:9px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--sage-soft)}
.tag__card:hover{transform:translateY(-6px) rotate(calc(var(--r) * -1));background:var(--paper)}
.tag__era{font-size:var(--t-cap);font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase;color:var(--sage)}
.tag__name{font-family:var(--serif);font-size:var(--t-body);line-height:var(--lh-head);flex:1}
.tag__meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-top:1px dashed var(--sage-soft);padding-top:8px;font-size:var(--t-cap);font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase;color:var(--sage-dark)}
.tag__price{font-family:var(--serif);font-size:var(--t-body);letter-spacing:var(--tr-0);text-transform:none;color:var(--ink)}
.finds__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;max-width:1340px;width:100%;margin:auto auto 0;padding-top:20px}

/* BEAT 6 values */
.values{background:var(--paper);padding:0 0 140px;overflow:hidden}
.marquee{border-bottom:1px solid var(--line);padding:34px 0;overflow:hidden}
.marquee__track{display:flex;width:max-content;gap:40px;align-items:center;font-family:var(--serif);font-size:var(--t-h2);line-height:var(--lh-head);white-space:nowrap;color:var(--ink);will-change:transform}
.marquee__track em{color:var(--sage)}
.marquee__track i{font-style:normal;color:var(--sage-soft)}
.values__inner{max-width:1340px;margin:0 auto;padding:120px var(--pad) 0}
.values__inner .h2{margin-bottom:18px}
.values__rule{width:100%;height:4px;margin:64px 0 50px;overflow:visible}
.values__rule line{stroke:var(--sage-soft);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1200;stroke-dashoffset:1200}
.values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,60px)}
.value .eyebrow{color:var(--sage)}
.value .h3{margin-bottom:12px}

/* BEAT 7 kay */
.kay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;max-width:1340px;margin:0 auto;padding:40px var(--pad) 150px}
.kay__photo{overflow:hidden;aspect-ratio:1086/1448;background:var(--paper-3)}
.kay__photo img{width:100%;height:118%;object-fit:cover;will-change:transform}
.kay__copy{max-width:540px}
.kay__copy .h2{margin-bottom:22px}
.kay__copy .lede{margin-bottom:20px}
.kay__sig{display:block;width:min(260px,60%);height:auto;margin:30px 0 22px;overflow:visible}
.sig path{fill:var(--sage-dark);fill-opacity:0;stroke:var(--sage-dark);stroke-width:5;stroke-linejoin:round}

/* BEAT 8 edit */
.edit{background:var(--paper-2);padding:130px 0;overflow:hidden}
.edit__copy{max-width:1340px;margin:0 auto 56px;padding:0 var(--pad)}
.edit__copy .h2{margin-bottom:18px}
.edit__copy .body{margin-bottom:18px}
.edit__strip{width:118%;margin-left:-9%;will-change:transform}
.edit__strip img{width:100%;height:auto}

/* BEAT 9 close (static) */
.close{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;max-width:1340px;margin:0 auto;padding:140px var(--pad)}
.close__img{aspect-ratio:1/1;overflow:hidden}
.close__img img{width:100%;height:100%;object-fit:cover}
.close__copy .h2{margin-bottom:18px}
.close__copy .cta-row{margin:30px 0 26px}

.footer{background:var(--ink-deep);color:var(--light);padding:80px var(--pad) 50px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.footer__logo{width:min(320px,70vw);height:auto;margin-bottom:10px}

/* mobile */
@media (max-width:820px){
  .nav__links{display:none}
  .nav__logo img{height:36px}
  .hero__final{bottom:84px}
  .hero__cue-label{display:none}
  .collections{padding:100px var(--pad) 40px}
  .collections__grid{grid-template-columns:1fr}
  .collections__sticky{display:none}
  .col-item{min-height:0;padding:34px 0 46px;opacity:1}
  .col-item__img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:10px}
  .lamp__pin{grid-template-columns:1fr;height:auto;padding:0 0 90px;gap:40px}
  .lamp__frame{height:auto;width:100%;max-height:none}
  .lamp__copy{padding:0 var(--pad)}
  .finds__pin{padding:90px var(--pad) 50px}
  .finds__head{flex-direction:column;align-items:flex-start;gap:16px}
  .twine{display:none}
  .finds__tags{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;row-gap:18px;margin-top:30px}
  .tag__swing{animation:none;transform:none}
  .tag__string{height:14px}
  .tag__card{width:100%;min-height:180px}
  .finds__foot{margin-top:36px}
  .values__grid{grid-template-columns:1fr}
  .kay,.close{grid-template-columns:1fr;padding-bottom:100px}
  .close{padding-top:100px}
  .edit{padding:100px 0}
  .edit__strip{width:160%;margin-left:-30%}
}
@media (prefers-reduced-motion:reduce){
  .tag__swing{animation:none}
  .sweep .w{opacity:1}
  .lamp__iris{clip-path:none}
  .lamp__line{opacity:1;transform:none}
  .twine{transform:none}
  .values__rule line{stroke-dashoffset:0}
  .sig path{fill-opacity:1;stroke-width:0}
  .hero__img--new{-webkit-mask-position:0 0;mask-position:0 0}
  .hero__final{opacity:1;visibility:visible}
  .hero__cue{display:none}
}
