/* Warm light, floating photographic prints and quiet cinematic motion. */
:root{--scene-x:50%;--scene-y:40%}
body{background:#f6f0e9;isolation:isolate}
.ambient-scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 9% 22%,#e9c7b15c,transparent 48%),radial-gradient(ellipse at 90% 74%,#d9c0ae55,transparent 45%),#f6f0e9}
.ambient-scene:before,.ambient-scene:after{content:'';position:absolute;width:80vw;height:80vh;border-radius:50%;background:radial-gradient(ellipse,#edbe9652,transparent 67%);animation:light-drift 22s ease-in-out infinite alternate;opacity:.6}
.ambient-scene:before{left:-30%;top:-20%}.ambient-scene:after{right:-35%;bottom:-20%;animation-delay:-12s;background:radial-gradient(ellipse,#c6b4d52b,transparent 68%)}
.site-header{max-width:none;background:#302522;color:#fff4e8;border-color:#ffffff20;padding-inline:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)))}
.site-header .header-call{border-color:#d1b29e75}.site-header .wordmark-dot{color:#dbb596}.site-header .menu-toggle span{background:#fff4e8}.site-header .desktop-nav a:after{background:#e0b692}
.hero{width:100%;max-width:none;padding-inline:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));background:#302522;color:#fff4e8;isolation:isolate;overflow:hidden;gap:5%;grid-template-columns:1.08fr .92fr;padding-top:70px;padding-bottom:42px}
.hero:before{content:'';position:absolute;inset:-20%;z-index:-2;background:radial-gradient(ellipse at var(--scene-x) var(--scene-y),#9c684d70,transparent 46%),radial-gradient(ellipse at 95% 90%,#835b504a,transparent 45%);transition:background-position .3s;pointer-events:none}
.hero:after{content:'';position:absolute;z-index:-1;width:58vw;height:90%;right:-14%;top:5%;border:1px solid #ddbc9535;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 0 45px #ddbc9505,0 0 0 46px #ddbc9515,0 0 0 95px #ddbc9504,0 0 0 96px #ddbc9510;pointer-events:none}
.hero-copy{padding-top:50px;align-self:center;padding-bottom:40px}.hero .eyebrow{color:#e2c9b5}.hero h1{font-size:clamp(64px,6.6vw,104px);line-height:1.16}.hero h1 em{color:#e4b893}.hero-description{color:#f0dfd2;max-width:450px}.hero .text-link{color:#fff4e8;border-color:#c2a18b}.hero .button-dark{background:#edcfb4;color:#302522;box-shadow:0 8px 28px #100b0730}.hero .button-dark:hover{background:#fae5d1;box-shadow:0 12px 40px #edcfb42a}.hero-note p,.hero .handwritten{color:#d9bfae}.hero .fine-line{background:#d4b49c}.hero .scroll-cue{color:#dbc6b6;letter-spacing:.12em}.hero-main figcaption,.hero-side-label{color:#e8d1bf}
.hero-art{max-width:510px;width:100%;margin:auto;transform:perspective(1200px) rotateY(var(--photo-turn,0deg));transition:transform .8s ease;z-index:1}
.hero-main{padding:13px 13px 18px;background:#f2e6d9;transform:rotate(-3deg);box-shadow:0 28px 70px #10090660;max-width:410px;margin:0 auto;animation:print-float 10s ease-in-out infinite alternate}
.hero-main>img{border-radius:1px!important;height:auto;object-fit:contain}.hero-main figcaption{color:#6e5140;font-size:9px;letter-spacing:.1em;line-height:1.5;margin-top:13px}
.hero-detail{right:-5px;bottom:55px;width:34%;padding:8px;background:#fbf3e8;box-shadow:0 15px 35px #10090650;transform:rotate(9deg);animation:detail-float 12s ease-in-out infinite alternate}.hero-detail figcaption{color:#624b3e;font-size:11px}.hero-side-label{right:-16px;top:140px}
.light-motes{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.light-motes i{position:absolute;width:var(--dot-size);height:var(--dot-size);left:var(--dot-left);top:var(--dot-top);border-radius:50%;background:#ffe0b8;box-shadow:0 0 18px #f9d3a27a;opacity:.3;animation:mote-rise var(--dot-duration) ease-in-out infinite alternate;animation-delay:var(--dot-delay)}
.genre-ribbon{background:#fbf5ee;border-color:#d8c3b0;color:#75513e;position:relative;box-shadow:0 10px 35px #70513808}.genre-ribbon i{color:#b89a83}
.about{background:#ecdfd250;position:relative;border-block:1px solid #cbb59e35}.about-portrait{padding:15px 15px 32px;background:#fffaf4;box-shadow:0 20px 65px #52362114;transform:rotate(-1.6deg)}.portrait-caption{left:15px;bottom:9px;font-size:9px}.portrait-signature{right:25px}.about-copy{padding-block:20px}
.gallery-link{background:transparent;box-shadow:0 10px 30px #5033220d}.gallery-card{transition:transform .5s,opacity .5s}.gallery-card:hover{transform:translateY(-5px)}.gallery-link:after{content:'';position:absolute;inset:0;border:1px solid #ffffff25;pointer-events:none}.gallery-card:nth-child(n) img{height:auto;object-fit:contain}
.reviews{background:#ede2d675;border-block:1px solid #cbb59e35}.review-card{background:#fffaf5d9;box-shadow:0 14px 50px #51361c08;border-color:#dfcdbd}.quote-mark{color:#ac795b}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#302522}.contact:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 88% 38%,#9a6c494d,transparent 60%);pointer-events:none}.contact .eyebrow{color:#e8c9af}.contact h2 em{color:#e5bda0}
.button{position:relative;overflow:hidden;border-radius:3px}.button:after{content:'';position:absolute;top:-90%;left:-45%;height:280%;width:25%;background:#ffffff25;transform:rotate(22deg) translateX(-250%);pointer-events:none}.button:hover:after{transform:rotate(22deg) translateX(800%);transition:transform .8s ease}
.atmosphere-toggle{position:fixed;bottom:20px;left:20px;z-index:35;display:flex;align-items:center;gap:9px;border:1px solid #cbb59d;background:#fff8eee8;color:#584436;border-radius:30px;padding:10px 15px;font:500 12px/1.4 var(--sans);box-shadow:0 3px 20px #3924180a}.atmosphere-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}.modal-open .atmosphere-toggle,.offer-open .atmosphere-toggle,.menu-open .atmosphere-toggle{visibility:hidden}
.motion .reveal{transition-duration:1s}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(var(--read-progress,0));transform-origin:left;background:#cca076;z-index:100;pointer-events:none}
.atmosphere-paused .ambient-scene:before,.atmosphere-paused .ambient-scene:after,.atmosphere-paused .hero-main,.atmosphere-paused .hero-detail,.atmosphere-paused .light-motes i{animation-play-state:paused}.atmosphere-paused .hero-art{transform:none}.atmosphere-paused .reveal{transition:none!important;opacity:1!important;transform:none!important}.atmosphere-paused{scroll-behavior:auto}.page-hidden *, .page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}
@keyframes light-drift{to{transform:translate(18%,14%) scale(1.18)}}
@keyframes print-float{to{transform:translateY(-10px) rotate(-1deg)}}
@keyframes detail-float{to{transform:translateY(7px) rotate(6deg)}}
@keyframes mote-rise{0%{transform:translate(0,25px);opacity:.12}55%{opacity:.45}100%{transform:translate(22px,-50px);opacity:.18}}
@media(max-width:1100px){.hero{gap:4%;padding-top:45px}.hero-copy{padding-top:20px}.hero h1{font-size:68px}.hero-main{max-width:350px}.hero-detail{right:0}.hero-actions{align-items:flex-start}.hero-art{padding-right:12px}}
@media(max-width:800px){.hero h1{font-size:54px}.hero-copy{padding-bottom:10px}.hero .eyebrow{font-size:10px}.hero-main{padding:10px 10px 14px}.hero-detail figcaption{font-size:9px}.hero-detail{bottom:35px}.hero-description{font-size:16px}.hero:after{right:-22%;width:75vw}}
@media(max-width:700px){.hero{grid-template-columns:1fr;padding-top:36px;gap:35px;padding-bottom:28px}.hero-copy{padding:0}.hero h1{font-size:clamp(48px,12vw,74px);margin-bottom:24px}.hero-art{max-width:360px;padding:0 20px 24px 10px;transform:none!important}.hero-main{max-width:290px;animation:none;transform:rotate(-2deg)}.hero-detail{width:32%;right:0;bottom:35px;animation:none}.hero-side-label{right:0;font-size:8px}.hero:after{width:130vw;top:35%;height:60%}.hero .scroll-cue{margin-top:0;font-size:8px}.light-motes i:nth-child(n+9){display:none}.ambient-scene:after{display:none}.atmosphere-toggle{bottom:20px;left:14px;padding:10px;width:36px;height:36px;justify-content:center}.atmosphere-toggle span{display:none}.about-portrait{transform:rotate(-1deg);padding:10px 10px 30px}.portrait-caption{left:10px;font-size:8px}.hero-main figcaption{font-size:8px}.gallery-card:hover{transform:none}.button:after{display:none}.hero .hero-actions{gap:18px}.hero .hero-actions .text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ambient-scene:before,.ambient-scene:after,.hero-main,.hero-detail,.light-motes i{animation:none!important}.hero-art{transform:none!important}.atmosphere-toggle{display:none}.gallery-card{transition:none}.hero:before{transition:none}}
@media(max-width:380px){.site-header .header-call span{display:none}.site-header .header-call{width:40px;height:40px;justify-content:center;padding:10px;flex-shrink:0}.site-header .menu-toggle{flex-shrink:0}.site-header .wordmark small{font-size:9px;letter-spacing:.2em}.interlude-quote{font-size:48px}}

/* A closing scene that echoes the opening photographic prints. */
.contact{padding-top:105px;border-top:1px solid #bc957c55}.contact:before{inset:-10%;background:radial-gradient(ellipse at 74% 40%,#b47a505e,transparent 55%),radial-gradient(ellipse at 8% 90%,#744b393d,transparent 55%);animation:closing-light 18s ease-in-out infinite alternate}.contact:after{content:'';position:absolute;z-index:-1;pointer-events:none;right:-10%;top:0;width:65%;height:85%;border:1px solid #ddb98e38;border-radius:50%;transform:rotate(-28deg);box-shadow:0 0 0 40px #ddbc9505,0 0 0 41px #ddbc951c,0 0 0 86px #ddbc9504,0 0 0 87px #ddbc9512}.contact-layout{position:relative;align-items:center;gap:8%;padding-bottom:100px}.contact-copy{position:relative;z-index:1}.contact-copy>p:not(.eyebrow){color:#efdfd1}.contact .button-cream{background:#edcfb4;color:#302522;box-shadow:0 8px 28px #100b0730}.contact .button-cream:hover{background:#fae5d1}.contact .light-link{border-color:#c2a18b}.contact-details{color:#f0ddcd}.contact-side{max-width:380px;width:100%;padding:0 15px 48px 20px;z-index:1}.contact-photo{padding:12px 12px 32px;background:#f4e8db;box-shadow:0 24px 65px #10090665;filter:none;transform:rotate(4deg);animation:closing-print 11s ease-in-out infinite alternate}.contact .qr-card{left:-18px;bottom:0;padding:14px;background:#fff7ec;box-shadow:0 14px 36px #10090655;transform:rotate(-5deg);border:1px solid #e7d5c2}.contact .qr-card>span{font-size:22px}.contact .qr-card small{font-size:10px}.site-footer{position:relative;border-color:#d7b59640;background:#221b171a;min-height:145px}.site-footer .wordmark{color:#fff0df}.site-footer p{color:#dfc6b2}.site-footer>a:not(.wordmark){color:#f2dac4}.back-top{border-color:#c4a185;background:#edd1b70b;transition:background .3s,transform .3s}.back-top:hover{background:#edd1b724;transform:translateY(-3px)}.atmosphere-paused .contact:before,.atmosphere-paused .contact-photo{animation-play-state:paused}
@keyframes closing-light{to{transform:translate(-3%,4%);opacity:.7}}@keyframes closing-print{to{transform:translateY(-8px) rotate(2deg)}}
@media(max-width:800px){.contact-layout{gap:5%}.contact-side{padding-left:10px}.contact .qr-card{left:-10px;padding:10px}.contact .qr-card>span{font-size:19px}}
@media(max-width:700px){.contact{padding-top:65px}.contact-layout{gap:55px;padding-bottom:65px}.contact-side{max-width:310px;padding:0 20px 40px}.contact-photo{padding:10px 10px 25px;animation:none;transform:rotate(3deg)}.contact .qr-card{left:0;padding:11px;gap:10px}.contact .qr-card>span{font-size:20px}.contact .qr-card small{font-size:9px}.contact:after{width:130%;height:48%;top:40%;right:-30%}.contact:before{animation:none}.site-footer{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){.contact:before,.contact-photo{animation:none!important}}

/* Daylight variation of the opening and closing scenes. */
body{background:#eee0d1}.ambient-scene{background:radial-gradient(ellipse at 12% 20%,#fff7ebbb,transparent 52%),radial-gradient(ellipse at 88% 70%,#c8956a30,transparent 55%),#eee0d1}.ambient-scene:before{left:-38%;top:-25%;width:120vw;height:120vh;border:1px solid #ab795633;background:radial-gradient(ellipse,#f8d9b64a,transparent 66%);box-shadow:0 0 0 55px #bd916b07,0 0 0 56px #ae7c5420,0 0 0 115px #bd916b05,0 0 0 116px #ae7c5418;opacity:.8;transform:rotate(-24deg)}.ambient-scene:after{right:-55%;bottom:-35%;width:105vw;height:105vh;border:1px solid #ae7c5425;background:radial-gradient(ellipse,#fff6e687,transparent 68%);box-shadow:0 0 0 70px #bd916b05,0 0 0 71px #ae7c5418;opacity:.7}.about{background:#e4ccb450;border-color:#b48a6335}.reviews{background:#e9d4bd65;border-color:#b48a6335}.genre-ribbon{background:#f5e7d8;border-color:#c7a17d55}.review-card{background:#fff8efdf;border-color:#c8a98d75}.gallery-toolbar,.session-item,.faq-list details,.faq-list details:last-child{border-color:#b99a7c66}.gallery-link{box-shadow:0 12px 34px #68432316}.section-intro,.about-copy>p,.session-body p,.process-grid p,.faq-list details p{color:#51443c}.about-copy .eyebrow{color:#72513b}
@media(max-width:700px){.ambient-scene:before{width:180vw;height:110vh;left:-80%;top:2%;box-shadow:0 0 0 38px #bd916b06,0 0 0 39px #ae7c5420,0 0 0 80px #bd916b04,0 0 0 81px #ae7c5418}.ambient-scene:after{display:none}}
