:root{
  --c-bg:#131110;
  --c-bg-alt:#18140f;
  --c-surface:#1c1713;
  --c-surface-2:#211b16;
  --c-border:rgba(232,216,196,.14);
  --c-border-strong:rgba(232,216,196,.30);
  --c-text:#f3ede4;
  --c-text-dim:#b3a89a;
  --c-text-faint:#8a8074;
  --c-accent:#e08d3c;
  --c-accent-dark:#b96f28;
  --c-accent-2:#7fae8e;
  --c-accent-contrast:#191410;

  --r-sm:8px;
  --r-md:14px;
  --r-lg:20px;
  --r-xl:28px;
  --r-full:999px;

  --sp-1: clamp(.5rem,.44rem + .3vw,.75rem);
  --sp-2: clamp(.75rem,.6rem + .6vw,1.25rem);
  --sp-3: clamp(1.25rem,1rem + 1vw,2rem);
  --sp-4: clamp(2rem,1.5rem + 2vw,3rem);
  --sp-5: clamp(3rem,2.2rem + 3vw,5rem);
  --sp-6: clamp(4rem,3rem + 4vw,7.5rem);

  --shadow-sm: 0 1px 2px rgba(0,0,0,.45);
  --shadow-md: 0 10px 26px -8px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.4);
  --shadow-lg: 0 24px 60px -14px rgba(0,0,0,.65), 0 8px 24px -6px rgba(0,0,0,.5);
  --shadow-glow: 0 0 0 1px rgba(224,141,60,.35), 0 10px 34px -10px rgba(224,141,60,.4);

  --ease: cubic-bezier(.22,.9,.32,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Bricolage Grotesque',sans-serif;
  color:var(--c-text);
  line-height:1.15;
  margin:0 0 var(--sp-2);
  font-weight:700;
  letter-spacing:-.01em;
}
p{margin:0 0 var(--sp-2); color:var(--c-text-dim);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block; height:auto;}
ul{margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}

.c-container{
  width:100%;
  max-width:1220px;
  margin-inline:auto;
  padding-inline: clamp(1.2rem,3vw,2.5rem);
}

.c-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--c-accent);
  border:1px solid var(--c-border-strong);
  padding:.45em 1em;
  border-radius:var(--r-full);
  margin-bottom:var(--sp-2);
  background:rgba(224,141,60,.06);
}


.c-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  padding: .95em 1.8em;
  border:1.5px solid var(--c-accent);
  border-radius:var(--r-md);
  color:var(--c-accent);
  background:transparent;
  font-weight:600;
  font-size:.98rem;
  min-height:48px;
  transition: background .35s var(--ease), color .35s var(--ease), transform .3s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  white-space:nowrap;
}
.c-btn:hover{
  background:var(--c-accent);
  color:var(--c-accent-contrast);
  transform:translateY(-2px);
  box-shadow:var(--shadow-glow);
}
.c-btn--ghost{
  border-color:transparent;
  color:var(--c-text);
  padding-inline:.4em;
}
.c-btn--ghost:hover{
  background:transparent;
  color:var(--c-accent);
  transform:translateX(4px);
  box-shadow:none;
}
.c-btn--block{width:100%;}


.c-nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  transition: background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  border-bottom:1px solid transparent;
}
.c-nav.is-scrolled{
  background:rgba(19,17,16,.7);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--c-border);
  box-shadow: 0 8px 30px -18px rgba(0,0,0,.6);
}
.c-nav__inner{
  max-width:1220px;
  margin-inline:auto;
  padding: 1rem clamp(1.2rem,3vw,2.5rem);
  display:flex;
  align-items:center;
  gap:var(--sp-3);
}
.c-nav__brand{
  display:flex; align-items:center; gap:.6em;
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;
  font-size:1.15rem;
  margin-right:auto;
}
.c-nav__logo{width:34px; height:34px;}
.c-nav__links{
  display:flex; align-items:center; gap:clamp(1rem,2vw,1.9rem);
}
.c-nav__links a{
  font-size:.92rem; font-weight:500; color:var(--c-text-dim);
  position:relative; padding:.3em 0;
  transition: color .3s var(--ease);
}
.c-nav__links a::after{
  content:''; position:absolute; left:0; right:100%; bottom:-2px; height:1.5px;
  background:var(--c-accent); transition: right .35s var(--ease);
}
.c-nav__links a:hover, .c-nav__links a.is-active{color:var(--c-text);}
.c-nav__links a:hover::after, .c-nav__links a.is-active::after{right:0;}
.c-nav__cta{padding:.7em 1.4em; min-height:44px;}
.c-nav__burger{
  display:none; width:44px; height:44px; border:1.5px solid var(--c-border-strong);
  border-radius:var(--r-sm); background:transparent; flex-direction:column;
  align-items:center; justify-content:center; gap:5px;
}
.c-nav__burger span{width:20px;height:2px;background:var(--c-text);transition:transform .3s var(--ease), opacity .3s var(--ease);}


.c-mobile-menu{
  position:fixed; inset:0; z-index:300; display:flex;
  visibility:hidden; opacity:0;
  transition: opacity .4s var(--ease), visibility .4s var(--ease);
}
.c-mobile-menu.is-active{visibility:visible; opacity:1;}
.c-mobile-menu__panel{
  width:60%; height:100%; background:var(--c-bg-alt);
  border-right:1px solid var(--c-border);
  padding: clamp(2rem,6vw,4rem) clamp(1.5rem,5vw,3rem);
  display:flex; flex-direction:column; justify-content:center; position:relative;
  transform:translateX(-30px); opacity:0;
  transition: transform .5s var(--ease) .1s, opacity .5s var(--ease) .1s;
}
.c-mobile-menu.is-active .c-mobile-menu__panel{transform:translateX(0); opacity:1;}
.c-mobile-menu__visual{
  width:40%; height:100%; position:relative; overflow:hidden;
}
.c-mobile-menu__visual img{width:100%;height:100%;object-fit:cover; opacity:.85;}
.c-mobile-menu__visual::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(19,17,16,.1),rgba(19,17,16,.55));
}
.c-mobile-menu__close{
  position:absolute; top:1.5rem; right:1.5rem;
  width:44px;height:44px; border-radius:var(--r-sm);
  border:1.5px solid var(--c-border-strong); background:transparent; color:var(--c-text);
  font-size:1.6rem; line-height:1;
}
.c-mobile-menu__links{display:flex; flex-direction:column; gap:.3em;}
.c-mobile-menu__links a{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(1.7rem,6vw,2.6rem); font-weight:700;
  color:var(--c-text); padding:.25em 0; border-bottom:1px solid transparent;
  transition:color .3s var(--ease), padding-left .3s var(--ease);
}
.c-mobile-menu__links a:hover{color:var(--c-accent); padding-left:.2em;}
.c-mobile-menu__meta{margin-top:var(--sp-4); color:var(--c-text-dim); font-size:.9rem;}
.c-mobile-menu__meta p{margin-bottom:.4em;}


.s-hero{
  position:relative;
  min-height:88vh;
  display:flex; align-items:center;
  padding-top:clamp(6rem,10vw,8rem);
  padding-bottom:var(--sp-5);
  overflow:hidden;
}
.s-hero__blob{
  position:absolute; border-radius:50%;
  filter:blur(70px); z-index:0; opacity:.55;
  animation: blobMove 20s ease-in-out infinite;
}
.s-hero__blob--one{
  width:min(46vw,560px); height:min(46vw,560px);
  background: radial-gradient(circle at 30% 30%, rgba(224,141,60,.55), transparent 70%);
  top:-10%; right:-8%;
}
.s-hero__blob--two{
  width:min(34vw,420px); height:min(34vw,420px);
  background: radial-gradient(circle at 60% 40%, rgba(127,174,142,.4), transparent 70%);
  bottom:-15%; left:-6%;
  animation-duration:26s;
  animation-direction:reverse;
}
@keyframes blobMove{
  0%{transform:translate(0,0) scale(1);}
  33%{transform:translate(30px,-40px) scale(1.08);}
  66%{transform:translate(-25px,25px) scale(.94);}
  100%{transform:translate(0,0) scale(1);}
}
.s-hero__grid{
  position:relative; z-index:1;
  max-width:1220px; margin-inline:auto;
  padding-inline: clamp(1.2rem,3vw,2.5rem);
  display:grid; grid-template-columns:1.1fr .9fr; gap: var(--sp-5);
  align-items:center;
}
.s-hero__title{
  font-size:clamp(2.3rem,4.6vw,4rem);
  margin-bottom:var(--sp-3);
}
.s-hero__typed{color:var(--c-accent);}
.s-hero__desc{font-size:clamp(1rem,1.5vw,1.15rem); max-width:46ch; margin-bottom:var(--sp-3);}
.s-hero__actions{display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-bottom:var(--sp-4);}
.s-hero__facts{display:flex; flex-wrap:wrap; gap:var(--sp-3);}
.s-hero__facts div{display:flex; align-items:center; gap:.6em; color:var(--c-text-dim); font-size:.9rem;}
.s-hero__facts i{color:var(--c-accent);}
.s-hero__visual{position:relative;}
.s-hero__frame{
  border:1.5px solid var(--c-border-strong);
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
}
.s-hero__frame img{width:100%; height:100%; object-fit:cover;}
.s-hero__badge{
  position:absolute; bottom:-1.4rem; left:-1.4rem;
  background:var(--c-surface);
  border:1px solid var(--c-border-strong);
  border-radius:var(--r-lg);
  padding:1em 1.3em;
  display:flex; align-items:center; gap:.8em;
  box-shadow:var(--shadow-md);
}
.s-hero__badge i{color:var(--c-accent); font-size:1.4rem;}
.s-hero__badge strong{display:block; font-size:.95rem;}
.s-hero__badge span{font-size:.8rem; color:var(--c-text-dim);}


.c-strip{
  border-block:1px solid var(--c-border);
  background:var(--c-bg-alt);
  overflow:hidden;
  padding-block: .9em;
}
.c-strip--alt{background:var(--c-bg);}
.c-strip__track{
  display:flex; gap:2.6rem; white-space:nowrap;
  animation: stripScroll 26s linear infinite;
  width:max-content;
}
.c-strip__track span{
  display:inline-flex; align-items:center; gap:.6em;
  color:var(--c-text-faint); font-size:.85rem; font-weight:500;
  letter-spacing:.02em; text-transform:uppercase;
}
.c-strip__track i{color:var(--c-accent);}
@keyframes stripScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}


main section{padding-block: var(--sp-6);}
.s-page-hero{padding-block: clamp(7rem,12vw,9rem) var(--sp-4);}
.s-page-hero h1{font-size:clamp(2rem,4.4vw,3.2rem); max-width:18ch;}
.s-page-hero p{max-width:60ch; font-size:1.05rem;}


.c-card{
  border:1px solid var(--c-border);
  background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0));
  border-radius:var(--r-lg);
  padding: var(--sp-3);
  transition: border-color .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease), background .4s var(--ease);
}
.c-card:hover{
  border-color:var(--c-accent);
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  background:linear-gradient(180deg, rgba(224,141,60,.06), rgba(224,141,60,0));
}
.c-icon-box{
  width:52px; height:52px; border-radius:var(--r-md);
  border:1.5px solid var(--c-border-strong);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:var(--c-accent);
  margin-bottom:var(--sp-2);
  transition: background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.c-card:hover .c-icon-box{background:var(--c-accent); color:var(--c-accent-contrast); border-color:var(--c-accent);}
.c-tag{
  display:inline-block; font-size:.78rem; font-weight:600; color:var(--c-accent-2);
  border:1px solid rgba(127,174,142,.4); border-radius:var(--r-full); padding:.3em .9em; margin-top:.6em;
}


.s-steps__head, .s-features__head, .s-projects__head, .s-approach__head, .s-workshop-tour__head, .s-gallery__head, .s-faq__head, .s-booking-steps__head{
  max-width:60ch; margin-bottom:var(--sp-4);
}
.s-steps__head h2, .s-features__head h2, .s-projects__head h2, .s-approach__head h2, .s-workshop-tour__head h2, .s-gallery__head h2, .s-faq__head h2, .s-booking-steps__head h2{
  font-size:clamp(1.7rem,3.4vw,2.5rem);
}
.s-steps__grid, .s-approach__grid, .s-booking-steps__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:var(--sp-3);
}
.s-steps__card{position:relative;}
.s-steps__num{
  font-family:'Bricolage Grotesque',sans-serif; font-size:2rem; font-weight:800;
  color:var(--c-border-strong); display:block; margin-bottom:.4em;
}


.s-features__body{display:grid; grid-template-columns: .8fr 1.2fr; gap:var(--sp-4); align-items:start;}
.c-tabs{display:flex; flex-direction:column; gap:.7rem;}
.c-tabs__btn{
  display:flex; align-items:center; gap:.8em;
  text-align:left; border:1.5px solid var(--c-border); background:transparent;
  color:var(--c-text-dim); padding: 1em 1.2em; border-radius:var(--r-md);
  font-size:.95rem; font-weight:600;
  transition: border-color .35s var(--ease), color .35s var(--ease), background .35s var(--ease);
}
.c-tabs__btn i{color:var(--c-accent);}
.c-tabs__btn:hover{border-color:var(--c-border-strong); color:var(--c-text);}
.c-tabs__btn.is-active{
  border-color:var(--c-accent); background:rgba(224,141,60,.08); color:var(--c-text);
}
.s-features__panels{position:relative; border:1px solid var(--c-border); border-radius:var(--r-lg); padding:var(--sp-4); min-height:260px; background:var(--c-surface);}
.s-features__panel{display:none; animation: fadeIn .5s var(--ease);}
.s-features__panel.is-active{display:block;}
.s-features__icon{
  width:60px; height:60px; border-radius:var(--r-md); border:1.5px solid var(--c-accent);
  color:var(--c-accent); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:var(--sp-2);
}
@keyframes fadeIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}


.s-projects__grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--sp-3);
}
.s-projects__card{padding:0; overflow:hidden;}
.s-projects__card--big{grid-column:span 2;}
.s-projects__img{aspect-ratio:16/10; overflow:hidden;}
.s-projects__img img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease);}
.s-projects__card:hover .s-projects__img img{transform:scale(1.06);}
.s-projects__info{padding:var(--sp-3);}


.s-craft-teaser__grid, .s-craft-story__grid, .s-safety__grid, .s-workshop-tour__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); align-items:center;
}
.s-craft-teaser__visual img, .s-craft-story__visual img, .s-safety__visual img, .s-workshop-tour__img img{
  border-radius:var(--r-xl); border:1px solid var(--c-border); box-shadow:var(--shadow-md); width:100%; aspect-ratio:4/3; object-fit:cover;
}
.s-craft-story__visual img{aspect-ratio:3/4;}


.s-gallery__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-2);}
.s-gallery__item{border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--c-border); aspect-ratio:1/1;}
.s-gallery__item img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease);}
.s-gallery__item:hover img{transform:scale(1.08);}


.s-cta__box{
  border:1px solid var(--c-border-strong); border-radius:var(--r-xl);
  padding: var(--sp-4); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-3);
  background: linear-gradient(135deg, rgba(224,141,60,.07), rgba(127,174,142,.05));
}
.s-cta__text h2{font-size:clamp(1.5rem,3vw,2.1rem); max-width:22ch;}
.s-cta__text p{max-width:44ch;}
.s-cta__actions{display:flex; gap:var(--sp-2); flex-wrap:wrap;}


.s-workshop-tour__item{display:flex; gap:.9em; margin-bottom:var(--sp-2); align-items:flex-start;}
.s-workshop-tour__item i{color:var(--c-accent); margin-top:.3em;}
.s-workshop-tour__item strong{display:block; margin-bottom:.2em;}
.s-workshop-tour__item p{margin:0; font-size:.92rem;}


.c-float-cta{
  position:fixed; right:1.4rem; top:50%; transform:translateY(-50%); z-index:150;
}
.c-float-cta a{
  display:flex; align-items:center; gap:.7em;
  border:1.5px solid var(--c-accent); color:var(--c-accent);
  background:rgba(19,17,16,.7); backdrop-filter:blur(10px);
  padding:.9em 1.1em; border-radius:var(--r-full);
  box-shadow:var(--shadow-md);
  transition: background .35s var(--ease), color .35s var(--ease), padding .35s var(--ease);
  overflow:hidden; white-space:nowrap;
}
.c-float-cta span{max-width:0; opacity:0; overflow:hidden; transition:max-width .4s var(--ease), opacity .3s var(--ease); font-size:.9rem; font-weight:600;}
.c-float-cta a:hover{background:var(--c-accent); color:var(--c-accent-contrast);}
.c-float-cta a:hover span{max-width:160px; opacity:1; margin-left:.2em;}


.s-pricing__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-3);}
.c-price-card{display:flex; flex-direction:column; position:relative;}
.c-price-card--featured{border-color:var(--c-accent); box-shadow:var(--shadow-glow);}
.c-price-card__flag{
  position:absolute; top:-14px; left:var(--sp-3);
  background:var(--c-accent); color:var(--c-accent-contrast);
  font-size:.75rem; font-weight:700; padding:.35em 1em; border-radius:var(--r-full);
}
.c-price-card__head h3{font-size:1.3rem;}
.c-price-card__price{font-family:'Bricolage Grotesque',sans-serif; font-size:2.1rem; font-weight:800; margin:var(--sp-2) 0;}
.c-price-card__price span{font-size:.85rem; font-weight:500; color:var(--c-text-dim);}
.c-price-card__list{list-style:none; margin:0 0 var(--sp-3); display:flex; flex-direction:column; gap:.55em;}
.c-price-card__list li{display:flex; gap:.6em; align-items:flex-start; font-size:.92rem; color:var(--c-text-dim);}
.c-price-card__list i{color:var(--c-accent); margin-top:.2em;}
.c-price-card .c-btn{margin-top:auto;}


.s-faq__list{display:flex; flex-direction:column; gap:var(--sp-2);}
.c-accordion{
  border:1px solid var(--c-border); border-radius:var(--r-md); padding: 1em 1.3em;
  transition: border-color .3s var(--ease);
}
.c-accordion[open]{border-color:var(--c-accent-2);}
.c-accordion summary{
  cursor:pointer; font-weight:600; list-style:none; display:flex; align-items:center; justify-content:space-between;
}
.c-accordion summary::-webkit-details-marker{display:none;}
.c-accordion summary::after{content:'+'; font-size:1.3rem; color:var(--c-accent); transition:transform .3s var(--ease);}
.c-accordion[open] summary::after{transform:rotate(45deg);}
.c-accordion p{margin-top:.8em; margin-bottom:0;}


.s-schedule__table{display:flex; flex-direction:column; gap:0; padding:0; overflow:hidden;}
.s-schedule__row{
  display:grid; grid-template-columns:1fr 1fr 1.6fr 1fr; padding:1em var(--sp-3);
  border-bottom:1px solid var(--c-border);
}
.s-schedule__row:last-child{border-bottom:none;}
.s-schedule__row--head{
  font-weight:700; color:var(--c-accent); text-transform:uppercase; font-size:.8rem; letter-spacing:.05em;
  background:rgba(224,141,60,.05);
}
.s-schedule__note{margin-top:var(--sp-2); font-size:.9rem; color:var(--c-text-faint);}


.s-contact__grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:var(--sp-4); align-items:start;}
.s-contact__info{display:flex; flex-direction:column; gap:var(--sp-2);}
.s-contact__card h3{font-size:1rem; display:flex; align-items:center; gap:.6em; margin-bottom:.4em;}
.s-contact__card h3 i{color:var(--c-accent);}
.s-contact__card p{margin:0;}
.s-contact__card p a{color:var(--c-text); border-bottom:1px solid var(--c-border-strong);}


.c-form{border:1px solid var(--c-border); border-radius:var(--r-lg); padding:var(--sp-4); background:var(--c-surface);}
.c-form h2{font-size:1.5rem;}
.c-form__row{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-2);}
.c-form__field{margin-bottom:var(--sp-2); display:flex; flex-direction:column; gap:.4em;}
.c-form__field--full{grid-column:1/-1;}
.c-form__field label{font-size:.85rem; font-weight:600; color:var(--c-text-dim);}
.c-form__field input, .c-form__field textarea{
  background:transparent; border:1.5px solid var(--c-border); border-radius:var(--r-sm);
  color:var(--c-text); padding:.85em 1em; font-family:inherit; font-size:.95rem;
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
  min-height:48px;
}
.c-form__field textarea{min-height:140px; resize:vertical;}
.c-form__field input:focus, .c-form__field textarea:focus{
  outline:none; border-color:var(--c-accent); box-shadow:0 0 0 3px rgba(224,141,60,.15);
}
.c-form__privacy{display:flex; align-items:flex-start; gap:.7em; margin: var(--sp-2) 0; font-size:.85rem; color:var(--c-text-dim);}
.c-form__privacy input{width:20px;height:20px; margin-top:.15em; accent-color:var(--c-accent);}
.c-form__privacy a{color:var(--c-accent); border-bottom:1px solid transparent;}
.c-form__privacy a:hover{border-color:var(--c-accent);}
.c-form__note{font-size:.8rem; color:var(--c-text-faint); margin-top:.8em; margin-bottom:0;}

.s-map__frame{padding:.6rem; overflow:hidden;}
.s-map__frame iframe{border-radius:var(--r-md); display:block;}


.s-legal{padding-block: clamp(7rem,10vw,9rem) var(--sp-6);}
.s-legal h1{font-size:clamp(2rem,4vw,2.8rem); max-width:22ch;}
.s-legal__updated{color:var(--c-text-faint); font-size:.85rem; margin-bottom:var(--sp-4);}
.s-legal__body{display:flex; flex-direction:column; gap:var(--sp-3); max-width:840px;}
.c-legal-section h2{font-size:1.3rem; margin-top:0;}
.c-legal-summary{
  display:inline-block; font-weight:600; color:var(--c-accent);
  border:1px solid rgba(224,141,60,.35); background:rgba(224,141,60,.06);
  padding:.6em 1em; border-radius:var(--r-sm); font-size:.88rem; margin-bottom:.8em;
}
.s-legal__body--lettered .c-legal-section h2{color:var(--c-accent-2);}
.s-legal__body--unnumbered .c-legal-section{border-top:1px solid var(--c-border); padding-top:var(--sp-3);}
.s-legal__body--unnumbered .c-legal-section:first-child{border-top:none; padding-top:0;}


.s-thanks{padding-block: clamp(7rem,10vw,9rem) var(--sp-6); text-align:left;}
.s-thanks h1{font-size:clamp(2rem,4vw,2.8rem); max-width:22ch;}
.s-thanks p{max-width:60ch;}
.s-thanks .c-btn{margin-top:var(--sp-2); margin-bottom:var(--sp-5);}
.s-thanks__timeline{display:flex; flex-direction:column; gap:0; max-width:560px;}
.s-thanks__item{display:flex; gap:var(--sp-2); position:relative; padding-bottom:var(--sp-4);}
.s-thanks__item:last-child{padding-bottom:0;}
.s-thanks__item::before{
  content:''; position:absolute; left:23px; top:52px; bottom:0; width:1.5px; background:var(--c-border-strong);
}
.s-thanks__item:last-child::before{display:none;}
.s-thanks__icon{
  width:48px; height:48px; min-width:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--c-border-strong); color:var(--c-text-faint); font-size:1.1rem; z-index:1; background:var(--c-bg);
}
.s-thanks__item.is-done .s-thanks__icon{border-color:var(--c-accent); color:var(--c-accent); background:rgba(224,141,60,.08);}
.s-thanks__item.is-current .s-thanks__icon{background:var(--c-accent); color:var(--c-accent-contrast);}
.s-thanks__item.is-upcoming .s-thanks__text h3, .s-thanks__item.is-upcoming .s-thanks__text p{color:var(--c-text-faint);}
.s-thanks__text h3{font-size:1.05rem; margin-bottom:.2em;}
.s-thanks__text p{margin:0; font-size:.92rem;}


.c-footer{
  border-top:1px solid var(--c-border);
  background:var(--c-bg-alt);
  padding-top:var(--sp-5);
  margin-top:auto;
}
.c-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:var(--sp-4);
  padding-bottom:var(--sp-4);
}
.c-footer__brand p{max-width:32ch; font-size:.9rem;}
.c-footer__col h4{font-size:.9rem; text-transform:uppercase; letter-spacing:.05em; color:var(--c-text-faint); margin-bottom:var(--sp-2);}
.c-footer__col a, .c-footer__col p{display:block; color:var(--c-text-dim); font-size:.9rem; margin-bottom:.6em; transition:color .3s var(--ease);}
.c-footer__col a:hover{color:var(--c-accent);}
.c-footer__col i{color:var(--c-accent); margin-right:.4em;}
.c-footer__bottom{
  border-top:1px solid var(--c-border);
  padding:1.4rem clamp(1.2rem,3vw,2.5rem);
  text-align:center; font-size:.82rem; color:var(--c-text-faint);
}

body{display:flex; flex-direction:column; min-height:100vh;}
main{flex:1;}


.c-cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:400;
  background:rgba(19,17,16,.92); backdrop-filter:blur(14px);
  border-top:1px solid var(--c-border-strong);
  padding: var(--sp-2) clamp(1.2rem,3vw,2.5rem);
  transform:translateY(120%); transition: transform .5s var(--ease);
}
.c-cookie.is-visible{transform:translateY(0);}
.c-cookie__row{
  max-width:1220px; margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap;
}
.c-cookie__text{font-size:.88rem; color:var(--c-text-dim); max-width:60ch;}
.c-cookie__text strong{color:var(--c-text);}
.c-cookie__actions{display:flex; gap:.7em; flex-wrap:wrap;}
.c-cookie__actions button{
  border:1.5px solid var(--c-border-strong); background:transparent; color:var(--c-text-dim);
  padding:.7em 1.3em; border-radius:var(--r-sm); font-size:.85rem; font-weight:600;
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  min-height:44px;
}
.c-cookie__actions button:hover{border-color:var(--c-accent); color:var(--c-text);}
.c-cookie__actions .c-cookie__accept{background:var(--c-accent); border-color:var(--c-accent); color:var(--c-accent-contrast);}
.c-cookie__actions .c-cookie__accept:hover{background:var(--c-accent-dark); border-color:var(--c-accent-dark);}
.c-cookie__panel{
  max-height:0; overflow:hidden; transition:max-height .4s var(--ease), margin .4s var(--ease);
  max-width:1220px; margin-inline:auto;
}
.c-cookie__panel.is-open{max-height:400px; margin-top:var(--sp-2);}
.c-cookie__cat{
  display:flex; align-items:center; justify-content:space-between; gap:1em;
  padding: .8em 0; border-top:1px solid var(--c-border);
}
.c-cookie__cat:first-child{border-top:none;}
.c-cookie__cat strong{font-size:.9rem;}
.c-cookie__cat p{margin:0; font-size:.8rem; color:var(--c-text-faint);}
.c-switch{position:relative; width:44px; height:24px; flex:none;}
.c-switch input{opacity:0; width:100%; height:100%; position:absolute; margin:0; cursor:pointer;}
.c-switch__track{
  position:absolute; inset:0; background:var(--c-border-strong); border-radius:var(--r-full);
  transition:background .3s var(--ease);
}
.c-switch__track::after{
  content:''; position:absolute; width:18px; height:18px; border-radius:50%; background:var(--c-text);
  top:3px; left:3px; transition:transform .3s var(--ease);
}
.c-switch input:checked + .c-switch__track{background:var(--c-accent);}
.c-switch input:checked + .c-switch__track::after{transform:translateX(20px); background:var(--c-accent-contrast);}
.c-switch input:disabled + .c-switch__track{opacity:.5;}


.u-hidden{display:none !important;}
.u-text-center{text-align:center;}


@media (max-width: 1080px){
  .s-hero__grid{grid-template-columns:1fr; text-align:left;}
  .s-hero__visual{order:-1; max-width:420px;}
  .s-features__body{grid-template-columns:1fr;}
  .s-projects__grid{grid-template-columns:1fr 1fr;}
  .s-projects__card--big{grid-column:span 2;}
  .s-pricing__grid{grid-template-columns:1fr 1fr;}
  .s-gallery__grid{grid-template-columns:repeat(2,1fr);}
  .c-footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 860px){
  .c-nav__links, .c-nav__cta{display:none;}
  .c-nav__burger{display:flex;}
  .s-craft-teaser__grid, .s-craft-story__grid, .s-safety__grid, .s-workshop-tour__grid{grid-template-columns:1fr;}
  .s-craft-story__visual{order:-1;}
  .s-contact__grid{grid-template-columns:1fr;}
}
@media (max-width: 720px){
  .s-projects__grid{grid-template-columns:1fr;}
  .s-projects__card--big{grid-column:span 1;}
  .s-pricing__grid{grid-template-columns:1fr;}
  .s-gallery__grid{grid-template-columns:1fr 1fr;}
  .c-form__row{grid-template-columns:1fr;}
  .s-schedule__row{grid-template-columns:1fr; gap:.3em;}
  .s-schedule__row span::before{content: attr(data-label) ": "; font-weight:700; color:var(--c-accent);}
  .s-schedule__row--head{display:none;}
  .c-footer__grid{grid-template-columns:1fr;}
  .c-mobile-menu__panel{width:62%;}
  .c-mobile-menu__visual{width:38%;}
  .c-float-cta{right:.8rem;}
  .c-cookie__row{flex-direction:column; align-items:flex-start;}
}
@media (max-width: 560px){
  .s-hero__badge{left:0; bottom:-1rem; padding:.8em 1em;}
  .c-mobile-menu__visual{display:none;}
  .c-mobile-menu__panel{width:100%;}
}