/* A practical, mobile-first welcome for guests who already have a certificate. */
.certificate-visit-page .eyebrow{font-size:.875rem;letter-spacing:1.5px}
.visit-welcome{padding:54px 0 64px;background:var(--paper)}
.visit-welcome-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:65px;align-items:center}
.visit-welcome h1{font:400 clamp(3.625rem,5.7vw,5.25rem)/1.04 var(--display);letter-spacing:-1.2px}
.visit-welcome h1 em{color:#8b684e}
.visit-lead{font-size:1.125rem;line-height:1.85;color:#665b60;max-width:610px;margin-top:25px}
.visit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:29px}
.visit-actions .button{min-height:58px}
.visit-preparation{font-size:.9375rem;line-height:1.75;color:var(--muted);margin-top:21px;max-width:500px}
.visit-welcome-photo{position:relative;align-self:stretch;min-height:380px;margin:0;overflow:hidden;background:var(--brand-purple)}
.visit-welcome-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:76% 50%}
.visit-steps-section{background:var(--sand);padding:70px 0}
.visit-section-title{font:400 clamp(2.625rem,4.3vw,3.75rem)/1.1 var(--display);letter-spacing:-1px}
.visit-section-title em{color:#8b684e}
.visit-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding:0;margin:39px 0 0}
.visit-steps li{border-top:1px solid #cfc0b1;padding-top:23px;min-width:0}
.visit-step-number{display:block;font:italic 1.75rem/1.2 var(--display);color:#8b684e;margin-bottom:18px}
.visit-steps h3{font:500 1.875rem/1.15 var(--display);margin-bottom:14px}
.visit-steps p{font-size:1rem;line-height:1.85;color:#665b60}
.visit-steps a:not(.button){display:inline-flex;align-items:center;min-height:48px;margin-top:10px;text-decoration:underline;text-underline-offset:4px;font-size:1rem}
.visit-before{padding:76px 0}
.visit-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 60px;margin-top:36px}
.visit-rules article{border-top:1px solid var(--line);padding-top:22px}
.visit-rules h3{font-size:1.125rem;line-height:1.55;font-family:var(--sans);font-weight:600;margin-bottom:10px}
.visit-rules p{font-size:1rem;line-height:1.85;color:var(--muted)}
.visit-rules a,.visit-rule-note a,.visit-questions a{text-decoration:underline;text-underline-offset:4px}
.visit-rule-note{margin-top:31px;padding:23px 25px;background:var(--sand);font-size:.9375rem;line-height:1.85;color:#665b60;border-left:2px solid #a5825c}
.visit-rule-note strong{font-weight:600;color:var(--ink)}
.visit-rule-note a{display:inline-flex;align-items:center;min-height:44px;margin-top:7px}
.visit-salons{background:var(--brand-purple);color:var(--brand-cream);padding:70px 0}
.visit-salons .eyebrow{color:var(--gold)}
.visit-salons .visit-section-title em{color:var(--gold)}
.visit-salons-intro{max-width:700px;font-size:1rem;line-height:1.85;color:#dfd0e5;margin-top:20px}
.visit-salon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:37px}
.visit-salon{border-top:1px solid #80628f;padding-top:22px;min-width:0}
.visit-salon h3{font:400 2.625rem/1.15 var(--display);margin-bottom:14px}
.visit-salon address{font-size:1rem;line-height:1.8;font-style:normal;color:#e5d9e9;min-height:58px}
.visit-salon-hours{font-size:1rem;color:#e5d9e9;margin:12px 0 10px}
.visit-salon-phone{display:inline-flex;align-items:center;min-height:52px;font-size:1.25rem;font-weight:600;color:#f4d7a6;white-space:nowrap}
.visit-salon-phone:hover{text-decoration:underline;text-underline-offset:5px}
.visit-salon-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:13px;font-size:1rem}
.visit-salon-links a{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline;text-underline-offset:5px;color:#e6d0b4}
.visit-salons :focus-visible{outline-color:var(--gold)}
.visit-contact-help{border-top:1px solid #80628f;margin-top:32px;padding-top:24px;font-size:1rem;color:#dfd0e5;line-height:1.8}
.visit-contact-help a{display:inline-flex;align-items:center;min-height:48px;color:#f4d7a6;text-decoration:underline;text-underline-offset:4px}
.visit-faq{padding:75px 0}
.visit-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px}
.visit-questions details{border-top:1px solid var(--line)}
.visit-questions details:last-child{border-bottom:1px solid var(--line)}
.visit-questions summary{position:relative;list-style:none;padding:22px 36px 22px 0;font-size:1.0625rem;line-height:1.7;font-weight:500;cursor:pointer}
.visit-questions summary::-webkit-details-marker{display:none}
.visit-questions summary::after{content:'+';position:absolute;right:4px;top:20px;color:#8b684e;font-size:1.5rem;line-height:1.3}
.visit-questions details[open] summary::after{content:'−'}
.visit-questions details>div{font-size:1rem;line-height:1.85;color:var(--muted);padding:0 24px 23px 0}
.visit-goodbye{background:var(--sand);padding:43px 0}
.visit-goodbye .container{display:flex;justify-content:space-between;align-items:center;gap:40px}
.visit-goodbye h2{font:400 2.75rem/1.15 var(--display);letter-spacing:-.7px;margin-bottom:13px}
.visit-goodbye p{font-size:1rem;line-height:1.8;color:var(--muted)}
.visit-goodbye .button{flex-shrink:0}
.visit-mobile-actions{display:none}
@media(max-width:1100px){.visit-welcome-grid{gap:40px}.visit-salon-grid{gap:24px}.visit-salon-phone{font-size:1.0625rem}.visit-faq-grid{gap:42px}}
@media(max-width:800px){.visit-welcome-grid{grid-template-columns:1fr;gap:30px}.visit-welcome-photo{min-height:250px}.visit-steps{gap:24px}.visit-faq-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.visit-welcome{padding:34px 0 40px}.visit-welcome h1{font-size:clamp(2.8rem,11.2vw,3.5rem);line-height:1.07;letter-spacing:-.8px}.visit-lead{font-size:1rem;margin-top:22px}.visit-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:25px}.visit-actions .button{width:100%}.visit-actions .text-button{justify-self:start}.visit-preparation{margin-top:14px}.visit-welcome-photo{min-height:220px}.visit-steps-section,.visit-before,.visit-salons,.visit-faq{padding-block:51px}.visit-steps{grid-template-columns:1fr;gap:26px;margin-top:28px}.visit-steps li{padding-top:18px}.visit-step-number{margin-bottom:12px}.visit-steps h3{font-size:1.875rem}.visit-section-title{font-size:2.625rem}.visit-rules{grid-template-columns:1fr;gap:24px;margin-top:28px}.visit-rule-note{padding:20px;margin-top:27px}.visit-salon-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.visit-salon address{min-height:0}.visit-salon-phone{font-size:1.375rem;white-space:normal}.visit-salon h3{font-size:2.5rem}.visit-contact-help{margin-top:27px}.visit-questions details>div{padding-right:5px}.visit-goodbye{padding:36px 0}.visit-goodbye .container{display:block}.visit-goodbye h2{font-size:2.5rem}.visit-goodbye .button{width:100%;margin-top:24px}.visit-mobile-actions{position:fixed;z-index:4;left:20px;right:20px;bottom:max(13px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1.2fr 1fr;box-shadow:0 4px 20px #20101d2e;background:var(--brand-purple);border:1px solid #806374}.visit-mobile-actions a{display:flex;justify-content:center;align-items:center;min-height:56px;padding:12px;font-size:1rem;font-weight:600;line-height:1.5;color:var(--brand-cream)}.visit-mobile-actions a:first-child{background:var(--gold);color:var(--ink)}.certificate-visit-page .footer{padding-bottom:108px}}
