:root{--ink:#0a0a0a;--paper:#fff;--mist:#e5e5e5;--line:#c8c8c8;--pad:clamp(1.25rem,4vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,textarea,select{font:inherit}.shell{padding-inline:var(--pad)}
.site-header{height:7rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-size:clamp(1.2rem,1.8vw,1.85rem);letter-spacing:-.04em}.nav{display:flex;gap:2.6rem}.nav a{padding:.3rem 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--ink)}.menu{display:none;background:none;border:0;font-size:1.1rem}
.hero{min-height:calc(100vh - 7rem);display:grid;grid-template-columns:1.06fr .94fr;background:#dedede}.hero-copy{padding:10vh var(--pad);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.5rem}.hero h1,.page-title{font-size:clamp(3.6rem,7.4vw,8rem);font-weight:400;line-height:.91;letter-spacing:-.075em;margin:0;max-width:9ch}.hero p{font-size:clamp(1.1rem,1.5vw,1.65rem);max-width:30rem;margin:2.3rem 0}.hero-media img{height:100%;min-height:44rem}.button{display:inline-flex;align-items:center;justify-content:center;min-width:12rem;padding:1.15rem 2rem;border-radius:999px;background:#000;color:#fff;border:1px solid #000;text-transform:uppercase;font-size:.9rem;letter-spacing:.02em;cursor:pointer}.button:hover{background:#222}.button.light{background:#fff;color:#000}
.section{padding:clamp(5rem,9vw,9rem) var(--pad)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:4rem}.section h2{font-size:clamp(2.7rem,5.2vw,5.7rem);font-weight:400;line-height:.96;letter-spacing:-.06em;margin:0}.section-intro{max-width:37rem;font-size:1.15rem;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.service-card img{aspect-ratio:1/1.04}.service-card h3{font-size:clamp(1.65rem,2.4vw,2.65rem);font-weight:400;line-height:1.02;letter-spacing:-.04em;margin:1.5rem 0 .5rem}.service-card .price{font-size:1.05rem;margin:.4rem 0}.service-card p{max-width:35rem;margin:.9rem 0 0}.text-link{display:inline-block;margin-top:1.1rem;border-bottom:1px solid #000;font-size:.86rem;text-transform:uppercase}
.accordion{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}.accordion-list{border-top:1px solid #000}.accordion details{border-bottom:1px solid #000;padding:1.5rem 0}.accordion summary{font-size:clamp(1.45rem,2.7vw,2.7rem);list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+'}.accordion details[open] summary:after{content:'–'}.accordion details p{max-width:44rem;font-size:1.05rem;padding-right:3rem}
.about-band{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center}.about-band img{aspect-ratio:1.3/1}.about-copy p{font-size:1.14rem;max-width:35rem}.about-copy .button{margin-top:1.4rem}
.social{padding-top:6rem;text-align:center}.social-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.social-grid img{aspect-ratio:1/1}.social-grid img:nth-child(2),.social-grid img:nth-child(4){border-radius:50% 50% 0 0}
.contact-band{background:#dedede;text-align:center}.contact-band p{max-width:42rem;margin:1.5rem auto 2rem;font-size:1.12rem}
.page-intro{padding:7vw var(--pad) 4rem;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start}.page-intro .page-title{max-width:11ch}.page-intro p{font-size:1.12rem;margin:1rem 0;max-width:44rem}.page-intro-image{padding:0 var(--pad) 5rem}.page-intro-image img{height:36rem}.detail-grid{padding:2rem var(--pad) 8rem}.detail-grid .service-grid{gap:1rem}
.about-page{display:grid;grid-template-columns:1.08fr .92fr;min-height:calc(100vh - 7rem)}.about-page .copy{padding:8vh var(--pad)}.about-page .copy h1{font-size:clamp(3.8rem,7vw,7.2rem);font-weight:400;line-height:.92;letter-spacing:-.07em;margin:0 0 2rem}.about-page .copy p{font-size:1.12rem;max-width:42rem}.about-page img{height:100%;min-height:45rem}
.contact-page{display:grid;grid-template-columns:1.08fr .92fr}.contact-copy{padding:6vh var(--pad)}.contact-copy h1{font-size:clamp(3.5rem,6.5vw,7rem);line-height:.93;letter-spacing:-.065em;font-weight:400;margin:0 0 1.5rem}.contact-copy>p{font-size:1.1rem;max-width:43rem;margin-bottom:3rem}.contact-page>img{height:100%;min-height:60rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;border:1px solid #000;border-radius:1.8rem;background:transparent;padding:.85rem 1rem;min-height:3.25rem}.field textarea{min-height:8rem;resize:vertical}.form-status{grid-column:1/-1;min-height:1.5rem;margin:.3rem 0}.footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:3rem var(--pad);font-size:clamp(1.4rem,3vw,3.2rem);letter-spacing:-.04em}.footer a{font-size:clamp(1rem,2vw,2.2rem)}
@media(max-width:800px){.site-header{height:5.5rem}.menu{display:block}.nav{display:none;position:absolute;top:5.5rem;left:0;right:0;background:#fff;padding:1.4rem var(--pad);z-index:10;flex-direction:column;gap:1rem;border-bottom:1px solid #ddd}.nav.open{display:flex}.hero,.about-page,.contact-page{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{padding-block:5rem}.hero h1,.page-title{font-size:clamp(3.4rem,15vw,5.5rem)}.hero-media img{min-height:0;height:58vh}.section-head,.page-intro{display:block}.section-intro{margin-top:1.5rem}.service-grid,.social-grid{grid-template-columns:1fr}.accordion{grid-template-columns:1fr}.about-band{grid-template-columns:1fr}.about-band img{order:2}.page-intro{padding-top:4rem}.page-intro-image img{height:55vw;min-height:20rem}.about-page img,.contact-page>img{min-height:0;height:65vh}.contact-copy{padding-block:4rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer{align-items:flex-start;flex-direction:column}.social-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
