@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url('assets/display-600.ttf') format('truetype')}
@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url('assets/display-700.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('assets/body-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('assets/body-500.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('assets/body-600.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('assets/body-700.ttf') format('truetype')}
@font-face{font-family:'GC heading fallback';src:local('Arial Bold'),local('Arial'),local('Helvetica'),local('Liberation Sans'),local('DejaVu Sans');font-weight:600 700;size-adjust:66.6%;ascent-override:150.15%;descent-override:30.03%;line-gap-override:0%}
:root{color-scheme:dark;--page:#0b0d10;--section:#12161c;--card:#ffffff;--roof-card:#171c23;--ink:#17202b;--paper-muted:#526071;--paper-blue:var(--blue);--ease:cubic-bezier(.16,1,.3,1);--feedback:.28s;--text:#f5f7fa;--muted:#bbc3cd;--blue:#2468df;--blue-hover:#1d57bd;--accent:var(--blue);--secondary:#f5f7fa;--secondary-hover:#e4e9ef;--line:#3d4043;--radius:24px;--gutter:48px;--header:96px;font-family:Manrope,Arial,sans-serif;font-size:16px;color:var(--text);background:var(--page)}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}p,h1,h2,h3,figure,blockquote{margin:0}p{color:var(--muted)}h1,h2,h3{font-family:Barlow,'GC heading fallback',Arial,sans-serif;font-weight:700;line-height:1.08;text-transform:uppercase}h2{font-size:clamp(36px,3.7vw,54px);letter-spacing:-.015em}h3{font-size:24px;letter-spacing:-.025em}a,button,input,textarea{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.pill:focus-visible,.menu-toggle:focus-visible,.trust-item:focus-visible{outline-color:#fff;box-shadow:0 0 0 3px var(--page)}.accent{color:var(--accent)}.container{width:min(1280px,calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:120px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:48px}.section-heading p{font-size:18px;max-width:53ch;margin-top:20px;line-height:1.6}.section-heading>.pill{flex-shrink:0}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 26px;border:1px solid transparent;border-radius:999px;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:.035em;text-transform:uppercase;text-align:center;width:fit-content;position:relative;isolation:isolate;overflow:hidden;transform:translate3d(0,0,0);transition:transform var(--feedback) var(--ease)}.pill-primary{background:var(--blue);color:#fff}.pill-secondary{background:var(--secondary);color:var(--page);border-color:transparent}.pill::before,.menu-close::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:var(--fill);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease);pointer-events:none}.pill-primary{--fill:var(--blue-hover)}.pill-secondary{--fill:var(--secondary-hover)}.pill:hover::before,.pill:focus-visible::before,.menu-close:hover::before,.menu-close:focus-visible::before{transform:scaleX(1)}.pill:active{transform:translate3d(0,0,0) scale(.96);transition-duration:.12s}.hero-actions:focus-within{animation:none}.skip{position:fixed;z-index:100;top:12px;left:16px;padding:12px 20px;border-radius:12px;background:white;color:#0b0d10;transform:translateY(-180%);opacity:0;pointer-events:none}.skip:focus-visible{transform:none;opacity:1;pointer-events:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* One clear header. The menu breakpoint matches the existing shared controller. */
.site-header{position:sticky;top:0;z-index:20;background:var(--page);border-bottom:1px solid #ffffff0b}.header-inner{min-height:calc(var(--header) - 1px);display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px}.logo{width:214px;height:auto}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav a{display:inline-flex;align-items:center;min-height:48px;font-size:15px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.025em;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--text)}.desktop-nav a:after{content:'';position:absolute;height:1px;background:var(--blue);left:0;right:0;bottom:5px;transform:scaleX(0);transform-origin:center;transition:transform .4s var(--ease)}.desktop-nav a[aria-current]:after,.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.header-quote{min-height:48px;padding-inline:24px}.menu-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:0;border-radius:12px;color:var(--blue);padding:0;width:52px;height:52px;transition:transform .22s var(--ease)}.menu-toggle:hover{color:var(--accent)}.menu-toggle:focus-visible{outline-color:var(--accent);box-shadow:none}.menu-icon{display:grid;gap:5px}.menu-icon i{display:block;width:22px;height:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s var(--ease)}.menu-toggle:active{transform:scale(.96)}.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-7px) rotate(-45deg)}.site-menu{inset:0 0 0 auto;margin:0;width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--page);color:var(--text);overscroll-behavior:contain;overflow:auto;transform:translateX(100%);opacity:0;transition:transform .38s var(--ease),opacity .25s var(--ease),display .38s allow-discrete,overlay .38s allow-discrete}.site-menu[open]{transform:translateX(0);opacity:1}.site-menu::backdrop{background:#000a;opacity:0;transition:opacity .3s var(--ease),display .38s allow-discrete,overlay .38s allow-discrete}.site-menu[open]::backdrop{opacity:1}@starting-style{.site-menu[open]{transform:translateX(100%);opacity:0}.site-menu[open]::backdrop{opacity:0}}.menu-inner{padding:24px;min-height:100%;display:flex;flex-direction:column}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.menu-head .logo{width:176px}.menu-close{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:var(--secondary);border-radius:999px;min-height:46px;padding:8px 15px;color:var(--page);font-size:14px}.menu-close{position:relative;isolation:isolate;overflow:hidden;--fill:var(--secondary-hover);transition:transform var(--feedback) var(--ease)}.menu-close span{font-size:26px;line-height:1}.menu-links{display:grid;margin:40px 0 32px}.menu-links a{padding:15px 0;font-size:30px;font-weight:700;text-transform:uppercase;line-height:1.25;border-bottom:1px solid var(--line);letter-spacing:-.01em}.menu-links a[aria-current]{color:var(--accent)}.menu-links a{position:relative}.menu-links a:hover,.menu-links a:focus-visible{color:var(--text)}.menu-bottom{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap}.menu-bottom p{font-size:15px;width:100%;margin-top:20px}
/* Natural photography, with neutral shade behind the copy only. */
.hero{position:relative;isolation:isolate;background:var(--page)}.hero-media{position:absolute;inset:0;overflow:hidden;z-index:-2}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform-origin:55% 50%}.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,11,12,.85) 0%,rgba(9,11,12,.67) 37%,rgba(9,11,12,.17) 72%,rgba(9,11,12,.04) 100%),linear-gradient(0deg,rgba(9,11,12,.15),transparent 45%)}.hero-inner{min-height:660px;display:flex;align-items:center;padding-block:70px}.hero-copy{max-width:790px}.hero-location{font-size:16px;color:#e5e5e1;margin-bottom:26px}.hero h1{font-size:clamp(62px,6.4vw,92px);line-height:1.04;letter-spacing:-.015em;font-weight:700}.hero h1 span{display:block}.hero-description{max-width:42ch;font-size:20px;line-height:1.65;color:#e0e1df;margin-top:28px}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.trust-strip{background:var(--page);color:white}.trust-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;padding-block:30px;align-items:center}.trust-item{display:flex;align-items:center;gap:20px;min-width:0}.trust-item+ .trust-item{padding-left:32px;border-left:1px solid #ffffff50}.trust-item svg{width:42px;height:42px;flex-shrink:0;color:var(--blue);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.trust-item p{font-size:18px;line-height:1.45;font-weight:500;color:white}.trust-item strong{font-size:20px;font-weight:700}.trust-item p span{display:block;font-size:16px;font-weight:400;margin-top:3px}.trust-rating{border-radius:4px}.trust-rating svg{transition:transform .3s var(--ease)}.trust-rating:hover svg{transform:scale(1.06)}.trust-rating:hover p{text-decoration:underline;text-underline-offset:5px}.stars{color:#e9be65;letter-spacing:3px;font-size:19px;line-height:1.2}
/* Light section backgrounds and dark photographic cards. One keyboard stop per card. */
.light-section{background:#fff;color:var(--ink);--muted:var(--paper-muted);--accent:var(--paper-blue);color-scheme:light}
.light-section .section-heading .pill:focus-visible{outline-color:var(--blue);box-shadow:none}
.light-section .photo-card{--text:#f5f7fa;--muted:#e3e7ed;--accent:#f5f7fa;color:var(--text);color-scheme:dark}
.review-card,.faq-grid article,.contact-panel{--text:var(--ink);--muted:var(--paper-muted);--accent:var(--paper-blue);--line:#dce2e9;color:var(--text);color-scheme:light}
.photo-card .stars,.review-card .stars{color:#a17221}
.contact-panel .pill:focus-visible{outline-color:var(--blue);box-shadow:none}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.photo-card{background:var(--roof-card);border-radius:var(--radius);min-width:0;box-shadow:0 3px 8px #00000012;transition:transform .4s var(--ease)}.card-link{display:flex;flex-direction:column;height:100%;border-radius:inherit}.card-image{aspect-ratio:1.65;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:#36383a}.card-image img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,center)}.card-body{padding:30px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.card-body h3{color:var(--accent);text-transform:uppercase;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.25}.card-description{font-size:16px;line-height:1.65;margin:18px 0 30px;max-width:34ch}.card-action{margin-top:auto;min-height:44px;font-size:13px;padding:11px 20px;letter-spacing:.035em}.card-meta{font-size:14px;margin-bottom:12px;color:var(--muted)}.projects-section{border-top:1px solid #e5e9ef;padding-top:96px}.projects-grid .card-image{aspect-ratio:1.28}.projects-grid .card-body{padding:28px}.projects-grid .card-description{margin-bottom:26px}.projects-grid .photo-card{background:var(--roof-card)}
/* The about image has an explicit ratio and bounded desktop height. */
.about-panel{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.about-photo{position:relative;aspect-ratio:1.12;min-width:0;max-height:560px;overflow:hidden;border-radius:var(--radius)}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 47%}.about-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:44px 26px 22px;background:linear-gradient(transparent,#000c);font-size:14px;color:white}.about-copy .accent{color:var(--text)}.about-copy h2{font-size:clamp(34px,3.2vw,46px);line-height:1.14}.about-copy p{font-size:18px;line-height:1.7;margin-top:22px}.about-copy .pill{margin-top:28px}.reviews-section{background:var(--section)}.review-heading{align-items:center}.rating-summary{display:block;flex-shrink:0;max-width:420px;margin-top:24px}.rating-summary>div{display:flex;align-items:center;gap:24px}.rating-summary img{width:90px;height:auto}.rating-summary strong{display:flex;align-items:center;gap:14px;font-size:28px;font-weight:500}.rating-summary>span{display:block;color:var(--muted);font-size:14px;margin-top:12px}.rating-summary:hover>span{text-decoration:underline;text-underline-offset:5px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.review-card{background:var(--card);border:1px solid #ffffff0c;border-radius:var(--radius);padding:34px;display:flex;flex-direction:column}.review-card blockquote{font-size:22px;line-height:1.5;letter-spacing:-.018em;margin:24px 0 32px}.review-card figcaption{margin-top:auto;display:grid;gap:5px;padding-top:22px;border-top:1px solid var(--line)}.review-card figcaption strong{font-size:16px;font-weight:600}.review-card figcaption span{font-size:14px;color:var(--muted)}
.faq-section{padding-bottom:40px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;row-gap:34px}.faq-grid article{padding:26px 28px;background:var(--card);border:1px solid #ffffff0a;border-radius:20px}.faq-grid h3{color:var(--accent);font-size:24px;line-height:1.3;font-weight:600}.faq-grid p{margin-top:13px;font-size:16px;line-height:1.7;max-width:56ch}
.contact-section{padding-top:64px}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:58px;border-radius:32px;background:var(--card);border:1px solid #ffffff0c}.contact-copy h2{font-size:clamp(36px,3.5vw,52px)}.contact-copy>p{font-size:18px;line-height:1.7;margin-top:24px;max-width:38ch}.contact-phone{display:flex;flex-direction:column;margin-top:28px;width:fit-content;padding-block:6px}.contact-phone span{font-size:15px;color:var(--muted)}.contact-phone strong{font-size:36px;font-weight:500;letter-spacing:-.025em;line-height:1.5}.contact-phone:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.whatsapp-option{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.whatsapp-option h3{font-size:20px;line-height:1.4}.whatsapp-option p{font-size:16px;line-height:1.6;margin-top:10px}.whatsapp-option .pill{margin-top:20px;font-size:12px}.contact-panel form{min-width:0}.contact-panel form h3{font-size:28px;line-height:1.2}.form-intro{margin-top:10px;margin-bottom:24px;font-size:16px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:16px;font-weight:600;line-height:1.5;margin-bottom:24px}input,textarea{display:block;width:100%;margin-top:10px;background:#fff;border:1px solid #8a96a5;border-radius:12px;color:var(--text);padding:13px 15px;font-size:16px;line-height:1.5;min-height:52px;transition:none}textarea{resize:vertical;min-height:116px}input::placeholder,textarea::placeholder{color:#667385}input:hover,textarea:hover{border-color:var(--blue)}input:focus-visible,textarea:focus-visible{outline-offset:3px;border-color:var(--blue);box-shadow:0 0 0 4px #2468df12}.form-note{font-size:14px;line-height:1.65;margin:4px 0 24px;max-width:48ch;background:#f0f5ff;border-left:3px solid var(--blue);border-radius:0 12px 12px 0;padding:14px 16px}#form-status:not(:empty){padding-top:20px;font-size:15px;color:var(--text)}
.site-footer{background:var(--page);padding:66px 0 28px}.footer-main{display:grid;grid-template-columns:1.4fr .65fr 1fr;gap:64px}.footer-brand p{margin-top:24px;font-size:15px;line-height:1.8}.site-footer h2{color:var(--text);font-size:18px;font-weight:600;letter-spacing:0;margin-bottom:14px}.site-footer nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start}.site-footer nav a,.footer-contact a{font-size:15px;color:var(--muted);padding-block:8px;min-height:40px;overflow-wrap:anywhere}.site-footer a:hover,.site-footer a:focus-visible{color:white;text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid var(--line);padding-top:26px;margin-top:48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--muted)}.footer-bottom a{display:inline-flex;align-items:center;padding:4px 0;min-height:44px}.design-credit a{color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:4px}
@media(hover:hover) and (pointer:fine){.pill:hover{transform:translate3d(0,-2px,0)}.photo-card:hover{transform:translate3d(0,-4px,0)}.card-link:hover .card-action::before{transform:scaleX(1)}.photo-card:hover .card-action{transform:none}}.pill:hover:active,.menu-close:active{transform:scale(.96);transition-duration:.12s}.photo-card:focus-within{box-shadow:0 0 0 3px var(--blue),0 12px 30px #00000025}.card-link:active .card-action{transform:scale(.96);transition-duration:.12s}.card-link:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.card-link:focus-visible .card-action::before{transform:scaleX(1)}
.menu-links a::after,.site-footer nav a::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .4s var(--ease)}.site-footer nav a{position:relative}.menu-links a:hover::after,.menu-links a:focus-visible::after,.site-footer nav a:hover::after,.site-footer nav a:focus-visible::after{transform:scaleX(1)}.site-footer nav a:hover,.site-footer nav a:focus-visible{text-decoration:none}
@media(max-width:1180px){:root{--gutter:36px}.header-inner{gap:26px}.desktop-nav{gap:22px}.logo{width:190px}.hero h1{font-size:78px}.hero-inner{min-height:600px}.card-body,.projects-grid .card-body{padding:24px}.card-body h3{font-size:26px}.about-panel{gap:44px}.contact-panel{gap:40px;padding:40px}.review-card{padding:28px}.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1040px){:root{--header:84px;--gutter:32px}.desktop-nav,.header-quote{display:none}.header-inner{justify-content:space-between}.menu-toggle{display:flex}.section{padding-block:92px}.hero-inner{min-height:580px}.hero h1{font-size:72px}.hero-description{font-size:19px}.hero-overlay{background:linear-gradient(90deg,#0b0d0ee0,#0b0d0e70 75%,#0b0d0e22)}.trust-inner{gap:20px;padding-block:28px}.trust-item{gap:14px}.trust-item+ .trust-item{padding-left:20px}.trust-item p{font-size:16px}.trust-item svg{width:34px;height:34px}.trust-item strong{font-size:18px}.trust-item p span{font-size:15px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.projects-grid{grid-template-columns:1fr;gap:28px}.projects-grid .card-link{display:grid;grid-template-columns:45% 55%;min-height:290px}.projects-grid .card-image{aspect-ratio:auto;border-radius:24px 0 0 24px;position:relative}.projects-grid .card-image img{position:absolute;inset:0}.projects-grid .card-body{padding:28px}.projects-grid h3{font-size:26px}.projects-grid .card-description{font-size:15px}.projects-grid .card-image{aspect-ratio:auto}.about-panel{gap:32px}.about-copy h2{font-size:36px}.about-copy p{font-size:16px}.about-photo{aspect-ratio:.85}.reviews-grid{grid-template-columns:1fr;gap:28px}.review-card blockquote{max-width:52ch}.review-heading{align-items:flex-start;gap:24px}.rating-summary{max-width:290px}.rating-summary>div{gap:16px}.rating-summary .stars{font-size:15px}.rating-summary img{width:75px}.contact-panel{gap:32px;padding:32px}.contact-phone strong{font-size:30px}.contact-copy>p{font-size:16px}.field-pair{grid-template-columns:1fr;gap:0}.footer-main{gap:32px}.faq-section{padding-bottom:24px}.contact-section{padding-top:52px}}
@media(max-width:700px){:root{--gutter:22px;--header:78px}.section{padding-block:80px}.logo{width:178px}.header-inner{gap:16px}.hero-media{inset:0;height:100%}.hero-photo{height:118%;top:-18%;object-position:56% 52%}.hero-overlay{background:linear-gradient(0deg,rgba(11,13,16,.96) 0%,rgba(11,13,16,.86) 30%,rgba(11,13,16,.35) 64%,rgba(11,13,16,.08) 100%)}.hero-inner{min-height:calc(100vh - var(--header));min-height:calc(100svh - var(--header));padding-top:160px;padding-bottom:max(32px,env(safe-area-inset-bottom));align-items:flex-end}.hero-copy{width:100%}.hero-location{font-size:14px;line-height:1.5;max-width:none;margin-bottom:16px;color:#d5d7d8}.hero h1{font-size:clamp(44px,12vw,60px);letter-spacing:-.015em;line-height:1.08}.hero-description{font-size:17px;line-height:1.6;margin-top:18px;max-width:35ch}.hero-actions{margin-top:24px;gap:12px}.hero-actions .pill{font-size:12px;padding-inline:22px;min-height:50px}.trust-inner{grid-template-columns:1fr;gap:0;padding-block:8px}.trust-item{gap:16px;padding-block:24px}.trust-item+ .trust-item{padding-left:0;border-left:0;border-top:1px solid #ffffff40}.trust-item svg{width:32px;height:32px}.trust-item p{font-size:16px;line-height:1.45}.trust-item strong{font-size:16px}.trust-item p span{display:inline;font-size:14px;margin-top:0;margin-left:8px;padding-left:8px;border-left:1px solid #ffffff50}.trust-item br{display:none}
.section-heading{display:block;margin-bottom:36px}.section-heading h2{font-size:36px;line-height:1.13}.section-heading p{font-size:17px;margin-top:16px;line-height:1.65}.section-heading>.pill{margin-top:24px}.card-grid,.projects-grid{grid-template-columns:1fr;gap:32px}.projects-grid .card-link{display:flex;min-height:0}.projects-grid .card-image img{position:static}.projects-grid .card-image{border-radius:24px 24px 0 0}.card-body,.projects-grid .card-body{padding:26px}.card-body h3,.projects-grid h3{font-size:28px;line-height:1.3}.card-description,.projects-grid .card-description{font-size:16px;margin-top:16px;margin-bottom:28px;max-width:unset}.card-image{aspect-ratio:1.55}.projects-grid .card-image{aspect-ratio:1.25}.card-action{font-size:12px;padding-inline:21px;min-height:46px}.about-panel{display:flex;flex-direction:column;gap:32px;align-items:stretch}.about-photo{aspect-ratio:1.2;max-height:400px}.about-copy h2{font-size:36px;line-height:1.15}.about-copy p{font-size:17px;margin-top:20px}.about-copy .pill{margin-top:26px}.review-heading h2 br{display:none}.rating-summary{margin-top:28px;max-width:none}.rating-summary>div{gap:22px}.rating-summary img{width:84px}.rating-summary>span{font-size:13px}.reviews-grid{grid-template-columns:1fr;gap:20px}.review-card{padding:28px}.review-card blockquote{font-size:22px;line-height:1.5;margin:22px 0 28px}.review-card figcaption span{font-size:14px}.faq-grid{grid-template-columns:1fr;gap:26px}.faq-grid article{padding:24px}.faq-grid h3{font-size:21px}.faq-grid p{margin-top:12px}.faq-section{padding-bottom:24px}.contact-section{padding-top:40px}.contact-panel{grid-template-columns:1fr;padding:28px;gap:38px;border-radius:24px}.contact-copy h2{font-size:37px;line-height:1.1}.contact-copy>p{font-size:17px;margin-top:20px}.contact-phone{margin-top:20px}.contact-phone strong{font-size:32px}.whatsapp-option{margin-top:24px;padding-top:24px}.whatsapp-option .pill{padding:12px 18px;font-size:11px;letter-spacing:.03em;min-height:48px}.contact-panel form{border-top:1px solid var(--line);padding-top:32px}.contact-panel form h3{font-size:26px}.contact-panel form .pill{font-size:12px;padding-inline:22px}.form-note{font-size:14px}.site-footer{padding-top:48px}.footer-main{grid-template-columns:1fr 1fr;gap:36px 28px}.footer-brand{grid-column:1/-1}.footer-brand p{margin-top:18px}.site-footer .footer-contact{grid-column:1/-1}.site-footer nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.site-footer nav h2{grid-column:1/-1}.site-footer nav a,.footer-contact a{min-height:44px;font-size:16px}.site-footer h2{color:var(--text);font-size:18px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:30px;padding-top:24px;font-size:14px}.footer-bottom>span:first-child{max-width:30ch}.footer-bottom a{min-height:44px}.design-credit{display:flex;align-items:center;gap:5px;flex-wrap:wrap}}
@media(max-width:380px){:root{--gutter:18px}.logo{width:166px}.hero h1{font-size:44px}.hero-actions{gap:10px}.hero-actions .pill{padding-inline:18px;font-size:12px}.contact-panel{padding:24px}.contact-phone strong{font-size:29px}.section-heading h2,.about-copy h2{font-size:34px}.card-body,.projects-grid .card-body{padding:24px}.menu-inner{padding:20px}.menu-head .logo{width:162px}}
/* Finite first paint reveal. Base content remains visible without JavaScript. */
@keyframes gc-hero-rise{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes gc-photo-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
.hero h1{animation:gc-hero-rise 600ms var(--ease) both}
.hero-location{animation:gc-hero-rise 600ms var(--ease) 60ms both}
.hero-description{animation:gc-hero-rise 600ms var(--ease) 90ms both}
.hero-actions{animation:gc-hero-rise 600ms var(--ease) 180ms both}
.hero-photo{animation:gc-photo-settle 4500ms cubic-bezier(.2,.5,.35,1) both}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.photo-card:hover,.pill:hover,.pill:active,.card-link:active .card-action,.menu-toggle:active,.trust-rating:hover svg{transform:none}.site-menu[open]{transform:none}}
