.service-cta{display:inline-block;margin-top:10px;color:var(--blue);font-weight:800;border-bottom:1px solid currentColor}.quote-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,120px);background:#eef2f7}.quote-copy h2,.reviews h2{font-family:Syne,sans-serif;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:0}.quote-copy>p:last-child{color:var(--muted);font-size:18px;line-height:1.65;max-width:480px;margin-top:28px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:clamp(28px,4vw,52px);background:#fff;border-top:5px solid var(--blue);box-shadow:0 24px 70px rgba(17,19,24,.08)}.field{display:flex;flex-direction:column;gap:8px}.field.full,.quote-form>.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;letter-spacing:.04em}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd1da;background:#f9fafc;color:var(--ink);font:inherit;font-size:16px;padding:14px 15px;border-radius:0}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(36,116,229,.18);border-color:var(--blue)}.quote-form .button{border:0;cursor:pointer}.form-note{margin:0;color:var(--muted);font-size:13px}.reviews{background:#fff}.reviews-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:58px}.reviews-head>div:first-child{max-width:800px}.rating-summary{text-align:right;flex:0 0 auto}.rating-summary strong{font-family:Syne,sans-serif;font-size:64px;line-height:1}.rating-summary span,.stars{display:block;color:#f5b400;letter-spacing:.08em}.rating-summary p{margin:7px 0 0;color:var(--muted);font-size:14px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-card{min-height:245px;padding:32px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:var(--paper)}.review-card blockquote{font-family:Syne,sans-serif;font-size:24px;line-height:1.35;margin:28px 0}.review-card>p{margin:0;font-weight:800}.review-card>p span{color:var(--muted);font-weight:500}.google-link{display:inline-block;margin-top:34px;color:var(--blue);font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}
.project-photo{display:block;width:100%;height:390px;object-fit:cover;background:#1d2632}.project-featured .project-photo{object-position:center 58%}.project-wide{grid-column:span 2}.project-wide .project-photo{object-fit:contain;object-position:center;background:#0b0e13}
.portrait{height:auto;aspect-ratio:1;border-radius:50%;border:5px solid #162234}.portrait-photo{background:#fff}.portrait-photo:after{content:"";position:absolute;inset:0;border:7px solid #fff;border-radius:50%;pointer-events:none;z-index:2}.portrait-photo img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center;transform:none}.samuel-photo,.maxime-photo,.claude-photo{border-color:#162234}
.portrait-link{display:block;color:inherit}.portrait-link .portrait{transition:transform .3s ease,box-shadow .3s ease}.portrait-link:hover .portrait,.portrait-link:focus-visible .portrait{transform:scale(1.025);box-shadow:0 0 0 5px rgba(36,116,229,.18)}.portrait-link:focus-visible{outline:0}
.project-trigger{cursor:pointer}.project-trigger .project-photo{transition:transform .45s ease,filter .45s ease}.project-trigger:hover .project-photo,.project-trigger:focus-visible .project-photo{transform:scale(1.045);filter:brightness(1.08)}.project-trigger:focus-visible{outline:3px solid var(--electric);outline-offset:8px}.project-trigger h3{transition:color .25s ease}.project-trigger:hover h3,.project-trigger:focus-visible h3{color:var(--electric)}.project-lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}.project-lightbox[hidden]{display:none}.lightbox-backdrop{position:absolute;inset:0;background:rgba(8,11,17,.86);backdrop-filter:blur(5px)}.lightbox-panel{position:relative;z-index:1;width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;color:var(--ink);padding:14px 14px 28px;box-shadow:0 30px 100px rgba(0,0,0,.35)}.lightbox-panel img{display:block;width:100%;max-height:70vh;object-fit:contain;background:#11161e}.lightbox-panel p{margin:22px 18px 7px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.lightbox-panel h2{margin:0 18px;font-size:clamp(28px,4vw,52px);line-height:1}.lightbox-close{position:absolute;right:24px;top:24px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.2)}body.lightbox-open{overflow:hidden}
.project-description{margin:12px 0 0!important;color:#aeb8c7!important;font-size:15px!important;line-height:1.55!important;letter-spacing:0!important;text-transform:none!important;max-width:560px}
@media(max-width:900px){.quote-section{grid-template-columns:1fr}.reviews-head{align-items:flex-start;flex-direction:column}.rating-summary{text-align:left}.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.quote-form{grid-template-columns:1fr;padding:25px}.field,.field.full,.quote-form>.full{grid-column:1}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:220px}.rating-summary strong{font-size:54px}.project-wide{grid-column:auto}.project-photo{height:360px}}
.portrait.light.samuel-allard-photo{border-color:#162234;background:#fff}.samuel-allard-photo img{object-fit:contain;object-position:center bottom;transform:scale(.96);transform-origin:center bottom}
.reviews-slider{position:relative}.reviews-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.review-arrow{width:48px;height:48px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:22px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.review-arrow:hover,.review-arrow:focus-visible{background:var(--blue);border-color:var(--blue);color:#fff}.reviews-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}.reviews-track::-webkit-scrollbar{display:none}.reviews-track .review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}.review-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.review-actions .google-link{margin-top:0}.review-cta{position:relative;overflow:hidden;background:var(--electric);color:#101722;border:3px solid var(--electric);box-shadow:0 12px 30px rgba(255,213,42,.34);transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.review-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.55) 48%,transparent 76%);transform:translateX(-130%);transition:transform .65s ease}.review-cta:hover,.review-cta:focus-visible{background:#ffe14f;color:#101722;transform:translateY(-4px) scale(1.015);box-shadow:0 18px 42px rgba(255,213,42,.5)}.review-cta:hover:before,.review-cta:focus-visible:before{transform:translateX(130%)}.review-cta>*{position:relative;z-index:1}.review-cta-stars{font-size:14px;letter-spacing:.08em;white-space:nowrap}.review-cta strong{font-size:14px}.review-cta-arrow{font-size:22px}
.site-footer{display:block;min-height:0;padding:70px clamp(24px,8vw,130px) 32px;background:#0d1015}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-bottom:42px;border-bottom:1px solid #29313d}.footer-availability{text-align:right;font-size:15px;line-height:1.7;color:#cbd3df}.footer-availability strong{color:#3d91ff}.footer-details{display:grid;grid-template-columns:1.35fr 1fr .85fr .75fr;gap:34px 50px;padding:45px 0}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-column h3{margin:0 0 10px;color:#3d91ff;font-family:Syne,sans-serif;font-size:20px;font-weight:800;letter-spacing:.025em}.footer-column a,.footer-column strong{font-size:15px;color:#fff;font-weight:700;line-height:1.55}.footer-column a:hover{color:#3d91ff}.footer-column p{margin:3px 0 0;color:#a5adba;font-size:14px;line-height:1.6}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:28px;border-top:1px solid #29313d}.footer-bottom p{margin:0}
@media(max-width:900px){.reviews-track .review-card{flex-basis:calc((100% - 24px)/2)}.footer-details{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.reviews-track .review-card{flex-basis:100%}.review-actions{align-items:stretch;flex-direction:column}.review-actions .button{width:100%;gap:12px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-availability{text-align:left}.footer-details{grid-template-columns:1fr}.site-footer{padding-top:55px}}
.service{grid-template-columns:42px 58px .8fr 1.4fr 40px}.service-symbol{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e7f1ff;color:var(--blue)}.service-symbol svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service .service-symbol{font-size:0}.services-more{display:flex;align-items:center;gap:28px;margin-top:38px}.services-more p{max-width:520px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.services-more .button{flex:0 0 auto}
.service-symbol{background:#e7f1ff;color:var(--blue);box-shadow:none;transition:background .25s,color .25s}.service:hover .service-symbol{background:#e7f1ff;color:var(--blue);box-shadow:none;transform:none}
@media(max-width:900px){.service{grid-template-columns:38px 52px 1fr 40px}.service p{grid-column:3/5}.services-more{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.service{grid-template-columns:32px 46px 1fr 28px;gap:16px}.service-symbol{width:42px;height:42px}.service h3{font-size:22px}.services-more .button{width:100%;gap:15px}.services-more p{font-size:13px}}
.why-us{position:relative;overflow:hidden;background:linear-gradient(135deg,#101722 0%,#153e79 62%,#2474e5 100%);color:#fff}.why-us:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-190px;top:-210px;box-shadow:0 0 0 90px rgba(255,255,255,.035),0 0 0 180px rgba(255,255,255,.025)}.why-bolt{position:absolute;right:5%;top:25%;font-size:360px;line-height:.8;color:var(--signal);opacity:.12;transform:skew(-8deg)}.why-heading{position:relative;z-index:1;display:grid;grid-template-columns:.45fr 1.1fr;column-gap:60px;max-width:1180px}.why-heading .section-label{color:#8fc0ff}.why-heading h2{font-size:clamp(42px,5vw,76px);line-height:1;letter-spacing:-.045em}.why-heading>p:last-child{grid-column:2;color:#d5e1f0;font-size:18px;line-height:1.65;max-width:680px;margin:28px 0 0}.why-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:65px}.why-card{min-height:310px;padding:34px;border:1px solid rgba(255,255,255,.2);background:rgba(8,18,32,.4);backdrop-filter:blur(8px);display:flex;flex-direction:column}.why-card>span{color:#82b9ff;font-family:Syne,sans-serif;font-size:20px;font-weight:700}.why-card h3{font-family:Syne,sans-serif;font-size:28px;line-height:1.2;margin:45px 0 18px}.why-card p{color:#c8d5e6;line-height:1.65;margin:0}.why-card-accent{background:var(--signal);color:#101722;border-color:var(--signal);transform:translateY(-16px)}.why-card-accent>span{color:#1259a9;font-size:34px}.why-card-accent p{color:#303947}.why-card-accent a{display:inline-block;margin-top:auto;padding-top:22px;font-weight:800;border-bottom:1px solid currentColor;align-self:flex-start}
@media(max-width:900px){.why-heading{grid-template-columns:1fr}.why-heading>p:last-child{grid-column:1}.why-grid{grid-template-columns:1fr 1fr}.why-card-accent{grid-column:1/-1;transform:none}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr}.why-card-accent{grid-column:auto}.why-card{min-height:280px}.why-bolt{font-size:260px;right:-25%}}
.portfolio-header{position:relative;background:#101722}.portfolio-back{border:1px solid rgba(255,255,255,.4);padding:13px 18px;font-size:14px;font-weight:800}.portfolio-hero{min-height:590px;padding:100px clamp(24px,8vw,130px);background:linear-gradient(120deg,#10141b,#153e79);color:#fff;display:flex;flex-direction:column;justify-content:center}.portfolio-hero h1{font-size:clamp(70px,10vw,145px)}.portfolio-hero>p:last-child{max-width:720px;color:#ccd8e8;font-size:20px;line-height:1.65;margin:36px 0 0}.portfolio-projects{padding-top:100px}.portfolio-cta{display:flex;align-items:center;justify-content:space-between;gap:45px;background:#eaf2fd}.portfolio-cta h2{font-size:clamp(38px,5vw,72px);line-height:1}.portfolio-cta .button{flex:0 0 auto}
@media(max-width:600px){.portfolio-header .brand-name{display:none}.portfolio-hero{min-height:500px;padding-top:75px}.portfolio-hero>p:last-child{font-size:17px}.portfolio-cta{align-items:flex-start;flex-direction:column}.portfolio-cta .button{width:100%}}
