    :root{--ink:#202522;--ink2:#353b35;--cream:#f7f4ed;--white:#fffdfa;--gold:#c8ad79;--gold-dark:#947748;--line:#d9d5ca;--muted:#686c64;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit}button{font:inherit}::selection{background:var(--gold);color:var(--ink)}
    .skip{position:absolute;left:-9999px;top:0;background:#fff;padding:12px;z-index:100}.skip:focus{left:12px}.wrap{width:min(100% - 48px,1320px);margin:auto}.eyebrow{font-size:.79rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold-dark)}
    .topbar{background:var(--ink);color:#eee9dd;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.topbar a{text-decoration:none}.topbar a:hover{text-decoration:underline}
    .header{position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1}.mark{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font:27px var(--serif)}.brand-name{display:flex;flex-direction:column;gap:5px}.brand-name strong{font-family:var(--serif);font-weight:400;font-size:1.45rem;letter-spacing:.025em}.brand-name small{font-size:.67rem;letter-spacing:.22em;color:#ddd5c8;text-transform:uppercase}.nav{display:flex;align-items:center;gap:34px}.nav a{text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;font-weight:700}.nav a:hover,.nav a:focus-visible{color:var(--gold)}.language{display:flex;border:1px solid rgba(255,255,255,.55);padding:3px;border-radius:999px}.language button{border:0;border-radius:999px;padding:6px 10px;background:transparent;color:#eee;cursor:pointer;font-size:.7rem;letter-spacing:.08em}.language button[aria-pressed=true]{background:#f5f0e5;color:var(--ink)}
    .hero{min-height:720px;min-height:min(820px,90vh);position:relative;background-color:#39453f;background-image:linear-gradient(90deg,rgba(13,22,21,.82) 0%,rgba(17,25,24,.66) 37%,rgba(15,22,20,.16) 100%),url('images/douro.png');background-size:cover;background-position:center;color:#fff;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(transparent,rgba(14,21,20,.25));pointer-events:none}.hero-content{position:relative;z-index:1;padding-top:120px;padding-bottom:88px}.hero .eyebrow{color:#e0c695}.hero h1{font-family:var(--serif);font-size:clamp(3.2rem,6vw,6.5rem);font-weight:400;line-height:1.05;letter-spacing:-.045em;max-width:850px;margin:22px 0 28px;text-wrap:balance}.hero h1 em{font-weight:400;color:#e3d1aa}.hero p{max-width:560px;font-size:1.14rem;line-height:1.8;color:#f1eee7;margin:0 0 36px}.actions{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 23px;border:1px solid var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem;font-weight:700;transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:#e0c797}.btn-outline{color:#fff;border-color:rgba(255,255,255,.8)}.btn-outline:hover{background:#fff;color:var(--ink)}.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-dark:hover{background:#3b453f}.arrow{font-size:1.2rem;line-height:0;font-weight:400}
    .intro{background:var(--white);border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding:88px 0}.intro h2,.section-title,.contact h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.35rem,4vw,4.4rem);line-height:1.13;letter-spacing:-.035em;margin:14px 0 0;text-wrap:balance}.intro-copy{border-left:1px solid var(--gold);padding-left:34px;color:#4d534c;font-size:1.08rem;line-height:1.8}.intro-copy p{margin:0}.intro-copy p+p{margin-top:16px}
    .services{padding:105px 0 112px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading p{max-width:380px;margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{background:var(--white);border:1px solid var(--line);padding:38px 34px 42px;min-height:290px;display:flex;flex-direction:column}.card-number{font-family:var(--serif);font-style:italic;font-size:1.45rem;color:var(--gold-dark)}.card h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.2;margin:30px 0 14px}.card p{margin:0;color:var(--muted);line-height:1.75}.card a{margin-top:auto;padding-top:27px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700;display:inline-flex;align-items:center;gap:12px}.card a:hover{color:var(--gold-dark)}
    .about{background:var(--ink);color:#fff;overflow:hidden}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;min-height:650px}.portrait-panel{position:relative;margin:0;min-height:650px;background:radial-gradient(circle at 52% 40%,#e5dfd3 0,#d6ccba 68%,#cbbfa9 100%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.portrait-panel:before{content:"";position:absolute;inset:32px;border:1px solid rgba(82,70,51,.22)}.portrait-panel img{position:relative;width:min(95%,620px);height:auto;max-height:650px;object-fit:contain;object-position:bottom;display:block}.portrait-panel figcaption{position:absolute;left:46px;bottom:36px;color:#413d34;text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.17em;background:rgba(245,239,228,.86);padding:7px 12px}.about-copy{padding:72px max(24px,calc((100vw - 1320px)/2)) 74px 7vw;display:flex;flex-direction:column;justify-content:center}.about-copy .eyebrow{color:#c8ad79}.about blockquote{font:400 clamp(2.25rem,3.4vw,3.9rem)/1.18 var(--serif);letter-spacing:-.035em;margin:22px 0;max-width:680px}.about-copy>p{color:#d3d4cc;max-width:590px;margin:0;line-height:1.8}.about-sign{margin-top:20px;color:var(--gold);font:italic 1.45rem var(--serif)}.about-copy .rule{width:60px;height:1px;background:var(--gold);margin:37px 0 28px}.about-copy h3{font:400 clamp(1.5rem,2vw,2.1rem)/1.2 var(--serif);margin:0 0 13px}.about-copy .language-note{font-size:.94rem;line-height:1.65;margin-bottom:15px}.about-copy a{color:#e6d0a4;text-decoration:none;border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:5px;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
    .region{background:var(--white);padding:106px 0}.region-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center}.region p{color:var(--muted);line-height:1.8;max-width:440px}.places{display:flex;flex-wrap:wrap;gap:12px}.places span{padding:12px 18px;border:1px solid var(--line);font-family:var(--serif);font-size:1.25rem;background:var(--cream)}
    .contact{background:#ded5c4;padding:94px 0}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:center}.contact h2{max-width:680px}.contact p{max-width:530px;color:#4e514b;margin:22px 0 0}.contact-links{display:grid;gap:12px}.contact-links a{padding:18px 0;border-bottom:1px solid rgba(32,37,34,.25);text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--serif);font-size:1.35rem;overflow-wrap:anywhere}.contact-links a:hover{color:#805f2d}.contact-links span:last-child{font-family:var(--sans);font-size:1.2rem}.contact-links small{display:block;font:700 .68rem var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;color:#5e635b}
    footer{background:var(--ink);color:#d7d8d2;padding:48px 0 28px}footer .footer-main{display:flex;justify-content:space-between;gap:28px;align-items:start;padding-bottom:38px}footer .brand-name strong{color:#fff}footer address{font-style:normal;text-align:right;font-size:.87rem;line-height:1.8}footer .footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:#aeb4aa}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
    :focus-visible{outline:3px solid #e7c77e;outline-offset:4px}
    @media(max-width:900px){.nav{gap:17px}.nav a{font-size:.67rem}.header-inner{min-height:82px}.intro-grid,.region-grid,.contact-grid{gap:40px}.about-copy{padding:60px 28px}.portrait-panel,.about-grid{min-height:570px}.portrait-panel figcaption{left:24px;bottom:24px}}
    @media(max-width:700px){.wrap{width:min(100% - 36px,1320px)}.topbar .wrap{justify-content:center}.topbar .top-note{display:none}.header{position:absolute}.header-inner{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:17px 0;min-height:0}.brand{gap:10px}.mark{width:34px;height:34px;font-size:21px}.brand-name strong{font-size:1.17rem}.brand-name small{font-size:.54rem}.nav{order:3;width:100%;justify-content:space-between;gap:10px;overflow-x:auto;padding-top:7px}.nav a{white-space:nowrap}.language{margin-left:auto}.hero{min-height:680px;background-position:60% center;background-image:linear-gradient(90deg,rgba(13,22,21,.82),rgba(15,22,20,.42)),url('images/douro.png')}.hero-content{padding-top:165px;padding-bottom:70px}.hero h1{font-size:clamp(2.8rem,10vw,4.5rem)}.hero p{font-size:1rem}.intro-grid,.region-grid,.contact-grid,.about-grid{grid-template-columns:1fr}.intro-grid,.services,.region{padding:70px 0}.intro-copy{padding-left:20px}.section-heading{display:block}.section-heading p{margin-top:20px}.cards{grid-template-columns:1fr}.card{min-height:0;padding:27px 26px}.card h3{margin-top:18px}.portrait-panel{min-height:420px}.portrait-panel img{max-height:420px;width:auto;max-width:95%}.portrait-panel figcaption{bottom:15px;left:20px}.about-copy{padding:62px 24px}.contact{padding:70px 0}.contact-links a{font-size:1.15rem}footer .footer-main,footer .footer-bottom{flex-direction:column}footer address{text-align:left}}
    @media(max-width:380px){.nav a{font-size:.59rem}.brand-name strong{font-size:1.04rem}.hero h1{font-size:2.65rem}.btn{width:100%}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
    .catalog-hero{background:#202522;color:#fff;padding:170px 0 64px;position:relative;overflow:hidden}.catalog-hero:after{content:"";position:absolute;right:-8%;top:-40%;width:55%;height:160%;background:radial-gradient(ellipse,rgba(200,173,121,.12),transparent 67%);pointer-events:none}.catalog-hero .wrap{position:relative;z-index:1}.catalog-hero .eyebrow{color:#dbc395}.catalog-hero h1{font:400 clamp(3.3rem,6vw,6rem)/1.06 var(--serif);letter-spacing:-.045em;margin:14px 0}.catalog-hero p{max-width:650px;color:#e4e6df;font-size:1.05rem;margin:0;line-height:1.8}.nav a[aria-current=page]{color:var(--gold)}
    .catalog{padding:72px 0 100px}.catalog-lead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.catalog-lead p{color:var(--muted);margin:0;max-width:610px}.catalog-lead a{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold-dark);white-space:nowrap;padding-bottom:5px}.catalog-lead a:hover{color:var(--gold-dark)}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.property{background:var(--white);border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.property-image{height:250px;background:linear-gradient(135deg,#d8d3c8,#eeeae0);overflow:hidden;position:relative}.property-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.property:hover .property-image img{transform:scale(1.035)}.property-type{position:absolute;top:16px;left:16px;background:rgba(255,253,250,.96);color:var(--ink);padding:7px 11px;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.12em}.property-content{padding:26px 27px 28px;display:flex;flex-direction:column;flex:1}.property-location{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:700;margin:0 0 8px}.property h2{font:400 1.75rem/1.24 var(--serif);letter-spacing:-.02em;margin:0 0 16px;min-height:2.48em}.property-facts{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:17px;color:var(--muted);font-size:.86rem}.property-price{font:400 1.85rem var(--serif);color:var(--ink);margin:17px 0 18px}.property-price small{font:400 .83rem var(--sans);color:var(--muted)}.property .btn{margin-top:auto;align-self:flex-start;min-height:45px;padding:9px 16px;font-size:.71rem}.catalog-note{font-size:.86rem;color:var(--muted);margin:32px 0 0}.catalog-bottom{margin-top:45px;border-top:1px solid var(--line);padding-top:34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.catalog-bottom p{font:400 1.5rem var(--serif);max-width:540px;margin:0}.catalog-bottom .btn{white-space:nowrap}
    @media(max-width:1000px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:700px){.catalog-hero{padding:170px 0 54px}.catalog{padding:54px 0 75px}.catalog-lead,.catalog-bottom{display:block}.catalog-lead a{display:inline-block;margin-top:20px}.property-grid{grid-template-columns:1fr}.property-image{height:240px}.property h2{min-height:0}.catalog-bottom .btn{margin-top:20px;white-space:normal}}
    .mark{border:0;font-size:0;background:#ff2b20 url('images/conceito-real-logo.png') left top/123px auto no-repeat;overflow:hidden}
    @media(max-width:700px){.mark{background-size:100px auto}}
    .wa-float{position:fixed;z-index:50;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:10px;padding:12px 17px;min-height:54px;border-radius:999px;background:#1d6349;color:#fff;text-decoration:none;font-size:.9rem;font-weight:700;letter-spacing:.01em;border:1px solid rgba(255,255,255,.32);box-shadow:0 9px 28px rgba(11,35,26,.27);transition:transform .2s,background .2s}.wa-float:hover{background:#14543c;transform:translateY(-2px)}.wa-float svg{width:25px;height:25px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.property-wa{align-self:flex-start;margin-top:13px;color:#2a664e;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.03em;border-bottom:1px solid rgba(42,102,78,.42);padding-bottom:3px}.property-wa:hover{color:#174732;border-color:currentColor}
    @media(max-width:700px){.wa-float{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));padding:10px 14px;min-height:50px;font-size:.85rem}.wa-float svg{width:23px;height:23px}}
    @media(prefers-reduced-motion:reduce){.wa-float{transition:none}}
    .phrase{font:italic 1.12rem/1.4 var(--serif);color:var(--gold-dark);margin:15px 0 0}.about-copy>.phrase{color:#d8bf8b;margin:14px 0 0}.contact .phrase{color:#745b39;margin:16px 0 0}
    @media(max-width:700px){footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
    @media(max-width:420px){.nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;overflow:visible}.nav a{grid-column:span 2;text-align:center;padding:7px 0}.nav a:nth-child(n+4){grid-column:span 3}}


body:has(.hero) .header{position:relative;background:#261b1e;color:#fff;border-bottom:1px solid #ffffff26}
body:has(.hero) .header-inner{min-height:74px}
.hero{isolation:isolate;display:grid;align-items:end;min-height:0;aspect-ratio:2.22;background:#261b1e;color:#fff}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;z-index:-2}
.hero::after{inset:0;height:auto;z-index:-1;background:linear-gradient(90deg,#201318de 0%,#2013188a 29%,transparent 65%),linear-gradient(0deg,#201318bc,transparent 60%)}
.hero-content{padding-top:clamp(6rem,14vw,13rem);padding-bottom:clamp(2.5rem,5vw,5rem)}
.hero .eyebrow{color:#ffe6ea}
.hero h1{font-size:clamp(2.8rem,5vw,5.1rem);max-width:12ch;line-height:1.01;text-wrap:initial;margin:16px 0}
.hero p{max-width:37ch;color:#fff;margin:0 0 1.5rem}
.hero .btn{background:#ab0b2c;border-color:#ab0b2c;color:#fff}
.hero .btn + .btn{background:#261b1ea6;border-color:#fff;color:#fff}
@media(max-width:900px){
.hero{aspect-ratio:auto}
.hero-photo{height:auto;aspect-ratio:1672/941;object-fit:contain}
.hero::after{background:linear-gradient(180deg,transparent 0,#261b1e 55vw)}
.hero-content{padding-top:46vw;padding-bottom:2.5rem}
.hero h1{font-size:clamp(2.65rem,9vw,4rem)}
}
