:root{--paper:#f2efe9;--ink:#352b3b;--accent:#6a463b;--accent-text:#fff;--line:#cec9c0;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans)}a{color:inherit;text-underline-offset:.25em}img{max-width:100%;height:auto}p{margin:0 0 1rem}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.08;margin:0 0 1.1rem}h1{font-size:clamp(2.65rem,5vw,5.25rem);text-wrap:balance}h2{font-size:clamp(2rem,3vw,3.4rem)}h3{font-size:clamp(1.5rem,2vw,2rem)}main{outline:none}.skip-link{position:absolute;top:-6rem;left:1rem;padding:.7rem 1rem;background:var(--paper);z-index:20}.skip-link:focus{top:.5rem}a:focus-visible{outline:3px solid currentColor;outline-offset:5px;box-shadow:0 0 0 2px var(--paper)}.preview-bar{padding:.35rem 4vw;background:var(--ink);color:var(--paper);font-size:.75rem}.site-header{min-height:94px;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem clamp(1rem,4vw,4rem);border-bottom:1px solid var(--line)}.brand{font:600 1.25rem var(--serif);text-decoration:none;letter-spacing:-.025em}.site-header nav{display:flex;gap:1.8rem;flex-wrap:wrap}.site-header nav a{font-size:.9rem;text-decoration:none;padding:.35rem 0}.site-header nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.kicker{font:.75rem/1.5 var(--sans);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.1rem}
.home-hero{max-width:1560px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:center;padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,4rem);margin:auto}.hero-copy{min-width:0}.hero-copy h1{max-width:15ch}.lead{font-size:clamp(1rem,1.2vw,1.15rem);max-width:54ch}.lead p{margin-bottom:1rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.8rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.25rem;background:var(--accent);color:var(--accent-text);font-size:.92rem;font-weight:700;text-decoration:none;border:1px solid transparent}.button:hover{text-decoration:underline;text-decoration-thickness:2px}.text-link{font-weight:700;font-size:.92rem;padding:.35rem 0}.feature-image{margin:0;min-width:0}.feature-image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.feature-image figcaption,figure figcaption{font-size:.75rem;line-height:1.5;padding:.7rem 0;border-bottom:1px solid var(--line)}figcaption span{display:block;margin-top:.2rem}.feature-summary{padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-top:5px solid var(--accent);background:var(--paper)}.feature-summary h2{margin-bottom:2rem}.feature-summary p{max-width:38ch}
.home-services,.photo-gallery,.about-facts{max-width:1400px;margin:auto;padding:clamp(2.5rem,5vw,5rem) clamp(1rem,4vw,4rem)}.home-services{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-heading h2{margin:0}.section-heading .kicker{margin:0 0 .5rem}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem)}.service-cards article{border-top:2px solid var(--accent);padding-top:1.5rem}.service-cards p{font-size:.95rem;max-width:45ch}.home-about{max-width:1400px;margin:auto;border-top:1px solid var(--line);padding:clamp(2.5rem,5vw,5rem) clamp(1rem,4vw,4rem)}.home-about h2{max-width:38ch;font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.2}
.page-intro,.contact-intro{max-width:1400px;margin:auto;padding:clamp(2.5rem,5vw,5rem) clamp(1rem,4vw,4rem)}.page-intro>p:last-child{max-width:60ch}.page-intro h1{margin-bottom:1.4rem}.service-list{max-width:1400px;margin:auto;padding:0 clamp(1rem,4vw,4rem)}.service-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,7rem);padding:2.6rem 0;border-top:1px solid var(--line)}.service-row h2{font-size:clamp(1.75rem,2.7vw,2.8rem);margin:.5rem 0}.service-row p{max-width:65ch}.service-index{font:.7rem var(--sans);letter-spacing:.1em}.detail-note{max-width:1400px;margin:auto;padding:2.5rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line)}.detail-note h2{font-size:2rem}.detail-note p{max-width:65ch}.pricing{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,7rem);background:var(--ink);color:var(--paper);margin-top:1rem}
.photo-gallery>div:not(.section-heading){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.photo-gallery figure{margin:0;min-width:0}.photo-gallery figure:first-child:last-child{grid-column:1/-1}.photo-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.about-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:1rem clamp(2rem,6vw,7rem)}.about-intro>.kicker{grid-column:1/-1}.about-copy{font-size:1.15rem}.about-copy p{max-width:52ch}.about-photo{padding-top:0;max-width:1100px}.about-photo img{aspect-ratio:16/9}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line)}.about-facts h2{font-size:clamp(1.75rem,2.6vw,2.8rem)}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.contact-intro h1{margin-bottom:1.5rem}.contact-links{display:flex;flex-direction:column;align-items:start;gap:.7rem;overflow-wrap:anywhere;min-width:0}.contact-links a{font-size:clamp(1.1rem,2vw,1.6rem);font-weight:700;max-width:100%;padding:.45rem 0}.contact-details{display:grid;grid-template-columns:1.2fr .8fr;max-width:1400px;margin:auto;padding:0 clamp(1rem,4vw,4rem);gap:clamp(2rem,6vw,6rem)}.contact-details .detail-note{padding:2rem 0;width:100%}.area-panel{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1400px;margin:auto;padding:3rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line)}.area-panel ul{list-style:none;padding:0;margin:0;display:grid;align-content:start;grid-template-columns:1fr 1fr;gap:.6rem 2rem}.area-panel li{padding:.5rem 0;border-bottom:1px solid var(--line)}.page-next{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2.5rem,5vw,5rem) clamp(1rem,4vw,4rem);border-top:1px solid var(--line)}.page-next h2{font-size:clamp(1.75rem,3vw,3rem);margin:0}.page-next .kicker{margin:0 0 .5rem}.page-next .button{flex-shrink:0}footer{max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line)}footer p{font-size:.8rem;margin:.4rem 0 0}footer>a,footer small{font-size:.8rem}.review-page{max-width:850px;margin:auto;padding:4rem 1.5rem}.review-page li{margin:1rem 0}
/* Distinct composition, not just palette changes. */
.style-clear{--serif:Arial,Helvetica,sans-serif}.style-clear h1,.style-clear h2,.style-clear h3{font-weight:600;letter-spacing:-.045em}.style-clear .home-hero{grid-template-columns:1.05fr .95fr}.style-clear .feature-image{order:-1}.style-clear .feature-image img{aspect-ratio:1/1}.style-clear .service-cards{gap:2rem}.style-clear .about-intro{grid-template-columns:1fr 1.2fr}
.style-warm .home-hero{grid-template-columns:.85fr 1.15fr}.style-warm .feature-image img{aspect-ratio:6/5}.style-warm .home-about{background:var(--ink);color:var(--paper)}
.style-bold .site-header{background:var(--ink);color:var(--paper);border-color:transparent}.style-bold .home-hero{max-width:none;background:var(--ink);color:var(--paper);grid-template-columns:1fr 1.1fr;gap:3rem}.style-bold h1,.style-bold h2,.style-bold h3{font-family:var(--sans);font-weight:700;letter-spacing:-.05em}.style-bold .feature-image img{aspect-ratio:1/1}.style-bold .feature-image figcaption{border-color:#ffffff55}.style-bold .home-services{border-top:0}.style-bold .service-row{border-top:3px solid var(--ink)}.style-bold .feature-summary{background:var(--ink)}
.style-editorial .home-hero{display:block}.style-editorial .hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:2.5rem}.style-editorial .hero-copy h1{max-width:15ch}.style-editorial .feature-image img{aspect-ratio:21/9;max-height:620px}.style-editorial .service-cards{grid-template-columns:1fr}.style-editorial .service-cards article{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.style-editorial .about-copy{font-family:var(--serif);font-size:1.5rem}
@media(min-width:851px){.photo-gallery>div:not(.section-heading)>figure:first-child:nth-last-child(3){grid-column:1/-1}.photo-gallery>div:not(.section-heading)>figure:first-child:nth-last-child(3) img{aspect-ratio:21/9}}
@media(max-width:850px){.home-hero,.style-warm .home-hero,.style-clear .home-hero,.style-bold .home-hero{grid-template-columns:1fr;gap:2rem}.style-clear .feature-image{order:0}.hero-copy h1{max-width:20ch}.feature-image img,.style-warm .feature-image img,.style-clear .feature-image img,.style-bold .feature-image img{aspect-ratio:4/3;max-height:560px}.style-editorial .hero-copy{display:block;margin-bottom:2rem}.style-editorial .feature-image img{aspect-ratio:16/10}.service-cards{grid-template-columns:1fr;gap:1.2rem}.service-cards article{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}.about-intro,.style-clear .about-intro,.contact-intro,.about-facts,.contact-details{grid-template-columns:1fr;gap:1.5rem}.about-intro>.kicker{grid-column:auto}.about-intro h1{margin-bottom:0}.contact-intro{gap:1rem}.contact-details{gap:0}.about-facts{gap:2.5rem}.contact-links a{font-size:1.2rem}.site-header nav{gap:1.2rem}}
@media(max-width:550px){body{font-size:16px}.site-header{min-height:0;align-items:start;flex-direction:column;gap:.65rem;padding-block:1rem}.site-header nav{width:100%;justify-content:space-between;gap:.5rem}.site-header nav a{min-height:32px;padding:.3rem 0}h1{font-size:clamp(2.45rem,11vw,3.2rem);max-width:none}.hero-copy h1{max-width:16ch}.home-hero,.style-bold .home-hero{padding-top:2rem}.feature-image img,.style-warm .feature-image img,.style-clear .feature-image img,.style-bold .feature-image img{aspect-ratio:4/3}.service-cards article,.style-editorial .service-cards article,.service-row,.pricing{grid-template-columns:1fr;gap:.6rem}.service-cards h3{margin-bottom:.3rem}.section-heading{align-items:start;flex-direction:column;gap:.8rem}.service-row{padding:1.7rem 0}.service-index{display:none}.pricing{padding-block:2rem}.photo-gallery>div:not(.section-heading){grid-template-columns:1fr;gap:1.5rem}.photo-gallery img{aspect-ratio:4/3}.photo-gallery figcaption span{display:block}.about-photo img{aspect-ratio:4/3}.area-panel{grid-template-columns:1fr;gap:1rem}.area-panel ul{grid-template-columns:1fr}.contact-intro h1{margin-bottom:1rem}.page-next{align-items:start;flex-direction:column;gap:1.5rem}.page-next .button{width:100%}footer{display:grid;grid-template-columns:1fr auto;gap:1.5rem 1rem}footer small{grid-column:1/-1}.review-page{padding:2.5rem 1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
