/*
Theme Name: Layerd Studios
Theme URI: https://layerdstudios.uk
Author: Layerd Studios
Description: Custom theme for Layerd Studios — nails, lashes, brows and Layerd Academy, Exeter.
Version: 1.0
Text Domain: layerd
*/

:root{
  --bg:#E9E4DB;
  --bg-raise:#F0ECE4;
  --espresso:#322D27;
  --espresso-2:#3F3931;
  --ink:#3B3630;
  --ink-soft:#6B635A;
  --cream:#ECE8E0;
  --line:rgba(59,54,48,.18);
  --line-light:rgba(236,232,224,.25);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit;margin:0;}
html{scroll-padding-top:calc(76px + env(safe-area-inset-top,0px));scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Jost',sans-serif;font-weight:400;font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Noto Serif Display',serif;font-style:italic;font-weight:400;line-height:1.15;color:var(--ink);}
h1{font-size:clamp(2rem,6vw,3.4rem);}
h2{font-size:clamp(1.6rem,4vw,2.4rem);}
h3{font-size:1.45rem;}
p{color:var(--ink-soft);max-width:60ch;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1220px;margin:0 auto;padding:0 22px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;font-family:'Jost';font-size:1rem;font-weight:400;
  text-decoration:none;cursor:pointer;border:1px solid var(--espresso);
  background:var(--espresso);color:var(--cream);border-radius:2px;
  transition:background .18s ease,color .18s ease;
}
.btn:hover{background:var(--espresso-2);color:var(--cream);}
.btn.alt{background:transparent;color:var(--ink);}
.btn.alt:hover{background:var(--espresso);color:var(--cream);}
.btn.light{background:var(--cream);color:var(--espresso);border-color:var(--cream);}
.btn.light:hover{background:transparent;color:var(--cream);}
.tlink{font-family:'Jost';font-size:1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px;}
.tlink:hover{color:var(--ink-soft);border-color:var(--ink-soft);}

header.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;max-width:1220px;margin:0 auto;padding:0 22px;}
.logo img{height:34px;width:auto;}
nav.links{display:none;gap:34px;font-size:1rem;}
nav.links ul{list-style:none;display:flex;gap:34px;padding:0;}
nav.links a{text-decoration:none;color:var(--ink);}
nav.links a:hover{color:var(--ink-soft);}
.nav-actions{display:flex;align-items:center;gap:14px;}
.nav-actions .btn{padding:11px 22px;font-size:.95rem;}
.burger{width:44px;height:44px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;padding:0;}
.burger i{display:block;width:22px;height:1px;background:var(--ink);}

.menu{position:fixed;inset:0;background:var(--bg);z-index:60;display:flex;flex-direction:column;padding:0 22px;padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(100%);transition:transform .32s cubic-bezier(.55,0,.15,1);}
.menu.open{transform:translateX(0);}
.menu .nav-row{padding:0;}
.menu ul{list-style:none;padding:0;}
.menu a.item{font-family:'Noto Serif Display';font-style:italic;font-size:2rem;color:var(--ink);text-decoration:none;display:block;padding:18px 0;border-bottom:1px solid var(--line);}
.menu .menu-foot{margin-top:auto;padding-top:28px;color:var(--ink-soft);font-size:.95rem;line-height:1.8;}
.close{background:none;border:none;font-size:1.9rem;line-height:1;color:var(--ink);cursor:pointer;font-family:'Jost';font-weight:300;}

.hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,45,39,.05) 30%,rgba(50,45,39,.72) 100%);}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1220px;margin:0 auto;padding:0 22px 54px;}
.hero h1{color:#F4F1EA;max-width:16ch;}
.hero p{color:#E4DFD5;margin:14px 0 24px;font-size:1.05rem;max-width:44ch;}
.hero-ctas{display:flex;flex-direction:column;gap:12px;max-width:330px;}
.hero-ctas .btn{width:100%;}
.hero-ctas .btn.alt{border-color:#F4F1EA;color:#F4F1EA;}
.hero-ctas .btn.alt:hover{background:#F4F1EA;color:var(--espresso);}

.info-band{border-bottom:1px solid var(--line);}
.info-band .wrap{padding-top:18px;padding-bottom:18px;font-size:.98rem;color:var(--ink-soft);}

section{padding:60px 0;}

.story .wrap{max-width:840px;}
.story h2{margin-bottom:26px;}
.story .big{font-family:'Noto Serif Display';font-style:italic;font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.5;color:var(--ink);max-width:none;}
.story .rest{margin-top:22px;font-size:1.05rem;}

.services{background:var(--bg-raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:30px;}
.sec-head p{margin-top:10px;}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 16px;}
.svc h3{font-family:'Jost';font-style:normal;font-weight:500;font-size:1.05rem;letter-spacing:.01em;margin:12px 0 2px;}
.svc .img{aspect-ratio:4/5;overflow:hidden;border-radius:2px;}
.svc img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.svc a.img-link:hover img{transform:scale(1.03);}
.svc .tlink{font-size:.92rem;}
.svc .price{color:var(--ink-soft);font-size:.92rem;margin-bottom:8px;}
.svc .price .amt{display:inline-block;min-width:2ch;border-bottom:1px dashed var(--line);}

.academy{background:var(--espresso);color:var(--cream);}
.academy h2,.academy h3{color:var(--cream);}
.academy p{color:#C9C2B6;}
.academy-grid{display:grid;gap:44px;align-items:center;}
.academy .img{border-radius:2px;overflow:hidden;}
.academy img{width:100%;aspect-ratio:1/1;max-height:400px;object-fit:cover;}
.courses{list-style:none;padding:0;margin:30px 0 34px;}
.courses li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:15px 0;border-bottom:1px solid var(--line-light);font-size:1.02rem;}
.courses li:first-child{border-top:1px solid var(--line-light);}
.courses li span:last-child{white-space:nowrap;color:#C9C2B6;}

.team-grid{display:grid;gap:40px;align-items:center;}
.team-grid .img{border-radius:2px;overflow:hidden;}
.team-grid img{width:100%;aspect-ratio:1/1;max-height:400px;object-fit:cover;}
.team-grid h2{margin-bottom:18px;}

.gallery{background:var(--bg-raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.g-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
.g-row img{flex:0 0 42%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;scroll-snap-align:start;}

.contact-grid{display:grid;gap:48px;}
.details{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:18px;font-size:1.02rem;}
.details .lbl{color:var(--ink-soft);display:block;font-size:.92rem;}
.details a{color:var(--ink);}
form.enquiry{display:grid;gap:14px;}
form.enquiry label{font-size:.92rem;color:var(--ink-soft);display:grid;gap:6px;}
form.enquiry input,form.enquiry textarea,form.enquiry select{font-family:'Jost';font-size:1rem;padding:13px 14px;border:1px solid var(--line);background:var(--bg-raise);color:var(--ink);border-radius:2px;width:100%;}
form.enquiry textarea{min-height:110px;resize:vertical;}
form.enquiry input:focus,form.enquiry textarea:focus,form.enquiry select:focus{outline:1px solid var(--ink);outline-offset:0;}
.form-success{background:var(--bg-raise);border:1px solid var(--line);padding:16px 18px;border-radius:2px;margin-bottom:18px;font-size:.95rem;}

.page-head{padding:52px 0 34px;border-bottom:1px solid var(--line);}
.page-head p{margin-top:12px;}
.crumb{font-size:.92rem;color:var(--ink-soft);text-decoration:none;display:inline-block;margin-bottom:16px;border-bottom:1px solid transparent;}
.crumb:hover{border-color:var(--ink-soft);}

.menu-cat{padding:46px 0;border-bottom:1px solid var(--line);}
.menu-cat:last-of-type{border-bottom:none;}
.cat-grid{display:grid;gap:26px;}
.cat-grid .img{border-radius:2px;overflow:hidden;}
.cat-grid img{width:100%;aspect-ratio:1/1;max-height:340px;object-fit:cover;}
.price-list{list-style:none;padding:0;margin:18px 0 22px;}
.price-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:1rem;}
.price-list li:first-child{border-top:1px solid var(--line);}
.price-list .amt{display:inline-block;min-width:2ch;border-bottom:1px dashed var(--line);}
.price-list li span:last-child{white-space:nowrap;color:var(--ink-soft);}

/* Editable page content (Gutenberg) inherits the same look */
.entry-content{padding:52px 0;max-width:840px;margin:0 auto;}
.entry-content h2{margin:34px 0 16px;}
.entry-content h2:first-child{margin-top:0;}
.entry-content p{font-size:1.02rem;margin-bottom:16px;max-width:none;}
.entry-content ul{list-style:none;padding:0;margin:0 0 22px;}
.entry-content ul li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink-soft);}
.entry-content ul li:first-child{border-top:1px solid var(--line);}
.entry-content img{border-radius:2px;margin:20px 0;}

.deck{display:grid;gap:20px;padding:8px 0 20px;}
.card{position:relative;display:block;text-decoration:none;background:var(--bg-raise);border:1px solid var(--line);border-radius:2px;padding:28px 26px;box-shadow:0 18px 40px -28px rgba(50,45,39,.5);transition:transform .25s ease,box-shadow .25s ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 48px -26px rgba(50,45,39,.55);}
.card h3{font-size:1.35rem;margin-bottom:8px;}
.card .card-line{color:var(--ink-soft);font-size:.98rem;margin-bottom:16px;max-width:46ch;}
.card .card-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;}
.card .card-price{font-size:1rem;color:var(--ink);}
.card .tlink{font-size:.95rem;}
.card.dark{background:var(--espresso);border-color:var(--espresso);}
.card.dark h3{color:var(--cream);}
.card.dark .card-line{color:#C9C2B6;}
.card.dark .card-price{color:var(--cream);}
.card.dark .tlink{color:var(--cream);border-color:var(--cream);}

.course-body{display:grid;gap:44px;padding:52px 0 70px;}
.course-body h2{font-size:1.5rem;margin-bottom:16px;}
.covers{list-style:none;padding:0;margin:0;}
.covers li{padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink-soft);}
.covers li:first-child{border-top:1px solid var(--line);}
.course-side{background:var(--bg-raise);border:1px solid var(--line);border-radius:2px;padding:28px 24px;height:fit-content;}
.course-side .p-big{font-family:'Noto Serif Display';font-style:italic;font-size:1.6rem;color:var(--ink);margin-bottom:6px;}
.course-side .p-note{font-size:.95rem;margin-bottom:20px;}

.site-footer{background:var(--espresso);color:#C9C2B6;padding:56px 0 40px;}
.site-footer .foot-grid{display:flex;flex-direction:column;gap:26px;align-items:flex-start;}
.site-footer img.mark{height:44px;width:auto;}
.site-footer a{color:#E4DFD5;text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}
.site-footer .small{font-size:.9rem;}
.site-footer nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:22px;padding:0;font-size:.98rem;}

.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;width:54px;height:54px;border-radius:50%;background:var(--espresso);color:var(--cream);display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 10px 24px rgba(50,45,39,.35);}
.wa svg{width:25px;height:25px;}

:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}

@media (min-width:760px){
  section{padding:104px 0;}
  nav.links{display:flex;}
  .burger{display:none;}
  .hero{min-height:82vh;}
  .hero-ctas{flex-direction:row;max-width:none;}
  .hero-ctas .btn{width:auto;min-width:230px;}
  .svc-grid{grid-template-columns:repeat(4,1fr);gap:40px 26px;}
  .svc h3{font-size:1.1rem;}
  .academy-grid{grid-template-columns:0.9fr 1.1fr;gap:80px;}
  .academy img{aspect-ratio:4/5;max-height:560px;}
  .team-grid{grid-template-columns:0.9fr 1.1fr;gap:80px;}
  .team-grid img{aspect-ratio:4/5;max-height:560px;}
  .g-row img{flex-basis:23%;}
  .contact-grid{grid-template-columns:1fr 1fr;gap:90px;}
  .site-footer .foot-grid{flex-direction:row;justify-content:space-between;align-items:center;}
  .page-head{padding:76px 0 44px;}
  .menu-cat{padding:64px 0;}
  .cat-grid{grid-template-columns:0.75fr 1.25fr;gap:70px;align-items:start;}
  .deck{grid-template-columns:repeat(6,1fr);gap:0;padding:20px 0 40px;}
  .card{grid-column:span 3;margin-bottom:26px;}
  .card:nth-child(6n+1){grid-column:1/4;}
  .card:nth-child(6n+2){grid-column:4/7;transform:translateY(34px);}
  .card:nth-child(6n+3){grid-column:1/4;transform:translateY(-10px);}
  .card:nth-child(6n+4){grid-column:4/7;transform:translateY(24px);}
  .card:nth-child(6n+5){grid-column:2/6;transform:translateY(10px);}
  .card:hover{transform:translateY(-6px) !important;}
  .course-body{grid-template-columns:1.2fr 0.8fr;gap:90px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .menu,.svc img,.btn,.card{transition:none;}
}
