:root{--cream:#f7f4ee;--cream-dark:#e8e3da;--charcoal:#1a1f1c;--charcoal-muted:#5c635f;--copper:#c87935;--copper-light:#d4956a;--surface:#faf7f1;--font-sans:"Manrope", system-ui, -apple-system, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:clamp(4rem, 8vw, 6rem);--max-width:72rem;--header-height:5.25rem;--radius-sm:2px;--shadow-soft:0 1px 2px color-mix(in srgb, var(--charcoal) 6%, transparent)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--charcoal);background-color:var(--cream);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--copper)}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.skip-link{top:-100%;left:var(--space-sm);z-index:1000;padding:var(--space-xs) var(--space-sm);background:var(--charcoal);color:var(--cream);font-weight:600;text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-sm)}.container{width:min(100% - 2.5rem, var(--max-width));margin-inline:auto}.site-header{z-index:100;background:color-mix(in srgb, var(--cream) 94%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--header-height);display:flex}.wordmark{align-items:center;text-decoration:none;display:flex}.wordmark-lockup{width:auto;height:clamp(2.25rem,4.5vw,2.875rem)}.site-nav{align-items:center;gap:var(--space-lg);display:none}.site-nav a{letter-spacing:.01em;font-size:.9375rem;font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--copper)}.header-actions{align-items:center;gap:var(--space-sm);display:flex}.lang-switch{letter-spacing:.04em;text-transform:uppercase;color:var(--charcoal-muted);border:1px solid color-mix(in srgb, var(--charcoal) 12%, transparent);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.lang-switch:hover{color:var(--copper);border-color:color-mix(in srgb, var(--copper) 40%, transparent)}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1.35rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--copper);color:var(--cream)}.btn-primary:hover{background:var(--charcoal);color:var(--cream)}.btn-secondary{color:var(--charcoal);border-color:color-mix(in srgb, var(--charcoal) 25%, transparent);background:0 0}.btn-secondary:hover{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}.header-cta{display:none}@media (width>=768px){.site-nav{display:flex}.header-cta{display:inline-flex}}.hero{position:relative;overflow:hidden}.hero--photo{min-height:clamp(32rem,88vh,44rem);padding-block:var(--space-2xl);background-color:var(--charcoal);background-position:50% 42%;background-repeat:no-repeat;background-size:cover;align-items:center;display:flex}.hero-scrim{background:linear-gradient(to top, color-mix(in srgb, var(--charcoal) 96%, transparent) 0%, color-mix(in srgb, var(--charcoal) 72%, transparent) 28%, color-mix(in srgb, var(--charcoal) 35%, transparent) 62%, color-mix(in srgb, var(--charcoal) 18%, transparent) 100%), linear-gradient(100deg, color-mix(in srgb, var(--charcoal) 82%, transparent) 0%, color-mix(in srgb, var(--charcoal) 45%, transparent) 45%, transparent 72%);pointer-events:none;position:absolute;inset:0}.hero-content{z-index:1;max-width:38rem;position:relative}.hero--photo .overline{color:var(--copper-light);margin-bottom:var(--space-md)}.hero--photo h1{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 var(--space-md);color:var(--cream);font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:600;line-height:1.08}.hero--photo .hero-intro{max-width:34rem;margin:0 0 var(--space-lg);color:color-mix(in srgb, var(--cream) 90%, transparent);font-size:clamp(1.0625rem,2vw,1.1875rem)}.hero--photo .hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn-secondary--light{color:var(--cream);border-color:color-mix(in srgb, var(--cream) 45%, transparent)}.btn-secondary--light:hover{background:var(--cream);color:var(--charcoal);border-color:var(--cream)}.overline{letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal-muted);margin:0 0 var(--space-sm);font-size:.75rem;font-weight:700}.chips-section{padding-block:var(--space-lg);background:var(--surface);border-block:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent)}.chips-label{text-transform:uppercase;letter-spacing:.12em;color:var(--charcoal-muted);margin:0 0 var(--space-sm);font-size:.75rem;font-weight:700}.chips{flex-wrap:wrap;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid color-mix(in srgb, var(--charcoal) 10%, transparent);background:var(--cream);border-radius:999px;padding:.45rem 1rem;font-size:.875rem;font-weight:500}.section{padding-block:var(--space-2xl)}.section--surface{background:var(--surface)}.section h2{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 var(--space-xl);max-width:44rem;font-size:clamp(1.875rem,3.8vw,2.75rem);font-weight:600;line-height:1.12}.section-lead{color:var(--charcoal-muted);max-width:40rem;margin:calc(var(--space-md) * -1) 0 var(--space-xl);font-size:1.125rem;line-height:1.7}.card-grid{gap:var(--space-md);display:grid}@media (width>=768px){.card-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}}.card{padding:var(--space-lg) var(--space-md);background:var(--cream);border:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent);border-top:3px solid var(--copper);box-shadow:var(--shadow-soft);min-height:100%}.card h3{font-family:var(--font-serif);margin:0 0 var(--space-sm);font-size:1.3125rem;font-weight:600;line-height:1.25}.card p{color:var(--charcoal-muted);margin:0;font-size:.96875rem;line-height:1.65}.aerial-frame{aspect-ratio:4/3;border:1px solid color-mix(in srgb, var(--charcoal) 10%, transparent);background:var(--charcoal);overflow:hidden}.aerial-frame img{object-fit:cover;width:100%;height:100%}.app-gallery{gap:var(--space-md);display:grid}@media (width>=720px){.app-gallery{gap:var(--space-lg);grid-template-columns:repeat(2,1fr)}}.app-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent);box-shadow:var(--shadow-soft);flex-direction:column;min-height:100%;display:flex}.app-card-visual{aspect-ratio:1;background:var(--charcoal);overflow:hidden}.app-card-visual img{object-fit:cover;width:100%;height:100%}.app-card-placeholder{background:linear-gradient(145deg, color-mix(in srgb, var(--charcoal) 88%, var(--copper)) 0%, var(--charcoal) 100%), repeating-linear-gradient(-45deg, transparent, transparent 18px, color-mix(in srgb, var(--cream) 4%, transparent) 18px, color-mix(in srgb, var(--cream) 4%, transparent) 19px);width:100%;height:100%}.app-card-placeholder--measure{background:linear-gradient(160deg, var(--charcoal) 0%, color-mix(in srgb, var(--charcoal) 70%, var(--copper)) 100%), radial-gradient(circle at 70% 30%, color-mix(in srgb, var(--copper) 35%, transparent), transparent 55%)}.app-card-placeholder--inspect{background:linear-gradient(200deg, color-mix(in srgb, var(--charcoal) 80%, #4a5568) 0%, var(--charcoal) 100%), linear-gradient(90deg, transparent 68%, color-mix(in srgb, var(--copper) 25%, transparent) 68%, transparent 72%)}.app-card-placeholder--operate{background:linear-gradient(180deg, color-mix(in srgb, var(--charcoal) 75%, var(--copper)) 0%, var(--charcoal) 100%), radial-gradient(ellipse at 50% 120%, color-mix(in srgb, var(--copper-light) 20%, transparent), transparent 60%)}.app-card-body{padding:var(--space-md);border-top:3px solid var(--copper);flex-direction:column;flex:1;display:flex}.app-card-body h3{font-family:var(--font-serif);margin:0 0 .35rem;font-size:clamp(1.25rem,2vw,1.4375rem);font-weight:600;line-height:1.2}.app-meta{letter-spacing:.05em;text-transform:uppercase;color:var(--charcoal-muted);margin:0 0 var(--space-sm);font-size:.75rem;font-weight:600}.app-card-body>p{margin:0 0 var(--space-md);color:var(--charcoal-muted);flex:1;font-size:.9375rem;line-height:1.6}.app-tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.app-tags li{border:1px solid color-mix(in srgb, var(--charcoal) 10%, transparent);background:var(--surface);border-radius:999px;padding:.35rem .75rem;font-size:.8125rem;font-weight:500}.legal-note{margin-top:var(--space-xl);padding:var(--space-md) var(--space-md) var(--space-md) var(--space-lg);border-left:3px solid var(--copper);background:var(--surface);color:var(--charcoal-muted);font-size:.9375rem;line-height:1.65}.legal-note strong{color:var(--charcoal);font-weight:600}.territoire-list{gap:var(--space-md);margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.territoire-list{gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}}.territoire-card{flex-direction:column;min-height:100%;display:flex}.territoire-visual{aspect-ratio:4/3;border:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent);background:var(--charcoal);overflow:hidden}.territoire-visual img{object-fit:cover;width:100%;height:100%}.territoire-title{font-family:var(--font-serif);margin:var(--space-md) 0 0;padding-top:var(--space-sm);border-top:3px solid var(--copper);font-size:1.125rem;font-weight:600;line-height:1.35}.tech-section h2{max-width:52rem;margin-bottom:0}.process-grid{gap:var(--space-md);display:grid}@media (width>=640px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.process-grid{grid-template-columns:repeat(4,1fr)}}.process-step{padding:var(--space-md);background:var(--cream);border:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent);border-top:3px solid var(--copper);min-height:100%}.process-step h3{letter-spacing:.06em;text-transform:uppercase;margin:0 0 var(--space-xs);color:var(--copper);font-size:.9375rem;font-weight:700}.process-step p{color:var(--charcoal-muted);margin:0;font-size:.9375rem;line-height:1.6}.soumission-section{background:var(--charcoal);color:var(--cream)}.soumission-section h2{color:var(--cream);max-width:48rem}.soumission-section p,.soumission-section li{color:color-mix(in srgb, var(--cream) 82%, transparent);max-width:36rem}.soumission-section a{color:var(--cream)}.soumission-section a:hover{color:var(--copper-light)}.prep-list{margin:var(--space-md) 0 var(--space-lg);padding-left:1.25rem}.prep-list li{margin-bottom:.5rem;line-height:1.65}.contact-links{gap:var(--space-md);margin-top:var(--space-lg);flex-direction:column;display:flex}.contact-links a,.contact-link{font-weight:600;text-decoration:none}.soumission-section .contact-links a{border-bottom:1px solid color-mix(in srgb, var(--cream) 35%, transparent);padding-bottom:.125rem}.soumission-section .contact-links a:hover{border-bottom-color:var(--copper-light)}.page-hero{padding-block:var(--space-2xl) var(--space-xl);background:var(--surface);border-bottom:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent)}.page-hero h1{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 var(--space-md);max-width:44rem;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.1}.page-hero-intro{color:var(--charcoal-muted);max-width:40rem;margin:0;font-size:1.125rem;line-height:1.7}.contact-page-grid{gap:var(--space-lg);display:grid}@media (width>=768px){.contact-page-grid{grid-template-columns:1fr 1fr;align-items:stretch}}.contact-panel{padding:var(--space-lg);background:var(--cream);border:1px solid color-mix(in srgb, var(--charcoal) 8%, transparent);border-top:3px solid var(--copper);min-height:100%}.contact-panel h2{font-family:var(--font-serif);margin:0 0 var(--space-md);font-size:1.375rem;font-weight:600;line-height:1.25}.contact-panel .prep-list{color:var(--charcoal-muted);margin-top:0}.contact-panel.contact-panel--dark{background:var(--charcoal);color:var(--cream);border-color:color-mix(in srgb, var(--cream) 12%, transparent)}.contact-panel.contact-panel--dark h2{color:var(--cream)}.contact-panel.contact-panel--dark p,.contact-panel.contact-panel--dark li{color:color-mix(in srgb, var(--cream) 88%, transparent)}.contact-panel.contact-panel--dark a{color:var(--cream)}.contact-panel.contact-panel--dark a:hover{color:var(--copper-light)}.contact-panel.contact-panel--dark .contact-location{color:color-mix(in srgb, var(--cream) 82%, transparent);opacity:1}.contact-panel.contact-panel--dark .contact-link{border-color:color-mix(in srgb, var(--cream) 22%, transparent);background:color-mix(in srgb, var(--cream) 8%, transparent)}.contact-panel.contact-panel--dark .contact-link:hover{border-color:var(--copper-light);background:color-mix(in srgb, var(--cream) 12%, transparent);color:var(--cream)}.contact-panel.contact-panel--dark .contact-link-label{color:color-mix(in srgb, var(--cream) 72%, transparent);opacity:1}.contact-panel.contact-panel--dark .contact-link-value{color:var(--cream)}.contact-location{margin:0 0 var(--space-md);opacity:.82;font-size:.9375rem}.contact-link{padding:var(--space-md);border:1px solid color-mix(in srgb, var(--cream) 18%, transparent);background:color-mix(in srgb, var(--cream) 6%, transparent);border-radius:var(--radius-sm);flex-direction:column;gap:.2rem;transition:border-color .2s,background .2s;display:flex}.contact-link:hover{border-color:var(--copper-light);background:color-mix(in srgb, var(--cream) 10%, transparent);color:var(--cream)}.contact-link-label{letter-spacing:.08em;text-transform:uppercase;opacity:.72;font-size:.75rem;font-weight:700}.contact-link-value{font-size:1.25rem;font-weight:600}.contact-teaser{background:var(--charcoal);color:var(--cream)}.contact-teaser h2{font-family:var(--font-serif);margin:0 0 var(--space-md);max-width:40rem;color:var(--cream);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:600;line-height:1.12}.contact-teaser p{color:color-mix(in srgb, var(--cream) 82%, transparent);max-width:36rem;margin:0}.contact-teaser-inner{gap:var(--space-lg);align-items:end;display:grid}@media (width>=768px){.contact-teaser-inner{grid-template-columns:1fr auto}}.site-footer{padding-block:var(--space-xl);background:var(--charcoal);color:var(--cream);border-top:3px solid var(--copper)}.footer-grid{gap:var(--space-lg);display:grid}@media (width>=640px){.footer-grid{grid-template-columns:1fr auto;align-items:end}}.footer-brand-block{align-items:center;gap:var(--space-md);display:flex}.footer-lockup{flex-shrink:0;width:auto;height:clamp(1.75rem,3.5vw,2.25rem)}.footer-mark{border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0;width:2.75rem;height:2.75rem}.footer-brand{margin:0 0 .2rem;font-size:1.125rem;font-weight:700}.footer-tagline{font-family:var(--font-serif);opacity:.85;margin:0 0 var(--space-xs);font-size:1rem;font-style:italic}.footer-meta{opacity:.72;margin:0;font-size:.875rem}.footer-links{flex-direction:column;gap:.5rem;display:flex}@media (width>=640px){.footer-links{text-align:right;align-items:flex-end}}.footer-links a{color:var(--cream);font-size:.9375rem;font-weight:500;text-decoration:none}.footer-links a:hover{color:var(--copper-light)}
