:root{--paper:#f8f5f0;--ivory:#fffdfa;--ink:#241e1a;--muted:#766e65;--line:#ded6ca;--warm:#eae3d9;--dark:#292019;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}p{line-height:1.75}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.01;letter-spacing:-.025em}h1 em,h2 em{font-weight:300}h1{font-size:clamp(58px,7.3vw,123px)}h2{font-size:clamp(48px,5.5vw,83px)}h3{font-size:35px}.wrap{width:min(1340px,calc(100% - 100px));margin:auto}.eyebrow{font-size:10px;letter-spacing:.27em;font-weight:700;color:#776b60;line-height:1.55;text-transform:uppercase}.section{padding:105px 0}.section-head{margin-bottom:42px}.section-head h2{margin:14px 0 10px}.section-head p:not(.eyebrow){color:var(--muted);font-size:14px}.section-head.center{text-align:center}.section-head.between{display:flex;align-items:end;justify-content:space-between;gap:35px}.section-head.between>p{max-width:335px;color:var(--muted)}.text-arrow,.under-link{font-size:10px;font-weight:700;letter-spacing:.15em;display:inline-block;border-bottom:1px solid #a99c8c;padding-bottom:12px;white-space:nowrap}.text-arrow:hover,.under-link:hover{border-color:var(--ink)}.ink-button,.light-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--dark);color:#fff;padding:19px 23px;border:1px solid var(--dark);font-size:10px;letter-spacing:.15em;font-weight:700;min-height:56px;text-align:center;transition:background .2s,color .2s}.ink-button:hover{background:#544137}.light-button{background:#f7f2e9;color:#241e1a;border-color:#f7f2e9}.light-button:hover{background:#dfd4c6}
/* Navigation */
.site-header{background:var(--paper);height:80px;position:relative;z-index:100;border-bottom:1px solid #eae2d9}.header-inner{display:flex;align-items:center;height:100%;gap:30px}.logo{display:flex;flex-direction:column;align-items:center;flex-shrink:0;color:var(--ink);line-height:1}.brand-name{font-family:Georgia,serif;font-size:17px;letter-spacing:.22em;white-space:nowrap}.brand-subline{font-size:7px;letter-spacing:.41em;margin-top:8px;font-weight:600}.nav{display:flex;align-items:center;gap:29px;margin-left:auto}.nav a,.book-link{font-size:9px;font-weight:700;letter-spacing:.16em;white-space:nowrap}.nav a{color:#716c67;position:relative;padding:16px 0}.nav a:hover,.nav a[aria-current=page]{color:#241e1a}.nav a[aria-current=page]::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--ink)}.book-link{border:1px solid var(--ink);padding:14px 17px;transition:.2s}.book-link:hover{background:var(--dark);color:#fff}.menu-toggle{display:none;border:0;background:none;font-size:10px;letter-spacing:.14em;font-weight:700;white-space:nowrap}.skip{position:absolute;top:-300px;left:10px;background:#fff;padding:10px;z-index:999}.skip:focus{top:10px}
/* Full-portrait hero: no opaque overlay, full boots in frame */
.hero{display:grid;grid-template-columns:44% 56%;height:min(830px,calc(100svh - 80px));min-height:680px;background:#efeae2;overflow:hidden}.hero-copy{display:flex;align-items:center;padding:50px 35px 45px max(50px,calc((100vw - 1340px)/2));position:relative}.hero-copy-inner{max-width:600px}.hero h1{font-size:clamp(59px,5.4vw,101px);line-height:.95;letter-spacing:-.048em;margin:30px 0 25px;max-width:650px}.hero h1 em{display:inline-block}.hero-description{max-width:390px;color:#675c50;font-size:14px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:33px}.hero-loc{position:absolute;bottom:35px;font-size:9px;letter-spacing:.17em;font-weight:700;color:#847668}.hero-photo{height:100%;display:flex;align-items:center;justify-content:center;background:#d7c8b4;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}
/* Intro and cards */
.intro{background:var(--ivory)}.split-head{display:grid;grid-template-columns:1.1fr .75fr;gap:15%;align-items:end}.split-head h2{margin-top:13px}.split-head>div:last-child p{font-size:15px;color:var(--muted);max-width:460px;margin-bottom:30px}.services-home{background:var(--paper)}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.experience-card{min-width:0}.experience-image{display:block;position:relative;aspect-ratio:4/4.45;overflow:hidden;background:#d7cbbc;color:#fff}.experience-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.experience-image:hover img{transform:scale(1.035)}.experience-image .card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,12,12,.67) 100%)}.card-copy{position:absolute;left:30px;right:25px;bottom:27px;display:flex;flex-direction:column;gap:5px}.card-copy small{font-size:9px;letter-spacing:.19em;font-weight:700;color:#e3dcd6}.card-copy strong{font-size:clamp(27px,3vw,45px);font-family:var(--serif);line-height:1;font-weight:400}.card-copy em{font-style:normal;font-size:12px;color:#f2ece5;font-weight:400;line-height:1.4}.card-arrow{position:absolute;right:24px;bottom:29px;font-size:20px}.concept-tag{font-size:9px;display:block;color:#766f66;letter-spacing:.13em;margin:8px 2px 0}.footnote-center{text-align:center;margin-top:35px;color:var(--muted)}.footnote-center a{border-bottom:1px solid #a69b90;color:var(--ink)}
/* Gallery */
.selected{background:#fff}.feature-gallery{display:grid;grid-template-columns:1.1fr .8fr 1fr;grid-auto-rows:240px;gap:15px}.photo-tile{min-width:0;min-height:0;position:relative}.feature-gallery .featured-1{grid-row:1/3}.feature-gallery .featured-2{grid-column:2/4;grid-row:1}.feature-gallery .featured-3{grid-column:2;grid-row:2}.feature-gallery .featured-4{grid-column:3;grid-row:2}.feature-gallery .featured-5{display:none}.photo-button{border:0;padding:0;width:100%;height:100%;display:block;overflow:hidden;background:#dfd5cc}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-button:hover img{transform:scale(1.025)}.photo-tile figcaption{display:flex;justify-content:space-between;gap:15px;padding:11px 1px;font-size:10px;color:var(--muted)}.photo-tile figcaption strong{font-weight:500;color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 19px}.portfolio-grid .photo-button{height:auto;aspect-ratio:4/5}.portfolio-grid .photo-tile:nth-child(5n+2) .photo-button{aspect-ratio:4/4.25}.portfolio-grid .photo-tile:nth-child(5n+3) .photo-button{aspect-ratio:4/5.6}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:20px 27px;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:45px}.filter{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--muted);border:0;background:none;padding:8px 0;position:relative}.filter.active{color:var(--ink)}.filter.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--ink)}.empty-gallery{text-align:center;padding:80px 15px}.empty-gallery h3{margin-bottom:12px}.empty-gallery p{margin-bottom:20px}.lightbox{position:fixed;border:0;background:#15110e;padding:45px;max-width:95vw;max-height:95vh;text-align:center;color:#fff;box-shadow:0 25px 80px #0008}.lightbox::backdrop{background:#0d0a09df}.lightbox img{max-height:75vh;max-width:85vw;object-fit:contain;margin:auto}.lightbox-caption{margin-top:13px;font-size:11px;color:#d8cdc2}.lightbox-close{position:absolute;right:8px;top:7px;border:0;background:none;color:#fff;font-size:26px;padding:7px 13px}
/* Before/after */
.editing-section{padding:105px 0;background:#ece6dd}.compare-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center}.compare-copy h2{margin:14px 0 26px}.compare-copy>p:not(.eyebrow){font-size:14px;color:#675e55;margin-bottom:19px;max-width:415px}.compare-copy .compare-note{font-size:11px!important;color:#847b73!important}.compare-copy .text-arrow{margin-top:13px}.comparison{--split:50%;position:relative;aspect-ratio:4/3.2;overflow:hidden;isolation:isolate;cursor:ew-resize;background:#b7a292}.comparison-image{position:absolute;inset:0}.comparison-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.comparison-image.after{clip-path:inset(0 0 0 var(--split));z-index:2}.comparison-line{z-index:3;position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;pointer-events:none}.comparison-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:white;display:grid;place-items:center;font-size:24px;color:#241e1a;box-shadow:0 2px 14px #0003}.comparison-label{position:absolute;bottom:19px;padding:8px 10px;background:#241e1ae3;color:#fff;letter-spacing:.1em;font-size:9px;z-index:4;pointer-events:none}.comparison-label.left{left:17px}.comparison-label.right{right:17px}.comparison-range{position:absolute;inset:0;z-index:5;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:none}
/* Home rates and CTA */
.home-rates-inner{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center}.home-rates h2{margin:14px 0 25px}.home-rates p:not(.eyebrow){color:var(--muted);max-width:380px}.rate-examples{border-top:1px solid var(--line)}.rate-examples a{display:grid;grid-template-columns:1fr auto;row-gap:9px;border-bottom:1px solid var(--line);padding:23px 0}.rate-examples a small{font-size:9px;letter-spacing:.18em;font-weight:700;color:#776a5f}.rate-examples a strong{font-family:var(--serif);font-size:31px;font-weight:400;grid-column:2;grid-row:1/3;align-self:center}.rate-examples a span{font-size:12px;color:#665e56}.rate-examples a:hover span{color:#231b14}.cta{padding:105px 0;text-align:center;background:#31261e;color:#fff}.cta .eyebrow{color:#c9bcb0}.cta h2{margin:17px 0 18px}.cta p:not(.eyebrow){margin-bottom:30px;color:#ddd1c5}.mini-cta{padding:75px 0}.mini-cta h2{margin:0 0 27px}
/* Page headings */
.page-heading{padding:112px 0 67px;background:#fff}.page-heading h1{font-size:clamp(64px,7vw,112px);margin-top:19px}.page-heading-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-top:38px;border-top:1px solid var(--line);padding-top:24px}.page-heading-bottom p{max-width:630px;color:#786d62;font-size:14px}.page-heading-bottom>span{font-size:10px;color:#87786b;font-weight:700;letter-spacing:.15em;white-space:nowrap}.catalog{padding-top:67px}.light-section{background:#f0eae2}.privacy-feature{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.privacy-feature h2{margin-top:17px}.privacy-feature p:not(.eyebrow){color:#695e54;margin:12px 0 18px}.privacy-feature .text-arrow{margin-top:10px}
/* Pricing */
.pricing-page{background:var(--paper)}.pricing-categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-top:21px}.category-option{padding:0 0 12px;background:#fdfaf6;border:1px solid #e7ded4;min-width:0;text-align:left;transition:.2s;position:relative}.category-option:hover,.category-option.selected{border-color:#786653;background:#fff}.category-option.selected:after{content:'';height:3px;left:0;right:0;bottom:0;position:absolute;background:#8c7565}.category-option img{width:100%;height:112px;object-fit:cover}.category-option span{display:block;margin:12px 10px 0;font-size:11px;font-weight:700}.category-option small{font-size:8px;color:#836d5b;display:block;margin:3px 10px 0}.pricing-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:57px 0 27px}.pricing-intro h2{margin-top:10px;font-size:62px}.pricing-intro>p{max-width:460px;color:var(--muted)}.tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tier-card{border:1px solid #d9cfc1;background:#fffdf9;padding:35px 30px 30px;position:relative}.tier-card.best-tier{background:#efe8df;border-color:#a68f79}.tier-card h3{font-size:36px;margin:15px 0 13px}.tier-price{font-family:var(--serif);font-size:64px;line-height:1}.tier-sub{margin:8px 0 24px;color:#756d64;font-size:12px}.tier-card ul{padding:21px 0 0;margin:0 0 28px;border-top:1px solid #e4dacd;list-style:none}.tier-card li{position:relative;padding:0 0 12px 18px;color:#625951;font-size:12px;line-height:1.45}.tier-card li:before{content:'✓';position:absolute;left:0;color:#987d65}.tier-cta{display:block;background:#30271f;color:white;font-size:10px;text-align:center;letter-spacing:.16em;padding:17px 12px;font-weight:700}.tier-cta:hover{background:#5d4938}.popular-tag{position:absolute;top:0;right:0;padding:7px 11px;background:#8e735d;color:white;font-size:9px;letter-spacing:.1em}.pricing-aside{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:30px}.pricing-aside span{font-size:11px;color:#766d65;max-width:780px;line-height:1.7}.addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #d2c6b9;border-left:1px solid #d2c6b9}.addons-grid>div{padding:29px 27px;border-right:1px solid #d2c6b9;border-bottom:1px solid #d2c6b9}.addons-grid span{font-size:10px;color:#a3927f}.addons-grid h3{font-size:31px;margin:12px 0}.addons-grid p{min-height:58px;color:#74685c;font-size:12px}.addons-grid strong{display:block;margin-top:15px;font-size:11px;letter-spacing:.08em}.privacy-section{background:#fff}
/* Forms */
.booking-page{background:#f7f3ed}.booking-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:11%;align-items:start}.booking-aside{position:sticky;top:50px}.booking-aside h2{margin-top:16px}.numbered{padding:0;margin:45px 0 0;counter-reset:process;list-style:none}.numbered li{counter-increment:process;position:relative;border-top:1px solid var(--line);padding:20px 0 20px 45px}.numbered li:before{content:'0' counter(process);position:absolute;left:0;top:21px;font-family:var(--serif);font-size:23px;color:#968676}.numbered li strong,.numbered li span{display:block;font-size:12px}.numbered li span{margin-top:5px;color:var(--muted);line-height:1.65}.studio-note{border:1px solid #d7cabc;padding:23px;margin-top:30px}.studio-note span{font-size:10px;letter-spacing:.19em;font-weight:700}.studio-note p{font-size:12px;color:var(--muted);margin-top:8px}.booking-panel{background:#fff;border:1px solid #e0d7ce;padding:45px}.form-heading{margin-bottom:27px}.form-heading h2{font-size:48px;margin-top:10px}.form-heading p:last-child{color:var(--muted);font-size:12px;margin-top:8px}.booking-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;color:#4f463e}.booking-form label>span{color:#976f54}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{width:100%;padding:15px 13px;border:1px solid #dcd1c5;background:#fffcf8;border-radius:0;font-weight:400;font-size:12px;color:#2d251f;outline-offset:2px;min-height:49px}.booking-form textarea{resize:vertical}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{outline:1px solid #745c4b}.addon-fieldset{border:0;border-top:1px solid #e0d7ce;margin:8px 0 0;padding:23px 0 0}.addon-fieldset legend{font-size:11px;font-weight:700;letter-spacing:.13em;padding-right:10px}.addon-list{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.addon-list label{display:flex;align-items:start;gap:9px;font-size:11px;font-weight:400;line-height:1.5}.addon-list label input{margin:2px 0 0;width:16px;height:16px;accent-color:#33271e;flex-shrink:0}.addon-list label span{color:#51483f;flex:1}.addon-list label b{white-space:nowrap}.estimate{padding:20px;background:#efe8df;margin-top:7px}.estimate div{display:grid;grid-template-columns:1fr auto;gap:7px}.estimate span{font-size:10px;font-weight:700;letter-spacing:.13em}.estimate strong{font-size:32px;font-family:var(--serif);font-weight:400;line-height:1}.estimate small{grid-column:1/-1;color:#746b63;font-size:10px;line-height:1.6}.submit-button{width:100%;margin-top:0}.form-note{font-size:10px;color:var(--muted);line-height:1.7}.hidden-field{display:none}.form-status{font-size:11px}.future-integrations{margin-top:19px}.future-integrations a{display:inline-block;margin-right:15px;text-decoration:underline}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:14%}.contact-layout h2{margin:15px 0 25px}.contact-layout>div>p:not(.eyebrow){color:var(--muted);max-width:390px;margin-bottom:28px}.contact-location{margin-top:40px}.contact-form{padding:40px;background:#fff;border:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-picture img{width:100%;max-height:760px;object-fit:cover}.about-picture small{display:block;margin-top:12px;letter-spacing:.2em;color:var(--muted);font-size:9px}.about-copy h2{margin:16px 0 30px}.about-copy>p:not(.eyebrow){margin:0 0 19px;color:var(--muted)}.about-copy .ink-button{margin-top:16px}.thank-you{text-align:center;min-height:65vh;display:flex;align-items:center}.thank-you h1{margin:18px 0}.thank-you p:not(.eyebrow){max-width:570px;margin:0 auto 28px;color:var(--muted)}
/* Footer */
.footer{background:#211c18;color:#ede4d9;padding:60px 0 20px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding-bottom:55px}.footer-logo{align-items:start;color:#fff}.footer-logo .brand-name{font-size:18px}.footer-logo .brand-subline{margin-left:42px}.footer-top>div:first-child p{font-size:12px;margin-top:25px;color:#b7a99d}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:13px;align-items:start}.footer-label{font-size:10px;letter-spacing:.2em;font-weight:700;color:#b4a393;margin-bottom:12px}.footer-top a:not(.logo){font-size:12px;color:#ded3c6}.footer-top a:hover{color:#fff}.footer-bottom{border-top:1px solid #564940;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.11em;color:#a8988a}.footer-bottom a:hover{color:white}
/* Responsive */
@media(max-width:1160px){.nav{gap:16px}.nav a,.book-link{font-size:8px}.brand-name{font-size:14px}.wrap{width:calc(100% - 74px)}.hero-copy{padding-left:37px}.hero h1{font-size:clamp(54px,5.5vw,80px)}.pricing-categories{grid-template-columns:repeat(3,1fr)}.category-option img{height:130px}}
@media(max-width:820px){.site-header{height:70px}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);padding:20px 38px 35px;flex-direction:column;align-items:start;gap:8px;border-bottom:1px solid var(--line);box-shadow:0 14px 18px #0001}.nav.open{display:flex}.nav a{font-size:11px}.menu-toggle{display:block}.book-link{margin-left:auto}.hero{grid-template-columns:45% 55%;height:680px;min-height:620px}.hero h1{font-size:56px}.hero-copy{padding:20px 18px 25px 37px}.hero-actions{gap:20px}.experience-grid{grid-template-columns:repeat(2,1fr)}.split-head,.compare-layout,.home-rates-inner{gap:5%}.pricing-intro h2{font-size:52px}.tier-card{padding:27px 19px}.tier-price{font-size:50px}.booking-layout{grid-template-columns:1fr;gap:36px}.booking-aside{position:static}.numbered{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.about-layout,.contact-layout{gap:7%}}
@media(max-width:600px){.wrap{width:calc(100% - 38px)}.site-header{height:64px}.header-inner{gap:12px}.nav{top:64px;padding:18px 20px 24px}.brand-name{font-size:12px;letter-spacing:.12em}.brand-subline{font-size:6px}.book-link{font-size:8px;padding:10px 9px;letter-spacing:.06em}.menu-toggle{font-size:9px;padding:9px 0}.hero{display:flex;flex-direction:column-reverse;height:auto;min-height:0}.hero-photo{height:min(70svh,620px);background:#d7c8b4}.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center center}.hero-copy{padding:49px 19px 50px}.hero h1{font-size:clamp(51px,11.6vw,75px);margin:17px 0}.hero .eyebrow{font-size:9px}.hero-description{font-size:12px}.hero-actions{margin-top:24px;gap:19px}.hero-loc{position:static;margin-top:40px;font-size:8px}.ink-button,.light-button{padding:15px 16px;min-height:48px;font-size:9px}.section,.editing-section{padding:66px 0}.split-head,.compare-layout,.home-rates-inner,.privacy-feature,.about-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.split-head h2,.compare-copy h2,.home-rates h2{font-size:53px}.split-head>div:last-child p{font-size:13px;margin-bottom:17px}.section-head{margin-bottom:27px}.section-head h2{font-size:53px}.section-head.between{align-items:start;flex-direction:column;gap:12px}.experience-grid{gap:11px}.experience-image{aspect-ratio:3/4.5}.card-copy{left:12px;right:9px;bottom:14px;gap:3px}.card-copy small{font-size:7px;letter-spacing:.07em}.card-copy strong{font-size:clamp(24px,6vw,36px)}.card-copy em{font-size:9px;line-height:1.25}.card-arrow{right:9px;bottom:14px;font-size:14px}.concept-tag{font-size:7px}.feature-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:185px;gap:9px}.feature-gallery .featured-1{grid-column:1;grid-row:1/3}.feature-gallery .featured-2{grid-column:2;grid-row:1}.feature-gallery .featured-3{grid-column:2;grid-row:2}.feature-gallery .featured-4{grid-column:1/3;grid-row:3}.compare-copy h2{margin-bottom:15px}.comparison{aspect-ratio:4/3.4}.home-rates-inner{gap:30px}.cta{padding:68px 0}.cta h2{font-size:53px}.page-heading{padding:64px 0 37px}.page-heading h1{font-size:clamp(52px,11vw,75px)}.page-heading-bottom{margin-top:22px;display:block}.page-heading-bottom p{font-size:12px}.page-heading-bottom>span{display:block;margin-top:15px}.catalog{padding-top:36px}.pricing-categories{grid-template-columns:repeat(3,1fr);gap:7px}.category-option img{height:74px}.category-option span{font-size:9px;margin:8px 7px 0}.category-option{padding-bottom:10px}.category-option small{font-size:6px;margin:3px 7px}.pricing-intro{display:block;margin:37px 0 21px}.pricing-intro h2{font-size:49px}.pricing-intro>p{margin-top:15px;font-size:12px}.tier-grid{grid-template-columns:1fr;gap:15px}.tier-card{padding:30px 25px}.tier-card h3{font-size:42px}.tier-price{font-size:58px}.pricing-aside{align-items:start;flex-direction:column}.addons-grid{grid-template-columns:1fr 1fr}.addons-grid>div{padding:22px 14px}.addons-grid h3{font-size:28px}.addons-grid p{font-size:11px;min-height:100px}.privacy-feature h2{font-size:53px}.booking-panel{padding:25px 17px}.booking-aside h2{font-size:53px}.form-row{grid-template-columns:1fr;gap:20px}.addon-list{grid-template-columns:1fr}.numbered{grid-template-columns:1fr}.booking-form{gap:18px}.form-heading h2{font-size:42px}.about-copy h2,.contact-layout h2{font-size:52px}.contact-form{padding:24px 18px}.footer{padding:50px 0 20px}.footer-top{grid-template-columns:1fr 1fr;gap:38px 14px}.footer-top>div:first-child{grid-column:1/-1}.footer-top a{font-size:12px}.footer-bottom{flex-wrap:wrap;font-size:8px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:24px 11px}.portfolio-grid .photo-tile figcaption{flex-direction:column;gap:3px;font-size:9px}.filters{gap:12px 16px;margin-bottom:26px}.filter{font-size:9px}.lightbox{padding:33px 7px 25px}.lightbox img{max-width:90vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* V3.1 — identical-frame slider and a clearer portrait-format Boudoir cover */
.comparison { isolation:isolate; touch-action:pan-y; }
.comparison-image { overflow:hidden; }
.comparison-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; transform:none!important; }
.comparison-image.after { clip-path:inset(0 0 0 var(--split)); }
.comparison-line { transition:none; }
.comparison-range:focus-visible { opacity:.055; outline:3px solid #f8f5f0; outline-offset:-3px; }
.experience-image img[src*="boudoir-cover"] { object-position:50% 34%; }
.category-option img[src*="boudoir-cover"] { object-position:50% 28%; }
/* V3.2 — photo-forward services, dedicated editorial pages, taller pricing chooser. */
:root{--accent:#a98872}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:23px;row-gap:51px}
.story-card{min-width:0}
.story-card>a{display:block;color:var(--ink)}
.story-image{height:auto;aspect-ratio:4/5;overflow:hidden;background:#ded3c8}
.story-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.story-card:hover .story-image img{transform:scale(1.035)}
.story-info{padding-top:16px;display:flex;gap:15px;align-items:center;justify-content:space-between}
.story-info h3{font-family:var(--serif);font-size:clamp(30px,2.9vw,43px);font-weight:400;line-height:1.07;margin:0}
.story-info p{color:#796f65;font-size:12px;line-height:1.65;margin-top:7px}
.story-arrow{font-size:23px;font-weight:300;align-self:center;transition:transform .2s}
.story-card:hover .story-arrow{transform:translate(3px,-3px)}
.story-price{display:block;font-size:9px;letter-spacing:.15em;font-weight:600;color:#9b745e;margin-top:14px}
.services-heading{background:#fbf9f6}.services-landing{padding-top:52px;background:#fbf9f6}.services-bottom-intro{background:#f1ebe4}
.service-cover{height:min(75vh,760px);min-height:620px;background:#28211d;color:#fff;position:relative;overflow:hidden}
.service-hero-img{position:absolute;inset:0 0 0 auto;height:100%;width:66%;object-fit:contain;object-position:center;background:#28211d}
.service-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#211b17 0%,#211b17 28%,rgba(33,27,23,.93) 35%,rgba(33,27,23,.68) 46%,transparent 70%);pointer-events:none}
.service-cover-caption{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:80px}
.service-cover-caption .eyebrow{color:#dbc4b1;font-size:9px}
.service-cover-caption h1{font-size:clamp(67px,7vw,113px);color:#fff;line-height:.99;max-width:700px;margin:19px 0 22px;text-wrap:balance}
.service-cover-caption>p:not(.eyebrow){color:#eee3d8;max-width:380px;font-size:15px;margin-bottom:28px}
.service-story{background:#fdfbf8}.service-about{display:grid;grid-template-columns:.93fr 1fr;gap:9%;align-items:start}
.service-about-copy h2{font-size:clamp(48px,4.6vw,72px);line-height:1.04;margin:25px 0 28px;font-weight:400;text-wrap:balance}
.service-about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;margin-bottom:21px;max-width:510px;color:#6e6259}
.service-about-copy .service-highlight{border-top:1px solid var(--line);padding-top:22px;font-size:10px!important;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#8d7362!important}
.service-about-copy .text-arrow{margin-top:15px}
.service-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:235px;gap:12px}
.service-mosaic img{width:100%;height:100%;object-fit:cover;min-width:0}
.service-mosaic.few-images{grid-template-columns:1fr 1fr;grid-auto-rows:330px}
.service-mosaic.few-images img:first-child{grid-column:1/-1}
.service-mosaic.few-images img:nth-child(2){grid-column:1/-1}
.inspiration{background:#f8f5f0;padding-top:60px}
.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 18px}
.inspiration-grid .photo-tile{min-width:0}.inspiration-grid .photo-tile img{aspect-ratio:4/5;object-fit:cover;width:100%;height:100%}
.inspiration-grid .photo-tile figcaption{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:10px}
.service-no-gallery{max-width:560px;margin:10px auto 0;text-align:center;color:#807266}
.editorial-story-link{max-width:420px;margin-top:35px}.editorial-story-link a{display:flex;flex-direction:column;gap:8px;color:var(--ink)}.editorial-story-link img{max-height:500px;width:100%;object-fit:cover}.editorial-story-link span{font-size:9px;letter-spacing:.17em;color:#a17c69}.editorial-story-link strong{font-family:var(--serif);font-size:23px;font-weight:400}
.faq-section{background:#fffdfb}.faq-wrap{max-width:980px}.faq-wrap .section-head{text-align:center}.faq-list{margin:0 auto;max-width:820px;border-top:1px solid #dcd4ca}.faq-item{border-bottom:1px solid #ded6cc}.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 3px;font-family:var(--serif);font-size:clamp(20px,2vw,27px);font-weight:400}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-family:var(--sans);font-size:23px;color:#816e5c;font-weight:300}.faq-item[open] summary span{transform:rotate(45deg)}.faq-answer{padding:0 35px 24px 3px;line-height:1.85;color:#70675e;font-size:14px}.intimate-promise{background:#eee6de}
.pricing-categories-large{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:27px}.pricing-categories-large .category-option{padding:0 0 23px;background:#fffdfb;border:1px solid #e2d8ce;box-shadow:none;text-align:left}.pricing-categories-large .category-option img{height:clamp(300px,33vw,450px);width:100%;object-fit:cover;display:block}.pricing-categories-large .category-option-copy{display:block;margin:19px 20px 0}.pricing-categories-large .category-option-copy strong{display:block;font-family:var(--serif);font-size:clamp(23px,2.6vw,37px);font-weight:400;line-height:1.1}.pricing-categories-large .category-option-copy small{font-size:9px;letter-spacing:.13em;color:#9b7b66;display:block;margin:10px 0 0;font-weight:700}.pricing-categories-large .category-option.selected{box-shadow:0 0 0 2px #9f816e;background:#fffdfb}.pricing-categories-large .category-option:focus-visible,.story-card a:focus-visible{outline:3px solid #916b54;outline-offset:3px}.pricing-intro{scroll-margin-top:108px}
/* No Instagram components or external feeds in this release. */
@media(max-width:1050px){.story-grid{gap:36px 15px}.service-about{gap:5%}.service-mosaic{grid-auto-rows:180px}.service-cover-caption h1{font-size:77px}.service-cover{min-height:580px}.pricing-categories-large .category-option img{height:320px}}
@media(max-width:820px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-cover{height:610px;min-height:0}.service-cover-caption{padding-bottom:55px}.service-cover-caption h1{font-size:66px}.service-cover .service-hero-img{width:72%}.service-about{grid-template-columns:1fr;gap:45px}.service-mosaic{grid-auto-rows:250px}.pricing-categories-large{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-categories-large .category-option img{height:300px}}
@media(max-width:600px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:35px}.story-image{aspect-ratio:3/4.5}.story-info{padding-top:12px}.story-info h3{font-size:clamp(25px,6vw,36px)}.story-info p{font-size:10px;line-height:1.45;margin-top:4px}.story-price{font-size:8px;line-height:1.5}.story-arrow{font-size:19px}.service-cover{height:auto;min-height:0;padding:0;display:flex;flex-direction:column;background:#28211d}.service-cover .service-hero-img{position:relative;order:0;width:100%;height:min(73svh,670px);max-height:none;object-fit:contain;object-position:center;background:#302824}.service-cover-shade{display:none}.service-cover .service-cover-caption{order:1;height:auto;padding-top:38px;padding-bottom:55px}.service-cover-caption h1{font-size:clamp(58px,12vw,78px);margin:12px 0 15px}.service-cover-caption>p:not(.eyebrow){font-size:13px}.service-story,.inspiration,.faq-section{padding-top:65px;padding-bottom:65px}.service-about-copy h2{font-size:51px}.service-about-copy>p:not(.eyebrow){font-size:13px}.service-mosaic{grid-auto-rows:170px;gap:9px}.service-mosaic.few-images{grid-auto-rows:270px}.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inspiration-grid .photo-tile figcaption{font-size:10px;flex-direction:column;align-items:flex-start}.faq-item summary{font-size:22px;padding:20px 0}.faq-answer{font-size:12px}.pricing-categories-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.pricing-categories-large .category-option img{height:clamp(210px,56vw,310px)}.pricing-categories-large .category-option-copy{margin:13px 10px 0}.pricing-categories-large .category-option-copy strong{font-size:25px}.pricing-categories-large .category-option-copy small{font-size:8px;letter-spacing:.06em}.pricing-categories-large .category-option{padding-bottom:17px}}
@media(prefers-reduced-motion:reduce){.story-image img{transition:none!important}}

/* Complete photographic feature within Editorial story page only */
.editorial-work{background:#f8f5f0}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.editorial-grid .photo-tile img{aspect-ratio:3/4;object-fit:cover;width:100%;height:100%}.editorial-grid .photo-tile figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px}.story-back{margin-top:25px}.editorial-story-link .photo-tile img{width:100%}@media(max-width:600px){.editorial-grid{grid-template-columns:repeat(2,1fr);gap:11px}.editorial-grid .photo-tile figcaption{flex-direction:column;align-items:flex-start}}


/* V3.3 refinements — photo-first, paper captions, legible typography. */
.home-story-grid{margin-top:44px}
.home-story-grid .story-info p{max-width:310px}
.home-story-grid .story-price{margin-top:12px}
.home-story-grid .story-image{aspect-ratio:4/5}
.home-story-grid .story-card:nth-child(3n+2) .story-image{aspect-ratio:4/5}
.service-cover{min-height:610px;max-height:860px}
.service-cover .service-hero-img{width:66%;object-fit:contain;object-position:center center}
.service-cover-shade{background:linear-gradient(90deg,#28211d 0%,#28211d 26%,rgba(40,33,29,.96) 32%,rgba(40,33,29,.52) 44%,transparent 66%)}
.pricing-categories-large .category-option{overflow:hidden}
.pricing-categories-large .category-option img{object-position:center 24%}
.pricing-categories-large .category-option img[src*="editorial-met"]{object-position:center 18%}
.pricing-categories-large .category-option.selected{box-shadow:0 0 0 2px #8a6e5e}
.mood-reference{font-size:11px;color:#746a60;margin-top:14px;max-width:530px;line-height:1.6;grid-column:1/-1}
.comparison{aspect-ratio:1365/2048;max-height:740px;width:min(100%,520px);margin:auto}
.comparison-image img{object-fit:contain!important;object-position:center center!important}
.service-mosaic>img{object-position:center 34%}
.service-mosaic>img:first-child{object-position:center 28%}
@media(max-width:900px){.service-cover-shade{background:linear-gradient(90deg,#28211d 0%,rgba(40,33,29,.9) 28%,transparent 75%)}.home-story-grid{margin-top:28px}}
@media(max-width:600px){.home-story-grid{margin-top:30px}.home-story-grid .story-image{aspect-ratio:3/4.4}.home-story-grid .story-info p{font-size:10px}.service-cover .service-hero-img{width:100%;height:70svh;max-height:690px;object-fit:contain}.service-cover .service-cover-shade{display:none}.comparison{width:100%;max-height:none;aspect-ratio:1365/2048}.pricing-categories-large .category-option img{height:clamp(235px,62vw,340px)}}
/* Mobile imagery: no artificial letterboxing around full-frame portraits. */
@media(max-width:600px){
  .hero{height:auto;min-height:0}
  .hero-photo{height:auto;min-height:0;max-height:none;display:block}
  .hero-photo img{display:block;width:100%;height:auto;object-fit:contain}
  .service-cover{height:auto;min-height:0}
  .service-cover .service-hero-img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
}


/* V3.4 UX refinements */
.hero-cta-row,.service-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.ghost-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 18px;min-height:50px;border:1px solid rgba(248,245,240,.45);color:#f8f5f0;text-decoration:none;font-size:11px;letter-spacing:.14em;font-weight:700;background:transparent;transition:border-color .25s ease,transform .25s ease,background .25s ease}
.ghost-button:hover{background:rgba(248,245,240,.08);border-color:#f8f5f0;transform:translateY(-1px)}
.secondary-link{opacity:.82}
.comparison{cursor:ew-resize;user-select:none}
.comparison.dragging{cursor:ew-resize}
.comparison-line{z-index:4;width:2px;background:rgba(248,245,240,.95)}
.comparison-line span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#6f594d;box-shadow:0 8px 22px rgba(0,0,0,.15);font-size:16px;font-weight:700;border:1px solid rgba(0,0,0,.06)}
.comparison-range{z-index:5;cursor:ew-resize}
.reveal-packages .tier-card{animation:packageReveal .75s cubic-bezier(.22,1,.36,1) both}
.reveal-packages .tier-card:nth-child(2){animation-delay:.08s}
.reveal-packages .tier-card:nth-child(3){animation-delay:.16s}
@keyframes packageReveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.hero-cta-row,.service-cta-row{gap:10px}.ghost-button{width:100%;padding:14px 16px;font-size:9px}.hero-cta-row .light-button{width:100%;justify-content:center}}


/* V3.5 — definitive image, editorial/gallery and interaction refinements */
.logo{align-items:center!important;text-align:center;justify-content:center}
.logo .brand-name,.logo .brand-subline{display:block;text-align:center;margin-left:0!important;margin-right:0!important;padding-left:.23em}
.logo .brand-subline{padding-left:.42em}
.footer-top>div:first-child .footer-logo{display:flex;width:max-content;max-width:100%;align-items:center;justify-content:center}
.footer-top>div:first-child p{max-width:370px}
/* Feature images: family and boudoir have tailor-made full-body / close framing assets */
.story-card img[data-service-card="boudoir"],.story-card img[src*="boudoir-cover-full-length"]{object-fit:cover;object-position:center center}
.story-card img[data-service-card="families"],.story-card img[src*="family-cover-close"]{object-fit:cover;object-position:center 49%}
.pricing-categories-large .category-option img[src*="boudoir-cover-full-length"]{object-fit:cover;object-position:center center}
.pricing-categories-large .category-option img[src*="family-cover-close"]{object-fit:cover;object-position:center 50%}
.service-cover[data-service="boudoir"] .service-hero-img{object-position:center bottom;object-fit:contain}
.service-cover[data-service="families"] .service-hero-img{object-position:center 45%;object-fit:contain}
/* Spacious, visible photographic collections on individual services */
.inspiration{padding-top:95px;padding-bottom:110px;background:#f8f5f0}
.inspiration .section-head{margin-bottom:22px}
.gallery-lead{font-size:13px;color:#796d60;max-width:660px;margin-bottom:34px}
.inspiration-grid{gap:26px 17px;align-items:start}
.inspiration-grid .photo-tile{position:relative;display:block}
.inspiration-grid .photo-button{aspect-ratio:4/5;display:block;height:auto;overflow:hidden}
.inspiration-grid .photo-button img{aspect-ratio:unset;width:100%;height:100%;object-fit:cover}
.inspiration-grid .photo-tile:nth-child(6n+2) .photo-button{aspect-ratio:4/5.35}
.inspiration-grid .photo-tile figcaption{font-size:10px;line-height:1.5;gap:10px}
.service-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #ddd3c8;margin-top:42px;padding-top:22px}
.service-gallery-count{font-size:11px;letter-spacing:.08em;color:#89796d}
/* Comparison: base image and clipped original share same coordinates, no resizing of layers */
.comparison{--split:50%;isolation:isolate;aspect-ratio:1365/2048;width:min(100%,505px);height:auto;max-height:none;overflow:hidden;position:relative;touch-action:pan-y;cursor:ew-resize;background:#ccb9a5;border:1px solid rgba(40,28,19,.25);box-shadow:0 18px 48px rgba(44,33,23,.12)}
.comparison-image{position:absolute;inset:0;overflow:hidden;pointer-events:none;transform:none!important}
.comparison-image img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill!important;object-position:50% 50%!important;max-width:none;transform:none!important;user-select:none;-webkit-user-drag:none}
.comparison-image.comparison-base{z-index:1;clip-path:none!important}
.comparison-image.comparison-overlay{z-index:2;clip-path:inset(0 calc(100% - var(--split)) 0 0)!important}
.comparison-line{position:absolute;z-index:4;top:0;bottom:0;left:var(--split);width:2px;background:#fff;pointer-events:none;transform:translateX(-50%)}
.comparison-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:48px;width:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fffcf8;color:#3c2b21;border:2px solid #d7c6b5;font-size:23px;box-shadow:0 6px 20px #0005}
.comparison-label{z-index:4;background:rgba(27,19,15,.82);pointer-events:none}
.comparison-range{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:none;opacity:1;border:0;outline-offset:-5px;touch-action:none;cursor:ew-resize}
.comparison-range::-webkit-slider-runnable-track{background:transparent;height:100%;border:0}
.comparison-range::-moz-range-track{background:transparent;height:100%;border:0}
.comparison-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;border:none;height:50px;width:50px;background:transparent;box-shadow:none;cursor:ew-resize}
.comparison-range::-moz-range-thumb{border:none;height:50px;width:50px;background:transparent;cursor:ew-resize}
.comparison-range:focus-visible{outline:3px solid #a47e64;opacity:1}
.comparison-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px auto 0;width:min(100%,505px)}
.compare-preset{background:transparent;color:#64584c;border:1px solid #bbaea1;padding:12px 10px;flex:1;font-size:9px;font-weight:700;letter-spacing:.12em;transition:background .2s,color .2s}
.compare-preset:hover,.compare-preset.is-active{background:#322821;color:#fff;border-color:#322821}
.comparison-hint{font-size:11px;color:#817469;line-height:1.6;margin:12px auto 0;width:min(100%,505px)}
@media(max-width:820px){.compare-layout{grid-template-columns:1fr;gap:34px}.comparison{width:min(100%,520px);max-height:none}.comparison-controls,.comparison-hint{width:min(100%,520px)}}
@media(max-width:600px){.comparison{width:100%;aspect-ratio:1365/2048;max-height:none}.inspiration{padding-top:70px;padding-bottom:80px}.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 11px}.gallery-lead{margin-bottom:24px}.service-gallery-footer{flex-direction:column;align-items:flex-start}.compare-preset{font-size:8px;padding:13px 5px}.service-cover[data-service="families"] .service-hero-img,.service-cover[data-service="boudoir"] .service-hero-img{object-fit:contain;width:100%;height:auto}}

.comparison-panel{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}


/* V3.6 refinements */
.logo,.footer-brand,.brand-lockup{text-align:center}.logo{justify-self:center;align-self:center;margin-inline:auto}.logo .brand-name,.logo .brand-subline{display:block;text-align:center}
.service-card-media img,[data-service-card],.service-card img,.service-hero-img,.photo-tile img,.service-mosaic img,.gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center center}
.service-cover[data-service="boudoir"] .service-hero-img{object-position:center 18%}
.service-cover[data-service="families"] .service-hero-img{object-position:center 32%}
.service-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-content:start}
.service-mosaic img{aspect-ratio:1/1;border-radius:0;display:block}
.inspiration-grid .photo-tile img{aspect-ratio:1/1}
.compare-side-by-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.compare-side-by-side figure{margin:0;background:#fff;border:1px solid rgba(0,0,0,.08)}.compare-side-by-side img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.compare-side-by-side figcaption{padding:.8rem 1rem;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#7b6a61}
.detail-pillars{padding-top:0}.pillars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.pillar-card{background:#f5f0eb;border:1px solid rgba(0,0,0,.06);padding:1.5rem}.pillar-card h3{margin:.35rem 0 .65rem;font-size:1.45rem;line-height:1.1}.pillar-card p:last-child{margin-bottom:0}
@media (max-width: 900px){.pillars-grid,.compare-side-by-side{grid-template-columns:1fr}}

.service-cover[data-service="boudoir"] .service-hero-img,.service-cover[data-service="families"] .service-hero-img{width:100%!important;height:100%!important;object-fit:cover!important}

/* ===== SENECA ALEXANDER / V4 EDITORIAL REFINEMENTS ===== */
/* Separate image, typography and content without hiding parts of photographs. */
body{overflow-x:hidden}
.header-inner>.logo{margin:0!important;text-align:center;min-width:208px}
.header-inner>.logo .brand-name{letter-spacing:.18em;padding:0!important}
.header-inner>.logo .brand-subline{letter-spacing:.32em;padding:0!important}
.footer-logo .brand-name,.footer-logo .brand-subline{padding:0!important}
@media(max-width:700px){.header-inner>.logo{min-width:0!important;margin:0!important}}
/* Full-frame before and after: no partial reveal. */
.comparison-v4{width:100%;align-items:stretch;display:block}
.before-after-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.before-after-pair figure{margin:0;min-width:0;background:#faf7f2;border:1px solid #d6ccbd}
.before-after-pair img{width:100%;height:auto;display:block;aspect-ratio:1365/2048;object-fit:contain;background:#c5b09a}
.before-after-pair figcaption{display:flex;align-items:center;justify-content:space-between;padding:15px 14px;gap:10px}
.before-after-pair figcaption span{font-size:9px;font-weight:700;letter-spacing:.16em;color:#8f7461}
.before-after-pair figcaption strong{font-family:var(--serif);font-size:28px;font-weight:400}
.comparison-v4 .comparison-hint{width:100%;max-width:none;text-align:center;margin-top:17px}
/* Gallery: each photograph has its own intrinsic aspect ratio; no rectangular crop. */
.service-mosaic,.service-mosaic.few-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:12px;align-content:start;align-items:start}
.service-mosaic img,.service-mosaic>img,.service-mosaic.few-images img,.service-mosaic.few-images img:first-child,.service-mosaic.few-images img:nth-child(2){display:block;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;grid-column:auto!important;max-height:520px;background:#e9dfd5}
.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 16px;align-items:start}
.inspiration-grid .photo-tile,.inspiration-grid .photo-button,.inspiration-grid .photo-tile:nth-child(6n+2) .photo-button{width:100%;height:auto!important;min-height:0;aspect-ratio:auto!important;overflow:visible;background:transparent}
.inspiration-grid .photo-button img,.inspiration-grid .photo-tile img{display:block;width:100%!important;height:auto!important;aspect-ratio:auto!important;max-height:640px;object-fit:contain!important;object-position:center!important;background:#eae3da}
.inspiration-grid .photo-tile figcaption{font-size:11px;line-height:1.5}
/* Specific covers: frame subjects properly, without slicing off boudoir heels. */
.story-card img[data-service-card="boudoir"],.pricing-categories-large img[src*="boudoir-cover-v4-card"]{object-fit:cover!important;object-position:center center!important;background:#e5dacf}
.story-card img[data-service-card="families"],.pricing-categories-large img[src*="family-cover-close"]{object-fit:cover!important;object-position:center 46%!important}
.story-card img[data-service-card="couples"]{object-fit:cover!important;object-position:center 48%!important}
.service-cover[data-service="boudoir"]{background:#29211b}
.service-cover[data-service="boudoir"] .service-hero-img{width:64%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#29211b}
.service-cover[data-service="families"] .service-hero-img{width:67%!important;height:100%!important;object-fit:cover!important;object-position:center 46%!important}
/* A little more visual breathing room for deeper content */
.home-process{background:#fffdfa}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:50px}
.process-steps article{padding-top:20px;border-top:1px solid #d5c9bc}
.process-steps article>span{font:400 70px/1 var(--serif);color:#d1c5b8}
.process-steps article h3{font-size:30px;margin:10px 0 15px}
.process-steps article p{color:#71675f;font-size:13px}
.home-process-actions{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:44px;flex-wrap:wrap}
.home-artist{background:#eae2d7}.home-artist .split-head>div:last-child p{font-size:15px}
.home-inclusions{background:#ece7de}
.inclusions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 45px;margin-top:45px}
.inclusions-grid article{border-top:2px solid #c8a48d;padding-top:18px}
.inclusions-grid article h3{font-size:30px;margin-bottom:12px}
.inclusions-grid article p{color:#71675f;font-size:13px}
.rate-contact{margin-top:25px!important;font-size:13px!important}.rate-contact a{font-weight:700;border-bottom:1px solid currentColor}
.about-copy p{margin:0 0 20px!important;font-size:14px!important;line-height:1.88}
.about-copy h2{margin:15px 0 30px}
.about-copy .about-languages{letter-spacing:.09em;text-transform:uppercase;font-size:10px!important;color:#8a6d5c}
.about-cta-row{display:flex;gap:23px;align-items:center;margin-top:30px;flex-wrap:wrap}
.about-values{background:#eee7dd}
.philosophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.philosophy-grid article{padding:35px;background:#fffdfa}
.philosophy-grid article>span{font:400 42px var(--serif);color:#bc9b87}
.philosophy-grid article h3{margin:22px 0 15px;font-size:33px}
.philosophy-grid article p{font-size:13px;color:#766a61}
.boudoir-consult{background:#fffdfa}
.consult-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:start}
.consult-layout h2{margin:15px 0 25px}
.consult-layout>div:last-child p{color:#72675e;font-size:14px;margin:14px 0 22px}
.consult-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:29px}
.pricing-help{max-width:720px;margin:40px auto 0;text-align:center;background:#eee7dc;padding:24px}
.pricing-help p{font-size:13px;margin-bottom:12px}
.future-booking-note{padding:45px 0;background:#f2ece4}.future-booking-note .wrap{max-width:900px}.future-booking-note p:not(.eyebrow){font-size:12px;color:#756b61;margin:10px 0 15px}
@media(max-width:950px){.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.service-cover[data-service="boudoir"] .service-hero-img{width:69%!important}.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.process-steps{gap:25px 18px}.process-steps article>span{font-size:48px}.process-steps article h3{font-size:25px}.inclusions-grid,.philosophy-grid,.consult-layout{grid-template-columns:1fr;gap:22px}.service-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-cover[data-service="boudoir"] .service-hero-img,.service-cover[data-service="families"] .service-hero-img{width:100%!important;height:auto!important;object-fit:contain!important}.comparison-v4 .before-after-pair{gap:6px}.before-after-pair figcaption{display:block;padding:10px 7px}.before-after-pair figcaption strong{display:block;font-size:24px;margin-top:3px}.before-after-pair figcaption span{font-size:8px}.inspiration-grid{gap:24px 10px}.inspiration-grid .photo-tile figcaption{font-size:9px}.about-copy p{font-size:13px!important}.philosophy-grid article{padding:26px}}
@media(max-width:430px){.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-steps{grid-template-columns:1fr 1fr}.service-mosaic img{max-height:360px}}

/* ==========================================================
   V4.1 image fixes: matched aspect, no baked-in padding,
   fully visible homepage selects, properly framed thumbnails.
   ========================================================== */
/* Consistent tall service cards let the ORIGINAL boudoir image fit edge to edge,
   including the full subject from head to toe. */
.story-image{aspect-ratio:2/3!important;background:#f7f4ef!important;overflow:hidden}
.story-card .story-image img,.story-card img[data-service-card="boudoir"]{
 display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
 object-position:center center!important;background:transparent!important;
}
/* Pricing uses the same aspect ratio rather than squeezing a 2:3 photo in a square. */
.pricing-categories-large .category-option img{
 display:block!important;width:100%!important;height:auto!important;aspect-ratio:2/3!important;
 object-fit:cover!important;object-position:center center!important;background:#f7f4ef!important;
}
/* Full-frame Selected Moments: four art prints, no forced horizontal cropping. */
.feature-gallery{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 grid-auto-rows:auto!important;column-gap:17px;row-gap:30px;align-items:start!important;
}
.feature-gallery .photo-tile,.feature-gallery .featured-1,.feature-gallery .featured-2,
.feature-gallery .featured-3,.feature-gallery .featured-4,.feature-gallery .featured-5{
 grid-column:auto!important;grid-row:auto!important;display:block!important;align-self:start!important;
}
.feature-gallery .photo-button{
 display:block!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;
 overflow:visible!important;background:transparent!important;
}
.feature-gallery .photo-button img{
 display:block!important;width:100%!important;height:auto!important;max-height:none!important;
 object-fit:contain!important;aspect-ratio:auto!important;object-position:center!important;
}
.feature-gallery figcaption{display:flex!important;align-items:flex-start!important;gap:8px!important;font-size:10px}
.feature-gallery figcaption strong{text-align:right}
/* Keep original and finished compositions the same image ratio and fully visible. */
.before-after-pair img{display:block;width:100%!important;height:auto!important;aspect-ratio:2/3!important;object-fit:contain!important}
/* Image-first service pages: native photo ratios; no gray inside-image borders. */
.inspiration-grid .photo-button img{background:transparent!important}
.service-mosaic img{background:transparent!important}
/* Desktop service hero allows the entire figure to appear in the image panel. */
.service-cover[data-service="boudoir"] .service-hero-img{
 width:57%!important;height:100%!important;object-fit:contain!important;
 object-position:center center!important;background:#29211b!important;
}
@media(max-width:1100px){
 .feature-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
 .feature-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 11px}
 .feature-gallery figcaption{display:block!important}
 .feature-gallery figcaption strong{display:block!important;text-align:left;margin-top:3px}
 .service-cover[data-service="boudoir"] .service-hero-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 38%!important}
}

/* V4.2 — Targeted refinement of the ORIGINAL V4.1 site, not a redesign. */
/* The original typography, original hero images, service cards and desktop layouts are preserved. */
.nav-book-mobile{display:none!important}
.hamburger-icon{width:27px;height:20px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}
.hamburger-icon i{display:block;width:100%;height:1.5px;background:currentColor;border-radius:1px;transition:transform .22s ease,opacity .22s ease}
.menu-toggle[aria-expanded="true"] .hamburger-icon i:first-child{transform:translateY(9px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .hamburger-icon i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .hamburger-icon i:last-child{transform:translateY(-9px) rotate(-45deg)}
.story-arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:var(--ink)}
.story-arrow svg{display:block}
.selected-portfolio-action{display:flex;justify-content:center;margin-top:60px}
.selected-portfolio-button{min-width:205px;gap:18px}
/* Keep page sections focused on the gallery; avoid empty footer/description space. */
.inspiration .section-head{margin-bottom:34px}
.inspiration .service-gallery-footer{display:none}
@media(max-width:820px){
  .site-header .book-link{display:none!important}
  .site-header .menu-toggle{display:flex!important;align-items:center;justify-content:center;margin-left:auto;width:42px;height:43px;padding:7px!important;color:var(--ink)}
  .site-header .nav .nav-book-mobile{display:block!important;border-top:1px solid var(--line);width:100%;margin-top:8px;padding-top:18px;color:var(--ink)}
  .header-inner{justify-content:space-between}
}
@media(max-width:700px){
  /* True full-bleed image edges; no dark side gutters on ANY service page. */
  .service-cover{display:flex!important;flex-direction:column!important;height:auto!important;max-height:none!important;min-height:0!important;padding:0!important;overflow:hidden!important}
  .service-cover[data-service] .service-hero-img{
    position:relative!important;order:0!important;display:block!important;
    left:auto!important;right:auto!important;top:auto!important;transform:none!important;
    width:100%!important;height:min(72svh,680px)!important;max-height:none!important;
    margin:0!important;padding:0!important;object-fit:cover!important;
    object-position:center 38%!important;background:transparent!important;
  }
  .service-cover[data-service="portraits"] .service-hero-img{object-position:center 38%!important}
  .service-cover[data-service="couples"] .service-hero-img{object-position:center 47%!important}
  .service-cover[data-service="families"] .service-hero-img{object-position:center 45%!important}
  .service-cover[data-service="graduates"] .service-hero-img{object-position:center 40%!important}
  .service-cover[data-service="boudoir"] .service-hero-img{object-position:center 42%!important}
  .service-cover[data-service="editorial"] .service-hero-img{object-position:center 35%!important}
  .service-cover .service-cover-caption{position:relative!important;order:1!important;z-index:1!important;padding-top:32px!important;padding-bottom:37px!important}
  .service-cover-caption h1{font-size:clamp(52px,11vw,72px)!important;margin:10px 0 12px!important}
  .service-cover .hero-cta-row{display:flex;gap:8px!important;margin-top:20px!important}
  .service-cover .hero-cta-row .light-button{width:auto!important;min-height:42px!important;padding:12px 19px!important;font-size:9px!important;letter-spacing:.12em!important;gap:10px!important}
  .service-cover .hero-cta-row .ghost-button{display:none!important}
  .service-story,.inspiration,.faq-section{padding-top:52px!important;padding-bottom:54px!important}
  .selected-portfolio-action{margin-top:38px}
  .selected-portfolio-button{min-height:45px;min-width:185px;padding:13px 22px;font-size:9px}
  .inspiration .section-head{margin-bottom:23px}
}

/* Non-destructive closer framing of the newly supplied black-lace photo in thumbnails only. */
.inspiration-grid .photo-tile.black-lace-close .photo-button{overflow:hidden!important;aspect-ratio:4/5!important}
.inspiration-grid .photo-tile.black-lace-close .photo-button img{width:100%!important;height:100%!important;aspect-ratio:4/5!important;object-fit:cover!important;object-position:center 43%!important;transform:scale(1.045)}
.portfolio-grid .photo-tile.black-lace-close .photo-button{overflow:hidden!important}
.portfolio-grid .photo-tile.black-lace-close .photo-button img{object-position:center 43%!important;transform:scale(1.045)}

/* V4.3: discrete payment choices on booking inquiry only. */
.booking-payment{border:1px solid #ded2c6;background:#fbf7f2;padding:23px 24px;display:grid;gap:15px;min-width:0}
.booking-payment .eyebrow{margin:0;font-size:10px}
.payment-option-tags{display:flex;flex-wrap:wrap;gap:9px}
.payment-option-tags span{display:inline-block;border:1px solid #d9cabb;padding:8px 15px;color:#4b3a30;font-size:11px;letter-spacing:.06em;background:#fffdf9}
.booking-payment>label{gap:9px}
.booking-payment .payment-disclaimer{font-size:11px;line-height:1.75;color:#6d6057;margin:0}
.booking-payment .payment-disclaimer strong{color:#33271e;font-weight:700}
.booking-payment .payment-online-note{padding-top:12px;border-top:1px solid #e1d6c9;font-size:10px;color:#756960;line-height:1.6;margin:0}
@media(max-width:600px){.booking-payment{padding:21px 17px}.payment-option-tags span{padding:8px 12px}}

/* V4.4: add secure card / bank choices and flexible international methods to booking only. */
.booking-payment .payment-intro{margin:0;color:#6d6057;font-size:12px;line-height:1.7}
.booking-payment .payment-method-groups{display:grid;gap:18px}
.booking-payment .payment-method-group{display:grid;gap:10px}
.booking-payment .payment-group-label{margin:0;color:#4a3a30;font-size:10px;letter-spacing:.16em;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.booking-payment .payment-group-status{font-size:9px;font-weight:500;letter-spacing:.08em;color:#87786c;border-left:1px solid #cec0b1;padding-left:9px}
.booking-payment .payment-option-tags span small{font-size:9px;letter-spacing:0;color:#7f7065}
.booking-payment .payment-group-hint{margin:0;color:#766960;font-size:10px;line-height:1.65}
.booking-payment select{width:100%;max-width:100%;min-width:0}
@media(max-width:600px){.booking-payment .payment-method-groups{gap:16px}.booking-payment .payment-group-label{gap:7px}.booking-payment .payment-option-tags{gap:7px}}

/* V4.6 — focused updates: retain the V4.5 design, font and service covers. */
/* Full-bleed original homepage photograph; no beige letterbox gutters. */
.hero .hero-photo{overflow:hidden}
.hero .hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:53% 54%}
/* One discreet secondary navigation at the end of each service, not another wide hero button. */
.service-explore-link{display:table;margin:23px auto 0;padding:7px 1px;border-bottom:1px solid rgba(255,255,255,.7);font-size:10px;letter-spacing:.16em;font-weight:600;color:#ede4d9;text-decoration:none;transition:color .2s,border-color .2s}
.service-explore-link:hover,.service-explore-link:focus-visible{color:white;border-color:white}
/* iOS Safari sometimes applies system-blue button text when no explicit color is set. */
button.category-option,.pricing-categories-large button.category-option{appearance:none;-webkit-appearance:none;border-radius:0;color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:rgba(60,43,30,.1)}
.pricing-categories-large button.category-option .category-option-copy,.pricing-categories-large button.category-option .category-option-copy strong{color:var(--ink)}
.pricing-categories-large button.category-option .category-option-copy small{color:#8b6956}
.pricing-help{margin:28px auto 0;max-width:780px;padding:24px 29px;text-align:center}
.pricing-help .text-arrow{display:inline-block;margin-top:2px}
.pricing-aside{margin-top:20px;justify-content:center;text-align:center}
.pricing-aside span{max-width:830px}
.nav-instagram-mobile{display:none!important}
@media(max-width:820px){
  .site-header .nav .nav-instagram-mobile{display:block!important;width:100%;color:var(--ink);padding:12px 0 3px;font-size:11px;letter-spacing:.16em;font-weight:700}
}
@media(max-width:600px){
  .hero .hero-photo{height:min(73svh,650px);min-height:0;max-height:none;background:#d7c8b4;overflow:hidden}
  .hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 54%}
  .pricing-categories-large .category-option-copy small{font-size:9.5px;letter-spacing:.06em}
  .story-price{font-size:10px;letter-spacing:.1em}
  .tier-price{font-size:60px}
  .pricing-help{margin-top:23px;padding:21px 17px}
  .service-explore-link{font-size:9px;margin-top:20px}
}

/* V4.7 — Editorial Style, five-step process, free location scouting, one 24-hour reschedule. */
.process-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:21px}
.process-steps article>span{font-size:58px}
.process-steps article h3{font-size:27px;line-height:1.08}
.process-steps article p{font-size:12px}
.inline-underlink{color:var(--ink);border-bottom:1px solid #9a8878;text-decoration:none}
.editorial-home-feature{background:#f0ebe4}
.editorial-home-header{display:grid;grid-template-columns:.78fr 1.22fr;gap:7%;align-items:center}
.editorial-home-header h2{margin:16px 0 24px}
.editorial-home-header p:not(.eyebrow){color:#776b60;margin-bottom:24px;max-width:475px;font-size:14px}
.editorial-home-header .editorial-feature-cost{font-size:10px!important;font-weight:700;letter-spacing:.16em;color:#8e6b52!important}
.editorial-home-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:center}
.editorial-home-previews img{width:100%;height:390px;object-fit:cover;box-shadow:0 3px 14px #251c150e}
.editorial-home-previews img:nth-child(2){transform:translateY(-20px)}
.fashion-editorial-teaser,.graduation-editorial-teaser{background:#ede6dd}
.editorial-teaser-layout{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:8%}
.editorial-teaser-layout h2,.grad-editorial-inner h2{margin:15px 0 24px}
.editorial-teaser-layout p:not(.eyebrow),.grad-editorial-inner p:not(.eyebrow){font-size:14px;color:#70645a;margin-bottom:17px}
.editorial-teaser-layout .text-arrow,.grad-editorial-inner .text-arrow{margin-top:13px}
.editorial-teaser-images{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center}
.editorial-teaser-images img{width:100%;aspect-ratio:4/5;object-fit:cover}
.grad-editorial-inner{display:grid;grid-template-columns:1.4fr .65fr;gap:12%;align-items:center}
.grad-editorial-inner .muted-note{font-size:12px!important}
.grad-editorial-accent{background:#332820;color:#f7f1e9;min-height:315px;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:34px;text-align:center;gap:14px}
.grad-editorial-accent span,.grad-editorial-accent small{font-size:9px;letter-spacing:.22em}
.grad-editorial-accent strong{font-family:var(--serif);font-weight:400;font-size:58px;line-height:.92}
.editorial-addon-card{background:#f6f1e9}
.editorial-addon-card .inline-underlink{font-size:9px;letter-spacing:.1em;display:inline-block;margin-top:13px}
.custom-quotes{background:#fffefa}
.custom-quote-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:12%;align-items:center}
.custom-quote-inner h2{margin:16px 0 20px}
.custom-quote-inner p:not(.eyebrow){font-size:14px;color:#71675f;margin-bottom:18px}
.custom-quote-inner .custom-policy{font-size:12px!important}
.custom-actions{display:flex;align-items:flex-start;flex-direction:column;gap:21px}
.service-custom-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:18px}
.contact-instagram{margin-top:32px;border-top:1px solid var(--line);padding-top:27px}
.contact-instagram p{font-size:13px!important;margin:13px 0!important}
.contact-instagram .text-arrow{font-size:9px}
.booking-form .form-help{font-size:10px;color:#81756a;font-weight:400;line-height:1.5}
.booking-form .editorial-booking-addon{grid-column:1/-1}
.editorial-brief{background:#f6f0e9;border:1px solid #e3d6c9;padding:20px}
.editorial-brief p{font-size:11px;margin-top:12px;color:#70665c}
.booking-form .form-policy{font-size:11px;line-height:1.7;color:#6f5f52;padding:13px 15px;background:#f4eee7}
.studio-note .booking-location-note{padding-top:11px;border-top:1px solid #d7cabc}
.editorial-style-heading{background:#f6f1ea}
.editorial-style-intro{background:#fffdf9}
.editorial-style-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%;align-items:center}
.editorial-style-intro-grid h2{margin:16px 0 27px}
.editorial-style-intro-grid p:not(.eyebrow){font-size:14px;color:#6e6258;margin-bottom:21px}
.editorial-style-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:28px}
.editorial-style-intro-photo img{width:100%;max-height:710px;object-fit:contain;background:#e9e1d5}
.editorial-style-intro-photo figcaption{font-size:10px;letter-spacing:.16em;color:#938172;text-align:center;margin-top:12px}
.editorial-transformation{background:#ece7e0}
.editorial-before-after{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1020px;margin:auto;align-items:start}
.editorial-before-after img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.editorial-before-after figcaption{font-size:10px;letter-spacing:.16em;color:#78695c;font-weight:700;padding:15px 2px}
.editorial-style-footnote{text-align:center;font-size:11px;color:#796f67;margin:21px auto 0;max-width:650px}
.editorial-showcase{background:#fffefa}
.editorial-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 16px}
.editorial-style-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center}
.editorial-style-grid figcaption{font-size:11px;color:#72665c;margin-top:13px}
.editorial-style-process{background:#f0e9df}
.editorial-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin:40px 0}
.editorial-process-grid article{border-top:1px solid #cabbad;padding-top:22px}
.editorial-process-grid h3{font-size:35px;margin-bottom:12px}
.editorial-process-grid p{font-size:13px;color:#776b60}
.editorial-style-note{text-align:center;font-size:12px;color:#716458;max-width:790px;margin:0 auto}
@media(max-width:1100px){.process-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial-style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.editorial-home-header,.editorial-teaser-layout,.grad-editorial-inner,.editorial-style-intro-grid,.custom-quote-inner{grid-template-columns:1fr;gap:34px}.editorial-home-previews img{height:300px}.editorial-home-previews img:nth-child(2){transform:none}.editorial-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.process-steps article>span{font-size:49px}.process-steps article h3{font-size:25px}.editorial-home-previews{gap:7px}.editorial-home-previews img{height:245px}.editorial-teaser-images{gap:9px}.editorial-style-actions .text-arrow{white-space:normal}.editorial-before-after{gap:10px}.editorial-before-after figcaption{font-size:8px}.editorial-style-grid{gap:24px 10px}.editorial-process-grid{grid-template-columns:1fr;gap:14px}.grad-editorial-accent{min-height:230px}.grad-editorial-accent strong{font-size:46px}.custom-actions .ink-button{width:100%}.booking-form .editorial-booking-addon{grid-column:1/-1}}
@media(max-width:380px){.editorial-home-previews img{height:190px}.editorial-style-grid figcaption{font-size:10px}}


/* V4.8 — careful readability, gallery order, form layout and responsive fixes. */
/* A magazine cover is a designed full canvas: never crop off the lettering. */
.editorial-home-previews{gap:13px;align-items:center}
.editorial-home-previews img,
.editorial-home-previews img:nth-child(2){
 width:100%;height:auto;max-height:410px;aspect-ratio:4/5;
 object-fit:contain;object-position:center center;display:block;
 background:transparent;transform:none;box-shadow:0 3px 14px #251c150c;
}
/* Give the unique editorial cover stronger distinction without changing other extras. */
.addons-grid>.editorial-addon-card{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:7px 28px;align-items:center;
 background:#bda089;border:1px solid #795840;color:#24170e;padding:25px 30px;}
.editorial-addon-card .premium-addon-number{grid-column:1/-1;color:#573720;font-size:10px}
.editorial-addon-card .premium-addon-label{grid-column:1/-1;justify-self:start;display:inline-block;background:#432919;color:#fff4e9;border-radius:2px;
 padding:7px 10px;font:700 10px/1.1 var(--sans);letter-spacing:.13em;}
.addons-grid>.editorial-addon-card h3{grid-column:1;grid-row:3;margin:3px 0;font-size:clamp(27px,2.5vw,40px)}
.addons-grid>.editorial-addon-card p{grid-column:2;grid-row:3;margin:0;min-height:0;color:#352419;font-size:12px;line-height:1.65}
.addons-grid>.editorial-addon-card strong{grid-column:3;grid-row:3;white-space:nowrap;margin:0;background:#4d3020;padding:14px 15px;color:#fff;font-size:12px;letter-spacing:.04em}
.addons-grid>.editorial-addon-card .inline-underlink{grid-column:1/-1;grid-row:4;width:max-content;max-width:100%;border-color:#61442f;color:#24170e;font-weight:700;margin-top:8px}
/* Checkbox, explanation and price on the same line at all viewport widths. */
.booking-form .addon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
.booking-form .addon-list label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;
 padding:12px 13px;border:1px solid #ddd3c9;background:#fffcf8;line-height:1.45;min-width:0;cursor:pointer;
 font-size:11px;color:#463b34;}
.booking-form .addon-list label input{width:17px;height:17px;margin:0;align-self:center;accent-color:#4f3928}
.booking-form .addon-list label span{display:block;min-width:0;color:#40372f;font-weight:500}
.booking-form .addon-list label b{display:block;margin:0;color:#3d3025;font-size:12px;font-weight:700;justify-self:end}
.booking-form .addon-list label:has(input:checked){border-color:#8b6e55;background:#f5eee6}
.booking-form .addon-list label:focus-within{outline:2px solid #a1846d;outline-offset:2px}
.booking-form .addon-list .editorial-booking-addon:not([hidden]){grid-column:1/-1;background:#f1e3d4;border-color:#be9f83}
.booking-form .form-help{display:block;font-size:11px;color:#786b60;font-weight:400;line-height:1.65;margin:0 0 3px}
/* Group designs by their model; full images open in existing dialog photo viewer. */
.editorial-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}
.editorial-style-pair{min-width:0}
.editorial-pair-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.editorial-pair-images figure{min-width:0}
.editorial-cover-open{display:block;width:100%;border:0;background:#eee7df;padding:0;position:relative;cursor:zoom-in;overflow:hidden}
.editorial-cover-open img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center center}
.editorial-view-icon{position:absolute;right:10px;bottom:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fffdf3e8;color:#30241e;font-size:17px}
.editorial-cover-open:hover .editorial-view-icon,.editorial-cover-open:focus-visible .editorial-view-icon{background:#342920;color:white}
.editorial-cover-open:focus-visible{outline:3px solid #96785c;outline-offset:2px}
.editorial-pair-images figcaption{font-size:10px;color:#75685c;margin-top:9px}
.editorial-pair-caption{padding-top:12px}
.editorial-pair-caption h3{font-size:clamp(23px,2.2vw,33px);font-family:var(--serif);font-weight:400;line-height:1.18}
.editorial-pair-caption p{font-size:11px;color:#75695f;margin-top:7px}
/* Larger lightbox is allowed to display complete 1080 x 1350 designs. */
.lightbox img{max-height:min(86vh,1100px);max-width:min(90vw,1050px);object-fit:contain}
@media(max-width:900px){
 .addons-grid>.editorial-addon-card{grid-template-columns:minmax(0,1fr) auto;gap:8px 18px}
 .addons-grid>.editorial-addon-card h3{grid-column:1;grid-row:3}
 .addons-grid>.editorial-addon-card p{grid-column:1/-1;grid-row:4}
 .addons-grid>.editorial-addon-card strong{grid-column:2;grid-row:3}
 .addons-grid>.editorial-addon-card .inline-underlink{grid-column:1/-1;grid-row:5}
}
@media(max-width:700px){
 .editorial-home-previews{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:13px;padding:2px 1px 15px;scrollbar-width:thin}
 .editorial-home-previews img,.editorial-home-previews img:nth-child(2){flex:0 0 66%;width:66%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:contain;scroll-snap-align:center;transform:none}
 .editorial-style-grid{grid-template-columns:1fr;gap:31px}
 .editorial-pair-images{gap:9px}
 .editorial-pair-caption h3{font-size:28px}
 .booking-form .addon-list{grid-template-columns:1fr;gap:8px}
 .booking-form .addon-list label{padding:12px 11px;gap:8px;grid-template-columns:19px minmax(0,1fr) auto}
 .booking-form .addon-list label span{font-size:11px}
 .booking-form .addon-list label b{font-size:11px}
 .addons-grid>.editorial-addon-card{grid-column:1/-1;padding:22px 17px;gap:11px}
 .addons-grid>.editorial-addon-card h3{font-size:32px}
 .addons-grid>.editorial-addon-card strong{padding:11px 9px;font-size:11px}
 .lightbox img{max-height:82vh;max-width:91vw}
}
/* Preserve the conditional editorial option until Fashion or Graduation is chosen. */
.booking-form .addon-list label[hidden]{display:none!important}


/* ===== V5 refinement updates ===== */
.footer-top>div:first-child{display:flex;flex-direction:column;align-items:center;text-align:center}
.footer-logo{align-items:center!important;justify-content:center!important}
.footer-logo .brand-subline{margin-left:0!important}
.footer-top>div:first-child p{margin-left:auto;margin-right:auto;text-align:center}
.service-custom-stack{display:flex;flex-direction:column;gap:12px;margin-top:24px;max-width:520px}
.service-custom-stack .text-arrow{display:block;padding:0 0 14px;border-bottom:1px solid var(--line)}
.instagram-link{display:inline-flex;align-items:center;gap:8px}
.instagram-glyph{display:inline-block;width:14px;height:14px;border:1.4px solid currentColor;border-radius:4px;position:relative;flex:0 0 14px}
.instagram-glyph:before{content:"";position:absolute;inset:3px;border:1.2px solid currentColor;border-radius:50%}
.instagram-glyph:after{content:"";position:absolute;width:2.5px;height:2.5px;border-radius:50%;background:currentColor;right:2px;top:2px}
.story-card img[data-service-card="families"],.pricing-categories-large img[src*="family-cover"]{object-position:center 42%!important}
.story-card img[data-service-card="couples"],.pricing-categories-large img[src*="couple-cover-tight"],.pricing-categories-large img[src*="couple-cover.jpg"]{transform:scale(1.06);object-position:center 48%!important}
.pricing-page .page-heading h1 em,.page-heading h1 em:only-child{font-style:normal}
@media(max-width:700px){.service-custom-stack{max-width:none}.footer-top>div:first-child{align-items:flex-start;text-align:left}.footer-logo{justify-content:flex-start!important;align-items:flex-start!important}.footer-top>div:first-child p{text-align:left;margin-left:0;margin-right:0}}

@media(max-width:700px){.footer-top>div:first-child{align-items:center!important;text-align:center!important}.footer-logo{justify-content:center!important;align-items:center!important}.footer-top>div:first-child p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}}

/* V5.2 targeted image corrections */
.story-card img[data-service-card="couples"],.pricing-categories-large img[src*="couple-autumn-tree.jpg"]{transform:scale(1.08)!important;object-position:center 58%!important}
.story-card img[data-service-card="families"],.pricing-categories-large img[src*="family-cover.jpg"]{transform:none!important;object-position:center 48%!important}
.service-cover[data-service="couples"] .service-hero-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 58%!important}
.service-cover[data-service="families"] .service-hero-img{width:67%!important;height:100%!important;object-fit:cover!important;object-position:center 48%!important}

/* V5.3: tasteful Editorial Style emphasis on Services */
.services-bottom-intro .editorial-style-note { display:block; margin-top:1.05rem; padding:0.9rem 1.1rem; border-left:2px solid #a28a70; background:rgba(162,138,112,.085); line-height:1.65; }
.services-bottom-intro .editorial-style-note strong {font-weight:600; letter-spacing:.015em;}
.services-bottom-intro .editorial-style-feature-link {display:inline-flex; align-items:center; gap:.35rem; font-weight:600; letter-spacing:.07em; border-bottom:1px solid currentColor; padding-bottom:.3rem;}
/* Keep the zoomed Couples thumbnail inside its pricing card */
.pricing-categories-large .pricing-category, .pricing-categories-large .category-card {min-width:0;}
.pricing-categories-large .pricing-category img, .pricing-categories-large .category-card img {max-width:100%;}


/* V5.4 — photographic services carousel and navigation dropdown */
/* Each service is a direct destination; the Services label opens this menu instead
   of sending clients to another catalog page. */
.nav-services{position:relative;display:flex;align-items:center;flex-shrink:0}
.nav-services .services-trigger{display:inline-flex;align-items:center;gap:9px;justify-content:space-between;border:0;background:transparent;color:#716c67;padding:16px 0;font-family:var(--sans);font-size:9px;letter-spacing:.16em;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap}
.nav-services .services-trigger:hover,.nav-services.is-open .services-trigger,body[data-page="services"] .nav-services .services-trigger{color:var(--ink)}
.nav-services .services-trigger:focus-visible{outline:2px solid #957e68;outline-offset:5px}
.services-chevron{width:7px;height:7px;display:inline-block;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.nav-services.is-open .services-chevron{transform:translateY(2px) rotate(225deg)}
.services-submenu{display:none;position:absolute;top:100%;left:-26px;z-index:130;width:258px;min-width:max-content;padding:13px 0;background:#fffdfa;border:1px solid #e7ddd2;box-shadow:0 16px 30px rgba(38,29,20,.12)}
.nav-services.is-open .services-submenu{display:block}
.nav .services-submenu a{display:block;padding:10px 26px;color:#51483e;font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.4;white-space:normal}
.nav .services-submenu a:hover,.nav .services-submenu a:focus-visible,.nav .services-submenu a[aria-current="page"]{background:#f4eee7;color:#241e1a}
.nav .services-submenu a[aria-current="page"]::after{display:none}
/* Card proportions and frames are unchanged; only the layout now scrolls sideways. */
.services-home{scroll-margin-top:24px}
.services-carousel{position:relative;margin-top:44px}
.services-carousel-track,.home-story-grid.services-carousel-track{display:flex;position:relative;align-items:stretch;gap:23px;margin-top:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.services-carousel-track::-webkit-scrollbar{display:none}
.services-carousel-track .story-card{flex:0 0 calc((100% - 46px)/3);min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.services-carousel-track:focus-visible{outline:2px solid #98806b;outline-offset:5px}
.services-carousel-track .story-image{overflow:hidden}
.services-carousel-track .story-info{min-height:0}
.services-carousel .carousel-arrow{position:absolute;z-index:3;top:38%;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #d8c9bb;border-radius:50%;background:#fffdf9f0;color:#33261d;font-size:24px;font-family:Georgia,serif;line-height:1;box-shadow:0 3px 10px #00000016;transition:background .2s ease,border-color .2s ease,opacity .2s ease}
.services-carousel .carousel-arrow:hover:not(:disabled){background:#2f241c;border-color:#2f241c;color:#fff}
.services-carousel .carousel-arrow:focus-visible{outline:3px solid #967d64;outline-offset:3px}
.services-carousel .carousel-arrow:disabled{opacity:.42;cursor:default}
.services-carousel .carousel-arrow-prev{left:-21px}
.services-carousel .carousel-arrow-next{right:-21px}
.services-carousel-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:21px;color:#877365;font-size:10px;letter-spacing:.13em;font-weight:600}
.services-carousel-footer .carousel-position{font-variant-numeric:tabular-nums;color:#4c3c31;white-space:nowrap}
.services-home .footnote-center{margin-top:22px}
@media(max-width:1160px){.nav-services .services-trigger{font-size:8px}}
@media(min-width:821px){.nav-services.is-open .services-trigger::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--ink)}}
@media(max-width:950px){.services-carousel-track .story-card{flex-basis:calc((100% - 16px)/2)}.services-carousel-track{gap:16px}}
@media(max-width:820px){
 .nav{max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain}
 .nav-services{width:100%;display:block}
 .nav-services .services-trigger{display:flex;width:100%;padding:13px 0;text-align:left;color:#716c67;font-size:11px;letter-spacing:.16em}
 .services-submenu{position:static;width:100%;min-width:0;box-shadow:none;border:0;border-left:1px solid #c6aa91;background:transparent;padding:3px 0 5px 0;margin:4px 0 9px 4px}
 .nav .services-submenu a{font-size:12px;letter-spacing:.015em;padding:10px 16px;font-weight:400}
}
@media(max-width:600px){
 .nav{max-height:calc(100dvh - 64px)}
 .services-carousel{margin-top:30px}
 .services-carousel-track,.home-story-grid.services-carousel-track{gap:0}
 .services-carousel-track .story-card{flex-basis:100%}
 .services-carousel .carousel-arrow{top:35%;width:38px;height:38px;font-size:23px}
 .services-carousel .carousel-arrow-prev{left:8px}
 .services-carousel .carousel-arrow-next{right:8px}
 .services-carousel-footer{margin-top:17px;font-size:9px;letter-spacing:.08em}
 .services-home .footnote-center{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.services-chevron,.services-carousel .carousel-arrow{transition:none}}


/* V5.5 — pricing card alignment and photo-safe carousel controls */
/* All six pricing cards use an identical clipped 2:3 image window. Existing
   per-photo zoom and object-position choices are preserved without overflow. */
.pricing-categories-large .category-option{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
.pricing-categories-large .category-option-media{
 display:block;width:100%;aspect-ratio:2/3;overflow:hidden;flex:0 0 auto;
 background:#f7f4ef;position:relative;
}
.pricing-categories-large .category-option-media img{
 display:block!important;width:100%!important;height:100%!important;
 aspect-ratio:auto!important;object-fit:cover!important;
 max-width:none!important;
}
.pricing-categories-large .category-option-copy{flex:1 1 auto}
/* Reserve elegant side gutters for the controls. The arrows never cover photos. */
.services-carousel{padding-inline:54px}
.services-carousel .carousel-arrow{top:38%}
.services-carousel .carousel-arrow-prev{left:0}
.services-carousel .carousel-arrow-next{right:0}
@media(max-width:950px){.services-carousel{padding-inline:48px}}
/* On phones, retain one full-width, swipeable card; both navigation controls
   sit beside the footer, not over the photograph. */
@media(max-width:600px){
 .services-carousel{padding-inline:0}
 .services-carousel .carousel-arrow{top:auto;bottom:-61px}
 .services-carousel .carousel-arrow-prev{left:0}
 .services-carousel .carousel-arrow-next{right:0}
 .services-carousel-footer{min-height:47px;justify-content:center;flex-direction:column;gap:4px;padding-inline:48px;margin-top:19px;text-align:center}
}


/* V5.6 — photo-forward carousel refinements (larger cards, farther-out controls) */
/* Make the cards slightly wider by giving the carousel the full content width.
   Keep the arrows in the exterior margin with a clear gap from the photos. */
@media (min-width:951px){
  .services-home .wrap{width:min(1340px,calc(100% - 150px))}
  .services-carousel{padding-inline:0}
  .services-carousel .carousel-arrow-prev{left:-70px}
  .services-carousel .carousel-arrow-next{right:-70px}
}
@media (min-width:601px) and (max-width:950px){
  .services-home .wrap{width:calc(100% - 110px)}
  .services-carousel{padding-inline:0}
  .services-carousel .carousel-arrow-prev{left:-50px}
  .services-carousel .carousel-arrow-next{right:-50px}
}
/* Under the full-sized mobile card the arrow controls remain beside the footer.
   Preserve the single-card swipe layout and space for the indicators. */
@media(max-width:600px){
  .services-home .wrap{width:calc(100% - 38px)}
  .services-carousel{padding-inline:0}
  .services-carousel .carousel-arrow-prev{left:0}
  .services-carousel .carousel-arrow-next{right:0}
}
/* Quiet, refined circles replace the numeric x–y / 06 counter. */
.services-carousel-dots{display:flex;align-items:center;justify-content:center;gap:11px;min-height:20px;white-space:nowrap}
.services-carousel-dots .carousel-dot{box-sizing:border-box;display:block;flex:none;width:9px;height:9px;padding:0;border:1px solid #a68d7b;border-radius:50%;background:transparent;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.services-carousel-dots .carousel-dot:hover:not([aria-pressed="true"]){border-color:#483c33;background:#d2c0ae}
.services-carousel-dots .carousel-dot[aria-pressed="true"]{background:#55463b;border-color:#55463b}
.services-carousel-dots .carousel-dot:focus-visible{outline:2px solid #78634f;outline-offset:5px}
@media(max-width:600px){
  .services-carousel-footer{gap:7px}
  .services-carousel-dots{min-height:22px;gap:12px}
}
@media(prefers-reduced-motion:reduce){.services-carousel-dots .carousel-dot{transition:none}}


/* ================================================================
   V5.8 — Restore the original contained-image service hero.
   Match the Portraits reference: dark left copy panel, individual
   full-height, uncropped photograph in the right 66% image region,
   and clean dark margins. Applies uniformly to all six services.
   ================================================================ */
@media (min-width:701px) {
  .service-cover[data-service] {
    position:relative!important;
    display:block!important;
    height:clamp(620px,75vh,780px)!important;
    min-height:620px!important;
    max-height:780px!important;
    overflow:hidden!important;
    background:#28211d!important;
  }
  .service-cover[data-service] .service-hero-img {
    display:block!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:auto!important;
    inset:0 0 auto auto!important;
    height:100%!important;
    width:66%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#28211d!important;
  }
  .service-cover[data-service] .service-cover-shade {display:none!important}
  .service-cover[data-service] .service-cover-caption {
    position:relative!important;
    height:100%!important;
    z-index:1!important;
  }
}
/* On mobile keep the prior image-first layout and remove the
   new V5.7 fade; headings, buttons, photos and their ratios stay. */
@media (max-width:700px) {
  .service-cover[data-service] {
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    background:#28211d!important;
    overflow:hidden!important;
  }
  .service-cover[data-service] .service-cover-shade {display:none!important}
  .service-cover[data-service] .service-hero-img {
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    display:block!important;
    order:0!important;
    width:100%!important;
    height:min(72svh,680px)!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    object-fit:cover!important;
    object-position:center 38%!important;
    background:#28211d!important;
  }
  .service-cover[data-service] .service-cover-caption {
    position:relative!important;
    order:1!important;
    z-index:1!important;
  }
}


/* V7.0 — mobile editorial polish: one symmetrical five-step process and Instagram-first CTA. */
.process-instagram-mobile {display:none!important;}
@media (max-width:700px) {
  .home-process .process-steps {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    max-width:520px;
    margin:38px auto 0;
  }
  .home-process .process-steps article {
    text-align:center;
    padding:27px 12px 31px;
    border-top:1px solid #d5c9bc;
    min-width:0;
  }
  .home-process .process-steps article>span {
    display:block;
    font-size:54px;
    line-height:1;
  }
  .home-process .process-steps article h3 {
    font-size:clamp(26px,7vw,35px);
    line-height:1.12;
    margin:11px auto 12px;
    max-width:330px;
  }
  .home-process .process-steps article p {
    max-width:360px;
    margin:0 auto;
    font-size:13px;
    line-height:1.75;
  }
  .home-process .home-process-actions {
    display:flex;
    flex-direction:column;
    gap:18px;
    align-items:stretch;
    max-width:420px;
    margin:32px auto 0;
    text-align:center;
  }
  .home-process-actions .process-contact-desktop {display:none!important;}
  .home-process-actions .process-instagram-mobile {
    display:inline-flex!important;
    width:100%;
    align-items:center;
    justify-content:center;
    min-height:48px;
    font-size:11px;
    line-height:1.45;
    letter-spacing:.13em;
    padding:10px;
  }
  .site-header .nav .nav-instagram-mobile {gap:9px;}
}


/* V7.1 — The phone homepage shares the original autumn photograph with the headline.
   Desktop/tablet layout is intentionally unchanged; this is not a replacement image. */
.hero-action-mobile,.hero-mobile-travel{display:none}
@media (max-width:600px){
  .hero{display:block;position:relative;isolation:isolate;height:clamp(500px,132vw,620px);min-height:0;overflow:hidden;background:#e9e1d8}
  .hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;z-index:0;display:block;overflow:hidden}
  .hero .hero-photo img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:31% 53%;transform:scale(1.055);transform-origin:62% 52%}
  .hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(248,244,238,.83) 0%,rgba(248,244,238,.70) 22%,rgba(248,244,238,.39) 43%,rgba(248,244,238,.095) 64%,transparent 83%)}
  .hero .hero-copy{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-start;padding:42px 18px 22px 20px;pointer-events:none}
  .hero .hero-copy-inner{width:min(67vw,272px);max-width:none;pointer-events:auto}
  .hero .eyebrow{font-size:8px;line-height:1.65;letter-spacing:.12em;color:#45382d;max-width:260px}
  .hero h1{font-size:clamp(36px,9.9vw,47px);letter-spacing:-.052em;line-height:.92;max-width:100%;margin:14px 0 16px;color:#271e18;overflow-wrap:normal}
  .hero h1 em{display:inline;font-weight:300}
  .hero-description{max-width:208px;font-size:11.25px;line-height:1.5;color:#4a3b30}
  .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:16px;width:198px;max-width:100%}
  .hero-action-desktop{display:none!important}
  .hero .hero-action-mobile{display:flex;width:100%;min-height:41px;padding:11px 11px;justify-content:space-between;align-items:center;gap:6px;letter-spacing:.115em;font-size:8.2px;font-weight:600}
  .hero-outline-button{border:1px solid #3d3028;background:rgba(249,246,241,.55);color:#292019;line-height:1.25}
  .hero-outline-button:hover{background:rgba(249,246,241,.94)}
  .hero-loc{display:none}
  .hero-mobile-travel{display:block;margin:0;padding:19px 19px 18px;background:#f6f2ed;color:#766357;font-size:9px;line-height:1.8;letter-spacing:.14em;font-weight:600;text-align:center}
  .hero-mobile-travel span{display:inline;margin:0 3px}
}
@media (max-width:365px){
 .hero{height:492px}
 .hero .hero-copy{padding-top:36px;padding-left:16px}
 .hero .hero-copy-inner{width:70vw}
 .hero h1{font-size:35px}
 .hero-description{font-size:10.8px;max-width:188px}
 .hero-actions{width:182px;margin-top:14px}
 .hero .hero-action-mobile{font-size:7.8px}
}
/* Restored editorial-weight price details on service and pricing cover cards. */
.story-price,.home-story-grid .story-price{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:.13em;color:#957d6c}
.pricing-categories-large .category-option-copy small,.pricing-categories-large button.category-option .category-option-copy small{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:.09em;color:#85756b}
@media(max-width:600px){
 .story-price,.home-story-grid .story-price{font-size:8px;font-weight:400;letter-spacing:.105em}
 .pricing-categories-large .category-option-copy small,.pricing-categories-large button.category-option .category-option-copy small{font-size:8px;letter-spacing:.04em;font-weight:400}
}


/* V7.3 — consistent spacing between the Instagram glyph and label in the mobile menu. */
@media (max-width:820px) {
  .site-header .nav a.nav-instagram-mobile {
    display:flex!important; align-items:center; justify-content:flex-start;
    gap:13px!important; width:100%; white-space:nowrap;
  }
  .site-header .nav a.nav-instagram-mobile .instagram-glyph {
    display:inline-block; flex:0 0 14px; vertical-align:middle;
  }
}

/* V7.6 — smaller, more restrained hamburger on tablets and phones.
   Keep its existing large tap target for accessibility. */
@media (max-width:820px){
  .site-header .hamburger-icon{width:22px;height:16px}
  .site-header .menu-toggle[aria-expanded="true"] .hamburger-icon i:first-child{transform:translateY(7.25px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded="true"] .hamburger-icon i:last-child{transform:translateY(-7.25px) rotate(-45deg)}
}


/* V7.7 — art-directed Editorial Style opening, distinct from the service photo heroes. */
.es-cover-hero{background:#f4efe9;border-bottom:1px solid #e4d7c9;overflow:hidden}
.es-cover-hero-inner{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(40px,6.5vw,110px);padding:clamp(50px,6vw,92px) 0}
.es-cover-art{grid-column:2;grid-row:1;width:min(100%,475px);margin:0 auto;min-width:0;padding:20px 22px 16px;background:#e7ddd1;border:1px solid rgba(106,81,65,.20)}
.es-cover-edition{font-family:var(--sans);font-size:9px;letter-spacing:.21em;font-weight:600;color:#6d5748;display:flex;gap:10px;justify-content:space-between;margin:0 0 17px}
.es-cover-art img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;box-shadow:0 10px 28px rgba(43,29,22,.16)}
.es-cover-art figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.12em;color:#7a6553}
.es-cover-copy{grid-column:1;grid-row:1;min-width:0}
.es-cover-copy .eyebrow{font-size:10px;letter-spacing:.19em;color:#836e5f;line-height:1.7}
.es-cover-copy h1{font-family:var(--serif);font-size:clamp(64px,7.5vw,116px);font-weight:400;line-height:.87;letter-spacing:-.043em;color:#2c241e;margin:29px 0}
.es-cover-copy h1 em{font-weight:300}
.es-cover-rule{height:1px;width:70px;background:#b39b87;margin:31px 0}
.es-cover-copy>p:not(.eyebrow):not(.es-cover-offer){font-size:14px;line-height:1.85;color:#65584e;max-width:460px}
.es-cover-offer{font-size:10px;letter-spacing:.14em;font-weight:600;color:#7b6454;margin:28px 0 25px;line-height:1.8}
.es-cover-link{display:inline-block;border-bottom:1px solid #947f6b;padding:0 0 10px;font-size:10px;font-weight:700;letter-spacing:.17em;color:#34281f}
.es-cover-link:hover{border-color:#30231d}
/* Never overlay system-rendered emoji-style directional arrows over editorial artwork. */
.editorial-view-icon{display:none!important}
@media(max-width:820px){
 .es-cover-hero-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;padding:44px 0}
 .es-cover-art{padding:16px 15px 13px}
 .es-cover-copy h1{font-size:clamp(53px,8vw,74px)}
 .es-cover-copy>p:not(.eyebrow):not(.es-cover-offer){font-size:12px}
}
@media(max-width:600px){
 .es-cover-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px 0 43px}
 .es-cover-art{order:0;width:min(100%,405px);max-width:100%;padding:15px 14px 13px;margin:0 auto}
 .es-cover-edition{font-size:8px;letter-spacing:.14em;margin-bottom:12px}
 .es-cover-art figcaption{font-size:8px;letter-spacing:.08em;margin-top:10px}
 .es-cover-copy{order:1;padding:34px 5px 0}
 .es-cover-copy .eyebrow{font-size:9px}
 .es-cover-copy h1{font-size:clamp(65px,14vw,83px);margin:16px 0 20px}
 .es-cover-rule{margin:22px 0}
 .es-cover-copy>p:not(.eyebrow):not(.es-cover-offer){font-size:13px;line-height:1.8}
 .es-cover-offer{font-size:9px;letter-spacing:.12em;margin:23px 0}
}

/* V7.9 — simplified booking and Square-ready states. */
.booking-page [hidden]{display:none!important}
.booking-payment-simple{border-top:1px solid #ded2c6;border-bottom:1px solid #ded2c6;padding:19px 0 20px}
.booking-payment-simple .eyebrow{margin:0 0 8px}
.booking-payment-simple p:not(.eyebrow){margin:0;color:#71645a;font-size:12px;line-height:1.75}
.square-booking-panel{background:#fffcf8}
.square-booking-panel h2{font-size:clamp(47px,5vw,73px);font-weight:400;margin:16px 0 15px;line-height:1.02}
.square-booking-panel h2 em{font-weight:400}
.square-booking-panel .square-lede{font-size:14px;line-height:1.9;color:#72675c;max-width:550px}
.square-booking-summary{margin:35px 0;display:grid;gap:0;border-top:1px solid #e5dbd0}
.square-booking-summary>div{display:flex;align-items:start;gap:20px;padding:17px 0;border-bottom:1px solid #e5dbd0}
.square-booking-summary>div>span{font-family:var(--serif);color:#9b8b7c;font-size:27px;line-height:1}
.square-booking-summary strong{font-size:12px;color:#362d27;font-weight:600;display:block;margin-bottom:4px}
.square-booking-summary small{display:block;color:#786d63;font-size:11px;line-height:1.5}
.square-booking-cta{display:block;text-align:center;width:100%;padding:19px 13px;font-size:11px}
.square-checkout-note{font-size:11px;color:#796e63;line-height:1.7;margin:16px 0 25px}
.square-custom-session{border-top:1px solid #e5dbd0;padding-top:26px}
.square-custom-session p:not(.eyebrow){color:#776b60;font-size:12px;line-height:1.7;margin:10px 0 17px}
.booking-question-band{background:#eee7dd}
@media(max-width:600px){.square-booking-panel h2{font-size:51px}.square-booking-panel .square-lede{font-size:12px}.square-booking-summary{margin:22px 0}.square-booking-cta{font-size:9px}}
