/* Local preview only: reserve a clear toolbar above the project photo. */
#themePick,.theme-pick{display:none!important}
.hero-card{display:none!important}
.achievement-preview{padding:60px 0 28px;background:#f5f6f8;color:#102440}
.achievement-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}
.achievement-title .mono{color:#a47e35}
.achievement-title h2{font-size:clamp(24px,3vw,34px);line-height:1.6;margin:8px 0 0}
.achievement-link{color:#173a72;white-space:nowrap;border-bottom:1px solid #b18a42;padding-bottom:5px}
.achievement-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;background:#fff;border:1px solid #e0e5eb}
.achievement-grid article{padding:30px 24px;border-inline-start:1px solid #e0e5eb}
.achievement-grid article:first-child{border:0}
.achievement-grid .achievement-main{background:#102440;color:white}
.achievement-number{display:block;font-size:clamp(38px,4vw,56px);line-height:1.2;font-weight:700;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.achievement-number>span{color:#c5a365;font-size:.65em;margin-inline-start:5px}
.achievement-grid h3{font-size:17px;margin:18px 0 7px}
.achievement-grid p{font-size:13px;line-height:1.8;opacity:.75;margin:0}
.achievement-preview-note{font-size:12px;color:#756d59;margin:14px 0 0}
.preview-visitor-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:18px 20px;border-top:1px solid #ffffff20;background:#0b1b31;color:#d9e1ec;font-size:13px}
.preview-visitor-footer strong{font-size:16px;color:#fff;direction:ltr}
.preview-visitor-footer small{font-size:11px;opacity:.65}
.visitor-icon{color:#c5a365}
.achievement-preview{padding:0;background:#fff}
.achievement-preview>.wrap{max-width:none;width:100%;padding:0}
.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr));border:0;border-bottom:1px solid #e0e5eb}
.achievement-grid article{padding:18px 14px;text-align:center}
.achievement-number{font-size:36px;text-align:center}
.achievement-grid h3{font-size:14px;margin:5px 0 0}
.achievement-grid article>p{display:none}
.achievement-preview-note{text-align:center;font-size:10px;margin:0;padding:5px 10px}
@media(max-width:800px){.achievement-preview{padding:0}.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.achievement-grid article{padding:14px 6px}.achievement-number{font-size:28px}.achievement-grid h3{font-size:12px;line-height:1.6}}
@media(max-width:420px){.achievement-grid article{padding:12px 4px}.achievement-number{font-size:24px}.achievement-grid h3{font-size:10px}}
.mode-toggle{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--line,#dce1e8);border-radius:20px;padding:8px 12px;background:var(--paper,#fff);color:var(--ink,#102440);font:inherit;font-size:13px;cursor:pointer}
.mode-toggle:focus-visible{outline:3px solid #b18a42;outline-offset:3px}
[data-preset="navy"] .achievement-preview,[data-preset="gold"] .achievement-preview{background:#0b182b;color:#eff3fa}
[data-preset="navy"] .achievement-grid,[data-preset="gold"] .achievement-grid{background:#12243b;border-color:#2b3e57}
[data-preset="navy"] .achievement-grid article,[data-preset="gold"] .achievement-grid article{border-color:#2b3e57}
[data-preset="navy"] .achievement-grid .achievement-main,[data-preset="gold"] .achievement-grid .achievement-main{background:#193759}
[data-preset="navy"] .achievement-link,[data-preset="gold"] .achievement-link{color:#d8b875}
[data-preset="navy"] .achievement-preview-note,[data-preset="gold"] .achievement-preview-note{color:#c1b493}
@media(max-width:800px){.achievement-grid{grid-template-columns:1fr 1fr}.achievement-grid article{border-bottom:1px solid #e0e5eb}.achievement-title{align-items:flex-start;flex-direction:column}.achievement-preview{padding-top:36px}}
@media(max-width:420px){.achievement-grid article{padding:24px 14px}.achievement-grid h3{font-size:15px}.preview-visitor-footer small{width:100%;text-align:center}}
.pj-card .pj-cap em,.pj-card .pj-cap b{display:none!important}
.pj-card .pj-cap{
  inset-inline:auto 12px;bottom:12px;max-width:calc(100% - 24px);
  padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;
}
.pj-card .pj-cap .pj-more{
  display:block;max-height:none;opacity:1;margin:0;
  padding:5px 9px;background:rgba(255,255,255,.93);
  border-radius:2px;font-size:12px;line-height:1.5;font-weight:500;
}
.pj-card:hover .pj-cap,.pj-card:focus-within .pj-cap{transform:none}
.pj-card:hover .pj-cap .pj-more,.pj-card:focus-within .pj-cap .pj-more{max-height:none;margin:0}
.preview-wa{background:#176b4b;color:#fff;border:1px solid #176b4b}
.preview-wa:hover{background:#105139;color:#fff}
#f-region{width:100%;box-sizing:border-box}
.btn:focus-visible,.langs button:focus-visible{outline:3px solid #b18a42;outline-offset:4px}
.pj-card:focus-within{outline:3px solid #b18a42;outline-offset:3px}
@media(max-width:640px){
  .hero h1{overflow-wrap:break-word}
  .preview-wa{white-space:normal;text-align:center}
  .pj-modal .stage-nav{width:44px;height:44px}
}
.pj-modal .pj-modal-in{padding-top:72px}
.pj-modal .pj-close{
  position:absolute;top:14px;inset-inline-end:16px;
  width:44px;height:44px;margin:0;padding:0;
  display:grid;place-items:center;border:1px solid #d6dce5;
  border-radius:50%;background:#fff;color:#102440;
  box-shadow:0 2px 8px #10244018;font-size:0;
  cursor:pointer;z-index:6;
}
.pj-modal .pj-close::before,.pj-modal .pj-close::after{
  content:"";position:absolute;width:18px;height:2px;
  background:currentColor;border-radius:2px;transform:rotate(45deg);
}
.pj-modal .pj-close::after{transform:rotate(-45deg)}
.pj-modal .pj-close:hover{background:#edf2f8}
.pj-modal .pj-close:focus-visible{outline:3px solid #b18a42;outline-offset:3px}
@media(max-width:640px){.pj-modal .pj-modal-in{padding-top:68px}.pj-modal .pj-close{top:12px;inset-inline-end:12px}}

/* Edge-to-edge image viewer; contain preserves the complete photo. */
.pj-modal{padding:0;background:#080e18;backdrop-filter:none}
.pj-modal .pj-modal-in{
  width:100%;height:100dvh;max-height:100dvh;
  padding:0;margin:0;border:0;border-radius:0;
  background:#080e18;overflow:hidden;
}
.pj-modal .feature{height:100%;margin:0;padding:0;border:0;background:transparent}
.pj-modal .stage{width:100%;height:100%;margin:0;border:0;border-radius:0;background:transparent}
.pj-modal .feature .main{
  display:block;width:100%;height:100dvh;max-height:none;
  aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;
  margin:0;background:#080e18;
}
.pj-modal .thumbs,.pj-modal .ft-txt{display:none}
.pj-modal .pj-close{
  position:fixed;top:max(16px,env(safe-area-inset-top));
  inset-inline-end:max(16px,env(safe-area-inset-right));
  border:0;background:rgba(255,255,255,.9);box-shadow:none;
}
.pj-modal .stage-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4}
@media(max-width:640px){
  .pj-modal .pj-modal-in{padding:0}
  .pj-modal .feature .main{height:100dvh;max-height:none;aspect-ratio:auto}
}
/* Compact achievements remain one row on all screens. */
.achievement-preview{padding:0}.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.achievement-grid article{padding:18px 12px}.achievement-grid h3{font-size:14px}@media(max-width:640px){.achievement-grid article{padding:12px 4px}.achievement-number{font-size:25px}.achievement-grid h3{font-size:11px}}


/* Refined compact achievements preview. */
.achievement-preview{position:relative;background:var(--paper,#fff);padding:0;box-shadow:0 7px 22px rgba(16,36,64,.045)}
.achievement-preview>.wrap{width:min(1200px,100%);margin-inline:auto;padding:0 20px}
.achievement-grid{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));border:0;background:transparent;padding:20px 0 18px}
.achievement-grid::before{content:"";position:absolute;top:0;left:35%;right:35%;height:2px;background:linear-gradient(90deg,transparent,#b89554,transparent)}
.achievement-grid article,.achievement-grid article:first-child{position:relative;border:0;padding:2px 14px;text-align:center;background:transparent;color:var(--ink,#102440)}
.achievement-grid article+article::before{content:"";position:absolute;inset-inline-start:0;top:16%;height:68%;width:1px;background:linear-gradient(transparent,#d9dee6,transparent)}
.achievement-grid .achievement-main{background:transparent;color:var(--ink,#102440)}
.achievement-number{font-size:38px;line-height:1.12;font-weight:700;letter-spacing:-1px;text-align:center;color:var(--ink,#102440)}
.achievement-number>span{font-size:.5em;margin-inline-start:4px;color:#b18b47;vertical-align:middle;letter-spacing:0}
.achievement-grid h3{font-size:13px;font-weight:500;line-height:1.5;margin:8px 0 0;color:var(--muted,#667387)}
.achievement-grid .achievement-main .achievement-number{color:#173a72}
.achievement-preview-note{background:var(--paper,#fff);color:#8b8068;font-size:9px;padding:3px 8px;line-height:1.5;opacity:.8}
[data-preset="navy"] .achievement-preview,[data-preset="gold"] .achievement-preview{background:#102238}
[data-preset="navy"] .achievement-grid,[data-preset="gold"] .achievement-grid{background:transparent}
[data-preset="navy"] .achievement-grid .achievement-main,[data-preset="gold"] .achievement-grid .achievement-main{background:transparent}
[data-preset="navy"] .achievement-number,[data-preset="gold"] .achievement-number,[data-preset="navy"] .achievement-grid .achievement-main .achievement-number,[data-preset="gold"] .achievement-grid .achievement-main .achievement-number{color:#f3f5fa}
[data-preset="navy"] .achievement-grid h3,[data-preset="gold"] .achievement-grid h3{color:#bdc8d7}
[data-preset="navy"] .achievement-preview-note,[data-preset="gold"] .achievement-preview-note{background:#102238;color:#c2b493}
[data-preset="navy"] .achievement-grid article+article::before,[data-preset="gold"] .achievement-grid article+article::before{background:linear-gradient(transparent,#415069,transparent)}
@media(max-width:640px){.achievement-preview>.wrap{padding:0 8px}.achievement-grid{padding:18px 0 15px}.achievement-grid article,.achievement-grid article:first-child{padding:0 5px}.achievement-number{font-size:29px}.achievement-grid h3{font-size:10px;margin-top:6px;line-height:1.6}.achievement-preview-note{font-size:8px}}

/* Quiet gallery navigation: compact translucent buttons. */
.pj-card .pj-arr{width:34px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(10,25,45,.56);color:#fff;box-shadow:0 2px 9px rgba(0,0,0,.12);backdrop-filter:blur(6px);transition:background .18s,border-color .18s,opacity .18s}
.pj-card .pj-arr svg{width:17px;height:17px;stroke-width:1.7}
.pj-card .pj-arr.prev{left:10px}
.pj-card .pj-arr.next{right:10px}
.pj-card .pj-arr:hover{background:rgba(10,25,45,.86);border-color:rgba(255,255,255,.65)}
.pj-card .pj-arr:focus-visible{outline:2px solid #c5a365;outline-offset:3px}
@media(max-width:560px){.pj-card .pj-arr{width:28px;height:36px;border-radius:6px}.pj-card .pj-arr svg{width:15px;height:15px}.pj-card .pj-arr.prev{left:6px}.pj-card .pj-arr.next{right:6px}}

/* Appearance choices and quiet page navigation, preview only. */
.appearance-picker{display:flex;align-items:center;gap:8px;color:var(--ink,#102440);white-space:nowrap}
.appearance-label{font-size:11px;opacity:.65}
.appearance-options{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line,#dbe1e8);border-radius:24px;background:rgba(128,145,170,.08)}
.appearance-options button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:18px;padding:6px 10px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer;line-height:1.4}
.appearance-options button[aria-pressed="true"]{background:#173a72;color:#fff;box-shadow:0 2px 6px #1024401f}
.appearance-options button:focus-visible{outline:2px solid #b18b47;outline-offset:2px}
[data-preset="navy"] .appearance-options button[aria-pressed="true"],[data-preset="gold"] .appearance-options button[aria-pressed="true"]{background:#e8edf5;color:#102440}
.page-scroll-nav{position:fixed;right:16px;bottom:100px;z-index:80;display:flex;flex-direction:column;align-items:center;padding:4px;background:rgba(16,36,64,.87);border:1px solid #ffffff38;border-radius:14px;box-shadow:0 4px 16px #10244024;backdrop-filter:blur(8px)}
.page-scroll-nav[hidden]{display:none}
.page-scroll-nav button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:#fff;cursor:pointer}
.page-scroll-nav button:hover{background:#ffffff1f}
.page-scroll-nav button:disabled{opacity:.3;cursor:default}
.page-scroll-nav button:focus-visible{outline:2px solid #c5a365;outline-offset:1px}
.page-scroll-nav>span{width:18px;height:1px;background:#ffffff30;margin:2px 0}
.page-scroll-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.appearance-picker{gap:4px}.appearance-label{display:none}.appearance-options button{font-size:11px;padding:5px 8px}.page-scroll-nav{right:10px;bottom:90px}.page-scroll-nav button{width:30px;height:32px}}

/* One compact appearance control; warm sand light theme. */
.appearance-picker{flex:0 0 auto;margin-inline-start:5px}
.appearance-toggle{display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;border:1px solid #dfd5c3;border-radius:50%;padding:7px;background:#f4ede1;color:#173a72;cursor:pointer;box-shadow:0 1px 3px #1024400a}
.appearance-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.appearance-toggle:hover{background:#e9dfce}
.appearance-toggle:focus-visible{outline:2px solid #b18b47;outline-offset:3px}
html[data-preset="classic"]:not(#_),html[data-preset="sand"]:not(#_){--paper:#faf7f1;--paper-2:#f2ece2;--panel:#fffdf9;--hdr:#faf7f1;--hdr-ink:#173a72;--ink:#152c48;--ink-soft:#6e675d;--line:#e5ddcf}
[data-preset="navy"] .appearance-toggle,[data-preset="gold"] .appearance-toggle{background:#203852;color:#fff;border-color:#ffffff40}
[data-preset="navy"] .appearance-toggle:hover,[data-preset="gold"] .appearance-toggle:hover{background:#2e4a69}
.hdr-class b,.brand .hdr-class b{background:linear-gradient(110deg,#b58a32 0%,#dec16f 30%,#fff4c7 46%,#e3c77a 57%,#bc923f 80%,#ead28b 100%);background-size:230% 100%;color:#392805;box-shadow:inset 0 1px 0 #fff9dc,0 1px 5px #b48e3c30;animation:badgeGlint 7s ease-in-out infinite}
.hdr-class .seal{filter:drop-shadow(0 0 3px #d7b65d55)}
.hdr-class .seal-bg{fill:#d6b257;stroke:#fff0b8;stroke-width:1.2}
.hdr-class .seal-tick{stroke:#fffdf3;filter:drop-shadow(0 0 1px #fff6cc)}
@keyframes badgeGlint{0%,65%,100%{background-position:100% 50%}85%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.hdr-class b,.brand .hdr-class b{animation:none}}
@media(max-width:640px){.appearance-toggle{width:31px;height:31px;padding:6px}.appearance-picker{margin-inline-start:2px}}

[data-k="contact.hours"]{white-space:pre-line;line-height:1.9;display:block}
.pano .go-spot{width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:#fff url('/images/brand/mark.svg') center/42px 42px no-repeat;border:2px solid #b38d4c;opacity:1;filter:none;box-shadow:0 0 0 6px #fff4;animation:tourAttention 2.4s ease-out infinite;overflow:visible}
.pano .go-spot .go-label{position:absolute;top:68px;left:50%;transform:translateX(-50%);display:block!important;visibility:visible!important;opacity:1!important;white-space:nowrap;background:#102440ed;color:#fff;font:600 12px/1.6 var(--f-body);padding:5px 9px;border-radius:8px;pointer-events:none}
.pano .go-spot:focus-visible{outline:3px solid white;outline-offset:6px}
@keyframes tourAttention{0%,100%{box-shadow:0 0 0 4px #b38d4c55}65%{box-shadow:0 0 0 16px #b38d4c00}}
@media(prefers-reduced-motion:reduce){.pano .go-spot{animation:none}}

/* Layout width: content uses most of the window on laptops and large screens instead of a narrow centred strip;
   on very wide screens (and browser zoom-out) type grows too. Section labels sit above the heading, not in a side column. */
@media (min-width:1200px){:root{--max:min(92vw,1680px)}}
@media (min-width:1500px){
  html{font-size:min(22px,calc(16px + (100vw - 1500px) * .006))}
  body{font-size:1rem}
}
.sec-head{grid-template-columns:1fr;gap:12px}
.sec-head>.mono{padding-top:0}
.sec-head p{max-width:75ch}
#tours .tour,#tours .vr-card{max-width:1100px}
.contact-grid{max-width:none}
/* "Track your project": plain text link, no white box */
header .portal-btn{background:none;color:inherit;padding:6px 2px;border:0;box-shadow:none;font-weight:600}
header .portal-btn:hover{opacity:1;color:#d4ae62}
/* Floating WhatsApp logo, bottom-left (the right side holds the assistant and scroll buttons) */
body a.wa-fab:not([hidden]){display:flex!important;position:fixed;left:18px;right:auto;inset-inline:auto;left:18px;bottom:max(18px,env(safe-area-inset-bottom));width:56px;height:56px;padding:0;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.28);justify-content:center;align-items:center;z-index:60}
body a.wa-fab svg{width:30px;height:30px}
body a.wa-fab span{display:none}
body a.wa-fab:hover{transform:translateY(-2px);width:56px;padding:0}
/* on phones the bottom social bar already has WhatsApp */
@media (max-width:760px){body a.wa-fab:not([hidden]){display:none!important}}
/* One accent colour: every filled (formerly white) button and box is gold with navy text */
:root{--gold:#C9A862;--gold-hi:#DDBF7E;--gold-ink:#102440}
html body .btn.primary,html body .hero-full .btn.primary,html body .vr-card .btn.primary,
html body .map-box .map-open,html body a.map-open,
html body #tourTabs button[aria-selected="true"],html body #tourTabs button.on{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--gold-ink)!important}
html body .btn.primary:hover,html body .map-box .map-open:hover,html body a.map-open:hover{background:var(--gold-hi)!important;border-color:var(--gold-hi)!important}
/* custom file picker (assets/file-input.js) */
.file-in .fi-box{position:relative;display:flex;align-items:center;gap:12px;min-width:0}
.file-in .fi-box input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-in .fi-ui{display:flex;align-items:center;gap:12px;min-width:0}
.file-in .fi-ui b{flex:none;background:var(--gold);color:var(--gold-ink);padding:8px 16px;font-weight:600;font-size:.9rem}
.file-in .fi-ui em{font-style:normal;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-in .fi-box:hover .fi-ui b{background:var(--gold-hi)}
.file-in .fi-box:focus-within .fi-ui b{outline:2px solid var(--gold-hi);outline-offset:2px}
/* WhatsApp: gentle pulse so it catches the eye */
body a.wa-fab:not([hidden]){animation:waBob 3.2s ease-in-out infinite}
body a.wa-fab::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:waRing 2.4s ease-out infinite;pointer-events:none}
@keyframes waRing{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}80%,100%{box-shadow:0 0 0 18px rgba(37,211,102,0)}}
@keyframes waBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (prefers-reduced-motion:reduce){body a.wa-fab:not([hidden]),body a.wa-fab::after{animation:none}}
/* Floating WhatsApp removed: WhatsApp is already in the side bar with phone and Instagram */
html body a.wa-fab,html body a.wa-fab:not([hidden]){display:none!important}
/* Side bar: white pill, each icon in its own app colour */
html body .soc-rail{background:#fff}
html body .soc-rail a{color:#fff!important}
html body .soc-rail a[data-soc="instagram"]{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
html body .soc-rail a[data-soc="facebook"]{background:#1877f2}
html body .soc-rail a[data-soc="linkedin"]{background:#0a66c2}
html body .soc-rail a.soc-wa{background:#25d366}
html body .soc-rail a.soc-tel{background:#1a73e8}
html body .soc-rail a:hover{transform:scale(1.08);filter:brightness(1.05)}

#reviews .rv-first{color:var(--ink-soft);font-size:1rem;line-height:1.8}

/* The page arrows stay in the corner on phones too (the mobile menu rule for nav was pushing them off screen) */
nav.page-scroll-nav{top:auto;left:auto;inset-inline:auto;right:16px}
@media(max-width:640px){nav.page-scroll-nav{right:10px}}

/* Contact cards: clear icons in both modes (light: navy circle, white icon; dark: gold circle, navy icon) */
.ci-grid .ci:not(.ci-wa) .ci-ic{background:#173A72;color:#fff;box-shadow:0 0 0 4px rgba(23,58,114,.08)}
html[data-preset="navy"] .ci-grid .ci:not(.ci-wa) .ci-ic,html[data-preset="gold"] .ci-grid .ci:not(.ci-wa) .ci-ic{background:#d4ae62;color:#102440;box-shadow:0 0 0 4px rgba(212,174,98,.16)}
html[data-preset="navy"] .ci-grid .ci-wa .ci-ic,html[data-preset="gold"] .ci-grid .ci-wa .ci-ic{background:#25D366;color:#fff}
.ci-wa .ci-ic{background:#25D366;color:#fff}
