.hero{display:flex;flex-direction:column;margin:0;padding:0;text-align:center}.hero__banner{background:#fff2b8;padding:clamp(3rem,6vw,5rem) clamp(.75rem,3vw,1.25rem) clamp(2rem,4vw,3rem);color:#f89a32;box-shadow:0 18px 40px #4628002e}.hero__content{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(.75rem,3vw,1.3rem)}.hero__content h1{font-size:clamp(1.6rem,5vw,4.1rem);letter-spacing:.5px;margin:0;color:#f89a32;white-space:normal;text-wrap:balance}.hero__content p{font-size:clamp(1.4rem,4.9vw,2.24rem);margin:0;color:#f89a32}.hero__subtitle{font-size:clamp(1rem,2.4vw,1.35rem)!important;line-height:1.35;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:700}.hero__text{display:flex;flex-direction:column;gap:.55rem}.hero__cta{align-self:center;display:inline-flex;align-items:center;justify-content:center;margin-top:.35rem;padding:.9rem 1.7rem;border-radius:999px;background:#ff8a2a;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem;font-weight:800;text-decoration:none;box-shadow:0 16px 30px #f89a3247;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.hero__cta:hover,.hero__cta:focus-visible{transform:translateY(-2px);background:#f17c18;box-shadow:0 20px 36px #f89a3252}.hero__cta:focus-visible{outline:3px solid rgba(255,138,42,.35);outline-offset:3px}.hero__image{width:100%;height:clamp(220px,60vw,70vh);max-height:min(70vh,720px);display:block;margin:0;border-radius:0;object-fit:cover;object-position:center}@media (max-width: 640px){.hero__banner{padding:2.5rem 1.25rem 2rem}.hero__content h1{font-size:clamp(1.8rem,8vw,3.1rem);white-space:normal;text-wrap:balance}.hero__content p{font-size:clamp(1.05rem,4.8vw,1.35rem);text-wrap:balance}}.dark-mode .hero__banner{background:#331b00;color:var(--text-dark);box-shadow:none}.dark-mode .hero__content h1,.dark-mode .hero__subtitle,.dark-mode .hero__content p{color:var(--text-dark)}.dark-mode .hero__cta{background:#ffd4a8;color:#4b2500;box-shadow:none}.dark-mode .hero__cta:hover,.dark-mode .hero__cta:focus-visible{background:#ffe1bd}.gallery{background:#fdd8df;padding:clamp(3rem,6vw,5rem) clamp(.75rem,3vw,1.5rem);text-align:center;color:#7a2f20}.gallery h2{font-family:Cherry Bomb One,cursive;font-size:clamp(2.25rem,4vw,3.5rem)}.gallery__intro{max-width:760px;margin:1rem auto 0;font-size:1.575rem;line-height:1.6;color:#7a2f20d9}.gallery__offer-box{width:min(100%,760px);margin:clamp(1.6rem,4vw,2.4rem) auto 0;padding:clamp(1.4rem,3vw,2rem);box-sizing:border-box;border-radius:18px;background:#ffffffb8;box-shadow:0 18px 35px #7a2f201f;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;text-align:left;overflow-wrap:anywhere}.gallery__offer-box h3{margin:0 0 .75rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:clamp(1.25rem,2.3vw,1.65rem);line-height:1.25;font-weight:800;color:#7a2f20}.gallery__offer-box p{margin:0;font-size:1.15rem;line-height:1.65;color:#401a10d6}.gallery__offer-box p+p{margin-top:.85rem}.gallery__offer-box p:last-child{padding:.85rem 1rem;border-radius:12px;background:#fff4f8f2;border:1px solid rgba(122,47,32,.16);font-weight:800}.gallery__grid{margin-top:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);align-items:stretch;grid-auto-flow:dense}.gallery__item{position:relative;display:flex;border:none;padding:0;cursor:default;border-radius:18px;overflow:hidden;box-shadow:0 18px 35px #00000029;background:#fff9;transition:transform .2s ease,box-shadow .2s ease}.gallery__item-trigger{position:absolute;right:clamp(.6rem,1.6vw,1rem);bottom:clamp(.6rem,1.6vw,1rem);width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.65);display:inline-flex;align-items:center;justify-content:center;background:#ffffffeb;box-shadow:0 12px 22px #0000002e;transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease;padding:0;cursor:pointer;z-index:2;color:#7a2f20}.gallery__item-trigger:hover,.gallery__item-trigger:focus-visible{transform:translateY(-3px) scale(1.05);box-shadow:0 16px 26px #00000038}.gallery__item-trigger:focus-visible{outline:3px solid rgba(255,143,178,.65);outline-offset:2px}.gallery__item-trigger:disabled{cursor:default;opacity:0;visibility:hidden;transform:translateY(6px) scale(.85);box-shadow:0 12px 22px #0000002e}.gallery__item-trigger-icon{width:1.4rem;height:1.4rem;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.gallery__item-label{position:absolute;left:50%;bottom:1rem;transform:translate(-50%,10px);background:#fffffff2;color:#7a2f20;padding:.4rem .75rem;border-radius:999px;font-size:.9rem;letter-spacing:.02em;white-space:nowrap;box-shadow:0 8px 20px #7a2f2026;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.gallery__item-trigger:hover~.gallery__item-label,.gallery__item-trigger:focus-visible~.gallery__item-label{opacity:1;transform:translate(-50%)}.gallery__item--expanded .gallery__item-label{opacity:0}.gallery__item img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:4 / 3}.gallery__item--expanded{grid-column:span 2;grid-row:span 2;box-shadow:0 30px 60px #0003;cursor:default}.gallery__item--expanded:hover,.gallery__item--expanded:focus-visible{transform:none;box-shadow:0 30px 60px #0003}.gallery__item--expanded img{aspect-ratio:auto}.gallery__details{position:relative;grid-column:span 1;grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.9rem;padding:clamp(1.2rem,2.5vw,2rem);padding-top:clamp(2.5rem,6vw,4rem);background:#fdd8df;border-radius:18px;box-shadow:0 18px 35px #00000029;text-align:left}.gallery__details-title{margin:0;font-family:Cherry Bomb One,cursive;font-size:clamp(1.6rem,2.4vw,2.1rem);color:#7a2f20}.gallery__details-text{display:flex;flex-direction:column;gap:.75rem}.gallery__details-text p{margin:0;font-size:1.1rem;line-height:1.6;color:#401a10d1}.gallery__details-close:hover,.gallery__details-close:focus-visible{transform:translateY(-2px);box-shadow:0 16px 32px #ff719b59}.gallery__details-close:focus-visible{outline:3px solid rgba(255,143,178,.65);outline-offset:3px}@media (max-width: 1024px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery__item--expanded{grid-column:span 2;grid-row:span 1}.gallery__details{position:relative;grid-column:span 2;grid-row:span 1}}@media (max-width: 640px){.gallery{padding-inline:1.25rem}.gallery__grid{grid-template-columns:1fr}.gallery__item{border-radius:16px}.gallery__item--expanded{grid-column:span 1;grid-row:span 1}.gallery__details{position:relative;grid-column:span 1;grid-row:span 1;align-items:center;text-align:center}.gallery__details-title{font-size:clamp(1.6rem,6vw,2.1rem)}.gallery__details-text p{font-size:1rem}.gallery__details-dismiss{width:38px;height:38px}.gallery__details-dismiss span{font-size:1.6rem}.gallery__offer-box{width:100%;padding:1.2rem;border-radius:16px}.gallery__offer-box h3{font-size:1.2rem}.gallery__offer-box p{font-size:1rem}.gallery__offer-box p:last-child{padding:.75rem}}.dark-mode .gallery{background:#30030b;color:var(--text-dark)}.dark-mode .gallery__intro{color:#ffe6e6cc}.dark-mode .gallery__offer-box{background:#170f1ab8;box-shadow:0 18px 35px #0000004d}.dark-mode .gallery__offer-box h3{color:var(--text-dark)}.dark-mode .gallery__offer-box p{color:#ffe6e6d9}.dark-mode .gallery__offer-box p:last-child{background:#ff8fb221;border-color:#ffe6e62e}.dark-mode .gallery__item-trigger{background:#170f1ad9;border-color:#ffffff1f;box-shadow:0 12px 22px #00000073;color:#ffd6d6}.dark-mode .gallery__item-trigger:hover,.dark-mode .gallery__item-trigger:focus-visible{box-shadow:0 16px 26px #00000080}.dark-mode .gallery__item-label{background:#30030b;color:#ffd6d6;box-shadow:0 8px 20px #00000059}.dark-mode .gallery__item{background:#170f1ae0;box-shadow:0 18px 35px #00000059}.dark-mode .gallery__item--expanded{box-shadow:0 30px 60px #00000059}.dark-mode .gallery__details{position:relative;background:#30030b;color:var(--text-dark);box-shadow:0 18px 35px #00000059}.dark-mode .gallery__details-title{color:var(--text-dark)}.dark-mode .gallery__details-text p{color:#ffe6e6d9}.dark-mode .gallery__details-dismiss{background:#ff8fb273;color:var(--text-dark);box-shadow:none}.gallery__details-dismiss{position:absolute;top:clamp(.6rem,1.5vw,1rem);right:clamp(.6rem,1.5vw,1rem);width:44px;height:44px;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;background:#ff8fb2cc;color:#7a2f20;cursor:default;box-shadow:0 16px 30px #ff719b4d;transition:transform .15s ease,box-shadow .15s ease}.gallery__details-dismiss span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2.1rem;line-height:1}.gallery__details-dismiss:hover,.gallery__details-dismiss:focus-visible{cursor:pointer;transform:translateY(-2px);box-shadow:0 22px 36px #ff719b59}.gallery__details-dismiss:focus-visible{outline:3px solid rgba(255,143,178,.65);outline-offset:2px}.about{background:#cce0ff;padding:clamp(3rem,7vw,4rem) clamp(.75rem,3vw,1.5rem);text-align:center;color:#22386b}.about h2{margin:0 0 1.5rem;font-size:clamp(2.1rem,4.5vw,3.2rem)}.about p{margin:0 auto;max-width:760px;font-size:clamp(1.05rem,2.3vw,1.35rem);line-height:1.7;color:#22386beb}.about p+p{margin-top:clamp(.9rem,2.5vw,1.4rem)}.dark-mode .about{background:#001433;color:#f2f2f2}.dark-mode .about p{color:#f0f5ffe6}.contact{background:#cee9d6;padding:clamp(3rem,7vw,4rem) clamp(.75rem,3vw,1.5rem);color:#1c3b2f;text-align:center}.contact h2{font-size:2.5rem;margin:0 0 1rem}.contact__details,.contact__form-copy,.contact__form-heading,.contact__form{width:min(100%,600px);margin-left:auto;margin-right:auto}.contact__details{margin-bottom:2rem;display:flex;flex-direction:column;gap:.4rem;font-size:1.05rem;color:inherit;text-align:center;align-items:center}.contact__details p{margin:0}.contact__details a{color:inherit;font-weight:600;text-decoration:none;cursor:pointer}.contact__details a:hover,.contact__details a:focus-visible{text-decoration:underline}.contact__form-heading{width:min(100%,600px);margin:0 auto 1rem;font-size:1.85rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:800;color:inherit;text-align:center}.contact__form-copy{margin:0 auto 1.75rem;display:flex;flex-direction:column;gap:.7rem;font-size:1.02rem;line-height:1.6;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#1c3b2fe0}.contact__form-copy p{margin:0}.contact__form-notice{font-weight:700}.contact__form-wrapper{width:min(100%,600px);margin:0 auto 1.4rem;padding:clamp(2rem,5vw,2.6rem) clamp(2.2rem,6vw,3rem) clamp(1.6rem,4vw,2rem);background:#ffffffbf;border-radius:24px;box-shadow:0 22px 40px #1c3b2f1f;box-sizing:border-box}.contact__form{display:flex;flex-direction:column;gap:clamp(1.2rem,4vw,1.8rem);text-align:left}.contact__field{position:relative;display:flex;flex-direction:column}.contact__label{font-weight:600;letter-spacing:.3px;color:inherit}.contact__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.contact__input,.contact__textarea{width:100%;border:1px solid rgba(28,59,47,.25);border-radius:14px;padding:.95rem 1.1rem;font-size:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.contact__textarea{min-height:160px;resize:vertical}.contact__select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;color:#1c3b2f}.contact__input::placeholder,.contact__textarea::placeholder{color:#1c3b2fa6;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem}.contact__input:focus-visible,.contact__textarea:focus-visible{outline:none;border-color:#1c3b2fa6;box-shadow:0 0 0 4px #1c3b2f2e}.contact__submit{align-self:center;padding:.95rem 2.6rem;border-radius:999px;border:none;background:#ff8a2a;color:#fff;font-weight:700;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;letter-spacing:.4px;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.contact__submit:hover,.contact__submit:focus-visible{transform:translateY(-1px);box-shadow:0 18px 28px #ff8a2a47}.contact__consent{display:flex;align-items:flex-start;gap:.75rem;margin-top:.5rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.95rem;line-height:1.5;color:#1c3b2fe6}.contact__consent-checkbox{width:20px;height:20px;border-radius:6px;border:1px solid rgba(28,59,47,.35);background:#fff;margin-top:.2rem;cursor:pointer;flex-shrink:0;accent-color:#ff8a2a}.contact__consent-label{color:inherit;display:inline}.contact__consent-link{font-weight:600;color:#e66000;text-decoration:underline;transition:color .2s ease}.contact__consent-link:hover,.contact__consent-link:focus-visible{color:#c50}.contact__consent-error{display:none;margin:0;margin-top:.6rem;font-size:.85rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#c23621;text-align:center;opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease}.contact__consent-error--visible{display:block;opacity:1;transform:translateY(0)}.contact__success{display:none;margin:0;margin-top:.6rem;font-size:.95rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#27683b;text-align:center;font-weight:700;opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease}.contact__success--visible{display:block;opacity:1;transform:translateY(0)}.contact__submit:disabled{cursor:wait;opacity:.72;transform:none;box-shadow:none}.contact__map{margin-top:1.4rem;border-radius:8px;overflow:hidden;width:min(100%,600px);margin-left:auto;margin-right:auto}.contact__map iframe{border-radius:8px}.contact__map-placeholder{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:clamp(1.75rem,4vw,2.5rem);background:#ffffffeb;border-radius:12px;box-shadow:0 18px 36px #1c3b2f24;text-align:center;box-sizing:border-box;width:100%}.contact__map-preview{width:100%;max-width:520px;border-radius:10px;display:block}.contact__map-note{font-size:1.05rem;line-height:1.6;color:inherit;margin:0;width:100%;max-width:520px}.contact__map-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center}.contact__submit,.contact__map-button,.contact__map-link{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.contact__map-button{border:none;border-radius:999px;padding:.85rem 2rem;font-weight:700;font-size:.95rem;background:#318149;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.contact__map-button:hover,.contact__map-button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 28px #1c3b2f40;background:#2d7643}.contact__map-button:focus-visible{outline:3px solid hsla(138,45%,65%,.6);outline-offset:3px}.contact__map-link{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.8rem;border-radius:999px;border:none;background:#f83;color:#fff;font-weight:700;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.contact__map-link:hover,.contact__map-link:focus-visible{transform:translateY(-1px);box-shadow:0 14px 28px #ff8a2a47;background:#ff791a}.contact__map-link:focus-visible{outline:3px solid hsla(25,100%,75%,.6);outline-offset:3px}.contact__social{margin-top:2rem;font-size:1.1rem}.contact__social-links{margin-top:1rem;display:inline-flex;gap:1rem}.contact__social-link{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#1c3b2f1f;color:#1c3b2f;text-decoration:none;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;cursor:pointer}.contact__social-link:hover,.contact__social-link:focus-visible{background:#1c3b2f33;transform:translateY(-2px);box-shadow:0 10px 20px #0000002e}.contact__social-icon{width:32px;height:32px;display:block}.dark-mode .contact{background:#21312a;color:#ededed}.dark-mode .contact__details,.dark-mode .contact__details a,.dark-mode .contact__form-copy,.dark-mode .contact__form-heading{color:var(--text-dark)}.dark-mode .contact__form-wrapper{background:#244c30;box-shadow:none}.dark-mode .contact__field label{color:var(--text-dark)}.dark-mode .contact__input,.dark-mode .contact__textarea{background:#ffffff14;border-color:#ffffff40;color:var(--text-dark)}.dark-mode .contact__input:focus-visible,.dark-mode .contact__textarea:focus-visible{box-shadow:0 0 0 4px #ffffff26}.dark-mode .contact__input::placeholder,.dark-mode .contact__textarea::placeholder{color:#fff9}.dark-mode .contact__select{color:var(--text-dark)}.dark-mode .contact__consent{color:#ffffffe6}.dark-mode .contact__consent-link{color:#f4a871}.dark-mode .contact__consent-link:hover,.dark-mode .contact__consent-link:focus-visible{color:#f2995a}.dark-mode .contact__consent-checkbox{border-color:#fff6;background:#ffffff14}.dark-mode .contact__consent-error{color:#ef8580}.dark-mode .contact__success{color:#98e1ae}.dark-mode .contact__social-link{background:#ffffff1f;color:var(--text-dark)}.dark-mode .contact__social-link:hover,.dark-mode .contact__social-link:focus-visible{background:#ffffff38}.dark-mode .contact__map-placeholder{background:#244c30;box-shadow:none}.dark-mode .contact__map-button{background:#2d7643}.dark-mode .contact__map-button:hover,.dark-mode .contact__map-button:focus-visible{background:#27683b;box-shadow:none}.dark-mode .contact__map-link{background:#f0904c}.dark-mode .contact__map-link:hover,.dark-mode .contact__map-link:focus-visible{background:#ef8234;box-shadow:none}@media (max-width: 640px){.contact{padding:2.5rem .75rem}.contact__form-wrapper{width:min(100%,480px);margin-bottom:1rem;padding:clamp(1.7rem,8vw,2.2rem) clamp(1.7rem,8vw,2.2rem) 1.4rem}.contact__map{margin-top:1rem}}
