:root{--bg:#111013;--panel:rgba(39,37,43,.72);--panel-light:rgba(255,255,255,.075);--line:rgba(255,255,255,.16);--text:#f5f3ef;--muted:#b3afb5;--lime:#e7fb6c;--pink:#ff194d;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 50% -15%,#403844 0,#211f25 28%,var(--bg) 68%);font-family:'Space Grotesk',Arial,sans-serif;font-size:17px;line-height:1.5}body:before{content:'';position:fixed;inset:0;z-index:-1;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.page-width{width:min(1280px,calc(100% - 64px));margin-left:auto;margin-right:auto}.site-header{position:sticky;top:18px;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1280px,calc(100% - 64px));height:72px;margin:18px auto 0;padding:0 22px;border:1px solid var(--line);border-radius:18px;background:rgba(49,46,54,.68);box-shadow:0 18px 60px rgba(0,0,0,.2);backdrop-filter:blur(24px)}.brand,.site-header a{color:var(--text);text-decoration:none}.brand{font:500 13px 'DM Mono',monospace;letter-spacing:.08em}.brand span{color:var(--lime);padding:0 5px}.site-header nav{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.06)}.site-header nav a{padding:7px 15px;border-radius:9px;font:11px 'DM Mono',monospace;text-transform:uppercase}.site-header nav a:hover{background:rgba(255,255,255,.1);color:var(--lime)}.header-date{justify-self:end;padding:9px 12px;border:1px solid rgba(231,251,108,.45);border-radius:10px;color:var(--lime)!important;font:11px 'DM Mono',monospace}.header-date span{font-size:16px;margin-left:7px}.eyebrow{color:var(--lime);font:500 11px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase}.hero{display:grid;grid-template-columns:40% 60%;width:min(1440px,100% - 32px);min-height:680px;margin:28px auto 0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 25px 90px rgba(0,0,0,.25);backdrop-filter:blur(22px)}.hero-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 55px;text-align:center;border-right:1px solid var(--line)}.hero h1{max-width:450px;margin:24px 0 25px;font-size:clamp(58px,6.6vw,104px);letter-spacing:-.09em;line-height:.86}.hero h1 i,.brief-intro i,.story i,.plan i,.shot-list i{font-style:normal;color:var(--lime)}.hero-deck{max-width:290px;color:var(--muted);font-size:18px}.scroll-link{margin-top:58px;color:var(--text);text-decoration:none;font:11px 'DM Mono',monospace;text-transform:uppercase}.scroll-link span{color:var(--lime);font-size:18px;margin-left:10px}.hero-image{min-height:680px}.hero-image img{display:block;width:100%;height:100%;object-fit:cover}.brief-intro{display:grid;grid-template-columns:28% 1fr;gap:60px;padding-top:130px;padding-bottom:115px}.brief-intro h2,.story h2,.plan h2,.shot-list h2,.ready h2{margin:0;font-size:clamp(46px,5.6vw,82px);letter-spacing:-.085em;line-height:.92}.body-copy{max-width:700px;margin:30px 0 0;color:var(--muted);font-size:22px}.details{display:grid;grid-template-columns:1fr 1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 55px rgba(0,0,0,.15);backdrop-filter:blur(22px)}.details article{min-height:260px;padding:32px;border-left:1px solid var(--line)}.details article:first-child{border-left:0}.details h3{margin:22px 0 12px;font-size:22px;letter-spacing:-.03em}.details p{margin:9px 0;color:var(--muted);font-size:17px}.details b{color:var(--text);font-weight:500}.details .lime{color:var(--lime);font:11px 'DM Mono',monospace;text-transform:uppercase;margin-top:28px}.detail-stat{display:flex;flex-direction:column}.detail-stat strong{margin:auto 0 4px;font-size:42px;letter-spacing:-.07em}.story,.plan,.shot-list{padding-top:135px;padding-bottom:135px}.story-heading,.plan-heading{display:grid;grid-template-columns:28% 1fr;gap:60px;margin-bottom:55px}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.room-carousel,.story-notes{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 55px rgba(0,0,0,.16);backdrop-filter:blur(22px)}.room-carousel{padding:14px}.carousel-track{position:relative;aspect-ratio:1.36;overflow:hidden;border-radius:15px;background:#141317}.carousel-slide{position:absolute;inset:0;visibility:hidden;opacity:0;margin:0;transform:scale(1.04);transition:opacity .8s ease,transform 1.2s ease,visibility .8s}.carousel-slide.active{z-index:1;visibility:visible;opacity:1;transform:scale(1)}.carousel-slide img{display:block;width:100%;height:100%;object-fit:contain}.carousel-controls{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:15px 3px 2px;color:var(--lime);font:12px 'DM Mono',monospace}.carousel-controls button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--panel-light);font-size:16px;cursor:pointer}.carousel-controls button:hover{color:#111;background:var(--lime)}.carousel-caption{margin:8px 3px 4px;color:var(--muted);font-size:16px}.story-notes{padding:0 29px}.story-notes>div{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:27px 0;border-bottom:1px solid var(--line)}.story-notes>div:last-child{border-bottom:0}.story-notes span{color:var(--lime);font:11px 'DM Mono',monospace}.story-notes h3{margin:0;font-size:19px;text-transform:uppercase}.story-notes p{grid-column:2;margin:5px 0 0;color:var(--muted);font-size:17px}.plan{border-top:1px solid var(--line)}.selects{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:34px;padding:25px 30px;border:1px solid rgba(231,251,108,.55);border-left:7px solid var(--lime);border-radius:12px;background:rgba(231,251,108,.1)}.selects span{font:11px 'DM Mono',monospace;letter-spacing:.16em;color:var(--lime)}.selects strong{display:flex;gap:36px;font-size:22px;line-height:1.2}.selects strong b{font-weight:500}.selects strong b:first-child{color:var(--lime)}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:1fr 28px;grid-template-rows:auto auto auto;gap:4px 20px;width:100%;padding:25px 0;border:0;border-bottom:1px solid var(--line);color:var(--text);background:transparent;text-align:left}.timeline-item>span{grid-column:1;grid-row:1;color:var(--lime);font:500 25px 'DM Mono',monospace;letter-spacing:-.05em}.timeline-item small{color:var(--muted);font-size:10px}.timeline-item strong{grid-column:1;grid-row:2;font-size:20px;text-transform:uppercase}.timeline-item p{grid-column:1;grid-row:3;max-width:750px;margin:3px 0 0;color:var(--muted);font-size:17px}.timeline-item>b{grid-column:2;grid-row:1 / span 3;align-self:center;color:var(--lime);font-size:20px;font-weight:400}.shot-list{border-top:1px solid var(--line)}.shot-guidance{margin-top:45px;margin-bottom:115px}.shot-guidance-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:35px;border-bottom:1px solid var(--line)}.shot-guidance-heading p{align-self:end;margin:0;color:var(--muted);font-size:21px}.shot-rule{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:29px 0;border-bottom:1px solid var(--line)}.shot-rule>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--lime);color:#111;font-size:18px}.shot-rule h3,.shot-callout h3,.shot-reminders h3{margin:0;font-size:20px;text-transform:uppercase}.shot-rule h3 em{color:var(--pink);font-style:normal;font-size:11px;margin-left:8px}.shot-rule p,.shot-callout p,.shot-reminders li{max-width:950px;margin:9px 0 0;color:var(--muted);font-size:18px}.shot-callout{margin:28px 0;padding:28px 30px;border:1px solid rgba(231,251,108,.55);border-left:7px solid var(--lime);border-radius:12px;background:rgba(231,251,108,.1)}.shot-reminders{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:28px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--line)}.shot-reminders>div{padding:29px 30px;background:var(--panel)}.shot-reminders ul{list-style:none;padding:0;margin:12px 0 0}.shot-reminders li{position:relative;padding:5px 0 5px 21px;margin:0;font-size:17px}.shot-reminders li:before{content:'■';position:absolute;left:0;color:var(--lime);font-size:9px}.shot-heading{display:flex;align-items:end;justify-content:space-between;padding-top:100px;border-top:1px solid var(--line)}.shot-heading p{max-width:300px;margin:0;color:var(--muted);font-size:17px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:42px}.photo-grid figure{margin:0;padding:9px;border:1px solid var(--line);border-radius:15px;background:var(--panel);cursor:zoom-in}.photo-grid img{display:block;width:100%;height:auto;border-radius:8px}.boundary{display:flex;gap:22px;align-items:flex-start;padding:32px;border:1px solid rgba(231,251,108,.55);border-radius:var(--radius);background:rgba(231,251,108,.09)}.boundary-symbol{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:8px;color:#111;background:var(--lime);font-weight:700}.boundary h2{margin:8px 0;font-size:35px}.boundary p:last-child{max-width:700px;margin:0;color:var(--muted);font-size:18px}.ready{padding-top:135px;padding-bottom:120px}.ready h2{margin:20px 0 38px}.checklist{display:grid;grid-template-columns:1fr 1fr;padding:0 24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);backdrop-filter:blur(18px)}.checklist label{padding:19px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:17px;cursor:pointer}.checklist label:nth-child(odd){margin-right:35px}.checklist input{appearance:none;width:17px;height:17px;margin:0 11px 0 0;vertical-align:-2px;border:1px solid var(--lime);border-radius:3px}.checklist input:checked{background:var(--lime);box-shadow:inset 0 0 0 4px #27252b}.progress{color:#777;font:11px 'DM Mono',monospace}.site-footer{display:flex;justify-content:space-between;padding:30px 0 55px;border-top:1px solid var(--line);color:#777;font:10px 'DM Mono',monospace;letter-spacing:.08em}.site-footer a{color:inherit;text-decoration:none;margin-left:17px}.site-footer a:hover{color:var(--lime)}.lightbox{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:5vw;background:rgba(10,10,12,.84);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.lightbox.visible{opacity:1;visibility:visible}.lightbox img{max-width:92vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border:1px solid var(--line);box-shadow:0 20px 80px #000}.lightbox-close{position:absolute;top:24px;right:28px;border:0;background:none;color:var(--text);font-size:38px;font-weight:200;cursor:pointer}.lightbox-close:hover{color:var(--lime)}
@media(max-width:760px){body{font-size:16px}.page-width,.site-header{width:calc(100% - 28px)}.site-header{top:8px;height:60px;margin-top:8px;padding:0 13px;border-radius:15px}.site-header nav{display:none}.brand{font-size:11px}.header-date{font-size:9px}.hero{display:flex;flex-direction:column;width:calc(100% - 14px);margin-top:14px;border-radius:18px;min-height:0}.hero-copy{min-height:410px;padding:60px 22px 45px;border-right:0;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(55px,16vw,78px)}.hero-deck{font-size:17px}.scroll-link{margin-top:42px}.hero-image{min-height:100vw}.brief-intro,.story-heading,.plan-heading{display:block;padding-top:85px;padding-bottom:70px}.brief-intro h2{margin-top:25px;font-size:49px}.body-copy{font-size:18px}.details{display:block;border-radius:18px}.details article{min-height:0;border-left:0;border-bottom:1px solid var(--line);padding:26px 24px}.details article:last-child{border-bottom:0}.details h3{font-size:20px}.details p{font-size:16px}.detail-stat strong{margin:24px 0 0;font-size:38px}.story,.plan,.shot-list{padding-top:85px;padding-bottom:85px}.story-heading,.plan-heading{margin-bottom:40px}.story-grid{display:block}.room-carousel{padding:9px;border-radius:18px}.carousel-track{aspect-ratio:.95}.story-notes{margin-top:12px;padding:0 20px;border-radius:18px}.story-notes p{font-size:16px}.selects{display:block;padding:22px 18px;margin-bottom:25px}.selects strong{display:block;margin-top:11px;font-size:21px}.selects strong b{display:block;margin-top:9px}.timeline-item{padding:23px 0}.timeline-item>span{font-size:21px}.timeline-item strong{font-size:17px}.timeline-item p{font-size:16px}.shot-guidance{margin-top:30px;margin-bottom:75px}.shot-guidance-heading{display:block}.shot-guidance-heading p{margin-top:25px;font-size:18px}.shot-rule{grid-template-columns:40px 1fr;gap:12px;padding:23px 0}.shot-rule h3,.shot-callout h3,.shot-reminders h3{font-size:16px}.shot-rule p,.shot-callout p{font-size:16px}.shot-callout{padding:21px 17px;margin:22px 0}.shot-reminders{display:block;border-radius:12px}.shot-reminders>div{padding:23px 18px}.shot-reminders li{font-size:16px}.shot-heading{display:block;padding-top:75px}.shot-heading p{margin-top:22px;font-size:16px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:28px}.photo-grid figure{padding:6px;border-radius:10px}.photo-grid img{border-radius:5px}.boundary{margin-top:0;padding:22px 18px;border-radius:18px}.boundary h2{font-size:29px}.boundary p:last-child{font-size:16px}.ready{padding-top:85px;padding-bottom:80px}.ready h2{font-size:49px}.checklist{display:block;padding:0 17px;border-radius:15px}.checklist label,.checklist label:nth-child(odd){display:block;margin-right:0;font-size:16px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-bottom:40px;font-size:8px}.site-footer>span:last-child{grid-column:1 / -1}.site-footer a{margin:0 12px 0 0}.lightbox{padding:16px}.lightbox-close{top:10px;right:15px}}
.carousel-track{aspect-ratio:16 / 9}.carousel-slide img{object-fit:cover}
@media(max-width:760px){.carousel-track{aspect-ratio:16 / 10}}

/* Masonry prevents tall portraits from creating empty rows beside landscapes. */
.photo-grid{display:block;column-count:4;column-gap:12px}.photo-grid figure{display:inline-block;width:100%;margin:0 0 12px;break-inside:avoid;vertical-align:top}.photo-grid img{height:auto;aspect-ratio:auto}
@media(max-width:760px){.photo-grid{column-count:2;column-gap:8px}.photo-grid figure{margin-bottom:8px}}
.hero{display:block;min-height:0}.hero-copy{min-height:360px;padding:72px 40px 62px;border-right:0;border-bottom:1px solid var(--line)}.hero-image{min-height:0;aspect-ratio:16 / 9}.hero-image img{aspect-ratio:16 / 9;object-fit:cover}
@media(max-width:760px){.hero-copy{min-height:360px;padding:62px 20px 48px}.hero-image{min-height:0;aspect-ratio:16 / 9}.hero-image img{aspect-ratio:16 / 9}}
.hero-event-date{margin:0;color:var(--lime);font-size:clamp(23px,3vw,36px);font-weight:500;letter-spacing:-.04em}.hero-note{margin:2px 0 0;color:var(--muted);font-size:16px}
