/* Sorrento: isolated editorial product layout; the shared site shell is unchanged. */
body.page-sorrento {
    --sorrento-charcoal: #464646;
    --sorrento-tan: #c49a6c;
    --sorrento-deep-tan: #966c3c;
    --sorrento-cream: #f6f3ee;
    --sorrento-line: #e4dfd6;
    background: #fff;
}
.page-sorrento #site-header { background-color: #252525; }
.page-sorrento #site-header-wrapper.site-header-wrapper-transparent { position: static; }
.page-sorrento #site-header-wrapper.site-header-wrapper-transparent,
.page-sorrento #site-header-wrapper.site-header-wrapper-transparent #site-header:not(.shrink) {
    background: #252525 !important;
}
.sorrento-page {
    color: var(--sorrento-charcoal);
    background: #fff;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-size: 20px;
    line-height: 1.65;
}
.sorrento-page *, .sorrento-page *::before, .sorrento-page *::after { box-sizing: border-box; }
.sorrento-wrap { width: min(1170px, calc(100% - 64px)); margin: 0 auto; }
.sorrento-page h1, .sorrento-page h2 {
    font-family: Montserrat, Arial, sans-serif;
    color: var(--sorrento-charcoal);
    font-weight: 600;
    text-transform: none;
    letter-spacing: -.035em;
}
.sorrento-page h1 { font-size: clamp(32px, 4.1vw, 58px); line-height: 1.13; margin: 0 0 22px; }
.sorrento-page h2 { font-size: clamp(28px, 2.8vw, 38px); line-height: 1.2; margin: 0 0 24px; }
.sorrento-page h2::before { content: ''; display: block; width: 38px; height: 3px; background: var(--sorrento-tan); margin-bottom: 24px; }
.sorrento-page p { margin: 0; }
.sorrento-page picture, .sorrento-page img { display: block; }
.sorrento-page img { width: 100%; height: auto; max-width: 100%; }
.sorrento-hero-photo { max-width: 1280px; margin: 0 auto; overflow: hidden; }
.sorrento-intro { padding-top: 52px; padding-bottom: 76px; border-bottom: 1px solid var(--sorrento-line); }
.sorrento-page .sorrento-lead { max-width: 850px; font-size: clamp(19px, 1.7vw, 24px); line-height: 1.5; margin: 0 0 30px; color: var(--sorrento-deep-tan); }
.sorrento-page .sorrento-button {
    display: inline-flex; align-items: center; justify-content: space-between; gap: 28px;
    max-width: 100%; min-height: 52px; padding: 16px 24px;
    border: 1px solid var(--sorrento-tan); border-radius: 3px;
    background: var(--sorrento-tan); color: #242424;
    font: 600 15px/1.45 Montserrat, Arial, sans-serif;
    text-align: left; text-decoration: none; transition: background-color .15s ease;
}
.sorrento-page .sorrento-button span { font: 400 24px/1 Arial, sans-serif; flex-shrink: 0; }
.sorrento-page .sorrento-button:hover { background: #d2ae86; border-color: #d2ae86; color: #242424; }
.sorrento-page a:focus-visible, .sorrento-skip:focus-visible { outline: 3px solid #79552e; outline-offset: 5px; }
.sorrento-section { padding-top: 88px; padding-bottom: 88px; }
.sorrento-section-heading { display: grid; grid-template-columns: .85fr 1.45fr; gap: 80px; margin-bottom: 42px; }
.sorrento-section-heading h2 { margin-bottom: 0; }
.sorrento-room-photo { overflow: hidden; border-radius: 3px; }
.sorrento-detail { background: var(--sorrento-cream); }
.sorrento-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.sorrento-detail-photo { width: 100%; max-width: 460px; }
.sorrento-detail-photo img { border-radius: 3px; }
.sorrento-detail-copy { max-width: 470px; }
.sorrento-strengths { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.sorrento-facts { background: var(--sorrento-cream); }
.sorrento-facts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.sorrento-color-photo { width: 100%; max-width: 480px; justify-self: end; }
.sorrento-color-photo img { border-radius: 3px; }
.sorrento-facts table { border-collapse: collapse; width: 100%; font-size: 19px; line-height: 1.5; margin: 34px 0 0; }
#sorrento-content .sorrento-facts th, #sorrento-content .sorrento-facts td { padding: 18px 0; border: 0; border-bottom: 1px solid #d8d0c5; vertical-align: top; background: transparent; text-align: left; }
#sorrento-content .sorrento-facts th { width: 38%; padding-right: 18px; font-weight: 600; }
#sorrento-content .sorrento-facts tr:first-child th, #sorrento-content .sorrento-facts tr:first-child td { border-top: 1px solid #d8d0c5; }
.sorrento-sell { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; padding-top: 100px; padding-bottom: 100px; }
.sorrento-sell-actions { max-width: 390px; }
.sorrento-page .sorrento-contact { margin-top: 22px; font-size: 17px; line-height: 1.7; }
.sorrento-contact a { color: var(--sorrento-charcoal); text-decoration: underline; text-decoration-color: var(--sorrento-tan); text-underline-offset: 4px; }
.sorrento-contact a:hover { color: #79552e; }
.sorrento-skip { position: absolute; left: 16px; top: -150px; z-index: 100000; padding: 12px 20px; background: #fff; color: #242424; }
.sorrento-skip:focus { top: 16px; }
@media (max-width: 1023px) {
    .sorrento-page { font-size: 19px; }
    .sorrento-section-heading { gap: 40px; }
    .sorrento-detail-grid, .sorrento-strengths, .sorrento-facts-grid { gap: 48px; }
    .sorrento-section { padding-top: 64px; padding-bottom: 64px; }
    .sorrento-intro { padding-top: 40px; padding-bottom: 60px; }
    .sorrento-sell { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
    .sorrento-wrap { width: calc(100% - 40px); }
    .sorrento-page { font-size: 18px; line-height: 1.6; }
    .sorrento-page h1 { margin-bottom: 18px; }
    .sorrento-page h2 { margin-bottom: 20px; }
    .sorrento-page h2::before { margin-bottom: 20px; }
    .sorrento-intro { padding-top: 32px; padding-bottom: 48px; }
    .sorrento-page .sorrento-lead { font-size: 19px; margin-bottom: 26px; }
    .sorrento-section { padding-top: 48px; padding-bottom: 48px; }
    .sorrento-section-heading, .sorrento-detail-grid, .sorrento-strengths, .sorrento-facts-grid { grid-template-columns: 1fr; gap: 32px; }
    .sorrento-section-heading { margin-bottom: 30px; gap: 0; }
    .sorrento-detail-photo { max-width: 380px; margin: 0 auto; }
    .sorrento-detail-copy { max-width: none; }
    .sorrento-strengths { gap: 44px; }
    .sorrento-color-photo { max-width: 400px; justify-self: center; }
    .sorrento-facts table { font-size: 18px; margin-top: 26px; }
    #sorrento-content .sorrento-facts th, #sorrento-content .sorrento-facts td { padding-top: 15px; padding-bottom: 15px; }
    .sorrento-page .sorrento-button { width: 100%; gap: 18px; padding: 15px 18px; }
    .sorrento-sell-actions { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
    .sorrento-page .sorrento-button { transition: none; }
}
