.visit-section{padding:55px 0;border-top:1px solid var(--line);max-width:100%}.visit-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0 32px}.visit-heading h2{font-size:clamp(32px,4vw,55px);line-height:1.1;letter-spacing:-.05em;margin:0}.visit-heading h2 span{color:var(--cyan)}.visit-heading p,.visit-hint{font-size:12px;line-height:1.7;color:var(--muted)}
.visit-card{--card-cyan:#66dcf5;position:relative;display:block;width:min(100%,650px);aspect-ratio:1.65;margin:0 auto 30px;border:0;border-radius:22px;background:none;color:#f3f7fa;text-align:left;font:inherit;cursor:pointer;perspective:1400px;padding:0;isolation:isolate}.visit-front,.visit-back{position:absolute;inset:0;border:1px solid #5e9eae66;border-radius:22px;backface-visibility:hidden;transition:transform .8s cubic-bezier(.2,.7,.2,1);overflow:hidden;box-shadow:0 22px 60px #0005;background:#09131b}.visit-front{transform:rotateY(0);background:radial-gradient(ellipse at 83% 35%,#184361,#08121b 75%)}
.visit-front .visit-portrait{position:absolute;right:-4%;bottom:-5%;width:66%;height:104%;object-fit:contain;object-position:right bottom;max-width:none;mask-image:linear-gradient(#000 78%,transparent)}.visit-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07111a 0%,#07111ae8 26%,#07111a40 61%,transparent),linear-gradient(0deg,#061019 0%,transparent 45%)}.visit-front .visit-logo{position:absolute;left:6%;top:6%;width:63px;height:55px;object-fit:contain}.visit-edition{position:absolute;right:6%;top:9%;font-size:8px;line-height:1.7;letter-spacing:.13em;text-align:right;color:#b3cbd8}.visit-identity{position:absolute;left:6%;top:37%;z-index:2}.visit-kicker{display:block;font-size:8px;letter-spacing:.17em;color:var(--card-cyan);margin-bottom:14px}.visit-identity strong{display:block;font-size:clamp(38px,5.5vw,66px);line-height:.99;letter-spacing:-.06em;font-weight:500}.visit-identity em{font-style:normal;color:var(--card-cyan)}.visit-bottom{position:absolute;left:6%;right:6%;bottom:7%;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#bfd0d9}.visit-bottom>span:first-child{display:flex;align-items:center;gap:7px}.visit-bottom i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--card-cyan);box-shadow:0 0 10px #66dcf588}.visit-flip-label{font-size:8px;letter-spacing:.13em}.visit-flip-label b{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #66dcf55a;border-radius:50%;margin-left:8px;font-size:17px;color:var(--card-cyan)}
.visit-back{transform:rotateY(-180deg);padding:6%;display:flex;flex-direction:column;background:radial-gradient(ellipse at 100% 0%,#163444,#09131b 75%)}.is-flipped .visit-front{transform:rotateY(180deg)}.is-flipped .visit-back{transform:rotateY(0)}.visit-back-top{display:flex;align-items:center;gap:15px;margin-bottom:24px}.visit-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:50% 15%;border:1px solid #66dcf55a;background:#123044}.visit-back-top strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.04em}.visit-back-top small{display:block;font-size:10px;color:#afc6d3;margin-top:5px}.visit-back-logo{width:55px;height:45px;object-fit:contain;margin-left:auto}.visit-contact-row{position:relative;display:flex;flex-direction:column;gap:7px;padding:15px 25px 15px 0;border-top:1px solid #8bb4c52e}.visit-contact-row small{font-size:8px;letter-spacing:.15em;color:var(--card-cyan)}.visit-contact-row>span{font-size:clamp(13px,2vw,21px);letter-spacing:-.025em}.visit-contact-row b{position:absolute;right:0;bottom:18px;color:var(--card-cyan);font-size:21px;font-weight:400}.visit-back-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;font-size:8px;color:#afc6d3}.visit-back-bottom>span:last-child{color:var(--card-cyan);letter-spacing:.1em;white-space:nowrap}.visit-save{display:flex;width:fit-content;margin:auto;font-size:14px;gap:30px}.visit-hint{text-align:center;margin:15px 0 0}
@media(max-width:600px){.visit-section{padding:32px 0}.visit-heading{display:block}.visit-heading p{margin-top:15px}.visit-card{aspect-ratio:1.48;border-radius:16px}.visit-front,.visit-back{border-radius:16px}.visit-front .visit-logo{width:48px;height:40px}.visit-edition{font-size:6px;top:9%;letter-spacing:.08em}.visit-identity{top:35%}.visit-kicker{font-size:6px;letter-spacing:.08em;margin-bottom:11px}.visit-identity strong{font-size:clamp(35px,10vw,53px)}.visit-bottom{font-size:8px}.visit-flip-label{font-size:6px}.visit-flip-label b{width:24px;height:24px;font-size:15px;margin-left:4px}.visit-back-top{gap:10px;margin-bottom:14px}.visit-avatar{width:40px;height:40px}.visit-back-top strong{font-size:19px}.visit-back-top small{font-size:8px}.visit-back-logo{width:38px;height:35px}.visit-contact-row{padding:10px 20px 10px 0;gap:5px}.visit-contact-row small{font-size:6px}.visit-contact-row>span{font-size:clamp(11px,3.5vw,17px)}.visit-contact-row b{font-size:17px;bottom:13px}.visit-back-bottom{font-size:6px;padding-top:10px}.visit-save{width:100%;justify-content:space-between;padding:16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.visit-front,.visit-back{transition:none}}
.visit-edition{left:6%;right:auto;top:24%;text-align:left;font-size:7px;color:#9ab5c7}.visit-front .visit-logo,.visit-back-logo{clip-path:inset(0 0 18% 0)}
@media(max-width:600px){.visit-edition{top:23%;font-size:5px;line-height:1.5;letter-spacing:.08em}}
/* The interactive card takes the hero portrait's place. */
.visit-hero-card{position:relative;z-index:4;align-self:center;min-width:0;padding:0;border:0;width:100%;margin:0}.visit-hero-card>.eyebrow,.visit-hero-card>.visit-heading{display:none}.visit-hero-card .visit-card{width:100%;margin:0 0 24px;aspect-ratio:1.65}.visit-hero-card .visit-identity strong{font-size:clamp(38px,4.4vw,62px)}.visit-hero-card .visit-save{padding:15px 22px;font-size:12px;gap:24px;min-height:48px}.visit-hero-card .visit-hint{font-size:10px;margin-top:12px}.contact-personal:has(.visit-hero-card){grid-template-columns:1fr 1.08fr;gap:55px;min-height:600px}.visit-hero-card .visit-back-top{margin-bottom:16px}.visit-hero-card .visit-contact-row{padding-top:12px;padding-bottom:12px}.visit-hero-card .visit-contact-row>span{font-size:clamp(13px,1.55vw,20px)}
@media(min-width:701px) and (max-width:1100px){.contact-personal:has(.visit-hero-card){grid-template-columns:1fr 1.05fr;gap:28px;min-height:480px}.contact-personal:has(.visit-hero-card) .contact-personal-copy{margin-right:0}.contact-personal:has(.visit-hero-card) h1{font-size:clamp(43px,6vw,68px)}.visit-hero-card .visit-card{aspect-ratio:1.48}.visit-hero-card .visit-identity strong{font-size:38px}.visit-hero-card .visit-logo{width:45px;height:40px}.visit-hero-card .visit-edition{font-size:5px}.visit-hero-card .visit-kicker{font-size:6px}.visit-hero-card .visit-back{padding:6%}.visit-hero-card .visit-avatar{width:35px;height:35px}.visit-hero-card .visit-back-top{gap:9px;margin-bottom:12px}.visit-hero-card .visit-back-top strong{font-size:18px}.visit-hero-card .visit-back-top small{font-size:8px}.visit-hero-card .visit-contact-row{padding-top:9px;padding-bottom:9px;gap:5px}.visit-hero-card .visit-contact-row small{font-size:6px}.visit-hero-card .visit-back-bottom{font-size:6px}.visit-hero-card .visit-bottom{font-size:8px}.visit-hero-card .visit-flip-label{font-size:6px}.visit-hero-card .visit-save{font-size:10px;padding:12px 16px;gap:15px}}
@media(max-width:700px){.contact-personal:has(.visit-hero-card){display:flex;flex-direction:column;gap:26px;min-height:0;padding-bottom:28px;overflow:visible}.contact-personal:has(.visit-hero-card) h1{margin:26px 0 18px}.contact-personal:has(.visit-hero-card) .contact-personal-copy{width:100%}.visit-hero-card{margin:0;padding:0;width:100%}.visit-hero-card .visit-card{aspect-ratio:1.48;margin-bottom:20px}.visit-hero-card .visit-identity strong{font-size:clamp(35px,10vw,53px)}.visit-hero-card .visit-save{width:100%;font-size:12px;justify-content:space-between}.visit-hero-card .visit-contact-row>span{font-size:clamp(11px,3.5vw,17px)}.visit-hero-card .visit-hint{font-size:9px}.visit-hero-card .visit-contact-row{padding-top:10px;padding-bottom:10px}}
.visit-flip-help{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--cyan);margin:-10px 0 20px;line-height:1.6}.visit-flip-help>span{font-size:20px;line-height:1}.visit-card{transform-origin:50% 50%}.visit-card:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){.visit-card.visit-inviting{animation:visit-turn-invitation 6s ease-in-out 3;will-change:transform}@keyframes visit-turn-invitation{0%,8%,40%,100%{transform:perspective(1100px) rotateY(0deg) rotateZ(0deg)}19%{transform:perspective(1100px) rotateY(-11deg) rotateZ(-.6deg)}29%{transform:perspective(1100px) rotateY(5deg) rotateZ(.3deg)}}}
@media(max-width:700px){.visit-flip-help{font-size:10px;margin:-7px 0 16px}}
@media(prefers-reduced-motion:reduce){.visit-card.visit-inviting{animation:none;transform:none}}

/* A single subtle tilt on arrival, repeated by the three-minute reminder. */
@media(prefers-reduced-motion:no-preference){.visit-card.visit-inviting{animation:visit-gentle-tilt 1.6s ease-in-out 1;will-change:transform}@keyframes visit-gentle-tilt{0%,100%{transform:perspective(1100px) rotateY(0deg)}45%{transform:perspective(1100px) rotateY(-6deg)}}}
