:root{--ink:#3e4a50;--muted:#6d7b81;--sand:#f9e8dc;--paper:#fcfbf8;--sea:#6f9fb5;--line:#dfe8eb;--white:#fff;--sea-soft:#eaf3f6;--orange:#e9a477;--orange-soft:#f9e8dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.6}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(252,251,248,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:40px;height:40px;border:1px solid var(--sea);border-radius:50%;display:grid;place-items:center;font-family:"DM Serif Display",serif;font-size:24px;color:var(--sea)}.brand strong{display:block;letter-spacing:.18em;font-size:13px}.brand small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted)}.nav{display:flex;align-items:center;gap:26px}.nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.nav-cta{background:var(--sea);color:white!important;padding:11px 17px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{height:calc(100vh - 78px);min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('imagenes/portada.jpg');background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,27,30,.75),rgba(16,27,30,.18) 70%,rgba(16,27,30,.15))}.hero-content{position:relative;color:white;margin-left:10vw;max-width:680px}.eyebrow,.section-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:700}.hero h1{font-family:"DM Serif Display",serif;font-size:clamp(58px,8vw,105px);line-height:.94;font-weight:400;margin:15px 0 25px}.hero-copy{font-size:18px;max-width:550px}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px}.button{display:inline-block;text-decoration:none;border:0;border-radius:999px;padding:14px 22px;font:600 13px Inter;cursor:pointer}.button-light{background:white;color:var(--ink)}.button-dark{background:var(--sea);color:white}.text-link{color:white;text-decoration:none;font-weight:600;font-size:13px}.hero-card{position:absolute;right:7vw;bottom:55px;background:rgba(255,255,255,.94);padding:20px 24px;min-width:190px}.hero-card span,.hero-card strong{display:block}.hero-card strong{font-size:20px;letter-spacing:5px}.hero-card small{color:var(--muted)}.section{padding:110px 10vw}.section-kicker{color:var(--sea);margin-bottom:10px}.two-col,.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px}.section h2{font:400 clamp(38px,5vw,64px)/1.02 "DM Serif Display",serif;margin:0}.lead{font-size:17px;color:#475357}.arrow-link{color:var(--sea);font-weight:700;text-decoration:none;display:inline-block;margin-top:14px}.alt{background:var(--sand)}.section-head{align-items:end;margin-bottom:50px}.section-head>p{color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);padding:32px;min-height:330px}.card.featured{border-color:var(--orange);box-shadow:0 18px 45px rgba(30,42,45,.08)}.card-number{color:var(--sea);font-weight:700;font-size:12px;letter-spacing:.15em}.card h3,.service h3{font-size:22px;margin:18px 0 10px}.card p{color:var(--muted)}.card ul{padding:0;margin:24px 0 0;list-style:none;color:#455055;font-size:14px}.card li{padding:7px 0;border-top:1px solid #eee}.note,.photo-note{font-size:12px;color:var(--muted);margin-top:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service span{font-size:24px}.service h3{margin:13px 0 4px}.service p{margin:0;color:var(--muted);font-size:14px}.gallery-section{background:var(--sea-soft)}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:250px;gap:12px}.photo{overflow:hidden;display:block}.photo-wide{grid-row:span 2}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.photo:hover img{transform:scale(1.04)}.location{background:var(--sand)}.location-box{display:flex;align-items:center;justify-content:space-between;gap:40px;background:white;padding:55px 60px}.location-box h2{font-size:45px;margin-bottom:10px}.location-box p{margin:5px 0}.muted{color:var(--muted)}.inquiry{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.inquiry-intro p{color:var(--muted);max-width:420px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:white;padding:13px 14px;font:14px Inter;border-radius:4px;color:var(--ink)}.full{grid-column:1/-1}.form-note{grid-column:1/-1;font-size:13px;color:var(--sea);margin:0}.footer{background:var(--ink);color:white;padding:55px 10vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:13px}.footer strong{letter-spacing:.16em}.footer p{margin:4px 0;color:#cbd2d1}.footer>div:first-child p{color:#aab7b5}.footer>div:last-child{text-align:right}@media(max-width:900px){.nav{display:none}.nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu-toggle{display:block}.hero-content{margin:0 7vw}.hero-card{right:7vw}.two-col,.section-head,.inquiry{grid-template-columns:1fr;gap:28px}.cards,.service-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.photo-wide{grid-row:span 1;grid-column:1/-1}.location-box{flex-direction:column;align-items:flex-start;padding:35px}.footer{grid-template-columns:1fr}.footer>div:last-child{text-align:left}}@media(max-width:600px){.section{padding:75px 6vw}.hero{min-height:650px}.hero h1{font-size:62px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-card{bottom:25px;left:6vw;right:auto}.gallery{grid-template-columns:1fr}.photo-wide{grid-column:auto}.form{grid-template-columns:1fr}.full{grid-column:auto}.footer{padding:45px 6vw}}

.contact-link{color:#cbd2d1;text-decoration:none}.contact-link:hover{text-decoration:underline}.social-links{display:flex;gap:8px;justify-content:flex-end;margin:12px 0 10px;flex-wrap:wrap}.social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #526063;border-radius:50%;padding:0;color:white;text-decoration:none}.social svg{width:18px;height:18px;fill:currentColor;display:block}.social:hover{background:#2d3a3d}.social.whatsapp{border-color:#70827f}@media(max-width:900px){.social-links{justify-content:flex-start}}
.equipment-block{margin-top:48px;padding:34px;border:1px solid rgba(20,34,45,.12);border-radius:18px;background:rgba(255,255,255,.72)}
.equipment-block h3{font-family:"DM Serif Display",serif;font-size:28px;margin:8px 0 22px}
.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.equipment-grid span{padding:12px 0;border-bottom:1px solid rgba(20,34,45,.1);font-weight:500}
.policy{padding-top:20px}
.policy-box{max-width:920px;margin:0 auto;padding:42px;border-radius:20px;background:var(--orange-soft);border:1px solid rgba(20,34,45,.1)}
.policy-box h2{font-family:"DM Serif Display",serif;font-size:36px;line-height:1.05;margin:8px 0 18px}
.policy-box p{max-width:760px;font-size:17px;line-height:1.65;margin:8px 0}
@media (max-width:700px){.equipment-grid{grid-template-columns:1fr}.equipment-block{padding:25px}.policy-box{padding:28px 22px}.policy-box h2{font-size:30px}}

/* Ajustes de estructura y jerarquía de contenidos */
.rooms .card{padding:28px;min-height:0}
.rooms .card h3{font-size:24px;margin:12px 0 10px}
.rooms .card p{font-size:14px;min-height:74px}
.rooms .card ul{margin-top:18px;font-size:13px}
.rooms .card li{padding:6px 0}
.rooms .card.featured{border-color:var(--sea)}
.service-grid{grid-template-columns:repeat(4,1fr)}
.service{padding:22px 20px}
.service span{font-size:20px}
.service h3{font-size:17px;margin:9px 0 4px;line-height:1.2}
.service p{font-size:13px;line-height:1.5}
.policy{padding-top:70px}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.service-grid{grid-template-columns:1fr 1fr}.rooms .card p{min-height:0}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}}

/* Ajustes finales de presentación */
.room-card{padding:0 0 26px;overflow:hidden}
.room-photo{height:245px;overflow:hidden;margin-bottom:24px;background:var(--sea-soft)}
.room-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .5s ease}.room-card:hover .room-photo img{transform:scale(1.045);filter:saturate(1.04)}.room-card{transition:box-shadow .35s ease,transform .35s ease}.room-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(30,42,45,.10)}
.room-card .card-number,.room-card h3,.room-card p{margin-left:28px;margin-right:28px}
.room-card h3{margin-top:10px}
.room-card p{min-height:0!important;margin-bottom:0}
.equipment-block{margin-top:34px;padding:28px 32px}
.equipment-block h3{font-size:27px;margin-bottom:18px}
.equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 26px}
.equipment-grid span{font-size:13px;padding:10px 0}
.inquiry{align-items:start}
.policy-inline{grid-column:1/-1;margin-top:20px;padding:26px 30px;background:var(--sand);border:1px solid var(--line);border-radius:14px}
.policy-inline h3{font:400 31px/1.1 "DM Serif Display",serif;margin:5px 0 12px}
.policy-inline p{margin:5px 0;color:#4f595b;font-size:14px;line-height:1.5}
.footer{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:50px}
.footer-brand,.footer-contact,.footer-social{text-align:center!important}
.footer-contact p{margin:5px 0}
.footer-social{display:flex;flex-direction:column;align-items:center}
.footer-social .social-links{justify-content:center;margin:8px 0}
.footer-copy{margin-top:12px!important}
@media(max-width:900px){
  .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer{grid-template-columns:1fr;gap:24px}
  .footer-brand,.footer-contact,.footer-social{text-align:center!important}
}
@media(max-width:600px){
  .equipment-grid{grid-template-columns:1fr}
  .room-photo{height:235px}
}

.button-dark:hover{background:#5f8fa6}.nav-cta:hover{background:#e9a477;color:#3e4a50!important}.social:hover{background:#e9a477;color:#3e4a50}.section-kicker,.card-number{color:var(--sea)}

/* Logo, favicon y accesos de reserva */
.brand-mark{width:40px;height:40px;border:0;border-radius:0;display:grid;place-items:center;overflow:hidden;background:transparent}
.brand-mark img{width:40px;height:40px;object-fit:contain;display:block}
.booking-options{grid-column:1/-1;margin-top:-25px;margin-bottom:10px;padding:28px 32px;background:var(--sea-soft);border:1px solid var(--line);border-radius:16px}
.booking-copy{margin:2px 0 18px;color:var(--muted);font-size:14px}
.booking-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.booking-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:white;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.booking-link:hover{transform:translateY(-2px);border-color:var(--sea);box-shadow:0 8px 20px rgba(30,42,45,.07)}
.booking-link strong{font-size:14px}
.booking-link span{font-size:11px;color:var(--sea);font-weight:700;white-space:nowrap}
.footer-brand{display:flex;flex-direction:column;align-items:center;justify-content:center}
.footer-logo{width:48px;height:48px;object-fit:contain;display:block;margin-bottom:10px}
@media(max-width:900px){.booking-links{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.booking-options{padding:24px 20px}.booking-links{grid-template-columns:1fr}.booking-link{flex-direction:column;align-items:flex-start;gap:4px}}

.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form button:disabled{opacity:.7;cursor:wait}

.form-thanks{margin:.75rem 0 0;text-align:center;font-size:.9rem;color:var(--muted,#66727a);}

/* Iconos del pack visual de Hotel Portovenere */
.service-icon{display:block;width:78px;height:78px;margin-bottom:10px}
.service-icon img{display:block;width:100%;height:100%;object-fit:contain}
