:root{--vd:#173F35;--vn:#6B9271;--vc:#E8F0E8;--bg:#F3EBDD;--bc:#fff;--ou:#C5A66A;--tx:#1d2b26;--mut:#55655d;--r:14px;--sh:0 14px 40px rgba(23,63,53,.14);
--serif:"Lora",Georgia,"Times New Roman",serif;--sans:"Lato",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--sans);color:var(--tx);background:var(--bc);line-height:1.65;font-size:1.05rem;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.wrap{width:min(1120px,92%);margin:auto}section{padding:clamp(56px,9vw,104px) 0}
h1,h2,h3{font-family:var(--serif);line-height:1.18;color:var(--vd)}
h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.6em}h3{font-size:1.2rem;margin-bottom:.35em}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#9a7f45;font-weight:700;margin-bottom:14px;display:block}
.lead{font-size:1.12rem;color:var(--mut);max-width:62ch}.center{text-align:center}.center .lead{margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:15px 28px;border-radius:999px;font-weight:700;letter-spacing:.04em;font-size:.92rem;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,63,53,.22)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--ou);outline-offset:3px}
.btn-p{background:var(--vd);color:#fff}.btn-p:hover{background:#0f2d25}
.btn-o{border-color:var(--vd);color:var(--vd);background:transparent}.btn-o:hover{background:var(--vd);color:#fff}
.btn-w{background:#1f7a4d;color:#fff}.btn-w:hover{background:#176a41}
.btn-g{background:var(--ou);color:#173F35}
.btn svg{width:1.15em;height:1.15em;fill:currentColor}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(243,235,221,.94);backdrop-filter:blur(8px);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 2px 18px rgba(23,63,53,.12)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{font-family:var(--serif);font-weight:700;color:var(--vd);text-decoration:none;font-size:1.05rem;line-height:1.1}
.brand small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#9a7f45;font-weight:700;margin-top:3px}
nav ul{display:flex;gap:26px;list-style:none;padding:0}nav a{text-decoration:none;font-size:.92rem;font-weight:700;color:var(--vd);position:relative}
nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--ou);transition:width .3s}nav a:not(.btn):hover::after{width:100%}
.bar .btn{padding:10px 20px;font-size:.82rem}.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;background:var(--vd);margin:6px auto;transition:.3s}
/* hero */
.hero{background:var(--bg);padding:clamp(40px,7vw,84px) 0 clamp(56px,8vw,100px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(2.3rem,5.6vw,4rem);margin-bottom:.35em}.hero h1 em{color:var(--vn);font-style:italic}
.hero .sub{font-size:1.2rem;color:var(--vd);margin-bottom:.8em;font-family:var(--serif);font-style:italic}
.hero p.t{color:var(--mut);max-width:50ch;margin-bottom:1.4em}
.price{display:flex;align-items:baseline;gap:14px;margin-bottom:1.3em;flex-wrap:wrap}
.price strong{font-family:var(--serif);font-size:2.4rem;color:var(--vd)}.price span{color:var(--mut);font-size:.95rem}
.cta{display:flex;gap:12px;flex-wrap:wrap}.note{font-size:.84rem;color:var(--mut);margin-top:1.1em;max-width:52ch}
.cover{position:relative;justify-self:center;max-width:460px;width:100%}
.cover::before{content:"";position:absolute;inset:6% -4% -5% 8%;border:2px solid var(--ou);border-radius:var(--r);z-index:0}
.cover img{position:relative;z-index:1;border-radius:var(--r);box-shadow:var(--sh);animation:flut 7s ease-in-out infinite}
@keyframes flut{50%{transform:translateY(-8px)}}
/* secções */
.dark{background:var(--vd);color:#e7efe9}.dark h2,.dark h3{color:#fff}.dark .eyebrow{color:var(--ou)}.dark .lead{color:#c9d8cf}
.dores{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-top:40px}
.dores div{border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:24px;transition:background .3s,transform .3s}
.dores div:hover{background:rgba(255,255,255,.06);transform:translateY(-3px)}.dores p{font-size:.97rem;color:#d3e0d8}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.split img{border-radius:var(--r);box-shadow:var(--sh);width:100%}
.quote{border-left:3px solid var(--ou);padding-left:18px;margin:1.4em 0;font-family:var(--serif);font-size:1.25rem;color:var(--vd);font-style:italic}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:44px}
.card{background:var(--bc);border:1px solid #dfe8e0;border-radius:var(--r);padding:28px;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--vn)}
.card .n{font-family:var(--serif);color:var(--ou);font-size:1.5rem;font-weight:700;display:block;margin-bottom:6px}.card p{font-size:.96rem;color:var(--mut)}
.soft{background:var(--vc)}.also{margin-top:30px;text-align:center;color:var(--vd);font-weight:700}
.previa{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;margin-top:44px}
.previa button{all:unset;cursor:zoom-in;display:block;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(23,63,53,.16);transition:transform .3s}
.previa button:hover{transform:translateY(-5px) scale(1.01)}.previa button:focus-visible{outline:3px solid var(--ou)}
.previa a{
  display:block;
  position:relative;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(23,63,53,.16);
  transition:transform .3s;
}

.previa a:hover{
  transform:translateY(-5px) scale(1.01);
}

.previa a:focus-visible{
  outline:3px solid var(--ou);
  outline-offset:3px;
}

.previa a img{
  display:block;
  width:100%;
  height:auto;
}
.previa figcaption{font-size:.82rem;text-align:center;color:var(--mut);margin-top:10px}.previa figure{margin:0}
.smallnote{font-size:.85rem;color:var(--mut);text-align:center;margin-top:26px}
.list{list-style:none;padding:0;display:grid;gap:14px;margin-top:1.4em}
.list li{padding-left:34px;position:relative}.list li::before{content:"";position:absolute;left:0;top:.5em;width:18px;height:2px;background:var(--ou)}
.buy{background:var(--bg)}.buybox{background:#fff;border-radius:20px;box-shadow:var(--sh);padding:clamp(28px,5vw,56px);text-align:center;max-width:760px;margin:36px auto 0}
.buybox .big{font-family:var(--serif);font-size:3rem;color:var(--vd);display:block;line-height:1.1}
.pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:26px 0 14px}
details{border-bottom:1px solid #d8e2da;padding:20px 0}summary{cursor:pointer;font-family:var(--serif);font-weight:700;font-size:1.1rem;color:var(--vd);list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--ou);font-size:1.5rem;line-height:1;transition:transform .3s}details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:.8em;color:var(--mut)}.faq{max-width:780px;margin:40px auto 0}
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.qr{background:#fff;border-radius:20px;padding:22px;text-align:center;box-shadow:0 18px 44px rgba(0,0,0,.25);color:var(--vd)}
.qr img{width:min(290px,100%);height:auto;margin:auto}.qr p{font-size:.95rem;margin-top:10px;font-weight:700}
.stack{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:26px}
footer{background:#0f2d25;color:#b9cbc1;padding:44px 0 30px;font-size:.9rem}footer strong{font-family:var(--serif);color:#fff;font-size:1.15rem}
footer .g{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}footer p+p{margin-top:.7em}footer a{color:var(--ou)}
footer .c{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;font-size:.8rem}
dialog{border:0;border-radius:18px;padding:30px;max-width:min(440px,92vw);box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center}
dialog::backdrop{background:rgba(15,45,37,.6)}dialog h3{margin-bottom:.5em}dialog p{color:var(--mut);margin-bottom:1.2em}dialog .cta{justify-content:center}
#lightbox{background:#0f2d25;color:#fff;padding:14px;max-width:min(680px,94vw)}#lightbox img{max-height:80vh;width:auto;margin:auto;border-radius:6px}#lightbox p{margin:10px 0 8px;font-size:.9rem;color:#d3e0d8}
.reveal{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease}
@media(max-width:860px){
.hero .wrap,.split,.contact,footer .g{grid-template-columns:1fr}.cover{order:-1;max-width:340px}
.menu-btn{display:block}nav{position:absolute;left:0;right:0;top:68px;background:var(--bg);padding:0 4%;max-height:0;overflow:hidden;transition:max-height .4s}
nav.open{max-height:420px;box-shadow:0 14px 24px rgba(23,63,53,.12)}nav ul{flex-direction:column;gap:0;padding:8px 0 20px}nav li a{display:block;padding:12px 0}
.bar>.btn-top{display:none}.stack{align-items:stretch}.stack .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
