/* Motion is progressive: content remains visible without JavaScript. */
.public-site{--accent:#c64c2d;--motion-ease:cubic-bezier(.22,1,.36,1)}
.public-site header.header{position:sticky;top:0;z-index:30;background:#f1eee5ed;backdrop-filter:blur(18px);transition:box-shadow .35s,height .35s;border-bottom-color:#252b2226}
.public-site header.header.is-scrolled{box-shadow:0 6px 28px #20251d0a}
.scroll-progress{position:absolute;bottom:-1px;left:0;height:2px;background:#c64c2d;width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}
.public-site .header nav a{position:relative;padding:9px 0}
.public-site .header nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--motion-ease)}
.public-site .header nav a:hover:after,.public-site .header nav a.is-current:after{transform:scaleX(1);transform-origin:left}
.public-site .hero{position:relative;padding-top:42px;padding-bottom:45px;isolation:isolate}
.public-site .hero:before{content:'';position:absolute;width:40vw;height:40vw;right:8%;top:0;border-radius:50%;background:radial-gradient(circle,#d8703320,transparent 68%);pointer-events:none;z-index:-1}
.hero-copy .eyebrow>span{box-shadow:0 0 0 5px #c64c2d13;background:#c64c2d}
.public-site .hero h1 em{color:#c64c2d;position:relative}
.public-site .hero h1 em:after{content:'';display:block;width:92%;height:6px;position:absolute;bottom:-8px;left:0;background:#c64c2d;clip-path:polygon(0 40%,100% 0,94% 35%,3% 100%);transform:scaleX(0);transform-origin:left;animation:ink-line .9s var(--motion-ease) 1s forwards}
.public-site .hero-art{padding-bottom:92px;min-height:620px;perspective:1000px}
.public-site .hero-photo{border-radius:150px 150px 12px 12px;height:510px;min-height:0;max-height:none;background:#263020;box-shadow:0 20px 60px #27321a14;isolation:isolate;transform:rotate(1deg);transition:transform .8s var(--motion-ease)}
.public-site .hero-photo>img,.hero-film{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;max-height:none!important;object-fit:cover;object-position:center 40%;filter:none!important}
.hero-film{opacity:0;transition:opacity .75s;z-index:1;pointer-events:none}
.hero-film.is-playing{opacity:1}
.public-site .hero-photo:after{z-index:2;background:linear-gradient(0deg,#10170eeb,transparent 55%)}
.public-site .photo-label{z-index:3;left:27px;bottom:25px;right:28px;pointer-events:none}
.public-site .photo-label strong{font-size:27px;line-height:1.1;margin-top:6px}
.public-site .photo-label>span{display:flex;align-items:center;gap:8px;color:#f7ead9}
.live-dot{width:5px;height:5px;display:inline-block;background:#d7edb6;border-radius:50%;box-shadow:0 0 0 4px #d7edb621}
.film-controls{position:absolute;bottom:126px;left:67px;z-index:4;display:flex;gap:8px}
.film-pause{border:1px solid #fff6;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;background:#15210e42;color:white;backdrop-filter:blur(5px);font-size:13px;transition:background .2s}
.film-pause:hover{background:#c64c2d}
.public-site .craft-stamp{top:22px;background:#c64c2d;transform:rotate(9deg);box-shadow:0 6px 20px #57230b19}
.craft-stamp b{animation:stamp-turn 18s linear infinite}
.public-site .detail-shot{right:-13px;bottom:100px;width:135px;transform:translateY(var(--float-y,0px)) rotate(7deg);transition:box-shadow .4s}
.public-site .detail-shot img{height:140px;object-position:center 45%}
.public-site .detail-shot:hover{box-shadow:0 15px 35px #252b2240}
.reel-tabs{position:absolute;bottom:12px;left:43px;right:0;display:flex;align-items:center;gap:9px}
.reel-tab{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 5px;border:1px solid transparent;background:transparent;flex:1;color:#6e7565;text-align:left;transition:background .3s,border-color .3s;min-width:0}
.reel-tab img{width:34px;height:44px;object-fit:cover;border-radius:3px;filter:saturate(.7)}
.reel-tab>span{font-size:8px;letter-spacing:.7px;line-height:1.6}
.reel-tab b{display:block;font-weight:500;font-size:10px;letter-spacing:0}
.reel-tab[aria-pressed=true]{background:#e4e6d9;border-color:#bcc6ac;color:#202b17}
.reel-tab:hover{background:#e4e6d9}
.public-site .hero-location{margin-top:28px}
.public-site .ticker{position:relative;padding:22px 0;display:block;overflow:hidden;background:#c64c2d;color:#fff3df;border:0}
.ticker-track{display:flex;width:max-content;animation:marquee-travel 32s linear infinite;will-change:transform}
.ticker-group{display:flex;gap:40px;align-items:center;padding-right:40px;font-size:12px;font-weight:500;letter-spacing:2.2px;white-space:nowrap}
.public-site .ticker b{color:#fff3df;font-size:22px}
.public-site .ticker:hover .ticker-track{animation-play-state:paused}
.reveal-ready{opacity:0;transform:translateY(32px);transition:opacity .9s var(--motion-ease),transform 1.1s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.public-site .service{position:relative;overflow:hidden;isolation:isolate;transition:background .4s,color .4s,transform .65s var(--motion-ease)}
.public-site .service:before{content:'';position:absolute;width:220px;height:220px;right:-90px;top:-130px;background:#c64c2d;border-radius:50%;z-index:-1;transition:transform .7s var(--motion-ease);transform:scale(0)}
.public-site .service:hover:before{transform:scale(1)}
.public-site .service .arrow{transition:transform .5s var(--motion-ease)}
.public-site .service:hover .arrow{transform:rotate(45deg)}
.public-site .service:hover h3{color:#c64c2d}
.public-site .work{position:relative;border-radius:30px 30px 0 0}
.public-site .work .section-heading{align-items:center}
.public-site .work h2{max-width:620px}
.public-site .gallery{grid-template-columns:repeat(12,1fr);gap:25px;align-items:start}
.public-site .gallery-item{grid-column:span 3;aspect-ratio:3/4;border-radius:8px;isolation:isolate;box-shadow:0 6px 18px #0b120b20}
.public-site .gallery-item:nth-child(even){margin-top:40px}
.public-site .gallery-item[data-type=video]{grid-column:span 4;aspect-ratio:4/3;margin-top:0}
.public-site .gallery-item img,.public-site .gallery-item video{filter:none;transition:transform 1s var(--motion-ease),filter .5s}
.public-site .gallery-item:hover img,.public-site .gallery-item:hover video{transform:scale(1.07)}
.public-site .gallery-caption{transition:transform .5s var(--motion-ease)}
.public-site .gallery-item:hover .gallery-caption{transform:translateY(-5px)}
.public-site .filters button{border-radius:30px;transition:background .25s,color .25s}
.public-site .gallery-item.filter-enter{animation:filter-in .5s var(--motion-ease) both}
.gallery-cursor{position:fixed;top:0;left:0;width:72px;height:72px;background:#f3eedddc;color:#252b22;border:1px solid #fff9;backdrop-filter:blur(5px);border-radius:50%;display:grid;place-items:center;z-index:40;pointer-events:none;font-size:10px;letter-spacing:1px;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .2s,scale .25s;scale:.7}
.gallery-cursor.is-active{opacity:1;scale:1}
.public-site .about-image{overflow:visible;isolation:isolate}
.public-site .about-image img{border-radius:160px 160px 8px 8px;filter:saturate(.8);transition:filter .8s}
.public-site .about-image:hover img{filter:saturate(1)}
.public-site .about-image:before{border-radius:160px 160px 8px 8px}
.public-site .image-tag{transform:rotate(-5deg);background:#c64c2d}
.public-site .post-image{border-radius:8px}
.public-site .post-image img{filter:saturate(.9);transition:transform .9s var(--motion-ease)}
.public-site .post-image>span{border-radius:50%;right:15px;bottom:15px;transition:transform .4s,background .4s}
.public-site .post:hover .post-image>span{transform:rotate(45deg);background:#d8e5c4}
.public-site .booking{position:relative;overflow:hidden;border-radius:30px 30px 0 0;isolation:isolate}
.public-site .booking:before{content:'✳';position:absolute;left:-50px;bottom:-130px;font-size:420px;line-height:1;color:#424f34;opacity:.35;z-index:-1;animation:stamp-turn 80s linear infinite}
.public-site .booking-form{border-radius:12px;box-shadow:0 20px 60px #09110520}
.public-site .button{position:relative;overflow:hidden;border-radius:4px;transition:background .35s,border-color .35s,transform .4s var(--motion-ease);will-change:transform}
.public-site .button span{transition:transform .4s var(--motion-ease)}
.public-site .button:hover span{transform:translate(3px,-3px)}
.public-site .booking-form .button{background:#c64c2d;border-color:#c64c2d}
.public-site .booking-form .button:hover{background:#252b22;border-color:#252b22}
.public-site input,.public-site select,.public-site textarea{transition:border-color .25s,box-shadow .25s}
.public-site input:focus,.public-site select:focus,.public-site textarea:focus{box-shadow:0 0 0 3px #c64c2d10}
.motion-toggle{position:fixed;right:23px;bottom:21px;z-index:35;background:#f3efe5ee;color:#424d36;backdrop-filter:blur(12px);border:1px solid #a3ad9655;border-radius:25px;padding:9px 13px;display:flex;align-items:center;gap:8px;box-shadow:0 3px 15px #1c271312;font-size:9px;letter-spacing:.2px}
.motion-toggle>span{font-size:12px;color:#c64c2d}.motion-toggle:hover{background:#fff9ef}
.public-site .footer-wordmark{transition:color .5s}.public-site .footer-wordmark:hover{color:#c64c2d}
.public-site dialog[open]{animation:dialog-in .3s var(--motion-ease)}
.public-site dialog::backdrop{backdrop-filter:blur(10px)}
.public-site.motion-paused *, .public-site.motion-paused *:before,.public-site.motion-paused *:after{animation-play-state:paused!important}
.public-site.motion-paused .reveal-ready{opacity:1;transform:none;transition:none}
.public-site.motion-paused .hero h1 em:after{transform:scaleX(1)}
.public-site.motion-paused .gallery-cursor{display:none}
@keyframes stamp-turn{to{transform:rotate(360deg)}}
@keyframes marquee-travel{to{transform:translateX(-50%)}}
@keyframes ink-line{to{transform:scaleX(1)}}
@keyframes filter-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:761px) and (hover:hover){.public-site .hero-art:hover .hero-photo{transform:rotate(-1deg)}}
@media(max-width:1050px){.public-site .hero-art{min-height:580px;padding-bottom:90px}.public-site .hero-photo{height:470px}.public-site .detail-shot{width:115px;bottom:100px}.public-site .detail-shot img{height:120px}.film-controls{left:61px;bottom:130px}.reel-tabs{left:38px;gap:3px}.reel-tab{gap:6px;padding-right:5px}.reel-tab img{width:26px;height:37px}.reel-tab>span{font-size:7px}.reel-tab b{font-size:9px}.public-site .gallery{gap:18px}.public-site .gallery-item{grid-column:span 6}.public-site .gallery-item[data-type=video]{grid-column:span 4}}
@media(max-width:760px){.public-site header.header{position:sticky;height:74px}.public-site .header nav{top:73px;box-shadow:0 15px 20px #252b2210;animation:dialog-in .3s var(--motion-ease)}.public-site .hero{padding-top:28px;padding-bottom:28px}.public-site .hero-art{height:500px;min-height:0;margin-top:30px;padding-bottom:80px;padding-right:15px}.public-site .hero-photo{height:400px;border-radius:140px 140px 8px 8px;transform:none}.public-site .hero-photo>img{min-height:0!important}.public-site .hero h1 em:after{height:4px;bottom:-6px}.public-site .photo-label{left:20px;bottom:22px;right:18px}.public-site .photo-label strong{font-size:24px;max-width:190px}.public-site .photo-label>span{font-size:7px}.public-site .detail-shot{width:96px;right:-2px;bottom:85px}.public-site .detail-shot img{height:95px}.public-site .detail-shot>span{font-size:4.5px}.public-site .craft-stamp{right:0;top:15px;width:77px;height:77px}.film-controls{left:18px;bottom:172px}.film-pause{width:32px;height:32px;font-size:11px}.reel-tabs{left:0;right:0;bottom:12px;gap:5px}.reel-tab{padding:5px;gap:6px}.reel-tab img{width:30px;height:40px}.reel-tab b{font-size:9px}.reel-tab>span{font-size:6px}.public-site .ticker{padding:18px 0}.ticker-group{gap:28px;padding-right:28px;font-size:10px}.public-site .ticker b{font-size:17px}.public-site .gallery{gap:13px}.public-site .gallery-item{grid-column:span 6;border-radius:5px}.public-site .gallery-item:nth-child(even){margin-top:20px}.public-site .gallery-item[data-type=video]{grid-column:span 6;aspect-ratio:3/4}.public-site .gallery-item[data-type=video]:nth-child(even){margin-top:20px}.public-site .work,.public-site .booking{border-radius:22px 22px 0 0}.public-site .work .section-heading{align-items:start}.public-site .about-image img,.public-site .about-image:before{border-radius:120px 120px 5px 5px}.public-site .booking-form{border-radius:9px}.motion-toggle{right:12px;bottom:12px;padding:8px 11px;font-size:8px}.public-site footer{padding-bottom:70px}.gallery-cursor{display:none}.reveal-ready{transform:translateY(20px);transition-duration:.65s}}
@media(prefers-reduced-motion:reduce){.public-site .reveal-ready{opacity:1;transform:none;transition:none}.public-site .hero h1 em:after{transform:scaleX(1)}.public-site .gallery-cursor{display:none}.public-site *,.public-site *:before,.public-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.off-screen .ticker-track,.off-screen .craft-stamp b{animation-play-state:paused}.film-controls[hidden],.reel-tabs[hidden],.motion-toggle[hidden]{display:none!important}.motion-paused .hero-photo{transform:none!important}.motion-paused .button:hover{transform:none!important}.motion-paused .service:hover .arrow{transform:none}.motion-paused .gallery-item:hover img,.motion-paused .gallery-item:hover video{transform:none}
.film-controls{bottom:200px}@media(max-width:1050px){.film-controls{bottom:200px}}@media(max-width:760px){.film-controls{bottom:200px}}
@media(max-width:760px){.film-pause{width:44px;height:44px;font-size:13px}.reel-tab{min-height:50px}}
.film-controls{top:55%;bottom:auto!important}@media(min-width:761px) and (max-width:1100px){.public-site .detail-shot{display:none}}
.public-site.motion-paused *,.public-site.motion-paused *:before,.public-site.motion-paused *:after{transition:none!important}
