*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #1c3125;--color-primary-dark: #0f1f16;--color-primary-light: #2d4a38;--color-primary-muted: #3d5c4a;--color-accent: #39d174;--color-accent-dark: #1f8044;--color-accent-light: #5ee892;--color-secondary: #2563eb;--color-secondary-light: #60a5fa;--color-teal: #0d9488;--color-teal-light: #14b8a6;--color-dark: #15171c;--color-light: #ffffff;--color-cream: #f5f3ee;--color-cream-dark: #edebe6;--color-white: #ffffff;--color-gray-100: #f8f9fa;--color-gray-200: #e9ecef;--color-gray-300: #dee2e6;--color-gray-400: #ced4da;--color-gray-500: #adb5bd;--color-gray-600: #6c757d;--color-gray-700: #495057;--color-gray-800: #343a40;--color-gray-900: #212529;--color-text: #1a1a1a;--color-text-secondary: #4a5568;--color-text-muted: #718096;--color-text-light: #a0aec0;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-spring: cubic-bezier(.43, .13, .23, .96);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--section-padding: 120px;--container-padding: 40px;--card-padding: 32px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-text);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;font-style:italic;line-height:1.2;color:var(--color-text);letter-spacing:-.02em}h1{font-size:clamp(2.5rem,5vw + 1rem,4.5rem)}h2{font-size:clamp(2rem,4vw + .5rem,3.5rem)}h3{font-size:clamp(1.5rem,2vw + .5rem,2rem)}h4{font-size:clamp(1.25rem,1.5vw + .25rem,1.5rem)}p{font-family:var(--font-body);font-size:1.125rem;line-height:1.8;color:var(--color-text-secondary)}a{text-decoration:none;color:inherit;transition:color var(--duration-normal) var(--transition-smooth)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.container{width:100%;max-width:1360px;margin:0 auto;padding:0 var(--container-padding)}.content-card{background:var(--color-white);border-radius:var(--radius-2xl);padding:var(--card-padding);box-shadow:var(--shadow-md);transition:box-shadow var(--duration-normal) var(--transition-smooth),transform var(--duration-normal) var(--transition-smooth)}.content-card:hover{box-shadow:var(--shadow-lg)}.section{padding:var(--section-padding) 0}.section-label{font-family:var(--font-body);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent-dark);margin-bottom:1rem}.section-title{font-family:var(--font-display);font-style:italic;font-weight:500;margin-bottom:1.5rem}.section-subtitle{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.25rem;color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-family:var(--font-body);font-size:.9375rem;font-weight:500;border-radius:var(--radius-full);transition:all .35s cubic-bezier(.25,.1,.25,1);cursor:pointer;border:none;text-decoration:none;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);transform:translate(-100%);transition:transform .5s ease}.btn:hover:after{transform:translate(100%)}.btn svg{transition:transform .3s cubic-bezier(.25,.1,.25,1)}.btn:hover svg{transform:translate(4px)}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-3px);box-shadow:0 12px 30px #1c312540}.btn-accent{background:var(--color-accent);color:var(--color-primary-dark)}.btn-accent:hover{background:var(--color-accent-light);transform:translateY(-3px);box-shadow:0 12px 30px #39d1744d}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-3px)}.btn-white{background:var(--color-white);color:var(--color-primary)}.btn-white:hover{background:var(--color-cream);transform:translateY(-3px);box-shadow:0 12px 30px #0000001a}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-cream)}::-webkit-scrollbar-thumb{background:var(--color-primary-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}::selection{background:var(--color-accent);color:var(--color-primary-dark)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .6s var(--transition-smooth) forwards}.animate-fade-in{animation:fadeIn .5s var(--transition-smooth) forwards}@media(max-width:1024px){:root{--section-padding: 80px;--container-padding: 32px}}@media(max-width:768px){:root{--section-padding: 60px;--container-padding: 20px;--card-padding: 24px}html{font-size:15px}p{font-size:1rem}}@media(max-width:480px){:root{--section-padding: 48px;--container-padding: 16px;--card-padding: 20px}}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding:120px 0 100px}.hero-background{position:absolute;inset:0;z-index:0}.hero-image{width:100%;height:100%;background-image:url(/hero.png);background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0f1f16bf,#1c3125a6 40%,#0f1f16cc)}.hero-content{position:relative;z-index:10;width:100%;max-width:1360px;margin:0 auto;padding:0 var(--container-padding);display:flex;flex-direction:column;gap:3rem}.hero-content-inner{max-width:720px}.hero-title{font-family:var(--font-display);font-size:clamp(3rem,7vw,5.5rem);font-weight:500;font-style:italic;line-height:1.05;color:var(--color-white);margin-bottom:1.5rem;display:flex;flex-direction:column;overflow:hidden}.title-line{display:block;transform-origin:left bottom;letter-spacing:-.02em}.title-accent{color:var(--color-accent)}.hero-description{font-size:1.25rem;line-height:1.7;color:#fffc;max-width:540px;margin-bottom:2rem}.hero-content-inner .btn{padding:1rem 1.75rem;font-size:.9375rem;position:relative;overflow:hidden}.hero-content-inner .btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s ease}.hero-content-inner .btn:hover:before{transform:translate(100%)}.hero-content-inner .btn svg{transition:transform .3s var(--transition-smooth)}.hero-content-inner .btn:hover svg{transform:translate(4px)}@media(max-width:768px){.hero{padding:100px 0 48px;min-height:100vh;min-height:100dvh;align-items:flex-end}.hero-content{gap:1.5rem}.hero-title{font-size:clamp(2.25rem,10vw,3.5rem)}.hero-description{font-size:1rem;margin-bottom:1.5rem}.hero-content-inner .btn{width:100%;justify-content:center}}.services{position:relative;padding:var(--section-padding) 0;background:var(--color-cream)}.services-header{text-align:center;max-width:640px;margin:0 auto 4rem}.services-header .section-label{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--color-white);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--color-accent-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.services-header .section-title{font-size:clamp(2.25rem,4vw,3.25rem);margin-bottom:1.25rem}.section-title .accent{color:var(--color-accent-dark)}.section-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.service-card{background:var(--color-white);border-radius:var(--radius-2xl);overflow:hidden;transition:transform .4s cubic-bezier(.25,.1,.25,1),box-shadow .4s cubic-bezier(.25,.1,.25,1)}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0f1f161f}.service-card-inner{padding:2rem}.service-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.service-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-cream-dark) 100%);border-radius:var(--radius-lg);color:var(--color-primary);transition:all .4s cubic-bezier(.25,.1,.25,1)}.service-card:hover .service-icon{background:var(--color-primary);color:var(--color-white);box-shadow:0 8px 20px #1c312533}.service-icon svg{width:28px;height:28px}.service-number{font-family:var(--font-display);font-size:.875rem;font-style:italic;font-weight:500;color:var(--color-text-muted)}.service-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:.875rem}.service-description{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:1.5rem}.service-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.service-features li{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--color-cream);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:all .25s cubic-bezier(.25,.1,.25,1)}.service-features li:hover{background:var(--color-cream-dark);transform:translateY(-2px)}.service-features li svg{width:14px;height:14px;color:var(--color-accent-dark)}.service-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-primary);transition:all var(--duration-normal) var(--transition-smooth)}.service-link:hover{color:var(--color-accent-dark);gap:.75rem}.service-link svg{width:18px;height:18px;transition:transform var(--duration-normal) var(--transition-smooth)}.service-link:hover svg{transform:translate(4px)}@media(max-width:1024px){.services-grid{gap:1.25rem}}@media(max-width:768px){.services-header{margin-bottom:3rem}.services-grid{grid-template-columns:1fr;gap:1rem}.service-card-inner{padding:1.5rem}.service-icon{width:48px;height:48px}.service-icon svg{width:24px;height:24px}.service-title{font-size:1.375rem}}.portfolio{padding:var(--section-padding) 0;background:var(--color-cream)}.portfolio-header{text-align:center;max-width:640px;margin:0 auto 3rem}.portfolio-header .section-label{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--color-white);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--color-accent-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.portfolio-header .section-title{font-size:clamp(2.25rem,4vw,3.25rem);margin-bottom:1.25rem}.portfolio-header .section-title .accent{color:var(--color-accent-dark)}.portfolio-header .section-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.7}.portfolio-filters{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-white);border:none;border-radius:var(--radius-full);transition:all .3s cubic-bezier(.25,.1,.25,1);box-shadow:var(--shadow-sm);cursor:pointer}.filter-btn:hover{color:var(--color-primary);background:var(--color-white);box-shadow:0 8px 20px #1c31251a}.filter-btn.active{background:var(--color-primary);color:var(--color-white);box-shadow:0 8px 25px #1c31254d}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:1.25rem}.portfolio-item{position:relative;border-radius:var(--radius-2xl);overflow:hidden;cursor:pointer;background:var(--color-white)}.portfolio-item.large{grid-column:span 2;grid-row:span 2}.portfolio-item.medium{grid-column:span 2}.portfolio-item.small{grid-column:span 1}.portfolio-image{position:absolute;inset:0}.portfolio-image img{width:100%;height:100%;object-fit:cover}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(15,31,22,.3) 50%,rgba(15,31,22,.85) 100%);opacity:.6;transition:opacity .5s cubic-bezier(.25,.1,.25,1)}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-content{position:absolute;bottom:0;left:0;right:0;padding:1.75rem;z-index:10;transform:translateY(20px);opacity:0;transition:all .4s cubic-bezier(.25,.1,.25,1)}.portfolio-item:hover .portfolio-content{transform:translateY(0);opacity:1}.project-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.project-category{display:inline-block;padding:.25rem .625rem;background:var(--color-accent);color:var(--color-primary-dark);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm)}.project-location{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#ffffffbf}.project-location svg{width:14px;height:14px}.project-title{font-family:var(--font-display);font-size:1.375rem;font-weight:500;font-style:italic;color:var(--color-white);margin-bottom:.5rem}.portfolio-item.large .project-title{font-size:1.75rem}.project-description{font-size:.875rem;color:#fffc;line-height:1.6;margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--color-white);color:var(--color-primary);font-size:.8125rem;font-weight:600;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-normal) var(--transition-smooth)}.project-link:hover{background:var(--color-accent);color:var(--color-primary-dark)}.project-link svg{width:16px;height:16px;transition:transform var(--duration-normal) var(--transition-smooth)}.project-link:hover svg{transform:translate(4px)}.portfolio-cta{text-align:center;margin-top:4rem}.portfolio-cta .btn{padding:1rem 2rem}.portfolio-cta .btn svg{width:18px;height:18px}@media(max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:280px}.portfolio-item.large{grid-column:span 2;grid-row:span 1}.portfolio-item.medium,.portfolio-item.small{grid-column:span 1}}@media(max-width:768px){.portfolio-header{margin-bottom:2rem}.portfolio-filters{margin-bottom:2rem;gap:.375rem}.filter-btn{padding:.5rem 1rem;font-size:.8125rem}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:320px;gap:1rem}.portfolio-item.large,.portfolio-item.medium,.portfolio-item.small{grid-column:span 1}.portfolio-content{transform:translateY(0);opacity:1}.portfolio-overlay{opacity:1}.portfolio-cta{margin-top:3rem}}.about{position:relative;padding:var(--section-padding) 0;background:var(--color-primary);overflow:hidden}.about-wrapper{position:relative}.about-header{text-align:center;margin-bottom:4rem}.about-header .section-label{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem}.about-header .section-title{font-size:clamp(2.25rem,4vw,3.25rem);color:var(--color-white);margin-bottom:0}.about-header .section-title .accent{color:var(--color-accent)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-image-container{position:relative}.about-image-card{border-radius:var(--radius-2xl);overflow:hidden;background:var(--color-white);box-shadow:var(--shadow-2xl)}.about-image-card img{width:100%;height:480px;object-fit:cover;display:block}.about-experience-badge{position:absolute;bottom:-24px;right:-24px;background:var(--color-white);padding:1.5rem 2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;cursor:default;transition:box-shadow .3s cubic-bezier(.25,.1,.25,1)}.about-experience-badge:hover{box-shadow:0 20px 40px #00000026}.badge-number{display:block;font-family:var(--font-display);font-size:2.5rem;font-weight:500;font-style:italic;color:var(--color-primary);line-height:1;margin-bottom:.25rem}.badge-text{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.about-content{display:flex;flex-direction:column;gap:2rem}.about-text-card{background:var(--color-white);border-radius:var(--radius-2xl);padding:2rem}.about-text-card p{font-size:1rem;line-height:1.8;color:var(--color-text-secondary);margin-bottom:1rem}.about-text-card p:last-child{margin-bottom:0}.about-values{display:flex;flex-direction:column;gap:1rem}.value-card{background:var(--color-white);border-radius:var(--radius-xl);padding:1.5rem;transition:box-shadow .3s cubic-bezier(.25,.1,.25,1);cursor:default}.value-card:hover{box-shadow:0 12px 30px #0000001a}.value-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.value-number{font-family:var(--font-display);font-size:.875rem;font-style:italic;font-weight:500;color:var(--color-accent-dark);padding:.375rem .75rem;background:var(--color-cream);border-radius:var(--radius-sm)}.value-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;font-style:italic;color:var(--color-text);margin:0}.value-description{font-size:.9375rem;line-height:1.6;color:var(--color-text-secondary);margin:0;padding-left:3.5rem}.about-cta{padding-top:.5rem}.about-cta .btn{width:100%;justify-content:center;padding:1rem 2rem}.about-cta .btn svg{width:18px;height:18px}@media(max-width:1024px){.about-grid{gap:3rem}.about-image-card img{height:400px}.about-experience-badge{right:-12px;bottom:-12px;padding:1.25rem 1.5rem}.badge-number{font-size:2rem}}@media(max-width:768px){.about-header{margin-bottom:3rem}.about-grid{grid-template-columns:1fr;gap:2rem}.about-image-card img{height:320px}.about-experience-badge{position:relative;right:auto;bottom:auto;margin:1rem auto 0;display:inline-flex;flex-direction:column;align-items:center}.about-image-container{text-align:center}.about-text-card{padding:1.5rem}.value-card{padding:1.25rem}.value-description{padding-left:0;margin-top:.5rem}}.contact{position:relative;padding:var(--section-padding) 0;background:var(--color-cream)}.contact-form .hidden{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.contact-header{text-align:center;max-width:640px;margin:0 auto 4rem}.contact-header .section-label{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--color-white);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--color-accent-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.contact-header .section-title{font-size:clamp(2.25rem,4vw,3.25rem);margin-bottom:1.25rem}.contact-header .section-title .accent{color:var(--color-accent-dark)}.contact-header .section-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.7}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:start}.contact-info-card{background:var(--color-white);border-radius:var(--radius-2xl);padding:2rem;height:100%;display:flex;flex-direction:column;gap:2rem}.contact-details{display:flex;flex-direction:column;gap:1.25rem}.contact-item{display:flex;gap:1rem;align-items:flex-start}.contact-icon{width:48px;height:48px;background:var(--color-cream);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.25,.1,.25,1)}.contact-item:hover .contact-icon{background:var(--color-primary);transform:scale(1.05)}.contact-icon svg{width:22px;height:22px;color:var(--color-primary);transition:color var(--duration-normal) var(--transition-smooth)}.contact-item:hover .contact-icon svg{color:var(--color-white)}.contact-text h4{font-family:var(--font-display);font-size:1rem;font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:.25rem}.contact-text p{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.5}.contact-hours{padding:1.5rem;background:var(--color-cream);border-radius:var(--radius-xl);margin-top:auto}.contact-hours h4{font-family:var(--font-display);font-size:1rem;font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:1rem}.hours-list{display:flex;flex-direction:column;gap:.5rem}.hours-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-text-secondary)}.contact-form-card{background:var(--color-white);border-radius:var(--radius-2xl);padding:2.5rem;box-shadow:var(--shadow-lg)}.form-header{margin-bottom:2rem}.form-header h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:.5rem}.form-header p{font-size:.9375rem;color:var(--color-text-secondary)}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}.form-group{position:relative}.form-group.full-width{grid-column:span 2}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem;transition:color var(--duration-fast) var(--transition-smooth)}.form-group.active label{color:var(--color-primary)}.form-group.error label{color:#dc3545}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;font-size:.9375rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-cream);border:2px solid transparent;border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--transition-smooth);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--color-white);border-color:var(--color-primary)}.form-group.error input,.form-group.error textarea{border-color:#dc3545}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%234a5568' stroke-width='2'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem}.form-group textarea{resize:vertical;min-height:100px}.error-message{position:absolute;bottom:-1.25rem;left:0;font-size:.75rem;color:#dc3545}.submit-btn{width:100%;padding:1rem 2rem;font-size:1rem;margin-top:.5rem}.submit-btn svg{width:18px;height:18px}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.loading{display:flex;align-items:center;justify-content:center;gap:.75rem}.spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-message{text-align:center;padding:3rem 2rem}.success-icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--color-accent);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.success-icon svg{width:36px;height:36px;color:var(--color-primary-dark)}.success-message h3{font-family:var(--font-display);font-size:1.75rem;font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:.75rem}.success-message p{font-size:1rem;color:var(--color-text-secondary);margin-bottom:2rem;max-width:320px;margin-left:auto;margin-right:auto}.reset-btn{padding:.875rem 1.5rem}@media(max-width:1024px){.contact-grid{gap:1.5rem}.contact-form-card{padding:2rem}}@media(max-width:768px){.contact-header{margin-bottom:3rem}.contact-grid{grid-template-columns:1fr}.contact-info-card{padding:1.5rem}.form-fields{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.contact-form-card{padding:1.5rem}}.footer{position:relative;background:var(--color-primary);color:#fff}.footer-main{padding:5rem 0 3rem}.footer-content{display:grid;grid-template-columns:1.2fr 1.5fr 1.3fr;gap:4rem}.footer-brand{max-width:280px}.footer-logo{display:flex;align-items:center;gap:.875rem;margin-bottom:1.25rem}.footer-logo-mark{width:44px;height:44px;background:var(--color-white);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.footer-logo-mark span{font-family:var(--font-display);font-size:1rem;font-weight:600;font-style:italic;color:var(--color-primary)}.footer-logo-text{display:flex;flex-direction:column;line-height:1.1}.footer-logo-name{font-family:var(--font-display);font-size:1.125rem;font-weight:500;font-style:italic;color:var(--color-white)}.footer-logo-tagline{font-size:.75rem;color:#ffffffb3}.footer-description{font-size:.9375rem;color:#ffffffb3;line-height:1.7;margin-bottom:1.5rem}.footer-social{display:flex;gap:.75rem}.social-link{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--transition-smooth)}.social-link:hover{background:var(--color-accent)}.social-link svg{width:20px;height:20px;color:#fff}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.footer-nav-group h4{font-family:var(--font-display);font-size:1rem;font-weight:500;font-style:italic;margin-bottom:1.25rem;color:var(--color-white)}.footer-nav-group ul{display:flex;flex-direction:column;gap:.75rem}.footer-nav-group a{font-size:.9375rem;color:#ffffffb3;transition:all var(--duration-normal) var(--transition-smooth)}.footer-nav-group a:hover{color:var(--color-white);padding-left:.25rem}.footer-newsletter h4{font-family:var(--font-display);font-size:1rem;font-weight:500;font-style:italic;margin-bottom:.75rem;color:var(--color-white)}.footer-newsletter p{font-size:.9375rem;color:#ffffffb3;margin-bottom:1.25rem;line-height:1.6}.newsletter-form{display:flex;flex-direction:column;gap:.75rem}.newsletter-form input{width:100%;padding:.875rem 1rem;font-size:.9375rem;font-family:var(--font-body);color:var(--color-white);background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);outline:none;transition:all var(--duration-normal) var(--transition-smooth)}.newsletter-form input::placeholder{color:#ffffff80}.newsletter-form input:focus{border-color:var(--color-accent);background:#ffffff26}.newsletter-form button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:500;font-family:var(--font-body);color:var(--color-primary-dark);background:var(--color-accent);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--transition-smooth)}.newsletter-form button:hover{background:var(--color-accent-light)}.newsletter-form button svg{width:16px;height:16px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center}.footer-bottom p{font-size:.875rem;color:#fff9}.footer-credit{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:#ffffffb3;transition:all .3s ease}.footer-credit:hover{color:var(--color-white)}.footer-credit .tsc-logo{height:56px;width:auto;filter:brightness(0) invert(1);opacity:.8;transition:opacity .3s ease}.footer-credit:hover .tsc-logo{opacity:1}.footer-credit .tsc-name{font-weight:500;letter-spacing:.01em}@media(max-width:1024px){.footer-content{grid-template-columns:1fr 1fr;gap:3rem}.footer-brand{grid-column:span 2;max-width:none;text-align:center}.footer-logo{justify-content:center}.footer-description{max-width:400px;margin-left:auto;margin-right:auto}.footer-social{justify-content:center}.footer-newsletter{grid-column:span 2;text-align:center;max-width:400px;margin:0 auto}}@media(max-width:768px){.footer-main{padding:3rem 0 2rem}.footer-content{grid-template-columns:1fr;gap:2.5rem}.footer-brand{grid-column:span 1}.footer-nav{grid-template-columns:1fr 1fr;text-align:center}.footer-nav-group ul{align-items:center}.footer-nav-group a:hover{padding-left:0}.footer-newsletter{grid-column:span 1}.footer-bottom-content{flex-direction:column;gap:1rem;text-align:center}.footer-credit{justify-content:center}}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 0;transition:all .5s cubic-bezier(.4,0,.2,1)}.navigation.scrolled{padding:1rem 0}.nav-container{max-width:1360px;margin:0 auto;padding:0 var(--container-padding);display:flex;align-items:center;justify-content:space-between;gap:2rem}.nav-logo{display:flex;align-items:center;gap:.875rem;color:#fff;transition:all .3s var(--transition-smooth);z-index:10}.navigation.scrolled .nav-logo{color:var(--color-primary)}.logo-mark{width:44px;height:44px;background:#ffffff26;border:1.5px solid rgba(255,255,255,.3);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:all .5s cubic-bezier(.4,0,.2,1)}.navigation.scrolled .logo-mark{background:var(--color-primary);border-color:var(--color-primary)}.logo-text{font-family:var(--font-display);font-size:1rem;font-weight:600;font-style:italic;color:var(--color-white);transition:color .5s cubic-bezier(.4,0,.2,1)}.navigation.scrolled .logo-text{color:var(--color-white)}.logo-wordmark{display:flex;flex-direction:column;line-height:1.1}.logo-name{font-family:var(--font-display);font-size:1.125rem;font-weight:500;font-style:italic;letter-spacing:-.01em}.logo-tagline{font-family:var(--font-body);font-size:.75rem;font-weight:400;opacity:.8;letter-spacing:.02em}.nav-center{flex:1;display:flex;justify-content:center}.nav-links-wrapper{display:flex;align-items:center;gap:.5rem;padding:0;background:transparent;border-radius:var(--radius-full);box-shadow:none;transition:all .5s cubic-bezier(.4,0,.2,1)}.nav-links-wrapper.is-pill{gap:.25rem;padding:.375rem;background:var(--color-white);box-shadow:var(--shadow-md)}.nav-link{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;color:#ffffffe6;border-radius:var(--radius-full);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-link:hover{background:#ffffff26;color:var(--color-white)}.nav-links-wrapper.is-pill .nav-link{color:var(--color-text-secondary)}.nav-links-wrapper.is-pill .nav-link:hover{background:var(--color-cream);color:var(--color-primary)}.nav-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;color:var(--color-white);font-weight:500;font-size:.875rem;border-radius:var(--radius-full);border:1.5px solid rgba(255,255,255,.4);transition:all .5s cubic-bezier(.4,0,.2,1);z-index:10}.nav-cta:hover{background:#ffffff1a;border-color:#fff9;transform:translateY(-2px)}.navigation.scrolled .nav-cta{background:var(--color-accent);color:var(--color-primary-dark);border-color:var(--color-accent)}.navigation.scrolled .nav-cta:hover{background:var(--color-accent-light);border-color:var(--color-accent-light);box-shadow:0 4px 20px #39d1744d}.nav-cta svg{transition:transform .3s var(--transition-smooth)}.nav-cta:hover svg{transform:translate(3px)}.mobile-menu-button{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:5px;padding:0;cursor:pointer;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .3s var(--transition-smooth);z-index:10}.mobile-menu-button span{display:block;width:18px;height:2px;background:var(--color-primary);border-radius:2px;transition:all .3s var(--transition-smooth)}.mobile-menu-button.open span:nth-child(1){transform:rotate(45deg) translate(4px,5px)}.mobile-menu-button.open span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-button.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-5px)}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:998}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;background:var(--color-white);padding:1.5rem;display:flex;flex-direction:column;z-index:1001;overflow-y:auto}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;border-bottom:1px solid var(--color-gray-200);margin-bottom:2rem}.mobile-menu-title{font-family:var(--font-display);font-size:1.25rem;font-style:italic;font-weight:500;color:var(--color-text)}.mobile-close-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-cream);border-radius:var(--radius-lg);color:var(--color-text);transition:all .2s var(--transition-smooth)}.mobile-close-btn:hover{background:var(--color-gray-200)}.mobile-menu-links{display:flex;flex-direction:column;gap:.5rem;flex:1}.mobile-nav-link{display:flex;align-items:center;gap:1rem;padding:1.25rem 1rem;background:var(--color-cream);border-radius:var(--radius-xl);transition:all .2s var(--transition-smooth)}.mobile-nav-link:hover{background:var(--color-cream-dark);transform:translate(4px)}.mobile-link-number{font-family:var(--font-body);font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.mobile-link-text{font-family:var(--font-display);font-size:1.375rem;font-style:italic;font-weight:500;color:var(--color-text)}.mobile-nav-cta{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;background:var(--color-primary);color:var(--color-white);font-weight:500;font-size:1rem;text-align:center;border-radius:var(--radius-xl);margin-top:2rem;transition:all .3s var(--transition-smooth)}.mobile-nav-cta:hover{background:var(--color-primary-light)}.mobile-nav-cta svg{transition:transform .3s var(--transition-smooth)}.mobile-nav-cta:hover svg{transform:translate(4px)}@media(max-width:900px){.nav-center,.nav-cta{display:none}.mobile-menu-button{display:flex}.logo-wordmark{display:none}}@media(max-width:480px){.mobile-menu{max-width:100%}}.preloader{position:fixed;inset:0;z-index:9999;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.preloader-content{display:flex;flex-direction:column;align-items:center;gap:2.5rem}.botanical-loader{position:relative;width:100px;height:120px}.botanical-svg{width:100%;height:100%}.botanical-line{stroke:#ffffffd9;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}.botanical-dot{fill:var(--color-accent)}.preloader-text{display:flex;flex-direction:column;align-items:center;gap:.375rem}.preloader-title{font-family:var(--font-display);font-size:1.75rem;font-weight:500;font-style:italic;color:var(--color-white);letter-spacing:.01em}.preloader-subtitle{font-family:var(--font-body);font-size:.8125rem;color:#fff9;letter-spacing:.15em;text-transform:uppercase;font-weight:400}@media(max-width:768px){.botanical-loader{width:80px;height:96px}.preloader-title{font-size:1.5rem}.preloader-subtitle{font-size:.75rem}}#root{width:100%;max-width:none;margin:0;padding:0}.app{position:relative}main{position:relative}section{position:relative}
