@import url('https://fonts.bunny.net/css?family=dm-sans:400,500,600,700|libre-caslon-display:400&display=swap');

:root{--paper:#f4f0e6;--ink:#252b28;--muted:#5e6258;--red:#853b31;--rule:#b9b7a8;--wash:#e6e2d6;--dark:#263a33;--white:#faf7ee;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--red)}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:var(--white)}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}h1{font-size:clamp(58px,8.5vw,126px);letter-spacing:-.045em}h2{font-size:clamp(43px,5.1vw,74px);letter-spacing:-.025em}h3{font-size:34px}p+p{margin-top:17px}svg{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 104px));margin-inline:auto}.skip{position:absolute;top:-80px;left:20px;padding:10px;background:var(--paper);z-index:10}.skip:focus{top:10px}.site-header{padding-top:23px}.topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:19px;border-bottom:1px solid var(--ink)}.wordmark{font-family:var(--serif);font-size:38px;letter-spacing:-1.4px;text-decoration:none;line-height:1.2}.wordmark span{color:var(--red)}.header-note,.eyebrow,.folio,.photo-label,.small-label{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.header-note{text-align:right;line-height:1.8}.nav-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--ink);gap:20px}.nav-links{display:flex;gap:31px}.nav-links a{font-size:13px;text-decoration:none}.nav-links a[aria-current=page]{color:var(--red);text-decoration:underline;text-underline-offset:7px}.nav-call{font-size:12px;white-space:nowrap}.nav-call span{color:var(--muted);margin-right:12px}.eyebrow{color:var(--red);margin-bottom:22px}.hero{padding:68px 0 60px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.hero h1{max-width:850px}.hero h1 em{font-weight:400;color:var(--red)}.hero-copy{max-width:440px;padding-bottom:7px;font-size:18px}.hero-copy p{margin-bottom:27px}.text-link{font-size:14px;font-weight:600;display:inline-block}.text-link .arrow{margin-left:16px}.hero-signature{margin-top:30px;font-size:12px;color:var(--muted)}.photo{position:relative;background:var(--wash);overflow:hidden;min-height:270px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;color:var(--muted)}.photo:before,.photo:after{content:'';position:absolute;pointer-events:none}.photo:before{inset:14px;border:1px solid #b9b7a880}.photo:after{width:22px;height:22px;top:26px;left:26px;border-top:1px solid var(--muted);border-left:1px solid var(--muted)}.photo-label{position:absolute;bottom:28px;left:28px;right:28px;text-align:left;letter-spacing:.09em}.photo-centre{font-family:var(--serif);font-size:34px;color:var(--muted);text-align:center;line-height:1.1;padding:60px 35px;max-width:420px}.photo-centre small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px}.table-photo{min-height:450px}.table-photo .photo-centre{font-size:48px}.photo-caption{display:flex;justify-content:space-between;gap:30px;padding:13px 0;font-size:12px;color:var(--muted)}.photo-caption span:last-child{max-width:470px}.caption-number{color:var(--red);margin-right:12px}.home-photo{position:relative}.table-note{position:absolute;right:44px;top:35px;color:var(--red);font-family:var(--serif);font-size:27px;max-width:180px;line-height:1.1;transform:rotate(-6deg);border-bottom:1px solid var(--red);padding-bottom:15px}.section{padding:88px 0;border-bottom:1px solid var(--rule)}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.prose{max-width:620px}.prose p{max-width:550px}.lead{font-size:21px;line-height:1.6}.quote{font-family:var(--serif);font-size:clamp(34px,4vw,54px);line-height:1.14;letter-spacing:-.015em}.attribution{display:block;margin-top:24px;font:12px/1.6 var(--sans);letter-spacing:.07em;text-transform:uppercase}.red{color:var(--red)}.first-timer .prose{padding-top:5px}.first-timer .text-link{margin-top:29px}.facts-band{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.fact{padding:28px 28px 30px 0}.fact+.fact{border-left:1px solid var(--rule);padding-left:30px}.fact strong{display:block;font-family:var(--serif);font-size:50px;font-weight:400;line-height:1.1}.fact span{display:block;font-size:12px;line-height:1.6;margin-top:10px;max-width:230px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading>p{max-width:350px;font-size:14px}.section-foot{margin-top:23px;font-size:13px;color:var(--muted);display:flex;gap:24px;justify-content:space-between}.dark{background:var(--dark);color:var(--white)}.dark .eyebrow{color:#d6c1a2}.dark a:hover{color:#e8cbae}.story{padding:82px 0}.story-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px}.story-title{font-size:clamp(48px,6vw,84px)}.story-copy{padding-top:30px}.story-copy p{max-width:580px}.story-copy .quote{margin:28px 0;font-size:37px}.story-copy .text-link{margin-top:22px}.story-year{display:block;font-size:12px;letter-spacing:.15em;margin-bottom:16px;color:#d6c1a2}.returner h2{max-width:400px}.returner .prose .text-link{margin-top:25px}.phone-panel{padding:70px 0 62px}.phone-top{display:flex;align-items:start;justify-content:space-between;gap:60px}.phone-title{font-size:clamp(41px,5vw,67px);max-width:650px}.phone-number{font-family:var(--serif);font-size:clamp(36px,4.8vw,66px);white-space:nowrap;letter-spacing:-.035em}.phone-details{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:50px;font-size:13px}.phone-details>div:last-child{max-width:390px;justify-self:end}.phone-details p+p{margin-top:7px}.footer-bottom{padding:23px 0;display:flex;justify-content:space-between;border-top:1px solid var(--ink);font-size:11px;gap:20px}.footer-links{display:flex;gap:23px}.page-intro{max-width:670px;margin-top:27px;font-size:20px}.sub-hero{padding-bottom:64px}.sub-nav{display:flex;gap:28px;flex-wrap:wrap;margin-top:33px;font-size:13px}.sub-nav a{color:var(--red)}.price-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}.price-table{width:100%;border-collapse:collapse;font-size:16px}.price-table caption{text-align:left;font-size:11px;letter-spacing:.13em;text-transform:uppercase;padding-bottom:14px;color:var(--muted)}.price-table th,.price-table td{padding:17px 0;border-top:1px solid var(--rule)}.price-table th{text-align:left;font-weight:400}.price-table td{text-align:right;font-family:var(--serif);font-size:34px;line-height:1}.price-table tr:last-child>*{border-bottom:1px solid var(--rule)}.price-note{font-size:14px;margin-top:23px}.margin-note{margin-top:27px;border-left:2px solid var(--red);padding-left:18px;font-size:14px;max-width:320px}.process-title{max-width:630px;margin-bottom:50px}.process-step{display:grid;grid-template-columns:85px .85fr 1.15fr;gap:30px;padding:32px 0 36px;border-top:1px solid var(--rule)}.step-number{font-family:var(--serif);font-size:48px;line-height:1;color:var(--red)}.process-step h3{font-size:35px;max-width:300px}.step-copy p{font-size:15px;max-width:510px}.step-copy .small-label{display:block;color:var(--red);margin-top:19px;font-size:10px}.process-photo{margin-top:25px;min-height:310px}.process-tail{border-top:1px solid var(--rule);padding-top:25px;font-size:15px;max-width:640px}.qa-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.qa-list details{border-top:1px solid var(--rule);padding:20px 0}.qa-list details:last-child{border-bottom:1px solid var(--rule)}.qa-list summary{cursor:pointer;font-size:18px;list-style:none;position:relative;padding-right:40px}.qa-list summary::-webkit-details-marker{display:none}.qa-list summary:after{content:'+';position:absolute;right:3px;color:var(--red);font-size:24px;line-height:1}.qa-list details[open] summary:after{content:'−'}.qa-list details p{font-size:15px;margin-top:18px;max-width:510px}.house-intro{display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:90px}.house-intro p{font-size:18px;max-width:450px}.house-quote{padding:55px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:.55fr 1.45fr;gap:70px}.house-quote .quote{max-width:820px}.house-quote .eyebrow{margin:7px 0 0}.people-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-top:48px}.ruth-photo{min-height:500px}.person-role{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--red);margin:15px 0 23px}.people-grid .quote{font-size:33px;margin-top:30px}.people-others{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:65px}.person{border-top:1px solid var(--rule);padding-top:26px}.person p{font-size:15px;max-width:480px}.dog-note{margin-top:45px;border-top:1px dashed var(--rule);padding-top:22px;display:flex;gap:25px;align-items:baseline;font-size:14px}.dog-note strong{font-family:var(--serif);font-size:29px;font-weight:400}.objects{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;margin-top:48px}.object-text h3{margin-bottom:20px}.object-text p{font-size:15px}.object-text .text-link{margin-top:24px}.library-photo{min-height:365px}.ledger{padding:33px 0;margin-top:40px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.ledger blockquote{font-family:var(--serif);font-size:34px;line-height:1.2}.ledger p{font-size:13px}.ledger .small-label{margin-bottom:15px;color:var(--red)}.pocket{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.pocket-diagram{width:100%;max-height:340px;color:var(--ink)}.pocket .prose>p{margin-top:23px}.privacy{margin-top:45px;border-top:1px solid var(--rule);padding-top:30px;font-size:14px}.privacy p{max-width:730px}
@media(min-width:1441px){body{font-size:17px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-grid,.split,.price-layout,.qa-layout,.house-intro,.story-grid,.pocket{gap:45px}.hero-grid{grid-template-columns:1.1fr .9fr}.hero-copy{font-size:16px}.nav-call span{display:none}.phone-top{display:block}.phone-number{display:inline-block;margin-top:24px}.phone-details>div:last-child{justify-self:start}.people-grid,.people-others,.objects{gap:40px}.table-photo{min-height:380px}.house-quote{gap:35px}.process-step{grid-template-columns:55px .8fr 1.2fr;gap:20px}.process-step h3{font-size:30px}.fact strong{font-size:42px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.site-header{padding-top:17px}.wordmark{font-size:31px}.header-note{font-size:8px;letter-spacing:.1em}.topline{padding-bottom:15px}.nav-row{gap:12px;padding:17px 0}.nav-links{gap:21px}.nav-links a{font-size:12px}.nav-call{font-size:11px}.hero{padding:42px 0 36px}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:21px}.hero-grid,.split,.price-layout,.qa-layout,.house-intro,.story-grid,.people-grid,.people-others,.objects,.pocket,.ledger,.house-quote{grid-template-columns:1fr;gap:29px}.hero-grid{gap:25px}h1{font-size:68px}h2{font-size:46px}.hero-copy{font-size:16px;max-width:100%;padding:0}.hero-copy p{margin-bottom:21px}.hero-signature{margin-top:23px}.table-photo{min-height:345px}.table-photo .photo-centre{font-size:37px;max-width:280px}.table-note{right:25px;top:30px;font-size:22px;max-width:145px}.photo-label{font-size:9px;bottom:25px;left:25px;right:25px;line-height:1.6}.photo-caption{font-size:11px;display:block;line-height:1.6}.photo-caption span{display:block}.photo-caption .caption-number{display:inline}.photo-caption>span+span{margin-top:6px}.section{padding:49px 0}.quote{font-size:39px}.lead{font-size:18px}.section-heading{display:block}.section-heading>p{margin-top:22px}.facts-band{grid-template-columns:1fr;margin-top:29px}.fact,.fact+.fact{padding:19px 0;border-left:0;display:grid;grid-template-columns:125px 1fr;align-items:center;gap:15px}.fact+.fact{border-top:1px solid var(--rule)}.fact strong{font-size:41px}.fact span{margin:0;font-size:12px}.section-foot{display:block;font-size:12px}.section-foot .text-link{margin-top:18px}.story{padding:47px 0}.story-title{font-size:60px;max-width:300px}.story-copy{padding-top:0}.story-copy .quote{font-size:33px}.phone-panel{padding:44px 0 35px}.phone-title{font-size:43px}.phone-number{font-size:44px;margin-top:20px}.phone-details{grid-template-columns:1fr;gap:24px;margin-top:24px}.footer-bottom{display:block;font-size:10px;padding:22px 0}.footer-links{margin-top:15px;font-size:12px;gap:25px}.page-intro{font-size:18px;margin-top:23px}.sub-nav{gap:22px;margin-top:26px;font-size:12px}.margin-note{max-width:none;margin-top:21px}.price-table td{font-size:31px}.price-table th{font-size:15px}.process-title{margin-bottom:32px}.process-step{grid-template-columns:42px 1fr;gap:12px 17px;padding:26px 0 30px}.process-step h3{font-size:33px;align-self:center;max-width:none}.step-copy{grid-column:2}.step-number{font-size:40px}.process-photo{min-height:290px;margin-left:-59px}.process-tail{font-size:14px}.qa-list summary{font-size:16px}.qa-list details p{font-size:14px}.house-intro p{font-size:17px}.house-quote{padding:36px 0;gap:22px}.house-quote .quote{font-size:37px}.people-grid{margin-top:30px}.ruth-photo{min-height:395px}.people-others{margin-top:40px;gap:32px}.person-role{margin:12px 0 18px}.people-grid .quote{font-size:31px}.dog-note{align-items:start;gap:18px;margin-top:30px;font-size:13px}.objects{margin-top:31px}.library-photo{min-height:310px}.ledger{gap:23px;margin-top:30px;padding:26px 0}.ledger blockquote{font-size:31px}.pocket-diagram{max-height:280px}.pocket .prose>p{margin-top:20px}.privacy{margin-top:30px}.attribution{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- Bench photographs: added AFTER the build, identically on every site. ----
   Each picture fills the frame the design drew, cropped from the centre; the frame keeps
   the size the design gave it (its label is hidden, not removed). */
[data-bench-frame="static"] { position: relative; }
[data-bench-frame] { isolation: isolate; overflow: clip; }  /* clip, not hidden: hidden makes a grid item a scroll container and changes its automatic minimum size, which re-lays out some designs */
[data-bench-frame] > .bench-photo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; z-index: -1; margin: 0; border: 0; }
[data-bench-frame]:not([data-bench-over]) .bench-label { visibility: hidden; }
[data-bench-frame][data-bench-frame]:not([data-bench-over])::before,
[data-bench-frame][data-bench-frame]:not([data-bench-over])::after { visibility: hidden; }  /* hidden, not removed: some designs size the frame with a pseudo-element */
[data-bench-over] .bench-label { display: none; }
[data-bench-over] > .bench-scrim { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, var(--bench-scrim) 0%, color-mix(in srgb, var(--bench-scrim) 88%, transparent) 42%, color-mix(in srgb, var(--bench-scrim) 35%, transparent) 72%, transparent 100%); }
@media (max-width: 700px) { [data-bench-over] > .bench-scrim { background: color-mix(in srgb, var(--bench-scrim) 82%, transparent); } }
