
.contact100-main{background:#fff}
.contact100-banner img{object-position:center 52%}
.contact100-command{margin-top:-1px;padding:28px 0;background:#f8f6ef;border-bottom:1px solid #e1ddcf}
.contact100-command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.contact100-command-card{min-height:132px;padding:22px;border:1px solid rgba(62,80,60,.13);background:#fff;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease,box-shadow .25s ease}
.contact100-command-card:hover{transform:translateY(-5px);box-shadow:0 20px 34px rgba(23,32,25,.09)}
.contact100-command-card small{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--sage)}
.contact100-command-card strong{font:700 24px/1.05 'Barlow Condensed',sans-serif;color:var(--ink)}
.contact100-command-card a{color:var(--orange);font:700 14px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.contact100-book{padding:80px 0}
.contact100-book-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:stretch}
.contact100-story{position:relative;overflow:hidden;min-height:620px;border-radius:8px;background:#111;color:#fff}
.contact100-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.85)}
.contact100-story::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,13,9,.95),rgba(8,13,9,.14) 68%)}
.contact100-story-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px}
.contact100-story-copy p{max-width:48ch;color:#e5e9e2}
.contact100-story-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.contact100-story-points span{padding:12px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:12px}
.contact100-form-panel{padding:34px;border:1px solid rgba(62,80,60,.16);background:#fff;box-shadow:0 24px 55px rgba(23,32,25,.08)}
.contact100-form-panel h2{margin-bottom:10px}
.contact100-form-panel>p{color:#5e685f}
.contact100-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.contact100-field{display:grid;gap:7px}
.contact100-field.full{grid-column:1/-1}
.contact100-field label{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--forest)}
.contact100-field input,.contact100-field select,.contact100-field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid #cbd2c9;border-radius:4px;background:#fff;color:var(--ink);outline:none}
.contact100-field textarea{min-height:112px;resize:vertical}
.contact100-field input:focus,.contact100-field select:focus,.contact100-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,111,61,.13)}
.contact100-form .btn{grid-column:1/-1}
.contact100-route{padding:82px 0;background:#111713;color:#fff}
.contact100-route .section-subtitle{color:#c7cec6}
.contact100-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.contact100-route-card{position:relative;min-height:310px;padding:26px;border:1px solid rgba(243,236,219,.15);background:#19221b;overflow:hidden}
.contact100-route-card::before{content:'';position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(255,111,61,.10);transition:transform .35s ease}
.contact100-route-card:hover::before{transform:scale(1.2)}
.contact100-route-card b{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:55px;border:1px solid rgba(243,236,219,.28);border-radius:50%;color:var(--orange);font:800 16px 'Barlow Condensed',sans-serif}
.contact100-route-card h3{font-size:31px}.contact100-route-card p{color:#cbd3ca}.contact100-route-card a{color:var(--cream);font:700 14px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.contact100-map-section{padding:80px 0;background:#f7f5ed}
.contact100-map-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:stretch}
.contact100-map-frame{min-height:520px;border:0;width:100%;height:100%;filter:saturate(.82) contrast(.96)}
.contact100-map-copy{padding:28px;background:#fff;border:1px solid rgba(62,80,60,.15)}
.contact100-map-copy>p{color:#5c675e}
.contact100-location-list{display:grid;gap:12px;margin-top:20px}
.contact100-location{padding:18px;border:1px solid rgba(62,80,60,.12);background:#fbfaf6}
.contact100-location strong{display:block;font:700 22px/1.05 'Barlow Condensed',sans-serif}
.contact100-location span{font-size:12px;color:#697269}
.contact100-location a{display:inline-flex;margin-top:9px;color:var(--orange);font:700 13px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.contact100-prep{padding:78px 0}
.contact100-prep-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.contact100-prep-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact100-prep-item{padding:22px;border:1px solid rgba(62,80,60,.14);background:#fff}
.contact100-prep-item span{color:var(--orange);font:800 13px 'Barlow Condensed',sans-serif}.contact100-prep-item h3{font-size:24px;margin:8px 0}.contact100-prep-item p{font-size:13px;color:#657066;margin:0}
.contact100-faq{padding:76px 0;background:#f8f6ef}
.contact100-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:44px}
.contact100-faq-list details{padding:20px 0;border-bottom:1px solid #d8ddcf}.contact100-faq-list summary{cursor:pointer;list-style:none;font:700 23px/1.15 'Barlow Condensed',sans-serif}.contact100-faq-list summary::-webkit-details-marker{display:none}.contact100-faq-list p{padding-top:12px;color:#606b62}
.contact100-final{padding:66px 0}.contact100-final-box{padding:34px;background:var(--forest);color:#fff;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.contact100-final-box p{margin:0;color:#e7ebe4}
@media(max-width:980px){.contact100-command-grid{grid-template-columns:1fr 1fr}.contact100-book-grid,.contact100-map-grid,.contact100-prep-grid,.contact100-faq-grid,.contact100-final-box{grid-template-columns:1fr}.contact100-route-grid{grid-template-columns:1fr 1fr}.contact100-story{min-height:500px}}
@media(max-width:640px){.contact100-command-grid,.contact100-route-grid,.contact100-prep-list,.contact100-form{grid-template-columns:1fr}.contact100-field.full,.contact100-form .btn{grid-column:auto}.contact100-story{min-height:430px}.contact100-story-points{grid-template-columns:1fr}.contact100-map-frame{min-height:390px}.contact100-form-panel,.contact100-story-copy{padding:24px}}
@media(prefers-reduced-motion:reduce){.contact100-command-card,.contact100-route-card::before{transition:none}}


/* v102 contact page location cards + dark-content visibility */
.contact100-story-copy .section-kicker,.contact100-route .section-kicker{color:var(--cream)!important;background:rgba(243,236,219,.08)!important;border-color:rgba(243,236,219,.2)!important}
.contact100-story-copy h2,.contact100-route h2{color:var(--white)}
.contact100-story-copy p,.contact100-route .section-subtitle{color:#e4e9e2!important}
.contact102-locations{padding:82px 0;background:#f7f5ed}
.contact102-live-panel{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:30px;background:#fff;border:1px solid rgba(62,80,60,.14)}
.contact102-live-panel>div:first-child p{max-width:72ch;color:#5f6a61;margin-bottom:0}
.contact102-live-actions{display:grid;gap:10px;min-width:250px}.contact102-live-actions p{margin:0;font-size:12px;color:#687269}
.contact102-live-map{margin:20px 0 46px;border:1px solid rgba(62,80,60,.14);background:#fff;padding:8px}
.contact102-live-map iframe{display:block;width:100%;height:420px;border:0}
.contact102-area-heading{margin-bottom:30px}
.contact102-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact102-area-card{overflow:hidden;background:#fff;border:1px solid rgba(62,80,60,.14);box-shadow:0 16px 34px rgba(23,32,25,.06)}
.contact102-map-wrap iframe{display:block;width:100%;height:260px;border:0}
.contact102-area-copy{padding:22px}.contact102-area-copy>span{display:inline-block;margin-bottom:8px;color:var(--orange);font:800 11px/1 Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}
.contact102-area-copy h3{font-size:30px;margin-bottom:8px}.contact102-area-copy p{font-size:13px;color:#617064}
.contact102-area-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.contact102-area-actions .btn{min-height:44px;padding:9px 16px;font-size:14px}.contact102-map-link{color:var(--orange);font:700 14px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}
@media(max-width:980px){.contact102-live-panel{grid-template-columns:1fr}.contact102-live-actions{min-width:0}.contact102-area-grid{grid-template-columns:1fr}}
@media(max-width:640px){.contact102-live-map iframe{height:330px}.contact102-map-wrap iframe{height:230px}}


/* v104 premium contact action cards */
.contact104-command{padding:34px 0 44px;background:linear-gradient(180deg,#f7f4ea,#fff)}
.contact104-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.contact104-command-card{position:relative;isolation:isolate;min-height:210px;padding:24px;border:1px solid rgba(62,80,60,.14);background:#fff;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;box-shadow:0 16px 38px rgba(23,32,25,.06);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,border-color .4s ease}
.contact104-command-card:before{content:'';position:absolute;z-index:-1;left:0;right:0;bottom:0;height:5px;background:var(--orange);transform:scaleX(.18);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.contact104-command-card:hover{transform:translateY(-8px);border-color:rgba(255,111,61,.45);box-shadow:0 28px 58px rgba(23,32,25,.12)}
.contact104-command-card:hover:before{transform:scaleX(1)}
.contact104-command-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:24px;border-radius:16px;background:var(--forest);color:#fff;box-shadow:0 14px 28px rgba(62,80,60,.16);transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s ease}
.contact104-command-card:hover .contact104-command-icon{transform:rotate(-5deg) scale(1.08);background:var(--orange)}
.contact104-command-icon svg,.contact104-prep-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact104-command-card small{color:var(--sage);font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
.contact104-command-card strong{display:block;margin:7px 0 18px;font:700 25px/1.05 'Barlow Condensed',sans-serif;color:var(--ink);overflow-wrap:anywhere}
.contact104-command-action{margin-top:auto;color:var(--orange);font:700 14px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.contact104-command-action b{display:inline-block;margin-left:5px;transition:transform .3s ease}.contact104-command-card:hover .contact104-command-action b{transform:translateX(6px)}
.contact104-command-static{cursor:default}
.contact104-prep{padding:84px 0;background:#fff}
.contact104-prep-head{max-width:790px;margin-bottom:34px}.contact104-prep-head>p{max-width:690px;color:#5f6b61}
.contact104-prep-rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(62,80,60,.14);background:#f9f7ef}
.contact104-prep-rail:before{content:'';position:absolute;left:7%;right:7%;top:57px;height:1px;background:rgba(62,80,60,.17)}
.contact104-prep-rail article{position:relative;padding:28px 24px 30px;border-right:1px solid rgba(62,80,60,.12);transition:background .35s ease,transform .35s ease}
.contact104-prep-rail article:last-child{border-right:0}.contact104-prep-rail article:hover{background:#fff;transform:translateY(-5px)}
.contact104-prep-icon{position:relative;z-index:2;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 0 0 8px #f9f7ef;margin-bottom:28px;transition:background .3s ease,transform .3s ease}
.contact104-prep-rail article:hover .contact104-prep-icon{background:var(--orange);transform:scale(1.08)}
.contact104-prep-rail b{display:block;color:var(--orange);font:800 12px/1 Inter,sans-serif;letter-spacing:1px;margin-bottom:8px}.contact104-prep-rail h3{font-size:25px;margin-bottom:9px}.contact104-prep-rail p{margin:0;color:#626d63;font-size:13px}
.contact104-faq .faq-heading p{color:#667064}
@media(max-width:980px){.contact104-command-grid{grid-template-columns:1fr 1fr}.contact104-prep-rail{grid-template-columns:1fr 1fr}.contact104-prep-rail:before{display:none}.contact104-prep-rail article:nth-child(2){border-right:0}.contact104-prep-rail article{border-bottom:1px solid rgba(62,80,60,.12)}}
@media(max-width:640px){.contact104-command-grid,.contact104-prep-rail{grid-template-columns:1fr}.contact104-prep-rail article{border-right:0}.contact104-command-card{min-height:190px}}
@media(prefers-reduced-motion:reduce){.contact104-command-card,.contact104-command-icon,.contact104-command-action b,.contact104-prep-rail article,.contact104-prep-icon{transition:none!important}}


/* v107 clean booking split — left guidance, right form */
.contact107-book{padding:82px 0;background:#fff}
.contact107-book-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:stretch}
.contact107-book-copy{position:relative;overflow:hidden;min-height:620px;padding:46px;border-radius:18px;background-image:linear-gradient(180deg,rgba(7,13,9,.12) 0%,rgba(7,13,9,.38) 42%,rgba(7,13,9,.94) 100%),url('https://images.unsplash.com/photo-1771340012319-0b4fca008b54?auto=format&fit=crop&w=1400&q=84');background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.contact107-book-copy::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,10,.18),rgba(8,14,10,.02));pointer-events:none}
.contact107-book-copy::after{content:'';position:absolute;right:-100px;bottom:-110px;width:280px;height:280px;border:52px solid rgba(255,111,61,.18);border-radius:50%;pointer-events:none}
.contact107-book-copy .section-kicker{position:relative;z-index:1;color:var(--cream);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);align-self:flex-start}
.contact107-book-copy h2{position:relative;z-index:1;color:#fff;margin-top:4px}
.contact107-book-copy>p{position:relative;z-index:1;max-width:55ch;color:#e5ece5;font-size:15px;line-height:1.8}
.contact107-book-points{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.contact107-book-points div{min-height:68px;padding:14px 15px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);display:flex;align-items:center;gap:12px;border-radius:8px}
.contact107-book-points span{color:var(--orange);font:800 12px/1 Inter,sans-serif;letter-spacing:.7px}
.contact107-book-points strong{font:700 16px/1.15 'Barlow Condensed',sans-serif;color:#fff}
.contact107-form-panel{padding:34px;border:1px solid rgba(62,80,60,.15);border-radius:18px;background:#fff;box-shadow:0 24px 55px rgba(23,32,25,.08)}
.contact107-form-panel>p{max-width:62ch;color:#5e695f}
.contact107-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.contact107-field{display:grid;gap:7px;min-width:0}
.contact107-field.full{grid-column:1/-1}
.contact107-field label{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--forest)}
.contact107-field input,.contact107-field select,.contact107-field textarea{width:100%;min-width:0;min-height:52px;padding:13px 14px;border:1px solid #cbd2c9;border-radius:6px;background:#fff;color:var(--ink);outline:none}
.contact107-field textarea{min-height:118px;resize:vertical}
.contact107-field input:focus,.contact107-field select:focus,.contact107-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,111,61,.13)}
.contact107-form>.btn,.contact107-form>.form-status{grid-column:1/-1}
@media(max-width:900px){.contact107-book-grid{grid-template-columns:1fr}.contact107-book-copy{min-height:540px;padding:32px;background-position:center}.contact107-form-panel{padding:32px}}
@media(max-width:600px){.contact107-book{padding:58px 0}.contact107-book-copy{min-height:500px;padding:25px 20px;border-radius:14px;background-position:center}.contact107-form-panel{padding:25px 20px;border-radius:14px}.contact107-book-points,.contact107-form{grid-template-columns:1fr}.contact107-field.full,.contact107-form>.btn,.contact107-form>.form-status{grid-column:auto}}
