@font-face{font-family:'Contact Saans';src:url('/assets/contact/saans.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Contact Inter';src:url('/assets/contact/inter-display-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
.contact-page .site-header{background:#fff;color:var(--ink);border-bottom:0}
.contact-page .site-header:not(.is-scrolled):not(:has(#navigation.open)){background:transparent;color:#fff;box-shadow:none}
.contact-page .site-header:not(.is-scrolled):not(:has(#navigation.open)) .menu-toggle{color:#fff}
.contact-page #navigation>.button{text-decoration:none}
@media(min-width:951px){
 .contact-page .site-header:not(.is-scrolled) #navigation>.button-dark{background:var(--paper);border-color:var(--paper);color:var(--ink)}
 .contact-page .site-header:not(.is-scrolled) #navigation>.button-dark:hover{background:#eadfc6;border-color:#eadfc6}
}
.contact-page .site-header :is(.nav-panel,.services-mega){color:var(--ink)}
.contact-page .viewport-progressive-blur{display:none}
.contact-page .whatsapp-float{display:none}
.contact-stage{color:#fff;background:#081f3b url('/assets/optimized/finnvisor-contours-v1-3027ab84beb4.webp') center center/cover no-repeat;padding:34px 20px 220px;min-height:1000px}
.contact-layout,.contact-direct{max-width:1400px;margin:0 auto}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 20px;align-items:stretch}
.contact-intro{grid-column:1;grid-row:1;padding-bottom:48px}
.contact-intro .contact-kicker{position:relative;display:inline-flex;align-items:center;padding:9px 17px;background:linear-gradient(135deg,#ffffff20 0%,#ffffff08 48%,#ffffff16 100%);border:1px solid #ffffff4a;border-radius:50px;box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 2px #ffffff18,0 3px 14px #00000010;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);font-size:14px;line-height:1.3;letter-spacing:-.2px;font-weight:400;text-transform:none;color:#f4f6ee}
.contact-intro .contact-kicker::after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;border-top:1px solid #ffffff38;background:linear-gradient(180deg,#ffffff12,transparent 55%)}
.contact-intro h1{font-family:'Contact Saans',var(--display);font-size:51.2px!important;line-height:1.05;letter-spacing:-.02em;margin:10px 0;color:#fff}
.contact-intro>p{font-family:'Contact Inter',var(--sans);font-weight:600;font-size:18px;line-height:1.4;max-width:690px;margin:0}
.contact-story{grid-column:1;grid-row:2;align-self:end;border:1px solid #ffffff15;background:#ffffff0a;border-radius:16px;padding:20px;min-height:272px;display:flex;flex-direction:column;justify-content:space-between;gap:25px;backdrop-filter:blur(8px)}
.contact-story-copy blockquote{font-size:18px;line-height:1.4;font-family:'Contact Inter',var(--sans);font-weight:600;margin:0 0 26px}
.contact-testimonial-author{display:flex;flex-direction:column;gap:4px}
.contact-testimonial-author strong{font-size:14px;line-height:1.3;font-weight:600}
.contact-testimonial-author>span{font-size:14px;line-height:1.3;color:#cad6d5}
.contact-testimonial-label{display:block;margin-top:12px;color:#c5cecb;font-size:10px;line-height:1.4;letter-spacing:.6px;text-transform:uppercase}
.contact-story-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.contact-story-dots{display:flex;gap:6px;align-items:center}
.contact-story-dots button{position:relative;width:8px;height:8px;border:0;border-radius:8px;background:#ffffff40;padding:0;cursor:pointer;transition:width .2s,background .2s}
.contact-story-dots button:before{content:'';position:absolute;inset:-15px -2px}
.contact-story-dots button[aria-pressed=true]{width:20px;background:#fff}
.contact-story-controls{display:flex;gap:10px;margin-left:auto}
.contact-story-controls button{position:relative;display:grid;place-items:center;min-width:64px;min-height:44px;padding:8px 12px;font:500 12px var(--sans);color:#f4f6ee;background:linear-gradient(135deg,#ffffff20 0%,#ffffff08 48%,#ffffff16 100%);border:1px solid #ffffff4a;border-radius:8px;box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 2px #ffffff18,0 3px 14px #00000010;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.contact-story-controls button::after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;border-top:1px solid #ffffff38;background:linear-gradient(180deg,#ffffff12,transparent 55%)}
.contact-story-controls button:hover{background:linear-gradient(135deg,#ffffff30 0%,#ffffff16 48%,#ffffff26 100%);border-color:#ffffff80;box-shadow:inset 0 1px 0 #ffffff50,inset 0 -1px 2px #ffffff20,0 3px 14px #00000018}
.contact-story-controls button:focus-visible{outline:2px solid #eadfc6;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.contact-story-controls button{transition:none}}
.contact-booking{grid-column:2;grid-row:1/3;background:#ffffff05;border:1px solid #ffffff15;border-radius:16px;padding:19px;align-self:stretch}
.contact-calendar{color:#17191c;background:white;border-radius:8px;min-height:482px;padding:20px;overflow:hidden}
.contact-calendar-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}
.contact-calendar-heading p{font-size:18px;line-height:1.4;margin:0}
.contact-calendar-heading p span{color:#60656e}
.contact-calendar-heading>div{display:flex;gap:12px;margin-left:auto}
.contact-calendar-heading button,.contact-form-heading button{display:grid;place-items:center;flex:none;min-width:56px;min-height:44px;padding:8px;font:500 12px var(--sans);border:0;background:none;color:var(--ink);cursor:pointer;border-radius:5px}
.contact-calendar-heading button:disabled{opacity:.2;cursor:default}
.contact-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #f0f1f2;padding:14px 0;font-size:12px;letter-spacing:1px;text-transform:uppercase;text-align:center}
.contact-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px}
.contact-days button{position:relative;aspect-ratio:1;min-width:0;min-height:44px;border:1px solid transparent;border-radius:8px;background:var(--button-wash);color:var(--ink);font:500 14px var(--sans);cursor:pointer;transition:background .15s,border-color .15s}
.contact-days button:disabled{background:none;color:#70757d;cursor:default;font-weight:400}
.contact-days button:not(:disabled):hover{background:var(--button-surface);border-color:var(--ink);color:var(--button-text)}
.contact-days button[aria-current=date]:after{content:'';position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
.contact-calendar-note{font-size:12px;line-height:1.5;text-align:center;color:#687079;margin:20px 0 0}
.contact-direct{padding-top:80px}
.contact-direct>p{text-align:center;font-size:16px;line-height:1.5;color:#e3e4ef;margin-bottom:24px}
.contact-direct-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #ffffff10}
.contact-direct-grid>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 12px;border-right:1px solid #ffffff10;transition:background .2s}
.contact-direct-grid>a:last-child{border-right:0}
.contact-direct-grid>a:hover{background:#ffffff0c}
.contact-direct-grid span{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#d4d6e4}
.contact-direct-grid strong{font-size:18px;font-weight:600;line-height:1.4}
.contact-stage button:focus-visible,.contact-stage a:focus-visible{outline:2px solid #d4b17b;outline-offset:4px}
.contact-calendar button:focus-visible{outline:2px solid #0a294b;outline-offset:2px}
.contact-form-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.contact-form-heading strong{display:block;font-size:16px;line-height:1.4}
.contact-form-heading span{display:block;font-size:12px;line-height:1.5;color:#687079;margin-top:4px}
.consultation-form label{display:block;font-size:14px;line-height:1.4;margin-bottom:16px}
.consultation-form input,.consultation-form select,.consultation-form textarea,.consultation-output textarea{display:block;width:100%;font:400 14px/1.4 var(--sans);color:#17191c;border:1px solid #d8dadf;border-radius:8px;box-shadow:0 1px 2px #0000000a;background:#fff;margin-top:6px;padding:10px 12px;min-height:42px}
.consultation-form textarea{resize:vertical;min-height:84px}
.consultation-form :is(input,select,textarea):focus{outline:2px solid #8ea9b2;outline-offset:1px}
.consultation-field{margin-bottom:16px}
.consultation-field>label{margin:0}
.contact-calendar:has(.consultation-select){overflow:visible}
.consultation-form select[hidden]{display:none}
.consultation-select{position:relative;margin-top:6px;min-width:0}
.consultation-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:46px;padding:11px 13px;border:1px solid #d6ddd8;border-radius:8px;background:#fff;color:#0a294b;box-shadow:0 1px 2px #0a294b08;text-align:left;font:400 14px/1.4 var(--sans);cursor:pointer;transition:border-color .18s,box-shadow .18s}
.consultation-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.consultation-select-trigger>.select-disclosure{flex:none;color:var(--ink)}
.consultation-select-trigger:hover{border-color:var(--ink)}
.contact-calendar .consultation-select-trigger:focus-visible,.consultation-select-trigger[aria-expanded=true]{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #0a294b1c}

.consultation-select-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:#fff;border:1px solid #d6ddd8;border-radius:12px;padding:6px;box-shadow:0 16px 40px #0a294b2b,0 3px 8px #0a294b0a}
.consultation-select.opens-up .consultation-select-menu{top:auto;bottom:calc(100% + 8px)}
.consultation-select-menu[hidden],.consultation-select-option[hidden],.consultation-select-group[hidden],.consultation-select-empty[hidden]{display:none}
.consultation-select-search{padding:5px 5px 8px;border-bottom:1px solid #edf0eb;margin-bottom:5px}
.consultation-form .consultation-select-search input{margin:0;background:#f5f7f2;border-color:#e1e7dc;box-shadow:none;padding:10px 12px;min-height:42px}
.consultation-select-status{margin:8px 2px 0;font:400 11px/1.4 var(--sans);color:#6e7c74}
.consultation-select-list{position:relative;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7d0c5 transparent}
.consultation-select-group{padding-top:4px;margin-top:4px;border-top:1px solid #edf0eb}
.consultation-select-group-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:10px 11px 8px;color:#65786d;font:600 11px/1.5 var(--sans);letter-spacing:.04em;text-transform:uppercase}
.consultation-select-group-count{font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:0}
.consultation-select-group .consultation-select-option{min-height:44px;font-weight:400}
.consultation-select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;min-height:56px;border-radius:7px;cursor:pointer;color:#0a294b;font:500 14px/1.4 var(--sans)}
.consultation-select-option-copy{min-width:0}
.consultation-select-option-copy>span{display:block}
.consultation-select-option small{display:block;margin-top:3px;color:#6e7c74;font:400 11px/1.4 var(--sans)}
.consultation-select-option:hover{background:#f6f7f5}
.consultation-select-option.is-active{outline:1px solid #a8b5ae;outline-offset:-1px}
.consultation-select-check{display:flex;flex:none;color:#637a4f;visibility:hidden}
.consultation-select-option[aria-selected=true] .consultation-select-check{visibility:visible}
.consultation-select-empty{padding:16px 12px;margin:0;font:400 13px/1.5 var(--sans);color:#6e7c74}
@media(max-width:809px){.consultation-select-trigger{font-size:16px;min-height:48px}.consultation-select-option{min-height:60px}.consultation-form .consultation-select-search input{font-size:16px}}
.consultation-primary{display:block;width:100%;padding:12px 14px;background:var(--button-surface);color:var(--button-text);border:0;border-radius:8px;text-align:center;font:500 14px/1.4 var(--sans);cursor:pointer}
.consultation-primary:hover{background:var(--button-surface);filter:brightness(.89)}
.consultation-note,.consultation-output p{font-size:12px;line-height:1.5;color:#687079;margin:12px 0 0}
.consultation-output{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}
.consultation-output h2{font-size:22px;line-height:1.2;letter-spacing:-.02em}
.consultation-output textarea{min-height:200px;resize:vertical;margin:16px 0}
.consultation-form .consultation-errors{padding:12px;border:1px solid #a34235;border-radius:8px;background:#fff5f2;color:#8c3028;font-size:13px;line-height:1.5;margin:0 0 18px}
.consultation-field-error{display:block;margin-top:6px;color:#8c3028;font-size:12px;line-height:1.5}
.consultation-form [aria-invalid=true]{border-color:#a34235}
.consultation-errors[hidden],.consultation-field-error[hidden]{display:none}
.consultation-draft-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.consultation-copy{min-height:44px;padding:12px 14px;border:1px solid #0a294b;border-radius:8px;background:#fff;color:#0a294b;font:500 14px/1.4 var(--sans);cursor:pointer}
.consultation-copy:hover{background:var(--button-surface);color:var(--button-text)}
.consultation-copy:disabled{opacity:.6;cursor:wait}
.consultation-copy-status:empty{display:none}
.consultation-note a{text-decoration:underline;text-underline-offset:3px}
.consultation-output h2:focus-visible{outline:2px solid #637f70;outline-offset:4px}
@media(max-width:359px){.consultation-draft-actions{grid-template-columns:1fr}}
@media(min-width:1500px){.contact-stage{padding-top:50px}}
@media(max-width:809px){.contact-stage{padding:60px 10px 50px;min-height:0;background-position:62% center}.contact-layout{grid-template-columns:minmax(0,1fr);gap:20px}.contact-intro{grid-column:1;grid-row:1;padding:0 10px 10px}.contact-intro h1{font-size:40px!important;line-height:1.05;margin:10px 0}.contact-intro>p{font-size:17px;line-height:1.3}.contact-booking{grid-column:1;grid-row:2;padding:9px}.contact-calendar{padding:20px;border-radius:24px;min-height:390px}.contact-days{gap:4px}.contact-days button{min-height:40px}.contact-story{grid-column:1;grid-row:3;padding:20px;min-height:282px}.contact-story-copy blockquote{font-size:17px;line-height:1.3}.contact-intro .contact-kicker{font-size:12px;line-height:18px;padding:7px 13px}.contact-direct{padding-top:44px}.contact-direct-grid{grid-template-columns:1fr}.contact-direct-grid>a{border-right:0;border-bottom:1px solid #ffffff15}.contact-direct-grid>a:last-child{border-bottom:0}.contact-direct-grid strong{font-size:17px}.consultation-form input,.consultation-form select,.consultation-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-stage *{transition:none!important}}

/* Extend the contact artwork behind the transparent header. */
.contact-stage{margin-top:calc(-1 * var(--site-header-height));padding-top:calc(var(--site-header-height) + 34px)}
@media(min-width:1500px){.contact-stage{padding-top:calc(var(--site-header-height) + 50px)}}
@media(max-width:809px){.contact-stage{padding-top:calc(var(--site-header-height) + 60px)}}
@media(max-width:950px){.contact-page #navigation{color:var(--ink)}}

/* Readable booking instructions while the interactive calendar initializes. */
.contact-booking-fallback h2{font-size:26px;line-height:1.25;margin:0 0 16px}
.contact-booking-fallback p{font-size:14px;line-height:1.65;color:#66716d;margin:0 0 24px}
