/* Dr Stretcher / editorial refinement, Oct 2026.
   Aesop is inspiration; this uses independent fonts, branding and imagery. */
:root{
 --paper:#fffef2;--paper-light:#fffef2;--paper-deep:#f2f0e7;
 --ink:#292725;--muted:#625f5a;--line:#d6d5cc;--line-light:#e1ded5;
 --font:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif;
 --serif:'GFS Didot','Bodoni MT','Didot','Times New Roman',serif;
}
body{font-family:var(--font);font-size:14px;line-height:1.6;background:var(--paper);color:var(--ink)}
button,input,textarea{font-family:var(--font)}
/* Balanced nav with mark at exact centre */
.site-header{background:var(--paper);}
.header-inner{max-width:none;height:126px;border-bottom:1px solid #dedbd2;padding:0 clamp(24px,5.25vw,80px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;align-items:center}
.wordmark{grid-column:2;grid-row:1;width:clamp(210px,18vw,252px);justify-self:center}
.wordmark img{width:100%}
.primary-nav{display:flex;gap:clamp(16px,3.5vw,48px);align-items:center;white-space:nowrap}
.primary-nav a{font-size:13px;font-weight:400;line-height:1.4;text-decoration:none;letter-spacing:0}
.primary-nav a[aria-current='page']{border-bottom:1px solid currentColor;padding-bottom:14px;margin-bottom:-15px}
.nav-left{grid-column:1;grid-row:1;justify-self:start}
.nav-right{grid-column:3;grid-row:1;justify-self:end;gap:clamp(20px,2.9vw,44px)}
.nav-book-outline{border:1px solid var(--ink);border-radius:999px;padding:12px 26px;min-width:92px;justify-content:center;margin:0;font-size:13px}
.nav-book-outline:hover{background:var(--ink);color:var(--paper)}
.header-inner .menu-toggle{grid-column:3;grid-row:1}
/* Preserve photo exactly: independent img element with its own crop. */
.portrait-hero{height:clamp(610px,47.4vw,725px);min-height:610px;background:#353238;overflow:hidden;isolation:isolate}
.portrait-hero .hero-media{top:0;bottom:0;right:0;width:68%;height:100%;position:absolute;z-index:-2}
.portrait-hero .hero-media img{width:100%;height:100%;object-fit:cover;object-position:52% 57%;filter:none}
.portrait-hero .hero-shade{z-index:-1;display:block;background:linear-gradient(90deg,#353238 0%,#353238 24%,rgba(53,50,56,.98) 34%,rgba(53,50,56,.87) 43%,rgba(53,50,56,.38) 53%,rgba(53,50,56,0) 69%)}
.portrait-hero .hero-content{width:58%;max-width:790px;display:flex;justify-content:center;align-items:flex-start;padding:0 0 2% clamp(30px,6.1vw,94px);color:#fffef5}
.portrait-hero h1{font-family:var(--serif);font-size:clamp(72px,6.2vw,98px);line-height:1.06;letter-spacing:-.052em;font-weight:400;white-space:normal;margin:0 0 27px}
.portrait-hero .hero-content>p{font-size:clamp(17px,1.55vw,22px);line-height:1.48;font-weight:400;max-width:520px;letter-spacing:-.018em}
.benefits-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--paper);padding:52px clamp(25px,6.5vw,102px) 62px;max-width:none;gap:0;border-bottom:1px solid var(--line-light)}
.benefit-item{padding:0 clamp(30px,5vw,84px) 0 0;margin-left:clamp(0px,4vw,70px);border-right:1px solid #9e9a92}
.benefit-item:first-child{margin:0}.benefit-item:last-child{border:0;padding-right:0}
.benefit-number{font-size:12px;letter-spacing:.22em;display:block;margin:0 0 22px;color:#36332e}
.benefit-item h2{font-family:var(--serif);font-size:clamp(24px,2.45vw,36px);font-weight:400;letter-spacing:-.037em;line-height:1.14;margin-bottom:12px}
.benefit-item p{font-size:clamp(13px,1.32vw,18px);line-height:1.53;max-width:275px;letter-spacing:-.01em}
.trust-after-benefits{font-size:11px;background:var(--paper);border-top:none}
/* Aesop-like restrained copy sizing across all subpages, with editorial serif kept where already approved. */
.eyebrow{font-size:11px;letter-spacing:.14em}
.editorial-section{padding-top:100px;padding-bottom:100px}
.editorial-section h2,.closing-section h2,.page-intro h1{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}
.editorial-section h2{font-size:clamp(31px,3vw,47px)}
.section-head>p,.policy>p{font-size:14px;line-height:1.75}
.steps h3,.plain-columns h3,.price-preview h3{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2vw,30px)}
.steps p,.plain-columns p{font-size:14px}
.page-intro h1{font-size:clamp(42px,5.3vw,78px)}
.intro-lead{font-size:clamp(16px,1.45vw,20px)}
.closing-section{background:var(--paper-deep)}
/* Editorial image storytelling: separate wide visual blocks, not tiny inline pictures. */
.photo-story{width:100%;max-width:none;background:#f3f1eb;padding:70px 0 73px;border-bottom:1px solid var(--line-light)}
.photo-story-wide .story-media{margin:0 auto;max-width:1400px;width:calc(100% - 100px);height:clamp(350px,49vw,750px);background:#ebe7df;overflow:hidden}
.photo-story-wide .story-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.photo-story-wide:has(img[src*='wooden-room']) .story-media{max-width:1100px;height:660px}
.photo-story-wide:has(img[src*='wooden-room']) .story-media img{object-fit:contain;background:#dfd5c7}
.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media{height:550px;max-width:950px}
.photo-story-wide:has(img[src*='woman-wall-bars']) .story-media img{object-fit:contain;background:#ece5da}
.photo-story-wide:has(img[src*='reclining-on-ball']) .story-media{height:min(70vw,780px);max-width:860px}
.photo-story-wide:has(img[src*='reclining-on-ball']) .story-media img{object-fit:contain;background:#eceae4}
.story-caption{margin:30px auto 0;max-width:1400px;width:calc(100% - 100px);display:flex;gap:40px;align-items:flex-start;justify-content:space-between}
.story-caption h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;font-size:clamp(25px,3vw,43px);line-height:1.2;max-width:780px}
.story-caption p{font-size:13px;line-height:1.7;max-width:350px;margin-top:8px;color:#59544f}
.photo-story-pair{background:#fffef2;padding:90px 0 75px}
.still-life-pair{margin:0 auto;max-width:1280px;width:calc(100% - 100px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.still-life-frame{height:clamp(270px,35vw,550px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f2f1eb}
.still-life-frame img{display:block;max-height:94%;max-width:90%;object-fit:contain;width:auto;height:auto}
.photo-story-pair .story-caption{width:calc(100% - 100px);max-width:1280px;justify-content:center;text-align:center;margin-top:32px}
.photo-story-pair .story-caption h2{font-size:clamp(24px,2.8vw,37px)}
/* Keep the original footer, cookie notices, tracking and Behind the Bones accessible. */
@media(max-width:1110px){
 .header-inner{gap:14px;padding:0 26px;height:100px}
 .primary-nav{gap:17px}.primary-nav a{font-size:12px}
 .wordmark{width:210px}
 .nav-book-outline{min-width:70px;padding:10px 13px}
 .portrait-hero .hero-content{width:64%}.portrait-hero h1{font-size:clamp(62px,7vw,84px)}
}
@media(max-width:950px){
 .header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:88px}
 .header-inner .primary-nav{display:none}
 .header-inner .wordmark{grid-column:2}
 .header-inner .menu-toggle{display:flex;grid-column:3;justify-self:end}
 .portrait-hero{height:auto;min-height:0;display:flex;flex-direction:column;background:#353238}
 .portrait-hero .hero-media{position:relative;order:2;width:100%;height:clamp(480px,80vw,680px)}
 .portrait-hero .hero-media img{object-fit:cover;object-position:52% 55%}
 .portrait-hero .hero-shade{display:none}
 .portrait-hero .hero-content{order:1;width:100%;max-width:none;padding:82px 36px 68px;min-height:0}
 .portrait-hero h1{font-size:clamp(62px,8vw,85px)}
 .portrait-hero .hero-content>p{font-size:17px}
 .benefits-strip{padding:48px 36px}
 .benefit-item{margin-left:23px;padding-right:19px}
 .benefit-item h2{font-size:27px}
 .benefit-item p{font-size:14px}
}
@media(max-width:670px){
 .header-inner{height:76px;padding:0 18px}
 .header-inner .wordmark{width:170px}
 .portrait-hero .hero-content{padding:72px 25px 62px}
 .portrait-hero h1{font-size:clamp(50px,12.4vw,72px);margin-bottom:24px;line-height:1.07}
 .portrait-hero .hero-content>p{font-size:16px;line-height:1.6}
 .portrait-hero .hero-media{height:550px}
 .portrait-hero .hero-media img{object-position:54% 56%}
 .benefits-strip{display:block;padding:28px 26px 38px}
 .benefit-item{padding:22px 0 28px;margin:0;border:0;border-bottom:1px solid var(--line)}
 .benefit-item:last-child{border:0}
 .benefit-number{margin-bottom:12px}
 .benefit-item h2{font-size:27px;margin-bottom:8px}
 .benefit-item p{font-size:14px}
 .photo-story{padding:38px 0 52px}
 .photo-story-wide .story-media{width:calc(100% - 30px);height:clamp(300px,85vw,520px)}
 .photo-story-wide:has(img[src*='wooden-room']) .story-media{height:480px}
 .photo-story-wide:has(img[src*='woman-wall-bars']) .story-media{height:440px}
 .photo-story-wide:has(img[src*='reclining-on-ball']) .story-media{height:420px}
 .story-caption{width:calc(100% - 48px);display:block;margin-top:26px}
 .story-caption h2{font-size:31px}
 .story-caption p{margin-top:16px;font-size:13px}
 .photo-story-pair{padding:45px 0}
 .still-life-pair{width:calc(100% - 30px);gap:10px}
 .still-life-frame{height:220px}
 .photo-story-pair .story-caption{width:calc(100% - 42px)}
}
