*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:#173f49;background:#fbf7ed;line-height:1.7}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1120px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(251,247,237,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,111,124,.12)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand img{width:68px;height:68px;object-fit:cover;border-radius:50%}.nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}.nav a{text-decoration:none}.nav a:hover{color:#13869a}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}.nav-cta,.btn-primary{background:#116f7e;color:#fff}.nav-cta:hover,.btn-primary:hover{background:#0c5d6a}.btn-light{background:#fffdf7;color:#145866;border-color:rgba(20,111,124,.18)}.menu-toggle{display:none;background:none;border:0;font-size:27px;color:#116f7e}.hero{position:relative;overflow:hidden;background:#f7f0df}.hero picture{display:block}.hero-img{width:100%;height:auto;min-height:0;object-fit:contain;object-position:center}.hero-overlay{position:absolute;inset:0;display:flex;align-items:center}.hero-card{margin-left:max(4%,calc((100vw - 1120px)/2));width:min(480px,45%);background:rgba(255,252,245,.88);padding:38px;border-radius:26px;box-shadow:0 20px 60px rgba(20,74,82,.12)}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:#b18a32}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(42px,5vw,70px);line-height:1.05;margin:12px 0;color:#126c7b}.hero h1 em{color:#c89e3d;font-style:normal}.hero p{font-size:17px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.section{padding:90px 0}.intro{background:#fffdf8}.intro-grid,.about-grid,.two-col,.pedro-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.section h2{font-family:"Playfair Display",serif;font-size:clamp(34px,4vw,52px);line-height:1.15;margin:10px 0 20px;color:#145968}.lead{font-size:18px;color:#4b6468}.about{background:#f4eadb}.portrait-wrap{position:relative}.portrait-wrap img{width:100%;max-height:700px;object-fit:cover;border-radius:28px;box-shadow:0 25px 60px rgba(42,77,76,.13)}.portrait-badge{position:absolute;right:-18px;bottom:28px;background:#fffdf7;padding:16px 22px;border-radius:18px;color:#126c7b;box-shadow:0 12px 30px rgba(20,74,82,.12);font-family:"Playfair Display",serif;font-size:18px}.about-copy p{color:#415d61}.subtitle{font-weight:700;color:#126c7b!important}.about blockquote{margin:28px 0 0;padding:20px 24px;border-left:4px solid #d6ac4c;background:rgba(255,255,255,.55);font-family:"Playfair Display",serif;font-size:20px}.services{background:#fbf7ed}.section-head{text-align:center;max-width:720px;margin:0 auto 45px}.section-head p{color:#5c7073}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{background:#fffdf8;border:1px solid rgba(20,111,124,.11);padding:30px;border-radius:22px;box-shadow:0 10px 35px rgba(30,75,77,.05)}.card .icon{width:45px;height:45px;border-radius:50%;background:#e2f2ef;display:grid;place-items:center;font-size:23px;color:#b28b35}.card h3{font-size:22px;line-height:1.25;color:#145968}.card ul{padding-left:19px;color:#50676a}.groups{background:#dcefeb}.pill-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.pill-list span{background:#fffdf8;padding:9px 15px;border-radius:999px;font-size:14px;color:#21636d}.preparation{background:#fffdf8;padding:35px;border-radius:25px}.preparation h3{font-family:"Playfair Display",serif;font-size:30px;color:#145968}.pedro{background:#f4eadb}.pedro-grid > div:first-child{order:2}.pedro-grid > div:last-child{order:1}.pedro-photo{background:#f4eadb;border-radius:28px;overflow:hidden}.pedro-photo img{width:100%;height:auto;max-height:620px;object-fit:cover;object-position:center;border-radius:28px}.note{background:#fffdf8;border-radius:18px;padding:20px;margin-top:25px;color:#4b6468}.why{background:#fffdf8}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.why-grid div{padding:25px;border-top:2px solid #d6ac4c}.why-grid strong{display:block;font-size:13px;color:#b18a32;margin-bottom:10px}.why-grid span{font-weight:600;color:#385a60}.contact{background:#126f7d;color:#fff}.contact h2,.contact .eyebrow{color:#fff}.contact p{color:#dcefeb}.contact-items{display:flex;flex-direction:column;gap:10px;margin:28px 0}.contact-items a{font-size:17px;text-decoration:none}.contact-items span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d9eee9;color:#126f7d;margin-right:10px}.contact .btn-primary{background:#d9a947;color:#173f49}.locations{background:rgba(255,255,255,.09);padding:30px;border-radius:24px}.locations h3{font-family:"Playfair Display",serif;font-size:30px}.location-card{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18)}.location-card span{display:block;color:#c9e5e1;font-size:13px}.location-card strong{font-size:18px}.small{font-size:13px!important;margin-top:22px}.footer{background:#f1e7d6;padding:45px 0;color:#36565c}.footer-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:30px;align-items:center}.footer-logo{width:75px;height:75px;object-fit:cover;border-radius:50%}.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:center}.footer-links a,.footer-links button{background:none;border:0;text-decoration:none;color:#36565c;font:inherit;cursor:pointer}.copyright{text-align:right;font-size:12px}.cookie-banner[hidden]{display:none!important}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:9999;pointer-events:auto;touch-action:manipulation;background:#fffdf8;border:1px solid rgba(20,111,124,.2);box-shadow:0 15px 45px rgba(20,74,82,.18);border-radius:18px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner p{margin:4px 0 0;font-size:13px;color:#566a6d}.cookie-actions{display:flex;gap:10px;white-space:nowrap;flex-shrink:0}.cookie-actions button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.legal{max-width:850px;margin:auto}.legal h1{font-family:"Playfair Display",serif;color:#145968}.legal h2{font-family:"Playfair Display",serif;color:#145968;font-size:28px}.legal .box{background:#fffdf8;border:1px solid rgba(20,111,124,.12);border-radius:20px;padding:30px;margin:22px 0}@media(max-width:850px){.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fbf7ed;padding:18px 5%;flex-direction:column;align-items:stretch;border-bottom:1px solid rgba(20,111,124,.12)}.nav.open{display:flex}.menu-toggle{display:block}.hero-img{height:auto;min-height:0;object-position:center}.hero picture{display:block;width:100%}.hero-overlay{align-items:flex-end;padding:25px}.hero-card{margin:0;width:100%;padding:28px}.intro-grid,.about-grid,.two-col,.pedro-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.pedro-grid > div:first-child{order:1}.pedro-grid > div:last-child{order:2}.cards{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-logo{margin:auto}.copyright{text-align:center}.section{padding:70px 0}}@media(max-width:520px){.why-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.hero-img{min-height:0;width:100%;height:auto}.hero-card{padding:23px}.cookie-banner{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;padding:16px;gap:12px}.cookie-banner p{font-size:12px;line-height:1.5}.cookie-actions{justify-content:stretch;width:100%;white-space:normal}.cookie-actions .btn{flex:1;min-height:46px;padding:11px 12px}.pedro-photo img{height:auto;max-height:none;object-fit:contain}}

.price-page{background:#fbf7ed;min-height:calc(100vh - 82px)}.price-page .section-head{max-width:760px}.price-page h1{font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,58px);line-height:1.1;color:#145968;margin:10px 0 16px}.price-image-wrap{max-width:900px;margin:0 auto;background:#fffdf8;border-radius:28px;padding:14px;box-shadow:0 18px 50px rgba(30,75,77,.08);border:1px solid rgba(20,111,124,.1)}.price-image{width:100%;height:auto;border-radius:20px}.price-actions{justify-content:center;margin-top:28px}
@media(max-width:850px){.price-page{padding:55px 0}.price-image-wrap{padding:8px;border-radius:20px}.price-image{border-radius:14px}}

/* Pedro – responsive animal-assisted section */
.pedro{background:#fbecd6;position:relative;overflow:hidden}
.pedro-grid{position:relative}
.pedro-photo{position:relative;background:#fbecd6;border-radius:0;overflow:visible;min-height:560px;display:flex;align-items:center;justify-content:center}
.pedro-photo img{position:relative;z-index:1;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border-radius:0;box-shadow:none}
.pedro-photo .floating-heart{position:absolute;z-index:10;display:block;color:#c89432;font-family:Georgia,serif;font-size:48px;line-height:1;pointer-events:none;animation:pedroHeartFloat 4.8s ease-in-out infinite}
.pedro-photo .heart-1{left:5%;top:24%;animation-delay:-.8s}
.pedro-photo .heart-2{right:7%;top:20%;font-size:42px;animation-delay:-2.1s}
.pedro-photo .heart-3{right:2%;top:48%;font-size:54px;animation-delay:-3.4s}
.pedro-photo .heart-4{left:10%;top:57%;font-size:38px;animation-delay:-1.6s}
.pedro-photo .heart-5{right:16%;top:69%;font-size:34px;animation-delay:-4s}
.pedro-photo .heart-6{left:28%;top:10%;font-size:30px;animation-delay:-2.8s}
.heading-heart{display:inline-block;color:#c89432;font-family:Georgia,serif;font-weight:400;animation:headingHeartPulse 2.8s ease-in-out infinite}
@keyframes pedroHeartFloat{0%,100%{transform:translate3d(0,0,0) rotate(-7deg);opacity:.82}50%{transform:translate3d(0,-13px,0) rotate(7deg);opacity:1}}
@keyframes headingHeartPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@media(max-width:850px){
  .pedro{padding-top:58px;padding-bottom:64px}
  .pedro-grid{gap:18px}
  .pedro-grid > div:first-child{order:1}
  .pedro-grid > div:last-child{order:2}
  .pedro-photo{min-height:0;margin:0 auto;width:100%;max-width:620px}
  .pedro-photo img{width:100%;max-width:100%}
  .pedro-photo .floating-heart{font-size:38px}
  .pedro-photo .heart-1{left:4%;top:25%}
  .pedro-photo .heart-2{right:4%;top:18%;font-size:34px}
  .pedro-photo .heart-3{right:0;top:47%;font-size:42px}
  .pedro-photo .heart-4{left:7%;top:56%;font-size:30px}
  .pedro-photo .heart-5{right:13%;top:68%;font-size:28px}
  .pedro-photo .heart-6{left:26%;top:8%;font-size:25px}
  .pedro h2{font-size:clamp(34px,9vw,46px)}
}
@media(max-width:520px){
  .pedro-photo{margin-left:0;width:100%;position:relative;display:block}
  .pedro-photo img{position:relative;z-index:1;display:block;width:100%;height:auto}
  .pedro-photo .floating-heart{position:absolute!important;z-index:20!important;display:block!important;pointer-events:none!important}
  .pedro-photo .floating-heart{font-size:32px}
  .pedro-photo .heart-2{font-size:29px}
  .pedro-photo .heart-3{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
  .pedro-photo .floating-heart,.heading-heart{animation:none}
}
