:root {
    --ink: #0b2835;
    --cream: #f4f0e8;
    --paper: #fbfaf6;
    --aqua: #67d8cd;
    --blue: #07536f;
    --line: rgba(11, 40, 53, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    padding-bottom: 58px;
    color: var(--ink);
    background: var(--paper);
    font-family: "DM Sans", sans-serif;
    overflow-x: hidden;
}
::selection { background: var(--aqua); color: var(--ink); }
.page-progress { position: fixed; z-index: 100; inset: 0 0 auto; height: 3px; pointer-events: none; }
.page-progress span { display: block; width: 100%; height: 100%; background: var(--aqua); transform: scaleX(0); transform-origin: left; will-change: transform; }
.cursor-glow {
    position: fixed; z-index: 30; width: 360px; height: 360px; border-radius: 50%;
    pointer-events: none; opacity: .13; filter: blur(4px);
    background: radial-gradient(circle, var(--aqua), transparent 68%);
    mix-blend-mode: screen; transition: opacity .25s; will-change: transform;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.site-header {
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 88px;
    padding: 0 4.5vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    border-bottom: 1px solid rgba(255,255,255,.22);
    transition: min-height .3s, background .3s, backdrop-filter .3s;
}
.site-header.scrolled {
    min-height: 68px;
    background: rgba(5, 32, 44, .82);
    backdrop-filter: blur(18px);
    border-color: rgba(255,255,255,.1);
    box-shadow: 0 12px 40px rgba(0,0,0,.12);
}
.brand { display: inline-flex; align-items: center; gap: 13px; font: 700 clamp(1.3rem, 1.8vw, 1.65rem) "Manrope"; letter-spacing: -.035em; }
.brand > span:last-child { text-shadow: 0 3px 10px rgba(0,0,0,.38), 0 1px 1px rgba(0,0,0,.32); }
.brand-mark {
    width: 40px; height: 40px; display: grid; place-items: center;
    background: var(--aqua); color: var(--ink); border-radius: 50% 50% 48% 52%;
    font: 700 1.25rem "Manrope"; transform: rotate(-8deg);
}
.brand-mark + span { letter-spacing: .01em; }
nav { display: flex; gap: 14px; align-items: center; font: 700 .92rem "Manrope", sans-serif; letter-spacing: -.015em; }
nav a { display: inline-flex; min-height: 44px; padding: 0 16px; align-items: center; opacity: .94; border-radius: 999px; text-shadow: 0 2px 8px rgba(0,0,0,.3); transition: color .2s, background .2s, transform .2s, box-shadow .2s; }
nav a:not(.nav-cta):hover { color: var(--aqua); background: rgba(255,255,255,.08); transform: translateY(-2px); }
.nav-cta { min-height: 46px; padding: 0 20px; border: 1px solid rgba(255,255,255,.7); background: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 24px rgba(0,0,0,.14); backdrop-filter: blur(10px); }
.nav-cta:hover { color: var(--ink); background: var(--aqua); border-color: var(--aqua); text-shadow: none; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(31,190,182,.24); }
.nav-cta span { margin-left: 8px; }
.menu-toggle { display: none; padding: 10px 14px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; font: 700 .82rem "Manrope"; }
.hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: 130px 8vw 80px;
    color: white;
    background: #073247;
}
.hero-slides { position: absolute; inset: 0; overflow: hidden; }
.hero-slide { position: absolute; inset: -2%; opacity: 0; background-position: center; background-size: cover; transform: scale(1.05); transition: opacity 1.2s ease, transform 7s linear; }
.hero-slide.active { opacity: 1; transform: scale(1); }
.hero-slide-info{position:absolute;z-index:3;right:6vw;bottom:105px;width:min(410px,40vw);padding:19px 21px;border:1px solid rgba(255,255,255,.3);border-radius:18px;background:rgba(3,31,43,.62);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.22);backdrop-filter:blur(14px);transform:translateY(18px);opacity:0;transition:opacity .55s .55s,transform .55s .55s}.hero-slide.active .hero-slide-info{opacity:1;transform:translateY(0)}.hero-slide-info>span{display:block;color:var(--aqua);font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.hero-slide-info>b{display:block;margin-top:7px;font:700 1.05rem "Manrope",sans-serif}.hero-slide-info>p{display:-webkit-box;margin:10px 0 0;overflow:hidden;color:rgba(255,255,255,.9);font-size:.98rem;font-weight:600;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.hero-slide.active .hero-slide-info>span{animation:slide-location-light 3.2s ease-in-out infinite}.hero-slide.active .hero-slide-info>p{animation:slide-story-light 3.2s .35s ease-in-out infinite}
@keyframes slide-location-light{0%,100%{color:#69d9cd;text-shadow:0 0 0 transparent}35%{color:#fff1a8;text-shadow:0 0 10px rgba(255,226,112,.75),0 0 24px rgba(105,217,205,.42)}70%{color:#9eeeff;text-shadow:0 0 11px rgba(70,207,255,.72),0 0 25px rgba(105,217,205,.38)}}
@keyframes slide-story-light{0%,100%{color:rgba(255,255,255,.9);text-shadow:0 0 0 transparent}40%{color:#d8fffa;text-shadow:0 0 9px rgba(105,217,205,.6)}72%{color:#ffe6ba;text-shadow:0 0 10px rgba(255,190,105,.52)}}
.hero-shade {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(3,37,54,.8) 0%, rgba(3,37,54,.42) 40%, rgba(3,37,54,.04) 75%),
                linear-gradient(0deg, rgba(2,31,43,.35), transparent 40%);
}
.hero-copy { position: relative; z-index: 1; width: 100%; max-width: none; display: flex; flex-direction: column; align-items: center; text-align: center; }
.eyebrow { margin: 0 0 28px; text-transform: uppercase; letter-spacing: .19em; font-size: .68rem; font-weight: 600; }
.eyebrow::before { content: ""; display: inline-block; width: 30px; height: 1px; margin: 0 12px 3px 0; background: currentColor; }
.eyebrow.light { color: var(--aqua); }
h1, h2, h3 { font-family: "Manrope", sans-serif; margin: 0; letter-spacing: -.055em; }
h1 { font-size: clamp(4.4rem, 10.5vw, 9.8rem); line-height: .78; font-weight: 700; }
h1 em, h2 em { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.06em; }
.hero-title {
    position: relative; display: flex; align-items: baseline; justify-content: center; gap: .14em; width: max-content; max-width: 88vw; margin-inline: auto;
    white-space: nowrap; font-size: clamp(3.3rem, 8.2vw, 8.3rem); line-height: .9;
    perspective: 900px;
}
.hero-title-word { display: inline-flex; }
.hero-title-word:last-child { color: var(--aqua); }
.hero-title.animate-title .hero-title-word:last-child { animation: hero-title-glow 3.8s 1.6s ease-in-out infinite; }
.hero-letter {
    display: inline-block; opacity: 0; filter: blur(15px); transform-origin: center;
}
.hero-title.animate-title .hero-letter { animation: hero-letter-in .9s calc(.12s + var(--i) * .075s) cubic-bezier(.16,.86,.22,1) forwards; }
.hero-letter.from-bottom { --tx: 0; --ty: .9em; --rz: -10deg; }
.hero-letter.from-top { --tx: 0; --ty: -.9em; --rz: 10deg; }
.hero-letter.from-left { --tx: -.8em; --ty: 0; --rz: -12deg; }
.hero-letter.from-right { --tx: .8em; --ty: 0; --rz: 12deg; }
.hero-letter { transform: translate(var(--tx),var(--ty)) rotate(var(--rz)) scale(.72); }
.hero-title::after {
    content: ""; position: absolute; left: 0; bottom: -.18em; width: 0; height: 2px;
    background: linear-gradient(90deg, var(--aqua), transparent);
}
.hero-title.animate-title::after { animation: hero-line 1.2s .85s cubic-bezier(.2,.8,.2,1) forwards; }
@keyframes hero-letter-in { 68% { opacity: 1; filter: blur(0); transform: translate(0,0) rotate(0) scale(1.08); } 100% { opacity: 1; filter: blur(0); transform: translate(0,0) rotate(0) scale(1); } }
@keyframes hero-title-glow { 50% { color: #c9fffb; text-shadow: 0 0 12px rgba(105,216,205,.72), 0 0 38px rgba(105,216,205,.48), 0 0 75px rgba(42,186,205,.25); } }
@keyframes hero-line { to { width: 74%; } }
.hero-lead { max-width: 520px; line-height: 1.7; font-size: 1.04rem; color: rgba(255,255,255,.82); margin: 36px 0; }
.primary-button, .secondary-button {
    display: inline-flex; align-items: center; gap: 32px; padding: 15px 22px;
    background: var(--aqua); color: var(--ink); border-radius: 999px; font-weight: 600; font-size: .84rem;
    transition: transform .25s, background .25s;
}
.primary-button:hover, .secondary-button:hover { transform: translateY(-3px); background: #8ae4dc; }
.hero-note { position: absolute; z-index: 1; right: 5vw; bottom: 12%; display: flex; gap: 16px; align-items: flex-start; font-size: .72rem; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase; }
.hero-note .line { width: 46px; height: 1px; margin-top: 8px; background: var(--aqua); }
.hero-pills {
    position: absolute; z-index: 2; right: 5vw; top: 122px; display: flex; gap: 8px;
}
.hero-pills span {
    display: flex; flex-direction: column; gap: 3px; min-width: 108px; padding: 14px 16px;
    background: rgba(4, 38, 52, .34); border: 1px solid rgba(255,255,255,.2);
    border-radius: 16px; backdrop-filter: blur(12px);
    color: rgba(255,255,255,.62); font-size: .58rem; text-transform: uppercase; letter-spacing: .12em;
}
.hero-pills b { color: white; font: 600 .92rem "Manrope"; letter-spacing: -.02em; text-transform: none; }
.scroll-cue { position: absolute; z-index: 1; left: 4.5vw; bottom: 24px; font-size: .6rem; text-transform: uppercase; letter-spacing: .18em; }
.scroll-cue span { display: inline-block; width: 1px; height: 28px; margin-right: 12px; vertical-align: middle; background: rgba(255,255,255,.6); }
.marquee { overflow: hidden; background: var(--aqua); color: var(--ink); padding: 17px 0; }
.marquee-track { display: flex; align-items: center; gap: 30px; width: max-content; animation: marquee 28s linear infinite; }
.marquee-track span { font: 600 .74rem "Manrope"; text-transform: uppercase; letter-spacing: .14em; }
.marquee-track i { font-style: normal; opacity: .5; }
@keyframes marquee { to { transform: translateX(-50%); } }
.section-pad { padding: 120px 7vw; }
.intro { background: var(--cream); }
.section-kicker { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); margin-bottom: 62px; }
.section-kicker span { font-size: .68rem; color: #64767d; }
.intro-heading { display: grid; grid-template-columns: 1.5fr .8fr; gap: 10vw; align-items: end; margin-bottom: 70px; }
h2 { font-size: clamp(3rem, 6vw, 6.2rem); line-height: .95; }
.intro-heading > p, .route-head > p, .culture-copy > p, .source-strip > p { line-height: 1.8; color: #52666e; max-width: 520px; }
.sea-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.sea-card { min-height: 500px; position: relative; overflow: hidden; color: white; background: var(--sea); isolation: isolate; }
.sea-card::before, .route-card::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; z-index: 1;
    background: radial-gradient(300px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.16), transparent 70%);
    transition: opacity .25s;
}
.sea-card:hover::before, .route-card:hover::before { opacity: 1; }
.sea-photo { position: absolute; inset: 0; z-index: -2; background: url("../images/mavidus-hero.png") var(--pos) / cover no-repeat; filter: saturate(.78); transition: transform .7s; }
.sea-card::after { content:""; position:absolute; inset:0; z-index:-1; background: linear-gradient(10deg, var(--sea) 0%, color-mix(in srgb, var(--sea) 74%, transparent) 43%, transparent 78%); }
.sea-card:hover .sea-photo { transform: scale(1.04); }
.sea-content { position: absolute; inset: auto 0 0; padding: 36px; display: grid; grid-template-columns: 60px 1fr; }
.sea-num { grid-row: 1 / 5; font-family: Georgia, serif; color: var(--accent); font-style: italic; }
.sea-content > p:not(.sea-summary) { margin: 0 0 8px; color: var(--accent); text-transform: uppercase; letter-spacing: .16em; font-size: .6rem; }
.sea-content h3 { font-size: 2.4rem; }
.sea-summary { max-width: 470px; font-size: .83rem; line-height: 1.7; color: rgba(255,255,255,.72); }
.text-link { width: max-content; padding: 0 0 5px; border: 0; border-bottom: 1px solid rgba(255,255,255,.5); background: none; color: white; cursor: pointer; font-size: .75rem; }
.text-link span { margin-left: 14px; }
.routes { color: white; background: var(--ink); }
.route-head { display: grid; grid-template-columns: 1.2fr .7fr; gap: 12vw; align-items: end; }
.route-head > p { color: rgba(255,255,255,.58); }
.route-tools { margin: 60px 0 34px; display: flex; gap: 20px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.15); padding-top: 28px; }
.search-box { display: flex; gap: 12px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.35); padding: 9px 0; }
.search-box input { width: 210px; border: 0; outline: 0; background: none; color: white; }
.search-box input::placeholder { color: rgba(255,255,255,.45); }
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
.filters button { border: 1px solid rgba(255,255,255,.18); padding: 9px 14px; background: transparent; border-radius: 99px; color: rgba(255,255,255,.6); cursor: pointer; font-size: .72rem; }
.filters button.active { background: var(--aqua); color: var(--ink); border-color: var(--aqua); }
.route-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.15); }
.route-card { min-height: 310px; position: relative; overflow: hidden; background: #0d3140; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; transition: background .25s, transform .25s; }
.route-card:hover { background: #114052; transform: translateY(-4px); }
.route-card[hidden] { display: none; }
.route-card-top { display: flex; justify-content: space-between; color: var(--aqua); font-size: .65rem; text-transform: uppercase; letter-spacing: .13em; }
.route-card > div:last-child > p:first-child { color: rgba(255,255,255,.45); font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; }
.route-card h3 { font-size: 2rem; }
.route-desc { font-size: .78rem; line-height: 1.65; color: rgba(255,255,255,.58); }
.empty-state { text-align: center; color: rgba(255,255,255,.6); padding: 50px; }
.culture { display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; padding: 0; background: #e8cf9e; overflow: hidden; }
.culture-art { min-height: 650px; position: relative; overflow: hidden; background: #e36443; }
.sun { position: absolute; width: 32vw; height: 32vw; min-width: 330px; min-height: 330px; border-radius: 50%; background: #f6c36e; top: 12%; left: 50%; transform: translateX(-50%); }
.wave { position: absolute; width: 140%; left: -20%; height: 300px; border-radius: 50%; }
.wave-one { bottom: -70px; background: #0c4965; transform: rotate(6deg); }
.wave-two { bottom: -145px; background: #092d41; transform: rotate(-4deg); }
.sail { position: absolute; font-size: 170px; color: var(--paper); bottom: 120px; left: 44%; transform: rotate(8deg); text-shadow: -25px 25px 0 #0b3b55; }
.culture-copy { padding: 10vw 8vw; align-self: center; }
.culture-copy .secondary-button { margin-top: 24px; background: var(--ink); color: white; }
.share-section { background: #dfece8; }
.share-intro { display: grid; grid-template-columns: .55fr 1.2fr .8fr; gap: 5vw; align-items: end; margin-bottom: 60px; }
.share-intro h2 { font-size: clamp(3rem, 5.7vw, 6rem); }
.share-intro > p:last-child { color: #52666e; line-height: 1.75; }
.share-intro:has(.meeting-title) { grid-template-columns: 1.5fr .7fr; }
.meeting-title { display: flex; flex-direction: column; gap: .05em; overflow: visible; perspective: 800px; }
.meeting-line { display: flex; flex-wrap: wrap; gap: .18em; width: max-content; max-width: 100%; line-height: .92; }
.meeting-word { display: inline-block; opacity: 0; transform: translateY(.7em) rotateX(-28deg); transform-origin: center bottom; }
.visible .meeting-word { animation: meeting-rise .8s cubic-bezier(.2,.8,.2,1) forwards; }
.visible .meeting-line:first-child .meeting-word:nth-child(2) { animation-delay: .1s; }
.visible .meeting-blue .meeting-word:nth-child(1) { animation-delay: .2s; }
.visible .meeting-blue .meeting-word:nth-child(2) { animation-delay: .32s; }
.meeting-blue {
    position: relative; padding: .06em .1em .2em 0;
    color: #087893;
    text-shadow: 0 .05em 0 rgba(255,255,255,.4);
}
.meeting-blue em { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.065em; }
.meeting-blue::after {
    content: ""; position: absolute; z-index: -1; right: -.08em; bottom: .12em;
    width: .34em; height: .34em; border-radius: 50%;
    background: var(--aqua); opacity: .75;
    animation: meeting-drop 2.8s ease-in-out infinite;
}
.meeting-wave { position: absolute; left: 0; right: 0; bottom: -.03em; height: .18em; overflow: hidden; opacity: 0; }
.visible .meeting-wave { animation: wave-show .6s .75s forwards; }
.meeting-wave svg { width: 110%; height: 100%; animation: wave-drift 4s linear infinite; }
.meeting-wave path { fill: none; stroke: #0baea5; stroke-width: 3; stroke-linecap: round; }
@keyframes meeting-rise { to { opacity: 1; transform: translateY(0) rotateX(0); } }
@keyframes meeting-drop { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(.16em) scale(.78); } }
@keyframes wave-show { to { opacity: .75; } }
@keyframes wave-drift { 50% { transform: translateX(-6%); } }
.share-layout { display: block; }
.share-form { width: min(1120px,100%); margin: 0 auto; padding: clamp(22px,3vw,40px); border-radius: 24px; background: var(--paper); box-shadow: 0 24px 70px rgba(7,55,68,.1); }
.upload-drop { position: relative; width: 100%; height: clamp(340px,46vw,620px); border: 1px dashed #7da29f; border-radius: 20px; overflow: hidden; background: #e9f2ef; display: grid; place-items: center; text-align: center; }
.upload-drop.location-locked { opacity: .48; filter: grayscale(.3); }
.upload-drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.upload-preview { position: absolute; inset: 0; background: center / cover no-repeat; opacity: 0; transition: opacity .25s; }
.upload-drop.has-image .upload-preview { opacity: 1; }
.upload-drop.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,31,42,.7), transparent 70%); }
.upload-copy { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
.upload-copy::before { content: "+"; margin: 0 auto 8px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--aqua); font-size: 22px; }
.upload-copy span { font-size: .68rem; color: #6c7e80; }
.upload-drop.has-image .upload-copy { position: absolute; left: 20px; bottom: 18px; align-items: flex-start; color: white; }
.upload-drop.has-image .upload-copy::before, .upload-drop.has-image .upload-copy span { display: none; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.share-form label { display: block; margin-top: 20px; font-size: .7rem; font-weight: 600; }
.share-form label > span { color: #819093; font-weight: 400; }
.share-form input:not([type="checkbox"]), .share-form textarea { width: 100%; margin-top: 8px; padding: 13px 0; border: 0; border-bottom: 1px solid #b9c9c6; outline: 0; background: transparent; border-radius: 0; }
.share-form select { width: 100%; margin-top: 8px; padding: 13px 30px 13px 0; border: 0; border-bottom: 1px solid #b9c9c6; outline: 0; background: transparent; color: var(--ink); }
.share-form select:disabled { color: #95a4a4; }
.share-form textarea { min-height: 78px; resize: vertical; }
.share-form .consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; line-height: 1.5; color: #5b7074; }
.share-form .consent input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--ink); }
.share-submit { width: 100%; margin-top: 22px; padding: 15px 20px; border: 0; border-radius: 999px; display: flex; justify-content: space-between; background: var(--ink); color: white; cursor: pointer; }
.share-submit:disabled { cursor: not-allowed; opacity: .38; }
.location-verification { margin-top: 22px; padding: 18px; border-radius: 15px; background: #e8f2ef; }
.location-verification.verification-disabled { padding: 12px 16px; }
.location-verification.verification-disabled p { margin: 0; }
.location-verification button { width: 100%; padding: 13px 16px; display: flex; justify-content: space-between; border: 0; border-radius: 999px; background: var(--ink); color: white; cursor: pointer; font-weight: 600; }
.location-verification button:disabled { opacity: .6; }
.location-verification p { margin: 12px 4px 0; color: #687b7e; font-size: .72rem; line-height: 1.5; }
.location-verification p.success { color: #16734b; font-weight: 600; }
.location-verification p.error { color: #a5402c; }
.location-verification p.loading { color: #287b83; }
.word-counter { display: block; margin-top: 7px; text-align: right; color: #718287; font-size: .68rem; }
.word-counter b.limit { color: #b14631; }
.slideshow-consent { padding: 13px; border-radius: 12px; background: #e8f2ef; }
.location-help { width: min(520px,calc(100vw - 32px)); padding: 36px; border: 0; border-radius: 24px; color: var(--ink); background: var(--paper); box-shadow: 0 30px 100px rgba(0,20,30,.42); }
.location-help[open] { animation: location-help-in .25s ease-out; }
.location-help::backdrop { background: rgba(2,20,28,.72); backdrop-filter: blur(8px); }
.location-help-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--aqua); font-size: 1.8rem; }
.location-help h2 { margin: 20px 0 10px; font-size: 2rem; }
.location-help > p,.location-help li,.location-help small { color: #627579; line-height: 1.6; }
.location-help ol { padding-left: 22px; }
.location-help li { margin: 9px 0; }
.location-help-retry { width: 100%; margin: 15px 0; padding: 14px 18px; border: 0; border-radius: 999px; background: var(--ink); color: white; cursor: pointer; font-weight: 600; }
.location-external-browser{width:100%;margin:-5px 0 15px;padding:13px 18px;display:block;border:1px solid #cbd9d5;border-radius:999px;color:var(--ink);background:#edf3f1;text-align:center;font-size:.78rem;font-weight:600}
.location-help-close { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #e7eeeb; color: var(--ink); font-size: 1.4rem; cursor: pointer; }
@keyframes location-help-in { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.community-gallery { min-height: 100%; display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: minmax(220px,1fr); gap: 12px; }
.gallery-empty { grid-column: 1 / 3; display: grid; place-items: center; align-content: center; min-height: 540px; padding: 40px; text-align: center; border-radius: 24px; color: white; background: linear-gradient(150deg, #0d6376, #092c3d); }
.gallery-empty > span { font: 400 7rem Georgia; color: var(--aqua); line-height: .7; }
.gallery-empty h3 { margin-top: 20px; font-size: 2rem; }
.gallery-empty p { color: rgba(255,255,255,.6); }
.gallery-invite { min-height: 540px; padding: clamp(35px,6vw,80px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; border-radius: 24px; color: white; background: radial-gradient(circle at 80% 15%, rgba(105,216,205,.28), transparent 30%), linear-gradient(145deg,#0d6478,#072b3b); }
.gallery-invite-mark { font: 400 7rem Georgia; color: var(--aqua); line-height: .5; }
.gallery-invite .eyebrow { margin: 40px 0 20px; }
.gallery-invite h3 { max-width: 650px; font-size: clamp(2.5rem,4.5vw,5rem); line-height: .98; }
.gallery-invite > p:not(.eyebrow) { color: rgba(255,255,255,.62); line-height: 1.7; }
.gallery-invite > a { margin-top: 24px; padding: 14px 20px; display: inline-flex; gap: 34px; border-radius: 99px; background: var(--aqua); color: var(--ink); font-weight: 600; font-size: .8rem; }
.community-card { position: relative; min-height: 280px; margin: 0; overflow: hidden; border-radius: 18px; }
.community-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.community-card:hover img { transform: scale(1.04); }
.community-card figcaption { position: absolute; inset: auto 0 0; padding: 45px 20px 18px; color: white; background: linear-gradient(transparent, rgba(2,27,37,.9)); }
.community-card figcaption b, .community-card figcaption span { display: block; }
.community-card figcaption span { margin-top: 3px; color: var(--aqua); font-size: .64rem; text-transform: uppercase; letter-spacing: .12em; }
.community-card figcaption p { margin-bottom: 0; font-size: .72rem; color: rgba(255,255,255,.75); }
.share-notice { margin: -30px 0 30px; padding: 14px 18px; border-radius: 12px; font-size: .8rem; }
.share-notice.success { background: #c9f2df; color: #17633b; }
.share-notice.error { background: #ffe1d8; color: #943b27; }
.source-strip { background: var(--paper); display: grid; grid-template-columns: .7fr 1.4fr 1fr; gap: 5vw; align-items: start; }
.source-strip h2 { font-size: clamp(2.4rem, 4.2vw, 4.6rem); }
.source-links { grid-column: 2 / 4; border-top: 1px solid var(--line); margin-top: 30px; }
.source-links a { display: flex; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid var(--line); font-size: .83rem; transition: padding .2s; }
.source-links a:hover { padding-left: 8px; }
footer { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; min-height: 58px; padding: 7px 4.5vw; display: flex; justify-content: center; align-items: center; background: rgba(4,28,39,.94); border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.6); font-size: .68rem; backdrop-filter: blur(16px); box-shadow: 0 -8px 30px rgba(0,0,0,.12); }
.footer-brand { color: white; font-size: .9rem; gap: 8px; }
.footer-brand .brand-mark { width: 28px; height: 28px; font-size: .9rem; }
footer p { position: absolute; right: 4.5vw; margin: 0; }
footer a { transition: color .2s; }
footer a:hover { color: var(--aqua); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

.gallery-page { background: #dfece8; }
.share-page { background: #dfece8; }
.share-page .share-section { min-height: calc(100vh - 82px); padding-top: 70px; }
.share-page .share-intro { display: block; width: 100%; text-align: center; }
.share-page .meeting-title { width: 100%; margin-inline: auto; align-items: center; font-size: clamp(2.2rem,4.2vw,4.6rem); text-align: center; }
.share-page .meeting-line { width: 100%; justify-content: center; }
.gallery-header { position: sticky; z-index: 20; top: 0; min-height: 82px; padding: 0 4.5vw; display: flex; align-items: center; justify-content: space-between; color: white; background: rgba(5,32,44,.94); border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: 0 12px 40px rgba(0,0,0,.12); backdrop-filter: blur(18px); }
.gallery-browser { min-height: calc(100vh - 82px); padding: 64px 6vw 110px; }
.gallery-toolbar { position: sticky; z-index: 5; top: 14px; display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 12px; align-items: end; padding: 18px; border: 1px solid rgba(9,44,59,.1); border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: 0 18px 60px rgba(6,42,58,.1); backdrop-filter: blur(18px); }
.gallery-toolbar label { font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 600; }
.gallery-toolbar select { width: 100%; margin-top: 7px; padding: 12px 36px 12px 12px; border: 1px solid #cedbd6; border-radius: 10px; background: white; color: var(--ink); }
.gallery-search{grid-column:1/-1}.gallery-search input{width:100%;margin-top:7px;padding:14px 16px;border:1px solid #cedbd6;border-radius:12px;background:#fff;color:var(--ink);font:500 .9rem "DM Sans",sans-serif;outline:none}.gallery-search input:focus{border-color:#299b95;box-shadow:0 0 0 3px rgba(105,217,205,.25)}.gallery-search small{display:block;margin-top:7px;color:#718286;font-size:.62rem;font-weight:500;letter-spacing:0;text-transform:none}
.gallery-toolbar button { padding: 13px 17px; border: 0; border-radius: 10px; background: var(--ink); color: white; cursor: pointer; }
.gallery-filter-actions{display:flex;gap:8px}.gallery-filter-actions button,.gallery-filter-actions a{min-height:42px;padding:11px 15px;display:grid;place-items:center;border-radius:10px;font-size:.75rem;font-weight:600;text-decoration:none}.gallery-filter-actions a{background:#e8efec;color:var(--ink)}
.gallery-count { margin: 36px 0 18px; color: #63767b; font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.gallery-count b { color: var(--ink); font-size: 1.2rem; }
.maviler-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.mavi-card { margin: 0; overflow: hidden; border-radius: 18px; background: white; box-shadow: 0 12px 38px rgba(7,50,64,.08); }
.mavi-image { position: relative; overflow: hidden; aspect-ratio: 4 / 3; cursor: zoom-in; }
.mavi-image::after { content: "↗"; position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(5,36,49,.38); color: white; font-size: .9rem; opacity: 0; transform: scale(.8); backdrop-filter: blur(8px); transition: opacity .25s, transform .25s; }
.mavi-image:hover::after { opacity: 1; transform: scale(1); }
.mavi-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.mavi-card:hover .mavi-image img { transform: scale(1.045); }
.mavi-card figcaption { padding: 20px; }
.mavi-card figcaption b,.mavi-card figcaption span { display: block; }
.mavi-card figcaption span { margin-top: 5px; color: #178783; font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; }
.mavi-card figcaption p { margin: 18px 0 0; padding-top: 15px; border-top: 1px solid #e6ece9; color: #627479; line-height: 1.6; font-size: .78rem; }
.map-links{margin-top:16px;padding-top:14px;border-top:1px solid #e6ece9}.map-links>span{display:block;margin:0 0 9px!important;color:#738489!important;font-size:.58rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.13em}.map-links>div{display:flex;flex-wrap:wrap;gap:8px}.map-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:9px;background:#edf6f3;color:#0b615f;font-size:.68rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.map-links a:hover{background:var(--aqua);color:var(--ink);transform:translateY(-1px)}.map-links a b{font-size:.75rem}.lightbox-caption .map-links a{color:#d7fffb;background:rgba(105,216,205,.14)}.lightbox-caption .map-links a:hover{color:var(--ink);background:var(--aqua)}
.like-button{width:100%;margin-top:16px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d9e7e2;border-radius:11px;background:#fff;color:var(--ink);font:600 .75rem "DM Sans",sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.like-button:hover{border-color:var(--aqua);background:#effaf7;transform:translateY(-1px)}.like-button b{min-width:28px;padding:4px 7px;border-radius:99px;background:#e2f4ef;color:#14736e;text-align:center}.like-button.liked{border-color:#ef9d8b;background:#fff1ed;color:#9d3e2c;cursor:default}.like-button.liked b{background:#ef9d8b;color:#fff}.lightbox-caption .like-button{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff}.lightbox-caption .like-button.liked{background:rgba(239,157,139,.2);color:#ffd8cf}
.reaction-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.reaction-button{min-width:0;padding:10px 9px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;border:1px solid #d9e7e2;border-radius:11px;background:#fff;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.reaction-button:hover{border-color:var(--aqua);background:#effaf7;transform:translateY(-1px)}.reaction-button span{font-size:1rem}.reaction-button em{overflow:hidden;font:600 .66rem "DM Sans",sans-serif;font-style:normal;text-align:left;text-overflow:ellipsis;white-space:nowrap}.reaction-button b{min-width:24px;padding:3px 6px;border-radius:99px;background:#e7f2ef;color:#315f5c;font-size:.65rem;text-align:center}.reaction-button.like.active{border-color:#62cdbd;background:#e4f8f3;color:#126963}.reaction-button.dislike.active{border-color:#ef9d8b;background:#fff0ec;color:#963d2d}.reaction-button.like.active b{background:#62cdbd;color:#fff}.reaction-button.dislike.active b{background:#ef9d8b;color:#fff}.lightbox-caption .reaction-button{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.09);color:#fff}.lightbox-caption .reaction-button.like.active{background:rgba(98,205,189,.25)}.lightbox-caption .reaction-button.dislike.active{background:rgba(239,157,139,.25)}
.mavi-image>.reaction-buttons{position:absolute;z-index:3;right:12px;bottom:12px;display:flex;gap:6px;margin:0}.mavi-image .reaction-button{width:auto;min-width:52px;height:34px;padding:5px 7px;display:flex;gap:5px;border-color:rgba(255,255,255,.38);border-radius:99px;background:rgba(4,35,48,.68);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.2);backdrop-filter:blur(9px)}.mavi-image .reaction-button em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mavi-image .reaction-button span{font-size:.85rem}.mavi-image .reaction-button b{min-width:18px;padding:2px 4px;background:rgba(255,255,255,.16);color:#fff;font-size:.58rem}.mavi-image .reaction-button.like.active{border-color:#6ee0cf;background:rgba(18,105,99,.88);color:#fff}.mavi-image .reaction-button.dislike.active{border-color:#ffb19f;background:rgba(150,61,45,.88);color:#fff}.lightbox-caption>.reaction-buttons{display:flex;gap:7px;margin-top:12px}.lightbox-caption>.reaction-buttons .reaction-button{width:auto;padding:7px 9px;display:flex}.lightbox-caption>.reaction-buttons .reaction-button em{font-size:.62rem}
.gallery-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:42px 0 0}.gallery-pagination a{min-width:42px;height:42px;padding:0 14px;display:grid;place-items:center;border:1px solid rgba(9,44,59,.12);border-radius:11px;background:#fff;color:var(--ink);font-size:.75rem;font-weight:600;text-decoration:none;box-shadow:0 8px 24px rgba(7,50,64,.06);transition:background .2s,color .2s,transform .2s}.gallery-pagination a:hover,.gallery-pagination a.active{background:var(--ink);color:#fff;transform:translateY(-1px)}.gallery-pagination .pagination-direction{min-width:105px}
.maviler-empty { padding: 100px 20px; text-align: center; border-radius: 18px; background: white; color: #687b7e; }
.mavi-lightbox { width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 32px; border: 0; overflow: hidden; background: rgba(2,20,28,.94); color: white; }
.mavi-lightbox[open] { display: grid; place-items: center; animation: lightbox-in .25s ease-out; }
.mavi-lightbox::backdrop { background: rgba(0,12,18,.72); backdrop-filter: blur(10px); }
.lightbox-frame { display: flex; flex-direction: column; max-width: min(1400px,92vw); max-height: 90vh; }
.lightbox-frame > img { display: block; max-width: 100%; max-height: 76vh; margin: auto; object-fit: contain; border-radius: 12px; box-shadow: 0 28px 90px rgba(0,0,0,.5); }
.lightbox-caption { width: min(760px,100%); margin: 18px auto 0; text-align: center; }
.lightbox-caption b,.lightbox-caption span { display: block; }
.lightbox-caption span { margin-top: 4px; color: var(--aqua); font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.lightbox-caption p { margin: 10px 0 0; color: rgba(255,255,255,.65); font-size: .8rem; }
.lightbox-close { position: fixed; z-index: 2; top: 22px; right: 24px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.1); color: white; font: 300 2rem/1 sans-serif; cursor: pointer; backdrop-filter: blur(8px); }
.lightbox-close:hover { color: var(--ink); background: var(--aqua); border-color: var(--aqua); }
.lightbox-open { overflow: hidden; }
@keyframes lightbox-in { from { opacity: 0; transform: scale(.985); } }

@media (max-width: 980px) {
    .route-grid { grid-template-columns: repeat(2, 1fr); }
    .source-strip { grid-template-columns: 1fr 1fr; }
    .source-strip .eyebrow { grid-column: 1 / 3; }
    .source-links { grid-column: 1 / 3; }
    .share-intro { grid-template-columns: 1fr 1fr; }
    .share-intro .eyebrow { grid-column: 1 / 3; }
    .share-layout { grid-template-columns: 1fr; }
    .maviler-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 720px) {
    .site-header { min-height: 70px; }
    .site-header .brand{-webkit-tap-highlight-color:transparent}
    .site-header .brand>span:last-child,.site-header .brand:hover>span:last-child,.site-header .brand:focus>span:last-child,.site-header .brand:active>span:last-child{text-shadow:none}
    .site-header .brand:hover,.site-header .brand:focus,.site-header .brand:active{outline:0;box-shadow:none;filter:none;transform:none}
    .footer-brand{-webkit-tap-highlight-color:transparent}
    .footer-brand>span:last-child,.footer-brand:hover>span:last-child,.footer-brand:focus>span:last-child,.footer-brand:active>span:last-child{text-shadow:none}
    .footer-brand:hover,.footer-brand:focus,.footer-brand:active{outline:0;box-shadow:none;filter:none;transform:none}
    .menu-toggle { display: block; cursor: pointer; }
    #main-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; padding: 22px 5vw; flex-direction: column; align-items: stretch; gap: 8px; background: rgba(4,36,51,.98); box-shadow: none; }
    #main-nav.open { display: flex; }
    #main-nav a { min-height: 50px; justify-content: space-between; padding: 0 18px; font-size: 1rem; background: rgba(255,255,255,.05); }
    #main-nav .nav-cta { background: var(--aqua); color: var(--ink); border-color: var(--aqua); text-shadow: none; }
    .menu-toggle,#main-nav a{-webkit-tap-highlight-color:transparent}
    .menu-toggle:hover,.menu-toggle:focus,.menu-toggle:active{outline:0;box-shadow:none;transform:none;background:rgba(255,255,255,.1)}
    #main-nav a:not(.nav-cta):hover,#main-nav a:not(.nav-cta):focus,#main-nav a:not(.nav-cta):active{outline:0;box-shadow:none;transform:none;color:#fff;background:rgba(255,255,255,.05);text-shadow:none}
    #main-nav .nav-cta:hover,#main-nav .nav-cta:focus,#main-nav .nav-cta:active{outline:0;box-shadow:none;transform:none;background:var(--aqua);color:var(--ink)}
    .hero { padding-left: 6vw; background-position: 62% center; }
    .hero-copy { margin-top: 100px; }
    .hero-title {
        width: 100%;
        max-width: 92vw;
        flex-direction: column;
        align-items: center;
        white-space: normal;
        font-size: clamp(2.7rem, 14vw, 4.8rem);
        line-height: .82;
        gap: .08em;
    }
    .hero-slide-info{right:6vw;bottom:76px;width:88vw;padding:15px 17px;border-radius:14px}.hero-slide-info>span{font-size:.78rem;font-weight:800}.hero-slide-info>b{font-size:.98rem;font-weight:700}.hero-slide-info>p{margin-top:7px;font-size:.88rem;font-weight:600;line-height:1.42;-webkit-line-clamp:2}
    .hero-note { display: none; }
    .hero-pills { top: auto; left: 6vw; right: 6vw; bottom: 74px; overflow-x: auto; }
    .hero-pills span { min-width: 108px; }
    .cursor-glow { display: none; }
    .section-pad { padding: 82px 6vw; }
    .intro-heading, .route-head { grid-template-columns: 1fr; gap: 26px; }
    .sea-grid, .culture { grid-template-columns: 1fr; }
    .sea-card { min-height: 430px; }
    .sea-content { padding: 26px; grid-template-columns: 40px 1fr; }
    .route-tools { align-items: stretch; flex-direction: column; }
    .search-box input { width: 100%; }
    .route-grid { grid-template-columns: 1fr; }
    .route-card { min-height: 270px; }
    .culture-art { min-height: 480px; }
    .culture-copy { padding: 80px 7vw; }
    .share-intro { display: block; }
    .share-intro h2 { margin-bottom: 26px; }
    .meeting-title { font-size: clamp(2.8rem, 13vw, 4.5rem); }
    .meeting-line { width: 100%; }
    .share-form { padding: 20px; }
    .upload-drop { height: clamp(300px,78vw,480px); border-radius: 16px; }
    .form-row, .community-gallery { grid-template-columns: 1fr; }
    .gallery-empty { grid-column: 1; min-height: 390px; }
    .gallery-header { min-height: 70px; padding: 0 20px; }
    .gallery-header .brand { font-size: 1.15rem; }
    .gallery-header .brand-mark { width: 34px; height: 34px; }
    .gallery-browser { min-height: calc(100vh - 70px); padding: 36px 20px 80px; }
    .gallery-toolbar { position: static; grid-template-columns: 1fr; }
    .maviler-grid { grid-template-columns: 1fr; }
    .mavi-lightbox { padding: 18px; }
    .lightbox-frame > img { max-height: 70vh; }
    .lightbox-close { top: 12px; right: 12px; width: 44px; height: 44px; }
    .source-strip { display: block; }
    footer { min-height: 54px; padding: 7px 20px; }
    footer p { display: none; }
    body { padding-bottom: 54px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; transition: none; }
    .marquee-track { animation: none; }
    .meeting-word, .visible .meeting-word { opacity: 1; transform: none; animation: none; }
    .meeting-blue::after, .meeting-wave svg { animation: none; }
    .hero-slide { transition: opacity .2s; transform: none; }
    .hero-slide.active .hero-slide-info>span,.hero-slide.active .hero-slide-info>p{animation:none}
}

/* Paylaşım sayfası: masaüstü, tablet ve mobil düzeni */
.share-page .share-section{padding:clamp(42px,6vw,78px) max(18px,5vw) 110px;background:radial-gradient(circle at 50% 0,rgba(103,216,205,.25),transparent 34%),#dfece8}
.share-page .share-intro{max-width:900px;margin:0 auto clamp(30px,5vw,54px)}
.share-page .meeting-title{line-height:.9;text-wrap:balance}
.share-lead{max-width:620px;margin:22px auto 0;color:#526b70;font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.7;text-wrap:balance}
.share-page .share-layout{max-width:900px;margin:0 auto}
.share-page .share-form{width:100%;padding:clamp(22px,4vw,44px);border:1px solid rgba(9,44,59,.08);border-radius:28px;box-shadow:0 26px 75px rgba(7,55,68,.12)}
.share-page .form-row{gap:clamp(16px,3vw,30px)}
.share-page .form-row.single-field{grid-template-columns:1fr}
.share-page .share-form label{margin-top:24px;color:#163b47;font-size:.75rem}
.share-page .share-form input:not([type=checkbox]),.share-page .share-form textarea,.share-page .share-form select{min-height:48px;padding:12px 14px;border:1px solid #c7d7d2;border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}
.share-page .share-form textarea{min-height:120px;line-height:1.55}
.share-page .share-form input:focus,.share-page .share-form textarea:focus,.share-page .share-form select:focus{border-color:#2b9c95;box-shadow:0 0 0 4px rgba(103,216,205,.22)}
.share-page .share-form .map-value-locked:disabled{cursor:not-allowed;border-color:#d8e1de;background:#edf2f0;color:#667b78;opacity:1;-webkit-text-fill-color:#667b78}
.share-page .location-verification{margin-top:20px;border:1px solid rgba(39,138,133,.12);background:#edf7f4}
.manual-coordinate-heading{display:flex;justify-content:space-between;gap:18px;align-items:end}.manual-coordinate-heading b{font-size:.76rem}.manual-coordinate-heading b span{color:#718486;font-weight:400}.manual-coordinate-heading small{color:#718486;font-size:.67rem}.coordinate-row label{margin-top:14px!important}
.manual-coordinate-heading+.location-verification button,.manual-coordinate-heading+button{margin-top:14px}
.coordinate-row input[readonly].map-value-locked{cursor:not-allowed;background:#edf1ef!important;color:#526b70}
.coordinate-map-dialog{width:min(920px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:24px;border:0;border-radius:24px;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 35px 110px rgba(0,20,30,.5)}.coordinate-map-dialog::backdrop{background:rgba(2,20,28,.8);backdrop-filter:blur(9px)}.coordinate-map-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.coordinate-map-head small{color:#278a85;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.coordinate-map-head h2{margin-top:5px;font-size:clamp(1.7rem,4vw,2.8rem)}.coordinate-map-close{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:#e6eeeb;font-size:1.6rem;cursor:pointer}.coordinate-map-dialog>p{color:#617579;font-size:.8rem}.coordinate-map-dialog #coordinate-picker-map{width:100%;height:min(56vh,520px);min-height:300px;border-radius:16px;overflow:hidden}.coordinate-map-selection{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#edf5f2}.coordinate-map-selection span{font-size:.75rem;font-weight:600}.coordinate-map-selection button,#coordinate-map-confirm{padding:11px 15px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:.73rem;font-weight:600;cursor:pointer}#coordinate-map-confirm{width:100%;margin-top:12px;padding:14px}#coordinate-map-confirm:disabled{cursor:not-allowed;opacity:.4}
.share-page .upload-drop{height:auto;min-height:340px;aspect-ratio:16/9;margin-top:24px;border:2px dashed #86aaa5;background:#eaf3f0}
.share-page .upload-preview{background-color:#092c3b;background-size:contain}
.share-page .upload-drop.has-image{border-style:solid;border-color:#49b8ae;background:#092c3b}
.share-page .upload-copy{padding:18px}
.share-page .upload-copy b{font-size:1rem}
.upload-lock-note{display:none;margin-top:4px;color:#765b20;font-size:.67rem}
.upload-drop.location-locked .upload-lock-note{display:block}
.share-page .upload-drop.location-locked{opacity:.72;filter:none;background:#e5ebe8}
.share-page .upload-drop.location-locked .upload-copy::before{background:#c9d5d1;color:#6e807d}
.share-page .slideshow-consent{padding:15px 16px;border:1px solid rgba(39,138,133,.12);border-radius:13px;background:#edf7f4}
.share-page .share-form .consent{gap:12px;font-size:.78rem}
.share-page .share-form .consent input{flex:0 0 19px;width:19px;height:19px}
.share-page .share-submit{min-height:54px;margin-top:26px;padding:16px 22px;font-weight:600;transition:transform .2s,background .2s,opacity .2s}
.share-page .share-submit:not(:disabled):hover{transform:translateY(-2px);background:#12465a}
.share-page .share-notice{max-width:900px;margin:-24px auto 28px}
.share-page{padding-bottom:0}
.share-page footer{position:static}
.site-location-warning{width:min(520px,calc(100vw - 24px));max-height:calc(100svh - 24px);padding:34px;border:0;border-radius:24px;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 32px 100px rgba(0,20,30,.45)}.site-location-warning::backdrop{background:rgba(2,20,28,.78);backdrop-filter:blur(9px)}.site-location-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--aqua);font-size:1.8rem}.site-location-kicker{margin:20px 0 6px;color:#278a85;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.site-location-warning h2{font-size:clamp(1.8rem,6vw,2.7rem)}.site-location-warning>p:not(.site-location-kicker),.site-location-warning li{color:#60757a;font-size:.85rem;line-height:1.6}.site-location-warning ol{padding-left:22px}.site-location-warning button{width:100%;padding:14px 17px;border:0;border-radius:999px;font-weight:600;cursor:pointer}.site-location-retry{margin-top:10px;background:var(--ink);color:#fff}.site-location-continue{margin-top:9px;background:#e8efec;color:var(--ink)}
@media(max-width:720px){
    .share-page .share-section{padding:34px 14px 86px}
    .share-page .share-intro{margin-bottom:26px}
    .share-page .meeting-title{font-size:clamp(2.35rem,12vw,3.7rem)}
    .share-lead{margin-top:16px;font-size:.86rem;line-height:1.6}
    .share-page .share-form{padding:18px;border-radius:20px}
    .share-page .form-row{gap:0}
    .share-page .share-form label{margin-top:18px}
    .share-page .upload-drop{min-height:230px;aspect-ratio:4/3;margin-top:20px;border-radius:15px}
    .share-page .upload-copy{width:100%;padding:14px}
    .share-page .upload-drop.has-image .upload-copy{left:0;bottom:0}
    .share-page .location-verification{padding:14px}
    .manual-coordinate-heading{align-items:start;flex-direction:column;gap:5px}
    .coordinate-map-dialog{padding:16px;border-radius:18px}.coordinate-map-dialog #coordinate-picker-map{height:52vh;min-height:280px}.coordinate-map-selection{align-items:stretch;flex-direction:column}.coordinate-map-selection button{width:100%}
    .share-page .location-verification.verification-disabled{padding:12px 14px}
    .share-page .slideshow-consent{padding:13px}
    .location-help{width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:26px 20px;overflow:auto;border-radius:19px}
}
@media(min-width:721px) and (max-width:1024px){
    .share-page .share-layout{max-width:760px}
    .share-page .upload-drop{min-height:320px}
}
