@font-face{
  font-family:"Redrains DEMO";
  src:url("fonts/Redrains-DEMO.otf") format("opentype"),
      url("https://www.inbarber.fi/wp-content/uploads/fonts/Redrains-DEMO.otf") format("opentype");
  font-display:swap;
}
:root{
  --gold:#f5d27d;
  --bg:#000;
  --text:#f4f1ea;
  --muted:#aaa59b;
  --line:rgba(255,255,255,.16);
  --display:"Redrains DEMO","Times New Roman",Georgia,serif;
  --sans:"Open Sans",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.8,.2,1);
  --nav-h:96px;
  --header:#000;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h)}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}
.display{font-family:var(--display);font-weight:400;line-height:1.02}
.label{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 32px;font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--gold);color:#000;overflow:hidden;transition:transform .3s var(--ease),opacity .3s}
.btn::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-101%);transition:transform .5s var(--ease);mix-blend-mode:overlay;opacity:.35}
.btn:hover::after{transform:none}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-line{background:none;color:var(--text);border:1px solid var(--line);transition:border-color .3s,transform .3s var(--ease)}
.btn-line::after{display:none}
.btn-line:hover{border-color:var(--text)}
.btn[disabled]{opacity:.3;pointer-events:none}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:var(--header);border-bottom:1px solid var(--line);animation:navIn .8s var(--ease) backwards}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--nav-h)}
.brand{display:flex;align-items:center;gap:16px;flex:none}
.brand img{width:62px;height:62px;border-radius:50%;object-fit:cover}
.brand span{font-family:var(--display);font-size:36px;color:var(--gold);line-height:1}
.links{display:flex;align-items:center;gap:30px}
.links a:not(.btn){font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;position:relative;padding:6px 0;transition:color .3s}
.links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.links a:not(.btn):hover{color:var(--gold)}
.links a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
.links .tel{letter-spacing:.06em!important;color:var(--muted)}
.links .btn{height:50px;padding:0 26px;font-size:13px}
.nav-book{display:none!important}
.burger{display:none;width:52px;height:52px;border:1px solid var(--line);align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:1.5px;background:var(--text);position:relative;transition:transform .35s var(--ease),background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.menu-open .burger span{background:transparent}
.menu-open .burger span::before{transform:translateY(6px) rotate(45deg)}
.menu-open .burger span::after{transform:translateY(-6px) rotate(-45deg)}
@keyframes navIn{from{opacity:0;transform:translateY(-100%)}}

@media (max-width:1180px){
  .burger{display:flex}
  /* Book now stays in the bar on small screens instead of hiding in the menu */
  .nav-book{display:inline-flex!important;margin-left:auto;height:48px;padding:0 22px;font-size:13px}
  .links{position:fixed;inset:var(--nav-h) 0 0;z-index:39;background:var(--header);flex-direction:column;align-items:stretch;gap:0;padding:24px 24px 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
  .menu-open .links{opacity:1;visibility:visible}
  .links a:not(.btn){font-family:var(--display);font-size:40px;font-weight:400;letter-spacing:0;text-transform:none;padding:12px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease),color .3s}
  .links a:not(.btn)::after{display:none}
  .links .tel{font-family:var(--sans)!important;font-size:20px!important;color:var(--text)}
  .menu-open .links a{opacity:1;transform:none}
  .links .btn{margin-top:28px;height:60px;font-size:15px}
  .menu-open .links a:nth-child(2){transition-delay:.04s}
  .menu-open .links a:nth-child(3){transition-delay:.08s}
  .menu-open .links a:nth-child(4){transition-delay:.12s}
  .menu-open .links a:nth-child(5){transition-delay:.16s}
  .menu-open .links a:nth-child(6){transition-delay:.2s}
  .menu-open{overflow:hidden}
}

.arrows{display:flex;gap:10px}
.arrow{width:52px;height:52px;border:1px solid var(--line);display:grid;place-items:center;transition:border-color .3s,background .3s,color .3s}
.arrow:hover{border-color:var(--text);background:var(--text);color:#000}
.arrow:disabled{opacity:.25;pointer-events:none}
.arrow svg{width:18px;height:18px}

footer{border-top:1px solid var(--line);padding:32px 0;font-size:14px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* scroll reveal (only when JS is running, so content never stays hidden) */
.js .rv{opacity:0;transform:translateY(32px);transition:opacity 1s var(--ease) var(--d,0s),transform 1s var(--ease) var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:640px){
  :root{--nav-h:80px}
  body{font-size:16px}
  .wrap{width:calc(100% - 32px)}
  .nav .wrap{gap:10px}
  .brand{gap:10px}
  .brand img{width:46px;height:46px}
  .brand span{font-size:26px}
  .nav-book{height:44px;padding:0 14px;font-size:11px;letter-spacing:.12em}
  .burger{width:46px;height:46px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
}
