/* Visit is a channel of the main site. Keep every page rule inside this wrapper. */
.visit-page{--visit-muted:#716e62;line-height:1.7;min-width:0}
.visit-page a{color:inherit;text-decoration:none}
.visit-page button,.visit-page input,.visit-page select,.visit-page textarea{font:inherit}
.visit-page button{cursor:pointer}
.visit-page button,.visit-page a,.visit-page input,.visit-page select,.visit-page textarea{outline-offset:4px}
.visit-page picture{display:block;min-width:0}
.visit-page img{display:block;max-width:100%;height:auto}
.visit-page .section,.visit-page .hero,.visit-page .visit-channel,.visit-page .visit-footer{width:100%;max-width:calc(var(--site-layout-max,1760px) + 2 * var(--site-layout-gutter,32px));margin-inline:auto;padding:72px var(--site-layout-gutter,32px)}
.visit-page .visit-channel{display:flex;align-items:center;gap:12px;padding-top:28px;padding-bottom:0;font-size:12px;color:var(--visit-muted)}
.visit-page .visit-channel strong{color:var(--ink)}
.visit-page .visit-channel-note{margin-left:auto}
.visit-page .eyebrow{font-size:12px;letter-spacing:1px;color:var(--accent);font-weight:700;margin:0}
.visit-page .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(30px,5vw,90px);padding-top:34px}
.visit-page .hero h1{font-size:clamp(38px,4.4vw,76px);line-height:1.18;letter-spacing:-2px;margin:24px 0;font-weight:800}
.visit-page .hero h1 em{display:block;color:var(--accent);font-style:normal}
.visit-page .lead{font-size:16px;color:var(--visit-muted);margin:24px 0 30px}
.visit-page .button{min-height:48px;padding:13px 20px;border:1px solid var(--line-strong);border-radius:8px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}
.visit-page .button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.visit-page .button.primary:hover{background:var(--accent-hover)}
.visit-page .button.secondary{background:var(--surface)}
.visit-page .button.secondary:hover{background:var(--accent-soft)}
.visit-page .button:disabled{opacity:.5;cursor:wait}
.visit-page .attitude{font-size:12px;margin-top:24px;color:var(--accent);font-weight:600}
.visit-page .hero-art{min-width:0}
.visit-page .hero-art img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-block,20px)}
.visit-page .photo-caption{display:block;font-size:10px;letter-spacing:1px;color:var(--visit-muted);margin-top:10px;text-align:right}
.visit-page h2{font-size:clamp(28px,3vw,46px);line-height:1.3;letter-spacing:-1px;margin:15px 0 24px}
.visit-page h3{line-height:1.4}
.visit-page p{margin-bottom:14px}
.visit-page .topics{border-top:1px solid var(--line)}
.visit-page .section-head{display:block;margin:0}
.visit-page .topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}
.visit-page .topic-grid article{border-top:2px solid var(--ink);padding-top:20px}
.visit-page .topic-grid article span{color:var(--accent);font-size:12px}
.visit-page .topic-grid h3{font-size:21px;margin:12px 0}
.visit-page .topic-grid p,.visit-page .factory p,.visit-page .cooperation p{font-size:15px;color:var(--visit-muted)}
.visit-page .fine{font-size:12px!important;color:var(--visit-muted);line-height:1.7}
.visit-page .topics>.fine{margin-top:28px}
.visit-page .factory{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,4vw,64px);align-items:center;background:#f1f0ea}
.visit-page .factory img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-section,14px)}
.visit-page .ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.visit-page .ticket{padding:clamp(24px,3vw,42px);border:1px solid var(--line);border-radius:var(--r-section,14px);background:var(--surface);display:flex;flex-direction:column;min-width:0}
.visit-page .ticket-label{font-size:12px;color:var(--visit-muted);letter-spacing:1px}
.visit-page .ticket h3{font-size:25px;margin:10px 0}
.visit-page .price{font-size:68px;font-weight:800;letter-spacing:-3px;line-height:1.2;margin:20px 0}
.visit-page .price small{font-size:27px;margin-right:8px}
.visit-page .price span{font-size:12px;font-weight:400;letter-spacing:0;margin-left:18px}
.visit-page .ticket ul{list-style:none;margin:0 0 26px;padding:0}
.visit-page .ticket li{margin:12px 0;font-size:15px}
.visit-page .ticket li:before{content:'✓';color:var(--accent);margin-right:12px}
.visit-page .boundary{padding-top:18px;border-top:1px solid var(--line);margin-top:auto;min-height:116px;font-size:14px}
.visit-page .boundary p{font-size:12px;color:var(--visit-muted);margin-top:8px}
.visit-page .ticket .button{width:100%;margin-top:24px}
.visit-page .featured{background:var(--accent-soft);border-color:var(--accent)}
.visit-page .featured .price{color:var(--accent)}
.visit-page .tickets>.fine{margin-top:22px}
.visit-page .credit{background:var(--dark);color:var(--dark-ink);text-align:center;max-width:none}
.visit-page .credit .eyebrow{color:#ffb49c}
.visit-page .credit-terms{display:flex;justify-content:center;align-items:center;gap:30px;margin:25px 0}
.visit-page .credit-terms strong{white-space:nowrap;flex-shrink:0;font-size:70px;letter-spacing:-3px}
.visit-page .credit-terms span{text-align:left;font-size:14px;color:#e3e1d9}
.visit-page .credit-terms b{display:inline-block;margin-top:10px;border-bottom:1px solid #ffb49c;color:#fff}
.visit-page .credit>p:last-child{max-width:640px;margin:25px auto 0;color:#d3d0c4;font-size:14px}
.visit-page .cooperation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,4vw,70px);align-items:center}
.visit-page .cooperation img{width:100%;max-height:520px;object-fit:cover;object-position:top;border-radius:var(--r-section,14px)}
.visit-page .arrival{padding-top:36px;padding-bottom:36px;background:var(--accent-soft);border-block:1px solid var(--line)}
.visit-page .arrival>div{max-width:850px}
.visit-page .arrival p{max-width:760px}
.visit-page .arrival h2{font-size:30px}
.visit-page .arrival p:not(.eyebrow){font-size:14px}
.visit-page #signup{scroll-margin-top:96px}
.visit-page .signup{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,4vw,65px)}
.visit-page .signup-intro>p:not(.eyebrow){font-size:14px;color:var(--visit-muted)}
.visit-page .signup-note{border-left:3px solid var(--accent);padding-left:18px;margin:30px 0}
.visit-page .signup-note p{font-size:13px;color:var(--visit-muted);margin-top:8px}
.visit-page form{min-width:0;background:var(--surface);border:1px solid var(--line);padding:32px;border-radius:var(--r-section,14px)}
.visit-page fieldset{border:0;padding:0;margin:0 0 32px;min-width:0}
.visit-page legend{font-weight:750;font-size:17px;margin-bottom:18px}
.visit-page .radio-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.visit-page .radio-row label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:12px;font-size:13px;cursor:pointer;border-radius:8px}
.visit-page .radio-row label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.visit-page .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.visit-page .fields label,.visit-page .question-label{font-size:13px;display:block;min-width:0}
.visit-page .fields label>span{color:var(--accent)}
.visit-page input:not([type=checkbox]):not([type=radio]),.visit-page select,.visit-page textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-height:44px;padding:9px 10px;margin-top:6px;color:var(--ink)}
.visit-page input[type=checkbox],.visit-page input[type=radio]{accent-color:var(--accent);flex-shrink:0;margin:0}
.visit-page .fields label small{font-size:11px;color:var(--visit-muted)}
.visit-page .full{grid-column:1/-1}
.visit-page .label{font-size:13px;margin:20px 0 10px}
.visit-page .checks{display:flex;gap:12px 16px;flex-wrap:wrap;font-size:12px}
.visit-page .checks label{display:flex;gap:6px;align-items:center}
.visit-page .question-label{margin-top:20px}
.visit-page textarea{resize:vertical}
.visit-page .consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--visit-muted)}
.visit-page .consent input{margin-top:4px}
.visit-page .honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.visit-page #submit{width:100%;margin-top:8px}
.visit-page #payment-note{margin-top:16px}
.visit-page #feedback{font-size:13px;color:var(--accent);margin-top:12px}
.visit-page #result{padding-top:20px;border-top:1px solid var(--line);font-size:13px}
.visit-page #result .button{width:100%;margin-top:10px}
.visit-page #result h3{font-size:22px;margin-bottom:14px}
.visit-page #receipt{overflow-wrap:anywhere;color:var(--accent)}
.visit-page .visit-footer{padding-top:32px;padding-bottom:40px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}
.visit-page .visit-footer strong{display:block;font-size:17px}
.visit-page .visit-footer span,.visit-page .visit-footer p,.visit-page .visit-footer a{font-size:12px;color:var(--visit-muted);margin:0}
.visit-page .mobile-cta,.visit-page .mobile-picks{display:none}
.visit-page [hidden]{display:none!important}
@media(max-width:900px){
 .visit-page .hero,.visit-page .section{padding-top:48px;padding-bottom:48px}
 .visit-page .hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:28px}
 .visit-page .hero-art{max-width:600px;width:100%}
 .visit-page .topic-grid{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:30px}
 .visit-page .factory,.visit-page .cooperation,.visit-page .signup{grid-template-columns:minmax(0,1fr);gap:30px}
 .visit-page .ticket-grid{grid-template-columns:minmax(0,1fr)}
 .visit-page .boundary{min-height:0}
 .visit-page .radio-row{grid-template-columns:minmax(0,1fr)}
 .visit-page .signup-intro h2 br{display:none}
}
@media(max-width:640px){
 .visit-page{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
 .visit-page .visit-channel{padding-top:20px;font-size:11px;gap:8px}
 .visit-page .visit-channel-note{font-size:10px}
 .visit-page .section,.visit-page .hero{padding-top:38px;padding-bottom:38px}
 .visit-page .hero{padding-top:24px;gap:22px}
 .visit-page .hero h1{font-size:clamp(34px,9.8vw,46px);margin:18px 0;letter-spacing:-1.5px}
 .visit-page .hero .lead{font-size:14px;margin:18px 0 22px}
 .visit-page .hero-copy>.button{display:none}
 .visit-page .mobile-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .visit-page .mobile-picks .button{font-size:12px;padding:12px 6px}
 .visit-page .attitude{font-size:11px;margin-top:18px}
 .visit-page .price{font-size:62px}
 .visit-page .credit-terms{flex-direction:column;gap:10px}
 .visit-page .credit-terms strong{font-size:58px}
 .visit-page .credit-terms span{text-align:center}
 .visit-page .fields{grid-template-columns:minmax(0,1fr);gap:15px}
 .visit-page .fields label,.visit-page .question-label,.visit-page .checks{font-size:14px}
 .visit-page input:not([type=checkbox]):not([type=radio]),.visit-page select,.visit-page textarea{font-size:16px;min-height:48px}
 .visit-page .signup form{padding:24px 18px}
 .visit-page .consent{font-size:12px;line-height:1.8}
 .visit-page .consent input{width:18px;height:18px}
 .visit-page .arrival h2,.visit-page .signup-intro h2{font-size:28px}
 .visit-page .mobile-cta{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 24px #26241d0a;z-index:30}
 .visit-page .mobile-cta button{min-height:48px;font-size:12px;font-weight:700;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink)}
 .visit-page .mobile-cta button+button{background:var(--accent);color:#fff;border-color:var(--accent)}
 .visit-page.visit-signup-visible .mobile-cta,.visit-page:has(#result:not([hidden])) .mobile-cta{display:none}
}
@media(prefers-reduced-motion:reduce){.visit-page .button{transition:none}}
