:root{--ivory:#f8f6f0;--navy:#14202c;--ink:#23303c;--gold:#826536;--champagne:#e4cda7;--line:#dedbd2;--muted:#59616a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid #a9823e;outline-offset:5px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.16}h1{font-size:clamp(2.6rem,4.6vw,4.7rem);letter-spacing:-.04em;margin-bottom:26px}h1 em{color:var(--gold);font-weight:400}h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.025em;margin-bottom:24px}h3{font-size:1.6rem}p{margin-bottom:24px}img{max-width:100%;display:block}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.topline{padding:8px 48px;background:var(--navy);color:#e5dfd3;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between}header{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:18px 48px;border-bottom:1px solid var(--line);background:#f8f6f0f5;position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:24px;letter-spacing:.1em;white-space:nowrap}.brand img{object-fit:contain}.brand small{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:.15em;color:var(--gold)}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:13px}nav a:hover,.text-link:hover{color:var(--gold)}.nav-book{background:var(--navy);color:white;padding:12px 20px}.nav-dropdown{position:relative;border:0;padding:0;font-size:13px}.nav-dropdown summary{padding:10px 0}.nav-dropdown div{position:absolute;top:40px;left:0;min-width:220px;padding:18px;background:var(--ivory);box-shadow:0 10px 35px #14202c25;display:grid;gap:12px;border:1px solid var(--line)}#menu-toggle{display:none}.hero{padding-block:80px 100px;display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:24px;display:flex;gap:12px;align-items:center}.gold-line{width:25px;height:1px;background:var(--gold);display:inline-block}.lead{font-size:18px;color:var(--muted);max-width:670px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:28px 0}.button{display:inline-block;background:var(--navy);color:#fff;border:1px solid var(--navy);text-decoration:none;padding:15px 23px;font-size:12px;font-weight:600;letter-spacing:.04em;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#2b4054;transform:translateY(-2px)}.outline{background:transparent;color:var(--navy);border-color:#a8aba9}.outline:hover{color:#fff}.text-link{font-size:12px;font-weight:600}.notice{border-left:2px solid var(--gold);background:#eeeae1;padding:18px 22px;margin:26px 0;font-size:12px}.notice strong{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.notice p{margin:4px 0 0}.hero-visual{position:relative;min-width:0}#slideshow{background:#e7e3d9;padding:10px}.slide{margin:0;position:relative}.slide img{width:100%;height:510px;object-fit:cover}.slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:60px 24px 24px;color:white;background:linear-gradient(transparent,#101c29d9);font-family:Georgia,serif;font-size:24px}.slide small{display:block;font:10px Arial,sans-serif;margin-top:8px;letter-spacing:.1em;text-transform:uppercase}.slide-controls{display:flex;align-items:center;justify-content:space-between;padding-top:10px;gap:5px}.slide-controls div{display:flex;gap:4px}.slide-controls button{min-width:38px;min-height:38px;border:0;background:transparent;color:var(--navy);font-size:12px}.slide-controls button[aria-pressed=true]{background:var(--navy);color:white}.visual-note{background:var(--navy);padding:25px 30px;color:white;margin:-5px 0 -25px -25px;position:relative;width:80%;box-shadow:0 18px 35px #14202c18}.visual-note span{font-size:9px;letter-spacing:.15em;color:var(--champagne)}.visual-note p{font-family:Georgia,serif;line-height:1.4;font-size:20px;margin:8px 0 0}.value-bar{padding:25px 48px;background:#eeebe3;display:flex;justify-content:space-around;gap:20px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--gold)}.section{padding-block:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:30px}.card{display:block;border:1px solid var(--line);padding:32px;text-decoration:none;position:relative;transition:background .2s,transform .2s;min-width:0}.card:hover{background:#ede8de;transform:translateY(-4px)}.card p{font-size:14px;color:var(--muted)}.card h3{font-size:25px}.arrow{color:var(--gold);font-size:22px}.navy{background:var(--navy);color:#edece7;padding-block:85px}.navy .eyebrow{color:var(--champagne)}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.navy p{color:#c5ccd0}.champagne{background:var(--champagne);color:var(--navy)}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:26px;padding:24px 0;border-bottom:1px solid #ffffff25}.steps li:first-child{padding-top:0}.steps li>span{color:var(--champagne);font-size:12px}.steps h3{margin-bottom:8px}.steps p{font-size:14px;margin:0}.area-links{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.area-links a{border:1px solid var(--line);padding:12px 20px;text-decoration:none;font-size:13px}.area-links a:hover{border-color:var(--gold)}.page-hero{padding-block:64px 40px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:920px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;padding-top:24px;color:var(--muted)}.breadcrumbs a{font-size:11px}.article-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:80px;padding-block:65px 85px}.article-grid article h2{font-size:30px;margin-top:40px}.article-grid article h2:first-child{margin-top:0}.article-grid article .cards{grid-template-columns:1fr}.booking-aside{align-self:start;background:#eeebe3;padding:32px;position:sticky;top:120px}.booking-aside h2{font-size:30px}.booking-aside .actions{display:grid}.booking-aside .button{width:100%}.small{font-size:12px;color:var(--muted)}.prose{max-width:850px}.prose h2{font-size:30px;margin-top:40px}.prose h2:first-child{margin-top:0}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:600}details p{margin:15px 0 0;font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-grid figure{margin:0}.image-button{border:0;padding:0;width:100%;background:#e8e4da;display:block;overflow:hidden}.image-button img{height:250px;width:100%;object-fit:cover;transition:transform .3s}.image-button:hover img{transform:scale(1.03)}figcaption{font-size:12px;color:var(--muted);padding-top:12px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters button{padding:12px 22px;border:1px solid var(--line);background:transparent}.filters [aria-pressed=true]{background:var(--navy);color:white}.area-group{margin-top:50px}.area-group h2{font-size:30px}.directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.directory>div{border-bottom:1px solid var(--line);padding:15px 0}.directory a{font-size:14px}.directory small{display:block;font-size:10px;color:var(--muted)}label{display:block;font-size:13px;font-weight:600;margin-bottom:22px}input,select,textarea{display:block;width:100%;max-width:100%;padding:13px;border:1px solid #aaa99f;background:#fffdf8;color:var(--navy);margin-top:7px;border-radius:0}textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.contact-number{display:block;font:28px Georgia,serif;margin-bottom:24px}.booking-aside>a{margin-bottom:20px;overflow-wrap:anywhere}.booking-aside>a:not(.button){display:block}footer{background:#eae7df;border-top:1px solid var(--line);padding-block:60px 110px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px}.footer-brand{font:30px Georgia,serif;text-decoration:none;letter-spacing:.08em}.footer-brand span{display:block;font:italic 18px Georgia,serif;letter-spacing:0;margin:12px 0 22px}footer p{font-size:13px;max-width:390px}footer h2{font:11px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}footer .footer-grid>div:not(:first-child) a{display:block;font-size:13px;margin:8px 0;overflow-wrap:anywhere}.footnote{display:flex;justify-content:space-between;gap:24px;font-size:10px;border-top:1px solid #ccc8bf;padding-top:24px;margin-top:35px}.floating{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:35;display:flex;gap:8px;align-items:center}.floating>button{background:var(--ivory);border:1px solid var(--line);padding:12px;font-size:12px;min-height:48px}.whatsapp{background:var(--navy);color:white;border:1px solid var(--champagne);padding:14px 22px;text-decoration:none;font-size:13px;box-shadow:0 8px 30px #14202c30}.whatsapp span{color:var(--champagne);margin-right:5px}.heartbeat{animation:heartbeat 5s infinite}@keyframes heartbeat{0%,70%,100%{box-shadow:0 0 0 0 #82653600}76%{box-shadow:0 0 0 7px #82653625}82%{box-shadow:0 0 0 0 #82653600}88%{box-shadow:0 0 0 5px #82653620}}dialog{background:var(--ivory);color:var(--navy);border:1px solid var(--line);padding:50px;max-width:560px;width:calc(100% - 40px);max-height:85dvh;overflow:auto;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#0b1528a8;backdrop-filter:blur(4px)}dialog .button{display:block;margin:10px 0}.close{position:absolute;right:12px;top:8px;min-width:44px;min-height:44px;background:transparent;border:0;font-size:28px}#lightbox{max-width:1000px;text-align:center;padding:50px 30px 30px}#lightbox img{max-height:60dvh;margin:auto;object-fit:contain}#lightbox>button:not(.close){padding:12px 20px;background:var(--navy);color:white;border:0;margin:8px}#engagement{position:fixed;bottom:95px;right:24px;background:var(--ivory);box-shadow:0 10px 40px #14202c30;border:1px solid var(--line);padding:25px 35px 22px 22px;z-index:34;max-width:340px;font-size:13px}#engagement button:not(#dismiss-prompt){display:block;background:transparent;border:0;padding:10px 0 0;text-align:left;color:var(--gold);font-size:12px}#dismiss-prompt{position:absolute;right:5px;top:4px;background:transparent;border:0;font-size:22px;min-width:30px;min-height:30px}.mobile-contact{display:none}.skip{position:fixed;left:15px;top:-100px;background:var(--navy);color:white;padding:15px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1500px){header{padding-inline:max(48px,calc((100vw - 1280px)/2))}}@media(max-width:1150px){header{padding-inline:25px;gap:16px}nav{gap:14px}.wrap{width:calc(100% - 60px)}.hero{gap:35px}.hero h1{font-size:52px}.slide img{height:490px}.brand small{display:none}.article-grid{gap:35px}.directory{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){#menu-toggle{display:block;padding:10px 16px;background:transparent;border:1px solid var(--line)}header{min-height:80px;flex-wrap:wrap}#navigation{display:none;width:100%;align-items:stretch;gap:0;padding:10px 0 15px}#navigation.open{display:grid}#navigation>a{padding:12px}.nav-dropdown{padding:0 12px}.nav-dropdown div{position:static;box-shadow:none}.hero{padding-block:45px 70px;gap:35px;grid-template-columns:1fr 1fr}.hero h1{font-size:42px}.hero .lead{font-size:16px}.slide img{height:440px}.hero .actions{display:grid}.visual-note{margin-left:-15px;width:95%;padding:22px}.cards{gap:15px}.card{padding:23px}.split{gap:45px}.article-grid{grid-template-columns:1fr}.booking-aside{position:static}.gallery-grid{gap:14px}.gallery-grid img{height:200px}.footer-grid{gap:25px}.directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.wrap{width:calc(100% - 40px)}.topline{padding:8px 20px;font-size:9px}.topline span{display:none}header{padding:14px 20px}.brand{font-size:23px}.hero{grid-template-columns:1fr;padding-top:40px;gap:30px}.hero h1{font-size:45px}.hero .actions{display:flex}.hero .button{flex:1;padding:14px 15px;min-width:130px}.hero .text-link{width:100%}.slide img{height:360px}.visual-note{width:86%;margin-left:0}.value-bar{padding:22px 20px;gap:12px;font-size:8px;align-items:center}.section{padding-block:55px}.section-heading{display:block}.cards{grid-template-columns:1fr}.card{padding:28px}.split{grid-template-columns:1fr;gap:35px}.navy{padding-block:55px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:280px}.page-hero{padding-top:40px}.page-hero h1{font-size:42px}.article-grid{padding-block:45px;gap:35px}.directory{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid{grid-template-columns:1fr}.booking-aside{padding:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footnote{display:block}.footnote>a{display:block;margin-top:15px}.floating{bottom:calc(78px + env(safe-area-inset-bottom));right:16px}.floating>button{padding:8px 12px;min-height:42px}.whatsapp{padding:10px 15px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:flex;gap:8px;background:var(--ivory);border-top:1px solid var(--line);z-index:35}.mobile-contact a{flex:1;text-align:center;padding:10px 4px;background:var(--navy);color:white;text-decoration:none;font-size:12px}.mobile-contact a:last-child{background:var(--champagne);color:var(--navy)}body.form-active .floating{display:none}#engagement{bottom:140px;right:16px;left:16px;max-width:none}dialog{padding:48px 25px 25px}dialog h2{font-size:30px}footer{padding-bottom:150px}}
.brand img{width:190px;height:57px}.brand>span{display:none}
.hero>*,.split>*,.article-grid>*,.footer-grid>*{min-width:0}.hero,.split{grid-template-columns:repeat(2,minmax(0,1fr))}
#slideshow{touch-action:pan-y}.slide:not([hidden]) img{animation:reveal .6s ease-out}@keyframes reveal{from{opacity:.25}to{opacity:1}}
@media(max-width:620px){.hero,.split{grid-template-columns:minmax(0,1fr)}header{gap:12px}.brand img{width:180px}.hero h1{font-size:42px}.slide-controls{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep controls usable on small phones, landscape screens and enlarged text. */
.service-photo{width:100%;height:190px;object-fit:cover;object-position:50% 75%;margin-bottom:24px}
.photo-carousel{border:1px solid var(--line);background:#eeeae1;touch-action:pan-y}
.photo-stage figure{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);margin:0;min-height:440px}
.photo-enlarge{border:0;padding:0;position:relative;background:var(--navy);width:100%;height:440px;overflow:hidden}
.photo-enlarge img{width:100%;height:100%;object-fit:contain}
.photo-enlarge>span{position:absolute;bottom:16px;right:16px;background:var(--ivory);color:var(--navy);padding:8px 14px;font-size:12px}
.photo-stage figcaption{padding:48px 36px;align-self:center}.photo-stage h3{font-size:32px;color:var(--navy)}.photo-stage p{margin:0;font-size:14px}
.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--line)}
.photo-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.photo-toolbar button{border:1px solid var(--line);background:var(--ivory);padding:10px 16px;color:var(--navy)}
.photo-toolbar>span{font-size:13px;white-space:nowrap}.photo-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 16px 16px}
.photo-thumbs button{background:var(--ivory);border:2px solid transparent;padding:5px;text-align:left;color:var(--navy);min-width:0}
.photo-thumbs button[aria-pressed=true]{border-color:var(--gold)}.photo-thumbs img{width:100%;height:85px;object-fit:cover;object-position:50% 75%}
.photo-thumbs span{display:block;padding:8px 4px;font-size:11px}.home-gallery>p.small{margin-top:16px}.gallery-grid .image-button img{object-position:50% 75%}
@media(max-width:620px){.photo-stage figure{grid-template-columns:minmax(0,1fr);min-height:0}.photo-enlarge{height:320px}.photo-stage figcaption{padding:24px}.photo-stage h3{font-size:26px;margin-bottom:14px}.photo-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-toolbar{align-items:flex-start}.photo-toolbar button{padding-inline:12px}.service-photo{height:210px}}
body{overflow-wrap:break-word}input,select,textarea{font-size:16px}
button,.button,.filters button,.slide-controls button{min-height:44px;min-width:44px}
nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.nav-dropdown div{max-width:calc(100vw - 40px)}
@media(max-width:900px){
 #navigation.open{max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}
 #navigation a,.nav-dropdown summary{min-height:44px;display:flex;align-items:center}
 html{scroll-padding-top:100px}
}
@media(max-width:360px){
 header{padding-inline:16px;gap:8px}.brand img{width:155px;height:auto}
 .wrap{width:calc(100% - 32px)}.hero h1,.page-hero h1{font-size:clamp(2rem,11vw,2.6rem)}
 .directory{grid-template-columns:minmax(0,1fr)}.slide img{height:300px}
 .floating{gap:5px;right:12px}.whatsapp{padding-inline:12px}
}
@media(max-width:620px){body.form-active .mobile-contact{display:none}}
@media(max-height:500px) and (max-width:900px){
 .floating,#engagement{display:none}dialog{max-height:calc(100dvh - 20px);margin-block:10px}
}
