@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Work+Sans:wght@400;500;600&display=swap');
:root{--navy:#172c45;--pearl:#f5f2ea;--brass:#a68552;--mist:#cdd8dc;--white:#fffefd;--ink:#172c45;--line:rgba(23,44,69,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pearl);color:var(--ink);font:400 16px/1.72 'Work Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:.22em}img{display:block;max-width:100%;height:auto}.skip{position:absolute;left:-9999px;top:8px;background:var(--navy);color:#fff;padding:10px 14px;z-index:100}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
.gallery-nav{max-width:1240px;margin:0 auto;padding:26px 28px 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--brass)}.gallery-nav nav{display:flex;gap:22px}.gallery-nav nav:last-child{justify-content:flex-end}.gallery-nav nav a{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.wordmark{text-align:center;text-decoration:none;font:600 1.2rem/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.03em}.wordmark small{display:block;margin-top:7px;font:500 .52rem/1.2 'Work Sans',Arial,sans-serif;letter-spacing:.18em}
.gallery-hero{max-width:1100px;margin:0 auto;padding:54px 28px 100px;text-align:center}.hero-kicker,.opening span,.gallery-rooms span,.warning-signs span,.hingham-record span,.service-approach span,.prepare span,.call-consult span,.questions span,.catalog-intro span,.three-frames span,.source-frame span,.urgent-gallery span,.procedure span,.curator-note span,.related-frame span,.trust-grid span{font-size:.66rem;font-weight:600;letter-spacing:.17em;color:var(--brass)}.art-frame{position:relative;margin:22px auto 0;padding:14px;border:1px solid var(--brass);background:var(--white)}.art-frame:before{content:"";position:absolute;inset:5px;border:1px solid rgba(166,133,82,.45);pointer-events:none}.art-frame:after{content:"";position:absolute;inset:14px;background:linear-gradient(108deg,transparent 35%,rgba(245,242,234,.45) 50%,transparent 65%);opacity:0;animation:galleryFade 10s ease-in-out infinite;pointer-events:none}.title-frame{max-width:820px;margin:-1px auto 0;padding:48px 65px 52px;border:1px solid var(--brass);border-radius:2px;background:var(--pearl);position:relative}.title-frame:before,.title-frame:after{content:"";position:absolute;top:28px;width:58px;border-top:1px solid var(--brass)}.title-frame:before{left:28px}.title-frame:after{right:28px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.04;font-weight:600}h1{font-size:clamp(3.3rem,6.8vw,6rem);margin:.05em auto .18em;letter-spacing:-.035em}h2{font-size:clamp(2.15rem,4vw,3.65rem);margin:.15em 0 .35em;letter-spacing:-.025em}h3{font-size:1.75rem;margin:.25em 0}.title-frame>p{max-width:650px;margin:0 auto 30px;font-size:1.04rem}.call-crest{width:min(330px,100%);margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--navy);border-radius:2px;text-decoration:none}.call-crest span{font:600 .65rem 'Work Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.call-crest strong{font:600 1.2rem 'Cormorant Garamond',Georgia,serif}
.opening,.hingham-record,.prepare,.call-consult,.questions,.source-frame,.procedure,.curator-note{max-width:1080px;margin:0 auto 110px;padding:0 28px;display:grid;grid-template-columns:.78fr 1.22fr;gap:78px}.opening p:first-child,.hingham-record p:first-child,.prepare p:first-child{margin-top:0}.opening>div:last-child{font-size:1.02rem}.gallery-rooms{max-width:1180px;margin:0 auto 120px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:26px}.gallery-rooms article{background:var(--white);border:1px solid var(--brass);border-radius:2px;padding:20px 42px 44px;text-align:center}.gallery-rooms p{text-align:left}.gallery-rooms a{display:inline-block;margin-top:10px;font-weight:600}.miniature{height:125px;margin:-1px -23px 30px;border-bottom:1px solid var(--brass);background-color:var(--mist);position:relative;overflow:hidden}.miniature:before,.miniature:after{content:"";position:absolute}.miniature.sink:before{width:100px;height:38px;border:8px solid var(--navy);border-top:0;border-radius:0 0 46px 46px;left:calc(50% - 50px);top:52px}.miniature.sink:after{width:44px;height:44px;border:7px solid var(--brass);border-left:0;border-bottom:0;left:calc(50% - 9px);top:20px}.miniature.pipe:before{width:170px;height:62px;border:12px solid var(--navy);border-top:0;border-radius:0 0 44px 44px;left:calc(50% - 85px);top:20px}.miniature.pipe:after{width:10px;height:66px;background:var(--brass);left:calc(50% - 5px);top:58px}.miniature.drain:before{width:125px;height:125px;border-radius:50%;border:9px double var(--navy);left:calc(50% - 62px);top:0}.miniature.drain:after{width:90px;height:1px;background:var(--brass);left:calc(50% - 45px);top:62px;box-shadow:0 -24px var(--brass),0 24px var(--brass)}.miniature.heater:before{width:82px;height:110px;border:8px solid var(--navy);border-radius:42px 42px 12px 12px;left:calc(50% - 41px);top:10px}.miniature.heater:after{width:46px;height:46px;border-radius:50%;border:1px solid var(--brass);left:calc(50% - 23px);top:40px}
.warning-signs{background:var(--navy);color:var(--pearl);padding:100px max(28px,calc((100vw - 1024px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;margin-bottom:110px}.warning-signs h2,.warning-signs strong{color:#fff}.warning-signs ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(245,242,234,.3)}.warning-signs li{padding:15px 0;border-bottom:1px solid rgba(245,242,234,.3)}.service-approach{max-width:1180px;margin:0 auto 110px;padding:0 28px;text-align:center}.service-approach header{max-width:720px;margin:0 auto 45px}.service-approach>div{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--brass)}.service-approach article{padding:28px 20px;border-right:1px solid var(--brass);background:var(--white)}.service-approach article:last-child{border:0}.service-approach article>strong{font:600 1.8rem 'Cormorant Garamond',Georgia,serif;color:var(--brass)}.service-approach h3{font-size:1.4rem}.service-approach p{font-size:.86rem;line-height:1.55}.call-consult{padding-top:70px;padding-bottom:70px;border-top:1px solid var(--brass);border-bottom:1px solid var(--brass)}.text-call{display:inline-block;margin-top:12px;padding:12px 22px;border:1px solid var(--navy);text-decoration:none;font-weight:600}.questions details,.faq-list details{padding:19px 0;border-bottom:1px solid var(--brass)}summary{cursor:pointer;font:600 1.35rem 'Cormorant Garamond',Georgia,serif}.questions details p,.faq-list details p{max-width:720px}
.catalog-intro{max-width:760px;margin:0 auto 95px;padding:0 28px;text-align:center}.catalog-intro h2{font-size:2.35rem}.catalog-intro p{font-size:1.05rem}.three-frames{max-width:1180px;margin:0 auto 100px;padding:0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.three-frames article{padding:35px 31px;border:1px solid var(--brass);background:var(--white);text-align:left}.three-frames article:nth-child(2){background:var(--mist)}.three-frames h2{font-size:2rem}.source-frame{padding:52px;border:1px solid var(--brass);background:var(--white)}.source-link{font:600 1.45rem 'Cormorant Garamond',Georgia,serif}.visit-sequence{max-width:1180px;margin:0 auto 105px;padding:0 28px;text-align:center}.visit-sequence ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--brass)}.visit-sequence li{padding:32px 25px;border-right:1px solid var(--brass);background:var(--pearl)}.visit-sequence li:last-child{border:0}.visit-sequence strong{font:600 1.3rem 'Cormorant Garamond',Georgia,serif}.visit-sequence p{font-size:.88rem}.related-frame{max-width:1080px;margin:0 auto 105px;padding:48px;border-top:1px solid var(--brass);border-bottom:1px solid var(--brass);display:grid;grid-template-columns:.8fr 1fr .9fr;gap:40px;align-items:start}.related-frame ul{list-style:none;margin:0;padding:0}.related-frame li{padding:9px 0;border-bottom:1px solid var(--line)}.related-frame aside{padding:25px;border:1px solid var(--navy);text-align:center}.related-frame aside a{font-weight:600}.urgent-gallery{max-width:1180px;margin:0 auto 95px;padding:0 28px}.urgent-gallery>header{max-width:720px;margin:0 auto 45px;text-align:center}.four-frames{display:grid;grid-template-columns:1fr 1fr;gap:22px}.four-frames article{padding:36px;border:1px solid var(--brass);background:var(--white)}.four-frames article:nth-child(2),.four-frames article:nth-child(3){background:var(--mist)}.four-frames h3{font-size:2rem}.procedure{padding:55px;background:var(--navy);color:var(--pearl);max-width:1180px}.procedure h2,.procedure strong{color:#fff}.procedure ol{margin:0;padding-left:1.15em}.procedure li{margin-bottom:15px}.curator-note{padding:55px;border:1px solid var(--brass);background:var(--white);grid-template-columns:.65fr 1.35fr}.curator-note>div{columns:2;column-gap:36px}.curator-note p:first-child{margin-top:0}.faq-list,.trust-grid,.missing{max-width:960px;margin:0 auto 100px;padding:0 28px}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.trust-grid article{padding:38px;border:1px solid var(--brass);background:var(--white)}.trust-grid h2{font-size:2rem}.missing{text-align:center;padding:60px 28px 120px}
.disclosure{padding:34px max(28px,calc((100vw - 1124px)/2));border-top:1px solid var(--brass);display:grid;grid-template-columns:.55fr 1.5fr auto;gap:35px;align-items:center;background:var(--mist)}.disclosure strong{font-size:.63rem;letter-spacing:.14em}.disclosure p{margin:0;font-size:.85rem}.disclosure a{font-size:.8rem;font-weight:600}footer{background:var(--navy);color:var(--pearl);padding:58px max(28px,calc((100vw - 1124px)/2));display:grid;grid-template-columns:1fr 1fr;gap:30px}footer>div>strong{font:600 1.45rem 'Cormorant Garamond',Georgia,serif}footer nav{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap}footer .fine{grid-column:1/-1;border-top:1px solid rgba(245,242,234,.25);padding-top:18px;font-size:.76rem}.mobile-call{display:none}
@keyframes galleryFade{0%,35%,100%{opacity:0}48%,72%{opacity:1}}
@media(max-width:900px){.gallery-nav{grid-template-columns:1fr;gap:18px}.gallery-nav nav,.gallery-nav nav:last-child{justify-content:center}.wordmark{grid-row:1}.service-approach>div{grid-template-columns:1fr 1fr}.service-approach article{border-bottom:1px solid var(--brass)}.opening,.hingham-record,.prepare,.call-consult,.questions,.source-frame,.procedure,.curator-note{grid-template-columns:1fr;gap:32px}.curator-note>div{columns:1}.three-frames{grid-template-columns:1fr 1fr}.three-frames article:last-child{grid-column:1/-1}.visit-sequence ol{grid-template-columns:1fr 1fr}.gallery-rooms{grid-template-columns:1fr 1fr}.related-frame{grid-template-columns:1fr 1fr}.related-frame aside{grid-column:1/-1}.warning-signs{grid-template-columns:1fr}}
@media(max-width:650px){body{font-size:15px;padding-bottom:72px}.gallery-nav{padding:20px 16px}.gallery-nav nav{gap:15px}.gallery-nav nav a{font-size:.61rem}.gallery-hero{padding:38px 16px 70px}.art-frame{padding:7px}.art-frame:before{inset:2px}.art-frame:after{inset:7px}.title-frame{padding:35px 20px 40px}.title-frame:before,.title-frame:after,.call-crest{display:none}h1{font-size:3.15rem}.opening,.hingham-record,.prepare,.call-consult,.questions,.source-frame,.procedure,.curator-note{padding-left:18px;padding-right:18px;margin-bottom:75px}.gallery-rooms,.three-frames,.urgent-gallery,.visit-sequence,.trust-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px;margin-bottom:75px}.three-frames article:last-child{grid-column:auto}.gallery-rooms article{padding:14px 28px 34px}.four-frames{grid-template-columns:1fr}.service-approach{padding:0 18px}.service-approach>div,.visit-sequence ol{grid-template-columns:1fr}.service-approach article,.visit-sequence li{border-right:0;border-bottom:1px solid var(--brass)}.warning-signs{padding:70px 18px;margin-bottom:75px}.related-frame{grid-template-columns:1fr;padding:34px 18px;margin-bottom:75px}.related-frame aside{grid-column:auto}.disclosure{grid-template-columns:1fr;padding:30px 18px}footer{grid-template-columns:1fr;padding:45px 18px}footer nav{justify-content:flex-start}.mobile-call{position:fixed;left:9px;right:9px;bottom:9px;z-index:50;display:flex;align-items:center;justify-content:space-between;min-height:55px;padding:8px 16px;background:var(--pearl);border:2px solid var(--navy);border-radius:2px;text-decoration:none}.mobile-call span{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.mobile-call strong{font:600 1.15rem 'Cormorant Garamond',Georgia,serif}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-frame:after{animation:none}}
