/* Short pages, consistent rhythm, strong but finite review motion. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.brief-checklist{list-style:none;padding:0;margin:0 0 22px;color:var(--muted)}.brief-checklist li{padding:4px 0;font-size:12px}
.story-top>.eyebrow{background:#f4f1eaee;padding:12px 15px;font-size:8px;line-height:1.7}
.section{padding-top:62px;padding-bottom:62px}
.section h2,.compact-feature h2{font-size:clamp(32px,3.3vw,49px);line-height:1.12}
.section-top{margin-bottom:30px;gap:35px}.section-top .eyebrow{display:block;margin-bottom:18px;font-size:9px}.section-top>p{font-size:13px;max-width:40ch;line-height:1.85}
.category-banner{min-height:510px;height:min(650px,70vh)}.banner-copy{padding-top:36px;padding-bottom:45px}.banner-copy>.eyebrow{margin-bottom:20px}.banner-copy>p{line-height:1.8}.banner-copy .hero-actions{margin-top:22px}
.category-tags{padding-top:20px;padding-bottom:20px}.category-jump{padding-top:13px;padding-bottom:13px}
.quality-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;font-size:11px;color:var(--muted)}
.quality-strip span{display:flex;gap:13px;align-items:center}.quality-strip b{font-size:10px;font-weight:400;color:var(--oak)}
.compact-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px;margin-top:0;align-items:start}
.compact-range .catalog-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:2px}.compact-range .visual-figure{aspect-ratio:4/3;margin:0}.compact-range .visual-figure img{width:100%;height:100%;object-fit:cover}.compact-range .visual-figure figcaption{font-size:8px;bottom:13px;left:15px}
.compact-range .visual-open{top:10px;right:10px;bottom:auto;font-size:10px;padding:9px 11px;min-height:44px}
.compact-range .catalog-copy{padding:19px 0 0}.compact-range .eyebrow{font-size:8px;letter-spacing:.1em}.compact-range h3{font-size:26px;margin:10px 0 12px;line-height:1.2}.compact-range .catalog-copy>p{font-size:13px;line-height:1.75;min-height:69px;max-width:42ch}
.catalog-details{margin-top:17px}.catalog-details summary{font-size:11px;padding:14px 0}.catalog-details p{font-size:12px!important;line-height:1.8}.catalog-details .text-link{font-size:11px;padding:12px 0}
.compact-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding:38px var(--pad);align-items:center;background:#eae7de}
.compact-feature>figure{aspect-ratio:1.65}.compact-feature img{width:100%;height:100%;object-fit:cover}.compact-feature>div{padding:20px 0}.compact-feature .eyebrow{font-size:9px;line-height:1.7}.compact-feature h2{margin:20px 0}.compact-feature p{font-size:13px;line-height:1.9;color:var(--muted);max-width:45ch}.compact-feature .text-link{font-size:12px;margin-top:22px}
.table-story{height:225vh;margin-top:0}.story-pin{height:90svh;min-height:590px;top:0}.story-caption h2{font-size:clamp(30px,3.5vw,50px)}.story-caption p{font-size:13px}.story-top .section-label{font-size:8px}.story-image{object-fit:cover}.story-image:first-child{object-fit:contain}
.real-section .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.real-section .project h3{font-size:19px;line-height:1.25}.real-section .project-meta{font-size:8px;line-height:1.65;display:block}.real-section .project-meta b{display:block;margin-top:3px}.real-section .text-link{font-size:12px}.project-open{font-size:10px;padding:9px 12px}
.real-section .project-grid:has(>.project:only-child){grid-template-columns:minmax(240px,365px)}
.accessory-offer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.accessory-offer article{border-top:1px solid var(--line);padding-top:22px}.accessory-offer h3{font-size:27px;margin:8px 0 15px}.accessory-offer p{font-size:13px;line-height:1.85;color:var(--muted)}
.faq{gap:8%}.faq h2{margin:18px 0}.faq>div>p{max-width:29ch;font-size:13px;color:var(--muted)}.faq-list{margin:0}.faq-list details{padding:17px 0}.faq-list summary{font-size:14px}.faq-list p{font-size:13px}.faq .eyebrow{font-size:9px}
.collection-links{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:25px var(--pad);border-top:1px solid var(--line);font-size:13px}.collection-links>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.collection-links a{padding:10px 0}.collection-links a:hover{text-decoration:underline;text-underline-offset:6px}
.contact h2{font-size:clamp(31px,3.2vw,46px)}.contact p{margin:20px 0}.contact-card{padding:26px 30px}.contact-card h3{font-size:24px;margin:14px 0}.contact-card li{padding:3px 0;font-size:12px}.contact-card ol{margin-bottom:20px}.contact-details{margin-top:20px}.phone{font-size:43px}
.entry{padding-top:46px}.entry-heading h1{font-size:clamp(42px,4.2vw,67px)}.entry-heading{margin-bottom:30px}.entry-card-copy{min-height:110px}.entry-card figure{aspect-ratio:1.07}
/* Google colors frame sourced reviews; motion runs once on entering view. */
.reviews-section{padding-top:50px;padding-bottom:44px;background:#111c1a}
.reviews-light{background:radial-gradient(ellipse at 85% -20%,#4285f454,transparent 52%),radial-gradient(ellipse at 97% 110%,#34a85335,transparent 44%),radial-gradient(ellipse at -10% 90%,#ea43352b,transparent 44%)}
.reviews-top{grid-template-columns:1.2fr 1fr;gap:48px;margin-bottom:28px}.reviews-top h2{font-size:clamp(32px,3.4vw,48px);margin:15px 0 0}.reviews-top p{display:none}.reviews-top .eyebrow{font-size:9px}
.rating-card{display:grid;grid-template-columns:auto 1fr;gap:4px 28px;padding:25px 30px;align-items:center;border-color:#7b9fa270;box-shadow:0 0 30px #4285f40b,0 10px 45px #0000001a;isolation:isolate}
.rating-card .google-word{font-size:32px;grid-column:1;grid-row:1}.rating-number{grid-column:1;grid-row:2/4;font-size:65px;margin:0;line-height:1.12}.rating-number>span{font-size:16px;margin-left:8px}.rating-card .review-stars{grid-column:2;grid-row:1/3;justify-content:center;gap:6px;font-size:31px}.rating-count{grid-column:2;grid-row:3;text-align:center;font-size:11px;margin:0}.rating-card:after{height:3px}
.g-0,.g-3{color:#78acff;text-shadow:0 0 18px #4285f450}.g-1,.g-5{color:#ff796f;text-shadow:0 0 18px #ea433545}.g-2{color:#ffda5b;text-shadow:0 0 18px #fbbc0540}.g-4{color:#6ddb9b;text-shadow:0 0 18px #34a85340}
.review-grid{gap:16px}.review-card{position:relative;min-height:188px;padding:23px 23px 21px;border-top:2px solid #4285f4;background:linear-gradient(130deg,#ffffff08,#ffffff03)}
.review-card:nth-child(2){border-top-color:#ea4335}.review-card:nth-child(3){border-top-color:#34a853}.quote-mark{display:none}.review-card blockquote{border:0;padding:0;font-size:16px;line-height:1.65;margin:0 0 23px;max-width:32ch}.review-author{gap:10px}.review-author strong{font-size:11px}.review-avatar{width:30px;height:30px}.review-author div>span{font-size:9px}.review-five{font-size:11px;letter-spacing:1px;color:#ffd474;filter:drop-shadow(0 0 7px #ffc45d40)}
.reviews-bottom{margin-top:25px}.reviews-bottom p{font-size:9px}.reviews-bottom .button{padding:12px 20px}
.reviews-in .review-stars>span{animation:star-arrive .75s cubic-bezier(.2,.7,.2,1) both,star-fire .8s ease-out both;animation-delay:calc(.15s + var(--i)*.11s),calc(.4s + var(--i)*.11s)}
@keyframes star-fire{0%{filter:drop-shadow(0 0 0 transparent)}40%{filter:drop-shadow(0 0 12px #ffeeb7);color:#fff6d8}100%{filter:drop-shadow(0 0 4px #ffbb55);color:#ffd16c}}
.aggregate-stars>span:last-child{animation-name:star-arrive!important}
.reviews-in .review-card{animation:review-in .65s ease-out both}.reviews-in .review-card:nth-child(2){animation-delay:.12s}.reviews-in .review-card:nth-child(3){animation-delay:.24s}
@keyframes review-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.social-portfolio{padding-top:38px;padding-bottom:38px}.social-portfolio h2{font-size:38px;margin:15px 0}.social-portfolio p{font-size:13px}.facebook-link{padding:22px 28px}
.title-fill{opacity:1}.title-stroke{opacity:1}.weld-complete .title-fill{mask:none}.weld-complete .title-stroke{stroke-dashoffset:0}
@media(max-width:1050px){.compact-range{gap:25px 20px}.compact-range h3{font-size:24px}.rating-card{padding:22px;gap:3px 14px}.rating-card .review-stars{font-size:24px}.rating-number{font-size:58px}.reviews-top{gap:26px}.real-section .project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-card figure{aspect-ratio:1.35}.compact-range .catalog-copy>p{min-height:92px}.compact-feature{gap:4%}.review-five{margin-left:40px}}
@media(max-width:760px){.section{padding-top:43px;padding-bottom:43px}.compact-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.compact-range h3{font-size:23px}.compact-range .catalog-copy>p{font-size:12px;min-height:84px}.compact-feature{grid-template-columns:1fr;gap:15px;padding-top:30px;padding-bottom:30px}.compact-feature>figure{aspect-ratio:1.7}.compact-feature>div{padding:10px 0}.quality-strip{gap:13px;font-size:10px}.quality-strip span{align-items:flex-start;gap:8px}.reviews-top{grid-template-columns:1fr;gap:23px}.rating-card{max-width:510px}.review-grid{grid-template-columns:1fr}.review-card{min-height:135px;padding:20px}.review-card blockquote{max-width:none;margin-bottom:20px}.review-five{margin-left:auto}.reviews-top h2{font-size:36px}.reviews-bottom{gap:18px}.faq-list{margin-top:25px}.real-section .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 17px}.accessory-offer{grid-template-columns:1fr;gap:23px}.accessory-offer article{display:grid;grid-template-columns:45px 1fr;gap:0 18px}.accessory-number{grid-row:1/4;font-size:39px}.accessory-offer h3{margin:0 0 12px;font-size:25px}.accessory-offer .catalog-details{grid-column:2}.collection-links{justify-content:flex-start;font-size:12px;gap:8px 24px}.collection-links>span{width:100%}.contact-card{margin-top:25px}.contact h2{font-size:34px}.contact-details{gap:30px}.table-story{height:auto}.story-pin,.reduced .story-pin{height:680px;min-height:0;position:relative}.story-image{object-fit:contain!important}.story-images{inset:70px 0 0}.story-caption{bottom:30px}.story-caption p{font-size:12px}.story-caption h2{font-size:32px}.story-top .section-label{display:none}.story-top{top:18px}.story-images:after{inset:46% 0 0}.story-tabs button{min-height:44px}.entry{padding-top:32px}.entry-heading h1{font-size:42px}.entry-contact{margin-top:25px}.entry-card-copy{min-height:0}.entry-card h2{font-size:27px}}
@media(max-width:520px){.category-banner{min-height:540px}.banner-copy{padding:55px 22px 68px}.banner-copy>p{font-size:12px}.banner-copy h1{margin-bottom:20px}.category-tags{padding:15px 10px;gap:10px 15px}.compact-range{grid-template-columns:1fr;gap:28px}.compact-range .catalog-copy>p{min-height:0;font-size:13px}.compact-range h3{font-size:26px}.compact-range .catalog-copy{padding-top:16px}.quality-strip{grid-template-columns:1fr;gap:12px;padding:16px 0;font-size:11px}.compact-range .visual-open{font-size:10px}.compact-range .visual-figure{aspect-ratio:1.5}.section-top{margin-bottom:25px}.section-top>p{margin-top:20px}.section h2,.compact-feature h2{font-size:33px}.rating-card{gap:3px 15px;padding:22px 19px}.rating-number{font-size:58px}.rating-card .review-stars{font-size:23px;gap:4px}.rating-count{font-size:10px}.rating-card .google-word{font-size:29px}.reviews-bottom .button{width:100%;font-size:11px}.reviews-bottom{align-items:flex-start;flex-direction:column}.reviews-section .review-card blockquote{font-size:15px}.review-author{gap:8px}.review-author strong{font-size:10px}.review-five{font-size:10px}.real-section .project h3{font-size:17px}.real-section .project-meta{font-size:7px}.real-section .project-grid:has(>.project:only-child){grid-template-columns:1fr}.story-pin,.reduced .story-pin{height:600px}.story-image{object-position:center 25%}.story-caption p{max-width:34ch}.entry-grid{gap:26px}.social-portfolio{gap:24px}.facebook-link{padding:19px 22px}.phone{font-size:34px}}
@media(prefers-reduced-motion:reduce){.reviews-in .review-card,.reviews-in .review-stars>span{animation:none!important}}
body.reduced .reviews-in .review-card,body.reduced .reviews-in .review-stars>span{animation:none!important}
@media(max-width:760px){.accessory-offer article{display:block}.story-top>.eyebrow{display:none}}
