:root{--navy:#123b4a;--navy2:#0d2b36;--teal:#1f6670;--gold:#d6b77b;--sand:#f5f1e9;--paper:#fbfaf7;--ink:#1c3036;--muted:#718086;--line:#e5e3dc;--white:#fff;--shadow:0 18px 50px #102c3610}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.site-header{height:88px;padding:0 clamp(20px,6vw,92px);display:flex;align-items:center;justify-content:space-between;background:#fbfaf7f5;position:sticky;top:0;z-index:50;border-bottom:1px solid #e9e6df}.brand{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-weight:700;font-size:18px;line-height:1.1}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:2.5px;color:#849194;margin-top:6px}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:24px;font-family:'Playfair Display',serif}.main-nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);font-size:13px;font-weight:600}.main-nav>a:not(.nav-cta){color:#43565b}.main-nav>a:hover,.text-link:hover{color:var(--teal)}.nav-cta{background:var(--navy);color:#fff;padding:13px 18px}.nav-cta span{color:var(--gold);margin-left:8px}.nav-toggle{display:none;background:none;border:0;font-size:26px}.hero{position:relative;min-height:660px;height:min(760px,78vw);max-height:820px;color:#fff;overflow:hidden;background:#1a424e}.hero-photo{position:absolute;inset:0;background:url('../images/hero-coast.svg') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b2937df 0%,#0b2937a6 45%,#0b29374a 100%),linear-gradient(0deg,#0b29376b,transparent 45%)}.hero-content{position:relative;z-index:1;padding:clamp(75px,10vw,145px) 10% 70px;max-width:900px}.eyebrow,.section-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--teal);text-transform:uppercase}.light-eyebrow{color:#e2c891}.hero h1,.closing-cta h2{font:500 clamp(48px,6.7vw,88px)/1.08 'Playfair Display',serif;letter-spacing:-1.8px;margin:24px 0}.hero h1 em,.intro-grid h2 em,.amenities-copy h2 em,.form-panel h1 em{font-weight:500;color:#e4c88f}.hero-content>p{max-width:480px;color:#e4ecec;font-size:16px;line-height:1.9;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:28px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:15px 21px;border:0;font-weight:700;font-size:12px;letter-spacing:.2px;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#142f38}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--teal)}.text-link{font-size:12px;font-weight:700;color:var(--teal);border-bottom:1px solid #9cb8b7;padding-bottom:5px}.light-link{color:#fff;border-color:#c4d0ce}.hero-proof{display:flex;gap:22px;margin-top:70px;font-size:10px;color:#e3e9e8;letter-spacing:.3px;flex-wrap:wrap}.hero-side-note{position:absolute;right:35px;bottom:50px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#e5d3ac}.booking-wrap{position:relative;z-index:4;margin:-35px auto 0;width:min(1120px,90%)}.booking-form{display:grid;grid-template-columns:1.35fr 1fr 1fr .7fr auto;align-items:center;gap:0;background:#fff;box-shadow:var(--shadow);padding:20px 24px}.booking-intro{padding:0 20px 0 0}.booking-intro .eyebrow{font-size:9px;letter-spacing:1.5px}.booking-intro strong{display:block;font:600 17px 'Playfair Display',serif;margin-top:6px}.booking-form label{padding:0 17px;border-left:1px solid var(--line);font-size:10px;color:#6d7c80;font-weight:700}.booking-form input,.booking-form select{display:block;width:100%;border:0;outline:0;background:transparent;color:var(--ink);padding:7px 0 0;font-size:12px;min-width:0}.booking-form .btn{white-space:nowrap;padding:17px}.demo-note{text-align:right;font-size:10px;color:#849194;margin:8px 4px 0}.section{padding:100px clamp(22px,8vw,120px)}.intro-section{padding-top:110px;padding-bottom:85px}.section-kicker{margin-bottom:24px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.intro-grid h2,.section-heading h2,.amenities-copy h2,.listing-page h1{font:500 clamp(38px,4.5vw,58px)/1.15 'Playfair Display',serif;margin:0}.intro-grid h2 em{color:#b89a60}.lead{font-size:16px;line-height:1.9;color:#66777b}.intro-grid .lead{margin:0 0 22px}.rooms-section{background:#f2eee6;padding-top:88px;padding-bottom:100px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin-top:12px}.section-heading>p{max-width:330px;color:#778487;font-size:13px;margin:0 0 7px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{background:#fff;min-width:0}.room-image{height:260px;display:block;position:relative;overflow:hidden;background:#d8e0dc}.room-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.room-image:hover img{transform:scale(1.05)}.image-arrow{position:absolute;right:14px;bottom:14px;background:#fff;width:38px;height:38px;display:grid;place-items:center;font-size:20px}.room-info{padding:23px 23px 21px}.room-meta{display:flex;gap:18px;font-size:10px;color:#77868a}.room-info h3{font:600 24px 'Playfair Display',serif;margin:10px 0 8px}.room-info>p{font-size:12px;color:#788589;min-height:60px;margin:0 0 20px}.room-bottom{border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.room-bottom strong{font-size:20px}.room-bottom small{font-size:10px;font-weight:400;color:#77868a}.room-bottom a{font-size:10px;color:var(--teal);font-weight:700}.amenities-section{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;min-height:610px}.amenities-image{min-height:500px;overflow:hidden}.amenities-image img{width:100%;height:100%;object-fit:cover}.amenities-copy{padding:clamp(50px,7vw,90px) clamp(28px,7vw,90px)}.amenities-copy h2{margin:17px 0 15px;font-size:clamp(38px,4.2vw,56px)}.amenities-copy>p{color:#c3d0d0;font-size:13px;max-width:390px}.amenity-list{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px;margin:34px 0}.amenity-list>div{display:flex;align-items:center;gap:12px}.amenity-list>div>span{color:var(--gold);font-size:25px;width:28px}.amenity-list p{margin:0}.amenity-list strong,.amenity-list small{display:block}.amenity-list strong{font-size:12px}.amenity-list small{font-size:10px;color:#aebfc1;margin-top:4px}.journal-section{padding-top:95px;padding-bottom:100px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.post-card img{width:100%;height:220px;object-fit:cover;background:#d6dfdc}.post-date{display:block;color:#879296;font-size:9px;letter-spacing:1.2px;margin-top:19px;text-transform:uppercase}.post-card h3{font:600 23px/1.3 'Playfair Display',serif;margin:8px 0}.post-card p{color:#768387;font-size:12px;line-height:1.8;min-height:43px}.post-card .text-link{display:inline-block;margin-top:5px}.closing-cta{text-align:center;background:linear-gradient(#123b4ae8,#123b4ae8),url('../images/hero-coast.svg') center/cover;padding:85px 20px 95px;color:#fff}.closing-cta h2{font-size:clamp(40px,5vw,64px);margin:17px 0 30px}.site-footer{background:#0b2833;color:#fff;padding:55px clamp(22px,7vw,100px) 25px;display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:35px}.brand-light{color:#fff}.site-footer p{font-size:11px;line-height:1.9;color:#afc0c2}.site-footer>div>strong{font-size:12px}.site-footer>div>a:not(.brand){display:block;font-size:11px;color:#afc0c2;margin-top:8px}.copyright{grid-column:1/-1;border-top:1px solid #29454d;padding-top:18px;color:#8ca1a5;font-size:10px}.form-page{padding:65px 20px 90px;background:linear-gradient(135deg,#f6f1e7,#fbfaf7);min-height:70vh}.form-panel{max-width:720px;margin:0 auto;background:#fff;padding:clamp(25px,5vw,55px);box-shadow:var(--shadow)}.form-panel h1{font:500 clamp(38px,5vw,55px)/1.12 'Playfair Display',serif;margin:15px 0}.form-panel h1 em{color:#b89a60}.form-panel>p{color:#778589;font-size:13px}.stack-form{display:grid;gap:17px;margin-top:25px}.stack-form label{display:block;font-size:11px;font-weight:700;color:#465a60}.stack-form input,.stack-form select,.stack-form textarea{display:block;width:100%;border:1px solid #dce2df;background:#fff;padding:12px;margin-top:7px;color:var(--ink);border-radius:0;outline-color:#6d9b9c}.stack-form textarea{resize:vertical}.stack-form .btn{width:100%;margin-top:5px}.two-fields,.three-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.three-fields{grid-template-columns:repeat(3,1fr)}.muted{font-size:10px!important;color:#879296!important}.alert{padding:12px 15px;margin:15px 0;font-size:12px}.error{background:#fff0ef;color:#a8322a}.success{background:#eaf8f0;color:#176844}.success-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e1f3e8;color:#22734b;font-size:28px;margin-bottom:22px}.confirmation-code{padding:20px;background:#f4f1ea;margin:24px 0;display:flex;flex-direction:column;gap:5px}.confirmation-code small{font-size:9px;letter-spacing:2px;color:#738185}.confirmation-code strong{font:600 28px 'Playfair Display',serif;color:var(--teal)}.confirmation-code span{font-size:12px}.room-detail{display:grid;grid-template-columns:1.1fr .9fr;min-height:650px}.room-detail-image{min-height:550px;background:#d7e1df}.room-detail-image img{width:100%;height:100%;object-fit:cover}.room-detail-copy{padding:clamp(40px,7vw,100px) clamp(28px,6vw,85px);align-self:center}.room-detail-copy h1{font:500 clamp(38px,4.5vw,58px) 'Playfair Display',serif;margin:12px 0}.detail-facts{display:flex;gap:15px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;margin:25px 0}.room-detail-copy h3{font:600 19px 'Playfair Display',serif}.room-detail-copy>p:not(.lead){font-size:12px;color:#778589}.detail-price{margin:25px 0}.detail-price strong{font-size:28px}.listing-page h1{margin:14px 0}.listing-page>.lead{margin-bottom:40px}.article-page{padding-bottom:80px}.article-cover{width:100%;height:min(48vw,520px);object-fit:cover}.article-page article{max-width:760px;margin:55px auto;padding:0 20px}.article-page h1{font:500 clamp(40px,5vw,60px)/1.15 'Playfair Display',serif;margin:14px 0}.article-body{font-size:15px;line-height:2;color:#4f6267;white-space:normal;margin:30px 0 40px}.admin-login{min-height:75vh;padding:60px 20px;background:#f2eee6}.login-card{background:#fff;max-width:460px;padding:42px;margin:auto;box-shadow:var(--shadow)}.login-card h1{font:500 34px 'Playfair Display',serif;margin:30px 0 5px}.login-card>p{font-size:12px;color:#718086}.admin-page{display:grid;grid-template-columns:245px 1fr;min-height:75vh;background:#f5f7f7}.admin-sidebar{background:#fff;border-right:1px solid var(--line);padding:28px 17px;display:flex;flex-direction:column;gap:7px}.admin-sidebar .brand{font-size:14px;margin:0 8px 30px}.admin-sidebar>a:not(.brand){padding:12px 14px;font-size:12px;color:#64757a}.admin-sidebar>a.side-active{background:#e8f1ef;color:#165d63;font-weight:700}.admin-content{padding:38px clamp(18px,4vw,55px);min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.admin-top h1{font:500 38px 'Playfair Display',serif;margin:8px 0 0}.admin-top p{font-size:12px;color:#7a888b;margin:4px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat-card{background:#fff;border:1px solid #e6e9e7;padding:20px}.stat-card span,.stat-card small{display:block;color:#778589;font-size:10px}.stat-card strong{display:block;font:600 34px 'Playfair Display',serif;margin:10px 0}.admin-table-wrap{background:#fff;border:1px solid #e6e9e7;margin-bottom:22px;min-width:0}.table-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px}.table-heading h2,.edit-form h2{font:600 21px 'Playfair Display',serif;margin:0}.table-heading a,.admin-table-wrap td a{font-size:11px;color:var(--teal);font-weight:700}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th{background:#f8f9f8;color:#718086;font-size:9px;letter-spacing:.7px;text-transform:uppercase}td,th{padding:14px 16px;border-top:1px solid #edf0ee;white-space:nowrap}td strong,td small{display:block}td small{font-size:9px;color:#8a9698;margin-top:4px}.status{display:inline-block;padding:5px 8px;border-radius:2px;background:#eef0f0;color:#536267;font-size:9px}.status-pending{background:#fff2d8;color:#8a5a0a}.status-confirmed,.status-checked_in{background:#e3f5e9;color:#237149}.status-cancelled{background:#fde8e6;color:#a13a32}.inline-status{display:flex;gap:5px}.inline-status select{max-width:110px;border:1px solid var(--line);font-size:10px;padding:5px}.small-btn{background:var(--navy);color:white;border:0;padding:6px 8px;font-size:10px}.admin-footnote{font-size:10px;color:#7e8c8e;line-height:1.8}.edit-form{padding:22px}.edit-form h2{margin-bottom:18px}.check-label{display:flex!important;align-items:center;gap:9px}.check-label input{width:auto!important;margin:0!important}.edit-form .stack-form{max-width:900px}.edit-form .stack-form input,.edit-form .stack-form textarea,.edit-form .stack-form select{font-size:12px}@media(max-width:1000px){.booking-form{grid-template-columns:1fr 1fr 1fr;gap:15px}.booking-intro{grid-column:1/-1}.booking-form label{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.booking-form .btn{grid-column:1/-1}.room-grid{gap:14px}.room-image{height:210px}.room-info{padding:18px}.room-bottom{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-header{height:72px;padding:0 20px}.nav-toggle{display:block;color:var(--navy)}.main-nav{display:none;position:absolute;left:0;right:0;top:71px;background:#fbfaf7;padding:20px;box-shadow:0 15px 25px #0000000b;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a{padding:13px 10px}.nav-cta{text-align:center}.hero{min-height:620px;height:78vh;max-height:760px}.hero-content{padding:100px 25px 55px}.hero h1{font-size:clamp(48px,13vw,70px)}.hero-content>p{font-size:14px}.hero-proof{margin-top:45px;gap:12px}.hero-side-note{right:15px;bottom:20px}.booking-wrap{width:calc(100% - 30px);margin-top:-20px}.booking-form{grid-template-columns:1fr 1fr;padding:18px;gap:14px}.booking-intro{grid-column:1/-1}.booking-form label{padding-top:12px}.booking-form .btn{grid-column:1/-1}.demo-note{text-align:left}.section{padding:70px 22px}.intro-grid{grid-template-columns:1fr;gap:18px}.intro-grid h2{font-size:44px}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.room-grid,.post-grid{grid-template-columns:1fr}.room-image{height:270px}.room-bottom{flex-direction:row;align-items:center}.room-info>p{min-height:0}.amenities-section{grid-template-columns:1fr}.amenities-image{min-height:300px;height:300px}.amenities-copy{padding:45px 25px 55px}.amenity-list{gap:20px 12px}.post-card img{height:250px}.site-footer{grid-template-columns:1fr 1fr;gap:30px 18px;padding:40px 22px 22px}.site-footer>div:first-child{grid-column:1/-1}.copyright{grid-column:1/-1}.room-detail{grid-template-columns:1fr}.room-detail-image{height:350px;min-height:0}.room-detail-copy{padding:40px 25px 55px}.article-cover{height:300px}.article-page article{margin:40px auto}.admin-page{grid-template-columns:1fr}.admin-sidebar{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;padding:10px;gap:4px;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar .brand{width:100%;margin:5px 8px 10px}.admin-sidebar>a:not(.brand){padding:9px;font-size:10px}.admin-content{padding:25px 14px}.admin-top{align-items:flex-start;flex-direction:column}.stats-grid{gap:8px}.stat-card{padding:14px}.stat-card strong{font-size:29px}.admin-table-wrap{margin-left:-2px;margin-right:-2px}.two-fields,.three-fields{grid-template-columns:1fr}.login-card{padding:28px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Expanded hotel pages */
.page-content{padding-top:70px;padding-bottom:90px;min-height:55vh}.page-content h1{font-size:clamp(2.3rem,5vw,4rem);margin:12px 0 20px}.services-grid{margin-top:36px}.service-card{min-height:240px}.service-icon{font-size:42px;padding:28px 28px 0;color:#b59b67}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}.gallery-grid figure{margin:0;background:#fff;border:1px solid #e7e5df}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-grid figcaption{padding:14px 16px;font-weight:600}.faq-list{max-width:850px;margin-top:32px}.faq-list details{border-bottom:1px solid #ddd;padding:20px 0}.faq-list summary{cursor:pointer;font-weight:700;font-size:1.08rem}.faq-list details p{color:#5d6668;line-height:1.75}.legal-copy{max-width:920px}.legal-copy h2{margin-top:30px}.contact-details{margin-top:28px;padding-top:18px;border-top:1px solid #ddd}.consent{display:flex!important;align-items:flex-start;gap:10px;font-size:.9rem}.consent input{margin-top:4px}.footer-extra{display:flex;gap:18px;flex-wrap:wrap;padding:12px 0;font-size:.85rem}.footer-extra a{color:inherit;text-decoration:none}.admin-table-wrap td small{display:block;max-width:420px;white-space:normal;overflow-wrap:anywhere;margin-top:4px;color:#687477}.alert{margin:20px 0;padding:14px 16px;border-radius:8px;background:#f4f2eb;color:#454b4c}.alert.success{background:#e7f5ed;color:#17633b}.alert.error{background:#fff0ee;color:#9b2920}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-extra{gap:12px}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}
