.top-bar{background:var(--color-navy-dark);color:#ffffffd9}.top-bar-inner{display:flex;align-items:center;justify-content:center;gap:36px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;row-gap:8px}.top-bar-item{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap;transition:color var(--transition-base)}a.top-bar-item:hover{color:var(--color-white)}@media (max-width: 560px){.top-bar-inner{flex-direction:column;align-items:center;gap:8px}.top-bar-item{font-size:14px;white-space:normal;text-align:center}}.logo{display:flex;align-items:center;gap:10px}.logo-mark{flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-title{font-size:17px;font-weight:800;color:var(--color-navy);letter-spacing:.03em}.logo-subtitle{font-size:12px;font-weight:500;color:var(--color-gray);letter-spacing:.12em}.logo-light .logo-title{color:var(--color-white)}.logo-light .logo-subtitle{color:#ffffffb3}@media (max-width: 480px){.logo-title{font-size:13px}}.header{position:sticky;top:0;z-index:50;background:var(--color-white);box-shadow:0 2px 12px #1e3a5f14}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1360px;padding-top:24px;padding-bottom:24px}.header-logo-link{text-decoration:none}.header-nav{display:flex;align-items:center;gap:44px}.header-nav-link{color:var(--color-text);text-decoration:none;font-size:17px;font-weight:500;position:relative;transition:color var(--transition-base)}.header-nav-link:after{content:"";position:absolute;left:0;bottom:-4px;width:0%;height:2px;background:var(--color-navy);transition:width var(--transition-base)}.header-nav-link:hover{color:var(--color-navy)}.header-nav-link:hover:after{width:100%}.header-cta{background:var(--color-navy);color:var(--color-white);text-decoration:none;font-weight:600;font-size:15px;padding:14px 26px;border-radius:3px;white-space:nowrap;transition:background var(--transition-base),transform var(--transition-base)}.header-cta:hover{background:var(--color-navy-light);transform:translateY(-2px)}@media (max-width: 860px){.header-nav{display:none}}@media (max-width: 480px){.header-cta{padding:9px 14px;font-size:13px}}.quote-form{background:var(--color-white);border-radius:4px;border:1px solid rgba(30,58,95,.12);box-shadow:0 4px 14px #14273f59;padding:28px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.quote-form-title{font-size:20px;font-weight:700;color:var(--color-navy);margin-bottom:4px}.quote-form-row{display:flex;gap:14px}.quote-form-row .quote-form-field{flex:1 1 0;min-width:0}.quote-form-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--color-gray)}.quote-form-field input,.quote-form-field textarea{font-family:inherit;font-size:14px;color:var(--color-text);border:1px solid var(--color-gray-light);border-radius:6px;padding:10px 12px;resize:vertical;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.quote-form-field input:focus,.quote-form-field textarea:focus{outline:none;border-color:var(--color-navy);box-shadow:0 0 0 3px #1e3a5f26}.quote-form-submit{margin-top:4px;background:var(--color-navy);color:var(--color-white);border:none;border-radius:3px;padding:13px 16px;font-size:15px;font-weight:700;letter-spacing:.02em;transition:background var(--transition-base),transform var(--transition-base)}.quote-form-submit:hover{background:var(--color-navy-light);transform:translateY(-2px)}.quote-form-submit:disabled{background:var(--color-gray);cursor:not-allowed;transform:none}.quote-form-field-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quote-form-error{color:#b3261e;font-size:13px;font-weight:500}.quote-form-success{align-items:center;text-align:center;justify-content:center;min-height:200px}.quote-form-success-text{color:var(--color-gray);font-size:15px;line-height:1.6}@media (max-width: 480px){.quote-form{padding:20px;max-width:100%}.quote-form-row{flex-direction:column;gap:14px}}.hero{position:relative;background:linear-gradient(135deg,#14273fa6,#14273fcc),url(/assets/raymond_sons_banner-6duyZPt2.jpg);background-size:cover;background-position:center;overflow:hidden}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 60%);pointer-events:none}.hero-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:80px;padding-bottom:80px;flex-wrap:wrap}.hero-content{flex:1 1 420px;max-width:600px}.hero-headline{color:var(--color-white);font-size:clamp(32px,4.2vw,48px);font-weight:800;line-height:1.15;margin-bottom:20px}.hero-subtext{color:#ffffffd9;font-size:16px;line-height:1.6;max-width:480px;margin-bottom:28px}.hero-badges{display:flex;flex-wrap:wrap;gap:14px}.hero-badge{display:flex;align-items:center;gap:8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:var(--color-white);font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-form-wrap{flex:0 1 380px}@media (max-width: 700px){.hero-inner{padding-top:48px;padding-bottom:48px}.hero-form-wrap{flex:1 1 100%}}.about{background:var(--color-offwhite);padding:80px 0}.about-inner{display:flex;flex-direction:column;align-items:center;gap:40px}.about-intro{max-width:720px;text-align:center;font-size:17px;line-height:1.7;color:var(--color-text)}.about-columns{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.about-photo{min-height:320px;border-radius:var(--radius);background:url(/assets/2-CAn5ivXT.jpg),linear-gradient(150deg,#cdd8e3,#90a6bd 55%,#5b7592);background-size:cover;background-position:center 28%;background-repeat:no-repeat;box-shadow:var(--shadow-card)}.about-highlight{background:var(--color-navy);color:var(--color-white);border-radius:var(--radius);padding:36px;display:flex;flex-direction:column;justify-content:center;gap:14px;box-shadow:var(--shadow-card)}.about-highlight-title{font-size:22px;font-weight:700}.about-highlight-text{font-size:15px;line-height:1.7;color:#ffffffe0}@media (max-width: 760px){.about{padding:56px 0}.about-columns{grid-template-columns:1fr}.about-photo{min-height:220px}}.services{background:var(--color-white);padding:80px 0}.services-header{max-width:640px;margin:0 auto 44px;text-align:center}.services-title{font-size:32px;font-weight:800;color:var(--color-navy);margin-bottom:14px}.services-subtitle{font-size:16px;line-height:1.6;color:var(--color-gray)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}.service-card{background:var(--color-offwhite);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;gap:12px;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);background:var(--color-white)}.service-icon{width:100%;aspect-ratio:4 / 3;border-radius:8px;background-color:#1e3a5f0f;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform var(--transition-base)}.service-icon-fallback{width:40px;height:40px;border-radius:50%;background:var(--color-white);color:var(--color-navy);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #1e3a5f26}.service-card:hover .service-icon{transform:scale(1.03)}.service-icon-tile{background-image:url(/assets/tiles-2-D408of0L.jpg)}.service-icon-sheetrock{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-icon-light-plumbing{background-image:url(/assets/bathroom-CKHlk_vl.jpg)}.service-icon-flooring{background-image:url(/assets/flooring-DGKCOnjP.jpg)}.service-icon-brickwork{background-image:url(/assets/brickwork-6WSfUb_9.webp)}.service-icon-cement-work{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-icon-painting{background-image:url(/assets/painting-BFJ308hX.jpg)}.service-icon-kitchen-renovation{background-image:url(/assets/Kitchen-B6lhZ7WD.png)}.service-icon-electrical{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-icon-basement-renovation{background-image:url(/assets/basement-vWjOLI31.jpg)}.service-icon-siding{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-icon-gutting{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-icon-roofing-fencing{background-image:url(/assets/roofing-DJjtzB8V.jpg)}.service-icon-rot-iron{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-icon-sewer-cleaning{background-image:url(/assets/Sewerpipe-BSrVFJP1.jpg)}.service-icon-reviews{background-image:url(/assets/siding-D3CFp4vi.jpg)}.service-title{font-size:17px;font-weight:700;color:var(--color-navy)}.service-description{font-size:14px;line-height:1.55;color:var(--color-gray)}@media (max-width: 700px){.services{padding:56px 0}.services-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.service-card{padding:20px 16px}}.cta-banner{position:relative;background:linear-gradient(160deg,#24425f,#1e3a5f,#122335);padding:90px 0;overflow:hidden}.cta-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.08),transparent 55%);pointer-events:none}.cta-banner-inner{position:relative;max-width:640px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.cta-banner-title{color:var(--color-white);font-size:clamp(26px,3.4vw,34px);font-weight:800}.cta-banner-text{color:#ffffffd1;font-size:16px;line-height:1.65}.cta-banner-button{margin-top:8px;background:var(--color-white);color:var(--color-navy);text-decoration:none;font-weight:700;font-size:15px;padding:14px 30px;border-radius:3px;transition:transform var(--transition-base),box-shadow var(--transition-base)}.cta-banner-button:hover{transform:translateY(-3px);box-shadow:0 12px 24px #00000040}@media (max-width: 700px){.cta-banner{padding:64px 0}}.latest-works{background:var(--color-offwhite);padding:80px 0}.latest-works-header{max-width:640px;margin:0 auto 40px;text-align:center}.latest-works-title{font-size:32px;font-weight:800;color:var(--color-navy);margin-bottom:14px}.latest-works-subtitle{font-size:16px;line-height:1.6;color:var(--color-gray)}.latest-works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.latest-works-tile{aspect-ratio:1 / 1;border-radius:var(--radius);background-color:var(--color-gray-light);background-size:cover;background-position:center;box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base)}.latest-works-tile:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 34px #1e3a5f38}.latest-works-footer{display:flex;justify-content:center;margin-top:40px}.latest-works-button{background:transparent;color:var(--color-navy);border:2px solid var(--color-navy);border-radius:3px;padding:12px 28px;font-size:15px;font-weight:700;transition:background var(--transition-base),color var(--transition-base)}.latest-works-button:hover{background:var(--color-navy);color:var(--color-white)}@media (max-width: 760px){.latest-works{padding:56px 0}.latest-works-grid{grid-template-columns:repeat(2,1fr)}}.gallery-wall{background:var(--color-offwhite);padding:80px 0;min-height:60vh}.gallery-wall-header{max-width:640px;margin:0 auto 40px;text-align:center;position:relative}.gallery-wall-back{position:absolute;left:0;top:0;background:transparent;border:none;color:var(--color-navy);font-weight:700;font-size:15px;padding:0}.gallery-wall-title{font-size:32px;font-weight:800;color:var(--color-navy);margin-bottom:14px}.gallery-wall-subtitle{font-size:16px;line-height:1.6;color:var(--color-gray)}.gallery-wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.gallery-wall-tile{aspect-ratio:1 / 1;border:0;padding:0;display:block;width:100%;border-radius:var(--radius);background-color:var(--color-gray-light);background-size:cover;background-position:center;box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base)}.gallery-wall-tile:hover,.gallery-wall-tile:focus-visible{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 34px #1e3a5f38;outline:none}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#14273feb;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.lightbox-image{max-width:min(90vw,1000px);max-height:85vh;border-radius:var(--radius);box-shadow:0 20px 50px #0006}.lightbox-close{position:absolute;top:24px;right:24px;background:transparent;border:2px solid var(--color-white);color:var(--color-white);width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:2px solid var(--color-white);color:var(--color-white);width:48px;height:48px;border-radius:50%;font-size:28px;line-height:1}.lightbox-arrow-prev{left:24px}.lightbox-arrow-next{right:24px}@media (max-width: 760px){.gallery-wall{padding:56px 0}.gallery-wall-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.gallery-wall-back{position:static;display:inline-block;margin-bottom:12px}.lightbox-arrow{width:40px;height:40px;font-size:22px}}.why-choose-us{background:var(--color-white);padding:80px 0}.why-choose-us-header{max-width:640px;margin:0 auto 44px;text-align:center}.why-choose-us-title{font-size:32px;font-weight:800;color:var(--color-navy);margin-bottom:14px}.why-choose-us-subtitle{font-size:16px;line-height:1.6;color:var(--color-gray)}.why-choose-us-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.why-choose-us-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px}.why-choose-us-icon{width:64px;height:64px;border-radius:50%;background:#1e3a5f1a;color:var(--color-navy);display:flex;align-items:center;justify-content:center;margin-bottom:6px}.why-choose-us-item-title{font-size:18px;font-weight:700;color:var(--color-navy)}.why-choose-us-item-description{font-size:14px;line-height:1.6;color:var(--color-gray);max-width:260px}@media (max-width: 760px){.why-choose-us{padding:56px 0}.why-choose-us-grid{grid-template-columns:1fr;gap:36px}}.footer{background:var(--color-navy-dark)}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:48px;padding-top:72px;padding-bottom:56px}.footer-column{display:flex;flex-direction:column;gap:18px}.footer-brand{gap:16px}.footer-tagline{color:#fff9;font-size:14px;line-height:1.6;max-width:300px}.footer-column-title{color:var(--color-white);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.footer-links{display:flex;flex-direction:column;gap:12px}.footer-link{color:#ffffffb3;text-decoration:none;font-size:15px;transition:color var(--transition-base)}.footer-link:hover{color:var(--color-white)}.footer-contact{display:flex;flex-direction:column;gap:14px}.footer-contact-item{display:flex;align-items:center;gap:10px;color:#ffffffd9;text-decoration:none;font-size:15px;transition:color var(--transition-base)}.footer-contact-item:hover{color:var(--color-white)}.footer-contact-item-static{cursor:default}.footer-contact-item-static:hover{color:#ffffffd9}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;text-align:center}.footer-bottom p{color:#ffffff80;font-size:13px}@media (max-width: 760px){.footer-inner{grid-template-columns:1fr 1fr;row-gap:40px}.footer-brand{grid-column:1 / -1}}@media (max-width: 480px){.footer-inner{grid-template-columns:1fr;padding-top:48px}}:root{color-scheme:light;--color-navy: #1e3a5f;--color-navy-dark: #14273f;--color-navy-light: #2c527f;--color-white: #ffffff;--color-offwhite: #f4f6f8;--color-gray: #6b7480;--color-gray-light: #e2e6ea;--color-text: #22282f;--font-sans: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--container-width: 1180px;--radius: 10px;--shadow-card: 0 10px 30px rgba(30, 58, 95, .12);--transition-base: .25s ease}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (min-width: 1920px){body{zoom:1.15}}@media (min-width: 2560px){body{zoom:1.3}}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-white)}h1,h2,h3,p{margin:0}button{cursor:pointer;font-family:inherit}img{display:block;max-width:100%}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 24px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
