:root { --bg:#0b0b0c; --paper:#f3f2ee; --muted:#9a9a98; --line:#28282a; }
/* Keep the hero copy in flow so short viewports cannot push it into the logo. */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--paper); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; display:flex; height:112px; justify-content:space-between; left:0; padding:0 4.6vw; position:absolute; right:0; top:0; z-index:3; }
.wordmark { display:block; line-height:0; width:90px; }.wordmark img { display:block; height:auto; width:100%; }
.header-link,.eyebrow { color:var(--muted); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.08em; }.header-link i { background:var(--paper); border-radius:50%; display:inline-block; height:5px; margin:0 0 2px 8px; width:5px; }
.hero { height:min(920px,100svh); min-height:670px; overflow:hidden; position:relative; }.hero-collage { background:#111113; display:grid; grid-template-columns:1.05fr 1fr 1.1fr .9fr; inset:0; position:absolute; }.hero-collage img { height:100%; min-width:0; object-fit:cover; width:100%; }.collage-batman { object-position:center 16%; }.collage-spider { object-position:50% 40%; }.collage-armeira { object-position:50% 50%; }.collage-zoro { object-position:50% 50%; }.hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.70) 31%,rgba(0,0,0,.22) 67%,rgba(0,0,0,.32) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 42%); inset:0; position:absolute; }
.hero-copy { bottom:12.2vh; left:8.3vw; position:absolute; z-index:1; }.hero .eyebrow { color:#c6c6c3; margin:0 0 23px; }.hero h1 { font-size:clamp(59px,9.4vw,150px); font-weight:800; letter-spacing:-.08em; line-height:1.04; margin:0; }.hero-description { color:#dddcd8; font-size:15px; line-height:1.5; margin:29px 0 0; max-width:280px; }.scroll-cue { bottom:36px; font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.1em; position:absolute; right:4.6vw; z-index:1; }.scroll-cue span { font-size:19px; margin-left:11px; }
.section-grid { display:grid; gap:9vw; grid-template-columns:23% 1fr; padding:132px 8.3vw; }.section-grid .eyebrow { margin:9px 0 0; }.section-grid h2 { font-size:clamp(35px,5.2vw,80px); font-weight:700; letter-spacing:-.07em; line-height:.96; margin:0; max-width:1000px; }.body-copy { color:#c4c3c0; font-size:17px; line-height:1.75; margin:40px 0 0; max-width:565px; }
.albums { background:#101011; display:grid; gap:1px; grid-template-columns:repeat(4,1fr); padding:1px; }.album-card { aspect-ratio:4/5; background:#181819; border:0; color:var(--paper); cursor:pointer; overflow:hidden; padding:0; position:relative; text-align:left; }.album-card img { filter:saturate(.88); height:100%; inset:0; object-fit:cover; position:absolute; transition:transform .55s ease, filter .55s ease; width:100%; }.album-card::after { background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.03) 70%); content:""; inset:0; position:absolute; }.album-card:hover img { filter:saturate(1.08); transform:scale(1.045); }.album-card span,.album-card strong,.album-card em { left:20px; position:absolute; z-index:1; }.album-card span { color:#b9b8b5; font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.06em; top:20px; }.album-card strong { bottom:37px; font-size:14px; letter-spacing:.015em; }.album-card em { bottom:20px; color:#b9b8b5; font-family:"DM Mono",monospace; font-size:9px; font-style:normal; letter-spacing:.07em; }
.album-card:nth-child(5) img { object-position:center 25%; }
.album-dialog { background:#101011; border:1px solid #38383a; color:var(--paper); max-height:90vh; max-width:min(1100px,94vw); padding:46px 28px 28px; width:100%; }.album-dialog::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(5px); }.album-dialog h2 { font-size:42px; letter-spacing:-.06em; margin:8px 0 28px; }.dialog-close { background:transparent; border:0; color:var(--paper); cursor:pointer; font-size:30px; position:absolute; right:18px; top:9px; }.dialog-grid { display:grid; gap:8px; grid-template-columns:repeat(3,1fr); }.dialog-grid img { aspect-ratio:4/5; object-fit:cover; width:100%; }
.process { background:var(--paper); color:#111113; }.process .eyebrow { color:#777774; }.steps { border-top:1px solid #8f8e8b; display:grid; grid-template-columns:1fr 1fr; margin-top:65px; }.steps p { border-bottom:1px solid #bbb9b6; font-family:"DM Mono",monospace; font-size:11px; margin:0; padding:18px 0; }.steps span { color:#878683; margin-right:15px; }
.cta { align-items:center; background:#101011; display:flex; flex-direction:column; min-height:690px; overflow:hidden; padding:130px 25px; position:relative; text-align:center; }.cta .mark { height:720px; left:50%; object-fit:cover; opacity:.08; position:absolute; top:50%; transform:translate(-50%,-50%); width:720px; }.cta > :not(.mark) { position:relative; }.cta h2 { font-size:clamp(42px,7.2vw,108px); letter-spacing:-.075em; line-height:.9; margin:26px 0 43px; }.button { background:var(--paper); color:#111113; font-family:"DM Mono",monospace; font-size:11px; letter-spacing:.09em; padding:17px 21px; }.button span { font-size:16px; margin-left:17px; }.note { color:#767673; font-family:"DM Mono",monospace; font-size:9px; margin-top:19px; }
footer { align-items:center; border-top:1px solid var(--line); color:#a5a4a1; display:flex; font-family:"DM Mono",monospace; font-size:10px; justify-content:space-between; padding:25px 4.6vw; }footer p { margin:0; } footer a { color:var(--paper); }
@media(max-width:700px){ .site-header{height:98px;padding:0 23px}.wordmark{width:76px}.hero{min-height:620px}.hero-collage{grid-template-columns:1fr 1fr}.hero-collage img:nth-child(n+3){display:none}.hero-copy{bottom:88px;left:25px}.hero h1{font-size:61px}.scroll-cue{bottom:28px;right:25px}.section-grid{display:block;padding:82px 25px}.section-grid h2{font-size:45px;margin-top:44px}.body-copy{font-size:15px}.albums{grid-template-columns:1fr 1fr}.album-card{min-height:0}.album-card span,.album-card strong,.album-card em{left:15px}.album-card span{top:15px}.album-card strong{bottom:34px;font-size:12px}.album-card em{bottom:17px;font-size:8px}.dialog-grid{grid-template-columns:1fr 1fr}.process{padding-bottom:83px}.steps{grid-template-columns:1fr;margin-top:46px}.cta{min-height:570px;padding:100px 25px}.cta h2{font-size:51px}.cta .mark{height:540px;width:540px}footer{gap:20px;padding:23px;}footer p:last-child{display:none}}
html.mobile-preview { background:#222; } html.mobile-preview body { max-width:390px; min-width:390px; } html.mobile-preview .site-header{height:98px;padding:0 23px} html.mobile-preview .wordmark{width:76px} html.mobile-preview .hero{min-height:620px} html.mobile-preview .hero-collage{grid-template-columns:1fr 1fr} html.mobile-preview .hero-collage img:nth-child(n+3){display:none} html.mobile-preview .hero-copy{bottom:88px;left:25px} html.mobile-preview .hero h1{font-size:61px} html.mobile-preview .scroll-cue{bottom:28px;right:25px} html.mobile-preview .section-grid{display:block;padding:82px 25px} html.mobile-preview .section-grid h2{font-size:45px;margin-top:44px} html.mobile-preview .body-copy{font-size:15px} html.mobile-preview .albums{grid-template-columns:1fr 1fr} html.mobile-preview .album-card{min-height:0} html.mobile-preview .album-card span,html.mobile-preview .album-card strong,html.mobile-preview .album-card em{left:15px} html.mobile-preview .album-card span{top:15px} html.mobile-preview .album-card strong{bottom:34px;font-size:12px} html.mobile-preview .album-card em{bottom:17px;font-size:8px} html.mobile-preview .dialog-grid{grid-template-columns:1fr 1fr} html.mobile-preview .process{padding-bottom:83px} html.mobile-preview .steps{grid-template-columns:1fr;margin-top:46px} html.mobile-preview .cta{min-height:570px;padding:100px 25px} html.mobile-preview .cta h2{font-size:51px} html.mobile-preview .cta .mark{height:540px;width:540px} html.mobile-preview footer{gap:20px;padding:23px} html.mobile-preview footer p:last-child{display:none}

/* Order guide: native disclosures work with keyboard and without JavaScript. */
.header-nav{display:flex;gap:24px;align-items:center}
.header-nav a{padding:14px 0;color:var(--paper)}
.order-intro{font-size:17px;line-height:1.7;color:#565653;max-width:620px;margin:28px 0 38px}
.order-steps{border-top:1px solid #b9b8b2}
.order-step{border-bottom:1px solid #b9b8b2}
.order-step summary{display:flex;gap:18px;align-items:center;padding:23px 0;cursor:pointer;list-style:none;font-size:19px;font-weight:600}
.order-step summary::-webkit-details-marker{display:none}
.step-number{font:11px "DM Mono",monospace;color:#676760}
.order-step svg{width:28px;height:28px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}
.step-toggle{margin-left:auto;font-size:26px;font-weight:400}
.order-step[open] .step-toggle{transform:rotate(45deg)}
.order-step p{margin:0;padding:0 28px 26px 80px;font-size:16px;line-height:1.8;color:#50504c;max-width:740px}
.order-terms{margin-top:32px;padding:24px;background:#e8e7e1;border-left:2px solid #151515}
.order-terms p{font-size:14px;line-height:1.8;margin:10px 0 0;color:#50504c}
.order-contact{display:inline-block;font:11px "DM Mono",monospace;line-height:1.7;border-bottom:1px solid;padding:16px 0 8px;margin-top:18px}
a:focus-visible,summary:focus-visible{outline:2px solid #a16c24;outline-offset:5px}
@media(max-width:700px){
.hero h1{font-size:clamp(43px,14vw,61px)}
.hero-copy{right:20px}
.header-nav{gap:14px}.header-link{font-size:9px}
.order-step summary{font-size:16px;gap:12px}
.order-step p{padding-left:0;padding-right:0;font-size:15px}
.order-intro{font-size:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.album-card img{transition:none}}
.gallery-photo{padding:0;border:0;background:transparent;cursor:zoom-in;min-width:0}.gallery-photo img{display:block}.gallery-photo:focus-visible,.photo-viewer button:focus-visible{outline:2px solid white;outline-offset:-4px}.photo-viewer{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;border:0;padding:0;background:#080808;color:#f4f2ed;overflow:hidden}.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#000}.viewer-bar{display:flex;align-items:center;gap:18px;flex-shrink:0;padding:calc(12px + env(safe-area-inset-top)) 20px 12px}.viewer-caption{flex:1;font-size:13px}.photo-viewer button{color:inherit;cursor:pointer;background:#181818;border:1px solid #555;border-radius:4px;min-height:44px;min-width:44px}.viewer-close{font-size:30px}.viewer-fullscreen{padding:0 12px}.viewer-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-y pinch-zoom}.viewer-image{width:100%;height:100%;object-fit:contain;cursor:zoom-in}.viewer-prev,.viewer-next{position:fixed;top:50%;font-size:36px;z-index:1}.viewer-prev{left:12px}.viewer-next{right:12px}.viewer-hint{flex-shrink:0;text-align:center;font-size:12px;color:#bbb;margin:0;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.viewer-stage.zoomed{display:block;touch-action:auto}.viewer-stage.zoomed .viewer-image{width:200%;height:200%;max-width:none;object-fit:contain;cursor:zoom-out}@media(max-width:600px){.viewer-bar{gap:8px;padding-left:12px;padding-right:12px}.viewer-caption{font-size:11px}.viewer-fullscreen{font-size:11px}.viewer-prev{left:6px}.viewer-next{right:6px}.viewer-hint{font-size:10px}}
.instagram-button{display:inline-block;position:relative;margin-top:24px;padding:14px 20px;border:1px solid #777;color:inherit;font-size:12px;text-decoration:none;letter-spacing:.05em}.instagram-button:hover,.instagram-button:focus-visible{background:#f4f2ed;color:#101011}
/* Reserve header space and let the hero grow when its text needs more room. */
.hero{display:flex;align-items:flex-end;height:auto;min-height:min(920px,100svh);padding:170px 8.3vw clamp(88px,12.2vh,132px)}
.hero-copy{position:relative;inset:auto;min-width:0;width:100%}
@media(max-width:700px){.hero{min-height:max(620px,100svh);padding:138px 20px 88px 25px}.hero-copy{inset:auto}}
html.mobile-preview .hero{height:auto;min-height:620px;padding:138px 20px 88px 25px}html.mobile-preview .hero-copy{position:relative;inset:auto}
