:root{--olive:#293127;--deep:#232d24;--stone:#ded8cb;--ink:#30382f;--ivory:#f8f6ee;--muted:#d2d8c8;--gutter:clamp(24px,7.5vw,124px);--sans:'Segoe UI','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--olive);color:var(--ivory);font:15px/1.85 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,p,figure{margin:0}h1,h2{font-weight:350;letter-spacing:-.04em;line-height:1.12}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;line-height:1.6;margin-bottom:15px}.skip{position:fixed;top:-100px;left:24px;padding:12px;background:var(--ivory);color:var(--ink);z-index:10}.skip:focus{top:10px}
.opening{position:relative;isolation:isolate;height:90svh;min-height:620px;max-height:920px;overflow:hidden}.opening-photo,.opening-shade{position:absolute;inset:0;z-index:-2}.opening-photo img{object-position:50% 50%}.opening-shade{z-index:-1;background:linear-gradient(180deg,#101710c4,#1017108c 14%,transparent 34%),linear-gradient(90deg,#10171096,transparent 78%),linear-gradient(0deg,#11170f87,transparent 65%)}.masthead{position:absolute;top:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:25px}.logo{display:block;width:106px;height:69px;flex:none}.logo img{object-fit:contain}.masthead nav{display:flex;align-items:center;gap:30px}.masthead nav a{font-size:11px;min-height:44px;display:flex;align-items:center;text-shadow:0 1px 8px #101710}.opening-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:52px;max-width:750px}.opening h1{font-size:clamp(43px,4.8vw,68px);max-width:750px}.opening-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#e2e5d9;max-width:470px;margin-top:24px}.quiet-arrow{display:inline-flex;align-items:center;gap:14px;min-height:52px;font-size:12px}.opening .quiet-arrow{margin-top:24px}.circle{display:inline-flex;justify-content:center;align-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:19px;font-weight:300;flex:none}
.area-nav{padding:12px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--deep)}.area-nav a{font-size:11px;min-height:44px;display:flex;align-items:center}.room h2,.connected h2{font-size:clamp(36px,3.6vw,52px)}.bathroom{height:calc(100svh - 40px);min-height:620px;max-height:820px;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--stone);color:var(--ink)}.bathroom-photo{min-height:0;overflow:hidden}.bathroom-photo img{object-position:50% 57%}.room-caption{padding:29px var(--gutter) 34px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.room-caption>p{font-size:15px;max-width:540px;line-height:1.8}
.office{position:relative;isolation:isolate;height:86svh;min-height:620px;max-height:820px;overflow:hidden}.office-photo,.office-shade{position:absolute;inset:0;z-index:-2}.office-photo img{object-position:50% 48%}.office-shade{z-index:-1;background:linear-gradient(0deg,#10190fe8,transparent 70%),linear-gradient(90deg,#11190f6b,transparent 70%)}.office-copy{position:absolute;left:var(--gutter);bottom:54px;width:44%;max-width:540px}.office-copy>p:last-child{font-size:15px;color:#dce1d2;line-height:1.8;margin-top:23px}
.built-ins{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:stretch;background:var(--olive);max-width:1440px;margin:0 auto;min-height:640px}.built-ins-copy{padding:60px clamp(40px,7vw,115px) 60px var(--gutter);align-self:center}.built-ins-copy>p:last-child{font-size:15px;line-height:1.85;color:var(--muted);max-width:490px;margin-top:27px}.archive-photo{position:relative;margin:0;align-self:start}.archive-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}.archive-photo figcaption{font-size:11px;line-height:1.7;padding:14px 24px 16px;background:var(--deep);color:#d2d8c8}
.laundry{height:calc(100svh - 45px);min-height:620px;max-height:820px;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--stone);color:var(--ink)}.laundry-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center;padding:36px var(--gutter)}.laundry-heading>p{font-size:15px;line-height:1.8;max-width:490px}.laundry-photo{overflow:hidden;min-height:0}.laundry-photo img{object-position:50% 52%}
.connected{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:66px var(--gutter) 54px;background:var(--deep)}.connected-copy{font-size:15px;max-width:550px;color:#dce1d2}.connected-copy p+p{margin-top:20px}.lark-link{display:block;width:fit-content;font-size:13px;margin-top:24px;padding:6px 0;min-height:62px;color:var(--ivory)}.lark-link>span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.invitation{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #f8f6ee33;background:var(--deep);padding:25px var(--gutter) 34px}.invitation>p{font-size:24px;font-weight:350;letter-spacing:-.025em}footer{padding:29px var(--gutter) 32px;color:#c8cfbc;font-size:11px}footer nav{display:flex;flex-wrap:wrap;gap:10px 26px;margin-bottom:24px}footer nav a{display:flex;align-items:center;min-height:44px;font-size:11px}footer>p{max-width:870px;line-height:1.8}footer>p+p{font-size:10px;margin-top:13px}
@media(max-width:1050px) and (min-width:701px){.built-ins{grid-template-columns:minmax(0,1fr) 42%;min-height:0}.built-ins-copy{padding-right:35px;padding-left:35px}.room h2,.connected h2{font-size:38px}.room-caption,.laundry-heading{gap:7%}.connected{gap:7%}}
@media(max-width:700px){.masthead{top:20px;gap:16px}.logo{width:78px;height:51px}.masthead nav{gap:14px}.masthead nav a{font-size:10px}.opening{height:90svh;min-height:650px;max-height:850px}.opening-photo img{object-position:50% 50%}.opening-shade{background:linear-gradient(0deg,#10190fed,transparent 88%),linear-gradient(180deg,#101710c4,#101710a6 16%,transparent 40%)}.opening-copy{bottom:35px;max-width:none}.opening h1{font-size:42px;line-height:1.13;max-width:430px}.opening h1 br{display:none}.opening-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:20px;max-width:390px}.opening .quiet-arrow{margin-top:19px}.eyebrow{font-size:9px;margin-bottom:14px}.area-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:10px var(--gutter)}.area-nav a{font-size:10px;line-height:1.4;min-height:44px}.room h2,.connected h2{font-size:36px}.bathroom{height:auto;min-height:0;max-height:none;display:block}.bathroom-photo{height:auto;aspect-ratio:16/11}.bathroom-photo img{object-position:63% 50%}.room-caption{display:block;padding:29px var(--gutter) 35px}.room-caption>p{font-size:14px;line-height:1.85;margin-top:20px}.office{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:visible}.office-photo{position:relative;inset:auto;z-index:auto;height:auto;aspect-ratio:16/12;flex:none}.office-photo img{object-position:48% 48%}.office-shade{display:none}.office-copy{position:static;width:auto;max-width:none;padding:29px var(--gutter) 37px}.office-copy>p:last-child{font-size:14px;line-height:1.85;margin-top:20px}.built-ins{display:flex;flex-direction:column;min-height:0;max-width:none}.built-ins-copy{padding:30px var(--gutter) 32px}.built-ins-copy h2 br{display:none}.built-ins-copy>p:last-child{font-size:14px;line-height:1.85;margin-top:20px}.archive-photo{align-self:stretch;max-width:480px;margin:0 auto;width:100%}.archive-photo figcaption{padding:12px var(--gutter) 17px;font-size:10px}.laundry{height:auto;min-height:0;max-height:none;display:block}.laundry-heading{display:block;padding:30px var(--gutter) 32px}.laundry-heading>p{font-size:14px;line-height:1.85;margin-top:20px}.laundry-photo{height:auto;aspect-ratio:4/3}.laundry-photo img{object-position:50% 50%}.connected{display:block;padding:42px var(--gutter) 30px}.connected-copy{font-size:14px;margin-top:26px}.connected-copy p+p{margin-top:18px}.lark-link{font-size:13px;margin-top:20px}.invitation{display:block;padding:26px var(--gutter) 30px}.invitation>p{font-size:24px}.invitation .quiet-arrow{margin-top:13px}footer{font-size:10px;padding-top:22px}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-bottom:18px}footer nav a{font-size:10px}}
@media(max-width:380px){.masthead nav{gap:10px}.masthead nav a{font-size:9px}.opening h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Phase 8B: keep the two wide photographs and their copy together. */
@media(min-width:701px){
 .bathroom,.laundry{height:auto;min-height:0;max-height:none}
 .bathroom{grid-template-rows:clamp(300px,48svh,500px) auto}
 .laundry{grid-template-rows:auto clamp(300px,48svh,500px)}
 .room-caption{padding-top:24px;padding-bottom:27px}
 .laundry-heading{padding-top:27px;padding-bottom:27px}
}

/* Approved project-inspired visualization: more image, less unused olive space. */
@media(min-width:701px){
 .built-ins{grid-template-columns:minmax(0,42fr) minmax(0,58fr);min-height:0;align-items:center}
 .built-ins-copy{padding:38px clamp(30px,4.4vw,64px) 38px clamp(30px,5vw,72px)}
 .archive-photo{width:100%;align-self:stretch}
 .archive-photo img{height:clamp(440px,72svh,680px);aspect-ratio:auto;object-fit:cover;object-position:50% 68%}
 .archive-photo figcaption{padding:11px 24px 13px}
}
@media(max-width:700px){
 .archive-photo{max-width:none}
 .archive-photo img{aspect-ratio:1312/1199;object-fit:contain}
}

/* Phase 8C: four rooms, each read as a single photographic composition. */
.room{position:relative;isolation:isolate;display:block;height:78svh;min-height:600px;max-height:820px;max-width:none;margin:0;overflow:hidden;background:var(--deep);color:var(--ivory)}
.room>figure{position:absolute;inset:0;z-index:-2;margin:0;max-width:none;width:100%;height:100%;aspect-ratio:auto;overflow:hidden}
.room>figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.room::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.room-caption,.laundry-heading,.office-copy,.built-ins-copy{position:absolute;display:block;inset:auto auto 48px var(--gutter);width:min(44%,540px);max-width:none;padding:0;align-self:auto}
.room h2{font-size:clamp(36px,3.6vw,52px)}
.room-caption>p,.laundry-heading>p,.office-copy>p:last-child,.built-ins-copy>p:last-child{font-size:15px;line-height:1.85;color:#eceee4;max-width:490px;margin-top:22px}
.bathroom .room-caption{left:auto;right:var(--gutter);width:min(38%,490px)}
.bathroom-photo img{object-position:50% 58%}
.bathroom::after{background:linear-gradient(270deg,#11190fe8, #11190f70 48%,transparent 77%),linear-gradient(0deg,#11190f80,transparent 70%)}
.laundry .laundry-heading{width:min(43%,540px);bottom:54px}
.laundry-photo img{object-position:50% 48%}
.laundry::after{background:linear-gradient(90deg,#11190fdb, #11190f61 49%,transparent 79%),linear-gradient(0deg,#11190f85,transparent 72%)}
.office-shade{display:none}
.office::after{background:linear-gradient(0deg,#10190fe8,transparent 70%),linear-gradient(90deg,#11190f6b,transparent 70%)}
.office-photo img{object-position:50% 48%}
.built-ins{height:76svh;max-height:800px}
.built-ins .built-ins-copy{left:auto;right:var(--gutter);width:min(35%,480px);bottom:52px}
.archive-photo img{object-position:50% 68%}
.built-ins::after{background:linear-gradient(270deg,#11190ff0,#11190fa6 34%,#11190f10 69%),linear-gradient(0deg,#11190f7d,transparent 70%)}
@media(max-width:1050px) and (min-width:701px){.room-caption,.laundry-heading,.office-copy{width:48%}.bathroom .room-caption,.built-ins .built-ins-copy{width:42%}.room h2{font-size:38px}}
@media(max-width:700px){
 .room,.built-ins{height:auto;min-height:0;max-height:none;padding:340px var(--gutter) 32px}
 .room-caption,.laundry-heading,.office-copy,.built-ins-copy,.bathroom .room-caption,.laundry .laundry-heading,.built-ins .built-ins-copy{position:relative;inset:auto;width:100%;max-width:none;padding:0}
 .room h2{font-size:36px}
 .room-caption>p,.laundry-heading>p,.office-copy>p:last-child,.built-ins-copy>p:last-child{font-size:14px;line-height:1.85;margin-top:20px}
 .room::after{background:linear-gradient(0deg,#11190ff5 0%,#11190ff0 27%,#11190f9c 49%,#11190f12 75%,transparent)}
 .room>figure{height:100%;position:absolute;inset:0;z-index:-2}
 .bathroom-photo img{object-position:58% 30%}
 .laundry-photo img{object-position:56% 25%}
 .office-photo img{object-position:53% 27%}
 .archive-photo img{object-position:48% 30%}
 .built-ins-copy h2 br{display:none}
}

/* Phase 8D: varied framing, shared palette, and an unobstructed project study. */
.bathroom{margin-bottom:24px}
.laundry-surround{background:var(--stone);padding:38px clamp(24px,4vw,76px) 42px}
.laundry{height:72svh;min-height:560px;max-height:740px}
.laundry .laundry-heading{left:clamp(32px,4vw,76px);width:min(46%,540px);bottom:44px}
.office-surround{background:var(--olive);padding:36px 0 44px}
.office{height:76svh;max-height:800px}
.built-ins{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:clamp(30px,3vw,52px);align-items:center;width:calc(100% - 2 * var(--gutter));max-width:1440px;height:auto;min-height:0;max-height:none;margin:0 auto;padding:0 0 48px;overflow:visible;background:var(--olive);isolation:auto}
.built-ins::after{display:none}
.built-ins>.archive-photo{grid-column:1;grid-row:1;position:static;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:1312/1199;overflow:visible;align-self:center}
.built-ins>.archive-photo img{width:100%;height:auto;aspect-ratio:1312/1199;object-fit:contain;object-position:center}
.built-ins .built-ins-copy{grid-column:2;grid-row:1;position:static;inset:auto;width:auto;max-width:none;padding:0}
.built-ins-copy>p:last-child{color:var(--muted)}
.built-ins-copy h2 br{display:none}
@media(max-width:1050px) and (min-width:701px){.built-ins{width:calc(100% - 64px);gap:28px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.built-ins .built-ins-copy{width:auto}.built-ins h2{font-size:36px}}
@media(max-width:700px){
 .bathroom{margin-bottom:18px}
 .laundry-surround{padding:22px 16px 24px}
 .laundry{height:auto;min-height:0;max-height:none;padding:300px 22px 28px}
 .laundry .laundry-heading{position:relative;inset:auto;width:auto}
 .office-surround{padding:24px 0 30px}
 .office{height:auto;max-height:none}
 .built-ins{display:flex;flex-direction:column;gap:0;width:100%;max-width:none;margin:0;padding:0 0 30px}
 .built-ins>.archive-photo{order:0;position:static;width:100%;height:auto;aspect-ratio:1312/1199}
 .built-ins .built-ins-copy{order:1;position:static;width:100%;padding:27px var(--gutter) 0}
}
