*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--cream-50: #FFFDF7;--cream-100: #FFF8DC;--cream-200: #FAF3E0;--sage-50: #F2F7F2;--sage-100: #E4EFE4;--sage-200: #C9DFC9;--sage-300: #8FBC8F;--sage-400: #6B9B6B;--sage-500: #4A794A;--sage-600: #3C633C;--sage-700: #2E4C2E;--sienna-50: #FDF4F2;--sienna-100: #FAE9E5;--sienna-200: #F5D3CB;--sienna-300: #E97451;--sienna-400: #D65B36;--sienna-500: #B44726;--sienna-600: #933A1F;--sienna-700: #722C18;--mustard-50: #FFFDF7;--mustard-100: #FFF8DC;--mustard-200: #FFEFB7;--mustard-300: #FFDB58;--mustard-400: #FFD324;--mustard-500: #EBC000;--mustard-600: #C29D00;--mustard-700: #997A00;--charcoal-50: #F5F6F7;--charcoal-100: #EBEDEF;--charcoal-200: #D7DBDF;--charcoal-300: #36454F;--charcoal-400: #2C3841;--charcoal-500: #232E35;--charcoal-600: #1A242A;--charcoal-700: #131B20;--brown-50: #F7F5F4;--brown-100: #EFEAE9;--brown-200: #DFD5D2;--brown-300: #5C4033;--brown-400: #4A3329;--brown-500: #3D2B22;--brown-600: #31221B;--brown-700: #251A15;--background: var(--cream-50);--foreground: var(--charcoal-300);--card: #ffffff;--card-foreground: var(--charcoal-300);--popover: #ffffff;--popover-foreground: var(--charcoal-300);--primary: var(--sage-500);--primary-foreground: #ffffff;--secondary: var(--sienna-300);--secondary-foreground: #ffffff;--muted: var(--sage-50);--muted-foreground: var(--charcoal-400);--accent: var(--mustard-400);--accent-foreground: var(--charcoal-300);--destructive: var(--sienna-500);--destructive-foreground: #ffffff;--success: var(--sage-400);--success-foreground: #ffffff;--warning: var(--mustard-300);--warning-foreground: var(--charcoal-300);--info: var(--sage-300);--info-foreground: #ffffff;--border: var(--sage-200);--input: var(--sage-200);--ring: var(--sage-500);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--spacing-5xl: 6rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-thin: 100;--font-weight-extralight: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--line-height-none: 1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-3d-sm: 0 2px 4px 0 rgb(0 0 0 / .1), 0 1px 2px 0 rgb(0 0 0 / .06), inset 0 1px 0 0 rgb(255 255 255 / .1);--shadow-3d-md: 0 4px 8px 0 rgb(0 0 0 / .12), 0 2px 4px 0 rgb(0 0 0 / .08), inset 0 1px 0 0 rgb(255 255 255 / .15);--shadow-3d-lg: 0 6px 12px 0 rgb(0 0 0 / .15), 0 3px 6px 0 rgb(0 0 0 / .1), inset 0 1px 0 0 rgb(255 255 255 / .2);--shadow-3d-xl: 0 8px 16px 0 rgb(0 0 0 / .18), 0 4px 8px 0 rgb(0 0 0 / .12), inset 0 1px 0 0 rgb(255 255 255 / .25);--shadow-3d-pressed: 0 1px 2px 0 rgb(0 0 0 / .15), inset 0 2px 4px 0 rgb(0 0 0 / .1);--radius: .5rem;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}body{background-color:var(--background);color:var(--foreground);line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-lg);padding:var(--spacing-md);background:linear-gradient(145deg,hsl(var(--background)),hsl(var(--background) / .95));color:hsl(var(--foreground));transition:all var(--transition-fast);position:relative;box-shadow:inset 3px 3px 6px hsl(var(--muted) / .15),inset -3px -3px 6px hsl(var(--background)),0 2px 4px #0000000d,0 1px 2px #0000001a}input:focus,textarea:focus,select:focus{outline:none;border-color:hsl(var(--primary) / .6);background:linear-gradient(145deg,hsl(var(--background)),hsl(var(--primary) / .02));box-shadow:inset 4px 4px 8px hsl(var(--primary) / .1),inset -4px -4px 8px hsl(var(--background)),0 0 0 3px hsl(var(--primary) / .15),0 4px 8px #0000001a;transform:translateY(-1px)}input:hover,textarea:hover,select:hover{border-color:hsl(var(--border) / .5);background:linear-gradient(145deg,hsl(var(--background) / .98),hsl(var(--background) / .92));box-shadow:inset 3px 3px 6px hsl(var(--muted) / .2),inset -3px -3px 6px hsl(var(--background)),0 3px 6px #00000014,0 1px 3px #0000001f;transform:translateY(-.5px)}*:focus{outline:2px solid var(--ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}img{max-width:100%;height:auto}html{scroll-behavior:smooth}ul,ol{list-style:none}button{background:none;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.container{max-width:80rem;margin:0 auto;padding:0 var(--spacing-lg)}@media (min-width: 640px){.container{padding:0 var(--spacing-xl)}}.container-sm{max-width:42rem;margin:0 auto;padding:0 var(--spacing-lg)}.container-lg{max-width:96rem;margin:0 auto;padding:0 var(--spacing-lg)}.flex-col{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.grid{display:grid;gap:var(--spacing-xl)}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr;gap:var(--spacing-xl)}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr);gap:var(--spacing-2xl)}}.grid-3{grid-template-columns:1fr;gap:var(--spacing-xl)}@media (min-width: 640px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-3{grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl)}}.grid-4{grid-template-columns:1fr;gap:var(--spacing-lg)}@media (min-width: 640px){.grid-4{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}}@media (min-width: 1024px){.grid-4{grid-template-columns:repeat(4,1fr);gap:var(--spacing-xl)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.text-6xl{font-size:var(--font-size-6xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.font-black{font-weight:var(--font-weight-black)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mt-3xl{margin-top:var(--spacing-3xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.ml-2xl{margin-left:var(--spacing-2xl)}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.mr-2xl{margin-right:var(--spacing-2xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pl-2xl{padding-left:var(--spacing-2xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.pr-2xl{padding-right:var(--spacing-2xl)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.shadow-none{box-shadow:none}.shadow-3d-sm{box-shadow:var(--shadow-3d-sm)}.shadow-3d{box-shadow:var(--shadow-3d-md)}.shadow-3d-lg{box-shadow:var(--shadow-3d-lg)}.shadow-3d-xl{box-shadow:var(--shadow-3d-xl)}.shadow-3d-pressed{box-shadow:var(--shadow-3d-pressed)}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-accent{color:var(--accent)}.text-muted{color:var(--muted-foreground)}.text-destructive{color:var(--destructive)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-accent{background-color:var(--accent)}.bg-muted{background-color:var(--muted)}.bg-card{background-color:var(--card)}.bg-background{background-color:var(--background)}.transition-fast{transition:all var(--transition-fast)}.transition{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.fade-in{animation:fadeIn var(--transition-normal) ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:slideUp var(--transition-normal) ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hover-lift{transition:transform var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.05)}.btn-3d{position:relative;transform:translateY(0);transition:all var(--transition-fast);box-shadow:var(--shadow-3d-md)}.btn-3d:hover{transform:translateY(-3px);box-shadow:var(--shadow-3d-lg)}.btn-3d:active{transform:translateY(-1px);box-shadow:var(--shadow-3d-pressed)}.btn-3d-strong{position:relative;transform:translateY(0);transition:all var(--transition-fast);box-shadow:var(--shadow-3d-lg)}.btn-3d-strong:hover{transform:translateY(-4px);box-shadow:var(--shadow-3d-xl)}.btn-3d-strong:active{transform:translateY(-1px);box-shadow:var(--shadow-3d-pressed)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}@media (min-width: 768px){.md\:hidden{display:none!important}.md\:flex{display:flex!important}.md\:block{display:block!important}}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.hero-section{position:relative;min-height:80vh;height:80vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-md);overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffdf766;z-index:1}@media (min-width: 768px){.hero-section{padding:var(--spacing-5xl) var(--spacing-md)}}.hero-content{position:relative;z-index:10;text-align:center;max-width:56rem;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl);background:#fffffff2;border-radius:var(--radius-2xl);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:var(--shadow-xl);border:1px solid rgba(201,223,201,.2)}.hero-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);color:var(--charcoal-300);margin-bottom:var(--spacing-lg);line-height:var(--line-height-tight);text-shadow:0 2px 4px rgba(0,0,0,.1)}@media (min-width: 768px){.hero-title{font-size:var(--font-size-5xl)}}@media (min-width: 1024px){.hero-title{font-size:var(--font-size-6xl)}}.hero-title-accent{color:var(--sage-500);display:block;margin-top:var(--spacing-sm);font-weight:var(--font-weight-black)}.hero-description{font-size:var(--font-size-xl);color:var(--charcoal-400);margin-bottom:var(--spacing-2xl);max-width:42rem;margin-left:auto;margin-right:auto;line-height:var(--line-height-relaxed)}@media (min-width: 768px){.hero-description{font-size:var(--font-size-2xl)}}.features-section{padding:var(--spacing-4xl) var(--spacing-md);background:linear-gradient(135deg,hsl(var(--background)),hsl(var(--muted)))}@media (min-width: 768px){.features-section{padding:var(--spacing-5xl) var(--spacing-md)}}.features-container{max-width:80rem;margin:0 auto}.features-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);text-align:center;color:hsl(var(--foreground));margin-bottom:var(--spacing-3xl);position:relative}.features-title:after{content:"";position:absolute;bottom:-var(--spacing-md);left:50%;transform:translate(-50%);width:var(--spacing-3xl);height:3px;background:hsl(var(--primary));border-radius:var(--radius-sm)}@media (min-width: 768px){.features-title{font-size:var(--font-size-4xl)}}.features-grid{display:grid;gap:var(--spacing-2xl)}@media (min-width: 768px){.features-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}}.features-item{text-align:center;padding:var(--spacing-xl);background:hsl(var(--card) / .8);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.features-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.features-icon{width:var(--spacing-4xl);height:var(--spacing-4xl);margin:0 auto var(--spacing-lg);background:hsl(var(--muted));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px hsl(var(--primary) / .2)}.features-icon svg{width:var(--spacing-2xl);height:var(--spacing-2xl);color:hsl(var(--primary))}.features-item-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:hsl(var(--foreground));margin-bottom:var(--spacing-md)}.features-item-description{color:hsl(var(--muted-foreground));line-height:var(--line-height-relaxed);font-size:var(--font-size-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);text-decoration:none;transition:all var(--transition-normal);border:none;cursor:pointer;font-size:var(--font-size-base);box-shadow:var(--shadow-3d-md);text-transform:uppercase;letter-spacing:.5px;position:relative;transform:translateY(0)}.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-3d-lg)}.btn:active{transform:translateY(-1px);box-shadow:var(--shadow-3d-pressed)}.btn-primary{background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--primary) / .85));color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary) / .8)}.btn-primary:hover{background:linear-gradient(145deg,hsl(var(--primary) / .95),hsl(var(--primary) / .8));border-color:hsl(var(--primary) / .9)}.btn-primary:active{background:linear-gradient(145deg,hsl(var(--primary) / .9),hsl(var(--primary) / .75))}.btn-secondary{background:linear-gradient(145deg,hsl(var(--secondary)),hsl(var(--secondary) / .85));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--secondary) / .8)}.btn-secondary:hover{background:linear-gradient(145deg,hsl(var(--secondary) / .95),hsl(var(--secondary) / .8));border-color:hsl(var(--secondary) / .9)}.btn-secondary:active{background:linear-gradient(145deg,hsl(var(--secondary) / .9),hsl(var(--secondary) / .75))}.btn-outline{border:2px solid hsl(var(--primary));color:hsl(var(--primary));background:linear-gradient(145deg,hsl(var(--background)),hsl(var(--background) / .95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-3d-sm)}.btn-outline:hover{background:linear-gradient(145deg,hsl(var(--primary)),hsl(var(--primary) / .9));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));box-shadow:var(--shadow-3d-md)}.btn-outline:active{background:linear-gradient(145deg,hsl(var(--primary) / .9),hsl(var(--primary) / .8))}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-xl);border-radius:var(--radius-xl)}@media (min-width: 768px){.btn-lg{padding:var(--spacing-xl) var(--spacing-3xl);font-size:var(--font-size-2xl)}}.card{background:hsl(var(--card) / .95);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal);border:1px solid hsl(var(--border))}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-featured{border:2px solid hsl(var(--primary) / .3);box-shadow:0 6px 12px hsl(var(--primary) / .2)}.card-image{width:100%;height:15rem;object-fit:cover;transition:transform var(--transition-normal)}.card:hover .card-image{transform:scale(1.05)}.card-content{padding:var(--spacing-xl)}.card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:hsl(var(--foreground));margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}.card-description{color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed);font-size:var(--font-size-lg)}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));font-weight:var(--font-weight-medium)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--foreground));margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:var(--spacing-md);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:linear-gradient(145deg,hsl(var(--background)),hsl(var(--background) / .95));color:hsl(var(--foreground));transition:all var(--transition-fast);box-sizing:border-box;position:relative;box-shadow:inset 3px 3px 6px hsl(var(--muted) / .15),inset -3px -3px 6px hsl(var(--background)),0 2px 4px #0000000d,0 1px 2px #0000001a}.form-input:focus{outline:none;border-color:hsl(var(--primary) / .6);background:linear-gradient(145deg,hsl(var(--background)),hsl(var(--primary) / .02));box-shadow:inset 4px 4px 8px hsl(var(--primary) / .1),inset -4px -4px 8px hsl(var(--background)),0 0 0 3px hsl(var(--primary) / .15),0 4px 8px #0000001a;transform:translateY(-1px)}.form-input:hover{border-color:hsl(var(--border) / .5);background:linear-gradient(145deg,hsl(var(--background) / .98),hsl(var(--background) / .92));box-shadow:inset 3px 3px 6px hsl(var(--muted) / .2),inset -3px -3px 6px hsl(var(--background)),0 3px 6px #00000014,0 1px 3px #0000001f;transform:translateY(-.5px)}.form-textarea{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);resize:vertical;min-height:6rem;background:hsl(var(--background));color:hsl(var(--foreground));transition:all var(--transition-fast);box-sizing:border-box;box-shadow:inset 2px 2px 4px hsl(var(--background) / .3),inset -2px -2px 4px hsl(var(--background) / .1),0 1px 2px #0000000d}.form-textarea:focus{outline:none;box-shadow:inset 3px 3px 6px hsl(var(--primary) / .15),inset -3px -3px 6px hsl(var(--background)),0 0 0 3px hsl(var(--primary) / .1)}.form-textarea:hover{box-shadow:inset 2px 2px 4px hsl(var(--background) / .4),inset -2px -2px 4px hsl(var(--background) / .05),0 2px 4px #00000014}.form-error{font-size:var(--font-size-sm);color:hsl(var(--destructive));margin-top:var(--spacing-xs)}.alert-error{padding:var(--spacing-md);border-radius:var(--radius-md);background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .2);color:hsl(var(--destructive));font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.alert-success{padding:var(--spacing-md);border-radius:var(--radius-md);background:hsl(var(--success) / .1);border:1px solid hsl(var(--success) / .2);color:hsl(var(--success));font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.alert-warning{padding:var(--spacing-md);border-radius:var(--radius-md);background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .2);color:hsl(var(--warning));font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.alert-info{padding:var(--spacing-md);border-radius:var(--radius-md);background:hsl(var(--info) / .1);border:1px solid hsl(var(--info) / .2);color:hsl(var(--info));font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.section{padding:var(--spacing-4xl) 0;background:hsl(var(--background) / .5)}@media (min-width: 768px){.section{padding:var(--spacing-5xl) 0}}.section-sm{padding:var(--spacing-2xl) 0}@media (min-width: 768px){.section-sm{padding:var(--spacing-3xl) 0}}.icon-trophy-gold{color:hsl(var(--accent))}.icon-award-sage{color:hsl(var(--primary))}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--cream-50)}.spinner{width:2rem;height:2rem;border:2px solid var(--sage-200);border-top:2px solid var(--sage-400);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payment-loading{text-align:center;padding:var(--spacing-lg) 0}.payment-loading-text{margin-top:var(--spacing-sm);color:hsl(var(--muted-foreground));font-size:var(--font-size-sm)}.map-placeholder{background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:var(--font-size-sm)}.audio-player-container{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);z-index:50}.audio-player{background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-lg)}.audio-play-button{color:var(--sage-400);background:none;border:none;cursor:pointer;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.audio-play-button:hover{color:var(--sage-500)}.audio-volume-slider{width:6rem;accent-color:var(--sage-400)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeInModalOverlay .3s ease-out}@keyframes fadeInModalOverlay{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.modal-container{background:#ffffffde;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fff3,inset 0 1px #fff6;max-width:32rem;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideInModalContainer .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInModalContainer{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:all .2s ease;z-index:10}.modal-close:hover{background:hsl(var(--muted) / .1);color:hsl(var(--foreground))}.modal-content{padding:var(--spacing-2xl)}.modal-header{text-align:center;margin-bottom:var(--spacing-xl)}.modal-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:hsl(var(--foreground));margin-bottom:var(--spacing-sm)}.modal-header p{color:hsl(var(--muted-foreground));font-size:var(--font-size-base)}.modal-header.success h2{color:hsl(var(--success))}.reservation-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:var(--font-weight-medium);color:hsl(var(--foreground));font-size:var(--font-size-sm)}.reservation-summary{background:hsl(var(--muted) / .3);padding:var(--spacing-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.summary-item{display:flex;align-items:center;gap:var(--spacing-sm);color:hsl(var(--muted-foreground));font-size:var(--font-size-sm)}.reservation-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.piece-assignment{margin-bottom:var(--spacing-xl)}.assigned-piece-card{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--secondary) / .1));padding:var(--spacing-xl);border-radius:var(--radius-lg);text-align:center;border:2px solid hsl(var(--primary) / .2)}.assigned-piece-card h3{color:hsl(var(--primary));font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.assigned-piece-card p{color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-sm)}.payment-summary{background:hsl(var(--muted) / .2);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.puzzle-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem;animation:fadeInPuzzleGlass .3s ease-out}@keyframes fadeInPuzzleGlass{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.puzzle-modal-container{background:#ffffffe6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.35);border-radius:16px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff40,inset 0 1px #ffffff80;max-width:32rem;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideInPuzzleGlass .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInPuzzleGlass{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.puzzle-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease;z-index:10}.puzzle-modal-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.puzzle-modal-content{padding:2rem}.puzzle-modal-header{text-align:center;margin-bottom:2rem}.puzzle-modal-header h2{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:.5rem}.puzzle-modal-header p{color:hsl(var(--muted-foreground));font-size:.875rem}.puzzle-modal-header.success h2{color:hsl(var(--primary))}.reservation-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.reservation-summary{background:hsl(var(--muted) / .3);padding:1.5rem;border-radius:.5rem;margin:1.5rem 0}.summary-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:hsl(var(--foreground));font-size:.875rem}.summary-item:last-child{margin-bottom:0}.summary-item svg{color:hsl(var(--primary));flex-shrink:0}.reservation-button{width:100%;padding:.875rem 1.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.reservation-button:hover:not(:disabled){background:hsl(var(--primary) / .9);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .4)}.reservation-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.piece-assignment{margin:1.5rem 0}.assigned-piece-card{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--primary) / .05));border:1px solid hsl(var(--primary) / .2);padding:1.5rem;border-radius:.5rem;text-align:center}.assigned-piece-card h3{color:hsl(var(--primary));font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.assigned-piece-card p{color:hsl(var(--foreground));font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.assigned-piece-card p:last-child{margin-bottom:0}.payment-summary{background:hsl(var(--muted) / .2);padding:1.5rem;border-radius:.5rem;margin:1.5rem 0}.summary-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.875rem}.summary-line:last-child{margin-bottom:0}.summary-line.total{border-top:1px solid hsl(var(--border));padding-top:.75rem;font-weight:600;font-size:1rem}.confirmation-details{display:flex;flex-direction:column;gap:1.5rem}.confirmation-card{background:hsl(var(--muted) / .3);padding:1.5rem;border-radius:.5rem;border:1px solid hsl(var(--border))}.confirmation-card h3{color:hsl(var(--primary));font-size:1.125rem;font-weight:600;margin-bottom:1rem}.confirmation-card p{color:hsl(var(--foreground));font-size:.875rem;margin-bottom:.5rem}.next-steps{background:hsl(var(--card));padding:1.5rem;border-radius:.5rem;border:1px solid hsl(var(--border))}.next-steps h4{color:hsl(var(--foreground));font-size:1rem;font-weight:600;margin-bottom:1rem}.next-steps ol{list-style:decimal;padding-left:1.25rem;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.6}.next-steps li{margin-bottom:.5rem}.next-steps li:last-child{margin-bottom:0}.summary-line{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;color:hsl(var(--muted-foreground))}.summary-line.total{border-top:2px solid hsl(var(--border));margin-top:var(--spacing-sm);padding-top:var(--spacing-md);font-weight:var(--font-weight-bold);color:hsl(var(--foreground));font-size:var(--font-size-lg)}.confirmation-details{display:flex;flex-direction:column;gap:var(--spacing-xl)}.confirmation-card{background:hsl(var(--success) / .1);padding:var(--spacing-lg);border-radius:var(--radius-md);border:2px solid hsl(var(--success) / .2)}.confirmation-card h3{color:hsl(var(--success));font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.confirmation-card p{color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-sm)}.confirmation-card p:last-child{margin-bottom:0}.next-steps h4{color:hsl(var(--foreground));font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.next-steps ol{padding-left:var(--spacing-lg);color:hsl(var(--muted-foreground))}.next-steps li{margin-bottom:var(--spacing-sm);line-height:var(--line-height-relaxed)}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.modal-container{margin:var(--spacing-sm);max-height:95vh}.modal-content{padding:var(--spacing-xl)}}
