/* The photographer's supplied signature leads the page. */
:root{--paper:#f6f4ef;--accent:#d5c1a9}
.brand .brand-artwork{display:block;width:300px;letter-spacing:0}
.brand-artwork img{width:100%;height:auto}
.site-masthead{display:flex;justify-content:center;padding:42px 5% 32px}
.site-masthead .brand-artwork{width:clamp(440px,48vw,740px)}
.site-header--signature{position:sticky;top:0;height:auto;min-height:64px;flex-direction:column;justify-content:center;padding:0 5%;border:0;gap:0}
.site-header--signature nav{width:100%;justify-content:center;gap:clamp(24px,3vw,55px);padding:21px 0;border-top:1px solid var(--line)}
.site-header--signature nav>a{font-size:13px;letter-spacing:.35px}
.hero{grid-template-columns:1fr 1fr;height:clamp(610px,73svh,820px);min-height:0;margin:0 24px}
.hero-gallery{background:var(--dark)}
.hero-gallery:after{content:none}
.hero-text{padding:65px 10%;width:100%}
.hero .eyebrow{font-size:10px;letter-spacing:2.8px;color:#bcb8ac;margin-bottom:38px}
.hero h1{font-size:clamp(42px,4.15vw,72px);line-height:1.1;letter-spacing:-1.3px;white-space:normal;max-width:700px}
.hero h1 em{display:inline;color:var(--accent)}
.hero-author{font-family:var(--serif);font-size:25px;font-style:italic;margin-top:24px;color:#c4bcae}
.hero-link{padding:10px 0;min-height:0;margin-top:36px;font-size:12px;letter-spacing:.7px;border-bottom:1px solid #8b8578;gap:38px}
.hero-link:hover{color:var(--accent);transform:none}
.scroll-cue{left:17px;bottom:24px;font-size:9px}
.photo-caption{font-size:10px;letter-spacing:3px}
.intro-strip{padding:27px 6%}
.intro-strip p{font-size:22px;color:var(--muted)}
.intro-strip>span{font-size:10px;letter-spacing:2px}
.about{padding-top:145px;padding-bottom:145px}
.about .eyebrow,.section-heading .eyebrow{font-size:11px;letter-spacing:2.8px}
.about-copy{max-width:590px}
.portfolio-section{background:#eeece6}
.portrait .portrait-label{background:#eeece6;font-size:10px;letter-spacing:1.8px;padding-top:18px}
.portfolio-grid{gap:65px 45px}
.testimonials{background:#e5e3da;padding-top:100px;padding-bottom:100px}
.price-card{padding-top:42px;padding-bottom:42px;position:relative;background:var(--paper)}
.price-card:nth-child(2),.all-prices .price-gold{background:#e5e3da}
.all-prices .price-silver{background:var(--paper)}
.all-prices .price-diamond{background:#262924;color:var(--paper)}
.all-prices .price-diamond>*{border-color:#4b4e45}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .price-card,body.motion-ready .price-card.reveal{transition:opacity 1.15s ease var(--reveal-delay,0ms),transform 1.15s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),scale .35s ease,box-shadow .35s ease}
 .price-card:hover,.price-card:focus-within{scale:1.025;z-index:1;box-shadow:0 14px 32px #20211e24}
}
.news{padding-top:105px;padding-bottom:105px}
.news .social-links>a{min-width:145px;font-size:16px}
.footer-brand .brand-artwork{width:330px}
@media(min-width:1600px){.hero{margin:0 auto;max-width:1800px}}
@media(max-width:1100px){
 .site-masthead{padding:30px 5% 22px}
 .site-masthead .brand-artwork{width:min(620px,78vw)}
 .site-header--signature{min-height:60px}
 .site-header--signature .menu-toggle{padding:10px 0}
 .site-header--signature nav{position:absolute;top:100%;padding:25px 7%;max-height:calc(100dvh - 60px);gap:17px}
 .site-header--signature nav>a{font-size:17px}
 .hero{margin:0 16px;height:640px}
 .hero-text{padding:45px 10%}
 .hero h1{font-size:clamp(39px,4.8vw,54px)}
 .hero .eyebrow{font-size:10px;letter-spacing:1.8px}
 .hero-link{gap:18px}
 .portfolio-grid{gap:40px 25px}
 .about{padding-top:90px;padding-bottom:90px}
 .legal-main{padding-top:55px}
}
@media(max-width:600px){
 .site-masthead{padding:30px 6% 24px}
 .site-masthead .brand-artwork{width:88vw}
 .site-header--signature{padding:0 6%}
 .site-header--signature .menu-toggle{font-size:12px;letter-spacing:2px;padding:10px 0}
 .hero{height:auto;margin:0 10px;flex-direction:column-reverse}
 .hero-gallery{height:clamp(380px,115vw,590px)}
 .hero-text{padding:42px 30px 46px}
 .hero .eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:25px}
 .hero h1{font-size:clamp(35px,9.4vw,52px);line-height:1.13;letter-spacing:-.8px}
 .hero h1 em{display:inline}
 .hero-author{font-size:23px;margin-top:22px}
 .hero .hero-link{font-size:12px;padding:9px 0;margin-top:28px;gap:25px}
 .photo-caption{font-size:9px}
 .intro-strip{gap:8px;padding:26px 7%}
 .intro-strip p{font-size:21px;line-height:1.4}
 .intro-strip>span{font-size:9px}
 .intro-strip>span:last-child{display:block}
 .about{padding-top:75px;padding-bottom:75px}
 .portfolio-grid{gap:30px 16px}
 .portrait .portrait-label{font-size:9px;letter-spacing:.3px}
 .testimonials{padding:70px 8%}
 .news{padding:70px 7%}
 .news .social-links{gap:22px}
 .news .social-links>a{min-width:110px;font-size:14px}
 .footer-brand .brand-artwork{width:min(270px,68vw)}
 .site-header:not(.site-header--signature){height:auto;min-height:100px;gap:15px;flex-wrap:wrap;padding:25px 6%}
 .site-header:not(.site-header--signature) .brand-artwork{width:min(300px,86vw)}
}
@media(prefers-reduced-motion:no-preference){.hero-author{animation:intro-rise .9s ease both .38s}}

/* Interior scenes retain their full frame; hover zoom is independent of reveals. */
.art-photo{height:auto;min-height:0;align-self:center;overflow:hidden}
.art-photo img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.interior-photo{min-width:0;overflow:hidden}
.interior-strip img{height:auto;aspect-ratio:4/3;object-fit:contain}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .art-photo img,.interior-photo img{transition:transform .75s cubic-bezier(.2,.65,.3,1),filter .6s ease}
 .art-photo:hover img,.interior-photo:hover img{transform:scale(1.055);filter:brightness(1.035)}
}

/* Two distinct chapters: the artist in charcoal, the experience in ivory. */
.about{max-width:none;background:#22251f;color:#f6f4ef;--muted:#c1c2b8;--line:#515449;padding-inline:max(7%,calc((100% - 1460px)/2));border-bottom:1px solid #79715f}
.about h2 em,.about .signature{color:#d5c1a9}
.about .eyebrow,.about .small-label{color:#bfb6a4}
.about-copy h3{color:#f1eee5}
.experience{background:#f6f4ef}

/* Visible, paced motion: staggered words, photograph reveals and scroll depth. */
.motion-word{display:inline-block}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:#b59a73;z-index:60;transform-origin:left;scale:var(--reading-progress,0) 1;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .motion-heading .motion-word{opacity:0;transform:translateY(32px) rotate(2deg);filter:blur(3px);transition:opacity .85s ease var(--word-delay),transform 1.15s cubic-bezier(.16,1,.3,1) var(--word-delay),filter .85s ease var(--word-delay)}
 .motion-ready .motion-heading.visible .motion-word{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}
 body.motion-ready .reveal{transform:translateY(42px);transition-duration:1.15s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
 body.motion-ready .reveal.visible{transform:translateY(0)}
 body.motion-ready .experience-photo.reveal,body.motion-ready .portrait.reveal{clip-path:inset(0 0 16% 0);transition:opacity 1.1s ease var(--reveal-delay,0ms),transform 1.25s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),clip-path 1.4s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),translate .5s ease}
 body.motion-ready .experience-photo.reveal.visible,body.motion-ready .portrait.reveal.visible{clip-path:inset(0)}
 .experience-photo,.about .signature{translate:0 var(--drift,0px)}
 .about .signature{transition:translate .15s linear}
 .experience-photo:before{transition:translate .7s ease,border-color .7s ease}
 .experience-photo:hover:before{translate:-7px 7px;border-color:#9c815e}
 .portrait:hover .view-mark{rotate:90deg;transition:rotate .6s ease,opacity .3s ease}
 .scroll-cue span{animation:scroll-invitation 2.6s ease-in-out infinite}
 .site-masthead .brand-artwork{animation:signature-arrival 1.5s cubic-bezier(.16,1,.3,1) both}
}
@keyframes scroll-invitation{0%,100%{translate:0 0}50%{translate:0 8px}}
@keyframes signature-arrival{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){
 .motion-word{opacity:1!important;filter:none!important;transform:none!important}
 .reading-progress{display:none}
 .experience-photo,.about .signature{translate:none!important}
}

/* The navigation stays above the page while the large signature scrolls away. */
html{scroll-padding-top:84px}
.site-header--signature.scrolled{box-shadow:0 5px 18px #20211e12}
.back-top{position:fixed;right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:46px;height:46px;border:1px solid #d5c1a9;border-radius:50%;background:#252722;color:#f6f4ef;box-shadow:0 4px 16px #0003;font-size:24px;line-height:1;margin:0;transition:background .25s ease,color .25s ease}
.back-top:hover{background:#d5c1a9;color:#20211e}
.back-top:focus-visible{outline:3px solid #b59a73;outline-offset:4px}
