:root{--charcoal:#203b32;--deep:#152b24;--amber:#dfc49a;--amber-light:#eed8b7;--ivory:#f7f5ef;--paper:#fff;--ink:#26372f;--muted:#647168;--line:#d8ded5;--soft:#e9eee7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:var(--ivory)}h1,h2,h3{font-weight:750;line-height:1.08;letter-spacing:-.045em;margin-top:0}h1{font-size:clamp(3.3rem,6.2vw,6.2rem);font-weight:800}h2{font-size:clamp(2.25rem,4vw,3.9rem);margin-bottom:24px}h3{font-size:1.35rem;letter-spacing:-.025em}p{color:var(--muted)}a{color:inherit;text-decoration:none}a:hover{color:#785000}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.container{max-width:1320px;padding-left:28px;padding-right:28px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.utility{background:var(--deep);color:#d4d9d0;font-size:.61rem;letter-spacing:.09em;font-weight:700}.utility .container{display:flex;justify-content:space-between;gap:20px;padding-top:9px;padding-bottom:9px}.utility a:hover{color:var(--amber)}.site-header{background:var(--charcoal);position:sticky;top:0;z-index:1030;border-bottom:1px solid #454940}.navbar{min-height:86px;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:1.55rem;font-weight:800;letter-spacing:-.035em;line-height:1}.brand:hover{color:#fff}.brand-symbol{display:grid;place-items:center;background:var(--amber);color:var(--charcoal);width:44px;height:48px}.brand-symbol .icon{width:30px;height:30px}.brand-accent{color:var(--amber)}.brand small{display:block;font-size:.52rem;letter-spacing:.28em;margin-top:8px;font-weight:700}.nav-link{color:#e3e5df;font-size:.83rem;padding:14px 18px!important}.nav-link:hover,.nav-link:focus{color:var(--amber)}.navbar .btn{margin-left:25px}.navbar-toggler{color:#fff;border:1px solid #7d8277;border-radius:0;font-size:.85rem;padding:10px 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 22px;min-height:49px;font-size:.8rem;font-weight:750;border-radius:2px;white-space:normal;transition:background .18s,color .18s,border-color .18s;border:1px solid transparent;line-height:1.4}.btn .icon{height:18px;width:18px}.btn-amber{background:var(--amber);border-color:var(--amber);color:var(--deep)}.btn-amber:hover,.btn-amber:focus-visible,.btn-amber:active{background:var(--amber-light);border-color:var(--amber-light);color:var(--deep)}.btn-outline{background:transparent;border-color:#747d6e;color:var(--ink)}.btn-outline:hover,.btn-outline:focus-visible,.btn-outline:active{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.btn-light-outline{background:#1c221d45;border-color:#cdd3c7;color:#fff}.btn-light-outline:hover,.btn-light-outline:focus-visible,.btn-light-outline:active{background:var(--ivory);color:var(--charcoal);border-color:var(--ivory)}.btn-text{padding:12px 0;justify-content:start;background:transparent;color:#6a480c;text-decoration:underline;text-underline-offset:5px}.btn-text:hover,.btn-text:focus-visible,.btn-text:active{color:var(--deep);background:transparent}.btn-city{background:#2b302b;color:#fff;border-color:#60675a;justify-content:space-between}.btn-city:hover,.btn-city:focus-visible,.btn-city:active{background:var(--amber);border-color:var(--amber);color:var(--deep)}.btn:disabled,.btn.disabled{background:#dbdacf;color:#65665d;border-color:#b2b5a8;opacity:1;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #b16a00!important;outline-offset:4px;box-shadow:none!important}.section-dark :focus-visible,.site-header :focus-visible,.hero :focus-visible,.site-footer :focus-visible{outline-color:#ffda91!important}.skip-link{position:fixed;top:-100px;left:15px;z-index:2000;background:#fff;padding:15px;color:#203b32}.skip-link:focus{top:10px}.hero{min-height:716px;display:flex;align-items:center;position:relative;background:var(--deep);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,#131914ec 0%,#131914c9 35%,#13191452 68%,#13191419)}.hero-content{position:relative;padding-top:70px;padding-bottom:115px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:.67rem;letter-spacing:.13em;font-weight:800;color:#645335;margin-bottom:20px}.eyebrow>span{display:grid;place-items:center;border:1px solid #b7bdad;width:30px;height:30px;letter-spacing:0;font-size:.68rem}.hero .eyebrow{color:var(--amber)}.hero h1{color:#fff;max-width:880px}.hero h1 em{font-style:normal;color:var(--amber)}.hero-copy{color:#e8ece3;font-size:1.07rem;max-width:500px;margin:27px 0}.action-row{display:flex;gap:12px;flex-wrap:wrap}.hero-note{font-size:.72rem;color:#d7dfcf;max-width:420px;line-height:1.65;margin-top:23px}.hero-bottom{position:absolute;bottom:0;width:100%;border-top:1px solid #b1bdab65;background:#152b243b}.hero-bottom .container{display:flex;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px;color:#fff;font-size:.63rem;letter-spacing:.16em;font-weight:700}.section{padding:100px 0}.section-soft{background:var(--soft)}.section-dark{background:var(--charcoal);color:#fff}.section-dark p{color:#c3cbbd}.section-dark .eyebrow{color:var(--amber)}.section-dark .eyebrow>span{border-color:#78836e}.section-heading{max-width:750px;margin-bottom:38px}.lead-copy{max-width:650px;font-size:1rem;line-height:1.8}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.heading-row .section-heading{margin-bottom:0}.text-link{display:flex;gap:13px;max-width:225px;align-items:center;font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}.service-card{background:#fff;border:1px solid var(--line);padding:32px;height:100%;display:flex;flex-direction:column}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.service-top>.icon{width:38px;height:38px;stroke-width:1.3}.service-top>span{font-size:.72rem;color:#737b6b;letter-spacing:.1em}.service-card h3{font-size:1.5rem;margin-bottom:13px}.service-card p{font-size:.89rem;margin-bottom:20px}.service-card .service-strap{font-weight:700;color:var(--ink);font-size:.9rem;margin-bottom:12px}.service-card .btn{margin-top:auto;align-self:start}.section-note{font-size:.77rem;line-height:1.75;margin:25px 0 0;max-width:1000px}.comparison-card{height:100%;border:1px solid #56604e;background:#292e27}.comparison-frame{position:relative;aspect-ratio:3/2;overflow:hidden;background:#33392f}.comparison-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-after{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.comparison-line{position:absolute;inset:0 auto 0 var(--reveal);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.compare-label{position:absolute;top:12px;background:#161c16dd;color:#fff;font-size:.53rem;font-weight:700;letter-spacing:.09em;padding:5px 8px;pointer-events:none}.before-label{right:12px}.after-label{left:12px}.comparison-body{padding:21px}.range-label{display:flex;justify-content:space-between;align-items:center;gap:10px}.range-label label{font-size:.86rem;font-weight:700;line-height:1.4;margin:0}.range-label output{font-size:.65rem;white-space:nowrap;color:#e8ce9c}.comparison-range{width:100%;height:36px;margin:10px 0 17px;accent-color:var(--amber);cursor:ew-resize}.comparison-body .btn{width:100%;font-size:.72rem}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-card>div{padding:21px 0 0}.tiny{font-size:.56rem;font-weight:800;letter-spacing:.1em;color:#6e561e}.project-card h3{font-size:1.22rem;margin:12px 0}.project-card p{font-size:.86rem;margin-bottom:5px}.project-card .btn{font-size:.76rem}.audience-card{height:100%;background:var(--ivory);border:1px solid #d2d6c8}.audience-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.audience-card>div{padding:32px}.audience-card h3{font-size:1.7rem}.audience-card p{max-width:510px}.feature-image{width:100%;aspect-ratio:1/1;object-fit:cover}.image-note{font-size:.7rem;margin:10px 0 0}.principles{display:grid;gap:23px}.principles>div{display:flex;align-items:start;gap:15px}.principles>div>.icon{background:#dfc49a40;padding:5px;width:31px;height:31px}.principles h3{font-size:1.07rem;margin:1px 0 7px}.principles p{font-size:.89rem;line-height:1.7;margin:0}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-card{border-top:3px solid var(--amber);background:#fff;padding:28px;height:100%;margin:0}.quote-mark{font-family:Georgia,serif;color:#7f632a;font-size:4rem;line-height:.8}.review-card blockquote{font-size:.97rem;line-height:1.8;margin:15px 0 24px}.review-card figcaption{font-size:.74rem;font-weight:700}.review-card small{display:block;font-size:.54rem;letter-spacing:.12em;color:var(--muted);margin-top:7px}.process-step{border-top:1px solid #b1b9a5;padding-top:24px}.process-step>span{font-size:1.75rem;color:#7c6230;letter-spacing:-.05em;display:block;margin-bottom:23px}.process-step h3{font-size:1.22rem;margin-bottom:15px}.process-step p{font-size:.9rem}.large-copy{font-size:1.25rem;color:var(--ink);line-height:1.55}#about .btn{margin-top:16px}.call-box{display:flex;flex-direction:column;align-items:start;border-top:1px solid #bbc2ae;border-bottom:1px solid #bbc2ae;padding:25px 0;margin:30px 0;gap:7px}.call-box>span{font-size:.8rem}.call-box>a{font-size:1.6rem;font-weight:800;letter-spacing:-.04em}.call-box p{font-size:.77rem;line-height:1.8;margin:4px 0 0}.form-explainer{border-left:3px solid #896922;padding-left:16px;font-size:.8rem;line-height:1.75;max-width:380px}form{padding:36px;background:#fff;border:1px solid #cbd1c1}form>h3{font-size:1.6rem;margin-bottom:15px}.fine{font-size:.74rem;line-height:1.7}label{display:block;font-size:.76rem;font-weight:700;margin-bottom:8px}.form-control,.form-select{min-height:48px;border-radius:2px;border:1px solid #919b84;color:var(--ink);font-size:.87rem;padding:12px;background-color:#fff}.form-control::placeholder{color:#6c7464}.form-control:focus,.form-select:focus{border-color:#896922;box-shadow:0 0 0 3px #dfc49a44}.form-control[readonly]{background:#fafaf6}.date-note{font-size:.75rem;margin-top:30px}.text-button{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:#795307}.form-status{font-weight:700;font-size:.83rem;color:#435837;margin:20px 0 0}#draft-panel{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.contact-link{display:block;color:#6a480c;font-weight:700;margin:8px 0;overflow-wrap:anywhere}.contact-section h3{font-size:1.25rem;margin-bottom:20px}.contact-section p{font-size:.87rem;margin-top:18px}.accordion-item{background:transparent;border:0;border-bottom:1px solid #bac3ad}.accordion-button,.accordion-button:not(.collapsed){padding:24px 0;background:transparent;color:var(--ink);font-size:.96rem;font-weight:700;line-height:1.4;box-shadow:none}.accordion-button:after{margin-left:20px}.accordion-body{padding:0 0 25px;color:var(--muted);font-size:.92rem;line-height:1.8}.site-footer{padding:60px 0 24px;background:var(--deep);color:#dce2d4}.site-footer p{color:#b8c3ab;font-size:.85rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #4b5542;padding-bottom:35px;margin-bottom:35px}.footer-top p{font-size:1.1rem;line-height:1.4;margin:0}.footer-nav{display:flex;flex-direction:column;gap:8px;font-size:.82rem}.site-footer a:hover{color:var(--amber)}.site-footer .btn:hover{color:var(--deep)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:22px;border-top:1px solid #4b5542;font-size:.7rem}.footer-bottom>div{display:flex;gap:20px}.site-footer .text-button:hover{color:var(--amber)}.modal-content{border-radius:3px;background:var(--ivory);color:var(--ink)}.modal-body{padding:24px}.modal-title{letter-spacing:-.025em}.mobile-bar{display:none}
@media(max-width:1199px){.navbar-collapse{padding:20px 0}.navbar .btn{margin:15px 0 0}.nav-link{padding-left:0!important}.hero h1{font-size:clamp(3.4rem,7.3vw,5.9rem)}}@media(max-width:991px){.section{padding:75px 0}.heading-row{display:block}.heading-row .text-link{margin-top:25px;max-width:none}.feature-image{aspect-ratio:4/3}.section-heading{margin-bottom:28px}.hero{min-height:720px}.hero-content{padding-bottom:105px}.comparison-frame{aspect-ratio:3/2}.comparison-body{padding:25px}.comparison-body .btn{width:auto}.hero-shade{background:linear-gradient(90deg,#131914e8,#131914a6 60%,#13191447)}}@media(max-width:767px){.container{padding-left:22px;padding-right:22px}.row.g-5{--bs-gutter-x:1.5rem}.utility .container{justify-content:center;padding-top:8px;padding-bottom:8px;font-size:.53rem}.utility a{display:none}.navbar{min-height:78px;gap:15px}.brand{font-size:1.35rem}.brand-symbol{width:39px;height:43px}.hero{min-height:704px}.hero h1{font-size:clamp(2.85rem,12vw,4.5rem);line-height:1.07}.hero h1 br{display:none}.hero-content{padding-top:58px;padding-bottom:115px}.hero-image{object-position:67% center}.hero-shade{background:linear-gradient(90deg,#131914e8,#1319149e)}.hero .eyebrow{font-size:.57rem;max-width:280px;line-height:1.8}.hero-copy{font-size:1rem;margin:23px 0}.hero-copy br{display:none}.hero-note{max-width:300px;font-size:.72rem}.hero-bottom .container{font-size:.53rem;letter-spacing:.09em}.hero-bottom .container>span:last-child{display:none}.hero .action-row{gap:10px;align-items:start;flex-direction:column}.hero .btn{padding:14px 20px}.section{padding:60px 0}h2{font-size:clamp(2.05rem,8.8vw,3.1rem)}.service-card{padding:27px}.service-top{margin-bottom:24px}.section-note{font-size:.73rem}.audience-card>div{padding:25px}.city-grid{gap:10px}.btn-city{font-size:.72rem;padding:13px 12px;gap:8px}.btn-city .icon{width:15px}.comparison-body{padding:20px}.range-label label{font-size:.82rem}.review-card{padding:25px}form{padding:23px}.date-note{margin:0}.footer-top{align-items:start;flex-direction:column}.footer-bottom{flex-direction:column}.mobile-bar{display:grid;grid-template-columns:1fr 2fr;position:fixed;bottom:0;left:0;right:0;z-index:1020;background:var(--deep);border-top:1px solid #707767;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:15px 8px;font-size:.77rem;font-weight:750;color:#fff}.mobile-bar a:last-child{background:var(--amber);color:var(--deep)}.mobile-bar a:hover{background:#343d2f;color:#fff}.mobile-bar a:last-child:hover{background:var(--amber-light);color:var(--deep)}.mobile-bar .icon{height:17px;width:17px}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.site-header,.utility,.mobile-bar,.modal,.btn{display:none!important}body{padding:0;background:#fff}.section{padding:25px 0}.hero{min-height:0}.hero-image,.hero-shade,.hero-bottom{display:none}.hero-content{padding:25px}.hero h1,.hero h1 em,.hero p{color:#203b32}.section-dark,.site-footer{background:#fff;color:#203b32}.section-dark p,.site-footer p{color:#203b32}}
/* Match Bootstrap's active-state specificity for every custom button variant. */
.btn.btn-amber:active,.btn.btn-amber.active{background:var(--amber-light);border-color:var(--amber-light);color:var(--deep)}.btn.btn-outline:active,.btn.btn-outline.active{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.btn.btn-light-outline:active,.btn.btn-light-outline.active{background:var(--ivory);border-color:var(--ivory);color:var(--charcoal)}.btn.btn-text:active,.btn.btn-text.active{background:transparent;color:var(--deep);border-color:transparent}.btn.btn-city:active,.btn.btn-city.active{background:var(--amber);border-color:var(--amber);color:var(--deep)}

/* StoneCraft architectural direction */
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(3.6rem,6.9vw,7rem)}h2{font-size:clamp(2.6rem,4.5vw,4.6rem)}h3{letter-spacing:-.02em}.hero h1{max-width:800px}.hero h1 em{color:#e8cfaa;font-style:normal}.hero-content{padding-top:95px;padding-bottom:95px}.hero-shade{background:linear-gradient(90deg,rgba(12,31,24,.88),rgba(12,31,24,.54) 48%,rgba(12,31,24,.05))}.hero-image{object-position:center}.hero-bottom{background:rgba(18,40,31,.6)}.brand{font-size:1.6rem;letter-spacing:.04em}.brand small{letter-spacing:.38em;font-size:.52rem}.brand-symbol{background:transparent;border:1px solid #dfc49a;color:#dfc49a}.brand-accent{color:#dfc49a}.btn{border-radius:2px}.section{padding-top:100px;padding-bottom:100px}.service-card{border:0;border-top:1px solid #aebcad;background:transparent;padding:28px 0}.service-card h3{font-family:Georgia,serif;font-size:1.85rem;font-weight:400}.service-top .icon{color:#35604b}.project-card{border:0;background:transparent}.project-card img{aspect-ratio:4/3;object-fit:cover}.project-card>div{padding-left:0;padding-right:0}.project-card h3{font-family:Georgia,serif;font-weight:400;font-size:2.2rem}.project-card .tiny{letter-spacing:.18em}.audience-card{background:#f7f5ef;border:0}.process-step{border-top:1px solid #8c9d8e;padding-top:22px}.process-step>span{font-family:Georgia,serif;font-size:4rem;font-weight:400;color:#3e604c}.review-card{background:#e9eee7;border:0}.review-card blockquote{font-family:Georgia,serif;font-size:1.3rem;line-height:1.6}.image-note{font-size:.75rem}.feature-image{border-radius:0}.section-dark{background:#203b32}.site-footer{background:#152b24}.hero-note{max-width:410px}
@media(min-width:1200px){#projects .col-xl-3{width:50%}#projects .project-card{margin-bottom:25px}}
@media(max-width:767px){.section{padding-top:65px;padding-bottom:65px}.hero-content{padding-top:65px;padding-bottom:70px}.hero h1{font-size:3.8rem}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(12,31,24,.86),rgba(12,31,24,.4))}.brand{font-size:1.25rem}.brand-symbol{width:32px;height:38px}.hero-copy{font-size:1rem}.navbar{gap:12px}.project-card h3{font-size:1.9rem}}
@media(max-width:359px){.brand{font-size:1.05rem}.brand-symbol{width:27px}.hero h1{font-size:3.2rem}.navbar-toggler{padding:8px}}
