/* Responsive layout, typography and touch controls. */
body{min-width:280px}img{max-width:100%}.hero>*,.section-top>*,.steps>*,.fields>*,footer>*{min-width:0}.button{max-width:100%;min-height:44px;text-align:left}.button span{flex-shrink:0}h1,h2,h3,p{overflow-wrap:break-word}.wrap{width:min(1240px,calc(100% - 64px))}.hero{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:clamp(56px,7.5vw,112px)}h2,.reviews h2{font-size:clamp(42px,5.2vw,68px)}.cta h2{font-size:clamp(44px,6vw,76px)}.hero-actions{flex-wrap:wrap}.hero-actions .button{gap:18px}.hero-visual{min-width:0}.status{line-height:1.7}.section-top{gap:30px}.service{min-width:0}.services-grid,.process .steps{grid-template-columns:repeat(3,minmax(0,1fr))}.process .steps article{padding-inline:20px}.review-person>div{min-width:0}.reviews-controls button,.calendar-heading button{min-width:44px;min-height:44px}.back{display:inline-flex;align-items:center;min-height:44px}.day{min-height:44px}.times{grid-template-columns:repeat(6,minmax(0,1fr))}.time{min-height:44px;padding-inline:8px}.terms input{min-width:18px}.field input,.field textarea{min-width:0;font-size:16px}.progress li{line-height:1.6}.review-row strong{overflow-wrap:anywhere}.booking-header{gap:15px}.panel{min-width:0}.booking h1{font-size:clamp(42px,7vw,64px)!important}.booking-sub,.notice,.payment-note{overflow-wrap:anywhere}
@media(min-width:1600px){.hero{gap:60px}.section{padding-block:110px}}
@media(max-width:1100px){header{padding-inline:32px}nav{gap:20px}.hero{gap:24px}.hero-visual{padding:0;height:460px}.image-label{left:0;right:0}.hero-actions{gap:18px}.hero-actions .text-link{min-height:44px;display:inline-flex;align-items:center}.process .steps h3{font-size:25px}.process .steps article{padding-inline:16px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}header{padding-inline:20px;gap:16px}nav{gap:14px;font-size:9px;letter-spacing:.8px}.hero{min-height:560px;gap:20px}.hero-visual{height:410px}.hero-copy p{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:8px}.hero-note{font-size:8px;line-height:1.8}.hero-bottom{letter-spacing:1px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process .steps{grid-template-columns:1fr;gap:14px;padding:14px}.process .steps article{min-height:0;padding:24px;display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:20px;text-align:left;align-items:center}.process .step-number{grid-column:1;grid-row:1/3;font-size:76px;justify-self:center}.process .steps h3{grid-column:2;margin:0 0 10px}.process .steps p{grid-column:2;max-width:none}.section-top p{max-width:300px}.gallery figure{height:260px}.times{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{padding:24px}.progress{gap:16px}.reviews h2{margin-bottom:32px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}header{height:76px;padding-inline:18px}nav{display:none}.hero{grid-template-columns:minmax(0,1fr);padding:36px 0 62px;gap:30px}.hero-copy h1{font-size:clamp(54px,13.5vw,79px)}.hero-actions{flex-direction:row;align-items:center;gap:12px}.hero-actions .button{font-size:11px;padding:15px;gap:12px}.hero-visual{height:clamp(280px,78vw,420px);margin-right:10px}.hero-note{margin-top:24px}.hero-bottom{font-size:6px;gap:20px;align-items:flex-start;line-height:1.7}.stamp{right:-10px;width:84px;height:84px}.section{padding-block:60px}.section-top{gap:12px;margin-bottom:28px}.section-top p{max-width:none}.services-grid{gap:12px}.service{padding:20px 15px}.service h3{font-size:25px}.service p{font-size:12px;line-height:1.6}.service-bottom{gap:8px}.service-bottom span{font-size:9px;text-align:right}.process .steps{margin-top:30px}.process .steps article{padding:23px 18px;column-gap:16px;grid-template-columns:50px minmax(0,1fr)}.process .step-number{font-size:65px}.process .steps h3{font-size:25px}.process .steps p{font-size:13px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery figure:first-child{grid-column:1/-1;height:300px}.gallery figure{height:220px}.reviews{padding-block:60px}.review-card{flex-basis:92%;padding:23px 20px}.review-person span{font-size:8px}.reviews-controls{gap:8px}.reviews-range{min-width:20px}.reviews-count{min-width:35px}.cta{padding:60px 18px}.cta h2{font-size:clamp(40px,10vw,58px)}footer{gap:28px}.footer-bottom{font-size:7px;line-height:1.8;flex-wrap:wrap}.booking-header>span{font-size:8px;line-height:1.7;text-align:right}.progress{gap:12px;margin-block:28px}.progress li{font-size:10px}.progress span{display:block;margin-left:0}.panel{padding:20px 14px}.weekdays,.days{gap:3px}.weekdays{font-size:8px;letter-spacing:0}.day{height:44px;padding:0}.times{grid-template-columns:repeat(3,minmax(0,1fr))}.fields{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:auto}.review-row{gap:14px;padding-block:18px}.review-row strong{max-width:65%;font-size:12px}.booking .button{gap:14px;font-size:12px;line-height:1.6}.booking-sub{line-height:1.8}.notice{font-size:12px}.booking h2{font-size:clamp(36px,10vw,48px)}}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}header{padding-inline:14px}.logo{font-size:26px}header .button.small{font-size:10px;padding:10px 12px;gap:10px}.hero-actions{align-items:flex-start;flex-direction:column;gap:6px}.hero-copy h1{font-size:clamp(46px,13.5vw,54px)}.hero-bottom span:last-child{display:none}.services-grid{grid-template-columns:minmax(0,1fr)}.service{min-height:0;padding:23px}.service h3{margin-top:18px}.service p{font-size:12px}.service-bottom span{font-size:10px}.process .steps article{display:flex;text-align:center;gap:0;padding:22px 16px}.process .step-number{font-size:64px}.process .steps h3{margin:16px 0 10px}.gallery{grid-template-columns:minmax(0,1fr)}.gallery figure,.gallery figure:first-child{grid-column:auto;height:280px}.progress{gap:8px}.progress li{font-size:9px}.weekdays{font-size:7px}.reviews h2{font-size:42px}.footer-bottom{flex-direction:column}.booking .button{padding-inline:14px}}
@media(hover:none){.service:hover{transform:none}input,textarea{scroll-margin-block:100px}}
/* Closing invitation and four-column brand footer. */
.cta{padding:80px 24px 74px;border-top:0;border-bottom:1px solid var(--gold);background:var(--bg)}.cta .eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.3px;margin-bottom:24px}.cta h2{font-size:clamp(48px,5.7vw,78px);line-height:.95;letter-spacing:-1px}.cta p{font-size:13px;line-height:1.7;color:var(--gold);margin:24px auto 28px;max-width:480px}.cta .button{border-radius:22px;min-width:210px;justify-content:center;text-transform:uppercase;margin:0;padding:13px 25px}.cta>.brand-insignia-0{top:auto;bottom:-30px;left:2%;font-size:clamp(150px,23vw,300px)}.cta>.brand-insignia-1,.cta>.brand-insignia-2{display:none}footer.wrap{grid-template-columns:2fr 1fr 1fr 1.2fr;padding:65px 0 28px;gap:35px}footer .logo{font-size:28px}footer .footer-brand p{max-width:270px;text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;font-size:13px;line-height:1.65;margin-top:22px}footer .footer-links h3{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.4px;margin-bottom:18px}footer .footer-links a{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;font-size:12px;min-height:34px;display:flex;align-items:center}footer .footer-links a:hover{color:var(--gold)}footer .footer-links p{font-family:'Barlow Condensed',sans-serif;font-size:13px;line-height:1.9}.footer-bottom{margin-top:28px;background:#171c32;border:0;border-radius:14px;padding:14px 20px;gap:18px;align-items:center}.footer-bottom .back{font-size:10px;padding:8px 12px;min-height:36px}
@media(max-width:800px){footer.wrap{grid-template-columns:1.6fr 1fr;gap:30px}.footer-brand{grid-column:auto!important}.cta{padding-block:65px}.footer-bottom{grid-column:1/-1}.footer-bottom>span{line-height:1.7}}
@media(max-width:480px){footer.wrap{grid-template-columns:1fr 1fr;padding-top:42px;gap:26px 20px}.footer-brand{grid-column:1/-1!important}footer .footer-brand p{max-width:100%;margin-top:14px}footer .footer-links:last-of-type{grid-column:1/-1}.footer-bottom{margin-top:10px;align-items:flex-start;flex-direction:column;padding:16px;font-size:8px}.cta{padding:58px 18px}.cta h2{font-size:clamp(44px,12vw,58px)}.cta p{font-size:12px}.cta p br{display:none}.cta .button{min-width:200px}.cta>.brand-insignia-0{font-size:170px;bottom:-15px;left:-10px}footer .footer-links a{min-height:44px}}
.gallery figure:nth-child(2) img{object-position:center 25%}.gallery figure:nth-child(3) img{object-position:center 30%}
.gallery figure{height:450px}.gallery figure img{width:300%;max-width:none;height:100%;object-fit:cover;object-position:center top;filter:saturate(.85)}.gallery figure:nth-child(1) img{translate:0 0}.gallery figure:nth-child(2) img{translate:-33.333333% 0}.gallery figure:nth-child(3) img{translate:-66.666667% 0}.gallery figure:hover img{transform:none}@media(max-width:950px){.gallery figure{height:350px}}@media(max-width:600px){.gallery{grid-template-columns:1fr}.gallery figure,.gallery figure:first-child{grid-column:auto;height:auto;aspect-ratio:1/1.6}.gallery figure img{position:absolute;inset:0}}
/* Individual real photographs, without the campaign triptych treatment. */
.gallery figure img{width:100%;max-width:100%;object-fit:cover;translate:none!important;filter:saturate(.8)}.gallery figure:nth-child(1) img{object-position:50% 25%}.gallery figure:nth-child(2) img{object-position:50% 25%}.gallery figure:nth-child(3) img{object-position:50% 25%}.image-credit a{text-decoration:underline;text-underline-offset:3px}.image-credit{line-height:1.8}
/* Customer-selected reference portraits. */
.gallery figure{height:480px;border:1px solid var(--gold);border-radius:22px;background:var(--panel)}.gallery figure img{object-fit:cover;width:100%;height:100%;translate:none!important;filter:none}.gallery figure:nth-child(1) img{object-position:center 25%}.gallery figure:nth-child(2) img,.gallery figure:nth-child(3) img{object-position:center center}.gallery figcaption{font-size:10px;line-height:1.6;padding:55px 20px 22px}@media(max-width:950px){.gallery figure{height:380px}}@media(max-width:600px){.gallery{grid-template-columns:1fr}.gallery figure,.gallery figure:first-child{height:auto;aspect-ratio:3/4;grid-column:auto}.gallery figure img{position:absolute;inset:0}.gallery figure:nth-child(1) img{object-position:center 24%}}
.hero-main{object-position:45% center;filter:saturate(.85)}@media(max-width:600px){.hero-main{object-position:42% center}}
