/* Casa Blu · client revision · Hostinger test build */
.rotating-hero{isolation:isolate}.rotating-hero>img.hero-rotation-image{position:absolute;inset:9px;width:calc(100% - 18px);height:calc(100% - 18px);aspect-ratio:auto;opacity:0;transition:opacity .8s ease;object-fit:cover;object-position:center;pointer-events:none}.rotating-hero>img.hero-rotation-image:first-child{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:640/825;display:block}.rotating-hero>img.is-active{opacity:1}.rotating-hero .photo-label{bottom:77px;z-index:3}.rotating-hero .hero-seal{z-index:4}.hero-rotation-controls{position:absolute;bottom:21px;left:22px;right:22px;display:flex;gap:5px;align-items:center;z-index:5;color:white}.hero-rotation-controls button{min-width:40px;min-height:40px;border:1px solid #ffffff80;background:#13253fe6;color:white;font-size:15px;padding:7px 11px}.hero-rotation-controls .hero-play{font-size:12px;min-width:68px}.hero-counter{font-size:12px;margin-left:auto;background:#13253fe6;padding:6px 9px}.hero-rotation-controls button:focus-visible{outline:3px solid white;outline-offset:3px}.logo,.logo img{width:76px}.google-g{display:inline-flex;align-items:center;justify-content:center;background:white;border-radius:50%;font-size:19px;font-family:Arial,sans-serif;font-weight:700;color:#4285f4;width:28px;height:28px;margin-right:7px;border:1px solid #d9e0ea}.welcome-strip a:last-child{font-size:14px;display:flex;align-items:center;font-weight:700}.gallery-feature{background:var(--soft);max-width:none;padding-inline:max(42px,calc((100vw - 1240px)/2 + 42px));padding-top:65px;padding-bottom:65px;border-block:1px solid var(--line)}.gallery-feature .gallery-controls button{background:var(--soft)}.gallery-feature .gallery-controls button:hover{background:var(--blue)}.gallery-feature .gallery-slide figcaption{font-size:18px}.bar-actions{gap:12px;flex-wrap:wrap}.bar-actions .button{font-size:13px;padding:14px 18px;gap:14px}.visit-compact{background:#e9eef7;border-bottom:1px solid var(--line)}.visit-operational .hours,.visit-operational p,.visit-operational address,.visit-operational a:not(.button){font-size:15px}.visit-operational h2{font-family:'Red Rose';font-size:30px}.family-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #ffffff40;padding-top:30px;margin-top:30px}.family-footer .eyebrow{font-size:12px;margin-bottom:8px}.family-footer p:not(.eyebrow){font-size:14px}.michelangelo-link{display:flex;flex-direction:column;align-items:center;gap:12px;background:#fff;padding:22px 30px;text-decoration:none;color:#244b8f!important;width:280px;flex-shrink:0}.michelangelo-link img{width:220px;height:auto}.michelangelo-link span{font-size:12px}.michelangelo-story{margin:30px auto 0;border:1px solid var(--line);width:min(100%,370px);padding:30px}.michelangelo-story img{width:280px}.seed-oils-note{background:var(--blue);color:white!important;padding:18px 22px}.social-preview{padding-block:60px}.social-preview h2{font-size:42px}.social-preview .heading-row{align-items:center;margin-bottom:30px}.social-preview .text-link{font-size:18px}.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.social-grid img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.gallery-page-intro{padding-block:55px 35px;max-width:none;background:var(--soft);padding-inline:max(42px,calc((100vw - 1240px)/2 + 42px))}.gallery-page-intro h1{font-size:clamp(3rem,5vw,4.5rem);max-width:800px}.gallery-page-intro>p:last-child{color:var(--ink);max-width:620px;margin-top:25px}.gallery-collection{padding-top:35px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.gallery-filters button{background:white;border:1px solid var(--line);color:var(--blue);padding:12px 18px;min-height:44px;font:inherit;font-size:14px}.gallery-filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}.collection-count{margin-bottom:25px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.photo-card{margin:0;min-width:0}.photo-card[hidden]{display:none}.open-photo{border:0;background:transparent;padding:0;width:100%;display:block;cursor:zoom-in;overflow:hidden}.open-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .35s}.open-photo:hover img{transform:scale(1.025)}.photo-card figcaption{font-size:16px;padding-top:13px}.photo-dialog{border:0;padding:30px;background:#f5f7fb;color:var(--blue);width:min(960px,92vw);max-height:94vh;overflow:auto}.photo-dialog::backdrop{background:#0c1c31e8}.photo-dialog figure{margin:10px 0 0;text-align:center}.photo-dialog img{max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;margin:auto}.photo-dialog figcaption{font-size:17px;margin-top:16px}.dialog-close{position:absolute;right:10px;top:7px;width:44px;height:44px;font-size:30px;background:white;border:1px solid var(--line);color:var(--blue);z-index:2}.dialog-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:18px}.dialog-controls button{background:var(--blue);color:white;border:0;min-width:44px;min-height:44px;font-size:20px}.dialog-count{font-size:13px}.application-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start;padding-top:35px}.application-intro{position:sticky;top:140px}.application-intro h2{font-size:48px}.application-intro>p:not(.eyebrow){margin-top:25px;color:var(--ink)}.application-intro .small{font-size:14px}.careers-form{background:#edf1f8;border:1px solid var(--line);padding:35px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.field{display:flex;flex-direction:column;min-width:0;gap:10px}.field.full{grid-column:1/-1}.field>label{font-size:16px;line-height:1.4}.field input:not([type=checkbox]):not([type=file]),.field select,.field textarea{width:100%;min-width:0;min-height:50px;border:1px solid #9cabc1;border-radius:0;background:white;padding:13px 14px;font:inherit;font-size:16px;color:var(--ink)}.field textarea{resize:vertical;line-height:1.6}.field textarea::placeholder{color:#606d80}.field-hint{font-size:12px;color:#4b5b70}.optional{font-size:13px;color:#526176}.upload-zone{position:relative;min-height:155px;border:1px dashed #7f92af;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f7f9fc;text-align:center;cursor:pointer}.upload-zone.is-dragging,.upload-zone:focus-within{outline:3px solid var(--terra);outline-offset:3px}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-zone strong{font-size:16px}.upload-zone>span:last-of-type{font-size:12px}.upload-icon{font-size:26px;line-height:1}.file-selected{font-size:13px;overflow-wrap:anywhere}.privacy-check{display:flex;gap:12px;align-items:flex-start;font-size:13px!important;line-height:1.6!important}.privacy-check input{appearance:auto;margin-top:5px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--blue)}.privacy-check a{text-underline-offset:3px}.form-status{margin-top:25px;font-size:14px;line-height:1.6;padding:15px;border-left:3px solid var(--blue);background:#fff;overflow-wrap:anywhere}.form-status.is-error{border-left-color:var(--terra);color:#8d322b}.form-status.is-success{border-left-color:var(--green);color:var(--green)}.submit-application{margin-top:20px;width:100%;justify-content:space-between}.submit-application:disabled{background:#64758f;border-color:#64758f;cursor:not-allowed;color:white}.form-footnote{font-size:12px;margin-top:17px;color:#526176}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-page{max-width:900px}.privacy-page h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:35px}.privacy-page h2{font-size:28px;margin:35px 0 18px}.privacy-page p{color:var(--ink);margin-bottom:20px}.privacy-preview-note{padding:20px;background:var(--soft);border-left:3px solid var(--blue)}
@media(max-width:1200px) and (min-width:1101px){.header nav{gap:14px}.header nav a{font-size:13px}.header .nav-wrap{gap:17px}.header .button{padding-inline:14px;font-size:12px}.logo,.logo img{width:67px}}
@media(max-width:1000px){.application-section{grid-template-columns:1fr;gap:35px}.application-intro{position:static}.application-intro h2{font-size:42px}.application-intro>p{max-width:650px}.careers-form{max-width:760px}.visit-operational h2{font-size:27px}}
@media(max-width:800px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.gallery-feature,.gallery-page-intro{padding-inline:30px}.gallery-page-intro{padding-block:40px 30px}.gallery-page-intro h1{font-size:48px}.family-footer{align-items:flex-start}.social-preview h2{font-size:36px}.social-preview .text-link{font-size:15px}}
@media(max-width:600px){.logo,.logo img{width:66px}.rotating-hero .photo-label{font-size:9px;bottom:68px;left:18px}.rotating-hero .hero-seal{bottom:93px;left:-24px}.hero-rotation-controls{bottom:17px;left:17px;right:17px;gap:4px}.hero-rotation-controls button{min-width:35px;min-height:38px;padding:5px 9px}.hero-rotation-controls .hero-play{min-width:61px;font-size:11px}.hero-counter{padding:5px;font-size:11px}.welcome-strip a:last-child{font-size:13px}.gallery-feature{padding:40px 24px}.gallery-feature .gallery-track{margin-right:-24px}.gallery-feature .gallery-controls button{background:white}.gallery-page-intro{padding:35px 24px 28px}.gallery-page-intro h1{font-size:40px}.gallery-page-intro>p:last-child{font-size:16px}.gallery-filters{gap:8px}.gallery-filters button{font-size:12px;padding:10px 12px}.photo-grid{gap:24px 14px}.photo-card figcaption{font-size:13px;line-height:1.45}.photo-dialog{padding:28px 15px 18px;width:95vw;max-height:90vh}.photo-dialog img{max-height:65vh}.photo-dialog figcaption{font-size:15px}.family-footer{flex-direction:column;gap:22px}.michelangelo-link{width:260px;padding:20px 25px}.family-footer .michelangelo-link{align-self:flex-start}.family-footer p:not(.eyebrow){font-size:14px}.michelangelo-story{width:100%;padding:25px}.michelangelo-story img{width:100%}.social-preview{padding-block:40px}.social-preview h2{font-size:36px}.social-preview .heading-row{display:block}.social-preview .text-link{display:inline-block;margin-top:18px}.social-grid{grid-template-columns:repeat(2,1fr);gap:12px}.application-section{gap:28px;padding-top:20px}.application-intro h2{font-size:40px}.careers-form{padding:24px 18px;margin-inline:-6px}.form-fields{grid-template-columns:1fr;gap:22px}.field.full{grid-column:auto}.application-intro>p:not(.eyebrow){font-size:16px}.upload-zone{padding:20px 12px}.visit-operational article:first-child>p a{font-size:13px}.visit-operational .hours{font-size:14px}.visit-operational h2{font-size:25px}.privacy-page h1{font-size:37px}.privacy-page h2{font-size:26px}.bar-actions{align-items:stretch}.bar-actions .button{justify-content:space-between}.seed-oils-note{padding:16px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.rotating-hero>img.hero-rotation-image,.open-photo img{transition:none}}
.rotating-hero .photo-label{left:auto;right:22px}.application-section{scroll-margin-top:calc(var(--header-height) + 24px)}
@media(max-width:600px){.rotating-hero .photo-label{left:auto;right:17px}}
/* Consolidated client QA, 26 October: calm hierarchy, contextual notes, richer photography. */
.menu-guidance{clear:both;margin:52px 0 0;padding:32px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:200px minmax(0,1fr);gap:35px}.menu-guidance h3{font-family:Outfit,sans-serif;font-size:21px;font-weight:500}.guidance-copy p{font-size:14px;line-height:1.8;color:var(--ink);max-width:75ch}.guidance-copy p+p{margin-top:16px}.kitchen-note{clear:both;padding:30px 35px;background:var(--soft);border-left:3px solid var(--gold);margin:44px 0 0;max-width:850px}.kitchen-note .eyebrow{display:block;margin-bottom:12px;font-size:10px}.kitchen-note h3{font-family:'Red Rose',sans-serif;font-size:27px;margin-bottom:12px}.kitchen-note p{font-size:15px;color:var(--ink);line-height:1.7}.payment-note{clear:both;font-size:12px;line-height:1.7;color:var(--ink);padding-top:24px;margin-top:30px!important;max-width:none;border-top:1px solid var(--line)}
footer .family-footer{background:white;color:var(--blue);padding:36px max(24px,calc((100% - 1156px)/2));margin:42px calc(-1 * max(42px,calc((100vw - 1240px)/2 + 42px))) 0;border-top:0;gap:45px}footer .family-footer .michelangelo-link{background:transparent;padding:0;width:280px;color:#244b8f!important}footer .family-footer .michelangelo-link img{width:255px}footer .family-footer .michelangelo-link span{font-size:13px}footer .family-footer .michelangelo-link:focus-visible{outline-color:var(--blue)}
.welcome-strip a:last-child{padding:10px 16px;gap:10px;border:1px solid #e0d8bd;background:#fffaf0;border-radius:4px;box-shadow:0 2px 7px #263a5508;text-decoration:none}.google-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.google-proof-copy{display:flex;flex-direction:column;gap:3px;line-height:1.25}.google-proof-copy strong{font-size:14px}.google-proof-stars{color:#9c6d00;letter-spacing:3px;font-size:11px}.menus-hero [data-menu-photo]{transition:opacity .2s ease;object-fit:cover;object-position:center;aspect-ratio:3/4}.menus-hero [data-menu-photo].is-changing{opacity:.35}
.visit-refined{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;padding:60px max(42px,calc((100vw - 1240px)/2 + 42px));background:var(--soft);color:var(--blue)}.visit-refined h1{font-size:clamp(3rem,5.5vw,5rem);max-width:560px}.visit-refined p:not(.eyebrow){margin-top:24px;font-size:19px;color:var(--ink);max-width:440px}.visit-refined .button.light-outline{background:var(--blue);color:white;border-color:var(--blue)}.visit-refined .button.light-outline:hover{background:var(--green)}.visit-hero-image{margin:0}.visit-hero-image img{width:100%;height:340px;object-fit:cover;border-radius:180px 180px 0 0}.visit-information{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:65px;padding-bottom:65px}.visit-information>article{min-width:0}.visit-information h2{font-size:34px;margin-bottom:25px}.visit-information address{font-style:normal;font-size:18px;line-height:1.75;color:var(--ink);margin:0 0 22px}.visit-information h3{font-size:21px;margin-top:28px;margin-bottom:12px}.visit-information .happy-hours{margin-top:28px;padding:22px;background:var(--soft)}.visit-information .happy-hours h3{margin-top:0}.visit-information .happy-hours p{margin-top:0}.visit-information .happy-hours a{display:inline-block;margin-top:15px}.visit-information .small{margin-top:20px}.visit-information .hours{max-width:400px}
@media(max-width:1000px){.visit-refined{gap:40px}.visit-refined h1{font-size:52px}.visit-information{gap:50px}.menu-guidance{grid-template-columns:165px minmax(0,1fr);gap:25px}}
@media(max-width:600px){.menu-guidance{display:block;margin-top:35px;padding-top:25px}.menu-guidance h3{margin-bottom:20px;font-size:20px}.guidance-copy p{font-size:13px;line-height:1.8}.kitchen-note{padding:24px;margin-top:30px}.kitchen-note p{font-size:14px}.payment-note{font-size:11px}footer .family-footer{margin:30px -24px 0;padding:30px 24px;align-items:flex-start;gap:25px}footer .family-footer .michelangelo-link{align-self:flex-start;width:245px}footer .family-footer .michelangelo-link img{width:230px}.welcome-strip a:last-child{padding:8px 12px}.google-proof-copy strong{font-size:12px}.visit-refined{grid-template-columns:1fr;gap:30px;padding:35px 24px 40px}.visit-refined h1{font-size:44px}.visit-refined p:not(.eyebrow){font-size:17px}.visit-hero-image img{height:235px;border-radius:120px 120px 0 0}.visit-information{grid-template-columns:1fr;gap:45px;padding:40px 24px}.visit-information h2{font-size:30px}.visit-information address{font-size:17px}}
@media(prefers-reduced-motion:reduce){.menus-hero [data-menu-photo]{transition:none}}
@media(min-width:601px) and (max-width:800px){footer .family-footer{margin-inline:-30px;padding-inline:30px;gap:25px}footer .family-footer .michelangelo-link{width:230px}footer .family-footer .michelangelo-link img{width:220px}}
@media(min-width:801px){footer .family-footer{padding-inline:max(42px,calc((100vw - 1240px)/2 + 42px))}}
/* Give the terrace its original wide frame in the Home visit preview. */
.visit-teaser{grid-template-columns:.85fr 1.15fr;gap:65px}.visit-teaser>div{min-width:0}.visit-teaser>img{width:100%;max-width:none;height:auto;aspect-ratio:1200/850;object-fit:contain;justify-self:stretch}.visit-teaser h2{font-size:clamp(2.5rem,4.3vw,3.8rem)}
@media(max-width:1000px){.visit-teaser{gap:35px}}
@media(max-width:800px){.visit-teaser{grid-template-columns:1fr;gap:35px}.visit-teaser>img{width:100%;max-width:none;justify-self:stretch}.visit-teaser h2{font-size:46px}}
