/* ESTI: warm ivory, espresso and champagne. Hero styles remain in site.css. */
.site-nav {background:#30231eeF; border-bottom:1px solid #c3a07833;}
.site-brand {gap:0;}
.esti-logo {width:176px;height:88px;object-fit:contain;}
.site-menu>a:not(.button) {color:#e3c9a6;}
.site-nav .button {background:#c3a078;color:#30231e;border-color:#c3a078;}
.button.booking-link,
.floating-actions .online-booking {
position:relative;
overflow:hidden;
isolation:isolate;
border-color:#d5b17a;
color:#2f211b;
background:
linear-gradient(115deg,#8e6537 0%,#c99b5f 28%,#f3d797 50%,#b68044 72%,#7a522f 100%);
box-shadow:0 18px 42px #5d321a2e, inset 0 1px 0 #fff1c6, inset 0 -1px 0 #6d4528;
text-shadow:0 1px 0 #f7e2b0;
}
.button.booking-link::before,
.floating-actions .online-booking::before {
content:"";
position:absolute;
inset:-45% -70%;
z-index:0;
pointer-events:none;
opacity:.56;
background:linear-gradient(110deg,transparent 32%,#fff6cfcc 45%,#fffdf0 50%,#fff6cfaa 56%,transparent 68%);
transform:translateX(-65%) rotate(8deg);
transition:transform .75s var(--ease-out);
}
.button.booking-link:hover,
.floating-actions .online-booking:hover {
border-color:#f0d192;
background:
linear-gradient(115deg,#7d5530 0%,#bd8c50 25%,#f7de9e 50%,#c08a48 75%,#704729 100%);
box-shadow:0 22px 55px #5d321a38, inset 0 1px 0 #fff4cc, inset 0 -1px 0 #704729;
}
.button.booking-link:hover::before,
.floating-actions .online-booking:hover::before {
transform:translateX(65%) rotate(8deg);
}
.site-nav .nav-toggle {color:#e3c9a6;}
.site-nav .nav-toggle>span:not(.sr-only) {background:#e3c9a6;}
#about,#services,#reviews,#gallery,#contact {--brand:#997748;--brand-dark:#78562f;--brand-deep:#36271f;--brand-pale:#f0e8da;--canvas:#f8f5ef;--surface:#fffdf8;--surface-soft:#eee7db;--ink:#362b25;--muted:#776757;--line:#ded3c4;}
#about,#gallery {background:#f8f5ef;}
#services,#contact {background:#f0ebe2;}
#about .eyebrow,#services .eyebrow,#gallery .eyebrow,#contact .eyebrow {color:#856630;}
#about h2 em,#services h2 em,#gallery h3 em,#contact h2 em {color:#896a3b;}
/* Mosaic A: panorama + tall storefront, two middle views, two closing views. */
.esti-spaces {
display:grid;
grid-template-columns:repeat(12,minmax(0,1fr));
grid-template-rows:clamp(340px,35vw,430px) clamp(330px,32vw,410px) clamp(420px,38vw,520px);
gap:28px 24px;
}
.esti-space {margin:0;min-width:0;min-height:0;display:flex;flex-direction:column;}
.esti-space--salon-wide {grid-column:1 / 8;grid-row:1;}
.esti-space--storefront {grid-column:8 / 13;grid-row:1 / 3;}
.esti-space--welcome {grid-column:1 / 4;grid-row:2;}
.esti-space--colour-library {grid-column:4 / 8;grid-row:2;}
.esti-space--manicure-room {grid-column:1 / 7;grid-row:3;}
.esti-space--pedicure-lounge {grid-column:7 / 13;grid-row:3;}
.esti-spaces .studio-photo {flex:1;min-height:0;}
.esti-spaces .studio-photo img {width:100%;height:100%;object-fit:cover;}
.esti-space--salon-wide img {object-position:50% 50%;}
.esti-space--storefront img {object-position:50% 61%;}
.esti-space--welcome img {object-position:50% 54%;}
.esti-space--colour-library img {object-position:50% 50%;}
.esti-space--manicure-room img {object-position:50% 49%;}
.esti-space--pedicure-lounge img {object-position:50% 50%;}
.studio-photo {position:relative;display:block;width:100%;padding:0;border:0;border-radius:3px;background:#e8e0d5;overflow:hidden;cursor:zoom-in;}
.studio-photo img {width:100%;height:auto;transition:transform .7s var(--ease-out);}
.studio-photo:hover img {transform:scale(1.02);}
.studio-photo__zoom {position:absolute;right:14px;bottom:14px;width:36px;height:36px;background:#fff9ebdd;color:#36271f;display:grid;place-items:center;border-radius:50%;}
.esti-space figcaption {padding:14px 0 0;min-height:68px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;}
.esti-space figcaption span {font-size:.63rem;text-transform:uppercase;letter-spacing:.14em;color:#826c50;}
.esti-space figcaption strong {font:400 clamp(.9rem,1.4vw,1.22rem)/1.3 var(--font-display);}

.esti-philosophy {display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ded3c4;margin-top:48px;padding-top:30px;}
.esti-philosophy p {font:400 1.35rem/1.4 var(--font-display);max-width:270px;margin:0;}
.esti-philosophy>span {color:#796951;font-size:.78rem;}
.esti-reviews {background:#362820;color:#ecdec9;}
.esti-reviews .eyebrow,.esti-reviews h2 em {color:#d1b17f;}
.esti-reviews h2 {color:#f5ebdc;}
.esti-rating {display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:#e6cc9d;flex-shrink:0;}
.esti-rating strong {font:400 3.3rem/1.1 var(--font-display);}
.esti-rating strong span {font-size:1rem;color:#d4c6b3;}
.esti-rating>span:last-child {font-size:.78rem;}
.esti-stars {letter-spacing:4px;font-size:1rem;}
.esti-review-track {display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;}
.esti-review-track::-webkit-scrollbar {display:none;}
.esti-review {flex:0 0 calc((100% - 48px)/3);min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;padding:28px;background:#423229;border:1px solid #c3a07830;border-radius:3px;}
.esti-review__top {display:flex;align-items:center;gap:12px;}
.esti-review__initials {display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#c3a07820;color:#e0c297;font-size:.72rem;}
.esti-review__top>div {display:flex;flex-direction:column;gap:4px;}
.esti-review__top strong {font-size:.82rem;font-weight:500;color:#fbf1e3;}
.esti-review__top>div>span {font-size:.61rem;color:#d0bda7;}
.esti-google {margin-left:auto;font-family:Arial,sans-serif;font-weight:600;font-size:1.1rem;color:#dcc09a;}
.esti-review blockquote {margin:28px 0;min-height:135px;font:400 clamp(1.12rem,1.5vw,1.4rem)/1.5 var(--font-display);color:#f3e6d5;}
.esti-review>a {margin-top:auto;font-size:.72rem;color:#d9ba8d;text-decoration:underline;text-underline-offset:5px;}
.esti-review-footer {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;}
.esti-review-footer p {font-size:.7rem;color:#c4b19b;}
.esti-review-controls {display:flex;gap:18px;align-items:center;}
.esti-review-controls button {width:44px;height:44px;border:1px solid #b59a7466;background:transparent;color:#eddbbd;border-radius:50%;cursor:pointer;transition:background .2s;}
.esti-review-controls button:hover {background:#c3a07830;}
.esti-review-controls button:disabled {opacity:.3;cursor:default;}
#review-position {font-size:.72rem;min-width:75px;text-align:center;font-variant-numeric:tabular-nums;}
#gallery .nail-lookbook {margin-top:0;padding-top:0;border-top:0;}
#gallery .nail-lookbook__heading h3 {font-size:clamp(2.8rem,5vw,5rem);}
.nail-lookbook__item img {object-position:center;}
.studio-lightbox {width:min(1180px,96vw);max-height:94dvh;padding:46px 52px 24px;border:1px solid #c3a07855;background:#30231e;color:#e5caa4;}
.studio-lightbox::backdrop {background:#1e1714ed;}
.studio-lightbox figure {margin:0;text-align:center;}
.studio-lightbox img {width:100%;height:72dvh;object-fit:contain;}
.studio-lightbox figcaption {padding-top:15px;font-size:.85rem;}
.studio-lightbox button {position:absolute;width:40px;height:40px;border:1px solid #c3a07866;border-radius:50%;background:#30231e;color:#e5caa4;cursor:pointer;}
[data-studio-close] {right:10px;top:6px;font-size:1.7rem;}
[data-studio-prev] {left:6px;top:45%;}
[data-studio-next] {right:6px;top:45%;}
body:has(.studio-lightbox[open]) {overflow:hidden;}
.site-footer {background:#30231e;color:#e3c9a6;}
.site-footer a,.site-footer p {color:#e3c9a6;}
:focus-visible {outline:2px solid #af854e;outline-offset:5px;}
@media(max-width:1000px) {.esti-philosophy {flex-wrap:wrap;}.esti-review {padding:20px;}.esti-review__initials {display:none;}}
@media(max-width:767px) {
.esti-logo {width:140px;height:70px;}.site-menu {background:#30231e;}.esti-philosophy {display:grid;gap:15px;}.esti-review {flex-basis:100%;padding:26px;}.esti-review__initials {display:grid;}.esti-review blockquote {min-height:140px;font-size:1.45rem;}.esti-review-footer {flex-direction:column-reverse;align-items:flex-start;gap:8px;}.esti-rating strong {font-size:2.7rem;}.esti-reviews .section-heading {gap:30px;}.studio-lightbox {padding:48px 32px 20px;}.studio-lightbox img {height:65dvh;}.studio-lightbox button {width:30px;height:30px;}
}
@media(prefers-reduced-motion:reduce) {.esti-review-track {scroll-behavior:auto;}.studio-photo img {transition:none;}}

.esti-motion {margin-top:40px;border-top:1px solid #ded3c4;padding-top:22px;}.esti-motion summary {cursor:pointer;color:#78562f;font-size:.85rem;}.esti-motion video {display:block;max-width:100%;width:360px;height:auto;max-height:75dvh;margin:24px auto 0;}
#about h2 em,#services h2 em,#reviews h2 em,#gallery h3 em,#contact h2 em {font-family:var(--font-display);font-weight:400;font-style:italic;line-height:1.14;letter-spacing:-.035em;}
#reviews h2 {font-size:clamp(2.55rem,4.8vw,4.65rem);line-height:1.12;}
@media(max-width:767px) {.site-nav .nav-toggle {background:#48362a;}.esti-reviews h2 {max-width:100%;}.esti-review-footer {padding-bottom:24px;}}
.legal-header {background:#30231e;}.legal-header__back {color:#e3c9a6;}

/* A warm highlight follows the transparent contours of the wordmark. */
.site-nav .site-brand {position:relative;isolation:isolate;}
.site-nav .esti-logo {filter:brightness(1.4) drop-shadow(0 0 10px #eac48838);transition:filter .3s ease;}
.site-nav .site-brand::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 32%,#fff1cb 48%,transparent 64%);background-size:300% 100%;mask:url('../photos/brand/esti/logo.png') center / contain no-repeat;-webkit-mask:url('../photos/brand/esti/logo.png') center / contain no-repeat;animation:esti-logo-light 7s ease-in-out infinite;}
.site-nav .site-brand:hover .esti-logo {filter:brightness(1.6) drop-shadow(0 0 13px #eac48866);}
@keyframes esti-logo-light {0%,65% {background-position:150% 0;opacity:0;}70% {opacity:.8;}95% {background-position:-50% 0;opacity:.8;}100% {background-position:-50% 0;opacity:0;}}
@media(max-width:767px) {
.esti-spaces {grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;gap:30px 12px;padding-top:4px;}
.esti-spaces .esti-space {grid-row:auto;position:relative;}
.esti-spaces .studio-photo {flex:none;aspect-ratio:4/5;box-shadow:0 18px 42px #44281712;}
.esti-spaces .studio-photo img {height:100%;aspect-ratio:auto;object-fit:cover;}
.esti-spaces .esti-space--salon-wide {grid-column:1 / 7;}
.esti-spaces .esti-space--salon-wide .studio-photo {aspect-ratio:16 / 9;}
.esti-spaces .esti-space--storefront {grid-column:2 / 7;margin-top:-2px;}
.esti-spaces .esti-space--storefront .studio-photo {aspect-ratio:3 / 4;}
.esti-spaces .esti-space--welcome {grid-column:1 / 5;margin-top:-26px;}
.esti-spaces .esti-space--welcome .studio-photo {aspect-ratio:4 / 5;}
.esti-spaces .esti-space--colour-library {grid-column:3 / 7;margin-top:-16px;}
.esti-spaces .esti-space--colour-library .studio-photo {aspect-ratio:4 / 5;}
.esti-spaces .esti-space--manicure-room {grid-column:1 / 4;margin-top:-2px;}
.esti-spaces .esti-space--pedicure-lounge {grid-column:4 / 7;margin-top:38px;}
.esti-spaces .esti-space--manicure-room .studio-photo,
.esti-spaces .esti-space--pedicure-lounge .studio-photo {aspect-ratio:4 / 5;}
.esti-space figcaption {min-height:0;padding-top:10px;}
.esti-space figcaption span {font-size:.57rem;letter-spacing:.12em;}
.esti-space figcaption strong {font-size:1.08rem;}
}
@media(prefers-reduced-motion:reduce) {.site-nav .site-brand::after {animation:none;display:none;}.site-nav .esti-logo {transition:none;}}
