/* Shared visual refresh: public pages, booking forms and service enquiries. */
:root{--site-navy:#193849;--editorial-ink:#193849;--editorial-gold:#a38251;--editorial-paper:#f7f6f2;--editorial-line:#dedfd9}
body{background-color:var(--editorial-paper)}
html:root body .hero .seo-hero-title{font-size:clamp(34px,3.7vw,57px);line-height:1.08;letter-spacing:-.035em;max-width:700px;text-wrap:balance}
html:root body .hero .seo-hero-intro{max-width:620px;line-height:1.65}
html:root body .hero>form.booking-search{--paris-ink:#193849;--paris-gold:#a38251;border-color:#dedfd9!important;box-shadow:0 18px 55px #1938490b,inset 0 1px 0 #fff!important}
html:root body .hero>form.booking-search h2{letter-spacing:-.035em;color:var(--editorial-ink)}
html:root body .site-header .btn,html:root body .header .btn,.svc-book,.svc-primary{background-color:var(--editorial-ink);color:#fff}
.site-language>nav>a:hover,.site-language>nav>a:focus-visible,.site-language>nav>a[aria-current=page]{background:#edf2f2}
html:root body .stay-guide{max-width:1280px;margin:70px auto;padding:0 32px;background:transparent}
html:root body .stay-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
html:root body .stay-guide-topic{position:relative;padding:34px 34px 30px;background:#fff;border:1px solid var(--editorial-line);border-radius:16px;box-shadow:0 10px 30px #19384904}
html:root body .stay-guide-topic:before{content:"";display:block;width:38px;height:3px;background:var(--editorial-gold);margin-bottom:22px}
html:root body .stay-guide-topic h2{margin:0 0 15px;color:var(--editorial-ink);font-size:clamp(21px,2vw,28px);line-height:1.22;letter-spacing:-.025em;text-wrap:balance}
html:root body .stay-guide-topic p{font-size:15px;line-height:1.8;color:#52626b;margin:0;max-width:65ch}
html:root body .stay-guide-links{display:flex;flex-wrap:wrap;gap:12px;padding:24px 0 0;border:0}
html:root body .stay-guide-links a{border:1px solid #cfd7d8;padding:11px 17px;border-radius:999px;background:#fff;color:var(--editorial-ink);font-size:13px;text-decoration:none;transition:background .15s,border-color .15s}
html:root body .stay-guide-links a:hover{background:#edf2f2;border-color:#8ea2ab}
.editorial-comparison{margin-top:24px;border:1px solid var(--editorial-line);border-radius:16px;background:#fff;overflow:hidden}
.editorial-comparison .comparison-heading{font-size:clamp(23px,2.2vw,31px);line-height:1.25;letter-spacing:-.025em;color:var(--editorial-ink);margin:0;padding:28px 30px 20px}
.comparison-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.editorial-comparison table{border-collapse:collapse;width:100%;text-align:left;font-size:14px;line-height:1.6;color:#435964}
.editorial-comparison th,.editorial-comparison td{padding:17px 25px;border-bottom:1px solid #e6e8e3;vertical-align:top}
.editorial-comparison thead th{background:#f2f4f0;color:#53635f;font-size:12px;font-weight:600;letter-spacing:.035em}
.editorial-comparison tbody th{font-weight:600;min-width:180px}
.editorial-comparison td:nth-child(2),.editorial-comparison td:nth-child(3){white-space:nowrap}
.editorial-comparison a{color:var(--editorial-ink);text-underline-offset:4px;text-decoration-color:#b89b74}
.editorial-comparison .comparison-note{font-size:12px;line-height:1.7;color:#69777e;padding:18px 30px;margin:0}
html:root body .room-card{border-radius:16px;overflow:hidden;border-color:#e0e3dd;box-shadow:0 10px 28px #19384905}
html:root body .room-card .room-copy{padding-top:25px}
html:root body .room-description{line-height:1.75}
html:root body .seo-intro{max-width:900px;line-height:1.8;color:#53636d}
html:root body .content-section>h1{letter-spacing:-.035em;line-height:1.12;text-wrap:balance}
.editorial-comparison a:focus-visible,.stay-guide-links a:focus-visible{outline:3px solid #a38251;outline-offset:4px}
@media(max-width:760px){html:root body .stay-guide{margin:42px auto;padding:0 18px}html:root body .stay-guide-grid{grid-template-columns:1fr;gap:16px}html:root body .stay-guide-topic{padding:25px 23px}.editorial-comparison .comparison-heading{padding:24px 22px 16px}.editorial-comparison th,.editorial-comparison td{padding:14px 18px}.editorial-comparison .comparison-note{padding:17px 22px}.editorial-comparison table{min-width:590px}html:root body .hero .seo-hero-title{font-size:clamp(31px,8vw,43px)}}
@media(prefers-reduced-motion:reduce){.stay-guide-links a{transition:none!important}}

/* One compact footer on the main site and standalone service pages. */
html:root body .footer{padding:44px max(24px,calc((100vw - 1220px)/2)) 22px!important;background:#f0f1ed!important;border-top:1px solid #dce2df;color:#193849}
html:root body .footer .footer-top-compact{display:grid!important;grid-template-columns:1fr 1.2fr 1fr!important;gap:36px!important;padding:0 0 28px!important;margin:0!important;border:0!important;align-items:start}
html:root body .footer .footer-brand .logo{display:flex;align-items:flex-start;flex-direction:column;gap:8px;width:max-content;max-width:100%}
html:root body .footer .brand-logo{width:150px!important;height:auto!important}
html:root body .footer .brand-destination{font-size:9px;letter-spacing:.2em}
html:root body .footer .footer-brand p{max-width:250px;margin:18px 0 0;font-size:13px;line-height:1.75;color:#65757d}
html:root body .footer .eyebrow{display:block;margin:0 0 17px;font-size:10px;letter-spacing:.12em;color:#756545}
html:root body .footer .footer-nav-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
html:root body .footer .footer-nav-links a{font-size:12px;line-height:1.6;margin:0;padding:0;display:block;color:#334f5b}
html:root body .footer .footer-contact>a{display:block;font-size:13px;line-height:1.6;margin:0 0 10px;padding:0;overflow-wrap:anywhere}
html:root body .footer .footer-contact .footer-email{font-weight:600;color:#193849}
html:root body .footer .footer-contact p{font-size:12px;line-height:1.7;margin:15px 0 0;color:#65757d}
html:root body .footer .travel-resources{padding:20px 0 12px!important;margin:0!important;border-top:1px solid #d9dfdb!important;background:transparent!important}
html:root body .footer .travel-heading{margin:0 0 10px!important;gap:16px!important}
html:root body .footer .travel-heading .eyebrow{margin:0;font-size:9px}
html:root body .footer .travel-heading-rule{display:none}
html:root body .footer .travel-brands{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 20px!important;margin:0!important;padding:0!important}
html:root body .footer .travel-brand{display:flex!important;align-items:center;justify-content:center;width:132px!important;min-width:0!important;max-width:150px;min-height:52px!important;height:52px!important;padding:10px 6px!important;flex:0 1 132px;border:0!important;border-radius:7px!important;box-shadow:none!important;background:transparent!important;transform:none!important}
html:root body .footer .travel-brand:hover{background:#fff!important}
html:root body .footer .travel-brand-logo{display:block!important;width:auto!important;max-width:115px!important;height:29px!important;max-height:29px!important;object-fit:contain!important;filter:none!important;margin:0!important}
html:root body .footer .travel-note{font-size:10px!important;line-height:1.5;margin:5px 0 0!important;color:#6e7e83}
html:root body .footer .footer-payments{display:flex!important;align-items:center;flex-wrap:wrap;gap:12px!important;margin:14px 0 0!important;padding:12px 0 0!important;border-top:1px solid #dfe4df}
html:root body .footer .footer-payment-label{font-size:10px!important;margin:0!important}
html:root body .footer .footer-payment-icons{display:flex;align-items:center;gap:8px}
html:root body .footer .footer-payment-icon{width:37px!important;height:24px!important;margin:0!important;object-fit:contain}
html:root body .footer .exp-social{display:flex!important;align-items:center;flex-wrap:wrap;justify-content:flex-start!important;gap:16px!important;margin:4px 0 14px!important;padding:0!important;border:0!important;background:transparent!important}
html:root body .footer .exp-social>span{font-size:10px!important}
html:root body .footer .exp-social nav{display:flex;gap:9px}
html:root body .footer .exp-social a{width:28px!important;height:28px!important;min-width:0;min-height:0;padding:5px!important;border:1px solid #d7dfdb!important;border-radius:50%!important}
html:root body .footer .exp-social svg{width:15px!important;height:15px!important}
html:root body .footer .footer-bottom{display:flex!important;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:12px 24px!important;padding:18px 0 0!important;margin:0!important;border-top:1px solid #d9dfdb!important;font-size:10px!important;line-height:1.7}
html:root body .footer .footer-bottom>div{display:flex!important;flex-wrap:wrap;gap:8px 15px!important;margin:0!important}
html:root body .footer .footer-bottom a,html:root body .footer .footer-bottom button{font-size:10px!important;line-height:1.7;margin:0!important;padding:0!important;color:#596e77}
html:root body .footer a:focus-visible,html:root body .footer button:focus-visible{outline:2px solid #a38251;outline-offset:4px}
@media(max-width:980px){html:root body .footer .footer-top-compact{grid-template-columns:1fr 1fr!important;gap:28px!important}.footer .footer-contact{grid-column:1/-1}html:root body .footer .footer-contact>a{display:inline-block;margin-right:24px}.footer .footer-contact p br{display:none}}
@media(max-width:580px){html:root body .footer{padding:32px 20px 90px!important}html:root body .footer .footer-top-compact{grid-template-columns:1fr!important;gap:25px!important}html:root body .footer .footer-brand p{max-width:320px}html:root body .footer .footer-contact>a{display:block;margin-right:0}html:root body .footer .travel-brands{gap:6px 12px!important}html:root body .footer .travel-brand{flex-basis:calc((100% - 24px)/3);width:auto!important;height:45px!important;min-height:45px!important}html:root body .footer .travel-brand-logo{max-width:92px!important;height:25px!important;max-height:25px!important}html:root body .footer .footer-bottom{display:block!important}html:root body .footer .footer-bottom>div{margin-top:10px!important}}

/* Live contrast and duplicate-payment correction. */
html:root body .footer .footer-contact>a{color:#334f5b!important}
html:root body .footer .exp-social a{color:#334f5b!important}
html:root body .footer .travel-brand.booking{background:#0c3b7c!important}
html:root body .footer .travel-resources .footer-payments{display:none!important}
html:root body .footer .payment-brands-compact{padding:12px 0 0!important}
html:root body .footer .payment-brands-compact small{color:#596e77!important}
