:root { --ivory:#f5f2e7; --sand:#d8cab2; --ink:#302b27; --muted:#7b7166; --rule:#302b2728; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:'Helvetica Neue','Apple SD Gothic Neo',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:2px solid #79664a; outline-offset:6px; }
.skip-link { position:fixed; top:-80px; left:20px; padding:14px; background:var(--ivory); z-index:30; }
.skip-link:focus { top:15px; }
.brand { font-size:32px; font-weight:850; letter-spacing:-1.8px; line-height:1; }
.brand span { font-weight:450; }
.collection-header { height:86px; padding:0 4.5%; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--rule); }
.collection-header nav { display:flex; align-items:center; gap:32px; font-size:11px; font-weight:550; }
.collection-header nav a { padding-block:10px; }
.collection-header [aria-current], .inquiry { border-bottom:1px solid; }
.eyebrow { font-size:9px; font-weight:500; letter-spacing:1.8px; }
.collection-heading { max-width:1800px; margin:auto; padding:48px 4.5% 38px; display:flex; justify-content:space-between; align-items:flex-end; gap:25px; }
.collection-heading h1 { margin:10px 0 0; font:italic clamp(54px,5.4vw,84px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-2.5px; }
.collection-heading p { margin:0 0 4px; font-size:9px; letter-spacing:1.5px; text-align:right; }
.collection-heading p span { display:block; font-size:11px; letter-spacing:0; color:var(--muted); margin-top:11px; }
.portfolio-scene { --scene-rx:0deg; --scene-ry:0deg; --scene-origin:50%; --grid-origin:50%; position:relative; max-width:1800px; margin:0 auto; padding-top:26px; margin-top:-26px; perspective:1600px; perspective-origin:50% var(--scene-origin); overflow:clip; }
.portfolio-grid { transform:rotateX(var(--scene-rx)) rotateY(var(--scene-ry)); transform-origin:50% var(--grid-origin); transform-style:preserve-3d; list-style:none; margin:0 auto; padding:0 4.5% 74px; max-width:1800px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px 28px; }
.portfolio-item { min-width:0; position:relative; transform-style:preserve-3d; }
.portfolio-item:focus-within, .portfolio-item:hover { z-index:2; }
.floating-card { --card-lift:0px; --card-scale:1; position:relative; display:block; transform:translateY(var(--card-lift)) scale(var(--card-scale)); transform-style:preserve-3d; transform-origin:center 44%; transition:transform .42s cubic-bezier(.2,.7,.2,1); }
.card-photo { position:relative; width:100%; aspect-ratio:3/4; background:var(--sand); box-shadow:0 0 0 transparent; transition:box-shadow .4s; overflow:hidden; }
.card-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.card-open { position:absolute; right:12px; bottom:12px; padding:10px 13px; background:var(--ivory); color:var(--ink); font-size:10px; opacity:0; transform:translateY(5px); transition:opacity .22s,transform .22s; }
.card-caption { display:flex; align-items:baseline; gap:11px; padding:16px 1px 0;  }
.card-caption h2 { font-size:12px; line-height:1.4; font-weight:500; letter-spacing:.4px; margin:0; }
.card-number { font-family:Georgia,serif; font-style:italic; font-size:11px; color:var(--muted); }
.card-arrow { margin-left:auto; font-size:15px; transition:transform .25s; }
.floating-card:focus-visible .card-open { opacity:1; transform:none; }
.portfolio-item[data-reveal] { opacity:0; transform:translateY(22px); }
.portfolio-item.is-revealed { animation:card-entrance .65s cubic-bezier(.2,.7,.2,1) both; animation-delay:var(--reveal-delay,0ms); }
@keyframes card-entrance { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .floating-card:is(:hover,:focus-visible) { --card-lift:-5px; --card-scale:1.015; }
  .floating-card:is(:hover,:focus-visible) .card-photo { box-shadow:0 21px 28px -13px #55412c50,0 6px 12px -7px #55412c40; }
  .floating-card:is(:hover,:focus-visible) .card-photo img { transform:scale(1.025); }
  .floating-card:is(:hover,:focus-visible) .card-open { opacity:1; transform:none; }
  .floating-card:is(:hover,:focus-visible) .card-arrow { transform:translate(2px,-2px); }
}
.collection-end { border-top:1px solid var(--rule); padding:70px 24px 76px; text-align:center; background:#eae3d5; }
.collection-end h2 { font-size:clamp(25px,3vw,38px); font-weight:500; letter-spacing:-1.3px; margin:22px 0 28px; }
.collection-end a { display:inline-block; border-bottom:1px solid; padding-block:9px; font-size:12px; }
.collection-footer { padding:30px 4.5%; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:10px; }
.collection-footer .brand { font-size:24px; letter-spacing:-1px; }
.collection-footer>span { font-size:8px; letter-spacing:1.5px; }
@media (min-width:1800px) { .collection-heading { padding-inline:81px; } .portfolio-grid { padding-inline:81px; } }
@media (max-width:900px) and (min-width:601px) { .portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 22px; } }
@media (max-width:600px) {
  .collection-header { height:74px; padding-inline:20px; }
  .collection-header .brand { font-size:26px; }
  .collection-header nav { gap:14px; font-size:10px; }
  .collection-header nav a:first-child { display:none; }
  .collection-header nav a[aria-current] { display:none; }
  .collection-heading { padding:36px 20px 28px; align-items:flex-end; gap:12px; }
  .collection-heading .eyebrow { font-size:7px; letter-spacing:1px; }
  .collection-heading h1 { font-size:55px; }
  .collection-heading p { font-size:8px; letter-spacing:1px; margin-bottom:5px; }
  .collection-heading p span { display:none; }
  .portfolio-scene { padding-top:0; margin-top:0; perspective:none; }
  .portfolio-grid { transform:none; padding:0 20px 55px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 14px; }
  .card-caption { gap:7px; padding-top:12px; }
  .card-caption h2 { font-size:11px; }
  .card-number { font-size:10px; }
  .card-arrow { font-size:13px; }
  .card-open { display:none; }
  .collection-end { padding:52px 20px 57px; }
  .collection-end h2 { font-size:25px; }
  .collection-footer { padding:25px 20px; flex-wrap:wrap; }
  .collection-footer>span { order:3; width:100%; font-size:7px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .portfolio-item[data-reveal],.portfolio-item.is-revealed { opacity:1; transform:none; }
  .portfolio-scene { perspective:none; }
  .portfolio-grid,.floating-card,.card-caption,.card-photo img { transform:none; }
}
