:root{--cream: rgb(252, 255, 220);--cream-soft: rgb(255, 249, 233);--cream-card: rgb(246, 244, 234);--cream-card-2: rgb(252, 249, 241);--footer-bg: rgb(245, 245, 244);--header-bg: rgb(239, 233, 218);--ink: rgb(56, 56, 47);--ink-2: rgb(28, 25, 23);--ink-3: rgb(0, 0, 0);--muted: rgb(101, 101, 91);--muted-2: rgb(105, 92, 81);--muted-3: rgb(129, 129, 118);--muted-4: rgb(120, 113, 108);--muted-5: rgb(87, 83, 78);--muted-6: rgb(92, 79, 69);--hairline: rgb(187, 186, 174);--serif: "Cormorant Garamond", Georgia, serif;--classical: "Cinzel", Georgia, serif;--sans: "Barlow", system-ui, -apple-system, sans-serif;--site-pad: clamp(20px, 6.25vw, 160px);--img-transition: transform .8s cubic-bezier(.25, .46, .45, .94), filter .55s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--cream)}body{font-family:var(--serif);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page{width:100%;background:var(--cream);overflow:hidden}.topbar{position:relative;background:var(--header-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;flex-direction:column;padding:16px 20px;z-index:50}.topbar-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;min-width:0}.brand{display:flex;align-items:center;gap:12px;flex:1 1 0;min-width:0;overflow:hidden}.brand .logo{width:40px;height:40px;background:url(/logo.svg) center / contain no-repeat;flex-shrink:0}.brand .name{font-family:var(--classical);text-transform:uppercase;font-weight:400;font-size:13px;letter-spacing:1.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:8px;width:40px;height:40px}.hamburger{position:relative;display:block;width:22px;height:2px;background:var(--ink-2);transition:background .2s ease}.hamburger:before,.hamburger:after{content:"";position:absolute;width:22px;height:2px;background:var(--ink-2);left:0;transition:transform .25s ease,top .25s ease}.hamburger:before{top:-7px}.hamburger:after{top:7px}.hamburger.open{background:transparent}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}.nav{display:none;flex-direction:column;width:100%;padding:8px 0 4px;margin-top:8px;border-top:1px solid var(--hairline)}.nav.nav--open{display:flex}.nav a{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--ink-2);text-decoration:none;padding:13px 0;border-bottom:1px solid rgba(187,186,174,.35);cursor:pointer}.nav a:last-child{border-bottom:none}@media (min-width: 768px){.topbar{height:88px;padding:24px var(--site-pad);flex-direction:row;align-items:center}.topbar-row{flex:1 1 auto}.brand .logo{width:48px;height:48px}.brand .name{font-size:20px;letter-spacing:2px}.nav-toggle{display:none}.nav{display:flex;flex-direction:row;width:auto;gap:48px;margin-top:0;padding:0;border-top:none}.nav a{padding:0 0 4px;border-bottom:none;position:relative;overflow:hidden;transition:color .3s ease}.nav a:last-child{border-bottom:none}.nav a:after{content:"";position:absolute;bottom:0;left:-100%;width:100%;height:1px;background:var(--ink-2);transition:left .4s cubic-bezier(.25,.46,.45,.94)}.nav a:hover:after{left:0}}.hero{position:relative;width:100%;height:420px;overflow:hidden;background:#2a2a25}.hero-video-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) contrast(1.02)}.hero-yt-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:none;pointer-events:none;filter:saturate(.95) contrast(1.02)}.film-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000f2;display:flex;align-items:center;justify-content:center}.film-modal-video{width:100%;height:100%;object-fit:contain;max-width:100vw;max-height:100vh}.film-modal-iframe{width:90vw;height:90vh;border:none;max-width:1400px}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:36px;color:#ffffffd9;background:#00000040;opacity:0;transition:opacity .25s ease}.journal-item:hover .play-overlay{opacity:1}.video-play-hint{position:absolute;bottom:14px;right:14px;width:40px;height:40px;border-radius:50%;background:#00000073;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.7;transition:opacity .25s ease;z-index:2}[style*="cursor: pointer"]:hover .video-play-hint{opacity:1}.play-badge{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:1.5px;color:var(--cream);opacity:.7;text-transform:uppercase}.film-modal-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;z-index:10000;line-height:1;opacity:.75;transition:opacity .2s}.film-modal-close:hover{opacity:1}.hero .gradient-bottom{position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(#0000,#0009)}.hero-content{position:absolute;left:24px;bottom:48px;display:flex;flex-direction:column;gap:20px}.hero-eyebrow{font-family:var(--classical);text-transform:uppercase;font-size:22px;line-height:1;letter-spacing:3px;color:#fff;font-weight:600}.hero-btn{align-self:flex-start;padding:13px 28px;background:#fcffdc14;border:1px solid rgba(252,255,220,.25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--cream);font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;cursor:pointer;transition:background .35s ease,border-color .35s ease,letter-spacing .35s ease}.hero-btn:hover{background:#fcffdc2e;border-color:#fcffdc8c;letter-spacing:2.8px}@media (min-width: 768px){.hero{height:580px}.hero-content{left:var(--site-pad);bottom:72px}.hero-eyebrow{font-size:30px;letter-spacing:4px}}@media (min-width: 1024px){.hero{height:741px}.hero-content{left:var(--site-pad);bottom:96px}.hero-eyebrow{font-size:36px}.hero-btn{padding:16px 40px}}.tagline{background:var(--cream);padding:32px 20px;display:flex;justify-content:center}.tagline p{font-family:var(--serif);font-size:18px;line-height:32px;text-align:center;color:var(--ink);max-width:920px;font-weight:400}@media (min-width: 768px){.tagline{padding:40px 32px}.tagline p{font-size:22px;line-height:38px}}@media (min-width: 1024px){.tagline p{font-size:24px;line-height:40px}}.section-cream-soft{background:var(--cream-soft);padding:0}.section-cream-soft>*:first-child{margin-top:0}.section-cream{background:var(--cream-card);padding:40px 20px}@media (min-width: 768px){.section-cream-soft{padding:0}.section-cream{padding:48px 40px}}@media (min-width: 1024px){.section-cream{padding:60px var(--site-pad)}}.section-head{border-bottom:1px solid var(--hairline);padding-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.section-head h2{font-family:var(--serif);font-size:32px;line-height:1;color:var(--ink);font-weight:400;margin-bottom:12px;letter-spacing:-.5px}.section-head .eyebrow{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:2.5px;color:var(--muted-2)}.section-head .view{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:1px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:6px;white-space:nowrap;flex-shrink:0;transition:letter-spacing .4s ease,color .3s ease,border-color .3s ease}.section-head .view:hover{letter-spacing:2.5px;color:var(--muted-2);border-bottom-color:var(--muted-2)}@media (min-width: 768px){.section-head{margin-bottom:64px;padding-bottom:28px}.section-head h2{font-size:40px}}@media (min-width: 1024px){.section-head{margin-bottom:80px;padding-bottom:32px}.section-head h2{font-size:48px;margin-bottom:16px}}.services-grid{display:grid;grid-template-columns:1fr;gap:40px}.service{display:flex;flex-direction:column;gap:20px;cursor:pointer}.img-wrap{overflow:hidden;width:100%;position:relative}.img-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(28,25,23,.38) 0%,transparent 55%);opacity:0;transition:opacity .6s ease;pointer-events:none;z-index:1}.service:hover .img-wrap:after,.journal-item:hover .img-wrap:after{opacity:1}.service .img{width:100%;aspect-ratio:330 / 300;background-size:cover;background-position:center;background-color:#d8cfc1;filter:saturate(.9);transition:var(--img-transition)}.service:hover .img{transform:scale(1.06);filter:saturate(1.1) contrast(1.02)}.service h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:30px;color:var(--ink);transition:color .35s ease,letter-spacing .35s ease}.service:hover h3{color:var(--muted-2);letter-spacing:.3px}@media (min-width: 640px){.services-grid{grid-template-columns:repeat(2,1fr);gap:40px 32px}}@media (min-width: 1024px){.services-grid{grid-template-columns:repeat(3,1fr);gap:64px}.service h3{font-size:24px;line-height:32px}}.project-01{position:relative;margin-top:32px}.project-01 .image{width:100%;height:280px;background:url(/project01.jpg) center 30% / cover no-repeat;transition:filter .6s ease;position:relative;overflow:hidden}.project-video-bg{position:absolute;top:50%;left:50%;height:100%;aspect-ratio:16 / 9;min-width:100%;transform:translate(-50%,-50%);border:none;pointer-events:none}.project-01:hover .image{filter:brightness(.93)}.project-01 .card{background:var(--cream-card);padding:32px 20px;display:flex;flex-direction:column;gap:20px}.project-01 .card .archive-no{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:2.7px;color:var(--muted-2)}.project-01 .card .title{font-family:var(--serif);font-size:24px;line-height:32px;color:var(--ink);font-weight:400}.project-01 .card .body{font-family:var(--sans);text-transform:uppercase;font-size:10px;line-height:18px;letter-spacing:1.5px;color:var(--muted-2)}@media (min-width: 768px){.project-01 .image{height:440px}.project-01 .card{padding:40px;gap:24px}.project-01 .card .title{font-size:26px}}@media (min-width: 1024px){.project-01{height:min(716px,56vw);margin-top:50px}.project-01 .image{position:absolute;left:0;top:0;width:80%;height:min(716px,56vw)}.project-01 .card{position:absolute;right:var(--site-pad);top:50%;transform:translateY(-50%) translateY(90px);width:384px;box-shadow:0 20px 40px #38382f1a;padding:48px;gap:31px;transition:box-shadow .5s ease,transform .5s ease}.project-01:hover .card{box-shadow:0 36px 72px #38382f2e;transform:translateY(-50%) translateY(82px)}.project-01 .card .title{font-size:28px;line-height:36px}}.full-bleed-03{margin-top:32px;position:relative}.full-bleed-03 .image{width:100%;height:320px;background:url(/project05.jpg) center / cover no-repeat;position:relative;overflow:hidden}.full-bleed-03 .overlay{background:#fcffdcf2;padding:40px 20px;text-align:center}.full-bleed-03 .overlay h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.1;color:var(--ink);margin-bottom:20px;letter-spacing:-.5px}.full-bleed-03 .overlay p{font-family:var(--serif);font-weight:400;font-size:16px;line-height:28px;color:var(--ink-3);max-width:850px;margin:0 auto}@media (min-width: 768px){.full-bleed-03 .image{height:520px}.full-bleed-03 .overlay{padding:48px 40px}.full-bleed-03 .overlay h3{font-size:44px;margin-bottom:24px}.full-bleed-03 .overlay p{font-size:19px;line-height:33px}}@media (min-width: 1024px){.full-bleed-03{padding:80px 0;margin-top:50px}.full-bleed-03 .image{width:100%;height:min(921px,72vw)}.full-bleed-03 .overlay{position:absolute;left:50%;transform:translate(-50%,-50%);top:50%;width:min(1015px,78%);background:#fcffdcd9;border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:64px 80px}.full-bleed-03 .overlay h3{font-size:64px;margin-bottom:32px}.full-bleed-03 .overlay p{font-size:22px;line-height:38px}}.project-02{margin-top:32px;display:flex;flex-direction:column}.project-02 .image{width:100%;height:300px;background:url(/project03.png) center / cover no-repeat;order:-1;transition:filter .6s ease}.project-02:hover .image{filter:brightness(.93)}.project-02 .text{padding:32px 20px;display:flex;flex-direction:column;gap:12px}.project-02 .text h3{font-family:var(--serif);font-size:28px;line-height:36px;color:var(--ink);font-weight:400}.project-02 .text .meta{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--muted-3)}@media (min-width: 768px){.project-02 .image{height:480px}.project-02 .text{padding:40px 32px}.project-02 .text h3{font-size:32px}}@media (min-width: 1024px){.project-02{display:grid;grid-template-columns:1fr 60%;align-items:stretch;min-height:min(870px,68vw);margin-top:50px}.project-02 .image{height:min(870px,68vw);order:0}.project-02 .text{padding:80px var(--site-pad) 48px var(--site-pad);align-items:flex-end;text-align:right;justify-content:flex-start;gap:16px}.project-02 .text h3{font-size:36px;line-height:40px}}.bento{margin-top:32px;padding:0 20px;display:flex;flex-direction:column;gap:16px}.bento .quote{background:var(--cream-card-2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:12px;text-align:center}.bento .quote .a{font-family:var(--serif);font-size:36px;line-height:1;color:var(--muted-2);font-weight:400;font-style:italic;letter-spacing:-.5px}.bento .quote .b{font-family:var(--sans);text-transform:uppercase;font-size:12px;line-height:20px;letter-spacing:3px;color:var(--muted)}.bento .img-tall{height:300px;background:url(/project04.jpg) center / cover no-repeat;background-color:#d6c4ad;position:relative;cursor:pointer;overflow:hidden;transition:var(--img-transition)}.bento .img-sq{height:260px;background:url(/project02.jpg) center / cover no-repeat;background-color:#c9b9a2;position:relative;cursor:pointer;overflow:hidden;transition:var(--img-transition)}.bento .img-tall:after,.bento .img-sq:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1c191700;transition:background .5s ease}.bento .img-tall:hover:after,.bento .img-sq:hover:after{background:#1c191724}.bento .spec{text-align:center;padding:32px 0;display:flex;flex-direction:column;align-items:center;gap:20px}.bento .spec h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15;color:var(--ink);letter-spacing:-.5px}.bento .spec p{font-family:var(--sans);text-transform:uppercase;font-size:10px;line-height:20px;letter-spacing:2px;color:#5c4f45bf;max-width:640px}@media (min-width: 640px){.bento{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:"quote    img-tall" "img-sq   spec";gap:16px;padding:0 32px}.bento .quote{grid-area:quote}.bento .img-tall{grid-area:img-tall;height:auto;min-height:300px}.bento .img-sq{grid-area:img-sq;height:auto;min-height:280px}.bento .spec{grid-area:spec;padding:24px 16px}.bento .quote .a{font-size:44px}.bento .spec h3{font-size:40px}}@media (min-width: 1024px){.bento{display:grid;grid-template-columns:1fr .8fr 1.25fr;grid-template-rows:min(600px,47vw) min(400px,31vw);gap:24px;padding:0 var(--site-pad);margin-top:50px;grid-template-areas:"quote   quote   img-tall" "img-sq  spec    spec"}.bento .img-tall,.bento .img-sq{min-height:unset}.bento .quote .a{font-size:56px}.bento .quote .b{font-size:14px;letter-spacing:4px}.bento .spec{padding:0 32px;justify-content:center;gap:28px}.bento .spec h3{font-size:48px;max-width:700px}}@keyframes journal-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.journal{background:var(--cream-card);padding:40px 0;margin-top:0;overflow:hidden}.journal .section-head{padding:0 20px 32px}.journal-marquee-wrap{overflow:hidden;width:100%;cursor:grab}.journal-marquee-track{display:flex;gap:24px;width:max-content;animation:journal-scroll 28s linear infinite;will-change:transform}.journal-marquee-wrap:hover .journal-marquee-track{animation-play-state:paused}.journal-item{flex:0 0 clamp(240px,28vw,360px);display:flex;flex-direction:column;gap:14px;cursor:pointer}.journal-item .img-wrap{overflow:hidden;border-radius:2px}.journal-item .img{width:100%;aspect-ratio:330 / 300;background-size:cover;background-position:center;background-color:#c8baa3;transition:var(--img-transition)}.journal-item:hover .img{transform:scale(1.05);filter:saturate(1.08)}.journal-item .date{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:1.2px;color:var(--muted-3);margin-top:4px;transition:color .35s ease,letter-spacing .35s ease}.journal-item:hover .date{color:var(--muted-2);letter-spacing:1.8px}.journal-item h3{font-family:var(--serif);font-weight:400;font-size:20px;line-height:28px;color:var(--ink);transition:color .35s ease}.journal-item:hover h3{color:var(--muted-2)}@media (min-width: 768px){.journal{padding:48px 0;margin-top:0}.journal .section-head{padding:0 40px 40px}.journal-marquee-track{gap:32px}}@media (min-width: 1024px){.journal{padding:60px 0;margin-top:0}.journal .section-head{padding:0 var(--site-pad) 48px}.journal-item h3{font-size:22px;line-height:30px}.journal-marquee-track{gap:40px}}.newsletter{background:var(--cream);padding:48px 20px 40px;text-align:center}.newsletter h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:36px;color:var(--ink);margin-bottom:20px}.newsletter form{width:100%;max-width:576px;margin:0 auto;border-bottom:1px solid var(--hairline);display:flex;align-items:center;padding:14px 0}.newsletter input{flex:1;border:none;background:transparent;outline:none;font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--ink);padding:4px 0;min-width:0}.newsletter input::placeholder{color:#81817699}.newsletter button{background:transparent;border:0;cursor:pointer;font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:var(--muted-2);padding:4px 0;flex-shrink:0;margin-left:12px;transition:letter-spacing .3s ease,color .3s ease}.newsletter button:hover{letter-spacing:2.2px;color:var(--ink)}.newsletter .nl-success{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--muted-2);margin-top:16px}@media (min-width: 768px){.newsletter{padding:69px 32px 49px}.newsletter h3{font-size:36px;line-height:40px;margin-bottom:24px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c19178c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:20px 16px;overflow-y:auto;animation:overlayIn .25s ease both}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:720px;background:var(--cream);border:1px solid rgba(187,186,174,.6);box-shadow:0 40px 80px #1c191740;padding:48px 24px 40px;position:relative;animation:modalIn .4s cubic-bezier(.2,.8,.2,1) both;margin:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}.modal .close{position:absolute;top:16px;right:16px;background:transparent;border:0;cursor:pointer;font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--ink-2);padding:8px}.modal .close:hover{color:var(--muted-2)}.modal .eyebrow-label{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:3px;color:var(--muted-2);margin-bottom:10px}.modal h2{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.05;color:var(--ink);margin-bottom:10px;letter-spacing:-.5px}.modal .sub{font-family:var(--serif);font-size:15px;line-height:24px;color:var(--muted);margin-bottom:28px}.modal .divider{height:1px;background:var(--hairline);margin:0 0 28px}.form-grid{display:grid;grid-template-columns:1fr;gap:24px}.field{display:flex;flex-direction:column;gap:10px}.field.full{grid-column:1}.field label{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:2.5px;color:var(--muted-2)}.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(56,56,47,.35);padding:8px 0 12px;font-family:var(--serif);font-size:17px;line-height:1.4;color:var(--ink);outline:none;transition:border-color .25s ease}.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--ink)}.field input::placeholder,.field textarea::placeholder{color:#38382f59;font-style:italic}.field textarea{min-height:80px;resize:vertical}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted-2) 50%),linear-gradient(135deg,var(--muted-2) 50%,transparent 50%);background-position:calc(100% - 14px) 18px,calc(100% - 8px) 18px;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer}.modal-actions{margin-top:32px;display:flex;flex-direction:column;gap:16px}.modal-actions .note{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:2px;color:var(--muted-3)}.modal-submit{width:100%;background:var(--ink);color:var(--cream);border:1px solid var(--ink);padding:16px 44px;font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2.5px;cursor:pointer;transition:background .25s ease,color .25s ease}.modal-submit:hover:not(:disabled){background:transparent;color:var(--ink)}.modal-submit:disabled{opacity:.6;cursor:not-allowed}@media (min-width: 640px){.modal{padding:56px 64px 64px;align-self:center}.modal h2{font-size:44px}.form-grid{grid-template-columns:1fr 1fr;gap:28px 24px}.field.full{grid-column:1 / -1}.modal-actions{flex-direction:row;justify-content:space-between;align-items:center}.modal-submit{width:auto}}.modal-success{text-align:center;padding:40px 0 16px}.modal-success .check{font-family:var(--serif);font-size:56px;color:var(--muted-2);margin-bottom:16px;line-height:1}.modal-success h3{font-family:var(--serif);font-size:32px;color:var(--ink);margin-bottom:16px;font-weight:400}.modal-success p{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--muted-2);line-height:18px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.25,.46,.45,.94)}.reveal.is-visible{opacity:1;transform:none}.reveal-group>*{opacity:0;transform:translateY(24px)}.reveal-group>*:nth-child(1){transition:opacity .65s 0ms ease,transform .65s 0ms cubic-bezier(.25,.46,.45,.94)}.reveal-group>*:nth-child(2){transition:opacity .65s 90ms ease,transform .65s 90ms cubic-bezier(.25,.46,.45,.94)}.reveal-group>*:nth-child(3){transition:opacity .65s .18s ease,transform .65s .18s cubic-bezier(.25,.46,.45,.94)}.reveal-group>*:nth-child(4){transition:opacity .65s .27s ease,transform .65s .27s cubic-bezier(.25,.46,.45,.94)}.reveal-group>*:nth-child(5){transition:opacity .65s .36s ease,transform .65s .36s cubic-bezier(.25,.46,.45,.94)}.reveal-group>*:nth-child(6){transition:opacity .65s .45s ease,transform .65s .45s cubic-bezier(.25,.46,.45,.94)}.reveal-group>*:nth-child(n+7){transition:opacity .65s .54s ease,transform .65s .54s cubic-bezier(.25,.46,.45,.94)}.reveal-group.is-visible>*{opacity:1;transform:none}.gallery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#1c1814e0;display:flex;align-items:flex-start;justify-content:center;animation:fadeIn .3s ease;overflow-y:auto;padding:0}.gallery-modal{background:var(--cream);width:100%;min-height:100vh;display:flex;flex-direction:column;animation:slideUp .35s cubic-bezier(.25,.46,.45,.94)}.gallery-header{display:flex;align-items:flex-end;justify-content:space-between;padding:40px 20px 32px;border-bottom:1px solid var(--hairline);position:sticky;top:0;background:var(--cream);z-index:10}.gallery-eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted-3);margin-bottom:8px}.gallery-title{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--ink);line-height:1.1;margin:0}.gallery-close{background:none;border:1px solid var(--hairline);color:var(--ink);font-family:var(--sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 18px;cursor:pointer;border-radius:2px;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.gallery-close:hover{background:var(--cream-soft);border-color:var(--muted-3)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline);flex:1}.gallery-card{background:var(--cream);display:flex;flex-direction:column;cursor:pointer;overflow:hidden}.gallery-card-img-wrap{position:relative;overflow:hidden}.gallery-card-img{width:100%;aspect-ratio:4 / 3;background-size:cover;background-position:center;background-color:var(--cream-soft);transition:transform .55s cubic-bezier(.25,.46,.45,.94),filter .55s ease}.gallery-card:hover .gallery-card-img{transform:scale(1.04);filter:saturate(1.06)}.gallery-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:#ffffffd9;background:#0000002e;opacity:0;transition:opacity .25s ease}.gallery-card:hover .gallery-play{opacity:1}.gallery-card-info{padding:16px 16px 20px;display:flex;flex-direction:column;gap:5px}.gallery-card-date{font-family:var(--sans);font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted-3)}.gallery-card-name{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--ink);line-height:1.3;transition:color .25s ease}.gallery-card:hover .gallery-card-name{color:var(--muted-2)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (min-width: 640px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-header{padding:40px 40px 32px}.gallery-title{font-size:36px}}@media (min-width: 1024px){.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-header{padding:48px var(--site-pad) 36px}.gallery-title{font-size:42px}.gallery-card-name{font-size:18px}.gallery-card-info{padding:20px 24px 24px}}.img-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0908db;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;cursor:pointer;animation:overlayIn .28s ease both}.img-modal-close{position:fixed;top:16px;right:16px;background:#fcffdc14;border:1px solid rgba(252,255,220,.22);color:var(--cream);font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;padding:10px 18px;cursor:pointer;z-index:201;transition:background .25s ease,border-color .25s ease}.img-modal-close:hover{background:#fcffdc2e;border-color:#fcffdc80}.img-modal{max-width:960px;width:100%;display:flex;flex-direction:column;cursor:default;animation:modalIn .42s cubic-bezier(.2,.8,.2,1) both;max-height:90vh;overflow:hidden}.img-modal-image{width:100%;aspect-ratio:4 / 3;background-size:cover;background-position:center;background-color:#1c1917;flex-shrink:0}.img-modal-info{background:var(--cream);padding:24px 28px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.img-modal-label{font-family:var(--sans);text-transform:uppercase;font-size:9px;letter-spacing:2.5px;color:var(--muted-2)}.img-modal-title{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;color:var(--ink);letter-spacing:-.3px}.img-modal-body{font-family:var(--serif);font-size:15px;line-height:24px;color:var(--muted);margin-top:4px}@media (min-width: 640px){.img-modal-image{aspect-ratio:16 / 10}.img-modal-title{font-size:32px}.img-modal-info{padding:28px 36px}}@media (min-width: 1024px){.img-modal{flex-direction:row;max-height:82vh}.img-modal-image{flex:1;aspect-ratio:unset;min-height:480px}.img-modal-info{width:300px;flex-shrink:0;justify-content:flex-end;padding:48px 36px;gap:12px}.img-modal-title{font-size:30px}}.footer{background:var(--footer-bg);padding:48px 20px;display:flex;flex-direction:column;gap:24px;align-items:flex-start}.footer .brandline{font-family:var(--sans);text-transform:uppercase;font-size:14px;letter-spacing:4px;color:var(--ink-2);font-weight:500;margin-bottom:12px}.footer .copy{font-family:var(--serif);font-size:11px;letter-spacing:2px;color:var(--muted-5);text-transform:uppercase}.footer-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.footer .insta{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:2px;color:var(--muted-4);text-decoration:none;font-weight:300;transition:color .3s ease,letter-spacing .3s ease}.footer .insta:hover{color:var(--ink-2);letter-spacing:2.8px}@media (min-width: 768px){.footer-links{align-items:flex-end;gap:10px}}@media (min-width: 768px){.footer{flex-direction:row;justify-content:space-between;align-items:center;padding:80px var(--site-pad)}.footer .brandline{font-size:18px;letter-spacing:5.4px;margin-bottom:16px}}
