*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:Jost,sans-serif;font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Bodoni Moda,serif;font-weight:500;margin:0;line-height:1.1}.eyebrow{font-family:Jost;font-weight:500;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);display:inline-block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}a{color:inherit;text-decoration:none}header{position:absolute;top:0;left:0;right:0;z-index:20}.nav{display:flex;align-items:center;justify-content:space-between;padding:26px 32px;max-width:var(--maxw);margin:0 auto}.brand{font-family:Bodoni Moda,serif;color:var(--bone);font-size:1.15rem;letter-spacing:.04em}.brand span{color:var(--brass-lt)}.menu{display:flex;gap:30px;align-items:center}.menu a{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-70);font-weight:400;transition:color .25s}.menu a:hover{color:var(--bone)}.menu a.on{color:var(--brass-lt)}.lang{display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--ink-45)}.lang button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.78rem;letter-spacing:.1em;color:var(--ink-45);padding:3px 4px;transition:color .25s}.lang button.on{color:var(--brass-lt);border-bottom:1px solid var(--brass)}.lang .sep{opacity:.4}.hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(100deg,#0b1320c7,#0b132057 48%,#0b13201f),url(/images/douro-01-cb9bdb05.jpg);background-size:cover;background-position:center 55%}.hero:before{content:"";position:absolute;inset:0;box-shadow:inset 0 -150px 180px -70px #070c14e6}.hero-inner{position:relative;z-index:5;padding:0 0 84px;max-width:820px}.breadcrumb{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-45);margin-bottom:20px}.breadcrumb a:hover{color:var(--brass-lt)}.hero h1{color:var(--bone);font-size:clamp(2.6rem,6.4vw,5rem);font-weight:500;letter-spacing:-.01em}.hero h1 em{font-style:italic;color:var(--brass-lt);font-weight:400}.hero .sub{color:var(--ink-70);font-size:1.1rem;max-width:560px;margin:26px 0 36px}.btn{display:inline-block;font-family:Jost;font-weight:500;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;padding:17px 34px;cursor:pointer;border:none;background:var(--brass);color:#16110a;transition:background .3s,transform .3s}.btn:hover{background:var(--brass-lt);transform:translateY(-2px)}section{padding:104px 0}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}.lead{font-family:Bodoni Moda,serif;font-size:clamp(1.55rem,3.3vw,2.4rem);line-height:1.3;font-weight:400;max-width:780px}.lead em{font-style:italic;color:var(--brass)}.intro .eyebrow{margin-bottom:22px}.exp{background:var(--bone-dim)}.exp h2{font-size:clamp(1.9rem,4vw,2.7rem);margin:14px 0 0}.exp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:54px;background:var(--stone);border:1px solid var(--stone)}.exp-item{background:var(--bone);padding:40px 38px}.exp-item .n{font-family:Bodoni Moda,serif;color:var(--brass);font-size:.9rem;letter-spacing:.1em}.exp-item h3{font-size:1.45rem;margin:10px 0 12px}.exp-item p{color:#3f4a5a;margin:0;font-size:.98rem}.itin h2{font-size:clamp(1.9rem,4vw,2.7rem);margin:14px 0 8px}.itin .note{color:#5a6573;max-width:640px}.days{margin-top:50px;border-top:1px solid var(--stone)}.day{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--stone)}.day .d{font-family:Bodoni Moda,serif;color:var(--brass);font-size:1.05rem;letter-spacing:.04em}.day h3{font-size:1.4rem;margin:0 0 10px}.day p{margin:0;color:#3f4a5a}.band{position:relative;min-height:60vh;padding:0;display:flex;align-items:center;background-size:cover;background-position:center}.band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a101ab3,#0a101a59 55%,#0a101a1f)}.band .binner{position:relative;z-index:2;max-width:520px;color:var(--bone)}.band .eyebrow{color:var(--brass-lt)}.band h2{color:var(--bone);font-size:clamp(1.8rem,3.6vw,2.6rem);margin:16px 0 18px;font-weight:400;line-height:1.22}.band p{color:var(--ink-70)}.stay{background:var(--ink);color:var(--bone)}.stay .eyebrow{color:var(--brass-lt)}.stay h2{color:var(--bone);font-size:clamp(1.9rem,4vw,2.7rem);margin:14px 0 22px;max-width:680px}.stay p{color:var(--ink-70);max-width:680px}.closing{background:var(--bone);text-align:center}.closing .inner{max-width:640px;margin:0 auto}.closing h2{font-size:clamp(1.9rem,4.4vw,3rem);margin-bottom:20px}.closing p{color:#46515f;margin:0 auto 34px}.urgency{display:block;margin-top:24px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.contact{background:var(--bone-dim)}.chead{max-width:680px}.chead h2{font-size:clamp(1.9rem,4.4vw,2.9rem);margin:14px 0}.chead p{color:#46515f}.cgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;margin-top:46px;align-items:stretch}.cform{background:var(--bone);border:1px solid var(--stone);padding:38px 36px}.field{margin-bottom:18px}.field label{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#6a7585;margin-bottom:7px}.field input,.field textarea{width:100%;font-family:Jost;font-size:1rem;color:var(--ink);background:var(--bone-dim);border:1px solid var(--stone);padding:12px 14px;outline:none;transition:border-color .25s}.field input:focus,.field textarea:focus{border-color:var(--brass)}.field textarea{resize:vertical}.cform .btn{margin-top:4px}.cform .fineprint{display:block;margin-top:16px;font-size:.78rem;color:#7a8492;line-height:1.5}.wa{background:var(--ink);color:var(--bone);padding:40px 36px;display:flex;flex-direction:column;justify-content:center}.wa h3{font-size:1.7rem;color:var(--bone);margin:12px 0}.wa p{color:var(--ink-70);margin:0 0 26px;font-size:.96rem}.wa-btn{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-family:Jost;font-weight:500;font-size:.84rem;letter-spacing:.06em;background:var(--brass);color:#16110a;padding:14px 24px;transition:background .3s,transform .3s}.wa-btn:hover{background:var(--brass-lt);transform:translateY(-2px)}.wa-btn svg{flex-shrink:0}.wa .small{margin-top:18px;font-size:.78rem;color:var(--ink-45)}footer{background:var(--ink);color:var(--ink-70);padding:56px 0 38px}.foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.foot .brand{font-size:1.25rem}.foot a{color:var(--ink-70);font-size:.9rem}.foot a:hover{color:var(--brass-lt)}.copyr{margin-top:34px;padding-top:20px;border-top:1px solid rgba(244,240,231,.1);font-size:.78rem;color:var(--ink-45)}@media (max-width:820px){.menu{display:none}.exp-grid{grid-template-columns:1fr}.day{grid-template-columns:1fr;gap:6px}.cgrid{grid-template-columns:1fr}.cform,.wa{padding:30px 26px}section{padding:74px 0}}@media (prefers-reduced-motion:reduce){*{animation:none!important}.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
