/* Viva 0.4 — photographic editorial sections, accessible FAQ, contact and location. */
.editorial-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;align-items:end;margin:0 auto 48px;max-width:1440px}.editorial-heading h2{margin:0;font-size:clamp(42px,4.3vw,68px)}.editorial-heading>p{max-width:400px;font-size:13px;line-height:1.8;margin:0 0 6px}.media-frame{position:relative;overflow:hidden;background:var(--rose)}.media-frame>img{display:block;width:100%;height:100%;object-fit:cover}.image-note{position:absolute;bottom:0;left:0;right:0;padding:14px;background:var(--ivory);font-size:8px;letter-spacing:.14em;text-align:center}.editorial-number{font-family:var(--sans);font-size:11px;letter-spacing:.12em;line-height:1.5;opacity:.65}
.values-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1440px;margin:auto;align-items:center}.values-visual{position:relative;padding:0 13% 85px 0}.values-main-image{height:620px}.values-inset{position:absolute;width:45%;height:245px;right:0;bottom:22px;border:8px solid var(--ivory)}.values-label{position:absolute;left:25px;bottom:46px;padding:25px 30px;background:var(--rose);width:230px;box-shadow:5px 5px 0 var(--cacao);border:1px solid var(--cacao);z-index:1}.values-label .eyebrow{display:block;margin-bottom:13px;font-size:8px}.values-label>span:nth-child(2){display:block;font-family:var(--serif);font-size:38px;line-height:1}.values-label>span:last-child{position:absolute;right:19px;bottom:15px;font-size:12px}.value-row{display:grid;grid-template-columns:30px 1fr;gap:15px;padding:29px 0;border-top:1px solid var(--line)}.value-row:last-child{border-bottom:1px solid var(--line)}.value-row h3{font-size:clamp(28px,2.9vw,42px);margin:0 0 13px}.value-row p{font-size:12px;max-width:420px;line-height:1.8;margin:0}.value-row .editorial-number{padding-top:6px}
.viva-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.story-copy{max-width:530px}.story-copy h2{font-size:clamp(42px,4.3vw,68px)}.story-copy>p:not(.eyebrow){font-size:13px;max-width:440px}.story-pullquote{font-family:var(--serif);font-size:clamp(32px,3vw,45px);line-height:1.08;padding:25px 0 25px 25px;margin:30px 0;border-left:3px solid var(--rose)}.story-copy .button{margin-top:12px}.story-collage{position:relative;padding:0 15% 75px 0;min-width:0}.story-main-image{height:650px}.story-small-image{position:absolute;width:44%;height:285px;right:0;bottom:25px;border:8px solid var(--ivory)}.collage-caption{position:absolute;bottom:0;left:0;font-size:8px;letter-spacing:.15em}
.lab-story{border-top:1px solid var(--line)}.lab-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;max-width:1440px;margin:auto;align-items:center}.lab-visual{position:relative}.lab-photo{height:690px}.lab-photo img{object-position:50% 40%}.lab-photo-caption{position:absolute;bottom:22px;left:22px;right:22px;text-align:center;font-size:9px;letter-spacing:.16em;color:var(--cacao);padding:20px 12px;background:var(--ivory);border:1px solid var(--cacao)}.lab-chapter{padding:25px 0;border-top:1px solid var(--line)}.lab-chapter .eyebrow{font-size:8px;margin-bottom:15px}.lab-chapter h3{font-size:43px;margin-bottom:15px}.lab-chapter p{font-size:13px;margin:0;max-width:410px}.lab-chapters .text-link{margin-top:20px}.course-instructor{margin:70px auto 0;padding:45px;background:var(--rose);max-width:1440px;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.course-instructor h3{font-size:45px}.course-instructor>div>p:not(.eyebrow){font-size:12px;max-width:450px;margin:0}.course-instructor .eyebrow{font-size:9px;margin-bottom:22px}.course-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-highlights>div{border-top:1px solid var(--cacao);padding-top:20px}.course-highlights span{font-family:var(--serif);font-size:36px;line-height:1.1;display:block;margin-bottom:10px}.course-highlights p{font-size:9px;margin:0}
.viva-experiences{background:var(--ivory)}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 30px;max-width:1440px;margin:auto}.experience-card{min-width:0;display:flex;flex-direction:column}.experience-photo{display:block;height:400px}.experience-photo img{transition:transform .7s}.experience-photo:hover img{transform:scale(1.03)}.experience-type{position:absolute;left:20px;top:20px;background:var(--ivory);padding:9px 13px;font-size:8px;letter-spacing:.14em;border:1px solid var(--cacao)}.experience-copy{padding:25px 0 0;flex:1;display:flex;flex-direction:column;align-items:flex-start}.experience-title{width:100%;display:flex;justify-content:space-between;gap:25px;align-items:start}.experience-title h3{font-size:clamp(29px,3vw,43px);margin-bottom:18px}.experience-title .eyebrow{font-size:9px;padding-top:8px;margin:0}.experience-copy>p{font-size:12px;line-height:1.8;max-width:560px}.experience-copy .text-link{width:100%;margin-top:auto;padding:16px 0 14px;border-top:1px solid var(--line);border-bottom:0}.experience-date{border-left:2px solid var(--rose);padding-left:15px}
.viva-faq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ivory)}.faq-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.45fr);gap:8vw;max-width:1440px;margin:auto;align-items:start}.faq-editorial{position:sticky;top:30px}.faq-editorial h2{font-size:clamp(40px,4vw,62px);margin-bottom:24px}.faq-editorial>p:not(.eyebrow){font-size:12px;max-width:330px;line-height:1.8;margin-bottom:28px}.faq-image{height:260px;max-width:330px;margin-bottom:27px}.faq-image>img{object-position:center 46%}.faq-editorial .text-link{font-size:11px}.faq-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--cacao);padding-bottom:17px;margin-bottom:18px}.faq-tools .eyebrow{margin:0;font-size:9px}.faq-count{font-size:9px;white-space:nowrap}.faq-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.faq-filter{font-size:10px;padding:10px 13px;min-height:40px;background:var(--ivory);border:1px solid var(--line);color:var(--cacao);border-radius:0;box-shadow:none;transition:background .2s,color .2s}.faq-filter[aria-pressed=true]{background:var(--cacao);color:var(--ivory);border-color:var(--cacao)}.faq-filter:hover{border-color:var(--cacao)}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-question{display:grid;grid-template-columns:25px minmax(0,1fr) 26px;gap:16px;align-items:center;list-style:none;cursor:pointer;padding:24px 16px 24px 0;min-height:85px}.faq-question::-webkit-details-marker{display:none}.faq-question::marker{content:''}.faq-question:focus-visible{outline:2px solid var(--cacao);outline-offset:4px}.faq-index{font-size:9px;align-self:start;padding-top:3px;opacity:.65}.faq-question-text{font-family:var(--sans);font-size:14px;line-height:1.6;letter-spacing:-.01em}.faq-symbol{position:relative;display:block;width:24px;height:24px;border:1px solid var(--cacao);flex:none}.faq-symbol>span{position:absolute;top:10px;left:5px;width:12px;height:1px;background:var(--cacao)}.faq-symbol>span:last-child{transform:rotate(90deg)}.faq-item[open]{background:rgba(245,203,217,.23)}.faq-item[open] .faq-question{padding-left:16px}.faq-item[open] .faq-symbol{background:var(--cacao)}.faq-item[open] .faq-symbol>span{background:var(--ivory)}.faq-item[open] .faq-symbol>span:last-child{transform:rotate(0deg)}.faq-answer{overflow:hidden}.faq-answer-inner{padding:0 42px 27px 57px}.faq-answer-inner .eyebrow{font-size:8px;opacity:.7;margin-bottom:12px}.faq-answer-inner p{font-size:12px;line-height:1.95;max-width:600px;margin:0}.faq-footnote{display:flex;gap:18px;align-items:flex-start;margin-top:28px;font-size:10px;line-height:1.8}.faq-footnote>span{font-size:12px}.faq-footnote p{margin:0;max-width:400px}
.viva-contact{border-top:1px solid var(--line)}.contact-editorial-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;max-width:1440px;margin:auto;align-items:start}.contact-intro h1,.contact-intro h2{font-size:clamp(40px,4.25vw,65px);line-height:1.06;margin-bottom:25px}.contact-intro>p:not(.eyebrow){font-size:13px;max-width:440px}.contact-photo{height:195px;margin:30px 0 10px;max-width:490px}.contact-photo img{object-position:center 53%}.contact-photo>span{position:absolute;left:17px;bottom:17px;background:var(--ivory);border:1px solid var(--cacao);padding:8px 11px;font-size:8px;letter-spacing:.14em}.contact-methods{max-width:490px}.contact-method{display:grid;grid-template-columns:26px 1fr 20px;gap:14px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.contact-method:hover{text-decoration:none}.contact-method-index{font-size:9px;opacity:.65}.contact-method small{display:block;font-size:8px;letter-spacing:.13em;margin-bottom:6px}.contact-method strong{display:block;font-size:13px;font-weight:400;overflow-wrap:anywhere}.contact-method>span:last-child{font-size:20px;transition:transform .2s}.contact-method:hover>span:last-child{transform:translate(2px,-2px)}.contact-card{background:var(--ivory);border:1px solid var(--cacao);box-shadow:10px 10px 0 var(--rose);padding:35px 37px;margin:10px 10px 10px 0}.contact-card-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.contact-card-heading .eyebrow{margin:0;font-size:9px}.contact-card-heading>span{font-size:13px}.contact-card h3{font-size:43px;line-height:1.07;margin-bottom:18px}.contact-card>p{font-size:11px}.contact-card .viva-form{margin-top:28px}.contact-card .viva-form label{font-size:10px}.contact-card input,.contact-card textarea{background:rgba(245,203,217,.1)}.contact-card input:focus,.contact-card textarea:focus{background:var(--ivory)}.contact-card .viva-form p{margin-bottom:19px}.contact-card .consent span{font-size:9px;line-height:1.8}.contact-card .viva-form .button{width:100%;margin-top:8px}.contact-card .contact-card-note{font-size:8px;text-align:center;margin:27px 0 0;letter-spacing:.04em}
.viva-visit{background:var(--cacao);color:var(--ivory);scroll-margin-top:20px}.visit-layout{display:grid;grid-template-columns:.8fr 1.25fr;gap:7vw;max-width:1440px;margin:auto;align-items:center}.visit-copy h2{font-size:clamp(45px,5vw,78px);line-height:1.02;margin-bottom:25px}.visit-copy>.eyebrow{color:var(--rose);font-size:9px}.visit-copy>p{max-width:330px;font-size:12px}.visit-address{border-top:1px solid rgba(253,246,226,.3);padding-top:25px;margin-top:30px;max-width:360px}.visit-address .eyebrow{font-size:8px;display:block;color:var(--rose);margin-bottom:12px}.visit-address p{font-size:12px;margin-bottom:23px;max-width:300px}.visit-copy .button{background:var(--ivory);color:var(--cacao);box-shadow:5px 5px 0 var(--rose);margin-top:3px}.visit-copy .button:hover{box-shadow:7px 7px 0 var(--rose)}.visit-signature{margin-top:48px;display:flex;align-items:center;gap:25px;border-top:1px solid rgba(253,246,226,.3);padding-top:25px}.visit-signature img{width:120px}.visit-signature span{font-size:7px;letter-spacing:.14em;max-width:100px}.visit-map-frame{padding:12px;background:var(--ivory);color:var(--cacao);border:1px solid var(--rose);box-shadow:9px 9px 0 rgba(245,203,217,.25)}.map-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 6px 18px}.map-topline .eyebrow{font-size:8px;margin:0}.map-topline>span:last-child{font-size:18px}.visit-map{position:relative;overflow:hidden;background:var(--rose);height:480px}.visit-map iframe{display:block;border:0;width:100%;height:100%;filter:grayscale(1) sepia(.14) contrast(.94)}.visit-map[data-map-ready=true]:not(.is-interactive) iframe{pointer-events:none}.visit-map.is-interactive{outline:2px solid var(--cacao);outline-offset:-2px}.map-location-label{position:absolute;bottom:20px;left:20px;background:var(--ivory);padding:15px 20px;border:1px solid var(--cacao);box-shadow:4px 4px 0 var(--cacao);pointer-events:none;transition:opacity .2s}.map-location-label img{display:block;width:135px;margin-bottom:8px}.map-location-label span{font-size:8px;letter-spacing:.08em}.is-interactive .map-location-label{opacity:0}.map-bottomline{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 6px 6px}.map-bottomline p{font-size:9px;margin:0;max-width:210px}.map-enable{border:1px solid var(--cacao);background:var(--ivory);color:var(--cacao);padding:10px 14px;min-height:42px;border-radius:0;font-size:9px;white-space:nowrap}.map-enable[aria-pressed=true]{background:var(--cacao);color:var(--ivory)}
@media(max-width:1100px){.values-layout,.viva-story,.lab-layout,.faq-layout,.contact-editorial-layout,.visit-layout{gap:5vw}.values-main-image{height:530px}.values-inset{height:220px}.values-label{left:12px;padding:22px;width:210px}.story-main-image{height:560px}.story-small-image{height:240px}.lab-photo{height:620px}.course-instructor{padding:35px;gap:35px}.course-highlights{gap:15px}.course-highlights span{font-size:30px}.faq-layout{grid-template-columns:280px minmax(0,1fr)}.contact-card{padding:28px}.contact-card h3{font-size:37px}.visit-layout{grid-template-columns:.85fr 1.15fr}.visit-map{height:450px}.map-bottomline{align-items:flex-start;flex-direction:column}.experience-photo{height:340px}}
@media(max-width:780px){.editorial-heading{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.editorial-heading h2{font-size:43px}.editorial-heading>p{font-size:12px;max-width:380px}.values-layout,.viva-story,.lab-layout,.contact-editorial-layout,.visit-layout{grid-template-columns:1fr;gap:36px}.values-visual{padding:0 12% 75px 0}.values-main-image{height:450px}.values-inset{height:200px;width:43%;border-width:6px}.values-label{left:16px;bottom:42px;width:190px;padding:20px}.values-label>span:nth-child(2){font-size:32px}.value-row{padding:23px 0}.value-row h3{font-size:32px}.value-row p{font-size:12px}.viva-story{gap:42px}.story-copy h2{font-size:43px}.story-copy>p:not(.eyebrow){font-size:12px}.story-pullquote{font-size:34px;padding:18px 0 18px 20px;margin:23px 0}.story-main-image{height:470px}.story-small-image{height:215px;border-width:6px}.story-collage{padding-bottom:65px}.collage-caption{font-size:7px}.lab-photo{height:480px}.lab-photo-caption{left:16px;right:16px;font-size:8px}.lab-chapter{padding:24px 0}.lab-chapter h3{font-size:37px}.lab-chapter p{font-size:12px}.course-instructor{grid-template-columns:1fr;padding:28px;margin-top:44px;gap:30px}.course-instructor h3{font-size:37px}.course-instructor .eyebrow{font-size:8px}.course-highlights{gap:14px}.course-highlights span{font-size:29px}.course-highlights p{font-size:8px}.experience-grid{grid-template-columns:1fr;gap:38px}.experience-photo{height:360px}.experience-type{top:16px;left:16px}.experience-title h3{font-size:35px}.experience-copy{padding-top:22px}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-editorial{position:static;display:grid;grid-template-columns:1fr 105px;column-gap:18px;align-items:start}.faq-editorial>.eyebrow,.faq-editorial>h2,.faq-editorial>p,.faq-editorial>.text-link{grid-column:1}.faq-editorial h2{font-size:39px;margin-bottom:15px}.faq-editorial>.eyebrow{font-size:8px;margin-bottom:20px}.faq-editorial>p:not(.eyebrow){font-size:11px;margin-bottom:20px}.faq-image{grid-column:2;grid-row:2 / span 3;height:185px;width:105px;margin:0}.image-note{font-size:6px;letter-spacing:.06em;padding:10px 5px}.faq-tools{padding-bottom:16px;margin-bottom:15px}.faq-tools .eyebrow{font-size:8px}.faq-filters{gap:7px;margin-bottom:20px}.faq-filter{font-size:9px;padding:10px 11px}.faq-question{grid-template-columns:20px minmax(0,1fr) 23px;gap:10px;padding:20px 8px 20px 0;min-height:80px}.faq-question-text{font-size:12px;line-height:1.7}.faq-symbol{width:22px;height:22px}.faq-symbol>span{top:9px;left:4px}.faq-item[open] .faq-question{padding-left:10px}.faq-answer-inner{padding:0 25px 24px 40px}.faq-answer-inner p{font-size:11px;line-height:1.95}.faq-answer-inner .eyebrow{font-size:7px}.faq-footnote{font-size:9px;gap:15px}.contact-intro h1,.contact-intro h2{font-size:43px}.contact-intro>p:not(.eyebrow){font-size:12px}.contact-photo{height:200px}.contact-card{margin:0 8px 8px 0;padding:27px;box-shadow:8px 8px 0 var(--rose)}.contact-card h3{font-size:39px}.contact-method{padding:19px 0}.contact-method strong{font-size:12px}.contact-card .contact-card-note{font-size:8px}.visit-copy h2{font-size:55px}.visit-copy>p{max-width:350px}.visit-address{max-width:none}.visit-address p{max-width:none}.visit-signature{margin-top:34px;padding-top:22px}.visit-signature img{width:130px}.visit-signature span{font-size:8px}.visit-map-frame{padding:9px;box-shadow:6px 6px 0 rgba(245,203,217,.25);margin-right:6px}.visit-map{height:370px}.map-topline{padding:9px 6px 15px}.map-topline .eyebrow{font-size:7px}.map-location-label{left:14px;bottom:18px;padding:12px 15px}.map-location-label img{width:115px}.map-bottomline{flex-direction:row;align-items:center;gap:10px;padding:16px 5px 7px}.map-bottomline p{font-size:8px;max-width:150px}.map-enable{font-size:8px;padding:9px 10px}.viva-contact .contact-editorial-layout>*{min-width:0}}
@media(max-width:370px){.faq-editorial{grid-template-columns:1fr 85px;gap:12px}.faq-image{width:85px;height:165px}.faq-editorial h2{font-size:35px}.contact-card{padding:22px}.contact-intro h1,.contact-intro h2{font-size:39px}.values-label{width:170px;padding:18px}.values-inset{width:42%;height:180px}.course-instructor{padding:24px}.course-highlights span{font-size:25px}.course-highlights p{font-size:7px}}
@media(prefers-reduced-motion:reduce){.media-frame img,.contact-method>span:last-child,.map-location-label{transition:none!important}}
