:root{--ink:#16231f;--muted:#5e6f68;--river:#0d4a43;--river-dark:#092f2b;--leaf:#5f7335;--gold:#c89035;--sand:#f5efe1;--paper:#fffdf7;--mist:#eef4ef;--line:rgba(13,74,67,0.18);--shadow:0 22px 60px rgba(13,47,43,0.14);--radius:28px;--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(200,144,53,.12),transparent 34rem),linear-gradient(180deg,#fbf6ea,#f7f0e2 45%,#eef4ef);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{max-width:100%}.container{width:min(1140px,calc(100% - 40px));margin:0 auto}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:var(--river-dark);color:white;border-radius:999px;transition:top .2s ease}.skip-link:focus{top:1rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(13,74,67,.14);background:rgba(255,253,247,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;letter-spacing:-.02em}.brand-mark{display:grid;width:52px;height:52px;place-items:center;overflow:hidden;border:1px solid rgba(13,74,67,.18);border-radius:18px 18px 18px 6px;background:white;box-shadow:0 12px 26px rgba(13,74,67,.18)}.brand-logo{width:100%;height:100%;object-fit:contain}.brand small,.brand strong{display:block}.brand strong{font-size:1rem}.brand small{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.main-nav a{padding:.55rem .75rem;border-radius:999px;color:var(--river-dark);font-size:.92rem;font-weight:700;text-decoration:none}.main-nav a:hover{background:rgba(13,74,67,.09)}.main-nav a:focus-visible{background:rgba(13,74,67,.12)}.hero{position:relative;min-height:720px;display:grid;align-items:end;overflow:hidden;background:var(--river-dark);color:white}.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(9,47,43,.9),rgba(9,47,43,.48) 45%,rgba(9,47,43,.18)),linear-gradient(180deg,rgba(9,47,43,.1),rgba(9,47,43,.78)),url(/images/lomba-hero.jpg);background-position:50%;background-size:cover;transform:scale(1.01)}.hero-content{position:relative;z-index:1;padding:9rem 0 5rem}.hero-copy{max-width:760px}.eyebrow{margin:0 0 .75rem;color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1,.page-hero h1{margin:0;font-family:var(--serif);font-size:clamp(3.2rem,8vw,7.5rem);line-height:.94;letter-spacing:-.075em}.hero p{max-width:650px;margin:1.35rem 0 0;color:rgba(255,255,255,.88);font-size:clamp(1.1rem,2vw,1.35rem)}.action-row,.admin-actions-row,.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;align-items:center}.hero-actions{margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.15rem;border:1px solid transparent;border-radius:999px;cursor:pointer;font:inherit;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:focus-visible,.button:hover{transform:translateY(-1px)}.button-primary{background:var(--gold);color:#211408;box-shadow:0 14px 32px rgba(200,144,53,.28)}.button-secondary{background:rgba(255,255,255,.14);color:white;border-color:rgba(255,255,255,.34)}.button-ghost{color:var(--river-dark);border-color:var(--line);background:rgba(255,255,255,.42)}.hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;margin-top:4rem;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-stat{padding:1.15rem;background:rgba(9,47,43,.28)}.hero-stat span,.hero-stat strong{display:block}.hero-stat strong{font-family:var(--serif);font-size:clamp(1.2rem,2.3vw,2rem)}.hero-stat span{color:rgba(255,255,255,.76);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.section{padding:clamp(4rem,8vw,7rem) 0}.section-alt{background:rgba(255,253,247,.56)}.section-header{max-width:750px;margin-bottom:2.25rem}.admin-shell h1,.contact-card h2,.content-card h2,.prose h2,.section-header h2{margin:0;font-family:var(--serif);font-size:clamp(2.15rem,4vw,4rem);line-height:1;letter-spacing:-.05em}.contact-card p,.content-card p,.section-header p{color:var(--muted)}.card-grid,.contact-grid,.quick-grid,.services-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.1rem;gap:1.1rem}.admin-card,.contact-card,.content-card,.legal-card,.quick-card,.service-card{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,253,247,.82);box-shadow:var(--shadow)}.contact-card,.legal-card,.quick-card,.service-card{padding:1.35rem}.quick-card{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none}.quick-card span,.service-card span{color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.post-card h3,.quick-card h3,.service-card h3{margin:.45rem 0;font-family:var(--serif);font-size:1.55rem;line-height:1.1;letter-spacing:-.04em}.admin-muted,.post-card p,.quick-card p,.service-card p{color:var(--muted)}.content-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);grid-gap:1.25rem;gap:1.25rem;align-items:stretch}.content-card{padding:clamp(1.5rem,4vw,2.6rem)}.photo-panel{position:relative;min-height:360px;padding:1.4rem;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--radius);background:linear-gradient(180deg,rgba(9,47,43,.08),rgba(9,47,43,.82)),linear-gradient(160deg,rgba(13,74,67,.48),rgba(95,115,53,.25)),var(--photo-panel-image),linear-gradient(135deg,rgba(13,74,67,.24),rgba(200,144,53,.2));background-position:50%;background-size:cover;color:white;box-shadow:var(--shadow);overflow:hidden}.photo-panel-douro{--photo-panel-image:url(/images/lomba-douro.jpg)}.photo-panel p{max-width:430px;margin:0;color:rgba(255,255,255,.82)}.photo-panel strong{color:white}.discover-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.15rem;gap:1.15rem}.discover-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 18px 42px rgba(13,47,43,.1);transition:transform .18s ease,box-shadow .18s ease}.discover-card:hover{transform:translateY(-3px);box-shadow:0 24px 52px rgba(13,47,43,.15)}.discover-card-image{min-height:260px;background:linear-gradient(180deg,rgba(9,47,43,.02),rgba(9,47,43,.24)),var(--discover-image),linear-gradient(135deg,rgba(13,74,67,.22),rgba(200,144,53,.22));background-position:50%;background-size:cover}.discover-card div:last-child{padding:1.25rem}.discover-card h3{margin:0 0 .45rem;font-family:var(--serif);font-size:1.55rem;line-height:1.1;letter-spacing:-.04em}.discover-card p{margin:0;color:var(--muted)}.photo-strip{display:grid;grid-template-columns:1.2fr .9fr .9fr;min-height:320px}.photo-strip-item{background:linear-gradient(180deg,rgba(9,47,43,0),rgba(9,47,43,.42)),var(--strip-image),linear-gradient(135deg,rgba(13,74,67,.24),rgba(200,144,53,.22));background-position:50%;background-size:cover}.photo-strip-praia{--strip-image:url(/images/lomba-praia.jpg)}.photo-strip-caminhos{--strip-image:url(/images/lomba-caminhos.jpg)}.photo-strip-patrimonio{--strip-image:url(/images/lomba-patrimonio.jpg)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.2rem;gap:1.2rem}.post-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 18px 42px rgba(13,47,43,.1);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.post-card:hover{transform:translateY(-3px);border-color:rgba(13,74,67,.34);box-shadow:0 24px 52px rgba(13,47,43,.15)}.post-card-image{width:100%;height:220px;object-fit:cover;display:block}.post-card-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,rgba(13,74,67,.11),rgba(200,144,53,.16)),var(--mist)}.post-card-placeholder span{padding:.45rem .75rem;border-radius:999px;background:rgba(255,253,247,.72);color:var(--river);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.post-card-body{padding:1.25rem}.post-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.text-link{position:relative;z-index:2;color:var(--river);font-weight:900;text-decoration-thickness:2px;text-underline-offset:.24em}.stretched-link:after{content:"";position:absolute;inset:0;z-index:1}.stretched-link:focus-visible{outline:none}.stretched-link:focus-visible:after{border-radius:var(--radius);outline:3px solid var(--gold);outline-offset:-5px}.empty-state{padding:2rem;border:1px dashed var(--line);border-radius:var(--radius);background:rgba(255,253,247,.62);color:var(--muted)}.page-hero{padding:clamp(4rem,9vw,7rem) 0 clamp(2.5rem,5vw,4rem);background:linear-gradient(135deg,rgba(13,74,67,.08),transparent),rgba(255,253,247,.48)}.page-header{position:relative;min-height:clamp(360px,46vh,540px);display:grid;align-items:end;overflow:hidden;background:var(--river-dark);color:white}.page-header:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,47,43,.9),rgba(9,47,43,.42) 52%,rgba(9,47,43,.2)),linear-gradient(180deg,rgba(9,47,43,.08),rgba(9,47,43,.74)),var(--page-header-image),linear-gradient(135deg,rgba(13,74,67,.32),rgba(200,144,53,.18));background-position:50%;background-size:cover;transform:scale(1.01)}.page-header-content{position:relative;z-index:1;padding:clamp(5rem,10vw,8rem) 0 clamp(2.5rem,6vw,4.5rem)}.page-header h1{max-width:920px;margin:0;font-family:var(--serif);font-size:clamp(3rem,7vw,6.8rem);line-height:.95;letter-spacing:-.075em}.page-header p:not(.eyebrow){max-width:760px;color:rgba(255,255,255,.9);font-size:clamp(1.05rem,2vw,1.25rem)}.page-hero p{max-width:780px;color:var(--muted);font-size:1.12rem}.prose{max-width:820px}.prose p{color:#30443d}.prose img{width:100%;margin:1.5rem 0;border-radius:var(--radius);box-shadow:var(--shadow)}.post-detail-meta{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-weight:800}.admin-shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:4rem 0 6rem}.admin-card{padding:clamp(1.4rem,3vw,2rem);margin-top:1.4rem}.admin-form{display:grid;grid-gap:1rem;gap:1rem}.admin-form label,.checkbox-label{display:grid;grid-gap:.38rem;gap:.38rem;color:var(--river-dark);font-weight:850}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font:inherit;padding:.85rem 1rem}.admin-form textarea{resize:vertical}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:.85rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin-table th{color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.inline-form{display:inline-flex}.danger-link{border:0;background:none;color:#9f2f26;cursor:pointer;font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:.2em}.notice{padding:.8rem 1rem;border-radius:18px;background:rgba(200,144,53,.14);color:#5c3a08;font-weight:800}.notice-error{background:rgba(159,47,38,.1);color:#81241d}.current-image{display:grid;grid-gap:.75rem;gap:.75rem}.current-image img{width:220px;border-radius:18px}.checkbox-label{display:flex;align-items:center;gap:.55rem;font-weight:700}.checkbox-label input{width:auto}.contact-card a{color:var(--river);font-weight:800}.site-footer{padding:4rem 0;background:#0b2421;color:white}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);grid-gap:2rem;gap:2rem}.site-footer h2,.site-footer h3{margin-top:0;font-family:var(--serif);color:white}.footer-list,.site-footer p{color:rgba(255,255,255,.88)}.site-footer .footer-list a{color:#f7d28a;font-weight:850}.site-footer .footer-list a:focus-visible,.site-footer .footer-list a:hover{color:#ffe6ad}.footer-list{padding:0;margin:0;list-style:none}.footer-list li+li{margin-top:.55rem}.site-footer .eyebrow{color:var(--gold)}@media (max-width:900px){.header-inner{align-items:flex-start;flex-direction:column;padding:1rem 0}.main-nav{justify-content:flex-start}.hero{min-height:760px}.card-grid,.contact-grid,.content-split,.discover-grid,.footer-grid,.hero-stats,.photo-strip,.post-grid,.quick-grid,.services-grid{grid-template-columns:1fr}.photo-strip-item{min-height:220px}.admin-table,.admin-table tbody,.admin-table td,.admin-table tr{display:block;width:100%}.admin-table thead{display:none}.admin-table tr{padding:1rem 0;border-bottom:1px solid var(--line)}.admin-table td{border:0;padding:.35rem 0}}@media (max-width:560px){.admin-shell,.container{width:min(100% - 24px,1140px)}body{font-size:16px}.hero h1,.page-hero h1{font-size:clamp(2.8rem,15vw,4.4rem)}.button{width:100%}}