:root{--paper:#f5eee1;--card:#fbf7ef;--ink:#26211c;--brick:#9c3b23;--sun:#d68f2e;--moss:#3c4a3e;--rule:#d9cdb8;--mute:#6a6055}
*{box-sizing:border-box}body{margin:0;font:18px/1.7 Georgia,"Iowan Old Style","Times New Roman",serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:Georgia,"Iowan Old Style",serif;font-weight:400;line-height:1.12;margin:0;letter-spacing:-.01em}
.sans{font-family:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.ph{background:repeating-linear-gradient(45deg,#cdbfa6 0 12px,#c4b59a 12px 24px);color:#4c4234;display:flex;align-items:flex-end;padding:16px;font:600 12px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.05em;text-transform:uppercase}
.top{border-bottom:1px solid var(--rule);font:14px/1 -apple-system,Helvetica,sans-serif;color:var(--mute)}.top .wrap{display:flex;justify-content:space-between;padding-top:11px;padding-bottom:11px}
header .wrap{display:flex;align-items:center;gap:30px;height:96px}.logo{display:block;width:104px;height:78px;background:url(/assets/logo/chimney-sweep-ramapo-logo.webp) left center/contain no-repeat}
nav{margin-left:auto;display:flex;gap:30px;font:16px/1 -apple-system,Helvetica,sans-serif}nav a{text-decoration:none}
.btn{display:inline-block;background:var(--brick);color:#fff;text-decoration:none;font:600 16px/1 -apple-system,Helvetica,sans-serif;padding:16px 26px;border-radius:2px}
.link{font:600 16px/1 -apple-system,Helvetica,sans-serif;text-decoration:none;border-bottom:2px solid var(--sun);padding-bottom:4px}
.hero{display:grid;grid-template-columns:55fr 45fr;gap:64px;align-items:center;padding-top:56px;padding-bottom:84px}
.kicker{font:600 13px/1 -apple-system,Helvetica,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--brick);margin-bottom:22px}
h1{font-size:60px}h1 em{font-style:italic;color:var(--brick)}.hero p{font-size:20px;max-width:34em;margin:24px 0 32px;color:#40382f}
.cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.hero .ph{aspect-ratio:4/5;border-radius:2px}.cap{font:italic 15px/1.5 Georgia,serif;color:var(--mute);margin-top:10px}
.facts{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.facts div{padding:26px 24px;border-left:1px solid var(--rule)}.facts div:first-child{border:0;padding-left:0}.facts b{display:block;font:400 34px/1 Georgia,serif;color:var(--brick)}.facts span{font:14px/1.4 -apple-system,Helvetica,sans-serif;color:var(--mute)}
section{padding:108px 0}h2{font-size:40px;max-width:20ch}.intro{max-width:62ch;margin-top:18px;color:#40382f}
.svc{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;margin-top:52px;align-items:start}
.feat .ph{aspect-ratio:3/2}.feat h3{font-size:30px;margin:22px 0 10px}.feat p{margin:0 0 16px}
.list{border-top:1px solid var(--ink)}.list a{display:block;text-decoration:none;padding:20px 0;border-bottom:1px solid var(--rule)}.list h3{font-size:23px}.list p{margin:4px 0 0;font:16px/1.5 -apple-system,Helvetica,sans-serif;color:var(--mute)}
.moss{background:var(--moss);color:#f1ead9}.moss h2{color:#fff}.moss .intro{color:#d9d5c4}
.diag{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:44px}.diag div{padding:22px 0;border-top:1px solid #5b6a5d}.diag h3{font-size:22px;color:#fff}.diag p{margin:6px 0 0;font:16px/1.55 -apple-system,Helvetica,sans-serif;color:#d9d5c4}.diag a{color:var(--sun)}
.story{display:grid;grid-template-columns:45fr 55fr;gap:72px;align-items:center}.story .ph{aspect-ratio:1/1}
blockquote{margin:28px 0 0;padding-left:22px;border-left:3px solid var(--sun);font-style:italic;font-size:22px;line-height:1.45}
.area{background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.towns{margin-top:30px;font-size:24px;line-height:2}.towns a{text-decoration:none;border-bottom:1px solid var(--brick)}.towns span{color:var(--sun);padding:0 12px}
.end{text-align:center}.end h2{margin:0 auto;font-size:46px}.end .cta{justify-content:center;margin-top:30px}
footer{background:var(--ink);color:#cfc5b4;font:15px/1.9 -apple-system,Helvetica,sans-serif;padding:60px 0}footer .g{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px}footer .g a{display:block;text-decoration:none}footer h2{font:400 20px/1 Georgia,serif;color:#fff;margin:0 0 14px}
@media(max-width:820px){.top,nav{display:none}header .wrap{height:72px}.logo{width:75px;height:56px}header .btn{margin-left:auto;padding:12px 14px;font-size:14px}.wrap{padding:0 20px}
.hero{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:48px}h1{font-size:38px}.hero p{font-size:18px}.hero .ph{aspect-ratio:3/2;order:-1}.cap{display:none}
.facts .wrap{grid-template-columns:1fr 1fr}.facts div{padding:16px 0;border:0;border-top:1px solid var(--rule)}.facts b{font-size:26px}
section{padding:60px 0}h2{font-size:30px}.svc,.story,.diag{grid-template-columns:1fr;gap:28px}.diag{gap:0}.towns{font-size:19px}.towns span{padding:0 6px}.end h2{font-size:32px}footer .g{grid-template-columns:1fr}.cta .btn{width:100%;text-align:center}}
/* additions for the final homepage */
.break{height:420px;align-items:flex-end}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:48px;counter-reset:s}
.steps div{border-top:1px solid var(--ink);padding-top:20px}.steps div::before{counter-increment:s;content:"0" counter(s);font:italic 400 30px/1 Georgia,serif;color:var(--brick)}
.steps h3{font-size:23px;margin:14px 0 8px}.steps p{margin:0;font:16px/1.6 -apple-system,Helvetica,sans-serif;color:var(--mute)}
.faq{max-width:820px}.faq details{border-bottom:1px solid var(--rule);padding:22px 0}.faq details:first-of-type{border-top:1px solid var(--ink);margin-top:40px}
.faq summary{cursor:pointer;font-size:22px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::after{content:"+";color:var(--brick);font-size:26px;line-height:1}.faq details[open] summary::after{content:"\2212"}
.faq summary::-webkit-details-marker{display:none}.faq p{margin:14px 0 0;max-width:62ch;color:#40382f}
.menu{display:none}.callbar{display:none}
a:focus-visible,summary:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
@media(max-width:820px){.break{height:220px}.steps{grid-template-columns:1fr;gap:24px}.faq summary{font-size:19px}
header .btn{display:none}.menu{display:block;margin-left:auto;position:relative}.menu summary{list-style:none;font:600 15px/1 -apple-system,Helvetica,sans-serif;border:1px solid var(--ink);padding:13px 16px;border-radius:2px;cursor:pointer}.menu summary::-webkit-details-marker{display:none}
.menu div{position:absolute;right:0;top:52px;background:var(--card);border:1px solid var(--rule);min-width:230px;z-index:9;padding:8px 0}.menu a{display:block;padding:13px 20px;text-decoration:none;font:16px/1.2 -apple-system,Helvetica,sans-serif}
.callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:8;font:700 16px/1 -apple-system,Helvetica,sans-serif}.callbar a{flex:1;text-align:center;padding:17px 8px;text-decoration:none;color:#fff;background:var(--ink)}.callbar a+a{background:var(--brick)}body{padding-bottom:52px}}

/* page types */
.crumb{font:14px/1 -apple-system,Helvetica,sans-serif;color:var(--mute);padding:22px 0 0}.crumb a{text-decoration:none}.crumb .sep{padding:0 8px;color:var(--sun)}
.phero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:40px;padding-bottom:72px}.phero h1{font-size:52px}.phero p{font-size:20px;margin:22px 0 30px;color:#40382f;max-width:32em}
.lhero{padding-top:36px;padding-bottom:0}.lhero h1{font-size:56px;max-width:16ch}.lhero .row{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end;margin-top:24px}.lhero p{font-size:20px;margin:0;color:#40382f}
.plain{padding-top:48px;padding-bottom:20px}.plain h1{font-size:52px;max-width:18ch}.plain p{font-size:20px;max-width:36em;color:#40382f;margin:20px 0 0}
.quick{background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.quick .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:36px;padding-bottom:36px}.quick h2{font:600 13px/1 -apple-system,Helvetica,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--brick);margin-bottom:10px}.quick p{margin:0;font-size:17px;line-height:1.55}
.prose{max-width:720px}.prose h2{margin-bottom:18px}.prose h3{font-size:25px;margin:34px 0 8px}.prose p{margin:0 0 18px}.prose a{color:var(--brick)}.prose ul{padding-left:22px;margin:0 0 18px}.prose li{margin-bottom:8px}
.side{display:grid;grid-template-columns:minmax(0,720px) 1fr;gap:72px;align-items:start}.note{border-left:3px solid var(--sun);padding:4px 0 4px 22px;font-style:italic;font-size:21px;line-height:1.45;position:sticky;top:24px}
.entry{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:40px}.entry div{padding:22px 0;border-top:1px solid #5b6a5d}.entry h3{font-size:22px;color:#fff}.entry p{margin:6px 0 0;font:16px/1.55 -apple-system,Helvetica,sans-serif;color:#d9d5c4}
.links{display:grid;grid-template-columns:1fr 1fr;gap:72px}.links h2{font-size:30px}.links ul{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--ink)}.links li a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:20px}.links li a::after{content:"\2192";color:var(--brick)}
.locality-map{margin-top:32px;border:1px solid var(--rule)}.locality-map iframe{display:block;width:100%}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hub a{display:grid;grid-template-columns:240px 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--rule);text-decoration:none;align-items:center}.hub a:first-child{border-top:1px solid var(--ink)}.hub .ph{aspect-ratio:3/2}.hub h2{font-size:30px}.hub p{margin:8px 0 10px;max-width:56ch}
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:36px}.tgrid a{display:block;padding:24px 0;border-top:1px solid var(--rule);text-decoration:none}.tgrid h2{font-size:27px}.tgrid p{margin:6px 0 0;font:16px/1.55 -apple-system,Helvetica,sans-serif;color:var(--mute)}
.time{margin-top:44px;border-left:1px solid var(--ink);padding-left:36px}.time div{margin-bottom:34px;position:relative}.time b{font:italic 400 30px/1 Georgia,serif;color:var(--brick);display:block;margin-bottom:6px}.time div::before{content:"";position:absolute;left:-42px;top:10px;width:11px;height:11px;background:var(--sun);border-radius:50%}
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:start}.big{font:400 44px/1.1 Georgia,serif;text-decoration:none;color:var(--brick);display:block;margin:6px 0 26px}.contact dl{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;margin:0;font-size:18px}.contact dt{color:var(--mute);font:15px/1.9 -apple-system,Helvetica,sans-serif}.contact dd{margin:0}
form{background:var(--card);border:1px solid var(--rule);padding:36px}label{display:block;font:600 14px/1 -apple-system,Helvetica,sans-serif;margin:18px 0 8px}label:first-of-type{margin-top:0}input,select,textarea{width:100%;font:17px/1.4 -apple-system,Helvetica,sans-serif;padding:13px 14px;border:1px solid #bfb39d;background:#fff;border-radius:2px}form .btn{border:0;margin-top:24px;cursor:pointer;width:100%}
@media(max-width:820px){.phero,.lhero .row,.side,.links,.duo,.contact,.entry,.tgrid{grid-template-columns:1fr;gap:28px}.entry,.tgrid{gap:0}.phero{padding-top:20px;padding-bottom:44px}.phero h1,.lhero h1,.plain h1{font-size:36px}.phero p,.lhero p,.plain p{font-size:18px}.phero .ph{order:-1}.lhero .ph{aspect-ratio:16/9;margin-top:28px}
.quick .wrap{grid-template-columns:1fr;gap:22px}.note{position:static;font-size:19px}.duo.flip .ph{order:0}.hub a{grid-template-columns:1fr;gap:14px}.hub h2{font-size:25px}.big{font-size:34px}form{padding:22px}.links h2{font-size:26px}}

/* production */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:20}.skip:focus{left:8px;top:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
figure{margin:0}img.m{display:block;width:100%;height:auto;object-fit:cover;background:#cdbfa6;border-radius:2px}
.r45{aspect-ratio:4/5}.r32{aspect-ratio:3/2}.r43{aspect-ratio:4/3}.r11{aspect-ratio:1/1}.r218{aspect-ratio:21/8;margin-top:44px}
img.break{height:420px;aspect-ratio:auto;border-radius:0}
.feat{text-decoration:none;display:block}.more{margin-top:32px}
section.tight{padding-top:0}section.t40{padding-top:40px}section.t48{padding-top:48px}section.t56{padding-top:56px}
section.alt{background:var(--card);border-top:1px solid var(--rule)}
.moss a{color:var(--sun)}.moss h3 a{color:#fff;text-decoration-color:var(--sun)}.moss .btn{color:#fff}
.stack h2{margin-top:56px}.stack h2:first-child{margin-top:0}
aside.note{margin:0}.duo .prose h2{margin-bottom:18px}
.hub a>img{aspect-ratio:3/2}
.fine{font:14px/1.5 -apple-system,Helvetica,sans-serif;color:var(--mute);margin:16px 0 0}
.towns a,.list a,.tgrid a,.hub a,.links a{color:inherit}
@media(max-width:820px){img.break{height:220px}.r218{aspect-ratio:16/9;margin-top:28px}.phero img{order:-1}.stack h2{margin-top:40px}}
.credit{display:block;font-size:13px;color:var(--mute);margin-top:8px}
.faqpage h2{margin-top:56px}.faqpage h2:first-child{margin-top:0}.faqpage details:first-of-type{margin-top:0}.faqpage h2+details{border-top:1px solid var(--ink);margin-top:22px}nav{gap:26px}
