:root{--bg:#0b0b0b;--paper:#f4f1eb;--gold:#caa56a;--muted:#aaa49a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:Arial,Helvetica,sans-serif}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #292929;position:sticky;top:0;background:rgba(11,11,11,.96);z-index:5}.brand img{width:170px;display:block}nav{display:flex;gap:34px}nav a{color:#ddd;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.18em}.hero{min-height:720px;display:grid;grid-template-columns:.85fr 1.4fr;align-items:stretch}.hero-copy{padding:12vw 5vw 8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.24em;font-weight:bold}.hero h1,.intro h2,.services h2,.contact h2{font-family:Georgia,serif;font-weight:400}.hero h1{font-size:clamp(52px,6vw,100px);line-height:.92;margin:22px 0 28px}.hero h1 em{color:var(--gold);font-weight:400}.hero-copy>p:not(.eyebrow){max-width:500px;color:#bbb;font-size:18px;line-height:1.7}.hero>img{width:100%;height:100%;min-height:720px;object-fit:cover;object-position:center}.button{display:inline-block;margin-top:22px;padding:15px 23px;border:1px solid var(--gold);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:11px}.intro{padding:110px 5vw 70px;max-width:1000px}.intro h2,.services h2,.contact h2{font-size:clamp(40px,5vw,72px);margin:12px 0}.intro>p:last-child{color:#aaa;font-size:18px}.project{padding:0 5vw 120px}.project.alt{background:#111;padding-top:100px}.project-head{display:flex;align-items:end;justify-content:space-between;border-top:1px solid #3a3a3a;padding:26px 0}.project-head div{display:flex;align-items:baseline;gap:22px}.project-head span{color:var(--gold);font-size:12px}.project-head h3{font:400 clamp(32px,4vw,60px) Georgia,serif;margin:0}.project-head>p{color:#8f8f8f;text-transform:uppercase;letter-spacing:.16em;font-size:11px}.photo-grid{display:grid;gap:18px}.photo-grid.pool{grid-template-columns:1.35fr 1fr 1fr}.photo-grid.four{grid-template-columns:1fr 1fr}.photo-grid img{width:100%;height:520px;object-fit:cover;display:block}.photo-grid.four img{height:560px}.plans{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.plans img{width:100%;height:600px;object-fit:contain;background:white;display:block}.plans .wide{grid-column:1/-1;height:720px}.services{background:var(--paper);color:#111;padding:110px 5vw}.services .eyebrow{color:#8b672d}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfcac1;margin-top:55px}.service-grid article{background:var(--paper);padding:42px}.service-grid b{color:#9a7845;font-size:12px}.service-grid h3{font:400 28px Georgia,serif}.service-grid p{color:#615d57;line-height:1.6}.contact{padding:100px 5vw;display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;align-items:center}.contact img{width:100%;max-width:430px}.contact p:not(.eyebrow){color:#aaa;line-height:1.7;max-width:600px}footer{padding:30px 5vw;border-top:1px solid #292929;display:flex;justify-content:space-between;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.14em}@media(max-width:900px){header{height:74px}.brand img{width:130px}nav{gap:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:100px 6vw 60px}.hero>img{min-height:0;height:62vw;max-height:600px}.project,.project.alt{padding-left:4vw;padding-right:4vw}.photo-grid.pool,.photo-grid.four,.plans,.service-grid,.contact{grid-template-columns:1fr}.photo-grid img,.photo-grid.four img{height:auto;max-height:none;object-fit:contain;background:#111}.plans img,.plans .wide{height:auto;grid-column:auto}.project-head{align-items:start}.project-head>p{display:none}.contact{padding:70px 6vw}footer{gap:20px;flex-direction:column}}@media(max-width:520px){nav a:nth-child(2){display:none}.hero h1{font-size:48px}.intro,.services{padding:75px 6vw}.project{padding-bottom:80px}.project.alt{padding-top:70px}.photo-grid{gap:10px}.plans{gap:10px}.service-grid article{padding:30px}}

/* Restart V2 — uniform project media */
.pool-clean{grid-template-columns:1fr 1fr;gap:18px}
.pool-clean img{width:100%;height:560px;object-fit:cover;display:block}
.drawing-grid{display:grid;grid-template-columns:1fr;gap:26px;margin-top:26px}
.drawing-grid figure,.shillelagh-grid figure{margin:0;position:relative;overflow:hidden}
.drawing-grid figure{height:760px;background:#0b0b0b;display:flex;align-items:center;justify-content:center}
.drawing-grid figure img{width:100%;height:100%;object-fit:contain;display:block}
.drawing-grid figcaption,.shillelagh-grid figcaption{position:absolute;left:22px;bottom:18px;background:rgba(11,11,11,.94);color:#d6b37a;padding:12px 17px;text-transform:uppercase;letter-spacing:.17em;font-size:11px}
.shillelagh-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.shillelagh-grid figure{height:600px;background:#0b0b0b;display:flex;align-items:center;justify-content:center}
.shillelagh-grid .photo img{width:100%;height:100%;object-fit:cover;display:block}
.shillelagh-grid .drawing img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:900px){.pool-clean,.shillelagh-grid{grid-template-columns:1fr}.pool-clean img,.drawing-grid figure,.shillelagh-grid figure{height:auto;min-height:0}.drawing-grid figure img,.shillelagh-grid .drawing img{height:auto}.shillelagh-grid .photo img{height:auto;max-height:none}}

/* Restart V3 — reduce project image sizes */
.project{max-width:1280px;margin-left:auto;margin-right:auto}
.pool-clean,.shillelagh-grid{max-width:1120px;margin-left:auto;margin-right:auto}
.pool-clean img{height:400px}
.drawing-grid{max-width:1120px;margin-left:auto;margin-right:auto}
.drawing-grid figure{height:590px}
.shillelagh-grid figure{height:430px}
@media(max-width:900px){.pool-clean img,.drawing-grid figure,.shillelagh-grid figure{height:auto}}

/* Restart V4 — show full Shillelagh photos without cropping */
.shillelagh-grid .photo{background:#0b0b0b;padding:14px}
.shillelagh-grid .photo img{width:100%;height:100%;object-fit:contain;background:#0b0b0b}
.shillelagh-grid .photo:first-child img{width:94%;height:94%}
@media(max-width:900px){.shillelagh-grid .photo{padding:8px}.shillelagh-grid .photo:first-child img{width:100%;height:auto}.shillelagh-grid .photo img{height:auto}}

/* Restart V5 — logo hero + matching Pool House gallery */
.logo-hero{min-height:650px}
.hero-logo{min-height:650px;display:flex;align-items:center;justify-content:center;background:#0b0b0b;padding:6vw}
.hero-logo img{width:min(560px,75%);height:auto;object-fit:contain}
.pool-house-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1120px;margin:0 auto}
.pool-house-grid figure{height:430px;margin:0;position:relative;overflow:hidden;background:#0b0b0b;display:flex;align-items:center;justify-content:center}
.pool-house-grid .photo{padding:14px}
.pool-house-grid .photo img{width:100%;height:100%;object-fit:contain;background:#0b0b0b}
.pool-house-grid .photo:first-child img{width:94%;height:94%}
.pool-house-grid .drawing img{width:100%;height:100%;object-fit:contain;display:block}
.pool-house-grid figcaption{position:absolute;left:22px;bottom:18px;background:rgba(11,11,11,.94);color:#d6b37a;padding:12px 17px;text-transform:uppercase;letter-spacing:.17em;font-size:11px}
@media(max-width:900px){.logo-hero{min-height:0}.hero-logo{min-height:360px;padding:60px 8vw}.hero-logo img{width:min(420px,80%)}.pool-house-grid{grid-template-columns:1fr}.pool-house-grid figure{height:auto;min-height:0}.pool-house-grid .photo{padding:8px}.pool-house-grid .photo img,.pool-house-grid .photo:first-child img,.pool-house-grid .drawing img{width:100%;height:auto}}
/* Restart V6 — requested bottom sections + Pool House photo replacements */
.dark-services{background:#111;color:#f4f1eb;padding:90px 7vw 110px}
.dark-services h2{font-size:clamp(48px,5vw,78px);line-height:1.03;margin:18px 0 22px;max-width:900px}
.dark-services .services-lead{max-width:930px;color:#bbb;font-size:18px;line-height:1.7}
.dark-services .service-grid{background:#2a2927;max-width:1400px;margin-top:55px}
.dark-services .service-grid article{background:#111;color:#f4f1eb;padding:42px}
.dark-services .service-grid h3{margin-top:0}
.dark-services .service-grid p{color:#bbb}
.contact-form-section{display:grid;grid-template-columns:.8fr 1.35fr;gap:6vw;padding:100px 4vw;background:#050505;align-items:start}
.contact-copy h2{font:400 clamp(50px,5vw,78px)/1 Georgia,serif;margin:18px 0 24px}
.contact-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:510px}
.contact-lines{margin-top:38px}.contact-lines p{padding:18px 0;margin:0;border-bottom:1px solid #272727;font-size:18px}
.project-form{border:1px solid #302e2a;background:#111;padding:42px;display:grid;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form label{display:grid;gap:10px;font-size:12px;letter-spacing:.08em;color:#c9c0b3}.project-form input,.project-form select,.project-form textarea{width:100%;background:#080808;border:1px solid #35322e;color:#fff;padding:16px;font:16px Arial}.project-form textarea{min-height:130px;resize:vertical}.project-form button{justify-self:start;border:0;background:#d6ae76;color:#0b0b0b;padding:16px 22px;font-weight:700;letter-spacing:.14em;cursor:pointer}
.pool-house-grid .photo img{width:100%!important;height:100%!important;object-fit:contain!important}
@media(max-width:900px){.contact-form-section{grid-template-columns:1fr;padding:70px 6vw}.form-row{grid-template-columns:1fr}.project-form{padding:24px}.dark-services{padding:70px 6vw}}

/* Restart V11 — prevent neighboring Pool House media from bleeding into cards */
html,body{max-width:100%;overflow-x:hidden}
.pool-house-grid{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pool-house-grid figure{min-width:0;max-width:100%;overflow:hidden;isolation:isolate}
.pool-house-grid figure img{display:block;max-width:100%;max-height:100%;margin:0 auto}
@media(max-width:900px){.pool-house-grid{grid-template-columns:1fr}}

/* V12: preserve the complete Shillelagh exterior photos */
.shillelagh-grid figure.photo img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
}

/* V19 — clean Manning Road photo edges */
.manning-grid .photo{padding:0;overflow:hidden;background:#0b0b0b;line-height:0}
.manning-grid .photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border:0;margin:0;vertical-align:top;background:#0b0b0b}
.manning-grid figcaption{line-height:normal}
@media(max-width:900px){.manning-grid .photo img{height:auto}}

/* V20 — two service cards only; remove empty third-column appearance */
.dark-services .service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1100px;
}
.dark-services .service-grid article{min-width:0;}
@media(max-width:900px){.dark-services .service-grid{grid-template-columns:1fr;max-width:none}}

/* Large drafting portfolio gallery */
.plan-gallery{padding:90px max(24px,6vw);background:#111;color:#f4f0e8}.plan-gallery>h2{font-size:clamp(2rem,4vw,3.6rem);margin:12px 0}.plan-gallery>p{max-width:850px;line-height:1.7}.gallery-project{margin:55px 0 70px}.gallery-project h3{font-size:clamp(1.5rem,3vw,2.4rem);margin-bottom:20px}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.floor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.model-grid a,.floor-grid a{display:block;background:#fff;padding:10px;border:1px solid #76643e;border-radius:8px;overflow:hidden}.model-grid img,.floor-grid img{display:block;width:100%;height:auto;object-fit:contain}.model-grid img{min-height:300px}.floor-grid img{min-height:180px}.model-grid a:hover,.floor-grid a:hover{outline:2px solid #c4a568}@media(max-width:700px){.model-grid,.floor-grid{grid-template-columns:1fr}.model-grid img{min-height:0}}

/* Local preview fallbacks for original images not included in upload */
.brand-text-fallback{display:inline-block;color:#d6b46a;font-weight:700;letter-spacing:.15em;font-size:1.15rem;padding:12px 0}.hero-logo .brand-text-fallback{font-size:clamp(1.6rem,4vw,3.5rem);text-align:center}.missing-original-photo{min-height:230px;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;background:#181818;border:1px solid #34302a;color:#b4a68b;font-size:.9rem;line-height:1.5}.photo .missing-original-photo,.drawing .missing-original-photo{height:100%;min-height:300px}

.brand-logo{display:block;max-width:100%;height:auto;object-fit:contain}.brand .brand-logo{width:130px;max-height:75px}.hero-logo .brand-logo{width:min(420px,100%);margin:auto}.project figure a{display:block;width:100%;height:100%;min-height:180px}.project figure img{display:block;width:100%;height:100%;max-height:460px;object-fit:contain;background:#0c0c0c}.project figure.photo img{object-fit:cover}.project figure a:hover img{opacity:.9}

/* What's Included page */
header nav{flex-wrap:wrap;justify-content:flex-end}header nav a[aria-current="page"]{color:var(--gold)}
.included-hero{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:4vw;padding:100px 6vw 85px;background:#0d0d0d;min-height:620px}.included-heading h1{font:400 clamp(46px,5.2vw,84px)/1.07 Georgia,serif;margin:22px 0}.included-heading h1 em{color:#d6ae76;font-weight:400}.included-heading>p:last-child{color:#bbb;font-size:18px;line-height:1.7;max-width:580px}.included-hero-art{margin:0;background:#f8f8f8;padding:16px;border:1px solid #4a4137}.included-hero-art img{width:100%;height:auto;display:block;object-fit:contain}.included-hero-art figcaption{color:#9d8b73;text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin-top:13px}.included-section{padding:100px 6vw 120px;background:#101010}.included-section-head{max-width:800px;margin-bottom:50px}.included-section-head h2,.included-cta h2{font:400 clamp(38px,4.5vw,66px)/1.1 Georgia,serif;margin:18px 0}.included-section-head>p:last-child{color:#aaa;line-height:1.7}.included-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#39332b;border:1px solid #39332b}.included-card{background:#151515;padding:34px 38px 40px;min-height:190px}.included-index{font-size:11px;color:#d6ae76;letter-spacing:.18em}.included-card h3{font:400 29px Georgia,serif;margin:17px 0 12px}.included-card p{font-size:15px;line-height:1.7;color:#b8b8b8;max-width:520px}.included-cta{text-align:center;padding:105px 6vw 125px;background:#070707}.included-cta p:not(.eyebrow){color:#bbb;line-height:1.7}.included-cta .button{margin-top:30px}@media(max-width:850px){.included-hero{grid-template-columns:1fr;padding:70px 6vw}.included-grid{grid-template-columns:1fr}.included-card{min-height:0}header{height:auto;min-height:74px;padding:14px 5vw;gap:14px}header nav{gap:12px}header nav a{font-size:11px}}

/* Typical turnaround section */
.included-timeline{padding:75px max(5%,calc((100% - 1200px)/2));background:#111;color:#f7f4ed;border-top:1px solid #a1844b;border-bottom:1px solid #a1844b}
.included-timeline .eyebrow{color:#c7a96a;letter-spacing:.16em;text-transform:uppercase}
.included-timeline h2{font-size:clamp(2rem,4vw,3.3rem);margin:12px 0 16px}
.included-timeline p:not(.eyebrow){max-width:760px;line-height:1.75;color:#e4dfd3;font-size:1.08rem}
.included-timeline strong{color:#e5bf79}

/* Compact drafting gallery: match existing project card proportions */
.plan-gallery{padding:70px max(24px,6vw)}
.gallery-project{max-width:1120px;margin:38px auto 54px}
.gallery-project h3{font-size:clamp(1.35rem,2.2vw,2rem)}
.model-grid,.floor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.model-grid a,.floor-grid a{padding:8px}
.model-grid img,.floor-grid img{height:240px;min-height:0;width:100%;object-fit:contain}
@media(max-width:700px){.model-grid,.floor-grid{grid-template-columns:1fr}.model-grid img,.floor-grid img{height:auto;max-height:300px}}

/* Slightly larger project gallery images, preserving the existing layout */
@media(min-width:701px){.model-grid img,.floor-grid img{height:285px;min-height:0;object-fit:contain}}

/* Slightly enlarge the homepage hero logo without changing header branding */
.hero-logo .brand-logo{width:min(510px,100%);max-width:100%;height:auto}
@media(max-width:900px){.hero-logo .brand-logo{width:min(450px,100%)}}

.image-lightbox[hidden]{display:none!important}.image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:70px 24px 45px;box-sizing:border-box}.lightbox-image{max-width:95vw;max-height:82vh;object-fit:contain;background:#fff}.lightbox-close{position:absolute;top:12px;right:20px;z-index:2;border:1px solid #ddd;background:#181818;color:#fff;border-radius:50%;width:52px;height:52px;font-size:38px;line-height:1;cursor:pointer}.lightbox-close:hover,.lightbox-close:focus{background:#55462d;outline:2px solid #e7c77d}.lightbox-hint{position:absolute;bottom:10px;color:#ddd;font-size:13px}.lightbox-open{overflow:hidden}

/* Project photos and drawing sheets: consistent sizes without stretching */
.model-grid a,.floor-grid a{display:flex;align-items:center;justify-content:center}
.model-grid img,.floor-grid img{height:285px;max-width:100%;object-fit:contain}
.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px}
#form-status{min-height:1.5em;color:#e7c77d}
@media(max-width:700px){.model-grid img,.floor-grid img{height:auto;max-height:300px}}
