/*
Theme Name: Newport Luxury
Theme URI: https://newportrhodeislandhotels.com/
Description: A refined child theme for Newport Rhode Island Hotels.
Author: Newport Rhode Island Hotels
Template: twentytwentyfive
Version: 1.4.0
Text Domain: newport-luxury
*/

:root { --nrh-navy:#0b2239; --nrh-ivory:#f7f3eb; --nrh-brass:#a67c3d; --nrh-ink:#17212b; }
html { scroll-behavior:smooth; }
body { background:var(--nrh-ivory); color:var(--nrh-ink); }
a { text-underline-offset:.18em; }
.nrh-site-header { position:absolute; z-index:20; top:32px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.4rem clamp(1.5rem,7vw,7rem); color:#fff; border-bottom:1px solid rgba(255,255,255,.2); }
.nrh-brand { color:#fff; text-decoration:none; font-size:1.15rem; line-height:1.05; }
.nrh-brand small { display:block; margin-top:.38rem; font:500 .58rem/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#e5c996; }
.nrh-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:clamp(.8rem,2vw,1.8rem); }
.nrh-nav a { color:#fff; text-decoration:none; font:600 .72rem/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.nrh-nav a:hover { color:#e5c996; }
.nrh-hero { min-height:78vh; display:flex; align-items:flex-end; padding:clamp(7rem,13vw,11rem) clamp(1.5rem,7vw,7rem); color:#fff; background:linear-gradient(100deg,rgba(4,18,31,.88) 0%,rgba(7,28,46,.58) 48%,rgba(7,28,46,.08) 100%),url('./assets/newport-hero.png') center/cover no-repeat; }
.nrh-hero__inner { max-width:950px; }
.nrh-kicker { margin:0 0 1.25rem; font:600 .78rem/1.2 Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; color:#e1c18b; }
.nrh-hero h1 { margin:0; max-width:900px; font-size:clamp(3.25rem,8vw,7.25rem); line-height:.93; letter-spacing:-.045em; }
.nrh-hero__tagline { margin:1.7rem 0 0; max-width:760px; font-size:clamp(1.1rem,2vw,1.45rem); line-height:1.55; color:#f4efe5; }
.nrh-section { padding:clamp(4.5rem,9vw,8rem) clamp(1.5rem,7vw,7rem); }
.nrh-section--navy { background:var(--nrh-navy); color:#fff; }
.nrh-section__inner { max-width:1180px; margin:0 auto; }
.nrh-section h2 { margin:0 0 1rem; font-size:clamp(2.2rem,5vw,4.5rem); line-height:1.04; letter-spacing:-.035em; }
.nrh-lede { max-width:820px; font-size:clamp(1.05rem,1.6vw,1.28rem); line-height:1.75; color:#53606a; }
.nrh-section--navy .nrh-lede { color:#d8e0e4; }
.nrh-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2.6rem; }
.nrh-card { position:relative; overflow:hidden; min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; border:1px solid rgba(11,34,57,.13); background:#fff; color:#fff; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }
.nrh-card:before { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,transparent 24%,rgba(5,22,36,.82) 100%),var(--nrh-image,none) center/cover no-repeat; transition:transform .5s ease; }
.nrh-card:hover:before { transform:scale(1.035); }
.nrh-card > * { position:relative; z-index:1; }
.nrh-card--harbor { --nrh-image:url('./assets/harbor-hotel.png'); }
.nrh-card--room { --nrh-image:url('./assets/luxury-room.png'); }
.nrh-card--cliff { --nrh-image:url('./assets/cliff-walk.png'); }
.nrh-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(8,30,49,.12); }
.nrh-card span { color:var(--nrh-brass); font:600 .72rem/1 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.nrh-card strong { margin-top:.55rem; font-size:1.65rem; line-height:1.08; color:#fff; }
.nrh-links { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.75rem; margin-top:2.5rem; }
.nrh-links a { padding:1.15rem 1rem; border-top:1px solid rgba(255,255,255,.24); color:#fff; text-decoration:none; }
.nrh-links a:hover { border-color:#d9b879; color:#e8cf9f; }
@media (max-width:900px) { .nrh-grid{grid-template-columns:repeat(2,1fr)} .nrh-links{grid-template-columns:repeat(2,1fr)} }
@media (max-width:760px) { .nrh-site-header{top:32px;align-items:flex-start}.nrh-nav{max-width:220px;gap:.65rem 1rem}.nrh-nav a{font-size:.62rem} }
@media (max-width:560px) { .nrh-site-header{position:absolute;display:block}.nrh-nav{display:none}.nrh-grid,.nrh-links{grid-template-columns:1fr}.nrh-card{min-height:240px}.nrh-hero{min-height:76vh;padding-top:10rem} }
.nrh-footer { padding:4rem clamp(1.5rem,7vw,7rem) 2rem; background:#071a2b; color:#d9e0e4; }
.nrh-footer__inner { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; }
.nrh-footer h2 { margin:0 0 1rem; color:#fff; font-size:1.7rem; }
.nrh-footer h3 { margin:0 0 1rem; color:#e5c996; font:600 .68rem/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.nrh-footer a { display:block; margin:.65rem 0; color:#d9e0e4; text-decoration:none; }
.nrh-footer p { max-width:520px; font-size:.95rem; line-height:1.65; }
.nrh-footer__legal { max-width:1180px; margin:3rem auto 0; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.14); font:500 .68rem/1.5 Arial,sans-serif; color:#9cabb5; }
@media (max-width:700px) { .nrh-footer__inner{grid-template-columns:1fr} }
.nrh-page-header { position:relative; top:auto; background:#071a2b; }
.nrh-page-main { max-width:980px; margin:0 auto; padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem); }
.nrh-page-main > h1 { max-width:850px; margin:0 0 2.5rem; font-size:clamp(3rem,6vw,5.8rem); line-height:.98; letter-spacing:-.045em; color:var(--nrh-navy); }
.nrh-guide { font-size:1.08rem; line-height:1.72; }
.nrh-guide h2 { margin:4.5rem 0 1.2rem; font-size:clamp(2rem,4vw,3.4rem); line-height:1.08; letter-spacing:-.025em; color:var(--nrh-navy); }
.nrh-guide h3 { margin:2.6rem 0 .7rem; font-size:1.55rem; color:var(--nrh-navy); }
.nrh-guide a { color:#1f5975; font-weight:600; }
.nrh-guide__eyebrow { color:var(--nrh-brass); font:700 .72rem/1.2 Arial,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.nrh-guide__intro { max-width:820px; font-size:clamp(1.2rem,2vw,1.45rem); line-height:1.6; }
.nrh-guide__notice,.nrh-guide__disclosure { margin:2.5rem 0; padding:1.5rem 1.7rem; border-left:4px solid var(--nrh-brass); background:#efe7d9; }
.nrh-table-wrap { overflow-x:auto; margin:2rem 0; }
.nrh-compare { width:100%; min-width:760px; border-collapse:collapse; background:#fff; font-family:Arial,sans-serif; font-size:.92rem; }
.nrh-compare th { padding:1rem; background:var(--nrh-navy); color:#fff; text-align:left; }
.nrh-compare td { padding:1rem; border-bottom:1px solid #d9d2c7; vertical-align:top; }
.nrh-guide ul { padding-left:1.3rem; }
.nrh-guide li { margin:.65rem 0; }
@media (max-width:560px) { .nrh-page-header .nrh-nav{display:none}.nrh-page-main{padding-top:3.5rem}.nrh-guide{font-size:1rem} }
