/* Natural palette and restrained typography, based on the user's new reference. */
:root{--cream:#f4f1eb;--ink:#282a25;--indigo:#3f473b;--rose:#e9e3da;--lavender:#e7e9e2;--muted:#65655d;--line:#d4d0c7;--shadow:none}
html{scroll-padding-top:110px}
body{background:var(--cream)}
h1,h2,h3{font-weight:400;letter-spacing:-1.2px}
em{font-style:normal;color:inherit}
.button{background:#3f473b;border-radius:4px;box-shadow:none;font-size:12px;letter-spacing:.6px;min-height:48px;padding:14px 24px;gap:22px}
.button:hover{background:#282e25;transform:none}
.button span{font-size:18px}
.site-header{width:100%;max-width:none;top:0;left:0;transform:none;border-radius:0;padding:22px 40px;box-shadow:none;border-bottom:1px solid rgba(64,60,50,.12);background:rgba(248,246,241,.9);backdrop-filter:blur(16px);gap:26px}
.brand{gap:14px}
.brand-mark{width:auto;font-size:33px;letter-spacing:-1px;white-space:nowrap}
.brand-name{font-size:9px;letter-spacing:1.8px;line-height:1.6}
.brand-name span{letter-spacing:2.5px}
.site-header nav{font-size:12px;letter-spacing:.4px;gap:30px}
.hero-track.ready{height:155svh}
.hero-sticky{min-height:620px}
.hero-content{width:calc(100% - 112px);max-width:1440px;padding-top:80px}
.hero-copy{max-width:460px}
.hero-copy h1{font-size:clamp(52px,5vw,72px);letter-spacing:-2.6px;line-height:1.1;margin:24px 0}
.hero-copy h1 em{color:var(--ink)}
.hero-copy p{color:#51534b;font-size:16px}
.hero-copy>.eyebrow{font-size:10px;letter-spacing:2px}
.hero-shade{background:linear-gradient(90deg,rgba(244,241,235,.96),rgba(244,241,235,.74) 22%,rgba(244,241,235,.12) 43%,transparent 60%),linear-gradient(0deg,rgba(244,241,235,.62),transparent 18%)}
.hero-bottom{width:calc(100% - 112px);max-width:1440px;bottom:25px}
.film-progress span{background:#656e5e}
.scroll-hint,.film-credit{color:#55594e}
.hero-offer{border-bottom-color:#777d70}
.service-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#faf8f4}
.service-strip a{position:relative;padding:25px 32px;border-right:1px solid var(--line);font:22px/1.3 'Source Serif 4',Georgia,serif;letter-spacing:-.5px}
.service-strip a:last-child{border:0}
.service-strip a>span:first-child{display:block;font:10px/1.6 'DM Sans',sans-serif;letter-spacing:1.8px;margin-bottom:9px;color:var(--muted)}
.service-strip a>span:last-child{font:18px 'DM Sans',sans-serif;position:absolute;right:25px;bottom:28px;color:#60675a}
.service-strip a:hover{background:#eeeee6}
.section{padding-top:85px}
.section-heading h2,.visit h2,.studio h2{font-size:46px;line-height:1.16;letter-spacing:-1.6px}
.section-heading h2 br{display:none}
.section-heading h2 em::before{content:' '}
.section-heading p{font-size:15px}
.offer-grid{gap:18px}
.offer-card{border:1px solid var(--line);border-radius:6px;background:#faf8f4;padding:32px}
.offer-card.rose{background:#e9e3da}
.offer-card.lavender{background:#e7e9e2}
.card-symbol{display:none}
.card-top{margin-bottom:30px}
.offer-card h3{font-size:31px;letter-spacing:-.8px}
.offer-card p{font-size:15px}
.offer-card summary{border-color:#cfcbbf;font-size:13px}
.offer-card:target{outline:2px solid #67705e;outline-offset:5px}
.studio .gallery{gap:22px}
.studio .gallery img{border-radius:5px;height:286px;object-position:center}
.studio .gallery figcaption{font-size:12px;line-height:1.5}
.gallery figcaption span{color:#77776b}
.contact-inner{border:1px solid var(--line);border-radius:6px;background:#e8e7de}
.contact h2{font-size:49px;letter-spacing:-1.5px}
.booking-prompt{border-radius:8px;background:#fcfaf6;box-shadow:0 12px 35px rgba(64,58,45,.16);border-color:#d8d2c6}
.booking-prompt h3{font-size:28px}
.booking-prompt .button{font-size:12px}
.eyebrow{color:#55594e}
.studio-heading p{font-size:15px}
@media(min-width:1500px){.hero-copy h1{font-size:78px}.hero-content,.hero-bottom{width:calc(100% - 144px);max-width:1620px}.hero-copy{max-width:500px}}
@media(max-width:1100px) and (min-width:641px){.site-header{padding:20px 24px;gap:18px}.site-header nav{gap:20px;font-size:11px}.hero-content,.hero-bottom{width:calc(100% - 64px)}.hero-copy{max-width:290px}.hero-copy h1{font-size:56px}.hero-copy p{font-size:14px}.service-strip a{font-size:18px;padding:22px}.service-strip a>span:last-child{display:none}}
@media(max-width:800px){.brand-name{display:none}.studio .gallery img{height:230px}.service-strip a{font-size:17px}.section-heading h2,.visit h2,.studio h2{font-size:40px}}
@media(max-width:900px){
 html{scroll-padding-top:115px}
 .site-header{padding:13px 20px 10px;top:0;gap:8px 14px;background:rgba(248,246,241,.96);border-radius:0}
 .brand-mark{font-size:29px;letter-spacing:-.8px}
 .brand-name{display:block;font-size:8px;letter-spacing:1.2px;line-height:1.5}
 .brand-name span{letter-spacing:1.7px}
 .site-header .button{border-radius:3px;font-size:10px;letter-spacing:.2px;min-height:38px;padding:10px 13px;gap:11px}
 .site-header nav{font-size:11px;padding:2px 0 0;gap:14px}
 .site-header nav a{padding-block:4px}
 .hero-track.ready{height:142svh;min-height:900px}
 .hero-sticky{min-height:650px;height:100svh;max-height:none}
 .hero-media{top:93px;height:calc(67% - 93px)}
 .hero-media img,.hero-media video{object-position:center 40%}
 .hero-shade{background:linear-gradient(0deg,var(--cream),rgba(244,241,235,.08) 15%,transparent 32%)}
 .hero-content{bottom:0;width:100%;height:33%;padding:0 23px 56px;background:var(--cream)}
 .hero-copy{width:100%;max-width:none}
 .hero-copy>.eyebrow{font-size:8px;letter-spacing:1.6px}
 .hero-copy h1{font-size:42px;letter-spacing:-1.6px;line-height:1.1;margin:12px 0 17px;max-width:360px}
 .hero-copy h1 em{color:var(--ink)}
 .hero-copy .button{font-size:11px;min-height:42px;letter-spacing:.4px;padding:12px 18px}
 .hero-bottom{width:calc(100% - 46px);bottom:12px;gap:8px}
 .hero-bottom .scroll-hint{font-size:9px;gap:6px}
 .hero-offer{font-size:11px;gap:12px}
 .hero-bottom .film-credit{bottom:calc(33svh + 3px);font-size:8px;color:#585d52}
 .service-strip{grid-template-columns:1fr 1fr}
 .service-strip a{font-size:18px;padding:18px 20px;min-height:95px}
 .service-strip a:nth-child(2){border-right:0}.service-strip a:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .service-strip a>span:first-child{font-size:9px;letter-spacing:1.4px;margin-bottom:7px}
 .service-strip a>span:last-child{display:none}
 .section{padding-top:62px}
 .section-heading h2,.visit h2,.studio h2{font-size:36px;letter-spacing:-1px}
 .section-heading h2 br{display:initial}.section-heading h2 em::before{content:''}
 .offer-card{padding:27px 24px;border-radius:5px}
 .card-top{margin-bottom:22px}
 .offer-card h3{font-size:29px}
 .studio .gallery{grid-template-columns:1fr;gap:24px}
 .studio .gallery img{height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
 .studio-heading p{font-size:14px}
 .contact-inner{padding:42px 20px}.contact h2{font-size:36px;letter-spacing:-1px}
 footer>span:first-child{font-size:19px}
}
@media(max-width:380px){.hero-copy h1{font-size:38px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.5px}.brand{gap:8px}.site-header{padding-inline:16px}.site-header .button{font-size:9px;padding-inline:10px}.hero-content{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.hero-track.ready{height:auto;min-height:0}.hero-sticky{position:relative}}
.studio .refined-gallery{grid-template-columns:1fr 1fr;gap:32px;margin-top:35px;max-width:1000px;margin-inline:auto}
.refined-gallery .photo-mat{padding:14px;background:#eeebe4;border:1px solid #d9d4ca;border-radius:5px}
.studio .refined-gallery img{height:auto;aspect-ratio:3/4;width:100%;object-fit:cover;object-position:center;border-radius:2px;filter:saturate(.78) brightness(1.04)}
.studio .refined-gallery figcaption{display:flex;align-items:center;gap:12px;font-size:14px;margin-top:17px;line-height:1.5}
.refined-gallery .caption-detail{margin-left:auto;font-size:11px;color:var(--muted)}
@media(max-width:900px) and (min-width:641px){
 .hero-sticky{height:100svh}
 .hero-track.ready{height:142svh;min-height:0}
 .hero-copy h1{max-width:600px;font-size:52px}
 .hero-copy>.eyebrow{font-size:10px}
 .hero-content{padding:12px 32px 65px;align-items:center}
 .hero-bottom{width:calc(100% - 64px)}
 .hero-copy p{display:block;font-size:14px;margin-bottom:16px}
 .hero-copy p br{display:none}
 .hero-media{height:calc(64% - 93px)}
 .hero-content{height:36%}
 .hero-bottom .film-credit{bottom:calc(36svh + 3px)}
 .site-header{padding-inline:28px}
}
@media(max-width:700px){
 .studio .refined-gallery{grid-template-columns:1fr;max-width:480px;gap:32px}
 .refined-gallery .photo-mat{padding:10px}
 .refined-gallery .caption-detail{display:none}
 .studio .refined-gallery img{aspect-ratio:4/5;object-position:center 34%}
}
