@font-face{font-family:Italiana;src:url("assets/fonts/italiana.ttf") format("truetype");font-display:swap}
@font-face{font-family:DM;src:url("assets/fonts/dm-sans-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url("assets/fonts/dm-sans-600.ttf") format("truetype");font-weight:600;font-display:swap}
:root{--paper:#f4f2ec;--ink:#1d1e1a;--muted:#6d6c63;--line:rgba(29,30,26,.19);--accent:#e8d928;--black:#0e0f0d}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}
body{margin:0;font:400 16px/1.5 DM,Arial,sans-serif;background:var(--paper);min-width:320px}
body.wall-open{overflow:hidden}
button,a{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.skip{position:fixed;left:18px;top:-100px;z-index:100;background:white;padding:10px 14px}.skip:focus{top:18px}
.site-header{height:84px;padding:0 clamp(24px,4.9vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;inset:0 0 auto;z-index:5;color:#f8f7f1;mix-blend-mode:difference}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand-mark{width:39px;height:39px;border:1px solid currentColor;display:grid;place-items:center;font:400 10px/1 Italiana,serif;letter-spacing:.14em}.brand-copy strong{font:400 17px/1.05 Italiana,serif;letter-spacing:.055em}.brand-copy small{display:block;font-size:8px;letter-spacing:.17em;margin-top:7px}.edition{font-size:9px;letter-spacing:.2em}
.preview{min-height:100svh;position:relative;overflow:hidden;background:var(--paper);display:grid;grid-template-columns:minmax(310px,.78fr) minmax(560px,1.22fr);align-items:stretch}
.preview-copy{padding:clamp(150px,17vh,205px) 5vw 80px clamp(24px,7vw,104px);position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:.24em;margin:0 0 24px;color:var(--muted)}h1{font:400 clamp(72px,9vw,150px)/.82 Italiana,serif;letter-spacing:-.035em;margin:0}.subtitle{font:400 clamp(33px,4.2vw,70px)/.95 Italiana,serif;margin:32px 0 0}.subtitle em{font-family:Georgia,serif}.intro{color:var(--muted);max-width:430px;margin:38px 0 0;font-size:clamp(14px,1.2vw,18px);line-height:1.75}.enter-wall{width:min(310px,100%);border:0;border-bottom:2px solid var(--accent);background:var(--ink);color:white;margin-top:42px;padding:17px 20px;display:flex;justify-content:space-between;letter-spacing:.13em;font-size:11px;transition:background .35s ease,color .35s ease,transform .35s ease}.enter-wall:hover{background:#31312c;transform:translateY(-2px)}
.preview-canvas{position:relative;min-height:100svh;background:#171813;overflow:hidden}.preview-photo{position:absolute;margin:0;overflow:hidden;background:#252622;box-shadow:0 20px 70px rgba(0,0,0,.2);animation:previewFloat 14s ease-in-out infinite alternate}.preview-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--focus);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.preview-photo:hover img{transform:scale(1.015)}.preview-photo:nth-child(1){width:42%;height:49%;left:6%;top:13%;z-index:3}.preview-photo:nth-child(2){width:36%;height:38%;right:3%;top:5%;z-index:2;animation-delay:-3s}.preview-photo:nth-child(3){width:32%;height:44%;right:14%;bottom:4%;z-index:4;animation-delay:-6s}.preview-photo:nth-child(4){width:31%;height:31%;left:17%;bottom:7%;z-index:5;animation-delay:-9s}.preview-photo:nth-child(5){width:24%;height:29%;left:43%;top:36%;z-index:1;animation-delay:-4s}.preview-photo:nth-child(6){width:23%;height:25%;left:1%;bottom:27%;z-index:6;animation-delay:-8s}.preview-photo:nth-child(7){width:20%;height:27%;right:2%;top:39%;z-index:1;animation-delay:-2s}.preview-canvas::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(12,13,11,.28),transparent 25%),linear-gradient(0deg,rgba(12,13,11,.22),transparent 26%)}.preview-index{position:absolute;right:clamp(24px,4vw,60px);bottom:25px;z-index:7;color:white;font-size:9px;letter-spacing:.18em}.preview-index span{font:400 24px/1 Italiana,serif;margin-right:8px}
@keyframes previewFloat{to{transform:translate3d(0,-8px,0)}}

.wall-experience{position:fixed;inset:0;z-index:50;background:var(--black);color:#f4f2ec;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}.wall-experience.is-open{opacity:1;visibility:visible;transition:opacity .6s ease}.wall-header{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,3vw,44px);border-bottom:1px solid rgba(255,255,255,.18);position:absolute;inset:0 0 auto;z-index:8;background:linear-gradient(#0e0f0d 35%,rgba(14,15,13,.88));backdrop-filter:blur(10px)}.wall-title-button{border:0;background:none;color:inherit;text-align:left;padding:0;justify-self:start}.wall-title-button h1{display:block;margin:0;font:400 24px/1 Italiana,serif;letter-spacing:.05em}.wall-title-button small{display:block;font-size:7px;letter-spacing:.21em;margin-top:5px}.wall-counter{font-size:9px;letter-spacing:.2em;margin:0;color:#a8a89f}.wall-counter span{color:white}.wall-actions{display:flex;justify-content:flex-end;gap:28px}.wall-actions button{border:0;background:none;color:inherit;padding:10px 0;font-size:9px;letter-spacing:.18em}.wall-actions button span{font-size:16px;margin-left:5px}.wall-stage{position:absolute;inset:74px 0 0;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#0e0f0d}.wall-columns{height:100%;display:grid;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:clamp(7px,1vw,16px);padding:0 clamp(7px,1vw,16px);opacity:1;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1)}.wall-columns.is-shuffling{opacity:.25;transform:scale(.992)}.wall-column{position:relative;will-change:transform}.wall-track{display:flex;flex-direction:column;gap:clamp(8px,1vw,16px);padding-bottom:clamp(8px,1vw,16px)}.wall-card{border:0;background:none;padding:0;margin:0;width:100%;display:block;position:relative;overflow:hidden;color:white;transform:translateZ(0)}.wall-card.inset{width:84%}.wall-card.inset-right{width:89%;margin-left:auto}.wall-card img{width:100%;height:auto;display:block;filter:saturate(.94) contrast(1.015);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}.wall-card::after{content:"OPEN ↗";position:absolute;right:11px;bottom:10px;font-size:8px;letter-spacing:.14em;opacity:0;transform:translateY(5px);transition:.35s ease;text-shadow:0 1px 8px #000}.wall-card:hover img{transform:scale(1.012);filter:saturate(1) contrast(1)}.wall-card:hover::after{opacity:.9;transform:none}.wall-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0e0f0d,transparent 9%,transparent 89%,#0e0f0d),linear-gradient(90deg,rgba(14,15,13,.25),transparent 8%,transparent 92%,rgba(14,15,13,.25));z-index:3}.wall-hint{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);z-index:4;margin:0;font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.65);pointer-events:none;transition:opacity .5s}.wall-stage.is-interacting .wall-hint{opacity:0}

.lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:rgba(10,11,10,.97);color:white;overflow:hidden}.lightbox[open]{display:grid;grid-template-columns:70px 1fr 70px;place-items:center}.lightbox::backdrop{background:#0a0b0a}.lightbox figure{margin:0;width:100%;height:100%;display:grid;place-items:center;padding:74px 20px 46px}.lightbox img{display:block;max-width:min(86vw,1500px);max-height:calc(100svh - 128px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.16em;color:#a8a89f}.lightbox-close{position:absolute;right:24px;top:20px;z-index:2;border:0;background:none;color:white;font-size:9px;letter-spacing:.16em;padding:10px}.lightbox-close span{font-size:17px;margin-left:5px}.lightbox-arrow{border:0;background:none;color:white;width:52px;height:52px;font-size:22px;opacity:.72;transition:opacity .25s}.lightbox-arrow:hover{opacity:1}.lightbox-prev{grid-column:1}.lightbox figure{grid-column:2}.lightbox-next{grid-column:3}.lightbox.is-changing img{opacity:.15;transform:scale(.99)}.lightbox img{transition:opacity .22s ease,transform .3s ease}

@media(max-width:950px){.preview{grid-template-columns:1fr 1.1fr}.preview-copy{padding-left:36px}.intro{font-size:14px}.site-header{padding-inline:28px}.preview-photo:nth-child(5),.preview-photo:nth-child(7){display:none}.wall-counter{display:none}.wall-header{grid-template-columns:1fr 1fr}.wall-actions{gap:18px}}
@media(max-width:680px){.site-header{height:72px;padding-inline:20px}.brand{gap:10px}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:6px}.edition{display:none}.preview{display:block;min-height:100svh;padding-top:72px}.preview-copy{padding:54px 22px 34px;min-height:49svh;justify-content:flex-start}.eyebrow{margin-bottom:14px;font-size:8px}h1{font-size:clamp(64px,22vw,96px)}.subtitle{font-size:clamp(29px,10vw,43px);margin-top:22px}.subtitle br{display:none}.intro{font-size:13px;line-height:1.65;margin-top:24px;max-width:340px}.enter-wall{margin-top:27px;width:100%}.preview-canvas{min-height:64svh}.preview-photo:nth-child(1){width:53%;height:46%;left:4%;top:6%}.preview-photo:nth-child(2){width:42%;height:34%;right:3%;top:2%}.preview-photo:nth-child(3){width:46%;height:40%;right:4%;bottom:3%}.preview-photo:nth-child(4){width:39%;height:31%;left:9%;bottom:9%}.preview-photo:nth-child(6){width:30%;height:28%;left:1%;bottom:34%}.preview-index{bottom:13px}.wall-header{height:66px;padding-inline:16px}.wall-title-button h1{font-size:19px}.wall-title-button small{font-size:6px}.wall-actions{gap:14px}.wall-actions button{font-size:8px}.wall-stage{inset:66px 0 0}.wall-columns{gap:7px;padding-inline:7px}.wall-track{gap:7px;padding-bottom:7px}.wall-card.inset,.wall-card.inset-right{width:100%}.wall-card::after{display:none}.wall-hint{bottom:11px}.lightbox[open]{grid-template-columns:1fr}.lightbox figure{grid-column:1;padding:65px 12px 48px}.lightbox img{max-width:94vw;max-height:calc(100svh - 118px)}.lightbox-arrow{position:absolute;top:50%;z-index:2;background:rgba(0,0,0,.24)}.lightbox-prev{left:2px}.lightbox-next{right:2px}.lightbox-close{right:12px;top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.preview-photo{animation:none}.preview-photo img,.enter-wall,.wall-experience,.wall-columns,.lightbox img{transition-duration:.01ms!important}.wall-hint{display:none}}

/* Reliable touch activation in Instagram, Safari and Android WebViews. */
.enter-wall{min-height:50px;position:relative;z-index:10;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wall-experience{width:100%;height:100vh;height:100dvh;pointer-events:none}
.wall-experience.is-open{pointer-events:auto}

/* Final motion polish: same concept, softer cinematic timing. */
.wall-experience{
  transform:scale(1.002);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1),visibility 0s .7s;
}
.wall-experience.is-open{
  transform:none;
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
}
.wall-columns{transition:opacity .36s cubic-bezier(.22,.61,.36,1),transform .52s cubic-bezier(.22,.61,.36,1)}
.wall-card img{transition:transform .85s cubic-bezier(.22,.61,.36,1),filter .65s ease}
.lightbox img{transition:opacity .28s cubic-bezier(.22,.61,.36,1),transform .42s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.wall-experience{transform:none!important}}

/* Final master: the homepage CTA now enters the experience in one step. */
.wall-page{background:var(--black);overflow:hidden}
.wall-page .wall-experience{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}
.wall-title-button{text-decoration:none}
.wall-actions a{color:inherit;text-decoration:none;padding:10px 0;font-size:9px;letter-spacing:.18em}
.wall-actions a span{font-size:16px;margin-left:5px}
.wall-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--black);color:#f4f2ec;opacity:1;transition:opacity .42s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.wall-intro div{text-align:center;opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .56s cubic-bezier(.22,.61,.36,1)}
.wall-intro strong{display:block;font:400 clamp(58px,9vw,116px)/.9 Italiana,serif;letter-spacing:-.03em}
.wall-intro span{display:block;margin-top:18px;font-size:9px;letter-spacing:.28em;color:#aaa99f}
.wall-ready .wall-intro div{opacity:1;transform:none}
.wall-ready .wall-intro{animation:wallIntroOut .34s .43s ease forwards}
@keyframes wallIntroOut{to{opacity:0}}
@media(max-width:680px){.wall-counter{display:block}.wall-actions a{font-size:8px}.wall-intro strong{font-size:22vw}}
@media(prefers-reduced-motion:reduce){.wall-intro{display:none}.wall-column{transform:none!important}.wall-card img{transition:none!important}}
