:root{--primary:#c85a3a;--primary-dark:#a8482d;--secondary:#7a9e87;--bg-primary:#fdfbf8;--bg-secondary:#f7f3ee;--bg-tertiary:#2d4a3e;--text-primary:#1e1e1c;--text-secondary:#5c5854;--text-muted:rgba(253,251,248,.7);--border-light:#e2dcd4;--border-medium:rgba(253,251,248,.12);--font-display:'Playfair Display',serif;--font-body:'Inter',sans-serif}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}.container--narrow{max-width:720px}.section{padding:clamp(5rem,10vh,8rem) 0}.section--alt{background-color:var(--bg-primary)}.section--dark{background-color:var(--bg-tertiary)}.section--noise{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(#n)' opacity='0.035'/%3E%3C/svg%3E")}.section-header{text-align:center;max-width:640px;margin:0 auto 3rem}.section-header .section-label{margin-bottom:1rem}.section-header .section-title{margin-bottom:.5rem}.img-rounded{border-radius:8px}.img-bordered{border:3px solid var(--border-light)}.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.15;color:var(--text-primary)}.section-body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--text-secondary)}.section-chapeau{font-family:var(--font-body);font-size:1.2rem;line-height:1.65;color:var(--text-secondary);max-width:520px;margin:1rem auto 0}.section-label{font-family:var(--font-body);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--secondary);display:inline-block}.btn{display:inline-block;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.02em;padding:.85rem 2rem;border-radius:8px;text-align:center;transition:all .3s ease;cursor:pointer}.btn-primary{background-color:var(--primary);color:var(--bg-primary)}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1.5px solid var(--text-primary)}.btn-secondary:hover{background-color:var(--text-primary);color:var(--bg-primary)}.btn-sm{padding:.6rem 1.4rem;font-size:.85rem}.btn-full{display:block;width:100%;margin-top:2rem;padding:1rem;font-size:1rem}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;height:72px;background:transparent;transition:all .3s ease}.navbar.is-scrolled{background-color:rgba(253,251,248,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,220,212,.6)}.nav-container{max-width:1200px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem);height:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-primary);z-index:51}.logo-accent{color:var(--primary)}.nav-links{display:none;align-items:center;gap:2.5rem}.nav-link{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--text-secondary);position:relative;transition:color .3s ease}.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background-color:var(--primary);transition:width .3s ease}.nav-link:hover{color:var(--text-primary)}.nav-link:hover::after{width:100%}.nav-actions{display:flex;align-items:center;gap:1rem}.nav-hamburger{display:flex;flex-direction:column;justify-content:space-between;width:22px;height:16px;z-index:51;position:relative}.nav-hamburger span{display:block;height:2px;background-color:var(--text-primary);border-radius:1px;transition:all .3s ease}.nav-hamburger.is-open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-hamburger.is-open span:nth-child(2){opacity:0}.nav-hamburger.is-open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(min-width:768px){.nav-links{display:flex}.nav-hamburger{display:none}}.mobile-overlay{position:fixed;inset:0;background-color:var(--bg-tertiary);z-index:40;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.mobile-overlay.is-open{opacity:1;pointer-events:all}.mobile-links{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.mobile-link{font-family:var(--font-display);font-size:2rem;color:var(--bg-primary);transition:color .2s ease}.mobile-link:hover{color:var(--secondary)}.footer{background-color:var(--bg-tertiary);padding-top:4rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--bg-primary);margin-bottom:.75rem}.footer-tagline{font-family:var(--font-body);font-size:.9rem;color:var(--text-muted);max-width:240px;line-height:1.6}.footer-heading{font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--secondary);margin-bottom:1rem}.footer-links li{margin-bottom:.6rem}.footer-links a{font-family:var(--font-body);font-size:.9rem;color:var(--text-muted);transition:color .2s ease}.footer-links a:hover{color:var(--bg-primary)}.footer-bottom{border-top:1px solid var(--border-medium);margin-top:3rem;padding:1.5rem 0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-bottom p{font-family:var(--font-body);font-size:.75rem;color:rgba(253,251,248,.5)}@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.hero-canvas{display:none !important}.hero-fade-in{opacity:1;transform:none;animation:none}.js-reveal{opacity:1 !important;transform:none !important;transition:none !important}}