:root{--ink:#151916;--paper:#f4f1ea;--cream:#ebe5d8;--sage:#66705f;--accent:#d6a85e;--line:rgba(21,25,22,.18);--white:#fff;--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-5rem;background:white;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}
.site-header{height:84px;position:absolute;z-index:20;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.5vw;color:white;border-bottom:1px solid rgba(255,255,255,.28)}.brand{display:flex;align-items:center;gap:.75rem;line-height:1}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%;background:#050505}.brand-location{font:600 .55rem var(--display);letter-spacing:.17em;color:rgba(255,255,255,.78);white-space:nowrap}.site-header nav{display:flex;gap:2rem;font-size:.83rem}.site-header nav a{opacity:.84;transition:.2s}.site-header nav a:hover{opacity:1}.header-cta{justify-self:end;font-size:.84rem;border-bottom:1px solid white;padding-bottom:.2rem}.header-cta span,.text-link span,.current-site span,.project-message a span{color:var(--accent);margin-left:.25rem}.menu-button{display:none}
.hero{height:min(900px,100svh);min-height:720px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(10,15,12,.83) 0%,rgba(10,15,12,.48) 42%,rgba(10,15,12,.08) 74%),linear-gradient(0deg,rgba(10,15,12,.68),transparent 42%)}.hero-content{position:relative;z-index:2;padding:18vh 5vw 0;max-width:780px}.eyebrow{margin:0 0 1.1rem;font:600 .68rem var(--display);letter-spacing:.19em;text-transform:uppercase;color:var(--sage)}.eyebrow.light{color:#dbd7cb}.hero h1,.section-heading h2,.intro h2,.quote h2{font-family:var(--display);font-weight:500;letter-spacing:-.055em;line-height:.97;margin:0}.hero h1{font-size:clamp(3.6rem,7.8vw,7rem)}.hero h1 em{font-family:inherit;font-weight:inherit;font-style:normal}.hero-intro{font-size:1.09rem;max-width:600px;color:rgba(255,255,255,.85);margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:0;padding:0 1.4rem;font:600 .82rem var(--display);letter-spacing:.03em;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:white;color:var(--ink)}.text-link{font-size:.84rem}.light-link{color:white;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:.25rem}.hero-proof{position:absolute;z-index:2;right:5vw;bottom:3.6rem;display:flex;border-top:1px solid rgba(255,255,255,.42);padding-top:1rem;gap:2.2rem}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font:600 1rem var(--display)}.hero-proof span{font-size:.72rem;color:rgba(255,255,255,.7)}.concept-note{position:absolute;z-index:2;left:5vw;bottom:1.1rem;font-size:.61rem;opacity:.58;text-transform:uppercase;letter-spacing:.12em}
.section-pad{padding:8rem 7vw}.intro{display:grid;grid-template-columns:1.35fr .65fr;gap:9vw;align-items:end}.intro h2,.section-heading h2,.quote h2{font-size:clamp(2.6rem,5vw,5.2rem)}.intro-copy{font-size:1.08rem;color:#4a504b}.intro-copy p:first-child{margin:0}.credentials{font-size:.78rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem;color:#68706a}
.services{background:#ded9cd;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:50px 1fr auto;gap:1.25rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:start}.service-list article>span{font-size:.68rem;color:#6a706b}.service-list h3{font:600 1.3rem var(--display);margin:0 0 .35rem}.service-list p{margin:0;color:#626862;max-width:620px}.service-list b{font-weight:400;color:var(--sage)}
.work{background:#171c18;color:white}.work-heading{display:grid;grid-template-columns:1fr 380px;gap:5rem;align-items:end;margin-bottom:4rem}.work-heading p:last-child{color:#aeb4ae;margin:0 0 .5rem}.project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.2rem}.project{margin:0;position:relative;overflow:hidden;min-height:360px}.project-wide{grid-row:span 2;min-height:760px}.project img{height:100%;object-fit:cover;transition:transform .8s ease}.project:hover img{transform:scale(1.025)}.project figcaption{position:absolute;bottom:0;left:0;right:0;padding:4rem 1.5rem 1.4rem;background:linear-gradient(transparent,rgba(0,0,0,.68));display:flex;justify-content:space-between;align-items:end}.project figcaption span{font:600 1.1rem var(--display)}.project figcaption small{color:#d2d5d1}.project-message{background:#6f776a;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;min-height:360px}.project-message blockquote{font:400 2rem/1.2 Georgia,serif;margin:2rem 0}.project-message a{font-size:.83rem;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.5rem;align-self:flex-start}
.process-grid{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-grid li{padding:1.5rem 2rem 0 0;border-right:1px solid var(--line);min-height:240px}.process-grid li+li{padding-left:2rem}.process-grid li:last-child{border-right:0}.process-grid span{font-size:.66rem;color:var(--sage)}.process-grid h3{font:600 1.13rem var(--display);margin:2rem 0 .7rem}.process-grid p{font-size:.9rem;color:#676d67;margin:0}
.quote{background:#343c35;color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.quote-copy>p:not(.eyebrow){color:#c5cac5;max-width:470px}.current-site{display:inline-block;margin-top:2rem;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.3rem}.quote-form{display:grid;gap:1.3rem}.quote-form label{font-size:.72rem;color:#c7cbc7;text-transform:uppercase;letter-spacing:.09em}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:.55rem;padding:1rem 0;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.32);border-radius:0;color:white;font:400 1rem var(--body);outline:none}.quote-form select{color:#fff}.quote-form option{color:#111}.quote-form textarea{resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.button-accent{background:var(--accent);color:#171915;justify-self:start;margin-top:.5rem}.brief-result{background:rgba(255,255,255,.08);padding:1.2rem;margin-top:.5rem}.brief-result p{white-space:pre-line;margin:0 0 1rem}.brief-result button{background:none;border:0;color:var(--accent);padding:0;font:600 .76rem var(--display);cursor:pointer;text-transform:uppercase;letter-spacing:.1em}
footer{padding:4rem 7vw 2rem;display:grid;grid-template-columns:1fr 1fr auto;gap:3rem;align-items:start;background:#111512;color:white}.footer-brand{color:white}.footer-brand .brand-logo{width:86px;height:86px}footer>p{margin:0;color:#9ca29c;max-width:370px;font-size:.84rem}footer>div{display:flex;flex-direction:column;font-size:.82rem;gap:.5rem}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;color:#747b75;font-size:.68rem}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;padding:0 1.2rem}.menu-button{display:block;background:none;border:1px solid rgba(255,255,255,.5);color:white;padding:.45rem .7rem}.header-cta{display:none}.site-header nav{display:none;position:absolute;top:84px;left:0;right:0;background:#151916;padding:1.5rem;flex-direction:column;gap:1rem}.site-header nav.open{display:flex}.hero{min-height:760px}.hero-content{padding:22vh 1.4rem 0}.hero-proof{left:1.4rem;right:1.4rem;bottom:3.5rem;gap:1rem;justify-content:space-between}.hero-proof span{font-size:.62rem}.concept-note{left:1.4rem}.section-pad{padding:5rem 1.4rem}.intro,.services,.quote{grid-template-columns:1fr}.work-heading{grid-template-columns:1fr;gap:2rem}.project-grid{grid-template-columns:1fr}.project-wide{min-height:520px}.process-grid{grid-template-columns:1fr 1fr}.process-grid li{border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hero h1{font-size:3.45rem}.hero-intro{font-size:.98rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-proof{display:grid;grid-template-columns:1fr 1fr}.hero-proof div:last-child{display:none}.intro h2,.section-heading h2,.quote h2{font-size:2.75rem}.project-wide{min-height:420px}.project{min-height:300px}.process-grid{grid-template-columns:1fr}.process-grid li,.process-grid li+li{padding:1.2rem 0;min-height:auto;border-right:0}.process-grid h3{margin:1rem 0 .4rem}.form-row{grid-template-columns:1fr}.project-message{padding:2rem}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img,.button{transition:none}}

/* Requested header and hero refinements */
.brand-logo{border:2px solid #fff;background:#fff;filter:invert(1)}
.hero-image{opacity:0;transition:opacity 1.1s ease}
.hero-image.is-active{opacity:1}
.hero h1{font-size:clamp(3.2rem,6.8vw,5.8rem)}
.hero-slider-controls{position:absolute;z-index:4;top:6.5rem;right:5vw;display:flex;align-items:center;gap:.55rem}
.slider-dot{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:width .2s ease,background .2s ease}
.slider-dot[aria-pressed="true"]{width:25px;border-radius:8px;background:#fff}
.slider-toggle{width:34px;height:34px;margin-left:.35rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(16,20,17,.32);color:#fff;font:500 .78rem var(--display);cursor:pointer}
.slider-dot:focus-visible,.slider-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:900px){.hero-slider-controls{top:6rem;right:1.4rem}}
@media(max-width:560px){.hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.hero-image,.slider-dot{transition:none}}

/* Header logo and hero title sizing */
.site-header{height:108px}
.site-header .brand-logo{width:84px;height:84px}
.hero h1{font-size:clamp(2.6rem,4.5vw,3.9rem)}
@media(max-width:900px){.site-header nav{top:108px}.hero-slider-controls{top:7rem}}
@media(max-width:560px){.hero h1{font-size:2.35rem}}

/* Further increase the logo and reduce the hero headline */
.site-header{height:148px}
.site-header .brand-logo{width:124px;height:124px}
.hero h1{font-size:clamp(2.25rem,3.3vw,2.8rem)}
.hero-slider-controls{top:10rem}
@media(min-width:901px){.hero-content{padding-top:max(170px,18vh)}}
@media(max-width:900px){.site-header{height:116px}.site-header nav{top:116px}.site-header .brand-logo{width:96px;height:96px}.hero-slider-controls{top:8rem}}
@media(max-width:560px){.hero h1{font-size:2.1rem}}

/* Square logo treatment and mixed image/video hero slides */
.site-header .brand-logo{border-radius:0}
.hero-image{object-fit:initial}
.hero-image img,.hero-image video{width:100%;height:100%;object-fit:cover}

/* Rectangular white logo panel, keeping the supplied square artwork undistorted */
.site-header .brand-logo{width:164px;height:104px;object-fit:contain;padding:4px 28px;border-radius:0;background:#fff}
footer .brand-logo{width:154px;height:98px;object-fit:contain;padding:4px 24px;border-radius:0;background:#fff}
@media(max-width:900px){.site-header .brand-logo{width:150px;height:88px;padding:3px 24px}}

/* Keep the complete rectangular brand lockup on a continuous white background */
.brand{background:#fff;padding:8px 12px;gap:.7rem}
.brand-location{color:#303630}
.site-header .brand-logo{background:#fff;filter:invert(1);border:0}
@media(max-width:900px){.brand{padding:6px 10px;gap:.5rem}}

/* Exact logo plaque requested: white, 2 inches wide by 1 inch high */
.brand{width:192px;height:96px;flex:0 0 192px;padding:0;gap:0;justify-content:center;background:#fff}
.brand .brand-logo{width:192px;height:96px;padding:0;border:0;border-radius:0;object-fit:contain;background:#fff;filter:invert(1)}
.brand-location{display:none}
/* Keep the 2:1 plaque white; invert only the square logo artwork */
.brand{background-color:#fff}
.brand .brand-logo{width:96px;height:96px;flex:0 0 96px;padding:0;border:0;border-radius:0;object-fit:contain;background:transparent;filter:invert(1)}

/* Horizontal brand lockup: original G mark on the left, name on the right */
.brand{width:192px;height:96px;flex:0 0 192px;padding:8px 12px;gap:10px;justify-content:flex-start;background:#fff}
.brand-mark{width:68px;height:72px;flex:0 0 68px;overflow:hidden;display:grid;place-items:center}
.brand-mark img{width:100%;height:100%;object-fit:contain;filter:invert(1)}
.brand-copy{display:flex;flex-direction:column;justify-content:center;gap:4px;color:#151916;line-height:1}
.brand-copy strong{font:700 1.25rem/1 var(--display);letter-spacing:-.07em}
.brand-copy small{font:600 .48rem/1 var(--display);letter-spacing:.17em;white-space:nowrap}
.brand-location{display:none}
/* White horizontal logo on transparent background */
.brand{background:transparent!important}
.brand-mark{background:transparent}
.brand-mark img{filter:none;mix-blend-mode:screen}
.brand-copy,.brand-copy strong,.brand-copy small{color:#fff}
.brand-copy strong{font-size:1.55rem}
.brand-copy small{font-size:.63rem;letter-spacing:.12em}

/* Restore the supplied vertical logo: large G above the G&G Home Design wordmark */
.brand{width:124px;height:124px;flex:0 0 124px;padding:0;gap:0;justify-content:center;background:transparent!important}
.brand .brand-logo{display:block;width:124px;height:124px;flex:0 0 124px;padding:0;border:0;border-radius:0;object-fit:contain;background:transparent;filter:none;mix-blend-mode:screen}
.brand-mark,.brand-copy{display:none}
@media(max-width:900px){.brand,.brand .brand-logo{width:108px;height:108px;flex-basis:108px}}

/* White original stacked logo, using the source artwork as a luminance mask */
.brand .brand-logo{display:block;width:124px;height:124px;flex:0 0 124px;padding:0;border:0;border-radius:0;background-color:#fff;filter:none;mix-blend-mode:normal;-webkit-mask-image:url("assets/gg-logo.jpg");mask-image:url("assets/gg-logo.jpg");mask-mode:luminance;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
@media(max-width:900px){.brand,.brand .brand-logo{width:108px;height:108px;flex-basis:108px}}
/* Larger stacked logo */
.site-header{height:168px}
.brand,.brand .brand-logo{width:148px;height:148px;flex-basis:148px}
@media(min-width:901px){.hero-content{padding-top:max(190px,18vh)}}
@media(max-width:900px){.site-header{height:136px}.site-header nav{top:136px}.brand,.brand .brand-logo{width:124px;height:124px;flex-basis:124px}}
/* Further increase the original logo */
.site-header{height:196px}
.brand,.brand .brand-logo{width:180px;height:180px;flex-basis:180px}
@media(min-width:901px){.hero-content{padding-top:max(210px,19vh)}.hero-slider-controls{top:11rem}}
@media(max-width:900px){.site-header{height:160px}.site-header nav{top:160px}.brand,.brand .brand-logo{width:150px;height:150px;flex-basis:150px}.hero-content{padding: max(174px,23vh) 1.4rem 0}.hero-slider-controls{top:8.8rem}}
/* Make the hero supporting sentence much more compact */
.hero-intro{font-size:.82rem;max-width:500px;line-height:1.5;margin:1.35rem 0}
@media(max-width:560px){.hero-intro{font-size:.76rem;line-height:1.45}}
/* Match the hero sentence to the small uppercase eyebrow style */
.hero-intro{font:600 .68rem var(--display);letter-spacing:.19em;text-transform:uppercase;line-height:1.65;color:#dbd7cb;max-width:650px;margin:1.05rem 0 1.5rem}
@media(max-width:560px){.hero-intro{font-size:.68rem;line-height:1.6}}
/* Smaller lowercase hero description */
.hero-intro{font-size:.56rem;font-weight:500;letter-spacing:.08em;text-transform:lowercase;line-height:1.6}
@media(max-width:560px){.hero-intro{font-size:.54rem}}

/* Three-line hero description matching the General contracting eyebrow size */
.hero-intro{font:600 .78rem var(--display);letter-spacing:.19em;line-height:1.65;text-transform:lowercase;color:#dbd7cb;max-width:650px;margin:1.05rem 0 1.5rem}
.hero-intro span{display:block}
@media(max-width:560px){.hero-intro{font-size:.78rem;line-height:1.6}}

/* Show only the white logo artwork; drop the square and circular raster backgrounds */
.brand .brand-logo{background:url("assets/gg-logo-mark.svg") center/contain no-repeat transparent;-webkit-mask-image:none!important;mask-image:none!important;mix-blend-mode:normal}
/* Use the original artwork directly and screen out its black square and circle */
.brand .brand-logo{background:url("assets/gg-logo-transparent.png") center/contain no-repeat transparent;-webkit-mask-image:none!important;mask-image:none!important;filter:none;mix-blend-mode:normal}

.contact-details{display:grid;gap:1.1rem;margin-top:2rem}.contact-details a,.contact-details p{margin:0;color:#fff;font-size:.92rem;line-height:1.55;text-decoration:none}.contact-details a:hover{text-decoration:underline}.contact-details span{display:block;margin-bottom:.2rem;color:#b8c0b8;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.footer-contact strong{font:600 .7rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#aab0aa;margin-bottom:.2rem}.footer-contact a{overflow-wrap:anywhere}
footer{grid-template-columns:1fr 1.2fr 1fr 1.5fr}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer{grid-template-columns:1fr}}

.site-header nav{gap:1.1rem}.reviews{background:#e8e2d6}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.google-rating{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:.8rem;min-width:180px}.google-rating strong{font:600 2.8rem/1 var(--display)}.google-rating .stars{font-size:1.05rem}.google-rating small{grid-column:2;color:#646b64;font-size:.73rem}.stars{color:#ac7e32;letter-spacing:.12em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.review-grid blockquote{margin:0;padding:2rem;background:#f4f1ea;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}.review-grid blockquote p{font:400 1.45rem/1.35 Georgia,serif;margin:1.3rem 0 auto}.review-grid cite{font-style:normal;color:#71776f;font-size:.74rem;margin-top:1.5rem}.reviews-link{display:inline-flex;gap:.5rem;align-items:center;margin-top:2rem;border-bottom:1px solid #777f73;padding-bottom:.35rem;font-size:.83rem}.reviews-link span{color:#967239}@media(max-width:900px){.reviews-heading{align-items:flex-start;flex-direction:column}.review-grid{grid-template-columns:1fr}}

.hero-rating{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.7rem;color:#fff;font-size:.76rem}.hero-rating>span{color:#e1b45f;letter-spacing:.1em;font-size:.86rem}.hero-rating strong{font-weight:600}.hero-rating small{color:rgba(255,255,255,.76);font-size:.72rem}.hero-rating b{font-weight:400;color:#e1b45f}.hero-rating:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:560px){.hero-rating{margin-top:1.3rem;flex-wrap:wrap;gap:.45rem}}

/* Real project media */
.project video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.project:hover video{transform:scale(1.025)}
.project-message h3{font:600 1.65rem/1.15 var(--display);letter-spacing:-.03em;margin:.65rem 0 1rem}
.project-message>div>p:last-child{color:#edf0ed;font-size:.9rem;line-height:1.65;margin:0 0 1.5rem}
@media(prefers-reduced-motion:reduce){.project video{transition:none}}

/* Multi-project portfolio stories */
.project-story+.project-story{margin-top:6rem;padding-top:5rem;border-top:1px solid rgba(255,255,255,.18)}
.project-story-heading{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:7vw;align-items:end;margin-bottom:2.2rem}
.project-story-heading h3{font:500 clamp(2rem,3.3vw,3.4rem)/1.02 var(--display);letter-spacing:-.055em;margin:0}
.project-story-heading>p{color:#c7cdc8;line-height:1.72;margin:0}
.project-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:245px;gap:1rem}
.project-photo{position:relative;overflow:hidden;margin:0;background:#252b26}
.project-photo-feature{grid-column:span 2;grid-row:span 2}
.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.project-photo:hover img{transform:scale(1.025)}
.project-photo video{display:block;width:100%;height:100%;object-fit:cover;background:#111}
.project-photo-video figcaption{pointer-events:none}
.project-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.72));font:600 .82rem var(--display)}
@media(max-width:900px){.project-story-heading{grid-template-columns:1fr;gap:1.2rem}.project-photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}.project-photo-feature{grid-column:span 2}}
@media(max-width:560px){.project-story+.project-story{margin-top:4rem;padding-top:4rem}.project-photo-grid{grid-template-columns:1fr;grid-auto-rows:280px}.project-photo-feature{grid-column:auto;grid-row:auto}.project-story-heading h3{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){.project-photo img{transition:none}}

/* Transparent hero project button */
.hero-actions .button-light{background:transparent;color:white;border:0;border-bottom:1px solid rgba(255,255,255,.6);min-height:0;padding:0 0 .25rem;font-size:.84rem;line-height:1.6;text-decoration:none}
.hero-actions .button-light:hover{background:transparent;border-bottom-color:#fff}
.hero-actions .button-light:focus-visible{outline:2px solid #e1b45f;outline-offset:5px}

/* Persistent conversion actions */
.quick-contact{position:fixed;z-index:50;right:1.25rem;bottom:5.75rem;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}
.quick-contact-link{min-height:34px;padding:.4rem .58rem;border-radius:999px;display:flex;align-items:center;gap:.38rem;font:600 .6rem/1 var(--display);letter-spacing:.02em;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}
.quick-contact-link:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.14)}
.quick-contact-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
.quick-contact-link svg{width:14px;height:14px;flex:0 0 14px;fill:currentColor}
.quick-contact-call{background:#fff;color:#151916;border:1px solid rgba(21,25,22,.16)}
.quick-contact-whatsapp{background:#25d366;color:#0c2d18}
@media(max-width:560px){
  body{padding-bottom:78px}
  .quick-contact{left:.75rem;right:.75rem;bottom:.75rem;flex-direction:row;gap:.5rem;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
  .quick-contact-link{min-width:0;flex:1;justify-content:center;padding:.5rem .45rem;font-size:.64rem}
  .quick-contact-link svg{width:16px;height:16px;flex-basis:16px}
}
@media(prefers-reduced-motion:reduce){.quick-contact-link{transition:none}}

/* Keep the left hero controls compact and align their base with the highlights. */
.hero-content{display:flex;flex-direction:column;height:100%;max-width:min(780px,56vw);padding-bottom:3.6rem}
.hero-content>h1,.hero-actions,.hero-rating,.hero-details{flex-shrink:0}
.hero-actions{margin-top:auto}
.hero-rating{align-self:flex-start;margin-top:1rem}
.hero-details{margin-top:1rem;padding-top:0}
.hero-details .eyebrow{margin-bottom:.65rem}
.hero-details .hero-intro{margin:0}
@media(max-width:900px){
  .hero{min-height:860px}
  .hero-content{max-width:780px;padding-bottom:150px}
}
@media(max-width:560px){
  .hero-details .eyebrow{font-size:.65rem}
  .hero-details .hero-intro{font-size:.68rem;letter-spacing:.12em}
}

/* Main floor and basement separation project */
.project-summary p{margin:0;color:#c7cdc8;line-height:1.72}
.project-summary p+p{margin-top:.85rem}
.project-highlights{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0 0 1.4rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.project-highlights li{padding:0 1rem;border-right:1px solid rgba(255,255,255,.16);font:600 .7rem/1.45 var(--display);letter-spacing:.03em;color:#d8ddd9}
.project-highlights li:first-child{padding-left:0}
.project-highlights li:last-child{border-right:0}
.project-photo-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
.project-photo-grid-two .project-photo{aspect-ratio:3/4}
.project-signoff{margin:1.25rem 0 0;color:#aeb5af;font:600 .67rem var(--display);letter-spacing:.13em;text-transform:uppercase}
@media(max-width:900px){
  .project-highlights{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1rem}
  .project-highlights li{border-right:0;padding:0 .75rem 0 0}
}
@media(max-width:560px){
  .project-highlights{grid-template-columns:1fr}
  .project-highlights li{padding:0}
  .project-photo-grid-two{grid-template-columns:1fr;grid-auto-rows:auto}
}

/* Bottom highlights and persistent contact actions. */
.hero-bottom-bar{position:absolute;z-index:3;left:5vw;right:5vw;bottom:3.6rem;display:flex;justify-content:flex-end;align-items:flex-end;gap:1.25rem}
.hero-bottom-bar .hero-proof{position:static;right:auto;bottom:auto;left:auto;margin-left:auto}
.quick-contact{left:50%;right:auto;bottom:1.25rem;transform:translateX(-50%)}
.quick-contact-link{min-width:142px;min-height:30px;justify-content:center;padding:.35rem .55rem;font-size:.64rem}

@media(max-width:900px){
  .hero-bottom-bar{left:1.4rem;right:1.4rem;bottom:3.5rem;gap:1rem}
  .hero-bottom-bar .hero-proof{flex:1;margin-left:0;justify-content:space-between}
}

@media(max-width:560px){
  .hero-bottom-bar{left:1rem;right:1rem;bottom:6rem;display:block}
  .hero-bottom-bar .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:.65rem}
  .hero-bottom-bar .hero-proof strong{font-size:.82rem}
  .hero-bottom-bar .hero-proof span{font-size:.53rem;line-height:1.35}
  .quick-contact{left:.75rem;right:.75rem;bottom:.75rem;transform:none}
  .quick-contact-link{min-width:0;min-height:34px;padding:.5rem .45rem;font-size:.64rem}
}

/* Lower only the contracting copy; retain its typography and the hero controls. */
.hero-details{position:relative;top:1rem}
@media(max-width:900px){
  .hero-details{top:.25rem}
}

/* Four-photo navy bathroom project. */
#navy-brass-bathroom-renovation .project-photo-wide{grid-column:span 2}
@media(max-width:560px){#navy-brass-bathroom-renovation .project-photo-wide{grid-column:auto}}

/* Make Google review proof clear at a glance, including on small screens. */
.hero-rating{display:grid;grid-template-columns:30px auto auto 12px;grid-template-rows:auto auto;column-gap:0.5625rem;row-gap:0.1875rem;max-width:100%;padding:0;background:transparent;color:#fff;border:0;border-radius:0;box-shadow:none;text-shadow:0 1px 3px rgba(0,0,0,.65);text-decoration:none;line-height:1.25}
.hero-rating .google-mark{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));grid-column:1;grid-row:1/3;width:30px;height:30px;object-fit:contain}
.hero-rating strong{grid-column:2/4;grid-row:1;font:700 .735rem/1.3 var(--display)}
.hero-rating>.hero-rating-stars{grid-column:2;grid-row:2;color:#f6c65b;letter-spacing:.06em;font-size:0.9rem;line-height:1.2;white-space:nowrap}
.hero-rating small{grid-column:3;grid-row:2;color:#fff;font-size:0.585rem;white-space:nowrap}
.hero-rating b{grid-column:4;grid-row:1/3;color:#f6c65b;font-size:0.8625rem}
.hero-rating:hover{background:transparent;text-decoration:underline;text-underline-offset:4px;box-shadow:none}
.hero-rating:focus-visible{outline:3px solid #e1b45f;outline-offset:4px}
@media(max-width:560px){
  .hero-rating{grid-template-columns:25.5px auto auto 9px;column-gap:0.375rem;row-gap:0.15rem;padding:0}
  .hero-rating .google-mark{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));width:25.5px;height:25.5px}
  .hero-rating strong{font-size:0.675rem}
  .hero-rating>.hero-rating-stars{font-size:0.825rem}
  .hero-rating small{font-size:0.54rem}
}

/* Keep only contact actions fixed in the upper-right corner. */
.quick-contact{top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right));bottom:auto;left:auto;transform:none;flex-direction:column;width:142px}
@media(max-width:900px){
 .site-header .menu-button{position:absolute;right:1rem;bottom:.75rem;min-height:36px}
 .quick-contact-link{min-height:44px}
}
@media(max-width:560px){
 .site-header .brand,.site-header .brand-logo{width:124px;height:124px;flex-basis:124px}
 .quick-contact{left:auto;right:max(.5rem,env(safe-area-inset-right));bottom:auto;flex-direction:column;gap:.45rem}
 .quick-contact-link{flex:none;min-height:44px}
}

.brief-status{margin:0;color:#f3d49f;font-size:.88rem;line-height:1.5}
.quote-form select[aria-invalid="true"]{border-color:#f3d49f}

/* Keep the raised logo position while allowing the entire header to scroll. */
.site-header>.brand{position:absolute;top:-15.59px;left:4.5vw;z-index:50;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
@media(min-width:901px){.site-header nav{grid-column:2}.site-header .header-cta{grid-column:3}}
@media(max-width:900px){.site-header>.brand{top:-10.99px;left:1.2rem}}
@media(max-width:560px){.site-header>.brand{top:-7.01px}}

/* Repeated, in-flow home links for section and project introductions. */
.section-home-logo{display:block;position:static;width:120px;height:120px;margin:0 0 1.5rem;line-height:0;color:inherit}
.section-home-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0)}
.work .section-home-logo img,.quote .section-home-logo img{filter:none}
.section-home-logo:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
@media(max-width:560px){.section-home-logo{width:104px;height:104px;margin-bottom:1.25rem}}

/* Enlarge only the front-page artwork around its visible upper-left anchor. */
.site-header>.brand .brand-logo{transform:scale(1.20);transform-origin:25.4% 15.33%}

/* Full portraits, with hero text kept outside the team photograph. */
.hero-image.team-photo{background:#171c18;padding:205px 4vw 100px 56vw}
.hero-image.team-photo img{object-fit:contain;object-position:center}
.hero.team-slide .hero-shade{background:none}
@media(max-width:900px){
 .hero.team-slide{height:1200px;min-height:1200px}
 .hero-image.team-photo{padding:180px 1.4rem 590px}
 .hero.team-slide .hero-content{padding-top:630px}
}
@media(max-width:560px){
 .hero.team-slide{height:1120px;min-height:1120px}
 .hero-image.team-photo{padding:174px 1.4rem 580px}
 .hero.team-slide .hero-content{padding-top:560px}
}

.hero-beautifully{color:#F97316}
