@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f4f1eb;--ink:#292c29;--line:#c8c9bf;--muted:#646a60}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}header{display:flex;justify-content:space-between;align-items:center;padding:1.8rem 5vw;border-bottom:1px solid var(--line)}.brand{font-family:"Libre Caslon Display",Georgia,serif;font-size:3rem;line-height:.8}.brand span{display:block;font-family:"DM Sans",sans-serif;letter-spacing:.25em;font-size:.65rem;margin-top:.8rem}nav{display:flex;gap:2rem;font-size:.9rem}section{padding:6rem 5vw}.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:center;padding-top:3rem}.eyebrow{font-size:.8rem;letter-spacing:.17em;margin:0 0 1.5rem}h1,h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.025em;margin:0 0 2rem}h1{font-size:clamp(3.4rem,6vw,6.8rem)}h2{font-size:clamp(2.7rem,4.7vw,5rem)}h3{font-size:1.2rem;font-weight:500;margin:.5rem 0}.hero p:not(.eyebrow){max-width:28rem}.button{display:inline-block;border:1px solid var(--ink);padding:.85rem 1.4rem;margin-top:1.4rem;font-size:.9rem}.button:hover{background:var(--ink);color:var(--paper)}.media-placeholder{background:#d6d9d0;min-height:320px;display:grid;place-items:center;text-align:center;color:#4e584e}.media-placeholder span{padding:2rem}.media-placeholder small{display:block;font-size:.8rem;margin-top:.5rem}.hero-media{min-height:650px;background:#bfc8bc}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.project-card .media-placeholder{aspect-ratio:4/5}.caption{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding-top:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.caption span{font-size:.85rem;color:var(--muted)}.services{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}article{border-bottom:1px solid var(--line);padding:0 0 1.5rem;margin-bottom:1.5rem}article p{color:var(--muted);max-width:32rem}.contact{background:#283e35;color:#f4f1eb}.contact .button{border-color:currentColor}.project-intro{padding-bottom:3rem}.back{display:inline-block;font-size:.9rem;margin-bottom:3rem;border-bottom:1px solid}.project-summary{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;max-width:70rem}.scope{font-size:.9rem;color:var(--muted)}.project-hero{margin:0 5vw;min-height:65vh}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.gallery,.comparison{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.gallery .media-placeholder{min-height:500px}.comparison .media-placeholder{min-height:380px}footer{display:flex;justify-content:space-between;gap:3rem;padding:4rem 5vw}footer p{font-size:.85rem;color:var(--muted)}@media(max-width:760px){header{padding:1.5rem 6vw}nav{gap:1rem}section{padding:3.5rem 6vw}.hero,.services,.project-story,.project-summary{grid-template-columns:1fr}.hero-media{min-height:430px}.hero{gap:2.5rem}.project-grid{grid-template-columns:1fr;gap:3rem}.project-card .media-placeholder{aspect-ratio:4/3;min-height:260px}.gallery,.comparison{grid-template-columns:1fr}.gallery .media-placeholder{min-height:350px}.project-hero{min-height:420px}footer{flex-direction:column}.caption{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}.approach p:first-child{margin-top:0}.project-description{color:var(--muted);font-size:.95rem}.contact p:not(.eyebrow){max-width:42rem}.hero h1{font-size:clamp(3rem,5.2vw,5.9rem)}@media(max-width:760px){.approach{grid-template-columns:1fr;gap:1rem}}/* Artarmon project */
.artarmon-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:center;padding-top:3rem;padding-bottom:3rem}.artarmon-intro h1{font-size:clamp(3rem,5.7vw,6.4rem)}.artarmon-intro .lede{max-width:34rem}.text-link{display:inline-block;border-bottom:1px solid currentColor;margin-top:1rem}figure{margin:0}figure img{display:block;width:100%;height:auto}figcaption{font-size:.875rem;color:var(--muted);margin-top:.8rem}.intro-photo img{aspect-ratio:3/4;object-fit:cover}.story-row{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.story-row p:first-child{margin-top:0}.story-row h2{font-size:clamp(2.6rem,4.2vw,4.8rem)}.story-row>div:last-child{max-width:38rem}.full-photo{margin:0 5vw}.full-photo img{aspect-ratio:3/2;object-fit:cover}.photo-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-top:0}.photo-trio img{aspect-ratio:3/4;object-fit:cover}.two-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-top:0}.two-photos img{aspect-ratio:3/4;object-fit:cover}.landscape-pair img{aspect-ratio:4/3}.comparison-section{padding-top:2rem}.photo-comparison{align-items:start}.photo-comparison img{height:34rem;object-fit:contain;background:#e6e6de}.drawings{margin-top:3rem}.drawing-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:2rem}.drawing-grid img{height:24rem;object-fit:contain;background:white}details{border-top:1px solid var(--line);padding:1.2rem 0}summary{font-size:1.05rem;padding:.6rem 0;cursor:pointer}summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.video-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;padding-top:1.5rem}.video-single{max-width:24rem;padding-top:1.5rem}video{display:block;width:100%;height:auto;max-height:34rem;background:#202620}.video-pair figure{min-width:0}.video-section{padding-top:3rem}.project-card img{aspect-ratio:4/5;object-fit:cover}header nav a{padding:.4rem 0}.artarmon-intro .scope{font-size:.9rem}.brand span{font-size:.75rem}nav{font-size:1rem}
@media(max-width:760px){.artarmon-intro,.story-row{grid-template-columns:1fr;gap:2rem}.artarmon-intro h1{font-size:clamp(2.8rem,9vw,4.5rem)}.photo-trio{gap:1rem;grid-template-columns:1fr 1fr}.photo-trio figure:last-child{grid-column:1/-1}.photo-trio figure:last-child img{aspect-ratio:3/2}.two-photos,.drawing-grid,.video-pair{grid-template-columns:1fr}.photo-comparison img{height:auto;max-height:34rem;object-fit:contain}.full-photo{margin:0 6vw}.full-photo img{aspect-ratio:auto}.drawing-grid img{height:auto}.video-pair .portrait{max-width:24rem}header{gap:1rem;flex-wrap:wrap}nav{gap:1.2rem}.artarmon-intro .eyebrow{font-size:.8rem}.intro-photo img{aspect-ratio:auto}}
.artarmon-intro .intro-photo img{aspect-ratio:auto}
/* Explicit contrast for enquiry sections, including inherited heading styles. */
.contact,.contact h2,.contact h3,.contact p,.contact a{color:#f4f1eb}
.contact .button{color:#f4f1eb;border-color:#f4f1eb}
.contact .button:hover,.contact .button:focus-visible{background:#f4f1eb;color:#283e35;border-color:#f4f1eb}
.contact a:focus-visible{outline-color:#f4f1eb}
/* Photographs sit directly on the page; preserve complete comparison images. */
.photo-comparison img,.drawing-grid img{background:transparent}
/* Keep the final bathroom detail uncropped on narrow screens. */
@media (max-width:760px){
  .photo-trio figure:last-child{width:calc((100% - 1rem)/2);justify-self:center}
  .photo-trio figure:last-child img{aspect-ratio:auto;height:auto;object-fit:contain}
}
