@font-face{font-family:Poppins;src:url('fonts/Poppins-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('fonts/Poppins-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('fonts/Poppins-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#252d34;--muted:#586570;--blue:#6295c9;--blue-text:#315c86;--pale:#edf4fa;--gold:#d8ab4b;--green:#147c48;--line:#d9e2e9;--pad:clamp(20px,4.7vw,72px);--radius:12px;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.7;background:#fff}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}img{display:block;max-width:100%}p{color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue-text);outline-offset:4px}.wrap{max-width:var(--max);padding-inline:var(--pad);margin-inline:auto}.prototype{display:flex;justify-content:space-between;padding:6px var(--pad);font-size:10px;letter-spacing:1px;background:#f3f6f8;color:#586570}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:18px}.brand{flex-shrink:0}.brand img{width:178px;height:auto}.header nav{display:flex;align-items:center;gap:28px;font-size:14px}.header nav>a{padding-block:12px}.header nav>a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:50px;border:1px solid transparent;border-radius:6px;padding:12px 22px;font-size:15px;font-weight:600;line-height:1.5;transition:transform .2s,background-color .2s,box-shadow .2s}.button:not(:disabled):not([aria-disabled=true]):hover{transform:translateY(-2px);box-shadow:0 4px 14px #25394a14}.button span{transition:transform .2s}.button:hover span{transform:translate(2px,-2px)}.gold{background:var(--gold);color:#252718}.gold:not(:disabled):hover{background:#e4bd68}.whatsapp{background:var(--green);color:#fff}.whatsapp:not([aria-disabled=true]):not(:disabled):hover{background:#10663b}.whatsapp[aria-disabled=true],.whatsapp:disabled{background:#e5efe9;color:#3f5a49;border-color:#c4d8cc}.outline{border-color:#b0c3d3;background:white;color:var(--blue-text)}.hero{background:linear-gradient(110deg,#f5f8fb,#eaf2f9);border-block:1px solid #e1eaf2}.hero-grid{display:grid;grid-template-columns:1.32fr 1fr;align-items:center;gap:clamp(28px,4vw,60px);padding-block:38px}.eyebrow{color:var(--blue-text);font-size:11px;letter-spacing:1.8px;font-weight:600;margin-bottom:14px}h1{font-size:clamp(32px,3.2vw,48px);letter-spacing:-1.5px;line-height:1.19}h1 span{color:var(--blue-text)}.hero-copy{font-size:16px;line-height:1.8;margin-top:20px;max-width:650px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.availability{font-size:11px;margin-top:10px;max-width:500px}.work-link{display:inline-flex;gap:18px;font-size:13px;color:var(--blue-text);padding-block:12px;text-decoration:underline;text-underline-offset:5px}.image-slot{position:relative;aspect-ratio:16/10;background:linear-gradient(140deg,#e6eef4,#d6e2ec);border:1px solid #c4d4e0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:#405c72}.image-slot:before{content:'';position:absolute;inset:12px;border:1px dashed #a9bfce;border-radius:4px;pointer-events:none}.slot-label{font-size:10px;letter-spacing:1.6px;font-weight:600}.slot-title{font-size:17px;max-width:290px;line-height:1.5}.slot-foot{font-size:10px;color:#586d7e}.hero-photo{aspect-ratio:5/4;border-radius:var(--radius);max-height:390px;width:100%}.image-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.section{padding-block:64px}.section-head{margin-bottom:30px;max-width:800px}h2{font-size:clamp(28px,2.65vw,38px);letter-spacing:-.8px}.section-head>p:last-child:not(.eyebrow){margin-top:12px}.services{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.service-card{grid-column:span 3;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column}.service-card:nth-child(n+5){grid-column:span 4}.service-card .image-slot{aspect-ratio:4/3;border:0;border-bottom:1px solid var(--line)}.service-card:nth-child(n+5) .image-slot{aspect-ratio:16/9}.service-card .slot-title{font-size:14px}.card-body{padding:22px;display:flex;flex-direction:column;flex:1}.card-body h3{font-size:19px;line-height:1.4;letter-spacing:-.3px}.card-body p{font-size:14px;margin-top:10px}.service-enquiry{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-weight:600;font-size:12px;border:0;border-top:1px solid var(--line);padding:14px 0 0;margin-top:auto;background:none;color:var(--blue-text);min-height:48px}.service-card .card-body p{margin-bottom:18px}.portfolio{background:#f3f6f8}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.project-image{aspect-ratio:4/3;border:0;transition:background .3s}.project-image>span,.project-image img{transition:transform .3s}.project-card:hover .project-image>span,.project-card:hover .project-image img{transform:scale(1.03)}.project-type{color:var(--blue-text);font-weight:600;font-size:12px!important}.editor-note{margin-top:22px;font-size:12px}.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.strengths article{border-top:2px solid var(--blue);padding-top:22px}.strength-icon{width:44px;height:44px;display:grid;place-items:center;background:var(--pale);color:var(--blue-text);font-size:25px;border-radius:8px;margin-bottom:18px}.strengths h3{font-size:21px}.strengths p{font-size:16px;margin-top:12px}.contact{background:var(--pale);border-block:1px solid #dbe6ee}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.contact h2{max-width:600px}.contact p:not(.eyebrow){margin-top:18px;max-width:610px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-actions .outline,.email-address{grid-column:1/-1}.email-address{text-align:center;font-size:14px;color:var(--blue-text);overflow-wrap:anywhere}.footer{padding-top:38px;padding-bottom:90px}.footer-top{display:flex;gap:50px;align-items:center;justify-content:space-between;padding-bottom:30px}.footer-top p,.footer-top a:not(.brand){font-size:13px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px}.footer-top nav a{padding-block:8px}.footer-top>div>a{color:var(--blue-text)}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:16px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:3;font-size:12px;box-shadow:0 3px 16px #2435421a}.mobile-contact{display:none}.menu-toggle{min-height:44px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:8px 14px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:20}.skip:focus{top:12px}dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:28px;border:0;border-radius:14px;box-shadow:0 24px 100px #10233440;color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#16273699;backdrop-filter:blur(3px)}body.modal-open{overflow:hidden}.dialog-header{display:flex;align-items:start;justify-content:space-between;gap:15px}.dialog-header h2{font-size:28px}.dialog-header .eyebrow{font-size:10px}.close-dialog{border:1px solid var(--line);background:#f3f6f8;border-radius:50%;min-width:44px;height:44px;font-size:28px;line-height:1}#quote-description{font-size:13px;margin:16px 0 22px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}label small{font-size:11px;font-weight:400;color:var(--muted)}label>span{color:#974400}input,select,textarea{display:block;width:100%;min-width:0;min-height:46px;border:1px solid #aebec9;border-radius:5px;background:#fff;color:var(--ink);padding:10px 12px;margin-top:6px;font-size:16px;font-weight:400}textarea{resize:vertical}.send-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.send-actions .button{flex:1;font-size:13px;white-space:nowrap}.form-note{font-size:11px;margin:10px 0}.form-note a{color:var(--blue-text)}#form-status,#copy-status{font-size:13px;margin-top:14px}#quote-result{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.noscript-notice{padding:20px;background:#fff5d8}.hero-content h1{animation:enter .5s both}.hero-copy{animation:enter .5s .08s both}.hero-content .actions{animation:enter .5s .16s both}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;transition-delay:var(--delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.header nav{gap:18px}.brand img{width:155px}.services{grid-template-columns:repeat(6,1fr)}.service-card,.service-card:nth-child(n+5){grid-column:span 2}.service-card:nth-child(n+5) .image-slot{aspect-ratio:4/3}.service-card:last-child{grid-column:span 6;display:grid;grid-template-columns:1fr 1fr}.service-card:last-child .image-slot{aspect-ratio:16/9}.hero-grid{grid-template-columns:1.3fr 1fr;gap:24px}.hero-photo{aspect-ratio:4/5}.contact-grid{gap:30px}.footer-top{gap:25px}.project-card .slot-title{font-size:14px}}
@media(max-width:850px){.header{flex-wrap:wrap;padding-block:14px}.menu-toggle:not([hidden]){display:block}.header nav{flex-direction:column;align-items:stretch;width:100%;gap:2px;padding-top:16px}.header nav[hidden]{display:none}.header nav>a{min-height:46px}.hero-grid{grid-template-columns:1.25fr 1fr;padding-block:30px}.hero-copy{font-size:16px}.hero-photo{aspect-ratio:3/5}.availability{font-size:11px}.services{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(n+5){grid-column:auto}.service-card:last-child{grid-column:1/-1}.project-grid{gap:16px}.project-card .card-body{padding:16px}.project-card h3{font-size:17px}.project-card .slot-foot{display:none}.strengths{gap:22px}.strengths h3{font-size:19px}.contact-grid{grid-template-columns:1fr}.contact-actions{max-width:600px}.footer-top{flex-wrap:wrap}.footer-top nav{margin-left:auto}}
@media(max-width:600px){body{font-size:16px}.prototype{font-size:8px}.prototype span{letter-spacing:0}.brand img{width:150px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:34px;letter-spacing:-1px}.hero-photo{aspect-ratio:16/10;max-height:none}.hero-copy{font-size:16px}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero .button{font-size:14px;padding:12px 10px;gap:10px}.availability{font-size:12px}.section{padding-block:44px}.section-head{margin-bottom:24px}.section-head p:not(.eyebrow){font-size:16px}.services,.project-grid,.strengths{grid-template-columns:1fr;gap:22px}.service-card:last-child{grid-column:auto;display:flex}.service-card .image-slot,.service-card:last-child .image-slot,.service-card:nth-child(n+5) .image-slot{aspect-ratio:16/10}.card-body{padding:22px}.card-body h3{font-size:21px}.card-body p,.project-type{font-size:16px!important}.service-enquiry{font-size:16px;min-height:48px}.slot-title,.service-card .slot-title,.project-card .slot-title{font-size:17px}.slot-foot{font-size:11px}.project-card .slot-foot{display:block}.project-card .card-body{padding:22px}.project-card h3{font-size:21px}.project-image{aspect-ratio:16/10}.editor-note{font-size:13px}.strengths article{padding-top:18px}.strengths h3{font-size:21px}.strengths p{font-size:16px}.contact-actions .button{font-size:14px;padding-inline:10px;gap:10px}.email-address{font-size:16px}.footer{padding-bottom:110px}.footer-top{align-items:start;gap:24px}.footer-top>div{width:100%}.footer-top p,.footer-top a:not(.brand){font-size:16px}.footer-top nav{margin-left:0;width:100%;gap:8px 24px}.footer-bottom{flex-wrap:wrap;font-size:12px}.footer-bottom>span:nth-child(2){display:none}.floating-whatsapp{display:none}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;z-index:5}.mobile-contact .button{font-size:14px;padding:10px 8px;min-height:50px}.mobile-contact .whatsapp{flex-direction:column;gap:0;line-height:1.3}.mobile-contact small{font-size:10px;font-weight:400}html{scroll-padding-bottom:100px}dialog{padding:20px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.field-pair{grid-template-columns:1fr}.send-actions{flex-direction:column}.send-actions .button{font-size:16px}label{font-size:16px}label small{font-size:12px}#quote-description{font-size:14px}.form-note{font-size:12px}.modal-open .mobile-contact{visibility:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}
/* Keep the close control available while the mobile quotation form scrolls. */
.dialog-header{position:sticky;top:0;background:#fff;z-index:2;padding-block:8px;border-bottom:1px solid var(--line)}
/* Eleven services: balanced 4 / 4 / 3 grid; existing responsive card styling retained. */
.services .service-card{grid-column:span 3;display:flex;flex-direction:column}
.services .service-card:nth-child(n+9){grid-column:span 4}
.services .service-card .image-slot{aspect-ratio:4/3}
.project-enquiry{margin:0 22px 22px;width:calc(100% - 44px);font-size:13px}
.client-strip{padding-block:26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:30px}
.client-strip h2{font-size:20px;letter-spacing:-.3px}.client-strip .eyebrow{margin-bottom:6px}.client-strip p:not(.eyebrow){font-size:12px;margin-top:6px}
.client-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.client-slots span{border:1px dashed #bdcbd6;border-radius:6px;padding:20px 10px;text-align:center;color:var(--muted);font-size:11px;background:#f8fafc}
.reviews{background:#f7f9fb}.review-placeholder{max-width:800px;border:1px dashed #b9cbd9;border-radius:var(--radius);padding:26px;background:white}.review-placeholder h3{font-size:21px}.review-placeholder p{margin-top:12px;font-size:16px}
.footer-top{flex-wrap:wrap;align-items:start}.footer-contact{display:flex;flex-direction:column;gap:10px}.footer-contact a{min-height:30px;overflow-wrap:anywhere}.footer-contact a:hover{color:var(--blue-text)}
@media(max-width:1100px){.services .service-card{grid-column:span 2}.services .service-card:nth-child(n+9){grid-column:span 2}.services .service-card:nth-last-child(-n+2){grid-column:span 3}}
@media(max-width:850px){.services .service-card,.services .service-card:nth-child(n+9),.services .service-card:nth-last-child(-n+2){grid-column:auto}.services .service-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.client-strip{grid-template-columns:1fr}.client-slots{gap:10px}.footer-contact{width:100%}}
@media(max-width:600px){.services .service-card:last-child{grid-column:auto;display:flex}.services .service-card .image-slot{aspect-ratio:16/10}.client-slots{grid-template-columns:1fr 1fr}.project-enquiry{font-size:16px}.footer-contact a{min-height:44px;display:flex;align-items:center}.client-strip p:not(.eyebrow){font-size:16px}.client-slots span{font-size:12px}}
/* Multi-page extension: shared components retain the approved design tokens. */
[hidden]{display:none!important}
.header nav{gap:18px;font-size:12px}.header nav .button{font-size:13px;gap:16px;padding-inline:18px}
.header nav [aria-current=page]{color:var(--blue-text);text-decoration:underline;text-underline-offset:7px}
.header nav>a{transition:color .2s}.header nav>a:hover{color:var(--blue-text)}
.page-hero{background:var(--pale);border-block:1px solid var(--line);padding-block:36px 45px}.page-hero h1{font-size:clamp(32px,3.4vw,50px);max-width:1050px}.page-intro{max-width:900px;margin-top:20px;font-size:17px;line-height:1.8}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:26px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.content-split{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}.content-split h2{font-size:29px;margin-bottom:18px}.content-split h2:not(:first-child){margin-top:30px}.content-split p{margin-bottom:18px}.content-split li{margin-block:12px}.content-split ul{padding-left:22px}.pale{background:#f4f7fa}
.service-detail-photo{aspect-ratio:4/3;position:sticky;top:24px;border-radius:var(--radius)}.service-page-link{display:inline-flex;gap:14px;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--blue-text);margin-block:14px}.service-page-link:hover{text-decoration:underline;text-underline-offset:5px}.service-card .button{font-size:13px;padding:11px 14px;gap:12px;margin-top:auto;white-space:normal}.service-card .card-body h3 a:hover{color:var(--blue-text)}.service-card .card-body{min-width:0}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:30px}.detail-gallery .image-slot{aspect-ratio:16/10;border-radius:var(--radius)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.related-link{display:flex;justify-content:space-between;gap:16px;padding:24px;background:var(--pale);border:1px solid var(--line);border-radius:var(--radius);font-weight:600;font-size:16px}.related-link:hover{border-color:var(--blue);color:var(--blue-text)}
.faq{max-width:1100px}.faq details{border-top:1px solid var(--line);padding-block:18px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:30px;font-weight:600;padding-right:14px}.faq details p{margin-top:14px;padding-left:5px;max-width:850px}
.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:24px;list-style:decimal}.workflow h3{font-size:21px;margin-bottom:14px}.workflow p{font-size:16px}.workflow li{padding-left:5px}
.rating-summary{display:grid;grid-template-columns:220px 1fr;gap:45px;align-items:center;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-bottom:28px}.rating-summary h2{font-size:30px;margin-bottom:12px}.rating-score{font-size:64px;font-weight:600;line-height:1.1;display:block}.rating-score small{font-size:22px;color:var(--muted)}.stars{display:block;color:#9b6500;letter-spacing:4px;font-size:25px;margin-top:10px}.rating-date{font-size:12px;max-width:600px;margin-top:10px}.rating-summary .button{margin-top:20px}.reviews>.wrap>.button{margin-top:22px}
.carousel{min-width:0}.carousel-track{position:relative;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;overscroll-behavior-inline:contain}.carousel-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}.carousel-controls{display:flex;align-items:center;gap:12px;margin-top:10px}.carousel-controls button{min-width:44px;min-height:44px;border:1px solid #9ab1c5;border-radius:6px;background:#fff;color:var(--blue-text);padding:8px 12px;font-size:16px}.carousel-controls [data-carousel-status]{font-size:12px;color:var(--muted)}.carousel-controls [data-carousel-pause]{font-size:12px;margin-left:auto}.client-strip{grid-template-columns:1fr 1.65fr}.client-strip h2{font-size:24px;line-height:1.3}.client-strip .carousel-slide{flex-basis:calc((100% - 36px)/3)}.client-logo-slot{display:grid;place-items:center;min-height:95px;padding:16px;border:1px dashed #acbecc;border-radius:8px;color:var(--muted);font-size:12px;text-align:center;background:#f8fafc}.review-info{padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:225px}.review-info h3{font-size:22px}.review-info p{margin-block:15px;max-width:850px}.review-info .button{font-size:14px}
.footer-business{display:grid;grid-template-columns:180px 1.2fr 1fr;gap:45px;align-items:start;margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--line)}.footer-business h2{font-size:18px;margin-bottom:14px;letter-spacing:0}.footer-business address{font-style:normal;color:var(--muted);font-size:14px;margin-bottom:16px;line-height:1.8}.footer-business .button{font-size:12px;padding:10px 14px}.hours{margin:0}.hours>div{display:grid;grid-template-columns:1fr 1.2fr;gap:15px;margin-bottom:9px;font-size:14px}.hours dt{font-weight:600}.hours dd{margin:0;color:var(--muted)}.hours small{display:block;font-size:11px}.footer-top{display:grid;grid-template-columns:1fr .7fr 1.2fr;gap:30px;align-items:start}.footer-top nav{margin:0}.footer-top .footer-services{grid-template-columns:1fr 1fr;gap:4px 24px}.footer-contact .button{font-size:13px;align-self:start;padding:10px 16px;min-height:44px}.privacy-open{background:none;border:0;text-align:left;padding:10px 0;color:var(--blue-text);text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-details h2{font-size:28px;margin-bottom:20px}.contact-details h2:not(:first-child){margin-top:35px}.contact-details address{font-style:normal;font-size:18px;max-width:540px;margin-bottom:22px}.contact-route-list{display:flex;flex-direction:column;gap:14px;align-items:stretch}.contact-details .hours{max-width:500px}.legal-note{margin-top:28px;font-size:14px}.prose{max-width:1050px}.prose h2{font-size:26px;margin:32px 0 16px}.prose h2:first-child{margin-top:0}.prose p{margin-bottom:20px}.prose a{color:var(--blue-text);text-decoration:underline;text-underline-offset:3px}.checkbox-label{display:flex;gap:14px;align-items:center;margin-block:25px}.checkbox-label input{width:22px;height:22px;min-height:22px;margin:0;flex-shrink:0}#privacy-dialog p{font-size:15px;margin-top:18px}#privacy-dialog h2{font-size:28px}#privacy-dialog .actions{margin-bottom:25px}
.filter-label{max-width:600px;font-size:16px}.portfolio-grid{margin-top:30px}.portfolio-grid .card-body h2{font-size:21px;letter-spacing:-.3px}.portfolio-grid .button{font-size:12px;white-space:normal;padding:12px 15px}.portfolio-grid .image-slot{border:0}.detail-record{max-width:900px}.detail-record h2{margin-bottom:25px}.detail-record dt{font-weight:600;margin-top:18px}.detail-record dd{margin:8px 0 20px;color:var(--muted)}
@media(max-width:1100px){.header{flex-wrap:wrap}.menu-toggle:not([hidden]){display:block}.header nav{flex-direction:column;align-items:stretch;width:100%;gap:2px;padding-top:16px;font-size:16px}.header nav>a{min-height:44px}.content-split{gap:35px}.footer-business{grid-template-columns:160px 1fr}.footer-business>div:last-child{grid-column:2}.footer-top{grid-template-columns:1fr 1fr}.footer-top .footer-services{grid-column:1/-1}.contact-details{gap:40px}}
@media(max-width:850px){.content-split,.contact-details{grid-template-columns:1fr}.service-detail-photo{position:static;width:100%;max-height:380px}.client-strip{grid-template-columns:1fr}.rating-summary{grid-template-columns:160px 1fr;gap:25px;padding:25px}.related-grid{grid-template-columns:1fr}.workflow{grid-template-columns:1fr;gap:24px}.portfolio-grid{grid-template-columns:1fr 1fr}.detail-gallery{gap:18px}.page-intro{font-size:16px}.footer-business{gap:25px}.carousel-controls{flex-wrap:wrap}}
@media(max-width:600px){.page-hero{padding-block:24px 32px}.page-hero h1{font-size:34px}.page-hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.page-hero .button{font-size:14px;padding-inline:10px;gap:10px}.breadcrumbs{font-size:11px;gap:8px}.content-split h2{font-size:26px}.service-card .button{font-size:16px}.service-page-link{font-size:16px}.rating-summary{grid-template-columns:1fr;gap:24px}.rating-summary h2{font-size:27px}.rating-date{font-size:13px}.carousel-controls [data-carousel-pause]{margin-left:0}.client-strip .carousel-slide{flex-basis:calc((100% - 18px)/2)}.review-info{padding:22px;min-height:300px}.detail-gallery,.portfolio-grid{grid-template-columns:1fr}.footer-business{grid-template-columns:1fr}.footer-business>div:last-child{grid-column:auto}.footer-business address{font-size:16px}.footer-business .button{font-size:16px}.hours>div{font-size:16px}.hours small{font-size:12px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-top .footer-services{grid-column:auto;grid-template-columns:1fr}.footer-top nav{gap:8px 20px}.footer-contact .button{font-size:16px}.contact-details address{font-size:16px}.contact-route-list .button{font-size:14px;padding-inline:10px;gap:10px}.footer-bottom{font-size:12px}.privacy-open{font-size:16px}.faq summary{font-size:16px;min-height:44px}.faq details p{font-size:16px}.prose h2{font-size:24px}.prose p{font-size:16px}.portfolio-grid .button{font-size:15px}}
.footer .footer-contact a.button.whatsapp{color:#fff}
.client-logo-slot img{width:100%;height:72px;object-fit:contain}
@media(max-width:600px){.mobile-contact .whatsapp{flex-direction:row;gap:12px;line-height:1.5}}
/* UI UX Pro Max refinement — preserve brand, improve density and hierarchy. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--section-space:clamp(40px,4vw,56px);--card-radius:12px;--motion-fast:180ms;--motion-reveal:450ms;--shadow-card:0 8px 24px #24384c0b}
.section{padding-block:var(--section-space)}
h1,h2,h3{text-wrap:balance}h1{line-height:1.16}h2{line-height:1.22}.section-head{margin-bottom:var(--space-6);max-width:850px}
.eyebrow{font-size:12px;letter-spacing:1.4px}.hero-grid{grid-template-columns:1.2fr 1fr;gap:44px;padding-block:30px}.hero h1{font-size:clamp(32px,3.1vw,46px);letter-spacing:-1.4px}.hero-copy{margin-top:18px;line-height:1.7;max-width:620px}.hero-content .actions{margin-top:22px}.hero-photo{aspect-ratio:16/11;max-height:330px}.hero .availability{font-size:12px;line-height:1.55}.hero .work-link{font-size:14px;padding-block:12px}
.hero-strengths{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto;padding-block:16px;border-top:1px solid #cbdbe7}.hero-strengths li{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--blue-text);font-size:14px;font-weight:600;line-height:1.4}.hero-strengths svg{width:26px;height:26px;flex-shrink:0}
.services{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.services .service-card:nth-child(n){grid-column:auto;display:flex;flex-direction:column;border-radius:var(--card-radius);box-shadow:0 2px 8px #24384c04;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}
.services .service-card:nth-child(n):hover{border-color:#9cb8cf;box-shadow:var(--shadow-card);transform:translateY(-2px)}
.services .service-card .image-slot{aspect-ratio:16/9;padding:22px}
.services .service-card .card-body{padding:22px;gap:0}.services .service-card h3{font-size:21px;line-height:1.35;min-height:2.7em;letter-spacing:-.3px;text-wrap:pretty}.services .service-card p{font-size:16px;line-height:1.65;margin:12px 0 20px}
.service-card-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;margin-top:auto}
.service-card-actions .service-page-link,.service-card-actions .button{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #afc4d5;border-radius:6px;font-size:14px;font-weight:600;line-height:1.45;min-height:48px;padding:11px 10px;margin:0;text-align:center;white-space:normal;transition:background-color var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}
.service-card-actions .service-page-link{background:#fff;color:var(--blue-text)}.service-card-actions .service-page-link:hover{background:var(--pale);text-decoration:none}.service-card-actions .whatsapp{border-color:var(--green)}
.slot-label{font-size:12px;letter-spacing:1.2px}.slot-foot{font-size:12px;line-height:1.55}.slot-title,.service-card .slot-title{font-size:16px}.project-card .image-slot,.project-card .project-image{aspect-ratio:16/10}.project-card .card-body{padding:22px}.project-card .card-body h2,.project-card .card-body h3{font-size:21px}.project-enquiry{min-height:48px;font-size:14px;padding-block:12px}
.page-hero{padding-block:28px 36px}.page-hero .page-intro{max-width:820px;line-height:1.75}.breadcrumbs{margin-bottom:22px;line-height:1.6}.content-split{gap:44px}.content-split p{max-width:65ch;line-height:1.75}.detail-gallery{margin-block:24px}.detail-gallery .image-slot{aspect-ratio:16/9}.service-detail-photo{max-height:340px}.faq details{padding-block:14px}.faq summary{min-height:44px;display:list-item;align-content:center}.rating-summary{padding:28px;gap:32px;margin-bottom:22px}.review-info{min-height:210px;padding:24px}.client-strip{padding-block:22px}.client-strip h2{font-size:24px}.client-strip p:not(.eyebrow){font-size:13px}.client-logo-slot{min-height:84px;font-size:13px}
.button:active,.service-page-link:active{box-shadow:none;filter:brightness(.97)}.button,.service-page-link,summary,.menu-toggle{touch-action:manipulation}
a,button,input,select,textarea,summary{scroll-margin-block:20px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue-text);outline-offset:4px}
#quote-dialog{scroll-padding-top:112px;scroll-padding-bottom:24px}#quote-dialog input,#quote-dialog select,#quote-dialog textarea{scroll-margin-top:125px;scroll-margin-bottom:24px}.field-error{display:block;color:#9b2c2c;font-weight:400;font-size:13px;line-height:1.5;margin-top:7px}.field-error:empty{display:none}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#9b2c2c;background:#fffafa}
@media(max-width:1100px){.hero-grid{gap:28px;grid-template-columns:1.2fr 1fr}.hero-photo{aspect-ratio:4/5}.service-card-actions{grid-template-columns:1fr}.services .service-card h3{font-size:20px}.services .service-card .card-body{padding:20px}}
@media(max-width:850px){.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hero-grid{grid-template-columns:1.2fr 1fr;gap:24px}.hero-strengths{gap:16px}.hero-strengths li{font-size:13px;gap:8px}.hero-strengths svg{width:24px;height:24px}.content-split{gap:28px}.service-detail-photo{max-height:300px}.services .service-card h3{min-height:0}.rating-summary{gap:24px}.service-card-actions .button,.service-card-actions .service-page-link{font-size:15px}}
@media(max-width:600px){.hero-grid{grid-template-columns:1fr;padding-block:26px;gap:24px}.hero h1{font-size:34px;line-height:1.16;letter-spacing:-1px}.hero-copy{font-size:16px;line-height:1.7}.hero-photo{aspect-ratio:16/9;max-height:230px}.hero-strengths{gap:10px;padding-block:16px}.hero-strengths li{flex-direction:column;text-align:center;gap:8px;font-size:13px;line-height:1.45}.hero-strengths li span{max-width:120px;text-wrap:balance}.services{grid-template-columns:minmax(0,1fr);gap:20px}.services .service-card .image-slot{aspect-ratio:16/9}.services .service-card .card-body{padding:20px}.services .service-card h3{font-size:22px}.services .service-card p{font-size:16px;margin:12px 0 18px}.service-card-actions{grid-template-columns:1fr 1fr}.service-card-actions .button,.service-card-actions .service-page-link{font-size:14px;min-height:48px}.project-card .card-body h2,.project-card .card-body h3{font-size:21px}.project-card .card-body p{font-size:16px}.project-enquiry{font-size:16px}.page-hero{padding-block:22px 30px}.page-hero h1{font-size:32px}.breadcrumbs{margin-bottom:18px}.slot-foot{font-size:12px}.slot-label{font-size:12px}.slot-title,.service-card .slot-title,.project-card .slot-title{font-size:16px}.client-strip p:not(.eyebrow){font-size:14px}.rating-summary{padding:22px}.rating-date{font-size:13px}.review-info{min-height:0;padding:22px}.review-info h3{font-size:21px}.review-info p{font-size:16px}.field-error{font-size:14px}html{scroll-padding-bottom:120px}.mobile-contact{gap:10px}.mobile-contact .button{min-height:50px}}
@media(max-width:360px){.service-card-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.services .service-card:nth-child(n):hover,.button:hover{transform:none}.carousel-controls [data-carousel-pause]{display:none}}
.services .service-card h3 a{display:block;min-height:44px}
/* Accessible hidden skip link stays clipped until keyboard focus, including full-page captures. */
.skip{top:12px;left:20px;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
.skip:focus{clip-path:none;width:auto;height:auto;overflow:visible;white-space:normal;padding:12px}
.slot-foot{color:#405c72}input,select,textarea{border-color:#748a9c}
/* Homepage first impression: three umbrellas, clear enquiry routes, no new visual system. */
.button-icon{width:20px;height:20px;flex:0 0 20px;display:block}.button:hover .cta-label{transform:none}.whatsapp{gap:10px}.floating-whatsapp .button-icon{width:22px;height:22px;flex-basis:22px}.floating-whatsapp{gap:10px}
.first-impression .hero-grid{grid-template-columns:1fr 1.05fr;gap:48px;padding-block:38px}.first-impression h1{font-size:clamp(38px,4.1vw,58px);line-height:1.1;letter-spacing:-1.8px;text-wrap:balance}.first-impression .hero-copy{font-size:17px;line-height:1.7;margin-top:22px;max-width:590px}.first-impression .hero-photo{aspect-ratio:5/4;max-height:none;min-height:380px;border-radius:var(--card-radius)}
.first-impression .hero-strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;margin:24px 0 18px;padding:0;max-width:620px}.first-impression .hero-strengths li{justify-content:start;gap:9px;font-size:13px;line-height:1.45;align-items:center}.first-impression .hero-strengths svg{width:24px;height:24px;flex-basis:24px}.first-impression .hero-rush-note{font-size:13px;line-height:1.65;max-width:570px;margin-bottom:8px;color:var(--muted)}.first-impression .work-link{min-height:44px;font-weight:600}
.umbrella-services{grid-template-columns:repeat(3,minmax(0,1fr))}.umbrella-services .umbrella-card .card-body{padding:22px}.umbrella-services .umbrella-card h3{min-height:2.7em;font-size:22px;line-height:1.35;margin:0}.umbrella-list{list-style:none;margin:14px 0 0;padding:0}.umbrella-list li{border-top:1px solid var(--line)}.umbrella-list a{display:block;padding:12px 0;min-height:48px;font-size:16px;line-height:1.5;color:var(--blue-text);transition:color var(--motion-fast),background var(--motion-fast)}.umbrella-list a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.umbrella-services .image-slot{aspect-ratio:16/10}
.urgent-enquiry{margin-top:20px;padding-top:16px;border-top:1px solid #c5d7e5;max-width:620px}.contact .urgent-enquiry>p:first-child{font-size:14px;margin:0}.urgent-quote-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;background:transparent;color:var(--blue-text);border:0;padding:8px 0;font-weight:600;font-size:15px;text-align:left;text-decoration:underline;text-underline-offset:4px;line-height:1.5}.urgent-quote-link:hover{color:var(--ink)}.contact .urgent-enquiry .rush-terms{font-size:13px;line-height:1.65;margin-top:6px}.rush-form-note{background:var(--pale);padding:12px;border-radius:6px;margin-bottom:18px}
body[data-page-path="/"] .portfolio .card-body{padding-bottom:16px}body[data-page-path="/"] .portfolio .card-body p:not(.project-type){font-size:13px;line-height:1.65}body[data-page-path="/"] .reviews .rating-summary{margin-bottom:16px}body[data-page-path="/"] .reviews>.wrap>.button{margin-top:0}
@media(max-width:1100px){.first-impression .hero-grid{gap:30px}.first-impression h1{font-size:46px}.first-impression .hero-photo{min-height:360px}.first-impression .hero-strengths li{flex-direction:column;align-items:start;gap:8px}.umbrella-services .umbrella-card .card-body{padding:20px}.umbrella-services .umbrella-card h3{font-size:20px}}
@media(max-width:850px){.first-impression .hero-grid{grid-template-columns:1.1fr 1fr;gap:24px;padding-block:30px}.first-impression h1{font-size:40px}.first-impression .hero-copy{font-size:16px}.first-impression .hero-photo{aspect-ratio:4/5;min-height:340px}.first-impression .hero-strengths{gap:12px}.first-impression .hero-strengths li{font-size:12px}.umbrella-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.umbrella-services .umbrella-card .card-body{padding:18px}.umbrella-services .umbrella-card h3{font-size:19px}.umbrella-list a{font-size:15px}.umbrella-services .slot-foot{display:none}}
@media(max-width:680px){.umbrella-services{grid-template-columns:minmax(0,1fr)}.umbrella-services .umbrella-card h3{font-size:23px;min-height:0}.umbrella-services .umbrella-card .card-body{padding:22px}.umbrella-list a{font-size:16px}.umbrella-services .slot-foot{display:block}}
@media(max-width:600px){.first-impression .hero-grid{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:28px}.first-impression h1{font-size:clamp(36px,9.9vw,42px);letter-spacing:-1.25px}.first-impression .hero-copy{margin-top:18px;font-size:16px;line-height:1.7}.first-impression .hero-photo{aspect-ratio:16/11;min-height:0;max-height:none}.first-impression .hero-strengths{margin-block:22px 16px;gap:12px}.first-impression .hero-strengths li{align-items:start;text-align:left;font-size:13px;max-width:120px}.first-impression .hero-strengths li span{max-width:110px;text-wrap:balance}.first-impression .hero-rush-note{font-size:13px}.first-impression .actions{gap:10px}.first-impression .actions .button{font-size:14px;gap:8px;padding:12px 9px;min-width:0}.first-impression .actions .button-icon{width:18px;height:18px;flex-basis:18px}.mobile-contact .whatsapp .cta-label{font-size:14px}.contact .urgent-enquiry>p:first-child{font-size:16px}.urgent-quote-link{font-size:16px}.contact .urgent-enquiry .rush-terms{font-size:13px}body[data-page-path="/"] .portfolio .card-body p:not(.project-type){font-size:14px}}

/* Genuine hero photograph: full composition, intrinsic space and no cropping. */
.first-impression .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:36px}
.first-impression .hero-project-photo{aspect-ratio:4/3;min-height:0;max-height:none;overflow:hidden;background:transparent;border:0;align-self:center}
.hero-project-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:var(--card-radius)}
@media(max-width:850px) and (min-width:601px){.first-impression .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.first-impression .hero-project-photo{aspect-ratio:4/3;min-height:0}}
@media(max-width:600px){.first-impression .hero-grid{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:24px}.first-impression .hero-project-photo{aspect-ratio:4/3;min-height:0}.first-impression .hero-copy{line-height:1.55}.first-impression .hero-strengths{margin-block:18px 8px}.first-impression .work-link{min-height:38px}}

/* Champagne metallic quotation CTAs: static finish, accessible dark lettering. */
.button.gold[data-quote]{color:#14171b;background:linear-gradient(155deg,#fff2ba 0%,#f0ce75 28%,#c9902f 55%,#e7be5f 77%,#ac751f 100%);border-color:#ac751f;box-shadow:inset 0 1px 0 #fff7dbcc,0 3px 8px #593d181f;text-shadow:none;transition:transform .2s ease,box-shadow .2s ease}
.button.gold[data-quote] .cta-label{transform:none}
.button.gold[data-quote] .cta-arrow{flex-shrink:0;font-size:14px;line-height:1}
@media(hover:hover){.button.gold[data-quote]:not(:disabled):not([aria-disabled=true]):hover{background:linear-gradient(155deg,#ffedac 0%,#edc568 28%,#c9902f 55%,#dfb451 77%,#ac751f 100%);transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff7dbb3,0 5px 12px #593d182b}.button.gold[data-quote]:hover span{transform:none}}
.button.gold[data-quote]:active{transform:translateY(0);box-shadow:inset 0 1px 0 #fff7db99,0 2px 5px #593d181f}
@media(max-width:600px){.first-impression .actions .gold[data-quote]{font-size:13px;padding-inline:8px;gap:6px}.mobile-contact .gold[data-quote]{gap:14px}}
@media(prefers-reduced-motion:reduce){.button.gold[data-quote]{transition:none}.button.gold[data-quote]:not(:disabled):not([aria-disabled=true]):hover{transform:none}}

/* Clean WhatsApp CTAs: one surface, original brand icon and restrained depth. */
.button.whatsapp:not(:disabled):not([aria-disabled=true]){background:#25d366;color:#fff;border-color:transparent;border-radius:999px;box-shadow:0 2px 6px #075e541f;gap:10px;font-weight:600;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.button.whatsapp .whatsapp-icon{width:22px;height:22px;flex:0 0 22px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:#fff}
.button.whatsapp .cta-label{background:none;border:0;border-radius:0;padding:0;box-shadow:none;text-shadow:none;transform:none;line-height:1.4}
.button.floating-whatsapp{min-height:56px;min-width:0;width:auto;padding:12px 20px;font-size:14px;gap:10px;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));box-shadow:0 3px 10px #075e5426}
@media(hover:hover){.button.whatsapp:not(:disabled):not([aria-disabled=true]):hover{background:#20c460;transform:translateY(-2px);box-shadow:0 4px 10px #075e5429}.button.whatsapp:hover span{transform:none}}
.button.whatsapp:not(:disabled):not([aria-disabled=true]):active{transform:translateY(0);box-shadow:0 1px 4px #075e541f}
@media(max-width:600px){.first-impression .actions .whatsapp{gap:8px;padding:10px 9px}.first-impression .actions .whatsapp-icon{width:20px;height:20px;flex-basis:20px}.mobile-contact .button.whatsapp{min-height:52px;gap:9px;padding:9px 12px}.mobile-contact .whatsapp-icon{width:22px;height:22px;flex-basis:22px}}
@media(prefers-reduced-motion:reduce){.button.whatsapp{transition:none}.button.whatsapp:not(:disabled):not([aria-disabled=true]):hover{transform:none}}

/* Short quotation modal; optional brief details stay out of the initial path. */
#quote-dialog{max-width:620px}
#quote-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
#quote-dialog #quote-description{margin:14px 0 18px;font-size:15px}
.quote-main-fields label{margin-bottom:12px}
.quote-main-fields textarea{min-height:76px}
.quote-extra{border-block:1px solid var(--line);margin-top:16px}
.quote-extra summary{padding:13px 0;min-height:48px;cursor:pointer;font-size:14px;font-weight:600;color:var(--blue-text)}
.quote-extra-fields{padding:4px 0 12px}
.quote-extra-fields label{margin-bottom:12px}
#quote-form .send-actions{margin-top:18px}
#quote-form .send-actions .gold{background:linear-gradient(155deg,#fff2ba 0%,#f0ce75 28%,#c9902f 55%,#e7be5f 77%,#ac751f 100%);color:#14171b;border-color:#ac751f;box-shadow:inset 0 1px 0 #fff7dbcc,0 3px 8px #593d181f;font-size:16px;min-height:50px}
#quote-form .form-note{font-size:12px;line-height:1.5}
.quote-chat-link{display:inline-flex;align-items:center;min-height:44px;color:#107443;font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){#quote-dialog{padding:16px;max-height:calc(100dvh - 20px)}#quote-dialog h2{font-size:25px}#quote-dialog input,#quote-dialog select{min-height:48px}.quote-extra-fields .field-pair{gap:0}}

/* Photo-first reviews. Empty cards are explicitly development placeholders. */
.review-source-note{font-size:13px;line-height:1.6;margin:0 0 22px;max-width:760px}
.review-carousel .carousel-track{gap:24px;padding:4px 2px 16px;scroll-behavior:auto;scrollbar-width:thin}
.review-carousel .carousel-slide{flex:0 0 calc((100% - 48px)/3);scroll-snap-stop:always}
.review-card{height:100%;background:#fff;border:1px solid #dce5ec;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #25394a0a;display:flex;flex-direction:column}
.review-photo{aspect-ratio:16/10;overflow:hidden;background:#edf3f7}
.review-photo img{width:100%;height:100%;object-fit:contain}
.review-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;border-bottom:1px dashed #bacbd8}
.review-photo-empty span{font-size:11px;letter-spacing:1px;color:#405c72}
.review-photo-empty p{font-size:15px}
.review-card-body{padding:22px;display:flex;flex-direction:column;align-items:start;gap:10px;flex:1}
.review-dev-label{font-size:11px;color:#405c72;background:#edf3f7;padding:3px 8px;border-radius:4px}
.review-card h3{font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.review-stars{color:#9b6b10;letter-spacing:2px;font-size:18px}
.review-rating-pending,.review-date,.review-attribution{font-size:12px;color:var(--muted)}
.review-excerpt{font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.review-attribution{margin-top:auto;padding-top:4px}
.review-card .button{font-size:12px;padding:9px 12px;min-height:44px;gap:10px;white-space:normal}
.review-bottom-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px}
.review-carousel .carousel-controls{gap:12px}
.review-carousel [data-carousel-pause]{display:inline-flex;align-items:center;justify-content:center}
.review-carousel [data-carousel-pause]:disabled{opacity:.75;cursor:default}
@media(max-width:1000px){.review-carousel .carousel-slide{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:600px){.review-carousel .carousel-slide{flex-basis:100%}.review-card-body{padding:20px}.review-photo{aspect-ratio:16/9}.review-carousel .carousel-controls{row-gap:10px}.review-carousel [data-carousel-pause]{margin-left:0}.review-excerpt{font-size:16px}}

.review-carousel .carousel-track:focus-visible{outline:3px solid var(--blue-text);outline-offset:3px;border-radius:12px}

.styleadv-home-preview .client-logo-slot img{width:100%;height:70px;object-fit:contain}.styleadv-home-preview .hero-project-photo{padding:0}

.sa-native-content{max-width:1200px;margin:auto;padding:64px 24px;min-height:50vh;overflow-wrap:anywhere}
.sa-native-content article{margin:0 auto 48px;max-width:900px}
.sa-native-content img{max-width:100%;height:auto}.sa-native-content iframe{max-width:100%}
.sa-native-content p,.sa-native-content li{line-height:1.75}.sa-native-content h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15}
.sa-native-content h2,.sa-native-content h3{margin:1.6em 0 .6em}.sa-native-content ul,.sa-native-content ol{padding-left:1.5em}
.sa-native-content a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.sa-native-content{padding:36px 20px 100px}}
.sa-primary-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.sa-primary-menu li{position:relative;list-style:none}.sa-primary-menu a{display:block;padding:12px 0}
.sa-primary-menu .sub-menu{display:none;position:absolute;z-index:20;min-width:210px;background:white;box-shadow:0 8px 24px #0002;padding:12px;list-style:none}
.sa-primary-menu li:hover>.sub-menu,.sa-primary-menu li:focus-within>.sub-menu{display:block}
@media(max-width:1100px){.sa-primary-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}.sa-primary-menu .sub-menu{display:block;position:static;box-shadow:none;padding:0 0 0 16px}}
