@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&family=Fredoka:wght@400;500;600;700&display=swap');:root{--yellow:#f5c52b;--black:#111214;--muted:#696969;--line:#dedede}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--black);font:16px/1.5 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;border-bottom:1px solid #e8e8e8;background:#fff;position:sticky;top:0;z-index:20}.brand img{display:block;width:108px;height:78px;object-fit:contain}.topbar nav{display:flex;gap:2.25rem;align-items:center;font-size:.93rem;font-weight:700}.topbar nav a:hover{color:#a47700}.nav-contact{background:var(--yellow);padding:13px 19px}.hero{display:grid;grid-template-columns:49% 51%;min-height:630px}.hero-copy{padding:94px 8% 35px 10%;display:flex;flex-direction:column;align-items:flex-start;background:#f6f6f3}.eyebrow{font-weight:700;letter-spacing:.19em;font-size:.77rem}.hero h1,h2{font-family:Oswald,Impact,sans-serif;text-transform:uppercase;line-height:1.04;letter-spacing:-.025em}.hero h1{font-size:clamp(4.4rem,7.5vw,8.5rem);font-weight:600;margin:32px 0 24px;max-width:720px}.hero h1 em{color:#dba900;font-style:normal}.hero-copy>p{font-size:1.17rem;max-width:490px;color:#4d4d4d}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{min-height:50px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:700;border:1px solid var(--black);cursor:pointer}.primary{background:var(--yellow);color:#111}.secondary{background:transparent}.button:hover{transform:translateY(-2px);box-shadow:4px 4px 0 #111}.hero-rule{border-top:1px solid #bcbcbc;width:100%;display:flex;justify-content:space-between;margin-top:auto;padding-top:18px;font-size:.73rem;letter-spacing:.13em;font-weight:700}.hero-photo{background:#282a2c url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?w=1400&q=85') center/cover;position:relative;min-height:520px}.photo-label{position:absolute;bottom:28px;left:28px;background:#fff;padding:16px 24px;display:flex;flex-direction:column;gap:2px}.photo-label span{font-size:.68rem;letter-spacing:.16em}.photo-label strong{font-size:1.1rem}.section{padding:92px 5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-heading h2,.reviews h2,.contact h2{font-size:clamp(2.7rem,5vw,5rem);margin:14px 0 0}.section-heading p{color:var(--muted);margin:0 0 7px;max-width:380px}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7d7d7;border:1px solid #d7d7d7}.service-card{border:0;background:#fff;text-align:left;min-height:205px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;cursor:pointer}.service-card:hover,.service-card:focus-visible{background:var(--yellow)}.service-number{color:#777;font-size:.77rem;letter-spacing:.15em}.service-card strong{font:500 clamp(1.7rem,2.8vw,2.7rem)/1.12 Oswald,sans-serif;text-transform:uppercase}.service-card .arrow{align-self:flex-end;font-size:1.6rem}.gallery{background:#f2f2ef}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:18px;scrollbar-width:thin}.tabs button{white-space:nowrap;border:1px solid #bbb;background:#fff;padding:11px 17px;cursor:pointer;font-weight:700}.tabs button[aria-selected=true]{background:var(--black);color:#fff;border-color:var(--black)}.image-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-item{margin:0;background:#ddd;overflow:hidden;position:relative;aspect-ratio:4/3}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item figcaption{position:absolute;bottom:0;left:0;background:#111;color:white;font-size:.8rem;padding:6px 9px}.reviews{background:#161719;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8%}.review-intro p{color:#ccc;max-width:430px}.reviews form{background:#fff;color:#111;padding:32px;display:grid;gap:18px}.reviews fieldset{border:0;padding:0;margin:0}.reviews legend,.reviews form>label{font-weight:700;display:block}.reviews input:not([type=radio]),.reviews textarea{display:block;width:100%;margin-top:6px;border:1px solid #aaa;border-radius:0;padding:12px;background:#fff}.star-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end}.star-input input{position:absolute;opacity:0;width:1px;height:1px}.star-input label{cursor:pointer;font-size:2.4rem;line-height:1.2;color:#aaa;padding-right:5px}.star-input label:hover,.star-input label:hover~label,.star-input input:checked~label{color:#e5b111}.star-input input:focus-visible+label{outline:2px solid #111}.contact{background:var(--yellow)}.contact h2{font-size:clamp(3.4rem,7vw,7rem);margin:20px 0 35px}.contact>div{display:flex;gap:12px;flex-wrap:wrap}.light{background:#111;color:#fff}.outline{background:transparent}.contact p{margin-top:65px;font-weight:700}footer{display:flex;align-items:center;gap:35px;padding:22px 5%;font-size:.83rem}footer img{width:74px;height:52px;object-fit:contain}footer a{margin-left:auto;text-decoration:underline}.transition{position:fixed;inset:0;background:var(--yellow);z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s}.transition.active{opacity:1;visibility:visible;pointer-events:auto}.panda-scene{width:180px;height:165px;position:relative;animation:sway .55s ease-in-out infinite alternate}.panda{font-size:110px;position:absolute;left:20px;bottom:0}.hardhat{position:absolute;left:72px;top:0;font-size:48px;transform:rotate(-12deg);z-index:2}.hammer{position:absolute;right:-10px;top:44px;font-size:62px;transform-origin:15% 80%;animation:swing .46s ease-in-out infinite alternate}.transition-text{font:600 1.4rem Oswald,sans-serif;letter-spacing:.18em}@keyframes swing{from{transform:rotate(-55deg)}to{transform:rotate(30deg)}}@keyframes sway{to{transform:translateX(15px)}}@media(max-width:800px){.topbar{height:76px;padding:8px 4%}.brand img{width:75px;height:57px}.topbar nav{gap:13px;font-size:.8rem}.topbar nav a:nth-child(2){display:none}.nav-contact{padding:9px}.hero{grid-template-columns:1fr}.hero-copy{min-height:530px;padding:60px 6% 24px}.hero h1{font-size:clamp(4.2rem,13vw,7rem)}.hero-photo{min-height:360px}.section{padding:65px 5%}.service-grid{grid-template-columns:repeat(2,1fr)}.image-grid{grid-template-columns:repeat(2,1fr)}.reviews{grid-template-columns:1fr;gap:30px}}@media(max-width:470px){.topbar nav a:first-child,.topbar nav a:nth-child(3){display:none}.hero h1{font-size:4.2rem}.hero-copy{min-height:540px}.service-card{min-height:170px;padding:18px}.service-card strong{font-size:1.6rem}.section-heading{display:block}.section-heading p{margin-top:15px}.reviews form{padding:20px}footer{flex-wrap:wrap;gap:10px}footer a{margin-left:0}}

/* Rounded bubble display and left-to-right construction gold accents. */
.hero h1,.section-heading h2,.reviews h2,.contact h2,.service-card strong,.transition-text{font-family:Fredoka,'Trebuchet MS',Arial,sans-serif;font-weight:600;letter-spacing:-.035em;line-height:1.09}
.hero h1{font-weight:700;letter-spacing:-.05em}.hero h1 em{display:inline-block;background:linear-gradient(90deg,#ffe269 0%,#efba15 52%,#a76e00 100%);color:#a76e00;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.primary,.nav-contact,.contact{background:linear-gradient(90deg,#ffe36b 0%,#f5c52b 52%,#b98108 100%)}
.service-card:hover,.service-card:focus-visible{background:linear-gradient(90deg,#ffe36b,#eab414 68%,#b98108)}
.photo-label{border-left:7px solid #e0a70a}.tabs button[aria-selected=true]{border-bottom:5px solid #d69e09}.contact .light{background:#111;color:#fff}.transition{background:linear-gradient(90deg,#ffe36b,#f4be1f 55%,#b98108)}
@media(max-width:470px){.hero h1{font-size:clamp(3.6rem,13vw,4.2rem)}}
/* Animated gold headline; motion is disabled when the visitor requests reduced motion. */
.shimmer-title{position:relative;display:inline-block;color:#bd7900;background-image:linear-gradient(105deg,#ac6500 0%,#e49a00 17%,#ffe787 32%,#ffa921 46%,#ffd941 57%,#f18e08 72%,#b56b00 88%,#ffe28a 100%);background-size:230% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gold-flow 5s ease-in-out infinite,gold-breathe 3.3s ease-in-out infinite alternate}
.shimmer-title::after{content:"";position:absolute;inset:-4% -2%;pointer-events:none;background-image:radial-gradient(circle at 14% 23%,#fff 0 2px,transparent 5px),radial-gradient(circle at 61% 65%,#fff 0 2px,transparent 6px),radial-gradient(circle at 85% 18%,#fff 0 1.5px,transparent 5px);background-size:100% 100%;filter:drop-shadow(0 0 5px #ffec82);opacity:0;animation:gold-sparkle 3.2s ease-in-out infinite}
@keyframes gold-flow{0%,100%{background-position:100% 0}50%{background-position:0 0}}@keyframes gold-breathe{from{opacity:.78;filter:brightness(.94)}to{opacity:1;filter:brightness(1.18)}}@keyframes gold-sparkle{0%,17%,68%,100%{opacity:0}28%,48%{opacity:.95}}
.gallery-item figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(prefers-reduced-motion:reduce){.shimmer-title,.shimmer-title::after{animation:none}.shimmer-title{opacity:1;background-position:50% 0}.shimmer-title::after{display:none}}
/* Dark-gold to pale-yellow animated lettering throughout service names. */
.service-card strong,.gallery .section-heading h2,.tabs button{color:#956000;background-image:linear-gradient(100deg,#8c5900 0%,#b27b00 25%,#fff2aa 50%,#d89a00 73%,#8c5900 100%);background-size:220% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gold-flow 6s ease-in-out infinite}
.service-card strong{font-weight:700}.service-card:hover strong,.service-card:focus-visible strong{filter:brightness(.75)}
.tabs button[aria-selected=true]{background-color:#171717;background-image:linear-gradient(100deg,#c78c09,#fff1aa,#d49a15);background-size:220% 100%;border-color:#171717}
@media(prefers-reduced-motion:reduce){.service-card strong,.gallery .section-heading h2,.tabs button{animation:none;background-position:50% 0}}
.tabs button{background-image:none;-webkit-text-fill-color:#9b6900;animation:none}.tabs button[aria-selected=true]{background:#171717;-webkit-text-fill-color:#ffe88a;color:#ffe88a}

/* Service slogan in oversized rounded yellow lettering. */
.services .section-heading .slogan-heading{font-family:Fredoka,'Trebuchet MS',Arial,sans-serif;font-size:clamp(3.6rem,7vw,7.4rem);font-weight:700;line-height:1.04;letter-spacing:-.045em;max-width:900px;color:#d5a100;background:linear-gradient(90deg,#fff3aa 0%,#ffe472 32%,#f5c52b 70%,#d59a00 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #936404;filter:drop-shadow(0 3px 1px rgba(94,62,0,.18))}
@media(max-width:470px){.services .section-heading .slogan-heading{font-size:clamp(3.25rem,12vw,4.25rem)}}

.customer-review{padding:24px 0;border-bottom:1px solid #ddd}.customer-review p{white-space:pre-wrap;overflow-wrap:anywhere}.review-stars{color:#806000;font-size:24px}#reviewStatus{margin-top:16px}#emailReview{display:inline-block;margin-top:12px}#emailReview[hidden]{display:none}button:disabled{opacity:.6;cursor:wait}
