/* Douro D’Heart — isolated section; original styles.css remains unchanged */
.douro-section{background:#f4f2ee;color:#17323c;padding:105px 10.3% 115px}
.douro-inner{max-width:1400px;margin:0 auto}
.douro-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:end;margin:30px 0 35px}
.douro-overline{font-size:10px;letter-spacing:.17em;font-weight:700;color:#78848a;margin:0 0 14px}
.douro-heading h2{font-size:clamp(42px,6vw,82px);font-weight:500;line-height:1.05;letter-spacing:-.05em;margin:0}
.douro-heading h2 em{font-family:Georgia,serif;font-weight:400}
.douro-copy{font-size:15px;line-height:1.85;color:#5e6c70;max-width:420px;margin:0}
.douro-photos{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:225px 225px;gap:14px}
.douro-photos figure{margin:0;position:relative;overflow:hidden;background:#d6d7d3}
.douro-photo-primary{grid-row:span 2}
.douro-photos img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.douro-photos figure:hover img{transform:scale(1.035)}
.douro-photos figcaption{position:absolute;left:20px;bottom:18px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;text-shadow:0 2px 9px #000a}
.douro-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}
.douro-footer>p{font-size:10px;letter-spacing:.16em;font-weight:700;color:#6d7c82;margin:0}
.douro-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.douro-links a{background:#12394a;color:white;padding:15px 22px;text-decoration:none;font-size:11px;letter-spacing:.12em;font-weight:700;transition:background .2s}
.douro-links a:hover{background:#25627b}
.douro-airbnb-pending{border:1px solid #bdc6c7;color:#748085;padding:14px 18px;font-size:10px;letter-spacing:.09em}
@media(max-width:800px){.douro-section{padding:75px 7%}.douro-heading{grid-template-columns:1fr;gap:18px}.douro-photos{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px}.douro-photo-primary{grid-column:span 2;grid-row:auto}.douro-photos figcaption{font-size:9px;left:12px;bottom:12px}}
@media(max-width:440px){.douro-photos{grid-template-rows:215px 150px;gap:8px}.douro-heading h2{font-size:43px}.douro-links{width:100%}.douro-links a,.douro-airbnb-pending{width:100%;box-sizing:border-box;text-align:center}}
