:root{--color-primary: #4A7C5F;--color-primary-dark: #345A44;--color-primary-light: #E8F0EB;--color-accent: #C4703A;--color-bg-light: #FAFAF8;--color-bg-dark: #1E2B24;--color-bg-darker: #16201B;--color-bg-warm: #F4ECE0;--color-text-dark: #1A2420;--color-text-body: #3A4A42;--color-text-muted: #7A8D84;--color-text-on-dark: #F0EDE6;--color-text-on-dark-muted: rgba(240, 237, 230, .74);--color-border: #D4E0D8;--color-border-warm: #E5DCCC;--color-highlight: #F2C879;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--shadow-sm: 0 2px 8px rgba(26, 36, 32, .06);--shadow-md: 0 12px 28px rgba(26, 36, 32, .08);--shadow-lg: 0 30px 60px rgba(26, 36, 32, .14);--container: 1200px;--section-pad-y: clamp(3rem, 6vw, 5.5rem);--section-pad-x: clamp(1rem, 4vw, 2rem)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1.05rem;line-height:1.75;color:var(--color-text-body);background:var(--color-bg-light);overflow-x:hidden}img,picture,video,iframe{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}ul{list-style:none}input,textarea,select{font:inherit;color:inherit;font-size:16px}::selection{background:var(--color-primary);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.6rem;border-radius:999px;font-weight:600;font-family:var(--font-body);font-size:.95rem;letter-spacing:.01em;border:1.5px solid transparent;transition:transform .25s cubic-bezier(.2,.8,.3,1),background .2s,color .2s,border-color .2s,box-shadow .25s;min-height:44px;white-space:nowrap}.btn-lg{padding:.95rem 2rem;font-size:1rem;min-height:52px}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 8px 22px #4a7c5f47}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 12px 28px #345a4457}.btn-ghost{background:transparent;color:#fff;border-color:#ffffffb3}.btn-ghost:hover{background:#ffffff1f;border-color:#fff}.btn-cta{background:#fff;color:var(--color-primary-dark);border-color:#fff}.btn-cta:hover{background:var(--color-bg-warm);border-color:var(--color-bg-warm);transform:translateY(-1px)}.btn-nav{padding:.6rem 1.2rem;background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-size:.9rem;min-height:40px}.btn-nav:hover{background:var(--color-primary-dark)}.btn-nav-mobile{background:var(--color-primary);color:#fff;border-color:var(--color-primary);margin-top:.5rem}.btn-product{width:100%;background:var(--color-text-dark);color:#fff;border-color:var(--color-text-dark);padding:.7rem 1rem;margin-top:.75rem;font-size:.9rem}.btn-product:hover{background:var(--color-primary);border-color:var(--color-primary)}.btn-product-added{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-danger{background:transparent;color:#c0392b;border-color:#c0392b;font-size:.85rem;padding:.4rem .9rem;min-height:36px}.btn-danger:hover{background:#c0392b;color:#fff}.form-submit-success{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.section-inner{max-width:var(--container);margin:0 auto;padding:0 var(--section-pad-x)}.section-head{text-align:center;max-width:720px;margin:0 auto 3rem}.section-head-left{text-align:left;max-width:560px;margin-left:0}.section-head-light{color:var(--color-text-on-dark)}.eyebrow{display:inline-block;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);margin-bottom:1rem}.eyebrow-light{color:var(--color-highlight)}.section-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;letter-spacing:-.01em;color:var(--color-text-dark);margin-bottom:1rem}.section-title-light{color:var(--color-text-on-dark)}.section-sub{font-size:1.1rem;color:var(--color-text-muted);line-height:1.65;max-width:60ch;margin:0 auto}.section-head-left .section-sub{margin:0}.section-cta{text-align:center;margin-top:2.5rem}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 0;transition:background .3s,padding .3s,box-shadow .3s,backdrop-filter .3s}.nav.scrolled{background:#fafaf8f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.65rem 0;box-shadow:0 1px #1a24200f,var(--shadow-sm)}.nav-inner{max-width:var(--container);margin:0 auto;padding:0 var(--section-pad-x);display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-logo{display:flex;align-items:center;gap:.65rem;color:#fff;transition:color .3s}.nav.scrolled .nav-logo,.nav.nav-solid .nav-logo{color:var(--color-text-dark)}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#ffffff24;color:inherit;border:1px solid rgba(255,255,255,.22);transition:background .3s,border-color .3s}.nav.scrolled .logo-mark,.nav.nav-solid .logo-mark{background:var(--color-primary-light);border-color:var(--color-border);color:var(--color-primary-dark)}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-name{font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:-.005em}.logo-sub{font-size:.7rem;color:#ffffffc7;letter-spacing:.04em}.nav.scrolled .logo-sub,.nav.nav-solid .logo-sub{color:var(--color-text-muted)}.nav-links{display:none;gap:1.75rem;align-items:center}.nav-links a{font-size:.92rem;font-weight:500;color:#ffffffeb;transition:color .2s;position:relative;padding:.25rem 0}.nav-links a:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-2px;width:0;height:2px;background:var(--color-highlight);transition:width .25s}.nav-links a:hover:after{width:100%}.nav.scrolled .nav-links a,.nav.nav-solid .nav-links a{color:var(--color-text-body)}.nav.scrolled .nav-links a:hover,.nav.nav-solid .nav-links a:hover{color:var(--color-primary)}.nav-cta{display:none;align-items:center;gap:1rem}.nav-phone{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;color:#ffffffeb}.nav.scrolled .nav-phone,.nav.nav-solid .nav-phone{color:var(--color-text-body)}.nav-phone:hover{color:var(--color-highlight)}.nav.scrolled .nav-phone:hover,.nav.nav-solid .nav-phone:hover{color:var(--color-primary)}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;align-items:center;border-radius:var(--radius-sm)}.nav-toggle span{width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s,background .2s}.nav.scrolled .nav-toggle span,.nav.nav-solid .nav-toggle span{background:var(--color-text-dark)}.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-mobile{position:fixed;top:64px;left:0;right:0;background:var(--color-bg-light);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.5rem 1.5rem;transform:translateY(-110%);transition:transform .3s cubic-bezier(.2,.8,.3,1);box-shadow:var(--shadow-md)}.nav-mobile.open{transform:translateY(0)}.nav-mobile a{font-size:1rem;font-weight:500;color:var(--color-text-dark);padding:.85rem .25rem;border-bottom:1px solid var(--color-border);min-height:44px;display:flex;align-items:center}.nav-mobile a:last-child{border-bottom:0}.hero{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;padding:6rem var(--section-pad-x) 5rem;overflow:hidden;isolation:isolate}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;animation:heroFloat 18s ease-in-out infinite alternate}.hero-bg picture{display:block;width:100%;height:100%}.hero-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}@keyframes heroFloat{0%{transform:scale(1.04) translateY(-1%)}to{transform:scale(1.04) translateY(1%)}}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(135deg,#1a2420b8,#1a242057)}.hero-content{text-align:center;max-width:880px;color:#fff}.hero-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:.4rem 1rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:1.5rem}.hero-headline{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,5.5vw,4.4rem);line-height:1.05;letter-spacing:-.015em;margin-bottom:1.4rem;text-shadow:0 2px 24px rgba(0,0,0,.18)}.hero-sub{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65;color:#ffffffeb;max-width:620px;margin:0 auto 2.2rem}.hero-actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.6rem}.hero-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.trust-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;letter-spacing:.02em;padding:.4rem .9rem;border-radius:999px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fffffff0}.trust-pill svg{color:var(--color-highlight)}.hero-scroll{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;color:#ffffffbd;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}.hero-scroll span{display:block;width:1px;height:30px;background:linear-gradient(to bottom,#ffffffb3,#fff0)}.hero-scroll em{font-style:normal}.trust-ribbon{background:var(--color-bg-dark);color:var(--color-text-on-dark);padding:clamp(2.5rem,5vw,4rem) var(--section-pad-x)}.ribbon-inner{max-width:var(--container);margin:0 auto;display:grid;gap:2rem;grid-template-columns:1fr;text-align:center}.ribbon-stat{display:flex;flex-direction:column;align-items:center;gap:.4rem}.ribbon-num{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,5vw,3.4rem);color:var(--color-highlight);line-height:1}.ribbon-label{font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-on-dark-muted)}.services{padding:var(--section-pad-y) 0;background:var(--color-bg-light)}.services-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;perspective:1200px}.service-card{background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s,border-color .2s;display:flex;flex-direction:column;transform-style:preserve-3d}.service-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.service-card-feature{border-left-color:var(--color-accent);box-shadow:var(--shadow-md)}.service-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--color-bg-warm)}.service-image picture{display:block;width:100%;height:100%}.service-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.3,1)}.service-card:hover .service-image img{transform:scale(1.05)}.service-badge{position:absolute;top:.85rem;left:.85rem;background:var(--color-accent);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}.service-body{padding:1.5rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.service-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-dark);margin-bottom:.2rem}.service-title{font-family:var(--font-display);font-weight:600;font-size:1.35rem;line-height:1.2;color:var(--color-text-dark)}.service-desc{font-size:.95rem;color:var(--color-text-muted);line-height:1.65}.service-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}.service-duration{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.service-price{font-family:var(--font-display);font-weight:600;font-size:1.55rem;color:var(--color-primary-dark)}.service-note{font-size:.78rem;color:var(--color-text-muted);font-style:italic}.services-extras{margin-top:2rem;background:var(--color-primary-light);border-radius:var(--radius-md);padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}.extra-row{display:flex;flex-direction:column;gap:.15rem;padding:.5rem 0;border-bottom:1px dashed rgba(74,124,95,.3)}.extra-row:last-child{border-bottom:0}.extra-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--color-text-dark)}.extra-meta{font-size:.9rem;color:var(--color-text-body)}.shop{padding:var(--section-pad-y) 0;background:var(--color-bg-warm)}.shop-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;perspective:1200px}.product-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--color-border-warm);transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s;transform-style:preserve-3d}.product-card:hover{box-shadow:var(--shadow-lg)}.product-image{aspect-ratio:1/1;overflow:hidden;background:var(--color-bg-warm)}.product-image picture{display:block;width:100%;height:100%}.product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease-out}.product-card:hover .product-image img{transform:scale(1.04)}.product-body{padding:1.2rem 1.2rem 1.4rem;display:flex;flex-direction:column;gap:.4rem}.product-title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--color-text-dark)}.product-desc{font-size:.88rem;color:var(--color-text-muted);line-height:1.55}.product-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.product-meta-variants{flex-direction:column;align-items:stretch;gap:.35rem}.variant-label{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-weight:500}.variant-select{padding:.55rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;font-size:.95rem;min-height:44px;width:100%}.variant-select:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.product-size{font-size:.82rem;color:var(--color-text-muted);letter-spacing:.06em}.product-price,.product-price-line{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--color-primary-dark)}.product-price-line{display:block;margin-top:.4rem}.shop-note{text-align:center;margin-top:2rem;font-size:.92rem;color:var(--color-text-muted);font-style:italic}.about{padding:var(--section-pad-y) 0;background:var(--color-primary-light)}.about-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}.about-text{display:flex;flex-direction:column;gap:1rem}.about-lede{font-size:1.15rem;color:var(--color-text-dark);font-family:var(--font-display);font-style:italic;font-weight:500;line-height:1.5;margin-bottom:.4rem}.about-text p{color:var(--color-text-body)}.about-staff{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid rgba(74,124,95,.25)}.about-staff-title{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--color-primary-dark);margin-bottom:.7rem}.staff-list{display:flex;flex-direction:column;gap:.7rem}.staff-list strong{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--color-text-dark);display:block}.staff-list span{font-size:.88rem;color:var(--color-text-muted);line-height:1.5}.about-image picture{display:block;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.testimonials{padding:var(--section-pad-y) 0;background:var(--color-bg-dark);color:var(--color-text-on-dark)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:1.4rem}.testimonial-card{background:#ffffff0a;border:1px solid rgba(240,237,230,.12);border-radius:var(--radius-md);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.9rem}.testimonial-feature{background:#4a7c5f2e;border-color:#f2c87947;padding:2rem}.testimonial-stars{display:flex;gap:.25rem;color:var(--color-highlight)}.testimonial-quote{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:1.08rem;line-height:1.55;color:var(--color-text-on-dark)}.testimonial-feature .testimonial-quote{font-size:1.4rem}.testimonial-author{display:flex;flex-direction:column;gap:.15rem;border-top:1px solid rgba(240,237,230,.1);padding-top:.9rem}.testimonial-name{font-weight:600;font-size:.95rem;color:var(--color-text-on-dark)}.testimonial-meta{font-size:.78rem;font-style:italic;color:#f0ede680}.cta-band{padding:clamp(3.5rem,7vw,6rem) var(--section-pad-x);background:radial-gradient(circle at 30% 30%,rgba(242,200,121,.18),transparent 60%),var(--color-primary);color:#fff;text-align:center}.cta-inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.cta-headline{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.1;letter-spacing:-.01em}.cta-sub{font-size:1.1rem;color:#ffffffe0;max-width:56ch}.contact{padding:var(--section-pad-y) 0;background:var(--color-bg-light)}.contact-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-list{display:flex;flex-direction:column;gap:.85rem;margin:.5rem 0 1.5rem}.contact-list li{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.contact-list li:last-child{border-bottom:0}.contact-label{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.contact-value{font-size:1rem;color:var(--color-text-dark);line-height:1.55}.contact-form{display:flex;flex-direction:column;gap:.85rem;background:var(--color-bg-warm);padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--color-border-warm)}.contact-form-title{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--color-text-dark);margin-bottom:.2rem}.form-row{display:flex;flex-direction:column;gap:.35rem}.form-row label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--color-text-muted)}.form-row input,.form-row textarea{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem .9rem;font-size:16px;min-height:44px;color:var(--color-text-dark);font-family:inherit;resize:vertical}.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.form-submit{margin-top:.4rem}.contact-map{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);background:var(--color-bg-warm)}.contact-map iframe{width:100%;height:360px;border:0;display:block}.map-note{font-size:.8rem;color:var(--color-text-muted);font-style:italic;padding:.7rem 1rem;background:var(--color-bg-warm);text-align:center}.footer{background:var(--color-bg-darker);color:var(--color-text-on-dark);padding:clamp(2.5rem,5vw,4rem) var(--section-pad-x) 1.5rem}.footer-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(240,237,230,.12)}.footer-brand{display:flex;flex-direction:column;gap:.7rem}.footer-logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--color-text-on-dark)}.footer-tag{font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--color-text-on-dark-muted)}.footer-nav h4,.footer-contact h4{font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-highlight);margin-bottom:.9rem}.footer-nav{display:flex;flex-direction:column;gap:.45rem}.footer-nav a{font-size:.95rem;color:var(--color-text-on-dark-muted);transition:color .2s}.footer-nav a:hover{color:var(--color-highlight)}.footer-contact p{font-size:.92rem;color:var(--color-text-on-dark-muted);margin-bottom:.3rem}.footer-social{display:flex;gap:.6rem;margin-top:.85rem}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#f0ede60f;border:1px solid rgba(240,237,230,.14);color:var(--color-text-on-dark-muted);transition:background .2s,color .2s,border-color .2s}.social-link:hover{background:#f0ede61f;color:var(--color-highlight);border-color:var(--color-highlight)}.social-disabled{opacity:.55;pointer-events:none}.footer-base{max-width:var(--container);margin:0 auto;padding-top:1.2rem;display:flex;flex-direction:column;gap:.6rem;font-size:.82rem;color:#f0ede680}.footer-disclosure{font-style:italic;color:#f0ede673;font-size:.8rem}.footer-base a{color:var(--color-highlight)}.footer-base a:hover{text-decoration:underline}.page-header{padding:calc(var(--section-pad-y) + 64px) var(--section-pad-x) var(--section-pad-y);background:var(--color-bg-dark);color:var(--color-text-on-dark);text-align:center}.page-header .section-title{color:var(--color-text-on-dark)}.page-header .section-sub{color:var(--color-text-on-dark-muted);margin:0 auto}.cart-page{padding:var(--section-pad-y) 0;min-height:60vh;background:var(--color-bg-light)}.cart-inner{max-width:860px;margin:0 auto;padding:0 var(--section-pad-x)}.cart-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,3.5vw,2.4rem);color:var(--color-text-dark);margin-bottom:2rem}.cart-empty{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.cart-empty p{font-size:1.1rem;margin-bottom:1.5rem}.cart-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.cart-item{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border);padding:1rem}.cart-item-image{width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--color-bg-warm)}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-body{flex:1;min-width:0}.cart-item-name{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--color-text-dark);margin-bottom:.2rem}.cart-item-variant{font-size:.84rem;color:var(--color-text-muted)}.cart-item-controls{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-text-dark);transition:background .2s,border-color .2s;cursor:pointer;background:#fff}.qty-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.qty-num{font-weight:600;min-width:20px;text-align:center}.cart-item-price{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--color-primary-dark);flex-shrink:0}.cart-summary{background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border);padding:1.5rem}.cart-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;color:var(--color-text-body)}.cart-summary-row.total{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:1rem;font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--color-text-dark)}.cart-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}body>iframe{position:fixed!important;top:-9999px!important;left:-9999px!important;width:0!important;height:0!important}.checkout-page{padding:var(--section-pad-y) 0;min-height:60vh;background:var(--color-bg-light)}.checkout-inner{max-width:960px;margin:0 auto;padding:0 var(--section-pad-x);display:grid;gap:2.5rem}.checkout-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,3.5vw,2.4rem);color:var(--color-text-dark);margin-bottom:2rem;grid-column:1 / -1}.checkout-form-section{display:flex;flex-direction:column;gap:1.5rem}.checkout-card{background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border);padding:1.5rem}.checkout-card-title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--color-text-dark);margin-bottom:1.2rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.form-grid{display:grid;gap:1rem}.form-grid-2{grid-template-columns:1fr 1fr}.checkout-order-summary{background:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border);padding:1.5rem;align-self:start;position:sticky;top:88px}.payment-placeholder{background:var(--color-bg-warm);border:2px dashed var(--color-border-warm);border-radius:var(--radius-md);padding:2rem;text-align:center;color:var(--color-text-muted)}.payment-placeholder p{margin-bottom:.5rem;font-size:.92rem}.payment-placeholder strong{color:var(--color-text-dark)}#card-container{min-height:80px}.success-page{padding:var(--section-pad-y) 0;min-height:70vh;background:var(--color-bg-light);display:flex;align-items:center}.success-inner{max-width:640px;margin:0 auto;padding:0 var(--section-pad-x);text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,4vw,2.4rem);color:var(--color-text-dark);margin-bottom:1rem}.success-body{color:var(--color-text-body);line-height:1.7;margin-bottom:2rem}.success-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.book-page{padding:var(--section-pad-y) 0;min-height:60vh;background:var(--color-bg-light)}.book-inner{max-width:860px;margin:0 auto;padding:0 var(--section-pad-x)}.book-widget-placeholder{background:var(--color-bg-warm);border:2px dashed var(--color-border-warm);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;color:var(--color-text-muted);margin-top:2rem}.book-widget-placeholder p{margin-bottom:.75rem}#square-appointments{min-height:640px}.shop-page{padding:var(--section-pad-y) 0;background:var(--color-bg-warm);min-height:60vh}.shop-page-inner{max-width:var(--container);margin:0 auto;padding:0 var(--section-pad-x)}.shop-page-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;perspective:1200px}.product-detail{padding:var(--section-pad-y) 0;min-height:60vh;background:var(--color-bg-light)}.product-detail-inner{max-width:var(--container);margin:0 auto;padding:0 var(--section-pad-x);display:grid;gap:3rem;align-items:start}.product-detail-image{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-warm);aspect-ratio:1/1}.product-detail-image picture{display:block;width:100%;height:100%}.product-detail-image img{display:block;width:100%;height:100%;object-fit:cover}.product-detail-body{display:flex;flex-direction:column;gap:1rem}.product-detail-name{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--color-text-dark)}.product-detail-price{font-family:var(--font-display);font-weight:600;font-size:1.8rem;color:var(--color-primary-dark)}.product-detail-desc{font-size:1.05rem;color:var(--color-text-body);line-height:1.7}.product-detail-variant{margin-top:.5rem}.product-detail-variant label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--color-text-muted);margin-bottom:2rem}.breadcrumb a{color:var(--color-primary)}.breadcrumb a:hover{text-decoration:underline}.not-found{padding:var(--section-pad-y) 0;min-height:70vh;display:flex;align-items:center;text-align:center;background:var(--color-bg-light)}.not-found-inner{max-width:480px;margin:0 auto;padding:0 var(--section-pad-x)}.not-found h1{font-family:var(--font-display);font-size:clamp(4rem,10vw,7rem);color:var(--color-primary-light);line-height:1;margin-bottom:.5rem}.not-found h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text-dark);margin-bottom:1rem}.not-found p{color:var(--color-text-muted);margin-bottom:2rem}@media (min-width: 481px){.ribbon-inner{grid-template-columns:repeat(3,1fr)}.services-grid,.shop-grid,.shop-page-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:1fr 1fr}.testimonial-feature{grid-column:1 / -1}.footer-inner{grid-template-columns:1.2fr 1fr 1fr}.footer-base{flex-direction:row;justify-content:space-between}.extra-row{flex-direction:row;align-items:baseline;justify-content:space-between;gap:1rem}}@media (min-width: 641px){.hero-actions{flex-wrap:nowrap}.testimonials-grid{grid-template-columns:2fr 1fr 1fr}.testimonial-feature{grid-column:1 / 2;grid-row:1 / 3}}@media (min-width: 901px){.nav-toggle{display:none}.nav-links,.nav-cta{display:flex}.nav-mobile{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.shop-grid,.shop-page-grid{grid-template-columns:repeat(3,1fr)}.about-inner{grid-template-columns:1.05fr .95fr;gap:4rem}.contact-inner{grid-template-columns:1fr 1fr;gap:3rem}.checkout-inner{grid-template-columns:1fr 380px}.checkout-title{grid-column:1 / -1}.product-detail-inner{grid-template-columns:1fr 1fr}}@media (min-width: 1201px){.services-grid{grid-template-columns:repeat(4,1fr)}.shop-grid{grid-template-columns:repeat(5,1fr)}.shop-page-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 480px){.hero{min-height:auto;padding:5rem 1rem 3.5rem}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.section-head{margin-bottom:2rem}.testimonial-feature{padding:1.5rem}.testimonial-feature .testimonial-quote{font-size:1.15rem}.nav-inner{padding:0 1rem}.logo-sub{display:none}.cart-item{flex-wrap:wrap}.form-grid-2{grid-template-columns:1fr}}@media (max-width: 900px) and (orientation: landscape){.hero{min-height:100vh}}@media (hover: none) and (pointer: coarse){[data-tilt]{transform:none!important}.service-card:hover .service-image img,.product-card:hover .product-image img{transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;animation-iteration-count:1!important}.hero-bg{animation:none}}
