@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500&display=swap');
:root{--paper:#eeebe0;--ink:#1c1c1c;--stone:#beb9b0;--taupe:#7a756f}body{background:var(--paper);color:var(--ink);font-family:'Century Gothic',Poppins,sans-serif;font-weight:300}html[lang=en] body{font-family:Poppins,'Century Gothic',sans-serif}h1,h2,h3{font-family:inherit;font-weight:300;letter-spacing:-.04em}h1{font-size:clamp(3rem,5.4vw,6rem);line-height:1.06}h2{font-size:clamp(2.2rem,4vw,4.5rem)}p{line-height:1.8}header{display:flex;align-items:center;justify-content:space-between;padding:16px 5%;gap:28px;border-bottom:1px solid var(--stone)}header img{width:431.2px;height:auto;max-width:100%;object-fit:contain}nav{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}a{border:0}a:hover{color:var(--taupe)}.banner.style1{min-height:75vh}.banner.style1 .content{padding:5rem 5%;width:48%}.banner.style1 .image{width:52%}.banner .major{font-size:1rem}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}.button{border-radius:0;box-shadow:inset 0 0 0 1px var(--ink);font-family:inherit;letter-spacing:.1em}.button.primary{background:var(--ink);color:var(--paper)!important}.section{padding:6rem 5%;border-bottom:1px solid var(--stone)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-head p{max-width:480px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--stone)}.tile{padding:32px 24px;border-right:1px solid var(--stone)}.tile:last-child{border:0}.tile h3{font-size:1.8rem}.tile ul{padding-left:17px;font-size:14px}.tile.feature{background:var(--ink);color:var(--paper)}.tile.feature .eyebrow{color:var(--stone)}.price{font-size:25px;margin:24px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.dark{background:var(--ink);color:var(--paper)}.dark .eyebrow{color:var(--stone)}.dark input,.dark select{color:var(--ink);background:var(--paper);border-radius:0}.dark option{color:var(--ink)}label{color:inherit}#estimate{font-size:48px;margin:35px 0}.note{font-size:12px;color:var(--taupe)}.dark .note{color:var(--stone)}.portfolio-slot{min-height:220px;background:var(--stone);display:flex;align-items:center;justify-content:center;padding:30px;text-align:center}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.portfolio h3{margin-top:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.contact{background:var(--stone)}footer{padding:25px 5%;font-size:12px;display:flex;justify-content:space-between;gap:20px}.hero-caption{font-size:10px;letter-spacing:.08em;margin:12px 0 0}.intro-line{height:60px;width:1px;background:var(--taupe);margin-bottom:35px}@media(max-width:900px){.grid,.steps{grid-template-columns:repeat(2,1fr)}.tile{border-bottom:1px solid var(--stone)}.split{gap:30px}.section-head{display:block}}@media(max-width:650px){header{flex-direction:column;align-items:flex-start}header img{width:352.8px;height:auto}nav{gap:16px}.banner.style1 .content,.banner.style1 .image{width:100%}.banner.style1 .content{padding:50px 6%}.banner.style1 .image{height:330px}.section{padding:55px 6%}.grid,.split,.portfolio,.steps{grid-template-columns:1fr}.tile{border-right:0}.section-head{display:block}footer{flex-direction:column}}

header>a{flex-shrink:0;max-width:100%}

/* Three package levels with accessible dark text */
#packages .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#packages .tile:nth-child(1){background:#faf9f5}
#packages .tile:nth-child(2){background:#eeebe0}
#packages .tile:nth-child(3){background:#ded9cf}
#packages .tile,#packages .tile h3,#packages .tile a,#packages .tile li,#packages .tile .price,#packages .tile .package-description{color:#1c1c1c}
#packages .tile .eyebrow{color:#59554f}
#packages .tile h3{letter-spacing:.04em;margin-bottom:12px}
#packages .package-description{font-size:18px;min-height:54px;margin-bottom:12px}
@media(max-width:650px){#packages .grid{grid-template-columns:1fr}}

.project-switch{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.project-switch button{height:auto;padding:14px 22px;border-radius:0;box-shadow:inset 0 0 0 1px #7a756f;font:inherit;color:#1c1c1c;letter-spacing:0;text-transform:none}.project-switch button[aria-pressed=true]{background:#1c1c1c;color:#eeebe0}.project-switch button:focus-visible{outline:3px solid #7a756f;outline-offset:3px}#packages .tile{display:flex;flex-direction:column}#packages .tile ol{padding-left:22px;font-size:14px;line-height:1.7;margin-bottom:28px}#packages .tile ol li{padding-left:5px;margin:7px 0;color:#1c1c1c}#packages .tile>a{margin-top:auto}.special-offers{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:45px}.special-offers article{padding:30px;border:1px solid #beb9b0}.special-offers h3{font-size:30px}@media(max-width:650px){.special-offers{grid-template-columns:1fr}}

/* Keep light lettering on every dark button state; override template hover colors. */
button[aria-pressed="true"],button[aria-pressed="true"]:hover,button[aria-pressed="true"]:focus,button[aria-pressed="true"]:active,
.button.primary,.button.primary:hover,.button.primary:focus,.button.primary:active,
button.primary,button.primary:hover,button.primary:focus,button.primary:active,
input[type="submit"].primary,input[type="reset"].primary,input[type="button"].primary{
 background-color:#1c1c1c!important;color:#eeebe0!important;box-shadow:inset 0 0 0 1px #1c1c1c!important;
}
button[aria-pressed="true"] *, .button.primary *,button.primary *{color:inherit!important}
button:not(:disabled):active,.button:active,input[type="submit"]:active,input[type="button"]:active,input[type="reset"]:active{background-color:#1c1c1c!important;color:#eeebe0!important}

/* Dark header with light navigation and original logo inverted for display. */
header{background:#1c1c1c;color:#eeebe0;border-bottom-color:#7a756f}
header a,header nav a,header a:visited{color:#eeebe0!important}
header nav a:hover,header nav a:focus-visible{color:#ffffff!important;text-decoration:underline;text-underline-offset:5px}
header img{filter:brightness(0) invert(1)}
header a:focus-visible{outline:2px solid #eeebe0;outline-offset:5px}

/* Keep the window and outdoor view visible in the hero crop. */
.banner.style1 .image img{object-position:left center!important}

.telegram-icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.telegram-contact{display:inline-flex;align-items:center;gap:16px;color:#1c1c1c;padding:18px 0}.telegram-contact .telegram-icon{width:46px;height:46px;background:#1c1c1c;color:#fff;border-radius:50%;padding:12px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.request-grid label{font-size:13px}.contact input,.contact select{margin-top:8px;background:#eeebe0;color:#1c1c1c;border-radius:0}.contact button .telegram-icon{margin-right:12px}.contact .note{color:#59554f;margin-top:15px}@media(max-width:650px){.request-grid{grid-template-columns:1fr}.contact button{width:100%;padding:0 15px}}

.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#eeebe0!important}

.project-cover{display:block;position:relative;overflow:hidden}.project-cover img{width:100%;height:320px;object-fit:cover;display:block;transition:transform .4s}.project-cover:hover img{transform:scale(1.03)}.project-cover span{position:absolute;bottom:18px;left:18px;background:#1c1c1c;color:#eeebe0;padding:10px 16px;font-size:12px}.project-intro{max-width:1200px;margin:auto}.project-intro .eyebrow{margin-top:45px}.project-intro h2{font-size:24px;letter-spacing:0}.project-intro p{max-width:850px}.project-gallery{columns:3;column-gap:24px}.gallery-item{display:block;break-inside:avoid;margin-bottom:24px}.gallery-item img{display:block;width:100%;height:auto}.gallery-item span{display:block;font-size:12px;padding-top:10px;color:#59554f}.project-lightbox{background:#1c1c1c;color:#eeebe0;border:0;padding:45px 20px 12px;width:96vw;max-width:1400px;height:94vh}.project-lightbox::backdrop{background:rgba(0,0,0,.9)}.project-lightbox>img{display:block;width:100%;height:calc(100% - 55px);object-fit:contain}.project-lightbox button{color:#eeebe0!important;background:#1c1c1c!important;box-shadow:none!important}.lightbox-close{position:absolute;right:8px;top:3px;font-size:28px;padding:0 15px;height:40px;line-height:40px}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:25px}.lightbox-controls button{height:40px;line-height:40px}@media(max-width:900px){.project-gallery{columns:2}}@media(max-width:650px){.project-gallery{columns:1}.project-cover img{height:360px}}

.additional-project{margin-top:35px;padding-top:25px;border-top:1px solid #7a756f}

/* Align request labels and controls, including wrapped contact labels. */
#project-request{min-width:0;margin:0}
#project-request .request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;align-items:stretch}
#project-request .request-grid label{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-width:0;margin:0;line-height:1.5;font-weight:400}
#project-request .request-grid input,#project-request .request-grid select{display:block;width:100%;min-width:0;height:52px;box-sizing:border-box;margin:0;padding:0 14px;font:inherit;line-height:normal}
#project-request .request-grid select{padding-right:38px}
#project-request>button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;height:auto;line-height:1.4;padding:15px 24px;white-space:normal}
#project-request>button .telegram-icon{margin:0}
@media(max-width:650px){#project-request .request-grid{grid-template-columns:minmax(0,1fr);gap:20px}#project-request>button{width:100%}}

.phone-contact{margin:24px 0 4px}.phone-contact a{display:inline-block;margin-top:6px;font-size:clamp(1.3rem,2.3vw,2rem);color:#1c1c1c}.phone-contact a:hover{text-decoration:underline}

.project-plan{background:#ded9cf}.project-plan h2{font-size:clamp(1.8rem,3vw,3rem)}.plan-image{display:block;max-width:1100px;margin:28px auto 0;background:#1c1c1c}.plan-image img{display:block;width:100%;height:auto}.project-plan .note{text-align:center;margin:16px 0 0}

/* Courtyard house: aligned photographic grid. */
.courtyard-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;columns:auto;align-items:start}
.courtyard-gallery .gallery-item{min-width:0;margin:0}
.courtyard-gallery .gallery-item img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.courtyard-gallery .gallery-item:nth-child(1),.courtyard-gallery .gallery-item:nth-child(8){grid-column:1/-1}
.courtyard-gallery .gallery-item:nth-child(1) img,.courtyard-gallery .gallery-item:nth-child(8) img{aspect-ratio:2.2/1}
@media(max-width:650px){.courtyard-gallery{grid-template-columns:minmax(0,1fr);gap:24px}.courtyard-gallery .gallery-item:nth-child(1) img,.courtyard-gallery .gallery-item:nth-child(8) img{aspect-ratio:3/2}}

.container-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;columns:auto}.container-gallery .gallery-item{margin:0;min-width:0}.container-gallery .gallery-item img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto}@media(max-width:900px){.container-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.container-gallery{grid-template-columns:minmax(0,1fr)}}

.concept-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;columns:auto}.concept-gallery .gallery-item{margin:0;min-width:0}.concept-gallery .gallery-item img{aspect-ratio:2/3;object-fit:cover;width:100%;height:auto}@media(max-width:650px){.concept-gallery{grid-template-columns:minmax(0,1fr)}}

.soul-nav{padding:24px 5%;display:flex;flex-wrap:wrap;gap:12px 24px;background:#ded9cf}.soul-nav a{font-size:13px;border-bottom:1px solid #7a756f;padding:6px 0}.soul-area{scroll-margin-top:24px}.soul-area>h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:32px}.soul-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;columns:auto}.soul-gallery .gallery-item{margin:0;min-width:0}.soul-gallery .gallery-item img{aspect-ratio:2/3;object-fit:cover;width:100%;height:auto}@media(max-width:900px){.soul-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.soul-gallery{grid-template-columns:minmax(0,1fr)}}

/* Center the package call to action on mobile. */
@media (max-width:650px){
  .banner.style1 .content > a.button[href="#packages"]{display:table;margin-left:auto;margin-right:auto;text-align:center}
}
