/* Páginas de área: mesmas cores e fontes Grace; a fotografia mantém a proporção original. */
.sp{--sp-ink:#231F1E;--sp-paper:#F5F0E8;--sp-gold:#A8894F;--sp-line:#CDBFA8;max-width:1200px;margin:auto;padding:28px clamp(20px,4vw,48px) 96px;color:var(--sp-ink)}
.sp .eyebrow{font:500 11px/1.5 'Jost',sans-serif;letter-spacing:.23em;color:#5E5550;margin:0 0 16px}
.sp h1{font:500 clamp(48px,6vw,88px)/.98 'Cormorant Garamond',serif;letter-spacing:-.025em;margin:0 0 24px;max-width:100%}
.sp h2,.grace-portfolio h2{font:500 clamp(34px,4vw,52px)/1.05 'Cormorant Garamond',serif;margin:0 0 18px;letter-spacing:-.015em}
.sp em{font-weight:400;color:#7A6236}
.sp p{line-height:1.6}.sp .sv-crumbs{margin-bottom:32px}
.sp-intro{padding:20px 0 44px}.sp-intro h1{max-width:100%}.sp-intro>p:last-child{font-size:18px;color:#5E5550}
.sp-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,7vw,90px);align-items:center;background:#EFE8DC;padding:clamp(20px,4vw,48px);border:1px solid #E1D6C5}
.sp-feature-image{display:block;max-width:400px;line-height:0;background:#FFFDF9;padding:8px;border:1px solid #D8CCB9;box-shadow:0 16px 36px -30px #231f1e80}
.sp-feature-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.sp-feature h2{font-size:clamp(40px,5vw,66px);margin-bottom:22px}.sp-feature-copy>p:not(.eyebrow){max-width:30em;color:#5E5550}.sp-feature .gb-btn{gap:22px;margin:12px 0}.sp-feature-copy>.sp-text-link{display:flex;width:fit-content}
.sp-areas,.sp-other-areas{margin-top:76px}.sp-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.sp-area-card{display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-top:1px solid var(--sp-line);color:inherit;text-decoration:none;align-items:start}.sp-area-card h3{font:500 27px/1.12 'Cormorant Garamond',serif;margin:0 0 10px}.sp-area-card p{font-size:15px;color:#5E5550;max-width:32em;margin:0 0 10px}.sp-area-card div>span{font-size:12px;color:#6E5530}.sp-arrow{font-size:25px;line-height:1.3;color:#86652A}.sp-area-card:hover h3{text-decoration:underline;text-decoration-color:#A8894F;text-underline-offset:5px}
.sp-note{margin-top:44px;padding:24px;border-left:2px solid var(--sp-gold);background:#EFE8DC}.sp-note strong{font-weight:500}.sp-note p{font-size:15px;color:#5E5550;max-width:48em;margin:8px 0 0}
.sp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,6vw,76px);padding:14px 0 68px}
.sp-hero-copy{max-width:580px}.sp-lead{font-size:18px;color:#5E5550;max-width:31em;margin-bottom:24px}.sp-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.sp-actions .gb-btn{gap:30px}.sp-text-link{display:inline-flex;align-items:center;min-height:44px;gap:8px;color:inherit;text-decoration:underline;text-decoration-color:#A8894F;text-underline-offset:5px;font-size:14px}.sp-location{font-size:12px;color:#6E625A;margin:28px 0 0;max-width:32em}.sp-location span{padding:0 8px}
.sp-hero-photo{margin:0;min-width:0;max-width:450px;justify-self:end}.sp-hero-photo .grace-photo{padding:9px;background:#FFFDF9;border:1px solid #D8CCB9;box-shadow:0 20px 44px -36px #231f1e80}.sp-hero-photo figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:12px;color:#5E5550}.sp-hero-photo figcaption span{color:#786342}.sp-area-photo img{width:100%;height:auto;max-height:520px;object-fit:contain}
.sp-catalog{scroll-margin-top:108px;border-top:1px solid #CDBFA8;padding-top:40px}.sp-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.sp-catalog-head p:not(.eyebrow){font-size:15px;color:#5E5550;margin:0}.sp-category-label{display:flex;flex-direction:column;gap:8px;flex:none;font-size:13px;min-width:220px}.sp-category-label select{height:48px;border:1px solid #BFAE95;border-radius:5px;padding:0 34px 0 12px;background:#FFFDF9;color:#231F1E;font-size:16px;max-width:100%}.sp-results{font-size:12px;color:#786342;margin:24px 0 12px}
.sp-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sp-service{padding:22px;background:#FFFDF9;border:1px solid #D8CCB9;display:flex;flex-direction:column;gap:12px;min-width:0}.sp-service-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.sp-service-top span{font-size:11px;letter-spacing:.07em;color:#786342}.sp-service-top strong{font:500 22px/1.1 'Cormorant Garamond',serif;white-space:nowrap}.sp-service h3{font:500 27px/1.12 'Cormorant Garamond',serif;margin:0}.sp-service h3 a{color:inherit;text-decoration:none}.sp-service h3 a:hover{text-decoration:underline;text-decoration-color:#A8894F;text-underline-offset:4px}.sp-service>p{font-size:14px;color:#5E5550;margin:0}.sp-service-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.sp-service .gb-btn{min-height:44px;padding:8px 14px;font-size:13px}.sp-conditions{font-size:13px;color:#5E5550;max-width:65em;margin:20px 0 0}.sp-bar{display:none}
.grace-portfolio{margin-top:72px;padding-top:40px;border-top:1px solid #CDBFA8;scroll-margin-top:108px}.grace-portfolio header{max-width:660px;margin-bottom:28px}.grace-portfolio header>p:last-child{font:400 16px/1.6 'Jost',sans-serif;color:#5E5550}.grace-photo-grid{columns:3;column-gap:20px}.grace-photo-grid figure{break-inside:avoid;margin:0 0 26px;padding:7px;background:#FFFDF9;border:1px solid #D8CCB9}.grace-photo{display:block;width:100%;border:0;padding:0;background:transparent;position:relative;cursor:zoom-in;text-align:left}.grace-photo img{width:100%;height:auto;display:block;max-width:100%}.grace-photo-zoom{position:absolute;right:10px;bottom:10px;background:rgba(245,240,232,.96);border:1px solid #CDBFA8;color:#231F1E;width:36px;height:36px;display:grid;place-items:center;font-size:24px;line-height:1}.grace-photo-grid figcaption{padding:10px 5px 4px;font:400 12px/1.4 'Jost',sans-serif;color:#5E5550}
.grace-photo-open{overflow:hidden}.grace-photo-dialog{width:min(1100px,96vw);max-width:96vw;height:min(940px,96dvh);max-height:96dvh;padding:0;border:1px solid #5E5550;border-radius:6px;background:#231F1E;color:#F5F0E8;overflow:hidden}.grace-photo-dialog[open]{display:flex;flex-direction:column}.grace-photo-dialog::backdrop{background:rgba(18,18,17,.9)}.grace-photo-dialog header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:16px;flex:none;font:400 13px 'Jost',sans-serif}.grace-photo-dialog button{min-width:44px;min-height:44px;background:transparent;color:#F5F0E8;border:1px solid #786342;border-radius:5px;font-size:23px;cursor:pointer}.grace-photo-dialog button[hidden]{display:none}.grace-photo-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 12px}.grace-photo-stage img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.grace-photo-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;flex:none}.grace-photo-dialog footer p{font:400 14px/1.35 'Jost',sans-serif;text-align:center;margin:0;color:#F5F0E8}
.grace-photo:focus-visible,.sp a:focus-visible,.sp select:focus-visible,.grace-photo-dialog button:focus-visible{outline:3px solid #A8894F;outline-offset:4px}
@media(max-width:960px){.grace-photo-grid{columns:2}.sp-hero{gap:28px}.sp-feature{gap:30px;padding:24px}.sp-area-grid{column-gap:24px}}
@media(max-width:640px){.sp{padding:20px 20px 116px}.sp .sv-crumbs{font-size:13px;margin-bottom:22px}.sp h1{font-size:54px;max-width:100%}.sp h2,.grace-portfolio h2{font-size:36px}.sp-intro{padding:4px 0 28px}.sp-intro h1{max-width:100%}.sp-intro>p:last-child{font-size:16px}.sp-feature{display:flex;flex-direction:column-reverse;gap:24px;padding:24px 18px}.sp-feature h2{font-size:43px}.sp-feature-image{max-width:100%;width:100%}.sp-feature-image img{max-height:none}.sp-feature .gb-btn{font-size:14px;padding:10px 14px;gap:14px}.sp-area-grid{grid-template-columns:1fr}.sp-areas,.sp-other-areas{margin-top:48px}.sp-area-card{padding:22px 0}.sp-area-card h3{font-size:27px}.sp-note{margin-top:28px;padding:18px}.sp-hero{display:flex;flex-direction:column;gap:28px;padding:4px 0 38px;align-items:stretch}.sp-hero-photo{max-width:100%;width:100%}.sp-hero-photo .grace-photo{padding:6px}.sp-hero-photo figcaption{font-size:11px}.sp-lead{font-size:16px}.sp-actions{gap:8px 20px}.sp-actions .gb-btn{font-size:14px;padding:10px 16px;gap:18px}.sp-location{margin-top:20px}.sp-catalog{padding-top:28px;scroll-margin-top:88px}.sp-catalog-head{align-items:stretch;flex-direction:column;gap:20px}.sp-category-label{min-width:0}.sp-service-grid{grid-template-columns:1fr;gap:12px}.sp-service{padding:18px}.sp-service h3{font-size:26px}.sp-service-top strong{font-size:22px}.sp-service-bottom{gap:12px}.sp-service .gb-btn{min-height:46px}.sp-bar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid #CDBFA8;background:#F5F0E8;box-shadow:0 -8px 24px -20px #231f1e80}.sp-bar>span{font-size:15px;min-width:0}.sp-bar small{display:block;font-size:12px;color:#5E5550}.sp-bar .gb-btn{min-height:48px;padding:10px 16px;font-size:14px;flex:none}.sp-bar[hidden]{display:none}.grace-portfolio{margin-top:44px;padding-top:28px;scroll-margin-top:88px}.grace-photo-grid{columns:1}.grace-photo-grid figure{padding:6px;margin-bottom:22px}.grace-photo-dialog{max-height:96dvh;height:96dvh;width:96vw}.grace-photo-dialog footer p{font-size:13px}.grace-photo-dialog header{padding:6px 8px}.grace-photo-stage{padding:0 6px}}
/* Sobrepor os parágrafos genéricos de booking.css com a especificidade da página. */
.sp .sp-lead{margin:0 0 24px}.sp .sp-location{margin:28px 0 0}.sp .sp-results{margin:24px 0 12px}.sp .sp-conditions{margin:20px 0 0}
@media(max-width:640px){.sp .sp-location{margin-top:20px}}

/* Miniaturas das áreas, mantendo o texto com quebra natural. */
.sp-area-thumb{width:76px;height:76px;flex:none;object-fit:cover;border:1px solid #D8CCB9;border-radius:5px;background:#EFE8DC}.sp-area-copy{flex:1;min-width:0}.sp-area-card h3{overflow-wrap:anywhere}.sp-area-card .sp-arrow{flex:none}
@media(max-width:640px){.sp-area-card{gap:12px}.sp-area-thumb{width:56px;height:56px}.sp-area-card .sp-arrow{font-size:20px}}
