*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--primary:#c9a96e;--primary-dark:#b8944e;--primary-light:#c9a96e1f;--secondary:#d4c5a9;--accent-green:#7bae7f;--accent-pink:#c97b84;--accent-yellow:#d4b96a;--background:#1a1a1a;--background-alt:#222;--card-bg:#2a2a2a;--surface-sunken:#111;--border:#3a3a3a;--text-main:#f5f0eb;--text-muted:#a89f94;--text-light:#fff;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.2rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 32px #0006;--header-height:70px;--nav-height:64px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--spacing-sm:var(--space-2);--spacing-md:var(--space-4);--spacing-lg:var(--space-8);--border-radius-sm:8px;--border-radius-md:12px;--border-radius:16px;--transition-fast:.2s ease;--transition-base:.3s ease}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--background);color:var(--text-main);background-image:radial-gradient(at 20%,#c9a96e08 0%,#0000 50%),radial-gradient(at 80% 20%,#c9a96e05 0%,#0000 50%);margin:0;padding:0;font-family:EB Garamond,Georgia,serif;line-height:1.6;position:relative;overflow-x:hidden}h1,h2,h3{letter-spacing:-.01em;color:var(--text-main);font-family:Alegreya,Georgia,serif;font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,5vw + 1rem,3.5rem)}h2{font-size:clamp(1.25rem,2vw + .75rem,1.75rem)}h3{font-size:1.15rem}p{color:var(--text-muted);font-family:EB Garamond,serif;font-size:1.1rem;line-height:1.7}.lucide-icon{vertical-align:-.125em;flex-shrink:0;width:1em;height:1em;display:inline-block}button,input,select,textarea,.nav-solid,.btn,.filter-pill,.tag,label{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.logo-text{color:var(--primary);margin-bottom:.5rem;font-family:Allura,cursive;font-size:5rem;font-weight:400;line-height:1}.logo-animated{display:inline-flex}.logo-animated .letter-i,.logo-animated .letter-f{display:inline-block}.js .logo-animated .letter-i,.js .logo-animated .letter-f{opacity:0}.logo-animated .letter-i{animation:1.4s cubic-bezier(.16,1,.3,1) forwards slideFromLeft}.logo-animated .letter-f{animation:1.4s cubic-bezier(.16,1,.3,1) .3s forwards slideFromTop}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-100vw)}to{opacity:1;transform:translate(0)}}@keyframes slideFromTop{0%{opacity:0;transform:translateY(-100vh)}to{opacity:1;transform:translateY(0)}}.if-phrases-container{height:1.8rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.if-phrase{opacity:0;color:var(--primary);letter-spacing:.02em;font-family:EB Garamond,serif;font-size:1.2rem;font-style:italic;animation:104s linear infinite cyclePhrase;position:absolute;top:0;left:0}.if-phrase[data-index="0"]{animation-delay:1.8s}.if-phrase[data-index="1"]{animation-delay:5.8s}.if-phrase[data-index="2"]{animation-delay:9.8s}.if-phrase[data-index="3"]{animation-delay:13.8s}.if-phrase[data-index="4"]{animation-delay:17.8s}@keyframes cyclePhrase{0%,1.5%{opacity:0;filter:blur(8px);transform:translateY(12px)}3%{opacity:1;filter:blur();transform:translateY(0)}5.5%{opacity:1;filter:blur();transform:translateY(0)}7%{opacity:0;filter:blur(4px);transform:translateY(-8px)}7.01%,to{opacity:0;filter:blur(8px)}}.if-watermark{color:var(--primary);opacity:.025;pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none;font-family:Allura,cursive;font-size:50vh;line-height:1;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.container{z-index:1;flex-direction:column;width:100%;max-width:768px;min-height:100vh;margin:0 auto;display:flex;position:relative}.hero-cinematic{flex-direction:column;justify-content:flex-end;min-height:100dvh;padding:2rem 1.5rem 4rem;display:flex;position:relative;overflow:hidden}.hero-cinematic:before{content:"";z-index:0;background:linear-gradient(135deg,#1a1a1a 0%,#252520 25%,#1f1d1a 50%,#1a1a1a 75%,#201e1b 100%) 0 0/400% 400%;animation:15s ease-in-out infinite silkShimmer;position:absolute;inset:0}.hero-cinematic .ambient-glow-1,.hero-cinematic .ambient-glow-2{filter:blur(120px);opacity:.4;z-index:0;pointer-events:none;border-radius:50%;animation:12s ease-in-out infinite alternate breatheGlow;position:absolute}.hero-cinematic .ambient-glow-1{background:radial-gradient(circle,#c9a96e26 0%,#0000 70%);width:60vw;height:60vw;top:-20%;left:-10%}.hero-cinematic .ambient-glow-2{background:radial-gradient(circle,#c97b841f 0%,#0000 70%);width:70vw;height:70vw;animation-delay:-6s;bottom:-30%;right:-10%}.hero-cinematic:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(at 30%,#c9a96e0f 0%,#0000 50%);width:200%;height:200%;animation:8s ease-in-out infinite alternate lightSweep;position:absolute;top:-50%;left:-50%}@keyframes silkShimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes lightSweep{0%{transform:translate(0)rotate(0)}to{transform:translate(10%,5%)rotate(2deg)}}@keyframes breatheGlow{0%{opacity:.3;transform:scale(.9)translate(0)}50%{opacity:.5;transform:scale(1.05)translate(3%,2%)}to{opacity:.35;transform:scale(1)translate(-2%,-3%)}}.particles-container{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{background:var(--primary);opacity:0;border-radius:50%;animation:15s linear infinite floatParticle;position:absolute;box-shadow:0 0 10px 2px #c9a96e66}@keyframes floatParticle{0%{opacity:0;transform:translateY(0)scale(0)}20%{opacity:.6;transform:translateY(-20vh)scale(1)translate(10px)}80%{opacity:.4;transform:translateY(-80vh)scale(.8)translate(-15px)}to{opacity:0;transform:translateY(-100vh)scale(0)}}.hero-content{z-index:2;position:relative}.hero-tagline{letter-spacing:-.01em;color:var(--text-main);margin-bottom:1.5rem;font-family:Alegreya,serif;font-size:clamp(2.25rem,6vw + 1rem,4rem);font-weight:700;line-height:1.15}.hero-tagline .accent{color:var(--primary);font-style:italic}.tagline-word{opacity:0;filter:blur(12px);transition:opacity .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translateY(24px)}.tagline-word.revealed{opacity:1;filter:blur();transform:translateY(0)}.parallax-text{will-change:transform;transition:none;display:block}.hero-byline{color:var(--text-muted);opacity:.6;margin-bottom:1rem;font-family:EB Garamond,serif;font-size:1rem;font-style:italic}.hero-subtitle{color:var(--text-muted);letter-spacing:.04em;max-width:85%;margin-bottom:2.5rem;font-family:EB Garamond,serif;font-size:1.2rem}.hero-link{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;padding-bottom:4px;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .3s;position:relative}.hero-link:after{content:"";background:var(--primary);transform-origin:0;width:100%;height:1px;transition:transform .4s cubic-bezier(.25,.8,.25,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.hero-link:hover:after{transform:scaleX(1)}.hero-link:hover{color:var(--text-main)}.hero-link .arrow{margin-left:.5rem;transition:transform .3s;display:inline-block}.hero-link:hover .arrow{transform:translate(6px)}.scroll-hint{z-index:2;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-hint span{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);opacity:.7;font-family:Manrope,sans-serif;font-size:.65rem}.scroll-line{--progress:0%;background:var(--border);width:1px;height:40px;position:relative;overflow:hidden}.scroll-line:after{content:"";width:100%;height:var(--progress);background:var(--primary);transition:height .15s linear;position:absolute;bottom:0;left:0}.editorial-section{padding:4rem 1.5rem;position:relative}.editorial-section .section-label{text-transform:uppercase;letter-spacing:.25em;color:var(--primary);margin-bottom:.75rem;font-family:Manrope,sans-serif;font-size:.7rem;display:block}.editorial-section h2{margin-bottom:2.5rem}.editorial-grid{grid-template-rows:auto auto auto;grid-template-columns:1.4fr 1fr;gap:1rem;display:grid}.grid-card-large{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;grid-area:1/1/3;justify-content:flex-end;min-height:320px;padding:1.5rem;text-decoration:none;transition:transform .4s cubic-bezier(.25,.8,.25,1),box-shadow .4s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.grid-card-large .card-bg-image{opacity:.4;background-position:50%;background-size:cover;transition:opacity .4s,transform .6s;position:absolute;inset:0}.grid-card-large:hover .card-bg-image{opacity:.55;transform:scale(1.03)}.grid-card-large:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)translateZ(0)}.grid-card-large .card-content{z-index:2;position:relative}.grid-card-large h3{color:var(--text-main);margin-bottom:.3rem;font-size:1.4rem}.grid-card-large p{color:var(--text-muted);font-size:.95rem}.grid-card-small{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;justify-content:space-between;min-height:150px;padding:1.25rem;text-decoration:none;transition:transform .35s cubic-bezier(.25,.8,.25,1),border-color .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.grid-card-small:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px)translateZ(0)}.grid-card-small h3{color:var(--text-main);margin-bottom:.25rem}.grid-card-small p{margin-bottom:0;font-size:.9rem}.grid-card-small .card-icon{background:var(--primary-light);width:36px;height:36px;color:var(--primary);border-radius:8px;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:.9rem;display:flex}.grid-card-full .card-icon{background:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.grid-card-full{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;grid-column:1/-1;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;text-decoration:none;transition:transform .35s cubic-bezier(.25,.8,.25,1),border-color .35s;display:flex;overflow:hidden;transform:translateZ(0)}.grid-card-full:hover{border-color:var(--primary);transform:translateY(-2px)translateZ(0)}.grid-card-full .card-left{align-items:center;gap:1rem;display:flex}.grid-card-full h3{color:var(--text-main);margin-bottom:.1rem}.grid-card-full p{margin-bottom:0;font-size:.9rem}.card-arrow{color:var(--text-muted);font-size:.85rem;transition:transform .3s,color .3s}.grid-card-small:hover .card-arrow,.grid-card-full:hover .card-arrow,.grid-card-large:hover .card-arrow{color:var(--primary);transform:translate(4px)}.grid-card-small,.grid-card-full{position:relative;overflow:hidden}.grid-card-small .card-bg-image,.grid-card-full .card-bg-image{opacity:.25;z-index:0;background-position:50%;background-size:cover;width:100%;height:100%;transition:transform .7s;position:absolute;top:0;left:0}.grid-card-small:hover .card-bg-image,.grid-card-full:hover .card-bg-image{opacity:.45;transform:scale(1.08)}.grid-card-large:after,.grid-card-small:after,.grid-card-full:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff04 42%,#ffffff0f 50%,#ffffff04 58%,#0000 65%);width:60%;height:140%;animation:5s linear infinite autoShimmerSweep;position:absolute;top:-20%;left:-150%;transform:skew(-15deg)}.grid-card-large:after{animation-delay:0s}.grid-card-small:nth-child(2):after{animation-delay:1.25s}.grid-card-small:nth-child(3):after{animation-delay:2.5s}.grid-card-full:after{animation-delay:3.75s}@keyframes autoShimmerSweep{0%{left:-150%}to{left:200%}}.grid-card-small>*,.grid-card-full>*{z-index:1;position:relative}.whatif-section{text-align:center;padding:5rem 1.5rem;position:relative}.whatif-section .section-label{text-transform:uppercase;letter-spacing:.25em;color:var(--primary);margin-bottom:2.5rem;font-family:Manrope,sans-serif;font-size:.7rem;display:block}.whatif-question{color:var(--text-main);opacity:0;margin-bottom:2rem;font-family:Alegreya,serif;font-size:clamp(1.25rem,3vw + .5rem,2rem);font-style:italic;font-weight:400;line-height:1.35;transform:translateY(20px)}.whatif-question.in-view{animation:.8s cubic-bezier(.2,.8,.2,1) forwards fadeInUp}.whatif-note{color:var(--text-muted);letter-spacing:.05em;opacity:.6;margin-top:1rem;margin-bottom:2.5rem;font-family:Manrope,sans-serif;font-size:.8rem}.whatif-cta{margin-top:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translate(0,0)}}.animate-fade-up{opacity:1}.js .animate-fade-up{opacity:0}.animate-fade-up.in-view{animation:.6s cubic-bezier(.2,.8,.2,1) forwards fadeInUp}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}@supports (height:100dvh){body{min-height:100dvh}}button,a.btn,.nav-item-clean{min-height:48px;padding:12px 24px}.safe-padding{padding-left:max(1.5rem, env(safe-area-inset-left));padding-right:max(1.5rem, env(safe-area-inset-right))}.grid-card-large,.grid-card-small,.grid-card-full{contain:layout style}@media (width<=640px){.hero-cinematic .ambient-glow-1,.hero-cinematic .ambient-glow-2{filter:blur(60px)}.particles-container{display:none}.hero-cinematic:before{animation:none}}@media (height>=800px){.hero-cinematic{justify-content:center;padding-bottom:2rem}}@media (prefers-reduced-motion:reduce){.hero-cinematic:before,.hero-cinematic:after,.hero-cinematic .ambient-glow-1,.hero-cinematic .ambient-glow-2,.particle,.grid-card-large:after,.grid-card-small:after,.grid-card-full:after{animation:none}.parallax-text{transform:none!important}.js .animate-fade-up{opacity:1}.js .animate-fade-up.in-view{animation:none}.js .logo-animated .letter-i,.js .logo-animated .letter-f{opacity:1;animation:none}}.blob{display:none}.hero-cinematic.offscreen:before,.hero-cinematic.offscreen:after,.hero-cinematic.offscreen .ambient-glow-1,.hero-cinematic.offscreen .ambient-glow-2,.hero-cinematic.offscreen .scroll-line,.hero-cinematic.offscreen .particle,.editorial-section.offscreen .grid-card-large:after,.editorial-section.offscreen .grid-card-small:after,.editorial-section.offscreen .grid-card-full:after{animation-play-state:paused}.text-bold{font-weight:700}.btn{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:12px 28px;font-family:Manrope,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1);display:inline-flex}.btn-primary{background:var(--primary);border:1px solid var(--primary);font-weight:700;color:#000!important}.btn-primary:hover{background:0 0;color:var(--primary)!important}.btn-secondary{color:var(--text-main);border:1px solid var(--border);background:0 0}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-block{width:100%;display:flex}.btn:disabled{opacity:.4;cursor:not-allowed}.nav-solid{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:1000;background:#1a1a1aeb;justify-content:space-around;width:100%;padding:8px 0;display:flex;position:fixed;bottom:0;left:0;transform:translateZ(0)}.nav-item-clean{color:var(--text-muted);letter-spacing:.02em;flex-direction:column;align-items:center;padding:4px 12px;font-family:Alegreya,Georgia,serif;font-size:.7rem;font-weight:600;text-decoration:none;transition:color .3s;display:flex}.nav-item-clean.active,.nav-item-clean:hover{color:var(--primary)}.nav-item-clean i{margin-bottom:4px;font-size:1.15rem}.nav-item-admin{opacity:.4}.nav-item-admin:hover{opacity:1}.clean-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s cubic-bezier(.25,.8,.25,1),border-color .3s;transform:translateZ(0)}.clean-card:hover,.clean-card:active{box-shadow:var(--shadow-lg);border-color:#c9a96e4d;transform:translateY(-4px)translateZ(0)}.page-header{text-align:left;padding-top:4rem;padding-bottom:2rem}.page-header .logo-text{margin-bottom:1rem}.page-header h1{color:var(--text-main);margin-bottom:.5rem;font-size:2.25rem;font-weight:700;line-height:1.15}.page-header .page-subtitle{color:var(--text-muted);font-size:1.1rem;line-height:1.4}.content-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem}.content-card h2{color:var(--text-main);align-items:center;gap:.6rem;margin-bottom:1rem;padding-left:.25rem;font-size:1.15rem;font-weight:700;display:flex}.content-card h2 i{color:var(--primary)}.content-card p{color:var(--text-muted);margin-bottom:.75rem;line-height:1.7}.content-card p:last-child{margin-bottom:0}.content-card ul{color:var(--text-muted);margin-bottom:.75rem;margin-left:1.25rem}.content-card li{margin-bottom:.4rem;line-height:1.5}.content-card a{color:var(--primary);font-weight:600;text-decoration:none}.content-card a:hover{color:var(--text-main)}.icon-badge{width:56px;height:56px;color:var(--primary);background:#c9a96e14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.service-icon{object-fit:contain;width:48px;height:48px}.contact-row{align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.contact-row:last-child{margin-bottom:0}.contact-row h3{color:var(--text-main);margin-bottom:.15rem;font-size:.95rem;font-weight:700}.contact-row p,.contact-row a{color:var(--text-muted);font-size:.95rem;line-height:1.4;text-decoration:none}.contact-row a:hover{color:var(--primary)}.hours-list{margin:0;padding:0;list-style:none}.hours-list li{border-bottom:1px solid var(--border);justify-content:space-between;padding:.75rem 0;font-size:.95rem;display:flex}.hours-list li:last-child{border-bottom:none}.hours-list .day{color:var(--text-main);font-weight:600}.hours-list .time{color:var(--text-muted)}.hours-list .closed{color:var(--accent-pink);font-weight:600}.social-links{gap:.75rem;margin-top:1.25rem;display:flex}.social-links a{border:1px solid var(--border);width:44px;height:44px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.social-links a:hover{background:var(--primary);color:var(--background);border-color:var(--primary)}.map-placeholder{background:var(--background-alt);height:180px;color:var(--text-muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.map-placeholder i{color:var(--primary);margin-bottom:.75rem;font-size:2.5rem}.highlight-box{background:var(--primary-light);border:1px solid var(--primary);color:var(--text-main);border-radius:8px;margin:1rem 0;padding:1rem 1.25rem;font-size:.95rem}.tag{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--card-bg);border-radius:999px;padding:.35rem .9rem;font-size:.7rem;display:inline-block}.filter-row{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:800px;margin-inline:auto;padding-bottom:.5rem;display:flex}.filter-pill{border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.45rem .9rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .3s}.filter-pill:hover,.filter-pill.active{background:var(--primary);color:var(--background);border-color:var(--primary)}.service-category{margin-bottom:1.5rem}.service-category-header{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.service-category-header i,.service-category-header .material-icons{color:var(--primary);font-size:1.25rem}.service-category-header h3{color:var(--text-main);font-size:1.1rem;font-weight:700}.service-category-header p{color:var(--text-muted);margin-left:auto;font-size:.9rem}.service-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 0;display:flex}.service-item:last-child{border-bottom:none}.service-item h4{color:var(--text-main);margin-bottom:.15rem;font-family:Alegreya,serif;font-size:.95rem;font-weight:600}.service-item p{color:var(--text-muted);font-size:.8rem}.service-item .arrow-link{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.service-item .arrow-link:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.form-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;padding:2rem 1.5rem}.form-step-label{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;display:flex}.form-step-label:before{content:attr(data-step);background:var(--primary);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-main);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-input{border:1px solid var(--border);width:100%;color:var(--text-main);background:var(--background-alt);border-radius:8px;padding:.85rem 1rem;font-family:Manrope,sans-serif;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #c9a96e26}.form-input::placeholder{color:var(--text-muted);opacity:.6}textarea.form-input{resize:vertical;min-height:100px}.service-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.service-option{border:2px solid var(--border);text-align:center;cursor:pointer;background:var(--background-alt);border-radius:12px;padding:1rem;transition:all .3s}.service-option:hover,.service-option.selected{border-color:var(--primary);background:var(--primary-light)}.service-option i,.service-option-icon{width:48px;height:48px;margin:0 auto .5rem;display:block}.service-option i{color:var(--primary);font-size:1.5rem}.service-option span{color:var(--text-main);font-size:.85rem;font-weight:600}.availability-container{background:var(--background-alt);border:1px solid var(--border);border-radius:12px;margin-top:1.25rem;padding:1.25rem}.availability-container h2{color:var(--text-main);margin-bottom:.75rem;font-size:1rem;font-weight:700}.availability-slots{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.availability-slots--message{flex-direction:column;align-items:center;padding:1rem 0;display:flex}.time-slot-btn{border:2px solid var(--border);background:var(--card-bg);color:var(--text-main);cursor:pointer;text-align:center;border-radius:10px;min-height:48px;padding:.75rem .5rem;font-family:Manrope,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s}.time-slot-btn:hover:not(:disabled){border-color:var(--accent-green);background:#7bae7f14}.time-slot-btn.booked{opacity:.4;cursor:not-allowed;color:var(--text-muted);border-color:var(--border);background:0 0}.time-slot-btn.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:0 0 0 1px var(--primary);font-weight:700}.date-picker-wrapper{position:relative}.date-picker-trigger{text-align:left;cursor:pointer;align-items:center;gap:.65rem;width:100%;display:flex}.date-picker-trigger i:first-child{color:var(--primary);font-size:1rem}.date-picker-trigger span{color:var(--text-main);flex:1}.date-picker-trigger.has-value span{color:var(--text-main);font-weight:600}.calendar-overlay{z-index:50;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;min-width:300px;padding:1rem;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 40px #00000080}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.calendar-header span{color:var(--text-main);text-transform:uppercase;letter-spacing:.06em;font-family:Manrope,sans-serif;font-size:.85rem;font-weight:700}.cal-nav-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;transition:all .2s;display:inline-flex}.cal-nav-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.calendar-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.35rem 0;font-family:Manrope,sans-serif;font-size:.6rem;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{aspect-ratio:1;width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;font-family:Manrope,sans-serif;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.calendar-day:hover:not(.disabled):not(.empty){border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.calendar-day.today{border-color:var(--primary);color:var(--primary);font-weight:700}.calendar-day.selected{background:var(--primary);color:#000;border-color:var(--primary);font-weight:700}.calendar-day.selected.today{box-shadow:0 0 0 2px var(--card-bg), 0 0 0 4px var(--primary)}.calendar-day.disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed;pointer-events:none}.calendar-day.empty{cursor:default;pointer-events:none}.confirmation{text-align:center;padding:2rem 1rem}.confirmation h2{color:var(--primary);margin-bottom:.75rem;font-weight:700}.confirmation p{color:var(--text-muted);margin-bottom:1rem}.error-message{color:var(--accent-pink);background:#c97b841a;border:1px solid #c97b8440;border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:.9rem}.booking-summary{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.25rem}.booking-summary__service{color:var(--text-main);margin-bottom:.25rem;font-family:Manrope,sans-serif;font-size:1rem;font-weight:700}.booking-summary__detail{color:var(--primary);font-family:Manrope,sans-serif;font-size:.9rem;font-weight:500}.footer-main{background:var(--surface-sunken);color:var(--text-main);border-top:1px solid var(--border);padding:4rem 1rem 7rem}.footer-logo{color:var(--primary);letter-spacing:-.01em;margin-bottom:1.5rem;font-family:Alegreya,Georgia,serif;font-size:1.5rem;font-weight:700;text-decoration:none;display:inline-block}.footer-logo:hover{color:var(--text-main)}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.footer-col{flex-direction:column;gap:.65rem;display:flex}.footer-col h4{text-transform:uppercase;letter-spacing:.15em;color:var(--primary);font-family:Manrope,sans-serif;font-size:.7rem;font-weight:700}.footer-col a{color:var(--text-muted);font-size:.9rem;text-decoration:none;transition:color .3s}.footer-col a:hover{color:var(--primary)}.footer-copy{color:var(--text-muted);opacity:.5;border-top:1px solid var(--border);letter-spacing:.05em;padding-top:1.5rem;font-family:Manrope,sans-serif;font-size:.75rem}.about-illustration{justify-content:center;margin-bottom:1.5rem;display:flex}.about-illustration svg{width:180px;height:180px}.tree-branch{stroke-dasharray:400;stroke-dashoffset:400px;transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1)}.tree-crown{opacity:0;transform-origin:100px 50px;transition:opacity .8s cubic-bezier(.16,1,.3,1) .6s,transform .8s cubic-bezier(.16,1,.3,1) .6s;transform:scale(.8)}.tree-circle{opacity:0;transition:opacity .6s}.tree-drawing.drawn .tree-branch{stroke-dashoffset:0}.tree-drawing.drawn .tree-crown{opacity:1;transform:scale(1)}.tree-drawing.drawn .tree-circle{opacity:1}.reveal-stagger .reveal-item{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}.reveal-stagger .reveal-item:first-child{transition-delay:.1s}.reveal-stagger .reveal-item:nth-child(2){transition-delay:.2s}.reveal-stagger .reveal-item:nth-child(3){transition-delay:.3s}.reveal-stagger.revealed .reveal-item{opacity:1;transform:translateY(0)}.reveal-blur{opacity:0;filter:blur(12px);transition:opacity .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.reveal-blur.revealed{opacity:1;filter:blur();transform:translateY(0)}.journey-timeline{text-align:left;margin:1.5rem 0;padding-left:2rem;position:relative}.journey-timeline:before{content:"";background:var(--border);transform-origin:top;width:1px;transition:transform 1s cubic-bezier(.16,1,.3,1) .4s;position:absolute;top:0;bottom:0;left:7px;transform:scaleY(0)}.journey-timeline.revealed:before{transform:scaleY(1)}.timeline-milestone{margin-bottom:2rem;position:relative}.timeline-milestone:last-child{margin-bottom:0}.timeline-dot{background:var(--background);border:2px solid var(--border);border-radius:50%;width:15px;height:15px;transition:border-color .6s,background .6s;position:absolute;top:.35rem;left:-2rem}.timeline-milestone.revealed .timeline-dot{border-color:var(--primary);background:var(--primary)}.timeline-content{padding-bottom:.25rem}.timeline-label{text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:.35rem;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:600;display:block}.reveal-ink{opacity:0;filter:blur(16px);transition:opacity 1.2s cubic-bezier(.16,1,.3,1),filter 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(12px)}.reveal-ink.revealed{opacity:1;filter:blur();transform:translateY(0)}.tags-row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.signature-block{flex-direction:column;align-items:center;gap:.25rem;margin-top:1.5rem;display:flex}.signature-name{color:var(--primary);letter-spacing:-.01em;font-family:Alegreya,Georgia,serif;font-size:1.8rem;font-style:italic;font-weight:700}.signature-title{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);font-family:Manrope,sans-serif;font-size:.65rem}.main-content{padding-bottom:calc(var(--nav-height) + var(--space-8) + env(safe-area-inset-bottom,0px))}.grid-card-large,.grid-card-small,.grid-card-full{cursor:pointer}.grid-card-small:before,.grid-card-full:before{content:attr(data-hover-label);z-index:3;text-transform:uppercase;letter-spacing:.15em;color:var(--primary);opacity:0;pointer-events:none;font-family:Manrope,sans-serif;font-size:.6rem;transition:opacity .3s,transform .3s;position:absolute;top:.75rem;right:.75rem;transform:translateY(-4px)}.grid-card-small:hover:before,.grid-card-full:hover:before{opacity:1;transform:translateY(0)}@media (width>=480px){.hero-tagline{font-size:3.5rem}.whatif-question{font-size:2rem}.editorial-grid{gap:1.25rem}}:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.skip-to-content{background:var(--primary);color:#fff;z-index:100;padding:8px 16px;font-weight:600;text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}@media (prefers-contrast:high){:root{--text-main:#fff;--text-muted:#eee}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.particles-container,.ambient-glow-1,.ambient-glow-2{display:none!important}.parallax-text{transform:none!important}}.content-card[data-category]{transition:opacity .3s,transform .3s}.content-card[data-category].filter-hidden{opacity:0;pointer-events:none;visibility:hidden;position:absolute;transform:translateY(-8px)}.btn .btn-spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:.5rem;animation:.6s linear infinite btnSpin;display:inline-block}@keyframes btnSpin{to{transform:rotate(360deg)}}.availability-skeleton{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.skeleton-row{background:linear-gradient(90deg, var(--background-alt) 25%, var(--border) 50%, var(--background-alt) 75%);background-size:200% 100%;border-radius:10px;height:48px;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=640px){.filter-row{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.75rem;overflow-x:auto}.filter-pill{scroll-snap-align:start;flex-shrink:0}.service-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.service-option{padding:1rem}.service-option span{font-size:.85rem}.service-option i{font-size:1.5rem}.service-option-icon{width:36px;height:36px}}.social-links a.coming-soon{opacity:.35;cursor:default;pointer-events:none;position:relative}.social-links a.coming-soon:after{content:"Coming soon";color:var(--text-muted);white-space:nowrap;letter-spacing:.05em;font-family:Manrope,sans-serif;font-size:.55rem;position:absolute;bottom:-1.5rem;left:50%;transform:translate(-50%)}.site-header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#1a1a1aeb;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.site-header__logo{color:var(--text-main);font-family:Alegreya,serif;font-size:1.5rem;font-weight:700;text-decoration:none}.site-header__nav ul{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-header__nav a{letter-spacing:-.01em;color:var(--text-muted);font-family:Alegreya,Georgia,serif;font-size:1rem;font-weight:600;text-decoration:none}.site-header__nav a:hover{color:var(--primary)}@media (width<=640px){.js .site-header__nav{display:none}.site-header{padding:.5rem 1rem}}@media (width>=641px){.nav-solid{display:none}}
