:root{--font-display:"Cormorant Garamond", "Georgia", serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--ink:#191715;--ink-light:#4d4742;--ink-muted:#8c857d;--sage:#5b7b5e;--sage-light:#e8f3e9;--gold:#b9965b;--gold-light:#faf4eb;--cream:#fbf8f4;--cream-dark:#f3eee8;--rose:#bf6970;--rose-light:#f9eced;--white:#fff;--border:#e7e1da;--section-pad:clamp(64px, 10vw, 120px);--container:1200px;--gap:24px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:32px;--ease:cubic-bezier(.4, 0, .2, 1);--dur:.3s}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.7;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;font:inherit;background:0 0;border:none}input,select,textarea{font:inherit}.container{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,48px)}.section-label{font-family:var(--font-body);letter-spacing:3px;text-transform:uppercase;color:var(--sage);margin-bottom:12px;font-size:11px;font-weight:600}.section-title{font-family:var(--font-display);color:var(--ink);margin-bottom:24px;font-size:clamp(32px,5vw,56px);font-weight:400;line-height:1.15}.section-title em{color:var(--sage);font-style:italic}.section-intro{color:var(--ink-light);max-width:600px;margin-bottom:48px;font-size:16px;line-height:1.8}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);transition:all var(--dur) var(--ease);letter-spacing:.3px;cursor:pointer;border:none;justify-content:center;align-items:center;padding:14px 32px;font-size:14px;font-weight:600;display:inline-flex}.btn--primary{background:var(--ink);color:var(--cream)}.btn--primary:hover{background:var(--sage);transform:translateY(-2px);box-shadow:0 8px 24px #5b7b5e40}.btn--outline{color:var(--cream);background:0 0;border:1.5px solid #fbf8f466}.btn--outline:hover{border-color:var(--cream);background:#fbf8f426}.btn--sm{padding:10px 24px;font-size:13px}.btn--lg{width:100%;padding:16px 40px;font-size:15px}.nav{z-index:1000;transition:all var(--dur) var(--ease);padding:20px 0;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border);background:#fbf8f4f2;padding:12px 0}.nav--scrolled .nav__logo,.nav--scrolled .nav__link{color:var(--ink);text-shadow:none}.nav--scrolled .nav__cta{background:var(--ink);color:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none}.nav__inner{max-width:var(--container);justify-content:space-between;align-items:center;margin:0 auto;padding:0 clamp(20px,4vw,48px);display:flex}.nav__logo{font-family:var(--font-display);color:var(--cream);letter-spacing:.5px;text-shadow:0 1px 8px #00000080;font-size:24px;font-weight:600}.nav__links{gap:32px;display:flex}.nav__link{color:#fbf8f4e6;transition:color var(--dur) var(--ease);letter-spacing:.3px;text-shadow:0 1px 6px #0006;font-size:13px;font-weight:500}.nav__link:hover{color:var(--cream)}.nav--scrolled .nav__link:hover{color:var(--sage)}.nav__cta{border-radius:var(--radius-sm);color:var(--cream);transition:all var(--dur) var(--ease);-webkit-backdrop-filter:blur(8px);background:#fbf8f426;border:1px solid #fbf8f440;padding:10px 24px;font-size:13px;font-weight:600}.nav__cta:hover{background:var(--cream);color:var(--ink)}.nav__burger,.nav__mobile-cta{display:none}.hero{background:#141210;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__video{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero__overlay{z-index:1;background:linear-gradient(#0e0d0b8c 0%,#0e0d0b4d 35%,#0e0d0ba6 100%),radial-gradient(#0000 20%,#0e0d0b80 100%);position:absolute;inset:0}.hero__grain{opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:128px;position:absolute;inset:0}.hero__content{z-index:2;text-align:center;max-width:800px;padding:80px 24px 0;position:relative}.hero__label{letter-spacing:3px;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 4px #0006;-webkit-backdrop-filter:blur(12px);background:#00000059;border:1px solid #b9965b33;border-radius:40px;margin-bottom:28px;padding:8px 24px;font-size:11px;font-weight:600;animation:.8s both fadeUp;display:inline-block}.hero__title{font-family:var(--font-display);color:var(--cream);text-shadow:0 2px 16px #00000080,0 1px 3px #0000004d;margin-bottom:32px;font-size:clamp(48px,8vw,88px);font-weight:400;line-height:1.1;animation:.8s .1s both fadeUp}.hero__title em{color:var(--gold);font-style:italic}.hero__subtitle{color:#fbf8f4e6;text-shadow:0 1px 8px #00000080;max-width:540px;margin:0 auto 48px;font-size:clamp(15px,2vw,18px);line-height:1.7;animation:.8s .2s both fadeUp}.hero__actions{justify-content:center;gap:16px;animation:.8s .3s both fadeUp;display:flex}.hero__proof{color:var(--cream);text-shadow:0 1px 8px #0009;flex-direction:column;align-items:center;gap:10px;margin-top:56px;font-size:14px;font-weight:500;animation:.8s .4s both fadeUp;display:flex}.hero__stars{color:var(--gold);filter:drop-shadow(0 1px 4px #0006);gap:4px;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.occasions{padding:var(--section-pad) 0;background:var(--white)}.occasions__grid{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.occasion-card{text-align:center;border-radius:var(--radius-md);border:1px solid var(--border);transition:all var(--dur) var(--ease);cursor:pointer;padding:32px 16px}.occasion-card:hover{border-color:var(--sage);background:var(--sage-light);transform:translateY(-4px);box-shadow:0 12px 32px #5b7b5e1a}.occasion-card__icon{background:var(--sage-light);width:48px;height:48px;color:var(--sage);transition:all var(--dur) var(--ease);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.occasion-card:hover .occasion-card__icon{background:var(--sage);color:var(--white)}.occasion-card__title{font-family:var(--font-display);margin-bottom:8px;font-size:18px;font-weight:600}.occasion-card__text{color:var(--ink-muted);font-size:12px;line-height:1.5}.workshops{padding:var(--section-pad) 0;background:var(--cream)}.workshops__grid{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.workshop-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--dur) var(--ease);position:relative;overflow:hidden}.workshop-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #1917151a}.workshop-card[data-tag]:before{content:attr(data-tag);letter-spacing:.5px;text-transform:uppercase;background:var(--gold);color:var(--white);z-index:2;border-radius:100px;padding:4px 10px;font-size:10px;font-weight:700;position:absolute;top:16px;right:16px}.workshop-card__image{justify-content:center;align-items:center;height:200px;display:flex;position:relative}.workshop-card__image:after{content:"Photo coming soon";-webkit-backdrop-filter:blur(8px);font-family:var(--font-display);color:#5c4d3d80;letter-spacing:.4px;pointer-events:none;background:#ffffff2e;border:1px solid #ffffff26;border-radius:40px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-style:italic;display:flex}.workshop-card__body{padding:24px}.workshop-card__meta{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.workshop-card__duration{color:var(--ink-muted);font-size:11px;font-weight:500}.workshop-card__price{color:var(--sage);font-size:13px;font-weight:700}.workshop-card__title{font-family:var(--font-display);margin-bottom:8px;font-size:22px;font-weight:600}.workshop-card__text{color:var(--ink-light);margin-bottom:16px;font-size:13px;line-height:1.6}.workshop-card__includes{background:var(--cream);border-radius:var(--radius-sm);margin-bottom:20px;padding:16px;list-style:none}.workshop-card__includes li{color:var(--ink-light);padding:4px 0 4px 20px;font-size:12px;position:relative}.workshop-card__includes li:before{content:"✓";color:var(--sage);font-weight:700;position:absolute;left:0}.workshops__note{text-align:center;color:var(--ink-muted);margin-top:32px;font-size:13px}.about{padding:var(--section-pad) 0;background:var(--white)}.about__layout{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.about__paragraph{color:var(--ink-light);margin-bottom:20px;font-size:15px;line-height:1.8}.about__stats{border-top:1px solid var(--border);gap:40px;margin-top:32px;padding-top:32px;display:flex}.about__stat{text-align:center}.about__stat-number{font-family:var(--font-display);color:var(--sage);font-size:36px;font-weight:600;display:block}.about__stat-label{color:var(--ink-muted);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:500}.about__image-placeholder{border-radius:var(--radius-lg);background:linear-gradient(135deg,#e4dbcd,#ddc7b0);justify-content:center;align-items:center;width:100%;height:500px;display:flex;position:relative}.about__image-placeholder:after{content:"Studio photo coming soon";-webkit-backdrop-filter:blur(10px);font-family:var(--font-display);color:#5c4d3d73;letter-spacing:.4px;pointer-events:none;background:#ffffff40;border:1px solid #fff3;border-radius:40px;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-style:italic;display:flex}.testimonials{padding:var(--section-pad) 0;background:var(--ink);color:var(--cream)}.testimonials .section-label{color:var(--gold)}.testimonials .section-title{color:var(--cream)}.testimonials__grid{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.testimonial-card{border-radius:var(--radius-md);background:#fbf8f40a;border:1px solid #fbf8f41a;padding:32px}.testimonial-card__stars{color:var(--gold);letter-spacing:2px;margin-bottom:16px;font-size:14px}.testimonial-card__text{color:#fbf8f4bf;margin-bottom:20px;font-size:14px;font-style:italic;line-height:1.7}.testimonial-card__author{color:var(--cream);font-size:13px;font-weight:600}.gallery{padding:var(--section-pad) 0;background:var(--cream)}.gallery__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px;display:grid}.gallery__item{border-radius:var(--radius-md);transition:transform var(--dur) var(--ease);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.gallery__item:after{content:"Photo coming soon";-webkit-backdrop-filter:blur(8px);font-family:var(--font-display);color:#5c4d3d73;letter-spacing:.4px;pointer-events:none;background:#fff3;border:1px solid #ffffff26;border-radius:40px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-style:italic;display:flex}.gallery__item:hover{transform:scale(1.02)}.gallery__item--wide{grid-column:span 2}.gallery__item--tall{grid-row:span 2}.visit{padding:var(--section-pad) 0;background:var(--white)}.visit__layout{grid-template-columns:1fr 1.2fr;align-items:start;gap:64px;display:grid}.visit__detail{margin-bottom:28px}.visit__detail h4{font-family:var(--font-display);margin-bottom:6px;font-size:18px;font-weight:600}.visit__detail p{color:var(--ink-light);font-size:14px;line-height:1.7}.booking{padding:var(--section-pad) 0;background:var(--cream)}.booking__layout{grid-template-columns:1fr 1.3fr;align-items:start;gap:64px;display:grid}.booking__info{position:sticky;top:120px}.booking__title{font-family:var(--font-display);margin-bottom:16px;font-size:clamp(32px,5vw,48px);font-weight:400;line-height:1.15}.booking__text{color:var(--ink-light);max-width:400px;margin-bottom:32px;font-size:15px;line-height:1.7}.booking__features{flex-direction:column;gap:16px;display:flex}.booking__feature{color:var(--ink-light);align-items:center;gap:12px;font-size:13px;display:flex}.booking__card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);padding:32px;box-shadow:0 8px 32px #1917150f}.booking__form{flex-direction:column;gap:24px;display:flex}.steps-bar{justify-content:center;align-items:center;gap:0;margin-bottom:8px;display:flex}.steps-bar__step{flex-direction:column;align-items:center;gap:6px;display:flex}.steps-bar__step span{color:var(--ink-muted);letter-spacing:.3px;transition:color var(--dur) var(--ease);font-size:11px;font-weight:500}.steps-bar__step--active span,.steps-bar__step--done span{color:var(--sage)}.steps-bar__dot{border:2px solid var(--border);width:32px;height:32px;color:var(--ink-muted);background:var(--white);transition:all var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.steps-bar__step--active .steps-bar__dot{border-color:var(--sage);background:var(--sage);color:var(--white)}.steps-bar__step--done .steps-bar__dot{border-color:var(--sage);background:var(--sage-light);color:var(--sage)}.steps-bar__line{background:var(--border);width:48px;height:2px;transition:background var(--dur) var(--ease);margin:0 8px 22px}.form-step{flex-direction:column;gap:20px;animation:.3s stepFadeIn;display:none}.form-step--active{display:flex}@keyframes stepFadeIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.step-nav{justify-content:space-between;align-items:center;padding-top:8px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{letter-spacing:.5px;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:600}.workshop-select{flex-direction:column;gap:8px;display:flex}.workshop-option{cursor:pointer}.workshop-option input{display:none}.workshop-option__content{border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:all var(--dur) var(--ease);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.workshop-option input:checked+.workshop-option__content{border-color:var(--sage);background:var(--sage-light)}.workshop-option:hover .workshop-option__content{border-color:var(--sage)}.workshop-option__info{flex-direction:column;gap:2px;display:flex}.workshop-option__name{color:var(--ink);font-size:14px;font-weight:600}.workshop-option__duration{color:var(--ink-muted);font-size:11px}.workshop-option__price{color:var(--sage);font-size:16px;font-weight:700}.workshop-option__price small{color:var(--ink-muted);font-size:11px;font-weight:500}.time-slots{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-slot{cursor:pointer}.time-slot input{display:none}.time-slot span{text-align:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:all var(--dur) var(--ease);color:var(--ink-light);padding:10px;font-size:13px;font-weight:500;display:block}.time-slot:hover span{border-color:var(--sage)}.time-slot input:checked+span{border-color:var(--sage);background:var(--sage);color:var(--white)}.participant-counter{border:1.5px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:0;width:fit-content;display:flex;overflow:hidden}.counter-btn{background:var(--cream);width:44px;height:44px;color:var(--ink);transition:background var(--dur) var(--ease);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.counter-btn:hover{background:var(--sage-light)}.counter-value{text-align:center;width:56px;color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;font-size:16px;font-weight:700}.counter-value::-webkit-inner-spin-button{appearance:none;margin:0}.counter-value::-webkit-outer-spin-button{appearance:none;margin:0}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);width:100%;color:var(--ink);transition:border-color var(--dur) var(--ease);outline:none;padding:12px 16px;font-size:14px}.form-input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #5b7b5e1a}.booking__summary{background:var(--cream);border-radius:var(--radius-sm);padding:16px}.booking__summary-row{color:var(--ink-light);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.booking__summary-total{border-top:1px solid var(--border);color:var(--ink);margin-top:6px;padding-top:10px;font-size:16px;font-weight:700}.booking__disclaimer{color:var(--ink-muted);text-align:center;font-size:11px;line-height:1.5}.booking-cta{padding:var(--section-pad) 0;background:var(--cream)}.footer{background:var(--ink);color:#fbf8f499;padding:64px 0 32px}.footer__inner{border-bottom:1px solid #fbf8f41a;grid-template-columns:1fr 2fr;gap:64px;padding-bottom:48px;display:grid}.footer__logo{font-family:var(--font-display);color:var(--cream);margin-bottom:8px;font-size:28px;font-weight:600;display:block}.footer__tagline{color:#fbf8f466;font-size:13px}.footer__links{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.footer__col h4{letter-spacing:1px;text-transform:uppercase;color:var(--cream);margin-bottom:16px;font-size:12px;font-weight:600}.footer__col a{transition:color var(--dur) var(--ease);padding:4px 0;font-size:13px;display:block}.footer__col a:hover{color:var(--gold)}.footer__bottom{text-align:center;padding-top:24px;font-size:12px}.whatsapp-fab{z-index:900;width:56px;height:56px;color:var(--white);transition:all var(--dur) var(--ease);cursor:pointer;background:#1fb255;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 16px #17823e66}.whatsapp-fab:hover{transform:scale(1.1)translateY(-2px);box-shadow:0 8px 24px #17823e80}.whatsapp-fab svg{width:28px;height:28px}@media (width<=1024px){.occasions__grid{grid-template-columns:repeat(3,1fr)}.workshops__grid{grid-template-columns:repeat(2,1fr)}.booking__layout{grid-template-columns:1fr;gap:48px}.booking__info{position:static}}@media (width<=768px){.nav__links{-webkit-backdrop-filter:blur(20px);background:#191715f2;border-bottom:1px solid #fbf8f41a;flex-direction:column;gap:0;padding:16px 24px 24px;display:none;position:absolute;top:100%;left:0;right:0}.nav__links--open{display:flex}.nav__links--open .nav__link{color:#fbf8f4d9;text-shadow:none;border-bottom:1px solid #fbf8f414;padding:14px 0;font-size:16px}.nav__links--open .nav__link:last-child{border-bottom:none}.nav__links--open .nav__link:hover{color:var(--gold)}.nav__cta,.nav__links--open+.nav__cta,.nav__links--open~.nav__cta{display:none}.nav__mobile-cta{background:var(--sage);border-radius:var(--radius-sm);text-align:center;text-shadow:none;margin-top:12px;padding:14px 24px;font-size:14px;font-weight:600;display:block;color:var(--cream)!important}.nav--scrolled .nav__mobile-cta{background:var(--ink)}.nav__burger{z-index:10;flex-direction:column;gap:5px;width:24px;display:flex}.nav__burger span{background:var(--cream);width:100%;height:2px;transition:all var(--dur) var(--ease);transform-origin:50%;display:block}.nav--scrolled .nav__burger span{background:var(--ink)}.nav__burger--open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav--scrolled .nav__links--open{border-bottom:1px solid var(--border);background:#fbf8f4f7}.nav--scrolled .nav__links--open .nav__link{color:var(--ink);border-bottom-color:var(--border)}.nav--scrolled .nav__links--open .nav__link:hover{color:var(--sage)}.nav--scrolled .nav__links--open:after,.nav--scrolled .nav__mobile-cta{background:var(--ink)}.hero__actions{flex-direction:column;align-items:center}.occasions__grid{grid-template-columns:repeat(2,1fr)}.workshops__grid,.about__layout{grid-template-columns:1fr}.about__image-placeholder{height:300px}.testimonials__grid{grid-template-columns:1fr}.gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.gallery__item--wide{grid-column:span 2}.gallery__item--tall{grid-row:span 1}.visit__layout,.form-row{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(2,1fr)}.footer__inner{grid-template-columns:1fr;gap:32px}.footer__links{grid-template-columns:repeat(3,1fr)}.whatsapp-fab{width:52px;height:52px;bottom:20px;right:20px}}@media (width<=480px){.occasions__grid{grid-template-columns:repeat(2,1fr);gap:12px}.occasion-card{padding:20px 12px}.footer__links{grid-template-columns:1fr 1fr;gap:24px}}
