:root { --ink:#18332f; --cream:#f7f3e9; --coral:#f1664c; --mint:#cddfd5; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"Segoe UI",system-ui,sans-serif; }
a { color:inherit; }
.site-header, footer { max-width:1200px; margin:auto; padding:24px 36px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:24px; font-weight:700; letter-spacing:-1px; }
.brand > span:last-child span { color:var(--coral); }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:50% 50% 50% 12%; background:var(--coral); color:white; font-family:Georgia,serif; }
nav { display:flex; align-items:center; gap:30px; } nav a { text-decoration:none; font-weight:600; font-size:14px; }
.nav-cta { border:1px solid var(--ink); border-radius:999px; padding:11px 18px; }
.hero { min-height:680px; max-width:1200px; margin:auto; padding:70px 55px 100px; display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; }
.eyebrow { text-transform:uppercase; letter-spacing:2px; font-size:12px; font-weight:700; color:#517069; }
h1 { font-size:clamp(52px,6.8vw,92px); line-height:.98; letter-spacing:-5px; margin:20px 0 28px; max-width:780px; }
h1 em { color:var(--coral); font-family:Georgia,serif; font-weight:600; }
.lede { font-size:20px; line-height:1.6; max-width:600px; color:#49605b; }
.hero-actions { display:flex; gap:14px; margin:35px 0 24px; }
.button { padding:15px 22px; border-radius:999px; text-decoration:none; font-weight:700; }
.primary { background:var(--ink); color:white; } .primary span { margin-left:14px; } .secondary { border:1px solid #9aaca7; }
.trust-line { font-size:13px; color:#607570; display:flex; gap:9px; } .trust-line span { color:var(--coral); }
.journey-card { background:var(--white); border-radius:180px 180px 24px 24px; overflow:hidden; box-shadow:0 28px 80px rgba(24,51,47,.16); transform:rotate(2deg); }
.card-photo { height:350px; position:relative; background:linear-gradient(150deg,rgba(24,51,47,.02),rgba(24,51,47,.25)), url('hero-lisbon.svg') center/cover; }
.status { position:absolute; right:18px; top:22px; padding:8px 12px; border-radius:99px; background:rgba(255,253,248,.9); font-size:12px; font-weight:700; }
.card-body { padding:24px 30px 28px; }.card-body h2 { margin:4px 0; font-size:30px; }.card-body p { margin:7px 0; color:#61726e; }
.card-kicker { text-transform:uppercase; letter-spacing:1.5px; font-size:10px; font-weight:700; }.card-meta { border-top:1px solid #e2e5df; margin-top:18px; padding-top:15px; display:flex; justify-content:space-between; font-size:13px; font-weight:600; }
.steps { background:var(--white); padding:100px max(36px,calc((100vw - 1100px)/2)); }.steps > h2,.safety h2 { font-size:clamp(38px,5vw,62px); letter-spacing:-3px; margin:12px 0 50px; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; }.step-grid article > span { color:var(--coral); font-weight:700; }.step-grid h3 { font-size:22px; margin:35px 0 12px; }.step-grid p { color:#607570; line-height:1.7; }
.safety { background:var(--mint); padding:90px max(36px,calc((100vw - 1100px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }.safety p:last-child { font-size:18px; line-height:1.8; }
footer { color:#667a75; font-size:13px; }
#blazor-error-ui { display:none; }
@media(max-width:800px){ nav>a:not(.nav-cta){display:none}.site-header{padding:18px 22px}.hero{grid-template-columns:1fr;padding:55px 25px 75px;gap:45px}h1{letter-spacing:-3px}.journey-card{max-width:440px;margin:auto}.step-grid,.safety{grid-template-columns:1fr}.steps,.safety{padding:70px 28px}.safety{gap:20px}.hero-actions{flex-direction:column;align-items:flex-start}.card-photo{height:290px}footer{padding:24px;gap:20px}}
