@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--color-primary: #5d7a32;--color-primary-dark: #4a6328;--color-primary-subtle: #eef3e8;--color-on-primary: #ffffff;--color-footer: #2d4a1e;--color-footer-bar: #1a1a1a;--color-background: #fafbf7;--color-foreground: #1e241c;--color-muted-foreground: #5c6558;--color-border: #dce3d4;--color-card: #ffffff;--color-ring: #5d7a32;--color-hero-overlay: rgba(18, 28, 12, .55);--color-accent-warm: #c4a35a;--font-display: "Fraunces", Georgia, serif;--font-body: "Outfit", system-ui, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4.5rem;--space-4xl: 6rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-organic: 40% 60% 55% 45% / 55% 40% 60% 45%;--shadow-sm: 0 1px 3px rgba(30, 36, 28, .08);--shadow-md: 0 8px 24px rgba(45, 74, 30, .12);--shadow-lg: 0 20px 50px rgba(45, 74, 30, .18);--shadow-card: 0 4px 20px rgba(93, 122, 50, .1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .18s;--duration-base: .32s;--duration-slow: .6s;--container: min(1120px, calc(100% - 2.5rem) );--header-height: 72px;--z-header: 100;--z-modal: 200;--z-lightbox: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{font-family:var(--font-body);font-weight:400;color:var(--color-foreground);background:radial-gradient(ellipse 120% 80% at 10% -10%,rgba(93,122,50,.12),transparent 50%),radial-gradient(ellipse 90% 60% at 100% 20%,rgba(196,163,90,.08),transparent 45%),var(--color-background);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:calc(var(--z-header) + 1);background:transparent;pointer-events:none}.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-warm));transform-origin:left}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);height:var(--header-height);transition:background var(--duration-base) var(--ease-out),backdrop-filter var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.header.scrolled{background:#fafbf7e0;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--space-md)}.logo{display:flex;align-items:center;gap:.65rem;color:var(--color-on-primary);transition:color var(--duration-fast);z-index:2}.header.scrolled .logo{color:var(--color-primary)}.logo-leaf{width:36px;height:36px;flex-shrink:0;color:var(--color-primary);filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}.header.scrolled .logo-leaf{filter:none}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-name{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:.06em}.logo-sub{font-size:.55rem;font-weight:500;letter-spacing:.12em;opacity:.85;max-width:11rem}.nav-desktop{display:none;position:relative;gap:.15rem}.nav-desktop a{position:relative;padding:.5rem .85rem;font-size:.9rem;font-weight:500;color:#ffffffe0;border-radius:var(--radius-sm);transition:color var(--duration-fast);cursor:pointer}.header.scrolled .nav-desktop a{color:var(--color-muted-foreground)}.nav-desktop a:hover,.nav-desktop a.active{color:#fff}.header.scrolled .nav-desktop a:hover,.header.scrolled .nav-desktop a.active{color:var(--color-primary)}.nav-indicator{position:absolute;bottom:2px;height:2px;background:var(--color-accent-warm);border-radius:2px;transition:left .28s var(--ease-out),width .28s var(--ease-out);pointer-events:none}.header-phone{display:none;align-items:center;gap:.4rem;font-weight:600;font-size:.88rem;color:#fff;padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);cursor:pointer}.header-phone svg{width:16px;height:16px}.header-phone:hover{background:#ffffff1f}.header.scrolled .header-phone{color:var(--color-primary);border-color:var(--color-border)}.header.scrolled .header-phone:hover{background:var(--color-primary-subtle)}.menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;color:#fff;cursor:pointer;z-index:2}.header.scrolled .menu-toggle{color:var(--color-foreground)}.menu-icon{width:24px;height:24px}.nav-mobile{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e241cf7;padding:calc(var(--header-height) + 2rem) 2rem 2rem;transform:translate(100%);transition:transform var(--duration-base) var(--ease-out);z-index:1}.nav-mobile.open{transform:translate(0)}.nav-mobile ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.nav-mobile a{display:block;padding:1rem 0;font-size:1.35rem;font-family:var(--font-display);font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}.nav-mobile .btn{margin-top:1.5rem;text-align:center;border-bottom:none}@media(min-width:900px){.nav-desktop{display:flex}.header-phone{display:inline-flex}.menu-toggle,.nav-mobile{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.75rem;font-weight:600;font-size:.95rem;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast);will-change:transform}.btn:hover{transform:translateY(-2px)}.btn:focus-visible{outline:2px solid var(--color-ring);outline-offset:3px}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 16px #5d7a3259}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 8px 24px #5d7a3266}.btn-secondary{background:transparent;color:#fff;border-color:#ffffff8c}.btn-secondary:hover{background:#ffffff1f;border-color:#fff}.btn-light{background:#fff;color:var(--color-footer)}.btn-light:hover{background:var(--color-primary-subtle)}.btn-magnetic{position:relative}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-canvas-wrap canvas{width:100%!important;height:100%!important;display:block}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;display:none}.hero-media.is-active{display:block}.hero-photo{width:100%;height:115%;object-fit:cover;object-position:center 45%;transform-origin:center center;animation:heroKenBurns 28s ease-in-out infinite alternate;will-change:transform}.hero-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;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.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}@keyframes heroKenBurns{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.08) translate3d(0,-2%,0)}}.hero-leaves{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.hero-leaf{position:absolute;color:#5d7a328c;width:18px;height:18px;opacity:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));animation:leafDrift 14s linear infinite}.hero-leaf-1{left:12%;top:-10%;width:22px;height:22px;animation-duration:16s;animation-delay:0s}.hero-leaf-2{left:38%;top:-15%;width:14px;height:14px;animation-duration:12s;animation-delay:2s;color:#c4a35a73}.hero-leaf-3{left:62%;top:-12%;width:20px;height:20px;animation-duration:18s;animation-delay:4s}.hero-leaf-4{left:78%;top:-18%;width:16px;height:16px;animation-duration:13s;animation-delay:1.5s;color:#2d4a1e80}.hero-leaf-5{left:88%;top:-8%;width:12px;height:12px;animation-duration:15s;animation-delay:5s}@keyframes leafDrift{0%{opacity:0;transform:translateZ(0) rotate(0)}8%{opacity:.85}92%{opacity:.5}to{opacity:0;transform:translate3d(-40px,110vh,0) rotate(160deg)}}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#121c0c73,#121c0c33 40%,#121c0cc7),radial-gradient(ellipse at 25% 75%,rgba(93,122,50,.28),transparent 55%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:calc(var(--header-height) + 2rem) 0 5rem;max-width:40rem}.hero-brand{font-family:var(--font-display);font-size:clamp(3rem,10vw,5.5rem);font-weight:700;letter-spacing:.04em;line-height:.95;margin-bottom:.35rem;text-shadow:0 4px 40px rgba(0,0,0,.4)}.hero-title{font-family:var(--font-display);font-size:clamp(1.15rem,2.5vw,1.45rem);font-weight:500;letter-spacing:.08em;text-transform:uppercase;opacity:.92;margin-bottom:1rem}.hero-text{font-size:1.1rem;font-weight:300;max-width:32rem;margin-bottom:1.75rem;opacity:.9;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}.hero-scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:2;color:#ffffffb3;width:44px;height:44px;display:flex;align-items:center;justify-content:center;animation:scrollCueBounce 2.2s ease-in-out infinite;cursor:pointer}.hero-scroll-cue svg{width:28px;height:28px}@keyframes scrollCueBounce{0%,to{transform:translate(-50%) translateY(0);opacity:.6}50%{transform:translate(-50%) translateY(8px);opacity:1}}.hero-skip{position:absolute;top:calc(var(--header-height) + .75rem);right:1.25rem;z-index:3;font-size:.8rem;font-weight:500;color:#ffffffb3;padding:.4rem .75rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#0003;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.hero-skip:hover{color:#fff;border-color:#ffffff80}.section{padding:var(--space-3xl) 0;position:relative}.section-header{text-align:center;margin-bottom:var(--space-2xl);max-width:36rem;margin-inline:auto}.section-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.75rem}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:600;line-height:1.15;color:var(--color-foreground);margin-bottom:.75rem}.section-subtitle{color:var(--color-muted-foreground);font-size:1.05rem}.section-divider{width:48px;height:3px;margin:1.25rem auto 0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-warm));border-radius:2px}.services{background:linear-gradient(180deg,transparent,rgba(238,243,232,.6) 20%,rgba(238,243,232,.6) 80%,transparent)}.services-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.services-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-xl)}}.service-card{display:flex;flex-direction:column;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base);transform-style:preserve-3d;perspective:800px}.service-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.service-card-media{position:relative;aspect-ratio:16 / 11;overflow:hidden}.service-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.service-card:hover .service-card-media img{transform:scale(1.06)}.service-card-number{position:absolute;top:.75rem;left:.75rem;font-family:var(--font-display);font-size:.85rem;font-weight:600;color:#fff;background:#2d4a1ebf;padding:.25rem .55rem;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.service-card-body{display:flex;flex-direction:column;flex:1;padding:var(--space-lg);gap:.65rem}.service-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-md)}.service-icon svg{width:20px;height:20px}.service-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.service-summary{font-size:.92rem;color:var(--color-muted-foreground);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.service-summary.is-expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.service-summary p+p{margin-top:.65rem}.service-read-more{align-self:flex-start;background:none;border:none;color:var(--color-primary);font-weight:600;font-size:.85rem;cursor:pointer;padding:.25rem 0}.service-read-more:hover{text-decoration:underline}.service-link{margin-top:auto;padding-top:.75rem;font-weight:600;font-size:.9rem;color:var(--color-primary);display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.service-link:after{content:"→";transition:transform var(--duration-fast)}.service-link:hover:after{transform:translate(4px)}.services-cta{text-align:center;margin-top:var(--space-2xl)}.about-grid{display:grid;gap:var(--space-2xl);align-items:center}@media(min-width:900px){.about-grid{grid-template-columns:1fr 1.1fr;gap:var(--space-3xl)}}.about-text{font-size:1.1rem;color:var(--color-muted-foreground);margin:1.25rem 0 1.75rem;max-width:32rem}.about-image{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);clip-path:polygon(4% 0%,100% 0%,96% 100%,0% 100%)}@media(min-width:900px){.about-image{clip-path:path("M 40 0 C 200 -20, 400 20, 560 10 L 600 40 L 580 420 C 400 460, 200 440, 20 400 L 0 60 Z");clip-path:none;border-radius:2rem 4rem 2rem 5rem/3rem 2rem 4rem}}.about-image img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.about-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 60%,rgba(93,122,50,.2));pointer-events:none}.gallery{position:relative;background:radial-gradient(ellipse 90% 50% at 10% 0%,rgba(93,122,50,.22),transparent 55%),radial-gradient(ellipse 70% 40% at 100% 80%,rgba(196,163,90,.12),transparent 50%),linear-gradient(180deg,#243a1c 0%,var(--color-footer) 40%,#1e3018 100%);color:#fff;overflow:hidden}.gallery:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;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.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none}.gallery .container{position:relative;z-index:1}.gallery-header{text-align:left;margin-inline:0;max-width:36rem}.gallery-eyebrow{color:var(--color-accent-warm)}.gallery .section-title{color:#fff}.gallery-subtitle{color:#ffffffad}.gallery .section-divider{margin-left:0;margin-right:0}.gallery-mosaic{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:700px){.gallery-mosaic{grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:1.15rem}.gallery-item--featured{grid-row:1 / 3;min-height:100%}.gallery-item--tall{aspect-ratio:16 / 11}}@media(min-width:1024px){.gallery-mosaic{grid-template-columns:1.55fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:1.25rem;min-height:560px}.gallery-item--featured{grid-column:1;grid-row:1 / 3}.gallery-item--tall{grid-column:2;grid-row:1 / 3;aspect-ratio:auto;min-height:100%}.gallery-item:nth-child(3){grid-column:3;grid-row:1}.gallery-item:nth-child(4){grid-column:3;grid-row:2}}.gallery-item{position:relative;border:none;padding:0;background:#1a2814;border-radius:calc(var(--radius-lg) + 4px);overflow:hidden;cursor:pointer;aspect-ratio:4 / 3;box-shadow:0 12px 40px #00000047;isolation:isolate;transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base)}.gallery-item--featured{aspect-ratio:4 / 5}@media(min-width:700px){.gallery-item--featured{aspect-ratio:auto}}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),filter .5s ease;filter:saturate(1.05) contrast(1.02)}.gallery-item-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#121c0c14 20%,#121c0cc7),linear-gradient(90deg,rgba(18,28,12,.35) 0%,transparent 45%);pointer-events:none;transition:opacity var(--duration-base)}.gallery-item-meta{position:absolute;inset:auto 0 0 0;padding:1.5rem 1.35rem 1.25rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;z-index:1;text-align:left}.gallery-item-index{font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.14em;color:var(--color-accent-warm);margin-bottom:.15rem}.gallery-caption{font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,2vw,1.45rem);color:#fff;line-height:1.2}.gallery-item-hint{margin-top:.45rem;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;opacity:0;transform:translateY(6px);transition:opacity var(--duration-base),transform var(--duration-base)}.gallery-item:hover,.gallery-item:focus-visible{transform:translateY(-3px);box-shadow:0 20px 50px #00000059}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.06);filter:saturate(1.12) contrast(1.05)}.gallery-item:hover .gallery-item-hint,.gallery-item:focus-visible .gallery-item-hint{opacity:1;transform:none}.gallery-item:focus-visible{outline:2px solid var(--color-accent-warm);outline-offset:3px}.gallery-cta{text-align:center;margin-top:var(--space-2xl)}.gallery-cta-note{font-family:var(--font-display);font-size:1.15rem;color:#fffc;margin-bottom:1rem}.gallery-cta .btn-primary{background:var(--color-accent-warm);color:#1e241c;box-shadow:0 8px 28px #c4a35a59}.gallery-cta .btn-primary:hover{background:#d4b46a;color:#1e241c}.footer{background:var(--color-footer);color:#ffffffe6;position:relative;overflow:hidden}.footer-cta-band{position:relative;padding:clamp(3rem,6vw,4.5rem) 0;border-bottom:1px solid rgba(255,255,255,.08)}.footer-cta-band-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#2d4a1ef0,#2d4a1ed1 55%,#1e3014e6),url(/img/galerie/galerie-01.jpg) center / cover no-repeat;filter:saturate(.75);pointer-events:none}.footer-cta-band-inner{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.75rem 2.5rem}.footer-cta-eyebrow{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-warm);margin-bottom:.75rem}.footer-cta-title{font-family:var(--font-display);font-size:clamp(2.1rem,4.5vw,2.75rem);font-weight:600;line-height:1.15;color:#fff;margin-bottom:.75rem;max-width:16ch}.footer-cta-lead{font-size:1.05rem;font-weight:300;color:#ffffffc7;max-width:34rem;line-height:1.65}.footer-cta-band .btn-light{flex-shrink:0;min-height:48px;padding-inline:1.85rem;box-shadow:0 10px 30px #00000040}.footer-body{padding:clamp(2.5rem,5vw,3.75rem) 0;background:radial-gradient(ellipse 80% 60% at 100% 0%,rgba(93,122,50,.18),transparent 50%),var(--color-footer)}.footer-body-grid{display:grid;gap:2.5rem}@media(min-width:768px){.footer-body-grid{grid-template-columns:1.25fr 1.1fr .9fr;gap:3rem;align-items:start}}.footer-logo{display:inline-flex;align-items:center;gap:.75rem;color:#fff;margin-bottom:1rem}.footer-logo .logo-leaf{width:40px;height:40px;color:var(--color-accent-warm)}.footer-logo-text{display:flex;flex-direction:column;line-height:1.15}.footer-logo-name{font-family:var(--font-display);font-weight:700;font-size:1.45rem;letter-spacing:.06em}.footer-logo-sub{font-size:.78rem;font-weight:400;color:#ffffffa6;margin-top:.15rem}.footer-tagline{font-size:.98rem;color:#ffffffad;max-width:22rem;line-height:1.65}.footer-col-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:#fff;margin-bottom:1.15rem}.footer-contact-col{display:flex;flex-direction:column;gap:.35rem}.footer-contact-link{display:flex;align-items:center;gap:.9rem;min-height:52px;padding:.55rem .65rem;margin:0 -.65rem;border-radius:var(--radius-md);transition:background var(--duration-fast),color var(--duration-fast);cursor:pointer}.footer-contact-link:hover{background:#ffffff0f;text-decoration:none}.footer-contact-link:hover .footer-contact-value{color:var(--color-accent-warm)}.footer-contact-link--static{cursor:default}.footer-contact-link--static:hover{background:transparent}.footer-contact-link--static:hover .footer-contact-value{color:#fff}.footer-contact-icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:#ffffff14;color:var(--color-accent-warm)}.footer-contact-icon svg{width:18px;height:18px}.footer-contact-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.footer-contact-label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80}.footer-contact-value{font-size:1rem;font-weight:500;color:#fff;word-break:break-word;transition:color var(--duration-fast)}.footer-values{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 0;margin-bottom:1.75rem}.footer-values li{font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:#ffffffe0}.footer-values li:not(:last-child):after{content:"";display:inline-block;width:1px;height:.9em;background:#ffffff47;margin:0 .85rem;vertical-align:middle}.footer-quick-nav{display:flex;flex-direction:column;gap:.45rem}.footer-quick-nav a{color:#ffffffa6;font-size:.95rem;font-weight:500;padding:.35rem 0;min-height:44px;display:inline-flex;align-items:center;transition:color var(--duration-fast),padding-left var(--duration-fast);cursor:pointer}.footer-quick-nav a:hover{color:var(--color-accent-warm);padding-left:.35rem;text-decoration:none}.footer-bar{background:var(--color-footer-bar);padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.04)}.footer-bar-inner{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;align-items:center;font-size:.82rem;color:#ffffff73}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:#ffffff8c;transition:color var(--duration-fast)}.footer-legal a:hover{color:#fff;text-decoration:none}.contact-modal,.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity var(--duration-base),visibility var(--duration-base)}.contact-modal.is-open,.lightbox.is-open{opacity:1;visibility:visible}.contact-modal[hidden],.lightbox[hidden]{display:none}.contact-modal:not([hidden]),.lightbox:not([hidden]){display:flex}.contact-modal-backdrop,.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#121c0cb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-modal-panel{position:relative;z-index:1;background:var(--color-card);border-radius:var(--radius-xl);overflow:hidden;max-width:860px;width:100%;max-height:min(90vh,640px);box-shadow:var(--shadow-lg);transform:translateY(16px) scale(.98);transition:transform var(--duration-base) var(--ease-out)}.contact-modal.is-open .contact-modal-panel{transform:none}.contact-modal-close,.lightbox-close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:44px;height:44px;border:none;background:#ffffffe6;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-foreground);display:flex;align-items:center;justify-content:center}.contact-modal-layout{display:grid;grid-template-columns:1fr;min-height:0;max-height:min(90vh,640px)}@media(min-width:720px){.contact-modal-layout{grid-template-columns:.9fr 1.1fr}}.contact-modal-visual{display:none;position:relative;min-height:280px}@media(min-width:720px){.contact-modal-visual{display:block}}.contact-modal-visual img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.contact-modal-visual-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 40%,#2d4a1ed9)}.contact-modal-service-label{position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.15rem;z-index:1}.contact-modal-body{padding:2rem 1.5rem 1.5rem;overflow-y:auto}.contact-modal-title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:.5rem}.contact-modal-subtitle{font-size:.92rem;color:var(--color-muted-foreground);margin-bottom:1.25rem;max-height:4.5rem;overflow:hidden}.contact-modal-subtitle p+p{display:none}.form-field{margin-bottom:1rem}.form-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.form-field input,.form-field textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #5d7a3233}.contact-form-status{font-size:.88rem;margin-bottom:.75rem}.contact-form-status.is-error{color:#b91c1c}.contact-form-status.is-success{color:var(--color-primary)}.contact-form-submit{width:100%}.lightbox{z-index:var(--z-lightbox)}.lightbox-content{position:relative;z-index:1;max-width:min(90vw,1100px);max-height:85vh}.lightbox-content img{max-height:80vh;width:auto;margin-inline:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.lightbox-caption{text-align:center;color:#fff;margin-top:.75rem;font-family:var(--font-display);font-size:1.1rem}.lightbox-close{background:#ffffff26;color:#fff;top:1rem;right:1rem}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:90;width:48px;height:48px;border:none;border-radius:50%;background:var(--color-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity var(--duration-base),visibility var(--duration-base),transform var(--duration-base)}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top svg{width:22px;height:22px;margin:auto;display:block}.back-to-top:hover{background:var(--color-primary-dark)}.reveal{opacity:1}body.reduce-motion .hero-canvas-wrap{display:none}body.reduce-motion .hero-media{display:block}body.reduce-motion .hero-photo{animation:none}body.reduce-motion .hero-leaves{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scroll-cue,.hero-photo{animation:none}.hero-leaves{display:none}.reveal{opacity:1!important;transform:none!important;visibility:visible!important}}
