/* Studio Gleyce Antunes — compact editorial layout. Map positions live in map.css. */
:root { color-scheme:dark; --ink:#15130f; --cream:#f4eee4; --paper:#eee9e0; --gold:#d8bd80; --gold-bright:#efd8a3; --rose:#d69b9e; --muted:#b5ada0; --line-dark:#d4b88230; --line-light:#45362725; --sans:'Manrope',sans-serif; --serif:'DM Serif Display',Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; background:var(--ink); color:var(--cream); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid #b58b49; outline-offset:5px; }
h1,h2,h3,p { margin:0; } h1,h2,h3 { font-family:var(--serif); font-weight:400; }
h1 { font-size:clamp(42px,5.3vw,65px); line-height:1.07; letter-spacing:-.025em; }
h1 em { font-weight:400; color:var(--gold); }
h2 { font-size:30px; line-height:1.2; letter-spacing:-.02em; }
svg { max-width:100%; } ::selection { background:var(--gold); color:var(--ink); }
.section-wrap { width:calc(100% - 64px); max-width:1080px; margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:99; background:var(--cream); color:var(--ink); padding:12px; } .skip-link:focus { top:10px; }
.site-header { position:sticky; top:0; z-index:40; background:#15130ff5; border-bottom:1px solid var(--line-dark); backdrop-filter:blur(16px); }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid #a78b51; border-radius:50%; font:17px var(--serif); color:var(--gold); box-shadow:inset 0 0 0 3px var(--ink),inset 0 0 0 4px #d8bd8025; }
.brand b { display:block; font:24px var(--serif); font-weight:400; } .brand small { display:block; margin-top:2px; font-size:9px; letter-spacing:.15em; color:var(--gold); }
.main-nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:600; }
.main-nav a:hover { color:var(--gold); } .main-nav .nav-booking { border-bottom:1px solid var(--gold); padding-block:8px; color:var(--gold); }
.menu-toggle { display:none; }
.hero { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:32px; padding-block:24px; }
.eyebrow { color:var(--gold); font-size:10px; letter-spacing:.17em; font-weight:700; margin-bottom:16px; }
.hero-lead { color:var(--muted); font-size:15px; line-height:1.75; margin-top:19px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:25px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:13px 19px; min-height:48px; background:var(--gold); color:#201b13; border:1px solid var(--gold); border-radius:2px; font-size:13px; font-weight:800; transition:background .2s,translate .2s; }
.button:hover { background:var(--gold-bright); translate:0 -2px; }
.text-link { font-size:13px; font-weight:700; border-bottom:1px solid #aa8a514d; padding-block:8px; } .text-link:hover { color:var(--gold); }
/* User-provided silent video with inline autoplay. */
.character-scene { position:relative; width:min(100%,290px); justify-self:center; }
.manicure-character { display:block; position:relative; z-index:1; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:var(--ink); }
.studio-section { color:#332c24; background:var(--paper); border-top:1px solid #d8bd8035; }
.studio-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:84px; padding-block:44px; }
.services { padding-top:8px; scroll-margin-top:94px; } .services .eyebrow { color:#897044; margin-bottom:8px; }
.service-list { margin-top:22px; }
.service-row { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-block:18px; border-top:1px solid var(--line-light); scroll-margin-top:100px; }
.service-row:last-child { border-bottom:1px solid var(--line-light); }
.service-row h3 { font-size:24px; line-height:1.25; } .service-row small { display:block; margin-top:4px; color:#746b5e; font-size:12px; }
.row-arrow { color:#8d6d36; transition:translate .2s; } .service-row:hover .row-arrow { translate:3px -3px; } .service-row:hover h3 { color:#8d6d36; }
.service-row .row-arrow { flex-shrink:0; font-size:11px; font-weight:700; }
.service-guides { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:17px; font-size:12px; line-height:1.65; }
.service-guides a { color:#806138; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#aa8a514d; }
.local-context { max-width:780px; margin:0 0 24px; color:#675d4f; font-size:14px; line-height:1.8; }
.local-faq { margin-top:24px; padding-top:22px; border-top:1px solid var(--line-light); }
.local-faq h2 { font-size:25px; margin-bottom:14px; }
.local-faq details, .service-faq details { border-top:1px solid var(--line-light); }
.local-faq details p, .service-faq details p { padding:0 0 16px; color:#675d4f; font-size:14px; line-height:1.8; max-width:760px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--muted); margin-bottom:30px; }
.breadcrumbs a { color:var(--gold); }
.service-intro { padding-block:28px 38px; }
.service-intro-grid { display:grid; align-items:center; max-width:820px; }
.service-intro-grid.has-photo { grid-template-columns:minmax(0,1fr) 200px; gap:40px; max-width:100%; }
.service-intro h1 { font-size:clamp(36px,5vw,56px); }
.service-intro .button { margin-top:24px; }
.service-photo { margin:0; }
.service-photo img { display:block; width:100%; height:230px; object-fit:cover; border-radius:4px; }
.service-photo figcaption { color:var(--muted); font-size:10px; margin-top:8px; }
.service-content { background:var(--paper); color:#332c24; }
.service-copy { max-width:900px; padding-block:30px; }
.service-copy>section { padding-block:20px; }
.service-copy>section+section { border-top:1px solid var(--line-light); }
.service-copy h2 { font-size:28px; margin-bottom:14px; }
.service-copy p { font-size:15px; line-height:1.85; }
.service-copy .service-note { font-size:12px; margin-top:18px; color:#746b5e; }
.service-visit { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; }
.service-visit address { font-size:14px; }
@media(max-width:760px) {
 .hero h1 { font-size:clamp(27px,7.4vw,36px); }
 .service-intro { padding-block:24px 30px; } .breadcrumbs { margin-bottom:24px; font-size:11px; }
 .service-intro-grid.has-photo { grid-template-columns:1fr; gap:25px; }
 .service-photo { max-width:230px; } .service-photo img { height:190px; }
 .service-copy { padding-block:14px; } .service-copy h2 { font-size:25px; }
 .service-visit { align-items:flex-start; flex-direction:column; gap:10px; }
 .service-page .header-inner>.text-link { font-size:11px; }
 .local-context { font-size:13px; } .local-faq h2 { font-size:23px; }
}
.service-note { margin-top:22px; color:#746b5e; font-size:12px; } .contact-number { display:inline-block; margin-top:7px; font-size:15px; font-weight:700; }
.instagram-section { min-width:0; scroll-margin-top:94px; } .feed-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:18px; }
.feed-heading h2 { font-size:25px; } .feed-heading a { font-size:11px; color:#796239; }
.instagram-live { container-type:inline-size; background:#fff; border-radius:4px; box-shadow:0 8px 22px #3f30220b; }
.instagram-frame { display:block; width:100%; height:calc(66.666cqw + 160px); border:0; border-radius:4px; background:white; color-scheme:light; }
.feed-fallback { display:block; margin-top:10px; font-size:11px; color:#746b5e; text-align:right; }
.location-section { background:var(--paper); color:#332c24; padding-block:0 34px; }
.location-heading { display:flex; align-items:center; justify-content:space-between; gap:28px; border-top:1px solid var(--line-light); padding-block:28px 22px; }
.location-heading .eyebrow { color:#897044; margin-bottom:7px; } .location-heading h2 { font-size:30px; }
.location-address { display:flex; align-items:center; gap:26px; } address { font-style:normal; font-size:13px; color:#675d4f; line-height:1.65; }
.location-address .text-link { color:#806138; white-space:nowrap; }
.nearby { margin-top:20px; border-top:1px solid var(--line-light); }
summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:13px; padding-block:15px; } summary::-webkit-details-marker { display:none; } details[open]>summary>span { rotate:45deg; }
.nearby .landmark-list { display:grid; grid-template-columns:repeat(3,1fr); gap:0 22px; } .nearby .landmark-list b { font-size:12px; } .nearby .landmark-list small { font-size:10px; } .nearby .landmark-list li+li { border-top:0; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:88px; color:#b6aa99; font-size:11px; }
.site-footer>div { display:flex; gap:24px; } .site-footer a:hover { color:var(--gold); }
.mobile-booking { display:none; }
@media (max-width:900px) { .studio-grid { gap:42px; } .main-nav { gap:20px; } .feed-heading { align-items:start; flex-direction:column; gap:5px; } }
@media (max-width:760px) {
 .section-wrap { width:calc(100% - 40px); } .header-inner { min-height:66px; } .brand-mark { width:35px; height:35px; font-size:14px; } .brand b { font-size:21px; } .brand small { font-size:8px; }
 .menu-toggle { display:grid; gap:5px; place-content:center; width:40px; height:40px; border:1px solid var(--line-dark); border-radius:2px; background:none; } .menu-toggle span { display:block; width:18px; height:1px; background:var(--gold); }
 .main-nav { display:none; position:absolute; top:66px; left:0; right:0; padding:12px 20px 20px; background:var(--ink); border-bottom:1px solid var(--line-dark); } .main-nav.is-open { display:grid; gap:0; } .main-nav a { padding:13px 0; }
 .hero { grid-template-columns:minmax(0,1fr) 130px; gap:12px; padding-block:20px 22px; position:relative; }
 .hero-copy { display:contents; }
 .hero .eyebrow { grid-column:1/-1; margin:0; }
 .hero h1 { grid-column:1; grid-row:2; font-size:clamp(29px,8vw,38px); }
 .hero .hero-lead { grid-column:1/-1; grid-row:3; margin:0; }
 .hero .hero-actions { grid-column:1/-1; grid-row:4; margin-top:2px; }
 h1 { font-size:clamp(40px,10vw,58px); } .hero .eyebrow { font-size:9px; margin-bottom:12px; }
 .hero-lead { font-size:13px; margin-top:15px; } .hero-actions { gap:15px; margin-top:20px; } .hero-actions .text-link { font-size:12px; } .button { padding:12px 15px; font-size:12px; gap:18px; }
 .character-scene { grid-column:2; grid-row:2; width:130px; margin:0; } 
 .studio-grid { grid-template-columns:1fr; gap:34px; padding-block:30px; } .services { padding-top:0; } h2 { font-size:28px; } .service-list { margin-top:15px; }
 .service-row { padding-block:14px; } .service-row h3 { font-size:22px; } .service-row small { font-size:12px; } .service-note { margin-top:16px; }
 .feed-heading { flex-direction:row; align-items:center; gap:10px; margin-bottom:12px; } .feed-heading h2 { font-size:26px; } .feed-heading a { font-size:9px; }
 .feed-fallback { font-size:10px; }
 .location-heading { align-items:start; flex-direction:column; gap:14px; padding-block:24px 20px; } .location-address { width:100%; justify-content:space-between; gap:14px; } .location-heading h2 { font-size:28px; } address { font-size:12px; }
 .nearby .landmark-list { grid-template-columns:1fr; } .site-footer { align-items:start; flex-direction:column; justify-content:center; gap:12px; padding-block:24px 88px; font-size:10px; }
 .mobile-booking { position:fixed; z-index:45; display:flex; align-items:center; justify-content:center; gap:25px; bottom:0; inset-inline:0; padding:14px 20px max(14px,env(safe-area-inset-bottom)); min-height:52px; color:#292113; background:var(--gold); font-size:12px; font-weight:800; border-top:1px solid #f1dca9; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

@media(prefers-reduced-motion:reduce) { .manicure-character { transform:none; }  }

/* Real work and public business information, kept deliberately compact. */
.google-proof { display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:13px; color:#c6bcaa; font-size:12px; }
.google-proof>span { color:var(--gold); letter-spacing:2px; } .google-proof b { color:var(--cream); }
.selected-work { padding-block:22px 30px; }
.compact-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.compact-heading h2 { font-size:28px; } .compact-heading>a { font-size:12px; color:#aa874d; }
.compact-heading .eyebrow { margin-bottom:6px; color:#897044; }
.work-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.work-photo { display:block; min-width:0; perspective:800px; }
.work-photo img { display:block; width:100%; height:190px; object-fit:cover; object-position:center 48%; border-radius:3px; transition:transform .35s,box-shadow .35s; }
.work-photo:hover img { transform:rotateX(3deg) rotateY(-3deg) translateY(-3px); box-shadow:7px 10px 20px #0004; }
.work-photo>span { display:flex; justify-content:space-between; gap:10px; margin-top:9px; color:#c8bdab; font-size:12px; } .work-photo i { font-style:normal; color:var(--gold); }
.reviews-section { background:var(--paper); color:#332c24; padding-block:0 32px; }
.reviews-section>.section-wrap { padding-top:28px; border-top:1px solid var(--line-light); }
.review-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.review-strip figure { margin:0; padding-left:15px; border-left:2px solid #b28d4e65; }
.review-strip blockquote { margin:0 0 12px; font:20px/1.4 var(--serif); }
.review-strip figcaption { font-size:12px; font-weight:700; } .review-strip figcaption span { display:block; font-weight:400; color:#796d5c; margin-top:2px; font-size:11px; }
.source-note { margin-top:17px; font-size:11px; line-height:1.6; color:#7a7061; } .source-note a { text-decoration:underline; text-underline-offset:3px; }
.reviews-section [hidden] { display:none!important; }
.reviews-section .grwidget-embed { width:100%; max-width:100%; min-width:0; color-scheme:light; }
.reviews-section .grwidget-embed:not([data-grwidget-mounted]) { min-height:0!important; }
.reviews-section { padding-top:4px; }
.review-rail-controls { display:flex; justify-content:flex-end; gap:8px; margin:-2px 0 6px; }
.review-rail-controls button { width:38px; height:38px; border-radius:50%; background:transparent; border:1px solid #9a804c60; color:#806138; font-size:20px; transition:background .2s; }
.review-rail-controls button:hover { background:#d8bd8033; }
#google-reviews-widget .grw-embed { background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; }
#google-reviews-widget .review-rail-window { overflow:clip!important; width:100%!important; max-width:100%!important; padding:18px 0 22px!important; touch-action:pan-y; }
#google-reviews-widget .review-rail-track { display:flex!important; flex-wrap:nowrap!important; gap:14px!important; width:100%!important; padding:0!important; grid-template-columns:none!important; align-items:stretch!important; will-change:transform; }
#google-reviews-widget .review-rail-card { flex:0 0 var(--review-card-width)!important; width:var(--review-card-width)!important; max-width:none!important; min-width:0!important; height:260px!important; border-radius:7px!important; box-shadow:0 6px 16px #281c1112!important; transition:scale .22s ease,box-shadow .22s ease!important; transform-origin:center; }
#google-reviews-widget .review-rail-card:hover { scale:1.035; z-index:2; box-shadow:0 10px 24px #281c1129!important; }
#google-reviews-widget .review-rail-card .grw-showcase-excerpt { display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:6!important; overflow:hidden!important; font-size:13px!important; line-height:1.55!important; }
#google-reviews-widget .review-rail-card .grw-feed-review-card__author-row { min-width:0; }
#google-reviews-widget .review-rail-card .grw-feed-review-card__author-row>span { font-size:12px!important; }
#google-reviews-widget .review-rail-card .grw-feed-review-card__body { padding:16px 14px 0!important; }
#google-reviews-widget .review-rail-card .grw-feed-review-card__footer { padding:12px 14px!important; }
#google-reviews-widget .grw-feed-header { display:none!important; }
.review-invite { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; padding-top:14px; }
.review-invite .source-note { margin:0; }
.review-invite-button { font-size:12px; }
.review-heading-actions { display:flex; align-items:center; gap:20px; font-size:12px; color:#806138; }
.review-sticker { display:grid; place-content:center; gap:2px; width:78px; height:78px; flex-shrink:0; border-radius:50%; border:1px solid #98713b; outline:1px dashed #98713b80; outline-offset:-7px; background:linear-gradient(140deg,#f2dca4,#d5b779); color:#49351a; text-align:center; rotate:9deg; box-shadow:3px 5px 0 #a7834630; transition:rotate .2s,translate .2s; }
.review-sticker small { font-size:8px; line-height:1.2; letter-spacing:.12em; }
.review-sticker b { font:18px/1 var(--serif); }
.review-sticker:hover { rotate:0deg; translate:0 -2px; }
@media(max-width:760px) {
 .review-heading-actions { gap:12px; } .review-heading-actions>a:not(.review-sticker) { display:none; }
 .review-sticker { width:66px; height:66px; } .review-sticker b { font-size:16px; } .review-sticker small { font-size:7px; }
 #google-reviews-widget .review-rail-card { height:245px!important; }
 .review-invite { justify-content:center; } .review-invite .source-note { width:100%; text-align:center; }
 .review-invite-button { width:100%; justify-content:center; }
}
.visit-info { display:grid; grid-template-columns:1fr 1fr; gap:12px 36px; padding:0 0 24px; }
.visit-info h3 { font-size:21px; margin-bottom:5px; } .visit-info p { font-size:13px; } .visit-info small { color:#796d5c; font-size:12px; } .visit-info a { display:inline-block; font-size:12px; color:#806138; border-bottom:1px solid #aa8a514d; margin-top:4px; }
.visit-info>.source-note { grid-column:1/-1; margin:0; font-size:11px; }
@media(max-width:760px) {
 .hero .google-proof { grid-column:1/-1; grid-row:4; margin:0; font-size:11px; }
 .hero .hero-actions { grid-row:5; }
 .selected-work { padding-block:10px 24px; } .compact-heading { align-items:start; gap:12px; margin-bottom:14px; } .compact-heading h2 { font-size:25px; } .compact-heading>a { font-size:11px; max-width:135px; text-align:right; }
 .work-strip { gap:8px; } .work-photo img { height:140px; } .work-photo>span { font-size:10px; line-height:1.5; } .work-photo i { display:none; }
 .review-strip { grid-template-columns:1fr; gap:18px; } .review-strip figure { padding-left:12px; } .review-strip blockquote { font-size:19px; margin-bottom:6px; } .review-strip figcaption span { display:inline; margin-left:8px; }
 .reviews-section { padding-bottom:24px; } .source-note { font-size:10px; }
 .visit-info { grid-template-columns:1fr; gap:18px; } .visit-info h3 { font-size:20px; }
}


