:root{--color-primary: #2d2418;--color-accent: #8b6f47;--color-bg: #e8dfd4;--color-white: #f5f0e8;--color-card: #f9f6f1;--color-dark-brown: #6b5537;--spacing-section: 8rem;--font-display: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-primary);line-height:1.6;overflow-x:hidden;width:100%;max-width:100vw}#root{overflow-x:hidden;width:100%;max-width:100vw}html{scroll-behavior:smooth}::selection{background:var(--color-primary);color:var(--color-white)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:flex-start;padding:0 4rem;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,#e8dfd4fa,#e8dfd4eb 30%,#e8dfd4b3 50%,#e8dfd440 75%,#e8dfd400 95%);z-index:1}.hero-content{max-width:600px;position:relative;z-index:2;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}.vertical-line{width:1px;height:100px;background:var(--color-primary);margin-bottom:2rem;margin-left:0!important;margin-right:0!important;opacity:.3}.hero-title{font-family:var(--font-display);font-size:4rem;line-height:1.1;font-weight:300;margin-bottom:1.5rem;color:var(--color-primary);text-align:left!important;margin-left:0!important;margin-right:0!important;width:auto!important}.hero-title .italic{font-style:italic;font-weight:400}.hero-subtitle{font-size:1.1rem;font-weight:300;margin-bottom:1rem;margin-left:0!important;margin-right:0!important;color:#555;max-width:400px;text-align:left!important}.hero-location{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:2.5rem;margin-left:0!important;margin-right:0!important;opacity:.7;text-align:left!important}.cta-button{display:inline-block;padding:1rem 2.5rem;border:1px solid var(--color-primary);background:var(--color-primary);cursor:pointer;text-decoration:none;color:var(--color-white);font-family:var(--font-body);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;transition:background .3s ease,color .3s ease;position:relative;overflow:hidden;align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}.cta-button:hover{background:transparent;color:var(--color-primary)}.hero-visual{position:absolute;right:8%;top:50%;transform:translateY(-50%);z-index:1}.expert-simple{text-align:right}.expert-name{font-family:var(--font-display);font-size:3rem;font-weight:300;color:#8b6f47;letter-spacing:.02em;margin-bottom:.5rem;line-height:1.2}.expert-title{font-size:.95rem;color:#6b5537;font-weight:400;letter-spacing:.15em;text-transform:uppercase;opacity:.85}.abstract-circle{width:500px;height:500px;border:1px solid rgba(139,111,71,.2);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.circle-2{width:350px;height:350px;border-color:#8b6f4726}.services{padding:var(--spacing-section) 4rem;background:var(--color-bg)}.section-header{text-align:center;margin-bottom:4rem}.section-tag{display:block;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;opacity:.6}.section-header h2{font-family:var(--font-display);font-size:2.5rem;font-weight:300}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1200px;margin:0 auto}.service-card{padding:2.5rem;border:1px solid rgba(107,85,55,.2);background:#f9f6f1;transition:all .3s ease;text-align:center}.service-card:hover{border-color:var(--color-accent);transform:translateY(-5px);box-shadow:0 10px 30px #8b6f4726}.service-icon{width:60px;height:60px;margin:0 auto 1.5rem;color:var(--color-primary);opacity:.8}.service-card h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:1rem;font-weight:400}.service-card p{font-size:.9rem;line-height:1.8;opacity:.8;font-weight:300}.technologies-showcase{padding:var(--spacing-section) 4rem;background:var(--color-white)}.tech-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1600px;margin:0 auto}.tech-showcase-card{display:flex;flex-direction:column;gap:2rem;transition:all .3s ease}.tech-image-container{width:100%;height:400px;overflow:hidden;border:1px solid rgba(107,85,55,.2);background:#f9f6f1;display:flex;align-items:center;justify-content:center}.tech-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.tech-showcase-card:hover .tech-image{transform:scale(1.05)}.tech-info{display:flex;flex-direction:column;gap:1rem}.tech-info h3{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--color-primary);margin:0}.tech-subtitle{font-size:.9rem;color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-weight:400;margin:0}.tech-description{font-size:1rem;line-height:1.8;opacity:.7;font-weight:300;margin:0}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-content{position:relative;max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;cursor:default}.lightbox-close{position:absolute;top:-50px;right:0;background:transparent;border:none;color:#fff;font-size:3rem;cursor:pointer;line-height:1;padding:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.founder{padding:var(--spacing-section) 4rem;background:var(--color-card)}.founder-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:.85fr 1fr;gap:5rem;align-items:center}.founder-image{width:100%;aspect-ratio:4 / 5;overflow:hidden;border:1px solid rgba(107,85,55,.15);background:var(--color-bg)}.founder-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.founder-content{display:flex;flex-direction:column;gap:.25rem}.founder-content h2{font-family:var(--font-display);font-size:3.25rem;font-weight:300;line-height:1.1;margin:.5rem 0 .25rem;letter-spacing:.01em}.founder-role{font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);opacity:.85;margin:0}.founder-divider{width:50px;height:1px;background:var(--color-accent);opacity:.5;margin:1.5rem 0 1rem}.founder-description{font-size:1.05rem;line-height:1.85;font-weight:300;opacity:.85;margin:0}.founder-description+.founder-description{margin-top:.75rem}@media(max-width:968px){.founder{padding:var(--spacing-section) 2rem}.founder-container{grid-template-columns:1fr;gap:2.5rem}.founder-content{order:-1}.founder-image{max-width:420px;margin:0 auto}.founder-content h2{font-size:2.5rem}}.contact{padding:var(--spacing-section) 4rem;background:#6b5537;color:#f9f6f1}.contact-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info h2{font-family:var(--font-display);font-size:3rem;font-weight:300;margin:1rem 0 3rem;color:var(--color-white)}.contact-info .section-tag{color:var(--color-white);opacity:.6}.contact-details{display:grid;gap:2rem}.detail .label{display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem;opacity:.6}.detail p{font-size:1rem;line-height:1.6;font-weight:300}.social-links{display:flex;gap:1.5rem;margin-top:.5rem}.social-link{display:flex;align-items:center;gap:.5rem;color:var(--color-white);text-decoration:none;font-size:.95rem;font-weight:300;transition:opacity .3s ease}.social-link:hover{opacity:.7}.social-link svg{width:24px;height:24px}.contact-image{display:flex;align-items:stretch;justify-content:center}.contact-image iframe{width:100%;height:100%;min-height:400px;border:1px solid rgba(255,255,255,.2);border-radius:0}.image-placeholder{width:100%;height:400px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;opacity:.5}.footer{margin:0;padding:3rem 4rem;text-align:center;background:#d4c4b0;border-top:1px solid rgba(107,85,55,.2)}.footer-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;font-family:var(--font-display);letter-spacing:.2em;font-size:1rem}.footer-icon{width:24px;height:24px;color:var(--color-primary)}.copyright{font-size:.75rem;opacity:.5;font-weight:300}@media(max-width:1200px){.tech-showcase-grid{grid-template-columns:repeat(2,1fr);gap:3rem}}@media(max-width:968px){.services-grid{grid-template-columns:1fr}.tech-showcase-grid{grid-template-columns:1fr;gap:3rem}.tech-image-container{height:300px}.contact-container{grid-template-columns:1fr}.hero{padding:7rem 2rem 4rem;min-height:100vh;flex-direction:column;align-items:center;justify-content:flex-start}.hero-bg,.hero-overlay{display:none}.hero-content{max-width:100%;width:100%;align-items:center!important;text-align:center}.vertical-line{height:40px;margin:0 0 1rem!important;align-self:flex-start}.hero-title{font-size:3.25rem;text-align:left!important;align-self:flex-start;width:100%}.hero-subtitle{font-size:1.25rem;text-align:center!important;margin-left:auto!important;margin-right:auto!important}.hero .cta-button{align-self:center!important;margin-left:auto!important;margin-right:auto!important;margin-top:6rem!important;padding:1.15rem 2.75rem;font-size:.95rem}}@media(max-width:640px){.tech-image-container{height:250px}.tech-info h3{font-size:1.5rem}}.odyssee-container .hero-content>*{opacity:0;animation:heroIn .9s cubic-bezier(.22,1,.36,1) forwards}.odyssee-container .hero-content>*:nth-child(1){animation-delay:.1s}.odyssee-container .hero-content>*:nth-child(2){animation-delay:.22s}.odyssee-container .hero-content>*:nth-child(3){animation-delay:.34s}.odyssee-container .hero-content>*:nth-child(4){animation-delay:.46s}.odyssee-container .hero-content>*:nth-child(5){animation-delay:.58s}@keyframes heroIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.odyssee-container .hero-eyebrow{font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;font-weight:500;color:var(--color-accent);margin-bottom:1.25rem}.odyssee-container .hero-title{font-size:clamp(2.75rem,6vw,4.6rem);line-height:1.05;letter-spacing:-.01em}.odyssee-container .hero-subtitle{font-size:1.15rem;line-height:1.7;opacity:.78}.odyssee-container .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.75rem;margin-top:1.5rem}.odyssee-container .hero-actions .cta-button{margin:0!important;align-self:auto!important}.odyssee-container .hero-link{display:inline-flex;align-items:center;gap:.55rem;position:relative;padding:.5rem 0;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);transition:color .3s ease,gap .3s ease}.odyssee-container .hero-link svg{width:16px;height:16px;transition:transform .3s ease}.odyssee-container .hero-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}.odyssee-container .hero-link:hover{color:var(--color-accent);gap:.85rem}.odyssee-container .hero-link:hover:after{transform:scaleX(1)}.odyssee-container .hero-link:hover svg{transform:translate(4px)}@media(max-width:968px){.odyssee-container .hero{justify-content:flex-start;padding:5.5rem 1.75rem 2.5rem}.odyssee-container .hero-content{align-items:flex-start!important;text-align:left;flex:1 1 auto;width:100%}.odyssee-container .hero .vertical-line{display:none}.odyssee-container .hero-eyebrow{margin-top:auto;margin-bottom:1.5rem}.odyssee-container .hero-title{text-align:left!important;align-self:flex-start;font-size:clamp(2.5rem,11vw,3.4rem);margin-bottom:1.25rem}.odyssee-container .hero-subtitle{text-align:left!important;margin:0!important;max-width:22rem;font-size:1.05rem}.odyssee-container .hero-actions{flex-direction:column;align-items:flex-start;gap:1.1rem;margin-top:auto}.odyssee-container .hero-actions .cta-button{align-self:flex-start!important}.odyssee-container .hero-link{justify-content:flex-start}}.odyssee-container .hero-overlay{background:linear-gradient(to right,#e8dfd4fa,#e8dfd4e6 28%,#e8dfd48c 52%,#e8dfd41f 78%,#e8dfd400 95%),linear-gradient(to top,#e8dfd48c,#e8dfd400 32%)}.scroll-hint{position:absolute;bottom:2.5rem;left:4rem;z-index:2;display:inline-flex;align-items:center;gap:.85rem;color:var(--color-primary);text-decoration:none;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;opacity:.75;animation:heroIn .9s cubic-bezier(.22,1,.36,1) .7s both}.scroll-hint__line{position:relative;width:64px;height:1px;background:#8b6f4766;overflow:hidden}.scroll-hint__line:after{content:"";position:absolute;top:0;left:0;height:100%;width:35%;background:var(--color-accent);animation:scrollHint 2.2s ease-in-out infinite}@keyframes scrollHint{0%{transform:translate(-110%)}to{transform:translate(320%)}}.scroll-hint__chevron{display:none;width:24px;height:24px;color:var(--color-accent)}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.odyssee-container .founder{position:relative;overflow:hidden;background:radial-gradient(80% 60% at 82% 0%,#8b6f471a,#f9f6f100 60%),var(--color-card)}.odyssee-container .founder-image{box-shadow:22px 22px 0 -1px #8b6f472e}.odyssee-container .founder-content h2{font-size:clamp(2.6rem,4.5vw,3.5rem)}.odyssee-container .founder-content .section-tag{color:var(--color-accent);opacity:.95;letter-spacing:.32em}.odyssee-container .contact{background:linear-gradient(155deg,#6b5537,#3a2e1d)}.odyssee-container .contact-info h2{font-size:clamp(2.4rem,4vw,3.2rem)}.odyssee-container .contact-image iframe{border:1px solid rgba(245,240,232,.25);filter:grayscale(.2) contrast(1.02)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal.in-view{opacity:1;transform:translateY(0)}@media(max-width:968px){.scroll-hint{position:static;bottom:auto;left:auto;right:auto;margin:1.5rem auto 0;width:max-content;flex-direction:column;align-items:center;gap:.5rem;opacity:.85}.scroll-hint__line{display:none}.scroll-hint__chevron{display:block;animation:scrollBounce 1.8s ease-in-out infinite}}@media(prefers-reduced-motion:reduce){.odyssee-container .hero-content>*,.scroll-hint{animation:none;opacity:1}.scroll-hint__line:after,.scroll-hint__chevron{animation:none}.reveal{opacity:1;transform:none;transition:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 4rem;box-sizing:border-box;background:#f5f0e8b8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(139,111,71,.14);transition:padding .4s ease,background .4s ease,box-shadow .4s ease,border-color .4s ease}.navbar.scrolled{padding:1rem 4rem;background:#f5f0e8f0;border-bottom-color:#8b6f4733;box-shadow:0 10px 36px -16px #2d241838}.logo{display:flex;align-items:center;gap:.9rem;cursor:pointer;position:relative;z-index:1002}.logo-icon{width:38px;height:38px;color:var(--color-accent)}.starburst{width:100%;height:100%;animation:navRotate 60s linear infinite}@keyframes navRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo-text{display:flex;flex-direction:column;line-height:1.05}.logo-odyssee{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.3em;font-weight:500;color:var(--color-primary)}.logo-derme{font-family:var(--font-display);font-size:.95rem;letter-spacing:.46em;font-weight:400;color:var(--color-accent)}.nav-right{display:flex;align-items:center;gap:2.5rem}.nav-links{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.nav-links a{position:relative;text-decoration:none;color:var(--color-primary);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding-bottom:.4rem;opacity:.8;transition:opacity .3s ease,color .3s ease}.nav-links a:hover,.nav-links a.active{opacity:1;color:var(--color-accent)}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-accent);transition:width .35s cubic-bezier(.22,1,.36,1)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta-button{display:inline-block;padding:.7rem 1.6rem;border:1px solid var(--color-primary);text-decoration:none;color:var(--color-primary);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;white-space:nowrap;position:relative;overflow:hidden;background:transparent;z-index:0;transition:color .35s ease}.nav-cta-button:before{content:"";position:absolute;inset:0;background:var(--color-primary);transform:translate(-101%);transition:transform .35s ease;z-index:-1}.nav-cta-button:hover:before{transform:translate(0)}.nav-cta-button:hover{color:var(--color-white)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;position:relative;z-index:1002}.hamburger span{width:25px;height:2px;background:var(--color-primary);transition:all .3s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-overlay,.mobile-cta,.mobile-social{display:none}.desktop-only{display:inline-block}@media(max-width:968px){.navbar{padding:1rem 1.5rem}.navbar.scrolled{padding:.85rem 1.5rem}.hamburger{display:flex}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:78%;max-width:320px;background:#f5f0e8fa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;padding:6.5rem 2rem 2rem;gap:1.75rem;transition:right .4s cubic-bezier(.22,1,.36,1);box-shadow:-10px 0 40px -10px #2d24184d;border-left:1px solid rgba(139,111,71,.18);z-index:1001}.nav-links.mobile-open{right:0}.nav-links a{font-size:1rem;letter-spacing:.15em;padding:0}.nav-links a:after{display:none}.desktop-only{display:none!important}.mobile-cta{display:block;margin-top:1rem;padding-top:2rem;border-top:1px solid rgba(139,111,71,.2)}.mobile-cta a{display:block;padding:1rem 1.5rem;border:1px solid var(--color-primary);text-align:center;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;background:transparent;color:var(--color-primary);text-decoration:none;transition:background .3s ease,color .3s ease}.mobile-cta a:hover{background:var(--color-primary);color:var(--color-white)}.mobile-social{display:block;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(139,111,71,.2)}.mobile-social-links{display:flex;flex-direction:column;gap:1rem}.mobile-social-links a{display:flex;align-items:center;gap:.75rem;color:var(--color-primary);text-decoration:none;font-size:.9rem;font-weight:400;padding:.5rem 0;transition:opacity .3s ease,color .3s ease}.mobile-social-links a:hover{opacity:.7;color:var(--color-accent)}.mobile-social-links a:after{display:none}.mobile-social-links svg{width:22px;height:22px;flex-shrink:0;color:var(--color-accent)}.menu-overlay{display:block;position:fixed;inset:0;width:100%;height:100vh;background:#2d241859;z-index:999}.nav-right{gap:.5rem}}@media(max-width:640px){.navbar,.navbar.scrolled{padding:.9rem 1.25rem}.logo{gap:.6rem}.logo-odyssee{font-size:1rem;letter-spacing:.22em}.logo-derme{font-size:.8rem;letter-spacing:.34em}.logo-icon{width:32px;height:32px}.logo-text{transition:opacity .25s ease}.navbar:has(.hamburger.open) .logo-text{opacity:0;pointer-events:none}.hamburger span{width:22px}}@media(max-width:380px){.logo-icon{width:28px;height:28px}}@media(prefers-reduced-motion:reduce){.starburst{animation:none}.navbar,.nav-links,.nav-links a,.nav-links a:after,.nav-cta-button,.nav-cta-button:before,.hamburger span{transition:none}}.booking-page{min-height:100vh;background-color:var(--color-bg);padding:8rem 4rem 4rem;font-family:var(--font-body);color:var(--color-primary)}.booking-page{@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drawCheck{to{stroke-dashoffset:0}}}.booking-page .booking-container{max-width:1200px;margin:0 auto}.booking-page .back-btn{display:inline-flex;align-items:center;gap:.75rem;background:transparent;border:none;color:var(--color-accent);font-family:var(--font-body);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.5rem 0;margin-bottom:3rem;transition:all .3s ease}.booking-page .back-btn .arrow{transition:transform .3s ease}.booking-page .back-btn:hover{color:var(--color-dark-brown)}.booking-page .back-btn:hover .arrow{transform:translate(-4px)}.booking-page .booking-header{text-align:center;margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto}.booking-page .section-tag{display:block;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;opacity:.6}.booking-page .booking-header h1{font-family:var(--font-display);font-size:3rem;font-weight:300;margin-bottom:1.5rem;line-height:1.2}.booking-page .vertical-line.center{margin:0 auto 2rem;width:1px;height:60px;background:var(--color-primary);opacity:.3}.booking-page .subtitle{font-size:1rem;line-height:1.8;opacity:.8;font-weight:300}.booking-page .booking-content{display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:start}@media(max-width:968px){.booking-page{padding:6rem 2rem 2rem}.booking-page .booking-content{grid-template-columns:1fr}.booking-page .booking-header h1{font-size:2rem}}.booking-page .services-section{background:var(--color-white);padding:2.5rem;border:1px solid rgba(107,85,55,.15)}.booking-page .section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(107,85,55,.15)}.booking-page .section-title h2{font-family:var(--font-display);font-size:1.5rem;font-weight:400}.booking-page .count{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6}.booking-page .categories-accordion{display:flex;flex-direction:column;gap:1rem}.booking-page .category-item{border:1px solid rgba(107,85,55,.2);background:var(--color-card);transition:all .3s ease}.booking-page .category-item:hover{border-color:var(--color-accent)}.booking-page .category-item.open{border-color:var(--color-accent);box-shadow:0 4px 20px #8b6f471a}.booking-page .category-header{width:100%;padding:1.25rem 1.5rem;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-body);text-align:left;transition:all .3s ease}.booking-page .category-info{display:flex;flex-direction:column;gap:.25rem}.booking-page .category-name{font-size:1rem;font-weight:500;color:var(--color-primary);letter-spacing:.02em}.booking-page .service-count{font-size:.75rem;opacity:.5;letter-spacing:.1em;text-transform:uppercase}.booking-page .chevron{font-size:1.5rem;font-weight:300;color:var(--color-accent);transition:transform .3s ease}.booking-page .category-item.open .chevron{transform:rotate(45deg)}.booking-page .services-list{max-height:0;overflow:hidden;transition:max-height .4s ease-out}.booking-page .category-item.open .services-list{max-height:2000px;transition:max-height .6s ease-in}.booking-page .service-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-top:1px solid rgba(107,85,55,.1);gap:1.5rem;transition:all .3s ease}.booking-page .service-item:hover{background:#8b6f4708}.booking-page .service-item.added{background:#8b6f470f}.booking-page .service-details{flex:1;min-width:0}.booking-page .service-name{display:block;font-size:.95rem;font-weight:400;color:var(--color-primary);margin-bottom:.5rem;line-height:1.4}.booking-page .service-meta{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--color-accent);opacity:.8}.booking-page .separator{opacity:.4}.booking-page .price{font-weight:600;color:var(--color-dark-brown)}.booking-page .btn-toggle{padding:.6rem 1.25rem;background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);font-family:var(--font-body);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;white-space:nowrap}.booking-page .btn-toggle:hover{background:var(--color-accent);color:var(--color-white)}.booking-page .btn-toggle.added{background:var(--color-dark-brown);border-color:var(--color-dark-brown);color:var(--color-white)}.booking-page .btn-toggle.added:hover{background:var(--color-primary);border-color:var(--color-primary)}.booking-page .booking-sidebar{display:flex;flex-direction:column;gap:2rem;position:sticky;top:100px}.booking-page .cart-card{background:var(--color-white);border:1px solid rgba(107,85,55,.15);padding:1.5rem;transition:all .3s ease}.booking-page .cart-card.has-items{border-color:var(--color-accent);box-shadow:0 4px 20px #8b6f471a}.booking-page .cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(107,85,55,.1)}.booking-page .cart-header h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400}.booking-page .btn-text{background:transparent;border:none;color:var(--color-accent);font-family:var(--font-body);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.25rem;transition:color .3s ease}.booking-page .btn-text:hover{color:var(--color-dark-brown)}.booking-page .cart-empty{text-align:center;padding:2rem 0;color:var(--color-primary);opacity:.5}.booking-page .hint{display:block;font-size:.8rem;margin-top:.5rem;font-style:italic}.booking-page .cart-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;max-height:300px;overflow-y:auto}.booking-page .cart-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background:var(--color-card);border:1px solid rgba(107,85,55,.1);gap:1rem}.booking-page .cart-item-content{flex:1;min-width:0}.booking-page .cart-category{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.25rem}.booking-page .cart-name{display:block;font-size:.9rem;font-weight:400;margin-bottom:.5rem;line-height:1.3}.booking-page .cart-meta{display:flex;gap:1rem;font-size:.8rem;opacity:.6}.booking-page .btn-remove{background:none;border:none;color:var(--color-accent);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem;transition:all .3s ease;font-weight:300}.booking-page .btn-remove:hover{color:#d32f2f;transform:scale(1.1)}.booking-page .cart-footer{border-top:1px solid rgba(107,85,55,.2);padding-top:1rem}.booking-page .cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:1rem}.booking-page .cart-total .amount{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--color-dark-brown)}.booking-page .note{display:block;font-size:.75rem;opacity:.5;font-style:italic}.booking-page .booking-form{background:var(--color-white);border:1px solid rgba(107,85,55,.15);padding:1.5rem}.booking-page .booking-form h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(107,85,55,.1)}.booking-page .form-group{margin-bottom:1.25rem}.booking-page .form-group label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;opacity:.8;font-weight:500}.booking-page .form-group input,.booking-page .form-group textarea{width:100%;padding:.875rem;border:1px solid rgba(107,85,55,.2);background:var(--color-card);font-family:var(--font-body);font-size:.95rem;color:var(--color-primary);transition:all .3s ease}.booking-page .form-group input:focus,.booking-page .form-group textarea:focus{outline:none;border-color:var(--color-accent);background:var(--color-white)}.booking-page .form-group input::placeholder,.booking-page .form-group textarea::placeholder{color:var(--color-primary);opacity:.4}.booking-page .form-group textarea{resize:vertical;min-height:80px}.booking-page .cta-button{display:inline-block;padding:1rem 2.5rem;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);font-family:var(--font-body);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none;text-align:center}.booking-page .cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-primary);transition:left .3s ease;z-index:-1}.booking-page .cta-button:hover:before{left:0}.booking-page .cta-button:hover{color:var(--color-white)}.booking-page .cta-button.full{width:100%;margin-top:.5rem}.booking-page .cta-button:disabled{border-color:#6b55374d;color:#6b553766;cursor:not-allowed}.booking-page .cta-button:disabled:before{display:none}.booking-page .success-card{text-align:center;padding:4rem 3rem;background:var(--color-white);border:1px solid rgba(107,85,55,.15);max-width:500px;margin:2rem auto}.booking-page .success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn .5s ease-out}.booking-page .success-icon svg{width:40px;height:40px;stroke-dasharray:100;stroke-dashoffset:100;animation:drawCheck .6s ease-out .3s forwards}.booking-page .success-tag{display:block;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;opacity:.6}.booking-page .success-card h2{font-family:var(--font-display);font-size:2rem;font-weight:300;margin-bottom:1.5rem}.booking-page .divider{width:40px;height:1px;background:var(--color-accent);margin:0 auto 1.5rem}.booking-page .success-card p{font-size:1rem;line-height:1.8;opacity:.8;margin-bottom:.5rem;font-weight:300}.booking-page .success-detail{font-size:.9rem!important;opacity:.6!important;margin-bottom:2rem!important}.booking-page .cart-items::-webkit-scrollbar{width:4px}.booking-page .cart-items::-webkit-scrollbar-track{background:transparent}.booking-page .cart-items::-webkit-scrollbar-thumb{background:#6b553733;border-radius:2px}@media(max-width:640px){.booking-page .services-section{padding:1.5rem}.booking-page .service-item{flex-direction:column;align-items:flex-start;gap:1rem}.booking-page .btn-toggle{width:100%;text-align:center}}.formations-page{position:relative;min-height:100vh;padding-top:100px;font-family:var(--font-body);color:var(--color-primary);overflow:hidden;background:radial-gradient(130% 80% at 50% -15%,#f5f0e8f2,#e8dfd400 55%),radial-gradient(90% 70% at 0% 0%,#8b6f471f,#e8dfd400 50%),radial-gradient(70% 60% at 100% 100%,#6b553714,#e8dfd400 55%),var(--color-bg)}.formations-page:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:160px}.formations-wrapper{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 3rem 5rem}.back-btn{display:inline-flex;align-items:center;gap:.75rem;background:transparent;border:none;color:var(--color-accent);font-family:var(--font-body);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.5rem 0;margin-bottom:3rem;transition:color .3s ease}.back-btn .arrow{transition:transform .3s ease}.back-btn:hover{color:var(--color-dark-brown)}.back-btn:hover .arrow{transform:translate(-4px)}.formations-hero{text-align:center;padding:1.75rem 1rem;animation:fmFadeUp .9s cubic-bezier(.22,1,.36,1) backwards}.formations-hero .section-tag{display:inline-block;font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--color-accent);opacity:.95;margin-bottom:.9rem}.formations-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.9rem);font-weight:300;letter-spacing:-.01em;line-height:1.08;margin:0 0 .9rem}.formations-hero h1 em{font-style:italic;font-weight:400;color:var(--color-accent)}.hero-description{max-width:540px;margin:0 auto;font-size:.95rem;line-height:1.7;font-weight:300;opacity:.72}.formations-hero__meta{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.4rem}.formations-hero__meta .line{width:48px;height:1px;background:var(--color-accent);opacity:.4}.formations-hero__meta .count{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-accent);opacity:.85}.formations-hero__creds{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem;margin-top:1.4rem}.fm-cred{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .95rem;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-dark-brown);background:#8b6f471a;border:1px solid rgba(139,111,71,.3);border-radius:100px}.fm-cred:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--color-accent)}.fm-section{margin-top:1.5rem}.fm-item{border-bottom:1px solid rgba(139,111,71,.18)}.fm-item:first-child{border-top:1px solid rgba(139,111,71,.18)}.fm-head{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:2rem .5rem;background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--color-primary);transition:padding-left .4s ease}.fm-head:hover{padding-left:1.1rem}.fm-num{font-family:var(--font-display);font-size:2rem;font-weight:300;line-height:1;color:var(--color-accent);opacity:.45;transition:opacity .4s ease}.fm-item.open .fm-num{opacity:.85}.fm-head-text{display:flex;flex-direction:column;gap:.4rem;min-width:0}.fm-tag{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent)}.fm-title{font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:400;line-height:1.15}.fm-badge{display:inline-flex;align-self:flex-start;margin-top:.15rem;padding:.32rem .75rem;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-dark-brown);background:#8b6f471a;border:1px solid rgba(139,111,71,.3);border-radius:100px}.fm-head-meta{display:flex;align-items:center;gap:1.5rem}.fm-price{font-family:var(--font-display);font-size:1.2rem;color:var(--color-primary);opacity:.85;white-space:nowrap}.fm-toggle{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(139,111,71,.4);border-radius:50%;font-size:1.5rem;font-weight:300;line-height:1;color:var(--color-accent);transition:background .4s ease,color .4s ease,border-color .4s ease,transform .4s cubic-bezier(.22,1,.36,1)}.fm-item.open .fm-toggle{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:rotate(45deg)}.fm-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1)}.fm-item.open .fm-panel{grid-template-rows:1fr}.fm-panel-inner{overflow:hidden;min-height:0}.fm-panel-content{padding:.5rem .5rem 3rem}.fm-intro{font-size:1rem;line-height:1.8;font-weight:300;opacity:.8;max-width:780px}.fm-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;margin-top:2rem}.fm-block+.fm-block{margin-top:2rem}.fm-side--full{display:grid;grid-template-columns:repeat(2,1fr);gap:2.25rem 3rem}.fm-side--full .fm-block+.fm-block{margin-top:0}.fm-duree-prog+.fm-duree-prog{margin-top:1.25rem}.fm-duree-prog-name{display:block;font-family:var(--font-display);font-size:1.05rem;font-weight:500;margin-bottom:.5rem;color:var(--color-primary)}.fm-duree-rows{display:flex;flex-direction:column}.fm-duree-row{display:flex;flex-direction:column;gap:.2rem;padding:.65rem 0;border-bottom:1px dashed rgba(139,111,71,.25)}.fm-duree-row:last-child{border-bottom:none}.fm-duree-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.fm-duree-groupe{font-size:.88rem;font-weight:400;opacity:.9}.fm-duree-total{font-family:var(--font-display);font-size:1.1rem;color:var(--color-accent);white-space:nowrap}.fm-duree-breakdown{font-size:.74rem;opacity:.6;letter-spacing:.02em}.fm-label{display:block;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid rgba(139,111,71,.2)}.fm-group+.fm-group{margin-top:1.5rem}.fm-group-title{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin-bottom:.6rem;color:var(--color-primary)}.fm-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}.fm-list li{position:relative;padding-left:1.35rem;font-size:.88rem;line-height:1.55;font-weight:300;opacity:.82}.fm-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;background:var(--color-accent);opacity:.7;transform:rotate(45deg)}.fm-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(139,111,71,.2)}.fm-tarif-rows{display:flex;flex-direction:column;gap:.6rem}.fm-tarif{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;min-width:300px}.fm-tarif-label{font-size:.85rem;font-weight:300;opacity:.75}.fm-tarif-price{font-family:var(--font-display);font-size:1.4rem;color:var(--color-accent);white-space:nowrap}.fm-tarif-note{display:block;margin-top:.85rem;font-size:.75rem;font-style:italic;opacity:.55}.fm-footer .cta-button{margin-top:0}.formations-contact{padding:6rem 0 2rem;margin-top:2rem;border-top:1px solid rgba(139,111,71,.15)}.contact-wrapper{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}.contact-info-side .section-tag{display:block;font-size:.68rem;letter-spacing:.42em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.25rem}.contact-info-side h2{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.25rem);font-weight:300;line-height:1.15;margin-bottom:.5rem}.vertical-line{width:1px;height:60px;background:var(--color-primary);opacity:.2}.vertical-line.left{margin:.75rem 0 1.5rem;height:40px}.contact-info-side p{font-size:1.05rem;line-height:1.85;opacity:.72;font-weight:300;margin-bottom:2.5rem}.contact-features{display:flex;flex-direction:column;gap:1.25rem}.feature{display:flex;align-items:center;gap:1.25rem;font-size:1rem}.feature-number{font-family:var(--font-display);font-size:1rem;opacity:.4;font-weight:600;color:var(--color-accent)}.feature-text{opacity:.82;font-weight:300}.contact-form-side{background:var(--color-white);padding:3rem;border:1px solid rgba(139,111,71,.15)}.formation-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7;font-weight:500}.form-group input,.form-group select,.form-group textarea{padding:1.05rem;border:1px solid rgba(139,111,71,.18);background:var(--color-card);font-family:var(--font-body);font-size:.98rem;color:var(--color-primary);border-radius:0;transition:border-color .3s ease,background .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);background:var(--color-white)}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b6f47' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group textarea{resize:vertical;min-height:100px}.cta-button{display:inline-block;padding:1rem 2.5rem;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);font-family:var(--font-body);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:color .35s ease;position:relative;overflow:hidden;text-align:center;z-index:0}.cta-button:before{content:"";position:absolute;inset:0;background:var(--color-primary);transform:translate(-101%);transition:transform .35s ease;z-index:-1}.cta-button:hover:before{transform:translate(0)}.cta-button:hover{color:var(--color-white)}.cta-button.full{width:100%}.formations-container{position:relative;z-index:1;max-width:600px;margin:4rem auto;padding:0 2rem}.success-card{text-align:center;padding:4rem 3rem;background:var(--color-white);border:1px solid rgba(139,111,71,.15)}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:2rem;animation:fmScaleIn .5s ease-out}.success-tag{display:block;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;opacity:.5}.success-card h2{font-family:var(--font-display);font-size:2rem;font-weight:300;margin-bottom:1.5rem}.divider{width:40px;height:1px;background:var(--color-accent);margin:0 auto 1.5rem}.success-card p{font-size:1rem;line-height:1.7;opacity:.72;margin-bottom:.5rem;font-weight:300}.success-detail{font-size:.9rem!important;opacity:.5!important;margin-bottom:2rem!important}.formations-page .footer{position:relative;z-index:1;margin-top:1rem;padding:3.5rem 2rem;text-align:center;background:transparent;border-top:1px solid rgba(139,111,71,.2)}.formations-page .footer-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem;font-family:var(--font-display);letter-spacing:.25em;font-size:.95rem;color:var(--color-primary)}.formations-page .footer-icon{width:22px;height:22px;color:var(--color-accent);animation:fmRotate 60s linear infinite}.formations-page .copyright{font-size:.72rem;opacity:.45;font-weight:300;letter-spacing:.06em}@keyframes fmFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fmScaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fmRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:968px){.formations-wrapper{padding:0 1.75rem 4rem}.contact-wrapper{grid-template-columns:1fr;gap:3rem}.fm-grid{grid-template-columns:1fr;gap:2rem}}@media(max-width:640px){.formations-page{padding-top:90px}.formations-hero{padding:2.5rem .5rem 2rem}.fm-head{grid-template-columns:auto 1fr auto;gap:1rem;padding:1.5rem 0}.fm-num{font-size:1.5rem}.fm-price{display:none}.fm-panel-content{padding:.25rem 0 2.5rem}.fm-side--full{grid-template-columns:1fr;gap:1.75rem}.fm-footer{flex-direction:column;align-items:stretch}.fm-tarif{min-width:0}.fm-footer .cta-button{width:100%}.form-row{grid-template-columns:1fr}.contact-form-side{padding:1.75rem}}.services-page{position:relative;min-height:100vh;padding-top:100px;font-family:var(--font-body);color:var(--color-primary);overflow:hidden;background:radial-gradient(130% 80% at 50% -15%,#f5f0e8f2,#e8dfd400 55%),radial-gradient(90% 70% at 100% 0%,#8b6f471f,#e8dfd400 50%),radial-gradient(70% 60% at 0% 100%,#6b553714,#e8dfd400 55%),var(--color-bg)}.services-page:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:160px}.services-wrapper{position:relative;z-index:1;max-width:100%;margin:0 auto}.services-hero{max-width:680px;margin:0 auto;padding:1.75rem 2rem 1.25rem;text-align:center;animation:svcFadeUp .9s cubic-bezier(.22,1,.36,1) backwards}.services-hero .section-tag{display:inline-block;font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--color-accent);opacity:.95;margin-bottom:.9rem}.services-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.9rem);font-weight:300;line-height:1.08;letter-spacing:-.01em;margin:0 0 .9rem}.services-hero h1 em{font-style:italic;font-weight:400;color:var(--color-accent)}.hero-description{max-width:520px;margin:0 auto;font-size:.95rem;line-height:1.7;font-weight:300;opacity:.72}.services-hero__meta{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.4rem}.services-hero__meta .line{width:48px;height:1px;background:var(--color-accent);opacity:.4}.services-hero__meta .count{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-accent);opacity:.85}.svc-carousel{position:relative;margin-top:2rem;padding:1.5rem 0 1rem}.svc-stage{position:relative;height:560px;margin:0 auto;perspective:1900px}.svc-card{--spread: 230px;--depth: 170px;--angle: 32deg;--scale-step: .14;position:absolute;top:50%;left:50%;width:340px;height:540px;display:flex;flex-direction:column;padding:2.5rem 2rem 2.25rem;background:linear-gradient(165deg,var(--color-card) 0%,var(--color-white) 100%);border:1px solid rgba(139,111,71,.18);overflow:hidden;cursor:pointer;transform:translate(-50%,-50%) translate(calc(var(--i, 0) * var(--spread))) translateZ(calc(var(--abs, 0) * var(--depth) * -1)) rotateY(calc(var(--i, 0) * var(--angle) * -1)) scale(calc(1 - var(--abs, 0) * var(--scale-step)));opacity:calc(1 - var(--abs, 0) * .4);transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s ease,box-shadow .6s ease,border-color .6s ease}.svc-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-dark-brown));transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1)}.svc-card.is-active{cursor:default;border-color:#8b6f4773;box-shadow:0 30px 70px -28px #2d241880}.svc-card.is-active:before{transform:scaleX(1)}.svc-card__num{position:absolute;top:.9rem;right:1.1rem;font-family:var(--font-display);font-size:5.5rem;font-weight:300;line-height:1;color:var(--color-accent);opacity:.1;pointer-events:none;transition:opacity .55s ease}.svc-card.is-active .svc-card__num{opacity:.2}.svc-card__head{position:relative;z-index:1}.svc-card__tag{display:block;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.85rem}.svc-card__title{font-family:var(--font-display);font-size:1.85rem;font-weight:400;line-height:1.12;letter-spacing:.005em;color:var(--color-primary);max-width:92%}.svc-card__rule{display:block;width:34px;height:1px;margin:1.25rem 0;background:var(--color-accent);opacity:.55;transition:width .55s cubic-bezier(.22,1,.36,1)}.svc-card.is-active .svc-card__rule{width:62px}.svc-card__desc{font-size:.9rem;line-height:1.75;font-weight:300;opacity:.72;margin-bottom:1.5rem}.svc-card__list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;flex:1}.svc-card__list li{position:relative;padding-left:1.35rem;font-size:.82rem;font-weight:300;letter-spacing:.01em;opacity:.82}.svc-card__list li:before{content:"";position:absolute;left:0;top:.5em;width:5px;height:5px;background:var(--color-accent);opacity:.7;transform:rotate(45deg)}.svc-card__cta{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;margin-top:auto;padding-bottom:.4rem;font-family:var(--font-body);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary);text-decoration:none;border-bottom:1px solid rgba(45,36,24,.25);transition:color .4s ease,border-color .4s ease,gap .4s ease}.svc-card__cta svg{width:16px;height:16px;transition:transform .4s ease}.svc-card__cta:hover{color:var(--color-accent);border-color:var(--color-accent);gap:1rem}.svc-card__cta:hover svg{transform:translate(4px)}.svc-card:not(.is-active) .svc-card__cta{pointer-events:none}.svc-arrow{position:absolute;top:calc(1.5rem + 280px);transform:translateY(-50%);z-index:50;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(139,111,71,.4);background:var(--color-white);color:var(--color-primary);cursor:pointer;box-shadow:0 12px 32px -12px #2d24184d;transition:background .4s ease,color .4s ease,border-color .4s ease,transform .25s ease}.svc-arrow:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.svc-arrow:active{transform:translateY(-50%) scale(.93)}.svc-arrow svg{width:20px;height:20px}.svc-arrow.prev{left:1.25rem}.svc-arrow.next{right:1.25rem}.svc-dots{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1.5rem}.svc-dot{width:8px;height:8px;padding:0;border:1px solid var(--color-accent);border-radius:50%;background:transparent;cursor:pointer;opacity:.5;transition:opacity .3s ease,transform .3s ease,background .3s ease}.svc-dot:hover{opacity:.85}.svc-dot.active{background:var(--color-accent);opacity:1;transform:scale(1.35)}.services-page .footer{position:relative;z-index:1;margin-top:1rem;padding:3.5rem 2rem;text-align:center;background:transparent;border-top:1px solid rgba(139,111,71,.2)}.services-page .footer-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem;font-family:var(--font-display);letter-spacing:.25em;font-size:.95rem;color:var(--color-primary)}.services-page .footer-icon{width:22px;height:22px;color:var(--color-accent);animation:svcRotate 60s linear infinite}.services-page .copyright{font-size:.72rem;opacity:.45;font-weight:300;letter-spacing:.06em}@keyframes svcCardIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes svcFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes svcRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.svc-card__title{font-size:1.7rem}}@media(max-width:768px){.services-page{padding-top:90px}.svc-carousel{margin-top:1rem;padding:.5rem 0 1rem}.svc-stage{height:auto;perspective:none}.svc-card{position:relative;top:auto;left:auto;width:100%;height:auto;transform:none;opacity:1;cursor:default;padding:2.25rem 1.75rem}.svc-card:not(.is-active){display:none}.svc-card__num{font-size:4.5rem}.svc-arrow{top:50%}.svc-arrow.prev{left:.25rem}.svc-arrow.next{right:.25rem}}@media(prefers-reduced-motion:reduce){.services-hero,.svc-card{animation:none}.svc-card,.svc-card:before,.svc-card__rule,.svc-card__num,.svc-card__cta,.svc-card__cta svg,.svc-arrow{transition:none}.services-page .footer-icon{animation:none}}.technologies-page{position:relative;min-height:100vh;padding-top:100px;font-family:var(--font-body);color:var(--color-primary);overflow:hidden;background:radial-gradient(130% 80% at 50% -15%,#f5f0e8f2,#e8dfd400 55%),radial-gradient(90% 70% at 100% 0%,#8b6f471f,#e8dfd400 50%),radial-gradient(70% 60% at 0% 100%,#6b553714,#e8dfd400 55%),var(--color-bg)}.technologies-page:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:160px}.technologies-wrapper{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:1.75rem 3rem 4rem}.technologies-hero{text-align:center;max-width:680px;margin:0 auto 2.25rem;animation:techFadeUp .9s cubic-bezier(.22,1,.36,1) backwards}.technologies-hero .section-tag{display:inline-block;font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--color-accent);opacity:.95;margin-bottom:.9rem}.technologies-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.9rem);font-weight:300;letter-spacing:-.01em;line-height:1.08;margin:0 0 .9rem}.technologies-hero h1 em{font-style:italic;font-weight:400;color:var(--color-accent)}.technologies-hero .hero-description{max-width:520px;margin:0 auto;font-size:.95rem;line-height:1.7;font-weight:300;opacity:.72}.technologies-hero__meta{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.4rem}.technologies-hero__meta .line{width:48px;height:1px;background:var(--color-accent);opacity:.4}.technologies-hero__meta .count{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-accent);opacity:.85}.tech-showcase{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:3.5rem;align-items:start}.tech-tabs{display:flex;flex-direction:column;border-top:1px solid rgba(139,111,71,.18)}.tech-tab{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;width:100%;padding:1.6rem 1rem 1.6rem .5rem;background:transparent;border:none;border-bottom:1px solid rgba(139,111,71,.18);border-left:2px solid transparent;cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--color-primary);transition:background .4s ease,padding-left .4s ease,border-color .4s ease}.tech-tab:hover{padding-left:1.25rem}.tech-tab.active{background:linear-gradient(90deg,#8b6f4714,#8b6f4700);border-left-color:var(--color-accent);padding-left:1.25rem}.tech-tab__num{font-family:var(--font-display);font-size:1.4rem;font-weight:300;line-height:1;color:var(--color-accent);opacity:.4;transition:opacity .4s ease}.tech-tab.active .tech-tab__num{opacity:.9}.tech-tab__text{display:flex;flex-direction:column;gap:.3rem;min-width:0}.tech-tab__name{font-family:var(--font-display);font-size:1.45rem;font-weight:400;line-height:1.1}.tech-tab__sub{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);opacity:.85}.tech-tab__chevron{width:18px;height:18px;color:var(--color-accent);opacity:0;transform:translate(-6px);transition:opacity .4s ease,transform .4s ease}.tech-tab__chevron svg{width:100%;height:100%}.tech-tab.active .tech-tab__chevron{opacity:.9;transform:translate(0)}.tech-stage{display:flex;flex-direction:column;gap:2rem;animation:techStageIn .5s cubic-bezier(.22,1,.36,1)}.tech-gallery{display:flex;flex-direction:column;gap:1rem}.tech-main{position:relative;display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:1px solid rgba(139,111,71,.18);background:radial-gradient(120% 120% at 50% 0%,var(--color-white),var(--color-card));cursor:zoom-in;overflow:hidden}.tech-main img{width:100%;height:100%;object-fit:contain;padding:1.5rem;transition:transform .5s cubic-bezier(.22,1,.36,1)}.tech-main:hover img{transform:scale(1.03)}.tech-main__zoom{position:absolute;bottom:1rem;right:1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;background:#2d2418d1;color:var(--color-white);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}.tech-main__zoom svg{width:15px;height:15px}.tech-main:hover .tech-main__zoom{opacity:1;transform:translateY(0)}.tech-thumbs{display:flex;flex-wrap:wrap;gap:.85rem}.tech-thumb{width:76px;height:76px;padding:.4rem;border:1px solid rgba(139,111,71,.22);background:var(--color-white);cursor:pointer;transition:border-color .35s ease,transform .35s ease}.tech-thumb img{width:100%;height:100%;object-fit:contain}.tech-thumb:hover{transform:translateY(-3px);border-color:#8b6f4780}.tech-thumb.active{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.tech-detail{display:flex;flex-direction:column}.tech-detail__tag{font-size:.65rem;letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem}.tech-detail__name{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.6rem);font-weight:300;line-height:1.1;margin:0}.tech-detail__rule{display:block;width:44px;height:1px;margin:1.25rem 0;background:var(--color-accent);opacity:.55}.tech-detail__desc{font-size:1.02rem;line-height:1.85;font-weight:300;opacity:.78;margin:0;max-width:620px}.technologies-page .footer{position:relative;z-index:1;margin-top:1rem;padding:3.5rem 2rem;text-align:center;background:transparent;border-top:1px solid rgba(139,111,71,.2)}.technologies-page .footer-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem;font-family:var(--font-display);letter-spacing:.25em;font-size:.95rem;color:var(--color-primary)}.technologies-page .footer-icon{width:22px;height:22px;color:var(--color-accent);animation:techRotate 60s linear infinite}.technologies-page .copyright{font-size:.72rem;opacity:.45;font-weight:300;letter-spacing:.06em}.lightbox{position:fixed;inset:0;background:#1c160ee6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:techFadeIn .3s ease}.lightbox-content{position:relative;max-width:92vw;max-height:90vh}.lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;background:var(--color-white)}.lightbox-close{position:absolute;top:-3rem;right:0;background:none;border:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;transition:opacity .3s ease}.lightbox-close:hover{opacity:.7}@keyframes techFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes techStageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes techFadeIn{0%{opacity:0}to{opacity:1}}@keyframes techRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:900px){.technologies-wrapper{padding:2.5rem 1.5rem 3rem}.technologies-hero{margin-bottom:2.5rem}.tech-showcase{grid-template-columns:1fr;gap:2rem}.tech-tabs{border-top:none}.tech-tab__sub{display:none}.tech-tab{padding:1.25rem .75rem 1.25rem .5rem}.tech-tab__name{font-size:1.25rem}}@media(max-width:640px){.technologies-page{padding-top:90px}.tech-main{aspect-ratio:1 / 1}.tech-main img{padding:1rem}.tech-thumb{width:64px;height:64px}}@media(prefers-reduced-motion:reduce){.technologies-hero,.tech-stage,.lightbox{animation:none}.tech-main img,.tech-thumb,.tech-tab{transition:none}.technologies-page .footer-icon{animation:none}}
