:root{--ink:#0b0c10;--navy:#10163a;--red:#b3dccc;--paper:#f2f0ec;--white:#fff;--muted:#a6a7ad;--line:rgba(255,255,255,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.55}body.modal-open{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#000;padding:.8rem}.skip-link:focus{top:1rem}.site-header{height:92px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:linear-gradient(180deg,rgba(0,0,0,.8),transparent);transition:.3s}.site-header.scrolled{height:74px;background:rgba(11,12,16,.94);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.brand img,.footer-brand img{display:block;object-fit:contain;filter:brightness(0) invert(1)}.brand img{width:150px;height:54px}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a,.link-button{font:700 .78rem/1 Arial;letter-spacing:.11em;text-transform:uppercase;color:#fff;text-decoration:none;background:none;border:0;cursor:pointer}.site-header nav a:hover,.link-button:hover{color:var(--red)}.link-button{border:1px solid #fff;padding:.8rem 1rem}.menu-toggle{display:none;background:none;border:0;width:40px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:7px}.panel{padding:9rem 8vw}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{background:url('studio-hero.webp') center/cover no-repeat;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(3,4,8,.92) 0%,rgba(7,9,20,.7) 45%,rgba(7,9,20,.12) 74%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}.hero-copy{position:relative;z-index:2;max-width:850px;margin-top:3rem}.eyebrow{margin:0 0 1.3rem;text-transform:uppercase;letter-spacing:.2em;font-weight:800;font-size:.78rem}.eyebrow.red{color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98}h1{font-size:clamp(4rem,8.5vw,9rem);letter-spacing:-.055em;margin-bottom:1.8rem}h1 em{color:var(--red);font-weight:400}h2{font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.045em}.hero-lead{max-width:570px;font-size:1.15rem;color:#e5e5e5}.actions{display:flex;gap:1rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.45rem;border:1px solid transparent;font-weight:800;letter-spacing:.07em;text-transform:uppercase;font-size:.78rem;text-decoration:none;cursor:pointer}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#b92737}.button-ghost{border-color:#fff;color:#fff;background:transparent}.button-ghost:hover{background:#fff;color:#111}.hero-meta{position:absolute;z-index:2;right:4vw;bottom:3rem;display:grid;text-align:right;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.hero-meta span:first-child{font-size:1.2rem}.hero-meta b{color:var(--red)}.scroll-cue{position:absolute;z-index:2;left:4vw;bottom:3rem;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.scroll-cue span{padding-left:.8rem;color:var(--red)}.statement{min-height:75vh;display:grid;grid-template-columns:.25fr 1.2fr .8fr;gap:4vw;align-items:center;background:var(--paper);color:#101116}.statement-number{align-self:start;color:var(--red);font:700 1rem/1 monospace}.statement h2{margin:0}.statement-copy{font-size:1.1rem;color:#4b4c52;max-width:550px}.image-triptych{display:grid;grid-template-columns:1.45fr .8fr;grid-template-rows:50vh 50vh;gap:2px;background:#000}.tile{position:relative;margin:0;overflow:hidden}.tile-tall{grid-row:1/3}.tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05);transition:transform .8s}.tile:hover img{transform:scale(1.035)}.tile figcaption{position:absolute;left:2rem;bottom:1.6rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}.services{background:var(--navy)}.section-head{display:grid;grid-template-columns:.7fr 1.2fr .8fr;gap:3vw;align-items:end;margin-bottom:5rem}.section-head h2{margin:0}.section-head>p:last-child{color:#c4c6d2}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:55px 1fr 110px 90px 90px;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line)}.service-list .index{color:var(--red);font-family:monospace}.service-list h3{font:400 1.75rem/1.2 Georgia,serif;margin-bottom:.35rem}.service-list p{margin:0;color:#b5b8c9}.service-list strong{font-size:1.3rem}.service-list button{background:none;color:#fff;border:0;border-bottom:1px solid var(--red);padding:.55rem .1rem;font-weight:800;text-transform:uppercase;cursor:pointer}.barber{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--paper);color:#111}.barber-photo{min-height:720px;background:#d4d1ca;overflow:hidden}.barber-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply}.barber-copy{padding:9vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.barber-copy h2{margin:0}.role{letter-spacing:.18em;font-size:.72rem}.barber blockquote{margin:3rem 0;font:400 clamp(1.5rem,2.5vw,2.5rem)/1.35 Georgia,serif}.reviews{background:var(--red);display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw}.review-score span{display:block;font:400 7rem/1 Georgia,serif}.review-score b{letter-spacing:.3em}.review-score p{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.review-carousel{position:relative;min-height:330px}.review{display:none}.review.active{display:block}.review>p{font:400 clamp(2rem,4vw,4.5rem)/1.15 Georgia,serif}.review footer{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem}.review-controls{position:absolute;bottom:0;display:flex;gap:1rem;align-items:center}.review-controls button{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer}.location{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:5vw;background:#e6e3dc;color:#111}.location h2{margin-bottom:2rem}.location address{font-style:normal;font-size:1.15rem;margin-bottom:2.5rem}.button-ghost.dark{border-color:#111;color:#111}.button-ghost.dark:hover{background:#111;color:#fff}.hours{border-top:4px solid #111;padding-top:2rem}.hours h3{font:400 2rem Georgia,serif}.hours dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #bbb;padding:1rem 0}.hours dd{margin:0}.contact-card{background:var(--navy);color:#fff;padding:2.5rem;align-self:start}.contact-card>a{display:block;color:#fff}.contact-card>a:first-of-type{font:400 1.65rem Georgia,serif;margin:.8rem 0}.contact-card small{display:block;color:#c4c6d2}.contact-card .whatsapp{display:inline-block;margin-top:2rem;text-transform:uppercase;letter-spacing:.13em}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;background:#101116}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact label{font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.contact input,.contact textarea{display:block;width:100%;margin-top:.6rem;background:#191a20;border:1px solid #3b3c42;color:#fff;min-height:56px;padding:1rem;font:inherit}.contact textarea{min-height:130px}.contact .full{grid-column:1/-1}.contact .consent{display:flex;gap:.8rem;align-items:center;text-transform:none;letter-spacing:0;font-weight:400}.contact .consent input{width:20px;min-height:20px;margin:0}.contact .consent a{color:#fff}.site-footer{padding:4rem 5vw;background:#050507;border-top:1px solid #222;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem}.site-footer>div{display:flex;justify-content:flex-end;gap:1.4rem}.site-footer a{color:#fff;text-decoration:none;font-size:.8rem}.site-footer p{grid-column:1/-1;color:#818287;font-size:.72rem}.back-to-top{position:fixed;right:1.2rem;bottom:1.2rem;z-index:40;width:44px;height:44px;border:1px solid #fff;background:#111;color:#fff;opacity:0;pointer-events:none;transition:.2s}.back-to-top.show{opacity:1;pointer-events:auto}.booking-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:2vw}.booking-modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.modal-panel{position:relative;width:min(1100px,96vw);height:min(900px,94svh);background:#fff;color:#111;display:flex;flex-direction:column}.modal-head{padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.modal-head h2{font-size:1.8rem;margin:0}.modal-head .eyebrow{margin-bottom:.3rem}.modal-head button{font-size:2rem;background:none;border:0;cursor:pointer}.modal-panel iframe{border:0;width:100%;flex:1}.modal-fallback{font-size:.75rem;padding:0 1.4rem}.cookie-banner{position:fixed;z-index:90;left:1rem;right:1rem;bottom:1rem;background:#fff;color:#111;padding:1.3rem;box-shadow:0 12px 50px rgba(0,0,0,.4);display:flex;justify-content:space-between;gap:2rem;align-items:center}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0}.cookie-banner>div:last-child{display:flex;gap:.7rem}.cookie-banner button:not(.button){padding:.9rem;border:1px solid #111;background:#fff;cursor:pointer}
@media(max-width:900px){.site-header{height:76px;padding:0 1.2rem}.menu-toggle{display:block;z-index:3}.site-header nav{position:fixed;inset:0;background:var(--navy);display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.35s}.site-header nav.open{transform:none}.site-header nav a,.link-button{font-size:1rem}.panel{padding:6rem 1.3rem}.hero{padding-top:8rem;align-items:flex-end;padding-bottom:7rem}.hero-media{background-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(4,5,10,.96) 8%,rgba(6,8,16,.57) 74%,rgba(0,0,0,.2))}.hero-copy{margin:0}.hero h1{font-size:clamp(3.5rem,18vw,6rem)}.hero-lead{font-size:1rem}.hero-meta{left:1.3rem;right:auto;bottom:2rem;text-align:left}.scroll-cue{display:none}.actions{flex-wrap:wrap}.statement{grid-template-columns:1fr;min-height:auto}.statement-number{display:none}.statement-copy{font-size:1rem}.image-triptych{grid-template-columns:1fr;grid-template-rows:62vh 42vh 42vh}.tile-tall{grid-row:auto}.section-head{grid-template-columns:1fr;margin-bottom:3rem}.service-list article{grid-template-columns:32px 1fr auto;gap:.7rem 1rem}.service-list .duration{grid-column:2}.service-list strong{grid-column:3;grid-row:1}.service-list button{grid-column:3;grid-row:2}.barber{grid-template-columns:1fr}.barber-photo{min-height:470px}.barber-copy{padding:5rem 1.3rem}.reviews{grid-template-columns:1fr;gap:3rem}.review-score span{font-size:5rem}.review-carousel{min-height:420px}.location{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.contact form{grid-template-columns:1fr}.contact form>*{grid-column:1!important}.site-footer{grid-template-columns:1fr}.site-footer>div{justify-content:flex-start;flex-direction:column}.site-footer p{grid-column:auto}.cookie-banner{flex-direction:column;align-items:stretch}.cookie-banner>div:last-child{flex-wrap:wrap}.modal-panel{width:100%;height:96svh}.booking-modal{padding:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Correções de contraste e controlos */
.button-primary{color:var(--ink)}
.button-primary:hover{background:#95c8c8;color:var(--ink)}
.reviews{color:var(--ink)}
.review-carousel{display:flex;flex-direction:column;min-width:0;min-height:0}
.review{min-width:0}
.review>p{overflow-wrap:anywhere}
.review footer{margin-top:1.5rem}
.review-controls{position:static;margin-top:2.5rem;display:flex;gap:1rem;align-items:center}
.review-controls button{position:relative;width:48px;height:48px;border:1px solid rgba(11,12,16,.45);background:transparent;color:var(--ink);cursor:pointer}
.review-controls button::before{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border-bottom:2px solid currentColor;border-left:2px solid currentColor}
.review-controls [data-review-prev]::before{transform:translate(-35%,-50%) rotate(45deg)}
.review-controls [data-review-next]::before{transform:translate(-65%,-50%) rotate(225deg)}
.review-score b{color:var(--ink)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.52));pointer-events:none}
.tile figcaption{z-index:1}
