:root{--primary:#2D6A7C;--primary-dark:#1F4D5C;--accent:#C97B5C;--accent-dark:#A85F42;--ink:#1F2A2E;--ink-soft:#4A565C;--bg:#F5F1EA;--bg-warm:#EDE6D8;--sand:#E8DDC8;--white:#FFFFFF;--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--container:1320px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none;transition:color .3s var(--ease)}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.1;color:var(--ink)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 48px;background:#f5f1eaf5;backdrop-filter:blur(12px);box-shadow:0 2px 24px #1f2a2e0f;transition:all .4s var(--ease)}.header-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}.logo{font-family:var(--font-display);font-size:22px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500;text-align:center}.nav-primary{display:flex;gap:32px;justify-self:start;flex-wrap:wrap}.nav-primary a{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);position:relative;padding:6px 0}.nav-primary a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .35s var(--ease)}.nav-primary a:hover:after,.nav-primary a.active:after{width:100%}.nav-primary a.active{color:var(--accent)}.nav-utility{display:flex;gap:18px;justify-self:end;align-items:center}.lang-switch{font-size:12px;letter-spacing:.16em;color:var(--ink)}.lang-switch span{opacity:.5}.lang-switch span.active{opacity:1;font-weight:500}.menu-toggle{display:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.page-hero{position:relative;height:62vh;min-height:480px;overflow:hidden;display:flex;align-items:flex-end;color:var(--white);padding:0 48px 80px}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1f2a2e33,#1f2a2e8c 60%,#1f2a2ebf);z-index:1}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.page-hero-inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;width:100%;animation:rise 1.2s var(--ease) both}.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;margin-bottom:24px;opacity:.85}.eyebrow:before{content:"";display:inline-block;width:36px;height:1px;background:var(--accent);vertical-align:middle;margin-right:14px}.page-hero h1{font-size:clamp(56px,9vw,128px);font-weight:300;line-height:.95;margin-bottom:24px}.page-hero h1 em{font-style:italic;color:var(--accent);font-weight:400}.page-hero .lead{font-size:18px;max-width:560px;font-weight:300;opacity:.95}@keyframes rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.quick-strip{background:var(--white);border-bottom:1px solid var(--sand);padding:32px 48px}.quick-strip-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.quick-item{display:flex;align-items:center;gap:16px}.quick-icon{width:44px;height:44px;border-radius:50%;background:var(--bg-warm);display:grid;place-items:center;flex-shrink:0;color:var(--primary)}.quick-icon svg{width:20px;height:20px}.quick-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-weight:500}.quick-value{font-size:15px;font-weight:500;color:var(--ink);font-family:var(--font-display)}.quick-value a:hover{color:var(--accent)}.contact-section{padding:120px 48px}.contact-grid{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;gap:96px;align-items:start}.info-eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--accent);margin-bottom:24px}.info-eyebrow:before{content:"";display:inline-block;width:36px;height:1px;background:var(--accent);vertical-align:middle;margin-right:14px}.info-title{font-size:clamp(40px,5vw,64px);font-weight:300;margin-bottom:28px;letter-spacing:-.02em}.info-title em{font-style:italic;color:var(--primary)}.info-intro{font-size:17px;color:var(--ink-soft);max-width:480px;margin-bottom:56px;font-weight:300;line-height:1.7}.info-list{display:flex;flex-direction:column;gap:36px}.info-block{padding-left:24px;border-left:1px solid var(--sand);position:relative}.info-block:before{content:"";position:absolute;left:-3px;top:8px;width:5px;height:5px;background:var(--accent);border-radius:50%}.info-block-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:10px}.info-block-value{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--ink);line-height:1.4}.info-block-value a{transition:color .3s var(--ease)}.info-block-value a:hover{color:var(--accent)}.info-block-meta{font-size:13px;color:var(--ink-soft);margin-top:6px;letter-spacing:.04em}.hours-pill{display:inline-flex;align-items:center;gap:10px;background:var(--bg-warm);padding:10px 18px;border-radius:100px;margin-top:48px;font-size:13px;letter-spacing:.06em;color:var(--ink)}.hours-pill:before{content:"";width:8px;height:8px;background:#4ea66a;border-radius:50%;box-shadow:0 0 0 4px #4ea66a2e;animation:pulse 2s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.form-wrap{background:var(--white);padding:64px;border:1px solid var(--sand);box-shadow:0 30px 80px -40px #1f2a2e2e}.form-title{font-size:32px;font-weight:400;margin-bottom:12px;letter-spacing:-.01em}.form-sub{font-size:14px;color:var(--ink-soft);margin-bottom:40px;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.field{display:flex;flex-direction:column}.field.full{grid-column:1/-1}.field label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:10px}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--bg);border:1px solid transparent;border-bottom:1px solid var(--sand);padding:14px 16px;transition:all .3s var(--ease);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:var(--white);box-shadow:0 4px 20px -10px #2d6a7c4d}.field textarea{resize:vertical;min-height:140px;font-family:var(--font-body)}.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%231F2A2E' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}.btn-submit{margin-top:28px;background:var(--ink);color:var(--white);padding:18px 36px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;transition:all .35s var(--ease);width:100%;position:relative;overflow:hidden}.btn-submit:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 12px 30px -10px #c97b5c80}.form-note{font-size:12px;color:var(--ink-soft);margin-top:20px;text-align:center;font-style:italic;opacity:.8}.map-section{background:var(--white);padding:0;position:relative}.map-banner{background:var(--primary);color:var(--white);padding:80px 48px;text-align:center}.map-banner-inner{max-width:760px;margin:0 auto}.map-banner .eyebrow{color:var(--accent);opacity:1}.map-banner h2{color:var(--white);font-size:clamp(36px,5vw,56px);font-weight:300;margin-bottom:20px}.map-banner h2 em{font-style:italic;color:var(--accent)}.map-banner p{font-size:16px;opacity:.85;font-weight:300;max-width:540px;margin:0 auto}.map-frame{position:relative;height:560px;overflow:hidden;background:var(--sand)}.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}.map-card{position:absolute;top:50%;left:8%;transform:translateY(-50%);background:var(--white);padding:36px 40px;max-width:340px;box-shadow:0 30px 80px -30px #1f2a2e59;border-top:3px solid var(--accent);z-index:5}.map-card h3{font-size:24px;font-weight:400;margin-bottom:12px}.map-card p{font-size:14px;color:var(--ink-soft);margin-bottom:20px;line-height:1.6}.map-card .map-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--primary);font-weight:500;padding-bottom:6px;border-bottom:1px solid var(--primary);transition:all .3s var(--ease)}.map-card .map-link:hover{color:var(--accent);border-color:var(--accent);gap:14px}.directions{padding:120px 48px;background:var(--bg-warm)}.directions-inner{max-width:var(--container);margin:0 auto}.directions-head{text-align:center;margin-bottom:72px}.directions-head h2{font-size:clamp(36px,5vw,56px);font-weight:300;margin-bottom:18px}.directions-head h2 em{font-style:italic;color:var(--accent)}.directions-head p{font-size:16px;color:var(--ink-soft);max-width:560px;margin:0 auto;font-weight:300}.directions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.direction-card{background:var(--white);padding:48px 40px;border:1px solid var(--sand);transition:all .4s var(--ease)}.direction-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px #1f2a2e33;border-color:var(--accent)}.direction-icon{width:56px;height:56px;border-radius:50%;background:var(--bg);display:grid;place-items:center;margin-bottom:28px;color:var(--primary)}.direction-icon svg{width:26px;height:26px}.direction-card h3{font-size:22px;font-weight:400;margin-bottom:14px}.direction-card p{font-size:14px;color:var(--ink-soft);line-height:1.7;margin-bottom:14px}.direction-card .dist{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500}.cta-strip{padding:100px 48px;background:var(--ink);color:var(--white);text-align:center;position:relative;overflow:hidden}.cta-strip:before{content:"";position:absolute;inset:0;background:url(https://hss-studio.pages.dev/img/hotel-rivijera/hero/2?w=1920&q=70&f=auto) center/cover;opacity:.18}.cta-inner{position:relative;max-width:720px;margin:0 auto}.cta-inner h2{color:var(--white);font-size:clamp(36px,5vw,56px);font-weight:300;margin-bottom:20px}.cta-inner h2 em{font-style:italic;color:var(--accent)}.cta-inner p{font-size:17px;opacity:.85;margin-bottom:40px;font-weight:300}.btn-outline{display:inline-block;border:1px solid var(--white);color:var(--white);padding:18px 44px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;transition:all .35s var(--ease)}.btn-outline:hover{background:var(--white);color:var(--ink)}.site-footer{background:var(--ink);color:var(--white);padding:90px 48px 40px}.footer-inner{max-width:var(--container);margin:0 auto 60px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px}.footer-brand .logo-foot{font-family:var(--font-display);font-size:24px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;display:block}.footer-brand p{font-size:14px;opacity:.6;line-height:1.7;max-width:280px}.footer-col h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:24px}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}.footer-col a{font-size:14px;opacity:.7;transition:all .3s var(--ease)}.footer-col a:hover{opacity:1;color:var(--accent)}.footer-col p{font-size:14px;opacity:.7;line-height:1.7;margin-bottom:8px}.footer-bottom{max-width:var(--container);margin:0 auto;padding-top:32px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-size:12px;opacity:.5;letter-spacing:.06em}@media(max-width:960px){.site-header{padding:14px 20px}.nav-primary{display:none}.menu-toggle{display:block}.header-inner{grid-template-columns:auto 1fr auto}.logo{text-align:left;font-size:18px}.page-hero{padding:0 20px 60px;min-height:420px;height:60vh}.quick-strip{padding:24px 20px}.quick-strip-inner{grid-template-columns:1fr 1fr;gap:20px}.contact-section{padding:72px 20px}.contact-grid{grid-template-columns:1fr;gap:60px}.form-wrap{padding:36px 24px}.form-row{grid-template-columns:1fr}.map-banner{padding:60px 20px}.map-frame{height:420px}.map-card{position:relative;top:auto;left:auto;transform:none;max-width:none;margin:-80px 20px 0;z-index:5}.directions{padding:72px 20px}.directions-grid{grid-template-columns:1fr;gap:20px}.direction-card{padding:36px 28px}.cta-strip{padding:72px 20px}.site-footer{padding:60px 20px 30px}.footer-inner{grid-template-columns:1fr;gap:40px}.footer-bottom{flex-direction:column;gap:10px;text-align:center}}
