/* 26 October 2026 — final compact hero and cross-site spacing pass.
   Retains supplied photograph and original scalable SVG brand mark. */
:root { --editorial-gutter:clamp(20px,4.5vw,72px); }
/* Original path-based vector wordmark: no raster scaling, sharpening or blur. */
.site-header .wordmark { width:clamp(202px,17.2vw,250px); line-height:0; }
.site-header .wordmark img { display:block; width:100%; height:auto; max-width:none; image-rendering:auto; }
.site-header .header-inner { height:84px; }
/* The source photograph is never stretched, filtered or regenerated.
   Crop only upper ceiling/chandelier negative space when fitting the
   shorter frame; preserve head, clasped hands, torso and entire visible person. */
@media(min-width:951px) {
 .home-page .portrait-hero {
   display:grid; grid-template-columns:52% 48%; align-items:stretch;
   height:clamp(465px,38vw,555px); min-height:0; max-height:555px;
   overflow:hidden; background:#353238;
 }
 .home-page .portrait-hero .hero-shade {display:none!important;}
 .home-page .portrait-hero .hero-content {
   grid-column:1;grid-row:1;display:flex;flex-direction:column;
   align-items:flex-start;justify-content:center; width:100%;min-height:0;
   max-width:none; padding:32px clamp(32px,5.4vw,82px); z-index:2;
 }
 .home-page .portrait-hero .hero-content h1 {font-size:clamp(38px,3.8vw,55px);line-height:1.14;margin-bottom:21px;}
 .home-page .portrait-hero .hero-content>p {font-size:clamp(13px,1.13vw,16px);line-height:1.65;}
 .home-page .portrait-hero .hero-media {
   position:relative; grid-column:2;grid-row:1;display:flex;
   align-items:center;justify-content:center;width:100%;height:100%;
   min-height:0;max-height:none;right:auto;left:auto;top:auto;bottom:auto;
   overflow:hidden;background:#353238;z-index:1;
 }
 .home-page .portrait-hero .hero-media img {
   display:block; width:min(100%, 466px);height:100%;
   aspect-ratio:auto; max-width:100%; min-height:0;
   object-fit:cover; object-position:50% 100%;
 }
}
/* Compact site rhythm, still retaining intentional Aesop-inspired breathing room. */
.benefits-strip {padding-top:34px;padding-bottom:36px;}
.benefit-item {padding-top:0;padding-bottom:0;}
.benefit-number{margin-bottom:10px;}
.benefit-item h2 {margin-bottom:7px;}
.editorial-section,.editorial-section.compact {padding-top:64px;padding-bottom:67px;}
.section-head {margin-bottom:27px;gap:clamp(20px,3.7vw,55px);}
.section-head>div .eyebrow {margin-bottom:13px;}
.steps article,.steps.two-col article{padding-top:17px;padding-bottom:20px;}
.steps .number {margin-bottom:10px;}
.steps h3 {margin-bottom:8px;}
.price-preview {margin-bottom:22px;}
.price-preview>div {padding:24px 22px;}
.price-row {padding:19px 0;}
.faq-item summary{padding:17px 0;}
.page-intro {padding-top:55px;padding-bottom:43px;}
.page-intro h1{margin-bottom:15px;}
.mini-trust {margin-top:22px;}
.photo-story.photo-story-wide {min-height:0;}
.photo-story.photo-story-wide .story-media,
.photo-story.photo-story-wide:has(img[src*='wooden-room']) .story-media,
.photo-story.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media {height:clamp(310px,31vw,445px);}
.photo-story.photo-story-wide .story-caption{padding:36px clamp(24px,4vw,64px);gap:11px;}
.photo-story.photo-story-pair {padding:49px var(--editorial-gutter) 48px;}
.photo-story.photo-story-pair .still-life-pair {max-width:870px;gap:18px;}
.photo-story.photo-story-pair .still-life-frame {height:clamp(205px,21vw,294px);}
.photo-story.photo-story-pair .story-caption{max-width:870px;margin-top:18px;}
.site-footer {padding-top:24px;padding-bottom:26px;}
.site-footer .footer-bottom{padding-top:14px;}
@media (min-width:951px) and (max-width:1120px){
 .site-header .wordmark{width:194px;}
 .site-header .header-inner{height:78px;}
}
@media(max-width:950px) {
 .site-header .header-inner{height:69px;}
 .site-header .wordmark{width:184px;}
 .home-page .portrait-hero {display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;background:#353238;overflow:hidden;}
 .home-page .portrait-hero .hero-shade{display:none!important;}
 .home-page .portrait-hero .hero-content{
   position:relative;order:1;flex:0 0 auto;display:flex;flex-direction:column;
   width:100%;max-width:none;height:auto;min-height:0;
   justify-content:center;align-items:flex-start;padding:35px 25px 28px;z-index:2;
 }
 .home-page .portrait-hero h1{font-size:clamp(33px,5.8vw,48px);margin-bottom:12px;line-height:1.17;}
 .home-page .portrait-hero .hero-content>p{font-size:14px;line-height:1.6;max-width:335px;}
 .home-page .portrait-hero .hero-media{
   position:relative;order:2;display:flex;align-items:center;justify-content:center;
   width:100%;height:clamp(430px,64vw,510px)!important;min-height:0;
   aspect-ratio:auto;overflow:hidden;z-index:1;background:#353238;
 }
 .home-page .portrait-hero .hero-media img{
   display:block; width:min(100%,418px);height:100%!important;
   aspect-ratio:auto;min-height:0;object-fit:cover!important;object-position:center bottom;
 }
 .benefits-strip{padding:30px 25px 34px;}
 .editorial-section,.editorial-section.compact{padding:50px 25px;}
 .page-intro{padding:42px 26px 32px;}
 .photo-story.photo-story-wide .story-media,
 .photo-story.photo-story-wide:has(img[src*='wooden-room']) .story-media,
 .photo-story.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media {height:clamp(270px,54vw,420px);}
 .photo-story.photo-story-wide .story-caption{padding:22px 25px 30px;}
 .photo-story.photo-story-pair {padding:34px 20px 35px;}
 .photo-story.photo-story-pair .still-life-frame{height:clamp(155px,25vw,216px);}
}
@media(max-width:670px){
 .site-header .header-inner{height:62px;}
 .site-header .wordmark{width:168px;}
 .home-page .portrait-hero .hero-content {padding:24px 23px 22px;}
 .home-page .portrait-hero h1 {font-size:clamp(32px,8vw,40px);margin-bottom:9px;}
 .home-page .portrait-hero .hero-content>p{font-size:13px;line-height:1.6;}
 .home-page .portrait-hero .hero-media {height:clamp(405px,118vw,475px)!important;}
 .home-page .portrait-hero .hero-media img{width:100%;height:100%!important;object-fit:cover!important;object-position:center bottom;}
 .benefits-strip{padding:15px 23px 19px;}
 .benefit-item{padding:13px 0 16px;}
 .benefit-item h2{font-size:19px;margin-bottom:5px;}
 .benefit-number{margin-bottom:6px;}
 .benefit-item p{font-size:13px;line-height:1.55;}
 .editorial-section,.editorial-section.compact{padding:39px 23px 44px;}
 .section-head{margin-bottom:18px;gap:12px;}
 .section-head>div .eyebrow{margin-bottom:8px;}
 .steps article,.steps.two-col article,.plain-columns>div {padding:15px 0;}
 .steps .number{margin-bottom:7px;}
 .steps h3,.plain-columns h3{margin-bottom:5px;}
 .price-preview {gap:8px;margin-bottom:15px;}
 .price-preview>div {padding:14px 15px;}
 .price-preview .eyebrow{margin-bottom:5px;}
 .page-intro{padding:35px 23px 28px;}
 .page-intro h1{margin-bottom:13px;}
 .photo-story.photo-story-wide .story-media,
 .photo-story.photo-story-wide:has(img[src*='wooden-room']) .story-media,
 .photo-story.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media {height:clamp(240px,71vw,325px);}
 .photo-story.photo-story-wide .story-caption{padding:20px 23px 25px;}
 .photo-story.photo-story-pair {padding:25px 17px 29px;}
 .photo-story.photo-story-pair .still-life-pair {gap:9px;}
 .photo-story.photo-story-pair .still-life-frame{height:clamp(127px,40vw,165px);}
 .photo-story.photo-story-pair .still-life-frame img{padding:8px;}
 .photo-story.photo-story-pair .story-caption{margin-top:12px;}
 .location-group{padding-top:12px;padding-bottom:12px;}
 .site-footer{padding:18px 20px 21px;}
 .site-footer .footer-bottom{padding-top:12px;}
}
@media(max-width:360px){
 .site-header .wordmark{width:146px;}
 .home-page .portrait-hero .hero-media{height:405px!important;}
 .editorial-section,.editorial-section.compact{padding-left:19px;padding-right:19px;}
}
/* Image-load resilience: the same real photograph supplies a matching CSS
   fallback behind the main <img>, especially on Safari during first paint. */
.home-page .portrait-hero .hero-media {
  background-color:#353238;
  background-image:url('/assets/hero-portrait-retouched.webp');
  background-repeat:no-repeat;
  background-position:center bottom;
}
@media (min-width:951px) {
 .home-page .portrait-hero .hero-media { z-index:5; background-size:min(100%,466px) auto; }
 .home-page .portrait-hero .hero-content { z-index:6; }
}
@media (max-width:950px) {
 .home-page .portrait-hero .hero-media { z-index:5; background-size:min(100%,418px) auto; }
 .home-page .portrait-hero .hero-content { z-index:6; }
}
@media (max-width:670px) {
 .home-page .portrait-hero .hero-media {background-size:100% auto;}
}
