:root{--color-bg:#0a0a0a;--color-text:#fff;--color-text-muted:#aaa;--color-text-faint:#777;--color-border:#ffffff1a;--color-border-dark:#ffffff40;--color-overlay:#000c;--color-menu-bg:#000;--color-menu-text:#fff;--color-accent:#d4af37;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--fw-thin:100;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:900;--nav-height:64px;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--color-surface:#ffffff08;--grid-gap:3px;--grid-cols:3;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-standard:cubic-bezier(.4, 0, .2, 1);--dur-fast:.15s;--dur-med:.35s;--dur-slow:.6s;--dur-menu:.55s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable;font-size:16px}body{font-family:var(--font-sans);font-weight:var(--fw-regular);font-optical-sizing:auto;background-color:var(--color-bg);color:var(--color-text);min-height:100dvh;overflow-x:hidden}img{object-fit:cover;max-width:100%;height:100%;display:block}a{color:inherit;text-decoration:none}button{all:unset;cursor:pointer}ul{list-style:none}.site-header{z-index:100;height:var(--nav-height);background-color:var(--color-bg);border-bottom:1px solid var(--color-border);transition:border-color var(--dur-med) var(--ease-standard), background-color var(--dur-med) var(--ease-standard);position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{border-bottom-color:var(--color-border-dark)}.nav{height:100%;padding-inline:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.nav__logo{transition:opacity var(--dur-fast) var(--ease-standard);flex-shrink:0;align-items:center;display:flex}.nav__logo-img{width:auto;height:32px;display:block}.nav__logo:hover{opacity:.6}.nav__links{align-items:center;gap:var(--space-lg);margin-inline:auto;display:flex}.nav__link{font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-standard);position:relative}.nav__link:after{content:"";background-color:var(--color-text);width:0;height:1px;transition:width var(--dur-med) var(--ease-out);position:absolute;bottom:-2px;left:0}.nav__link:hover{color:var(--color-text)}.nav__link:hover:after{width:100%}.nav__controls{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.nav__social{width:18px;height:18px;color:var(--color-text-faint);transition:color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav__social svg{width:18px;height:18px}.nav__social:hover{transform:translateY(-2px)}.nav__social[aria-label=Instagram]:hover{color:#e1306c}.nav__social[aria-label=Facebook]:hover{color:#1877f2}.nav__social[aria-label=LinkedIn]:hover{color:#0a66c2}.nav__social[aria-label=YouTube]:hover{color:red}.nav__social[aria-label=Indeed]:hover{color:#2164f3}.region-wrapper{position:relative}.nav__region{anchor-name:--lang-switcher;font-family:var(--font-sans);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-standard);align-items:center;gap:.2em;display:flex}.nav__region:hover{color:var(--color-text)}.nav__region-plus{font-weight:var(--fw-thin);transition:transform var(--dur-med) var(--ease-out);font-size:1em;line-height:1;display:inline-block}:is(.nav__region:hover .nav__region-plus,[popover]:popover-open~* .nav__region-plus){transform:rotate(45deg)}.region-dropdown{position-anchor:--lang-switcher;inset:auto;top:anchor(bottom);right:anchor(right);margin-top:8px;position:fixed}@supports not (anchor-name:--x){.region-dropdown{top:calc(var(--nav-height) + 8px);right:var(--space-md)}}.region-dropdown{background:var(--color-bg);border:1px solid var(--color-border-dark);padding:var(--space-xs) 0;opacity:0;visibility:hidden;pointer-events:none;min-width:160px;transition-property:opacity,transform,visibility,display,overlay;transition-duration:var(--dur-med);transition-timing-function:var(--ease-out);transition-behavior:allow-discrete;flex-direction:column;margin-inline:0;display:flex}.region-dropdown:popover-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}@starting-style{.region-dropdown:popover-open{opacity:0;transform:translateY(-8px)}}.region-option{font-family:var(--font-sans);font-size:.75rem;font-weight:var(--fw-regular);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);text-align:left;transition:color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);cursor:pointer;background:0 0;border:none;width:100%;padding:.6rem 1.25rem}.region-option:hover{color:var(--color-text);background-color:#00000008}.region-option--active{color:var(--color-text);font-weight:var(--fw-medium)}.nav__menu-btn{font-family:var(--font-sans);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text);transition:opacity var(--dur-fast) var(--ease-standard);align-items:center;gap:.25em;display:flex}.nav__menu-btn:hover{opacity:.5}.nav__menu-plus{transition:transform var(--dur-med) var(--ease-out);font-size:1.1em;font-weight:var(--fw-thin);display:inline-block}.nav__menu-btn:hover .nav__menu-plus,.nav__menu-btn[aria-expanded=true] .nav__menu-plus{transform:rotate(45deg)}.fullscreen-menu{width:100%;height:100%;max-width:unset;max-height:unset;background-color:var(--color-menu-bg);color:var(--color-menu-text);opacity:0;visibility:hidden;pointer-events:none;transition-property:opacity,visibility,display,overlay;transition-duration:var(--dur-menu);transition-timing-function:var(--ease-standard);transition-behavior:allow-discrete;border:none;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.fullscreen-menu:popover-open{opacity:1;visibility:visible;pointer-events:auto}@starting-style{.fullscreen-menu:popover-open{opacity:0}}.fullscreen-menu::backdrop{background-color:#0000}.fullscreen-menu__inner{height:100%;padding:var(--space-md);padding-top:var(--nav-height);flex-direction:column;justify-content:space-between;display:flex}.fullscreen-menu__close{font-family:var(--font-sans);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:.14em;text-transform:uppercase;color:#fff6;top:calc(var(--nav-height) / 2);right:var(--space-md);transition:color var(--dur-fast) var(--ease-standard);align-items:center;gap:.4em;display:flex;position:absolute;transform:translateY(-50%)}.fullscreen-menu__close:hover{color:#fff}.fullscreen-menu__nav{margin-top:var(--space-lg)}.fullscreen-menu__list{flex-direction:column;gap:0;display:flex}.fullscreen-menu__item{border-top:1px solid #ffffff12;overflow:hidden}.fullscreen-menu__item:last-child{border-bottom:1px solid #ffffff12}.fullscreen-menu__link{align-items:center;gap:var(--space-md);font-size:clamp(2.5rem,7vw,6rem);font-weight:var(--fw-black);letter-spacing:-.02em;color:var(--color-menu-text);transition:color var(--dur-fast) var(--ease-standard), transform var(--dur-med) var(--ease-out);padding-block:1.5rem;line-height:1;display:flex;transform:translate(0)}.fullscreen-menu__link:hover{color:#ffffff59;transform:translate(1rem)}.fullscreen-menu__index{font-size:.75rem;font-weight:var(--fw-regular);letter-spacing:.08em;color:#ffffff40;align-self:flex-start;margin-top:.6em}.fullscreen-menu__footer{padding-bottom:var(--space-sm);justify-content:space-between;align-items:flex-end;gap:var(--space-md);display:flex}.fullscreen-menu__socials{gap:var(--space-md);display:flex}.fullscreen-menu__social-link{font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;transition:color var(--dur-fast) var(--ease-standard)}.fullscreen-menu__social-link:hover{color:var(--color-menu-text)}.fullscreen-menu__tagline{letter-spacing:.04em;color:#fff3;text-align:right;font-size:.6875rem;font-style:italic}.hero{padding-top:var(--nav-height);border-bottom:1px solid var(--color-border);overflow:hidden}.marquee{border-top:1px solid var(--color-border);background-color:#ecb33d;width:100%;padding-block:.85rem;display:flex;overflow:hidden}.marquee__track{white-space:nowrap;will-change:transform;animation:28s linear infinite marquee-scroll;display:flex}.marquee__text{font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:.14em;text-transform:uppercase;color:#fff;padding-right:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.projects{grid-template-columns:repeat(var(--grid-cols), 1fr);grid-auto-flow:dense;gap:var(--grid-gap);padding:var(--grid-gap);background-color:var(--color-border);display:grid}.project{background-color:var(--color-bg);overflow:hidden}.project--wide{grid-column:span 2}.project--tall{grid-row:span 2}.project__link{flex-direction:column;height:100%;display:flex}.project__media{aspect-ratio:16/10;background-color:#111;flex-grow:1;display:flex;position:relative;overflow:hidden}.project--tall .project__media{aspect-ratio:3/4}.project__img,.project__video{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out), opacity var(--dur-med) var(--ease-standard);transform-origin:50%;will-change:transform}.youtube-bg{pointer-events:none;width:150%;height:150%;transition:opacity var(--dur-med) var(--ease-standard);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project:hover .project__img,.project:hover .project__video,.project:hover .youtube-bg{transform:translate(-50%,-50%)scale(1.04)}.project:hover .project__img:not(.youtube-bg),.project:hover .project__video{transform:scale(1.04)}.project:hover .project__img,.project:hover .project__video,.project:hover .youtube-bg{opacity:.85}.youtube-click-blocker{z-index:1;pointer-events:none;background:0 0;position:absolute;inset:0}.project__overlay{transition:background-color var(--dur-med) var(--ease-standard);background-color:#0000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project:hover .project__overlay{background-color:#0000002e}.project__play-icon{display:none}.project__caption{padding:.75rem var(--space-sm) 1rem;letter-spacing:.04em;color:var(--color-text-muted);background-color:var(--color-bg);transition:color var(--dur-fast) var(--ease-standard);flex-wrap:wrap;align-items:baseline;gap:.4em;font-size:.6875rem;display:flex}.project:hover .project__caption{color:var(--color-text)}.project__brand{font-weight:var(--fw-semibold);color:var(--color-text);letter-spacing:.07em;text-transform:uppercase;font-size:.625rem}.project__separator{color:var(--color-border-dark);font-weight:var(--fw-thin)}.project__title{font-style:italic;font-weight:var(--fw-regular)}.project__director{color:var(--color-text-faint);letter-spacing:.06em;margin-left:auto;font-size:.625rem}.site-footer{z-index:10;border-top:1px solid var(--color-border-dark);padding-top:var(--space-xl);padding-bottom:var(--space-lg);margin-top:var(--grid-gap);position:relative}.site-footer__inner{align-items:start;gap:var(--space-lg);padding-inline:var(--space-md);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-dark);margin-bottom:var(--space-lg);grid-template-columns:1.6fr 1fr 1fr 1fr;display:grid}.site-footer__brand-contact{gap:var(--space-md);padding-right:var(--space-lg);flex-direction:column;display:flex}.site-footer__logo-link{transition:opacity var(--dur-fast) var(--ease-standard);display:inline-block}.site-footer__logo-link:hover{opacity:.8}.site-footer__logo-img{width:auto;height:48px;display:block}.site-footer__tagline{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);margin-top:.35rem;font-size:.625rem}.site-footer__address{color:var(--color-text-muted);margin-top:var(--space-sm);flex-direction:column;gap:.4rem;font-size:.78rem;font-style:normal;line-height:1.5;display:flex}.site-footer__address a{color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-standard);text-decoration:none}.site-footer__address a:hover{color:var(--color-text)}.site-footer__address p{color:var(--color-text-faint);margin-top:.25rem;font-size:.72rem}.site-footer__nav,.site-footer__legal-links{flex-direction:column;gap:.6rem;display:flex}.site-footer__nav-title{letter-spacing:.15em;text-transform:uppercase;color:var(--color-text);border-bottom:1px solid var(--color-border-dark);margin-bottom:.5rem;padding-bottom:.5rem;font-size:.7rem;font-weight:700}.site-footer__link{color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-standard), padding-left var(--dur-fast) var(--ease-standard);align-items:center;gap:.4rem;font-size:.78rem;text-decoration:none;display:flex}.site-footer__link:before{content:"";background:var(--color-text);width:0;height:1px;transition:width var(--dur-fast) var(--ease-standard);display:inline-block}.site-footer__link:hover{color:var(--color-text);padding-left:.3rem}.site-footer__link:hover:before{width:8px}.site-footer__map-container{flex-direction:column;display:flex}.site-footer__map{width:100%;height:140px;margin-top:.5rem}.site-footer__map iframe{border-radius:var(--radius-md);filter:grayscale()invert(85%)contrast(85%);opacity:.75;width:100%;height:100%;transition:filter var(--dur-standard) var(--ease-standard), opacity var(--dur-standard) var(--ease-standard)}.site-footer__map iframe:hover{filter:grayscale(0%)invert(0%)contrast();opacity:1}.site-footer__bottom{padding-inline:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.site-footer__copy{letter-spacing:.06em;color:var(--color-text-faint);font-size:.625rem}.site-footer__legal{gap:var(--space-md);flex-wrap:wrap;display:flex}.site-footer__legal a{letter-spacing:.06em;color:var(--color-text-faint);transition:color var(--dur-standard) var(--ease-standard);font-size:.625rem;text-decoration:none}.site-footer__legal a:hover{color:var(--color-text)}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}.project__img{transition:opacity var(--dur-fast) var(--ease-standard)}.project:hover .project__img{transform:none}.project__play-icon{transition:opacity var(--dur-fast) var(--ease-standard);transform:scale(1)}.fullscreen-menu{transition-duration:.1s}.region-dropdown{transition-duration:.1s;transform:none}.region-dropdown:popover-open{transform:none}}.about-page{padding-top:var(--nav-height);background-color:var(--color-bg);min-height:100vh}.about-hero{padding:var(--space-xl) var(--space-md) var(--space-lg);gap:var(--space-md);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.about-title{color:var(--color-text);letter-spacing:-.02em;font-family:Times New Roman,Times,serif;font-size:clamp(3rem,5vw,4.5rem);font-weight:300;line-height:1.1}.about-text-cols{gap:var(--space-lg);grid-template-columns:1fr 1fr;align-items:start;display:grid}.legal-page{padding-top:var(--nav-height);background-color:var(--color-bg);min-height:100vh;padding-bottom:var(--space-xxl)}.legal-section{padding:var(--space-xl) var(--space-md);max-width:800px;margin:0 auto}.legal-title{color:var(--color-text);margin-bottom:var(--space-lg);letter-spacing:-.02em;font-family:Times New Roman,Times,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:300;line-height:1.1}.legal-text{font-size:var(--text-md);color:var(--color-text-muted);line-height:1.6}.legal-text strong{color:var(--color-text);font-weight:600}.about-desc-col{color:var(--color-text-muted);font-size:.85rem;line-height:1.6}.about-grid-section{grid-template-columns:1fr 1fr;min-height:70vh;display:grid}.about-domains{padding:var(--space-lg) var(--space-md);border-right:1px solid var(--color-border)}.about-domains-title{margin-bottom:var(--space-lg);color:var(--color-text);font-family:Times New Roman,Times,serif;font-size:2.5rem;font-weight:300}.domains-list{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.domain-item h3{font-size:.85rem;font-weight:var(--fw-semibold);color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4em}.domain-item p{color:var(--color-text-faint);font-size:.75rem;line-height:1.5}.about-media{background:#111;position:relative;overflow:hidden}.about-video{object-fit:cover;width:100%;height:100%}.about-clients{padding:var(--space-xl) 0;border-top:1px solid var(--color-border);overflow:hidden}.about-clients-title{text-align:center;color:var(--color-text);letter-spacing:-.01em;margin-bottom:var(--space-lg);font-family:Times New Roman,Times,serif;font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:300}.logo-carousel{white-space:nowrap;width:100%;position:relative;overflow:hidden}.logo-carousel__track{align-items:center;gap:4rem;animation:20s linear infinite scroll-logos;display:inline-flex}.client-logo{object-fit:contain;filter:grayscale()brightness(.8);opacity:.7;width:150px;height:70px;transition:opacity .3s,filter .3s}.client-logo:hover{filter:grayscale(0%)brightness();opacity:1}@keyframes scroll-logos{0%{transform:translate(0)}to{transform:translate(calc(-50% - 2rem))}}@media (width<=1024px){.about-hero,.about-grid-section{grid-template-columns:1fr}.about-domains{border-right:none;border-bottom:1px solid var(--color-border)}}@media (width<=640px){.about-text-cols,.domains-list{grid-template-columns:1fr}.about-title{margin-bottom:var(--space-sm)}}.contact-page{min-height:calc(100vh - var(--nav-height));padding:var(--space-lg) var(--space-md)}.contact-page__inner{gap:var(--space-lg);max-width:1100px;padding-top:var(--space-md);grid-template-columns:1fr 1.6fr;align-items:start;margin:0 auto;display:grid}.contact-info{top:calc(var(--nav-height) + 2rem);position:sticky}.contact-info__title{letter-spacing:-.02em;color:var(--color-text);margin-bottom:.75rem;font-family:Times New Roman,Times,serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;line-height:1.1}.contact-info__subtitle{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:.9rem;line-height:1.6}.contact-info__items{gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.contact-info__item{align-items:flex-start;gap:1rem;display:flex}.contact-info__icon{border:1px solid var(--color-border-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:.1rem;display:flex}.contact-info__icon svg{width:16px;height:16px;color:var(--color-text-muted)}.contact-info__label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.25rem;font-size:.65rem}.contact-info__value{color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-standard);font-size:.88rem;line-height:1.5;text-decoration:none}.contact-info__value:hover{color:var(--color-text)}.contact-info__socials{flex-wrap:wrap;gap:1.25rem;margin-top:2rem;display:flex}.contact-info__socials a{background:var(--color-surface);width:44px;height:44px;color:var(--color-text-faint);transition:all var(--dur-fast) var(--ease-standard);border:1px solid var(--color-border-dark);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.contact-info__socials a:hover{color:var(--color-text);background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.contact-info__socials .contact-info__social-link--instagram:hover{color:#e1306c;border-color:#e1306c66}.contact-info__socials .contact-info__social-link--facebook:hover{color:#1877f2;border-color:#1877f266}.contact-info__socials .contact-info__social-link--linkedin:hover{color:#0a66c2;border-color:#0a66c266}.contact-info__socials .contact-info__social-link--youtube:hover{color:red;border-color:#f006}.contact-info__socials .contact-info__social-link--indeed:hover{color:#2164f4;border-color:#2164f466}.contact-form-section{background:var(--color-surface);border:1px solid var(--color-border-dark);border-radius:var(--radius-lg);padding:2.5rem 2rem}.contact-form{gap:var(--space-md);flex-direction:column;display:flex}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);font-size:.7rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);box-sizing:border-box;appearance:none;background:0 0;outline:none;width:100%;padding:.65rem .85rem;font-size:.875rem}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-group select option{color:var(--color-text);background:#111}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-faint)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-text-muted);box-shadow:0 0 0 3px #ffffff0a}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-submit{background:var(--color-text);color:#000;border-radius:var(--radius-sm);font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:var(--space-sm);transition:background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);border:none;justify-content:center;align-self:flex-start;align-items:center;gap:.6rem;padding:.85rem 2rem;font-size:.78rem;font-weight:600;display:flex}.form-submit:hover{background:#e0e0e0;transform:translateY(-1px);box-shadow:0 6px 20px #ffffff1f}.form-submit:active{transform:translateY(0)}.form-submit__icon{flex-shrink:0;width:15px;height:15px}.form-success{border-radius:var(--radius-md);color:var(--color-text);margin-top:var(--space-md);background:#ffffff0a;border:1px solid #ffffff26;align-items:center;gap:1rem;padding:2rem;font-size:1rem;font-weight:500;display:flex}.form-success svg{color:#6ee7b7;flex-shrink:0;width:28px;height:28px}@media (width<=768px){.contact-page{padding:var(--space-md) var(--space-sm)}.contact-page__inner{gap:var(--space-md);grid-template-columns:1fr}.contact-info{position:static}.form-row{grid-template-columns:1fr}.contact-form-section{padding:1.5rem 1rem}}.float-widget{z-index:9999;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:2rem;right:2rem}.float-btn{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:visible;box-shadow:0 4px 20px #0006}.float-btn svg{flex-shrink:0;width:24px;height:24px}.float-btn--phone{background:#1a1a1a;border:1px solid #ffffff26}.float-btn--whatsapp{background:#25d366}.float-btn:hover{transform:scale(1.12)translateY(-2px);box-shadow:0 8px 30px #00000080}.float-btn--phone:hover{color:#111;background:#fff}.float-btn--whatsapp:hover{background:#20b858}.float-btn__tooltip{color:#fff;font-size:.75rem;font-family:var(--font-sans);white-space:nowrap;pointer-events:none;opacity:0;background:#141414f2;border:1px solid #ffffff1a;border-radius:6px;padding:.35em .75em;transition:opacity .2s,transform .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)translate(6px)}.float-btn:hover .float-btn__tooltip{opacity:1;transform:translateY(-50%)translate(0)}@keyframes pulse-ring{0%{box-shadow:0 0 #25d36680}70%{box-shadow:0 0 0 12px #25d36600}to{box-shadow:0 0 #25d36600}}.float-btn--whatsapp{animation:2.5s ease-out infinite pulse-ring}.float-btn--whatsapp:hover{animation:none}@media (width<=1280px){.nav__links{gap:1.5rem}.nav__social{display:none}}@media (width<=1024px){:root{--grid-cols:2}.nav__links{display:none}.project--wide{grid-column:span 2}.project--tall{grid-area:span 1/span 1}.project--tall .project__media{aspect-ratio:3/4}.project__media{aspect-ratio:16/10}.project--wide .project__media{aspect-ratio:16/7}}@media (width<=640px){:root{--grid-cols:1;--grid-gap:2px;--space-md:1.25rem;--space-lg:2.5rem}.nav__social{display:none}.project--wide,.project--tall{grid-area:span 1/span 1}.project--wide .project__media,.project--tall .project__media{aspect-ratio:16/10}.site-footer__inner{text-align:center;gap:var(--space-xl);grid-template-columns:1fr}.site-footer__brand-contact{align-items:center}.site-footer__nav,.site-footer__legal-links{align-items:center;gap:var(--space-md)}.site-footer__bottom{text-align:center;justify-content:center;gap:var(--space-md);flex-direction:column}.site-footer__legal{justify-content:center}.fullscreen-menu__footer{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.fullscreen-menu__tagline{text-align:left}}

/* À AJOUTER À LA FIN DE assets/main-Bn_brtqW.css
   Empêche le navigateur de traiter les vidéos de projet comme des lecteurs manipulables.
   Le clic continue d'atteindre le lien parent : la navigation n'est pas affectée.
   ⚠️ NON TESTÉ depuis l'environnement cloud — à vérifier sur ordinateur ET téléphone. */
.project__video { pointer-events: none; }

/* ══════════════════════════════════════════════════════════════════
   Corrections du 21 août 2026 — EL25STUDIO
   Ajoutées en fin de fichier : à spécificité égale, la dernière règle
   l'emporte. Aucune règle existante n'est modifiée ni supprimée.
   Ce fichier est produit par une chaîne de construction : ces règles
   doivent être reportées dans les sources du site, sans quoi elles
   seront perdues au prochain build.
   ══════════════════════════════════════════════════════════════════ */

/* 1 — Le pied de page s'aligne sur la colonne de contenu.
   Constat mesuré au navigateur : le contenu des pages est centré dans
   1 180 px, alors que le pied de page restait collé à 32 px du bord.
   Écart à 1 920 px de large : 331 px. À 2 560 px : 651 px.
   C'est ce décalage qui donnait l'impression que le bas « penchait ». */
.site-footer__inner,
.site-footer__bottom {
  max-width: 1180px;
  margin-inline: auto;
}

/* 2 — Le bandeau du bas passait sous les boutons flottants.
   Les boutons d'appel et de messagerie sont fixés en bas à droite et
   recouvraient le dernier lien légal. Une réserve à droite libère le
   passage, uniquement dans la plage de largeurs où la collision a lieu. */
@media (min-width: 900px) and (max-width: 1400px) {
  .site-footer__bottom { padding-right: 6.5rem; }
}
/* Sur mobile, le bandeau est centré et occupe toute la largeur : la réserve
   doit être verticale. Les deux boutons empilés montent à environ 162 px
   au-dessus du bas de l'écran ; 11 rem dégagent le passage. */
@media (max-width: 899px) {
  .site-footer__bottom { padding-bottom: 11rem; }
}

/* 3 — Apparition au défilement.
   Les cartes et les étapes montent légèrement en entrant dans l'écran.
   Durée et accélération reprennent les variables déjà définies plus haut,
   pour rester dans le mouvement du site.
   Doublement protégé : ignoré si le visiteur a demandé moins d'animations,
   et ignoré par les navigateurs qui ne savent pas lier une animation au
   défilement — la page s'affiche alors normalement, sans transition. */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .seo-card,
    .seo-step {
      animation: el25-apparition linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 42%;
    }
    @keyframes el25-apparition {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: none; }
    }
  }
}

/* 4 — Lisibilité du texte discret.
   Mesuré au navigateur sur les 27 pages : la couleur des mentions les plus
   discrètes donnait un rapport de contraste de 4,42 contre le fond, pour un
   minimum recommandé de 4,5. L'écart est infime mais il concernait 294 textes.
   La couleur passe de #777 à #7a7a7a — trois niveaux sur 255, invisible à l'œil,
   rapport porté à 4,61. Aucune autre couleur n'est touchée. */
:root { --color-text-faint: #7a7a7a; }

/* 5 — Cibles tactiles.
   Sur mobile, les liens du pied de page, du menu et du fil d'Ariane mesuraient
   12 à 19 px de haut, sous le minimum de 24 px recommandé pour le doigt.
   La zone cliquable est agrandie par une marge intérieure, immédiatement
   compensée par une marge extérieure négative de même valeur : la boîte
   extérieure garde exactement sa taille, donc la mise en page ne bouge pas.
   Seule la surface qui répond au doigt s'agrandit.

   Deux éléments sont volontairement laissés de côté : le sélecteur de langue,
   dont l'agrandissement décalait le menu déroulant qu'il ancre, et le bouton
   « Fermer » du menu plein écran, dont le libellé remontait de 5 px. Les deux
   sont larges et isolés dans de grandes zones vides : ils se visent sans peine.
   On ne déplace rien de visible pour gagner un point de contrôle. */
@media (max-width: 699px) {
  .nav__menu-btn,
  .fullscreen-menu__social-link,
  .seo-breadcrumbs a,
  .site-footer__address a,
  .site-footer__link {
    padding-block: 5px;
    margin-block: -5px;
  }
  /* Ces deux familles partaient de plus bas : 12 px pour les liens du bandeau,
     21 px pour les questions dépliables. Une réserve un peu plus large les
     amène au-dessus du seuil, toujours à mise en page constante. */
  .site-footer__legal a {
    padding-block: 6px;
    margin-block: -6px;
  }
  .seo-faq summary,
  .contact-info__item a,
  .seo-card h3 a {
    padding-block: 3px;
    margin-block: -3px;
  }
}

/* Les liens placés au fil d'une phrase ne sont pas concernés : les élargir
   déformerait l'interligne du paragraphe, et la règle d'accessibilité prévoit
   explicitement cette exception pour les liens en ligne dans un texte. */
