@font-face{font-family:DM;src:url('/assets/fonts/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--butter:#f7f0cb;--plum:#000000;--lime:#d5df30;--lilac:#c69acb;--olive:#243125;--header:86px}
*{box-sizing:border-box}body{margin:0;background:var(--butter);color:var(--plum);font:14px/1.6 DM,Arial,sans-serif}h1,h2,p{margin:0}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-100px;left:16px;padding:12px 18px;background:var(--butter)}.skip-link:focus{top:12px}.studio-header{height:var(--header);padding:8px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--butter);position:relative;z-index:10}.studio-logo{display:block;width:110px;height:70px;flex:none}.curly-mark{display:block;width:100%;height:100%;overflow:hidden}.desktop-navigation{display:flex;gap:30px;align-items:center}.desktop-navigation a{text-decoration:none;font-size:13px;padding:12px 0}.desktop-navigation a:hover{text-decoration:underline}.mobile-navigation{display:none}.hero{height:calc(100svh - var(--header));min-height:580px;position:relative;overflow:hidden}.glass-canvas,.glass-wash,.photograph-background,.photo-shade,.floral-contours{position:absolute;inset:0;width:100%;height:100%}.glass-hero{display:grid;place-items:center;padding-bottom:64px;background:#917768}.glass-canvas{background:url('/assets/gallery/pink-orchids-960.jpg') center 34%/cover no-repeat}.glass-wash{background:rgba(0,0,0,.15);pointer-events:none}.flower-poster{position:relative;z-index:2;isolation:isolate;width:370px;height:515px;background:var(--lime);color:var(--plum);transform:rotate(-3deg);padding:23px 30px 22px;display:flex;flex-direction:column;box-shadow:8px 12px 0 rgba(0,0,0,.10)}.paper-grain{position:absolute;inset:0;z-index:-1;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}.poster-note{font-size:10px;letter-spacing:.01em;max-width:160px}.poster-brand{height:210px;margin:4px -7px -12px;flex:none}.orchid-aperture{display:block;width:100%;height:190px;flex:none;margin-top:-5px}.poster-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-top:auto;font-size:11px;line-height:1.45}.poster-bottom a{text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0;font-size:11px}.side-note{position:absolute;left:45px;top:42%;max-width:210px;z-index:3;color:var(--butter);font-size:18px;line-height:1.6}.side-note p{margin-bottom:22px}.side-note a{font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;padding:8px 0}.location-note{position:absolute;right:37px;bottom:28px;z-index:3;text-align:right;color:var(--butter);font-size:11px;line-height:1.7}.direction-switcher{position:fixed;z-index:30;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:var(--butter);color:var(--plum);border:1px solid rgba(0,0,0,.25);padding:6px;box-shadow:0 4px 20px rgba(0,0,0,.13);max-width:calc(100% - 28px)}.direction-switcher nav{display:flex;gap:4px}.direction-switcher a,.motion-control{font-size:11px;line-height:1.4;white-space:nowrap;padding:10px 15px;text-decoration:none}.direction-switcher a[aria-current]{background:var(--plum);color:var(--butter)}.direction-switcher a:hover{background:#e9e1bc}.direction-switcher a[aria-current]:hover{background:var(--plum)}.motion-control{background:none;color:inherit;border:0;border-left:1px solid #cabe9d;padding-inline:13px;min-height:36px}.photograph-hero{background:var(--olive);color:var(--butter)}.photograph-background{background:url('/assets/gallery/pink-orchids-960.jpg') 60% 29%/cover no-repeat;filter:saturate(.98);transform:scale(1.025)}.photo-shade{background:linear-gradient(90deg,rgba(27,38,26,.69),rgba(27,38,26,.12) 66%,rgba(27,38,26,.06));pointer-events:none}.photograph-copy{position:relative;z-index:3;margin-left:47px;padding-top:25px;width:min(47vw,600px)}.photograph-copy :is(h1,h2){width:100%;height:360px;margin-left:-10px}.photograph-copy>p{font-size:16px;line-height:1.65;margin-top:3px;max-width:330px}.photo-contact{display:inline-flex;margin-top:25px;border:1px solid var(--butter);padding:10px 24px;min-height:44px;font-size:13px;text-decoration:none;background:rgba(29,35,22,.15)}.photo-contact:hover{background:var(--butter);color:var(--plum)}.floral-contours{z-index:2;color:#e4f250;pointer-events:none}.drawn-lines path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.little-notes{font:italic 13px DM,Arial,sans-serif}.photograph-location{position:absolute;z-index:3;right:36px;bottom:27px;text-align:right;font-size:11px;line-height:1.7}.motion-on .drawn-lines path{animation:trace-flower 5s cubic-bezier(.24,.5,.2,1) both}.motion-on .drawn-lines path:nth-child(2){animation-delay:.3s}.motion-on .drawn-lines path:nth-child(3){animation-delay:.5s}.motion-on .drawn-lines path:nth-child(4){animation-delay:.7s}.motion-on .photograph-background{animation:photo-breathe 20s ease-in-out infinite alternate}.motion-paused .photograph-background,.motion-paused .drawn-lines path{animation-play-state:paused}@keyframes trace-flower{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes photo-breathe{from{transform:scale(1.025) translateX(0)}to{transform:scale(1.045) translateX(-5px)}}
@media(min-width:1600px){.flower-poster{width:440px;height:595px;padding:28px 35px}.poster-brand{height:255px}.orchid-aperture{height:212px}.photograph-copy{padding-top:50px}.photograph-copy :is(h1,h2){height:440px}.photograph-copy>p{font-size:18px}}
@media(max-width:1000px){.studio-header{padding-inline:27px}.desktop-navigation{gap:24px}.side-note{left:28px;max-width:155px;font-size:15px}.flower-poster{width:340px;height:485px}.poster-brand{height:194px}.orchid-aperture{height:175px}.photograph-copy{margin-left:30px;width:49vw}.photograph-copy :is(h1,h2){height:320px}.photograph-copy>p{font-size:15px}.photograph-location,.location-note{right:28px;font-size:10px}.little-notes{font-size:12px}}
@media(max-width:700px){:root{--header:76px}.studio-header{padding:7px 20px}.studio-logo{width:94px;height:62px}.desktop-navigation{display:none}.mobile-navigation{display:block}.mobile-navigation summary{cursor:pointer;list-style:none;display:flex;align-items:center;min-height:44px;padding:8px 0 8px 12px;font-size:13px}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation summary::after{content:'+';font-size:19px;margin-left:9px}.mobile-navigation[open] summary::after{content:'−'}.mobile-navigation nav{position:absolute;top:68px;right:14px;left:14px;display:flex;flex-direction:column;gap:3px;padding:14px 18px;background:var(--butter);color:var(--plum);border:1px solid #cabe9d}.mobile-navigation nav a{padding:10px 0;text-decoration:none;font-size:15px}.hero{min-height:650px;height:calc(100svh - var(--header))}.flower-poster{width:290px;height:445px;padding:20px 24px;transform:rotate(-3deg) translateY(-37px)}.poster-brand{height:174px;margin-top:7px}.orchid-aperture{height:168px}.poster-note{font-size:9px}.poster-bottom,.poster-bottom a{font-size:10px}.side-note{top:auto;bottom:87px;left:23px;font-size:12px;max-width:185px;line-height:1.5}.side-note p{margin-bottom:0}.side-note p br{display:none}.side-note a{display:none}.location-note{bottom:88px;right:22px;font-size:9px;max-width:135px}.direction-switcher{bottom:13px;gap:3px;padding:5px}.direction-switcher a{font-size:10px;padding:10px 11px}.motion-control{font-size:10px;padding:9px;min-height:34px}.photograph-copy{margin-left:20px;padding-top:25px;width:calc(100% - 40px)}.photograph-copy :is(h1,h2){width:300px;height:221px;margin-left:-5px}.photograph-copy>p{font-size:14px;max-width:240px;margin-top:17px}.photo-contact{font-size:12px;margin-top:20px;padding:10px 19px}.photograph-background{background-position:63% 28%;background-size:auto 125%}.photo-shade{background:linear-gradient(90deg,rgba(27,38,26,.57),rgba(27,38,26,.1))}.floral-contours{width:180%;max-width:none;left:-55%;height:100%;opacity:.95}.photograph-location{bottom:89px;right:22px;font-size:10px;max-width:220px}.little-notes{display:none}}
@media(max-width:360px){.flower-poster{width:263px;height:425px;padding:20px 22px}.poster-brand{height:157px}.orchid-aperture{height:161px}.direction-switcher a{padding:10px 8px;font-size:9px}.motion-control{padding-inline:7px;font-size:9px}.photograph-copy :is(h1,h2){width:270px;height:208px}.side-note{max-width:150px;font-size:11px}.location-note{max-width:115px}}
@media(prefers-reduced-motion:reduce){.photograph-background,.drawn-lines path{animation:none!important}.drawn-lines path{stroke-dashoffset:0!important}}

/* The chosen welcome screen: smooth flowers, Curly brand, and hand-drawn Enter. */
.welcome-screen{background:#b8937c;color:var(--plum)}
.welcome-stage{position:relative;min-height:620px;height:100svh;display:grid;place-items:center;overflow:hidden;padding:35px 24px 55px}
.welcome-background,.welcome-wash{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.welcome-background{background:url('/assets/gallery/pink-orchids-960.jpg') center 31%/cover no-repeat;transform:scale(1.025)}
.welcome-wash{background:rgba(0,0,0,.12)}
.welcome-poster{position:relative;z-index:2;isolation:isolate;width:370px;max-width:calc(100vw - 64px);padding:23px 28px 18px;background:var(--lime);transform:rotate(-3deg);box-shadow:8px 12px 0 rgba(0,0,0,.08)}
.welcome-kicker{font-size:10px;line-height:1.5;margin-bottom:8px}
.welcome-brand{height:205px;margin:0 -5px -7px}
.welcome-orchid{display:block;width:100%;height:157px}
.enter-link{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:88px;margin:8px auto 0;color:var(--plum);text-decoration:none}
.enter-lettering{display:block;width:252px;max-width:100%;height:94px;overflow:visible;transform:rotate(-3deg);transform-origin:center}
.enter-link:hover .enter-lettering{transform:rotate(1deg)}
.enter-link:focus-visible{outline:none}
.enter-link:focus-visible .enter-flourish{stroke-width:5}
.welcome-location{text-align:center;font-size:10px;margin-top:0;line-height:1.5}
.welcome-motion,.site-motion{position:fixed;z-index:10;right:23px;bottom:18px;color:var(--plum);background:var(--butter);border:1px solid rgba(0,0,0,.3);font-size:11px;min-height:38px;padding:9px 13px}
.site-motion{left:23px;right:auto}
.main-site .photograph-location{bottom:24px}
.motion-on .welcome-background{animation:welcome-drift 22s ease-in-out infinite alternate}
.motion-paused .welcome-background{animation-play-state:paused}
@keyframes welcome-drift{from{transform:scale(1.025) translateX(0)}to{transform:scale(1.045) translateX(-5px)}}
@media(max-width:700px){.welcome-stage{padding:28px 22px 63px;min-height:620px}.welcome-poster{width:330px;padding:22px 23px 18px;max-width:calc(100vw - 62px)}.welcome-brand{height:188px;margin-bottom:-7px}.welcome-orchid{height:142px}.enter-link{margin-top:5px;min-height:84px}.enter-lettering{width:240px;height:89px}.welcome-background{background-position:62% 30%;background-size:auto 115%}.welcome-motion,.site-motion{bottom:15px;right:17px;font-size:10px;min-height:36px}.site-motion{right:auto;left:17px}.main-site .photograph-location{bottom:66px}}
@media(max-width:360px){.welcome-poster{padding:19px 20px 16px;max-width:calc(100vw - 54px)}.welcome-brand{height:168px}.welcome-orchid{height:132px}.enter-lettering{width:222px;height:83px}.welcome-kicker,.welcome-location{font-size:9px}}
@media(prefers-reduced-motion:reduce){.welcome-background{animation:none!important}.enter-link:hover .enter-lettering{transform:rotate(-3deg)}}

/* The entrance orchid is an illustration, with automatic, continuous motion. */
.welcome-poster{padding-top:18px}
.welcome-brand{margin-top:0}
.welcome-background,.photograph-background{display:block;background:none}
.welcome-background img,.photograph-background img{display:block;width:100%;height:100%;object-fit:cover}
.welcome-background img{object-position:center 31%}
.photograph-background img{object-position:60% 29%}
.welcome-orchid-art{display:block;position:relative;width:100%;height:170px;margin:0 auto;padding:0;border:0;background:none;color:var(--plum);pointer-events:none;-webkit-tap-highlight-color:transparent}
.orchid-tilt{display:block;width:100%;height:100%;transform:none}
.orchid-drawing{display:block;width:100%;height:100%;overflow:visible}
.orchid-bloom{transform-box:fill-box;transform-origin:50% 60%}
.orchid-vein{stroke-width:1.05;opacity:.63}
.orchid-petal,.orchid-sepal,.orchid-lip{transform-box:view-box;transform-origin:210px 140px}
.motion-on .orchid-bloom{animation:orchid-sway 4.8s ease-in-out infinite alternate}
.motion-on .orchid-petal-left{animation:orchid-petal-left 4.2s ease-in-out infinite alternate}
.motion-on .orchid-petal-right{animation:orchid-petal-right 4.7s ease-in-out infinite alternate}
.motion-on .orchid-lip{animation:orchid-lip 4s ease-in-out infinite alternate}
.motion-paused .orchid-bloom,.motion-paused .orchid-petal,.motion-paused .orchid-lip,.motion-paused .orchid-drawing{animation-play-state:paused}
.motion-paused .orchid-tilt{transform:none;transition:none}
@keyframes orchid-sway{from{transform:rotate(-4deg) translateY(2px)}to{transform:rotate(4deg) translateY(-3px)}}
@keyframes orchid-petal-left{from{transform:rotate(-1deg)}to{transform:rotate(4deg)}}
@keyframes orchid-petal-right{from{transform:rotate(1deg)}to{transform:rotate(-4deg)}}
@keyframes orchid-lip{from{transform:scaleY(.99) rotate(-.6deg)}to{transform:scaleY(1.02) rotate(.6deg)}}
@media(max-width:700px){.welcome-poster{padding-top:16px}.welcome-orchid-art{height:155px}.welcome-background img{object-position:62% 30%;transform:scale(1.15)}.photograph-background img{object-position:63% 28%;transform:scale(1.25)}}
@media(max-width:360px){.welcome-orchid-art{height:142px}}
@media(prefers-reduced-motion:reduce){.orchid-bloom,.orchid-petal,.orchid-lip,.orchid-drawing{animation:none!important}.orchid-tilt{transform:none;transition:none}}

/* The entrance leads naturally into the home content; it never traps scrolling. */
html{scroll-behavior:smooth}
.home-destination{scroll-margin-top:0}
.home-destination:focus{outline:none}
.welcome-scroll{position:absolute;left:24px;bottom:22px;z-index:3;display:flex;align-items:center;gap:12px;min-height:44px;color:var(--plum);font-size:12px;text-decoration:none;padding:8px 12px;background:var(--butter)}
.welcome-scroll span{font-size:21px;line-height:1}
.welcome-scroll:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.welcome-scroll{left:17px;bottom:15px;font-size:11px;gap:9px;padding:6px 10px;min-height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Welcome floats over the home page; dismiss it to reveal the same photo. */
body.welcome-open{overflow:hidden}
.welcome-dialog{border:0;padding:22px;background:transparent;color:var(--plum);width:min(430px,calc(100vw - 16px));max-width:none;max-height:calc(100dvh - 16px);margin:auto;overflow:auto;overscroll-behavior:contain}
.welcome-dialog::backdrop{background:transparent;backdrop-filter:none}
.welcome-dialog-content{position:relative;padding:12px 0 0}
.welcome-dialog .welcome-poster{width:100%;max-width:none;margin:0}
.welcome-dialog .enter-link{border:0;padding:0;background:none;cursor:pointer}
.welcome-dialog .welcome-motion{position:static;display:block;margin:22px auto 0;min-height:44px;padding:9px 16px}
.welcome-close{position:absolute;z-index:5;right:-10px;top:-9px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #00000040;border-radius:50%;background:var(--butter);color:var(--plum);font:28px/1 Arial,sans-serif;cursor:pointer}
.welcome-open .photograph-copy{display:none}
.photograph-background{filter:none}
main:focus{outline:none}
@media(max-width:700px){.welcome-dialog{padding:20px;width:min(382px,calc(100vw - 12px));max-height:calc(100dvh - 12px)}.welcome-dialog-content{padding-top:10px}.welcome-close{right:-8px;top:-10px}.welcome-dialog .welcome-brand{height:180px}.welcome-dialog .welcome-orchid-art{height:145px}.welcome-dialog .welcome-motion{margin-top:18px}}
@media(max-width:360px){.welcome-dialog .welcome-brand{height:158px}.welcome-dialog .welcome-orchid-art{height:130px}.welcome-dialog .enter-lettering{width:222px;height:83px}}
