:root{
  --color-cream:#F5EEDF;
  --color-cream-dark:#EAE0C9;
  --color-mustard:#D9A441;
  --color-mustard-dark:#B9852B;
  --color-terracotta:#C1603F;
  --color-terracotta-dark:#A04B2F;
  --color-olive:#6E7350;
  --color-olive-dark:#565A3D;
  --color-dustyRose:#C98A82;
  --color-ink:#2B2320;
  --color-ink-soft:#463A33;
  --color-paper:#FBF6EC;
  --color-white:#FFFDF8;

  --font-heading:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;

  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:4rem;
  --space-7:6rem;
  --space-8:8rem;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-xl:36px;
  --radius-pill:999px;

  --shadow-sm:0 2px 6px rgba(43,35,32,.08);
  --shadow-md:0 8px 24px rgba(43,35,32,.12), 0 2px 6px rgba(43,35,32,.08);
  --shadow-lg:0 20px 48px rgba(43,35,32,.16), 0 8px 20px rgba(43,35,32,.1);
  --shadow-xl:0 32px 64px rgba(43,35,32,.22), 0 12px 28px rgba(43,35,32,.14);

  --transition:all .3s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-paper);
  line-height:1.7;
  font-size:16px;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:var(--font-heading);
  color:var(--color-ink);
  line-height:1.2;
  margin:0 0 var(--space-2);
}
p{ margin:0 0 var(--space-2); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:var(--font-body); cursor:pointer; border:none; background:none; }

.grainOverlay{
  position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}


.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.9rem 1.8rem; border-radius:var(--radius-pill);
  font-family:var(--font-heading); font-weight:600; font-size:.95rem;
  min-height:48px; transition:var(--transition); white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg, var(--color-terracotta), var(--color-mustard));
  color:var(--color-white);
  box-shadow:var(--shadow-md);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.btn-outline{
  background:transparent; color:var(--color-ink);
  border:2px solid var(--color-ink);
}
.btn-outline:hover{ background:var(--color-ink); color:var(--color-cream); transform:translateY(-2px); }


.siteHeader{
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  perspective:1600px;
}
.siteHeader_bar{
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem clamp(1.2rem, 4vw, 3rem);
  background:var(--color-cream);
  backface-visibility:hidden;
  transition:transform .7s cubic-bezier(.4,0,.2,1), box-shadow .3s ease;
  position:relative; z-index:2;
}
.siteHeader_logo{ display:flex; align-items:center; gap:.6rem; font-family:var(--font-heading); font-weight:700; font-size:1.25rem; color:var(--color-ink); }
.siteHeader_logoImg{ width:36px; height:36px; }
.siteHeader_navList{ display:flex; gap:2rem; }
.siteHeader_navList a{ font-weight:500; font-size:.95rem; position:relative; padding:.4rem 0; transition:var(--transition); }
.siteHeader_navList a::after{ content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--color-terracotta); transition:var(--transition); }
.siteHeader_navList a:hover::after, .siteHeader_navList a.isActive::after{ width:100%; }
.siteHeader_burger{ display:none; flex-direction:column; gap:5px; width:44px; height:44px; align-items:center; justify-content:center; }
.siteHeader_burger span{ width:24px; height:2px; background:var(--color-ink); border-radius:2px; transition:var(--transition); }

.siteHeader_flipPanel{
  position:fixed; inset:0; z-index:1;
  background:linear-gradient(160deg, var(--color-ink), var(--color-olive-dark));
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transform:rotateX(180deg); backface-visibility:hidden;
  transition:transform .7s cubic-bezier(.4,0,.2,1);
}
.siteHeader.isOpen .siteHeader_bar{ transform:rotateX(180deg); }
.siteHeader.isOpen .siteHeader_flipPanel{ transform:rotateX(0deg); height: fit-content; }
.siteHeader_closeBtn{ position:absolute; top:1.5rem; right:1.5rem; width:44px; height:44px; color:var(--color-cream); font-size:1.5rem; }
.siteHeader_flipNav{ display:flex; flex-direction:column; gap:1.6rem; text-align:center; }
.siteHeader_flipNav a{ font-family:var(--font-heading); font-size:1.6rem; font-weight:600; color:var(--color-cream); transition:var(--transition); }
.siteHeader_flipNav a:hover{ color:var(--color-mustard); }


.stackSection{ position:relative; padding:var(--space-7) clamp(1.2rem,5vw,4rem); margin-top:-28px; border-radius:var(--radius-xl) var(--radius-xl) 0 0; }
.stackSection:first-of-type{ margin-top:0; padding-top:calc(var(--space-7) + 72px); }
.stackSection--cream{ background:var(--color-cream); }
.stackSection--olive{ background:linear-gradient(170deg, var(--color-olive), var(--color-olive-dark)); color:var(--color-cream); }
.stackSection--olive h1,.stackSection--olive h2,.stackSection--olive h3{ color:var(--color-cream); }
.stackSection--terracotta{ background:linear-gradient(150deg, var(--color-terracotta), var(--color-terracotta-dark)); color:var(--color-white); }
.stackSection--terracotta h1,.stackSection--terracotta h2,.stackSection--terracotta h3{ color:var(--color-white); }
.stackSection--ink{ background:linear-gradient(160deg, var(--color-ink), #1c1613); color:var(--color-cream); }
.stackSection--ink h1,.stackSection--ink h2,.stackSection--ink h3{ color:var(--color-cream); }


.revealOnScroll{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.revealOnScroll.isVisible{ opacity:1; transform:translateY(0); }


.mainHero_inner{ display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-6); align-items:center; max-width:1280px; margin:0 auto; }
.mainHero_eyebrow{ display:inline-block; font-family:var(--font-heading); font-weight:600; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-terracotta-dark); margin-bottom:var(--space-2); }
.mainHero_title{ font-size:clamp(2.4rem, 4.6vw, 3.6rem); font-weight:700; margin-bottom:var(--space-3); }
.mainHero_text{ font-size:1.05rem; color:var(--color-ink-soft); max-width:44ch; margin-bottom:var(--space-4); }
.mainHero_actions{ display:flex; gap:1rem; flex-wrap:wrap; }
.mainHero_media{ position:relative; min-height:420px; }
.mainHero_imgBack, .mainHero_imgFront{
  position:absolute; border-radius:var(--radius-lg); object-fit:cover; box-shadow:var(--shadow-lg);
}
.mainHero_imgBack{ width:72%; height:340px; top:0; right:0; transform:rotate(4deg); z-index:1; }
.mainHero_imgFront{ width:62%; height:300px; bottom:0; left:0; transform:rotate(-5deg); z-index:2; border:6px solid var(--color-paper); }


.sectionHead{ max-width:720px; margin:0 auto var(--space-5); text-align:center; }
.sectionHead_eyebrow{ display:inline-block; font-family:var(--font-heading); font-weight:600; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-mustard-dark); margin-bottom:var(--space-2); }
.sectionHead_title{ font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:700; margin-bottom:var(--space-2); }
.sectionHead_text{ color:inherit; opacity:.85; }


.serviceGrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:var(--space-4); max-width:1280px; margin:0 auto; }
.serviceCard{
  background:var(--color-paper); border-radius:var(--radius-lg); padding:var(--space-4);
  box-shadow:var(--shadow-md); transition:var(--transition); position:relative; color:var(--color-ink);
}
.serviceCard:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.serviceCard_icon{ width:56px; height:56px; border-radius:var(--radius-md); background:linear-gradient(135deg, var(--color-mustard), var(--color-terracotta)); display:flex; align-items:center; justify-content:center; color:var(--color-white); font-size:1.3rem; margin-bottom:var(--space-3); }
.serviceCard_title{ font-size:1.15rem; margin-bottom:.5rem; }
.serviceCard_text{ font-size:.94rem; color:var(--color-ink-soft); }
.serviceCard_badge{ position:absolute; top:1.2rem; right:1.2rem; background:var(--color-dustyRose); color:var(--color-white); font-size:.7rem; font-weight:600; padding:.3rem .7rem; border-radius:var(--radius-pill); }
.serviceCard--animated{ position:relative; z-index:0; }
.serviceCard--animated::before{
  content:''; position:absolute; inset:-2px; border-radius:var(--radius-lg); padding:2px; z-index:-1;
  background:conic-gradient(from 0deg, var(--color-mustard), var(--color-terracotta), var(--color-dustyRose), var(--color-mustard));
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .5s ease;
  background-size:300% 300%;
}
.serviceCard--animated:hover::before{ opacity:1; animation:borderDraw 2.4s linear infinite; }
@keyframes borderDraw{ 0%{ background-position:0% 50%; } 100%{ background-position:200% 50%; } }
.servicesSection_note{ text-align:center; margin-top:var(--space-5); font-size:.9rem; opacity:.8; }


.processFlow{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); max-width:1280px; margin:0 auto; position:relative; }
.processFlow::before{ content:''; position:absolute; top:52px; left:8%; right:8%; height:2px; background:linear-gradient(90deg, var(--color-terracotta), var(--color-mustard)); opacity:.4; z-index:0; }
.processStep{ position:relative; z-index:1; text-align:center; padding:var(--space-3); }
.processStep_number{ font-family:var(--font-heading); font-weight:800; font-size:1.6rem; color:var(--color-terracotta-dark); margin-bottom:.4rem; }
.processStep_icon{ width:60px; height:60px; border-radius:50%; background:var(--color-cream-dark); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:var(--color-olive-dark); margin:0 auto var(--space-2); box-shadow:var(--shadow-sm); }
.processStep_title{ font-size:1.05rem; margin-bottom:.4rem; }
.processStep_text{ font-size:.9rem; color:var(--color-ink-soft); }


.comparisonTable_wrap{ overflow-x:auto; max-width:1000px; margin:0 auto var(--space-4); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); background:var(--color-paper); }
.comparisonTable{ width:100%; border-collapse:collapse; min-width:640px; color:var(--color-ink); }
.comparisonTable th, .comparisonTable td{ padding:1rem 1.3rem; text-align:left; border-bottom:1px solid var(--color-cream-dark); }
.comparisonTable thead th{ font-family:var(--font-heading); font-weight:700; background:var(--color-cream-dark); }
.comparisonTable_highlight{ background:rgba(217,164,65,.18); font-weight:600; }
.comparisonTable_tag{ display:block; font-size:.65rem; font-weight:600; color:var(--color-terracotta-dark); text-transform:uppercase; letter-spacing:.06em; }
.comparisonTable_yes{ color:var(--color-olive-dark); }
.comparisonTable_no{ color:var(--color-dustyRose); }
.comparisonSection_note{ text-align:center; opacity:.9; }


.ctaSection{ display:flex; justify-content:center; }
.ctaCard{ position:relative; max-width:900px; width:100%; padding:var(--space-6); border-radius:var(--radius-xl); background:linear-gradient(145deg, rgba(217,164,65,.12), rgba(193,96,63,.14)); box-shadow:var(--shadow-lg); text-align:center; overflow:hidden; }
.ctaCard_border{ position:absolute; inset:0; border-radius:var(--radius-xl); padding:2px; background:linear-gradient(120deg, var(--color-mustard), var(--color-terracotta), var(--color-dustyRose)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.6; }
.ctaCard_content{ position:relative; z-index:1; }
.ctaCard_title{ font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:var(--space-2); }
.ctaCard_text{ max-width:56ch; margin:0 auto var(--space-3); opacity:.9; }


.innerHero_inner{ max-width:820px; margin:0 auto; text-align:center; }
.innerHero_title{ font-size:clamp(2.2rem, 4vw, 3.2rem); margin-bottom:var(--space-3); }
.innerHero_text{ font-size:1.05rem; color:var(--color-ink-soft); }


.aboutSection_grid, .genresSection_grid, .equipSection_grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); align-items:center; max-width:1200px; margin:0 auto; }
.equipSection_grid--reverse{ direction:rtl; }
.equipSection_grid--reverse > *{ direction:ltr; }
.aboutSection_img, .genresSection_img, .equipSection_img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); width:100%; height:100%; object-fit:cover; max-height:420px; }
.aboutSection_closing, .genresSection_closing, .equipSection_closing{ font-weight:600; font-family:var(--font-heading); font-size:.95rem; }

.valuesGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--space-4); max-width:1200px; margin:0 auto; }
.valueCard{ background:var(--color-paper); padding:var(--space-4); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); transition:var(--transition); }
.valueCard:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.valueCard_icon{ font-size:1.6rem; color:var(--color-terracotta-dark); margin-bottom:var(--space-2); }
.valueCard_title{ font-size:1.05rem; margin-bottom:.4rem; }
.valueCard_text{ font-size:.92rem; color:var(--color-ink-soft); }


.equipListGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--space-4); max-width:1200px; margin:0 auto; }
.equipListCard{ background:rgba(255,253,248,.08); border:1px solid rgba(255,253,248,.14); padding:var(--space-4); border-radius:var(--radius-lg); text-align:center; transition:var(--transition); }
.equipListCard:hover{ transform:translateY(-4px); background:rgba(255,253,248,.14); }
.equipListCard_icon{ font-size:1.6rem; margin-bottom:var(--space-2); color:var(--color-mustard); }
.equipListCard h3{ font-size:1rem; color:var(--color-cream); margin-bottom:.4rem; }
.equipListCard p{ font-size:.88rem; color:var(--color-cream); opacity:.85; }


.wizardCard{ max-width:720px; margin:0 auto; background:var(--color-paper); border-radius:var(--radius-xl); padding:var(--space-5); box-shadow:var(--shadow-lg); color:var(--color-ink); }
.wizardCard_steps{ display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-5); gap:.4rem; }
.wizardCard_dot{ display:flex; flex-direction:column; align-items:center; gap:.3rem; opacity:.5; transition:var(--transition); }
.wizardCard_dot span{ width:36px; height:36px; border-radius:50%; background:var(--color-cream-dark); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--font-heading); }
.wizardCard_dot.isActive{ opacity:1; }
.wizardCard_dot.isActive span{ background:linear-gradient(135deg, var(--color-mustard), var(--color-terracotta)); color:var(--color-white); }
.wizardCard_dot small{ font-size:.7rem; }
.wizardCard_line{ width:40px; height:2px; background:var(--color-cream-dark); }

.wizardForm_step{ display:none; }
.wizardForm_step.isActive{ display:block; animation:fadeSlide .4s ease; }
@keyframes fadeSlide{ from{ opacity:0; transform:translateX(16px); } to{ opacity:1; transform:translateX(0); } }
.wizardForm_stepTitle{ font-size:1.2rem; margin-bottom:var(--space-3); }
.formGroup{ margin-bottom:var(--space-3); }
.formGroup label{ display:block; font-weight:500; font-size:.9rem; margin-bottom:.4rem; }
.formGroup input[type=text], .formGroup input[type=email], .formGroup input[type=tel], .formGroup select, .formGroup textarea{
  width:100%; padding:.8rem 1rem; border-radius:var(--radius-md); border:1.5px solid var(--color-cream-dark);
  background:var(--color-white); font-family:var(--font-body); font-size:.95rem; transition:var(--transition); min-height:48px;
}
.formGroup textarea{ min-height:120px; resize:vertical; }
.formGroup input:focus, .formGroup select:focus, .formGroup textarea:focus{ outline:none; border-color:var(--color-terracotta); box-shadow:0 0 0 3px rgba(193,96,63,.15); }
.formGroup--checkbox{ display:flex; gap:.7rem; align-items:flex-start; }
.formGroup--checkbox input{ width:22px; height:22px; margin-top:.2rem; accent-color:var(--color-terracotta); flex-shrink:0; }
.formGroup--checkbox label{ font-size:.85rem; }
.wizardForm_nav{ display:flex; justify-content:space-between; margin-top:var(--space-3); }


.infoGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--space-4); max-width:1100px; margin:0 auto; }
.infoCard{ background:var(--color-cream-dark); padding:var(--space-4); border-radius:var(--radius-lg); text-align:center; transition:var(--transition); }
.infoCard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.infoCard_icon{ font-size:1.5rem; color:var(--color-terracotta-dark); margin-bottom:var(--space-2); }
.infoCard h3{ font-size:1rem; margin-bottom:.4rem; }
.infoCard p{ font-size:.88rem; color:var(--color-ink-soft); }


.contactSection_grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--space-4); max-width:1100px; margin:0 auto; }
.contactCard{ background:rgba(255,253,248,.1); border:1px solid rgba(255,253,248,.16); padding:var(--space-4); border-radius:var(--radius-lg); text-align:center; }
.contactCard_icon{ font-size:1.6rem; color:var(--color-mustard); margin-bottom:var(--space-2); }
.contactCard h3{ color:var(--color-cream); font-size:1.05rem; margin-bottom:.4rem; }
.contactCard p{ color:var(--color-cream); opacity:.85; font-size:.92rem; }
.contactCard a{ color:var(--color-cream); text-decoration:underline; }

.quoteSection_quote{ max-width:760px; margin:0 auto; text-align:center; }
.quoteSection_quote p{ font-family:var(--font-heading); font-size:clamp(1.3rem,2.6vw,1.8rem); font-weight:600; line-height:1.5; margin-bottom:var(--space-2); }
.quoteSection_quote cite{ font-style:normal; opacity:.85; font-size:.9rem; }

.mapSection_frame{ max-width:1100px; margin:0 auto; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.mapSection_frame iframe{ display:block; }


.thanksMain{ min-height:70vh; display:flex; align-items:center; justify-content:center; padding:calc(72px + var(--space-6)) 1.2rem var(--space-6); background:linear-gradient(160deg, var(--color-cream), var(--color-dustyRose) 160%); }
.thanksCard{ background:var(--color-paper); max-width:520px; width:100%; text-align:center; padding:var(--space-6) var(--space-5); border-radius:var(--radius-xl); box-shadow:var(--shadow-xl); }
.thanksCard_icon{ font-size:3rem; color:var(--color-olive-dark); margin-bottom:var(--space-3); }
.thanksCard_title{ font-size:1.8rem; margin-bottom:var(--space-2); }
.thanksCard_text{ color:var(--color-ink-soft); margin-bottom:var(--space-4); }


.legalPage{ max-width:840px; margin:0 auto; }
.legalPage_title{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:.4rem; }
.legalPage_updated{ font-size:.85rem; opacity:.7; margin-bottom:var(--space-4); }
.legalPage h2{ font-size:1.25rem; margin-top:var(--space-5); margin-bottom:var(--space-2); }
.legalTable{ width:100%; border-collapse:collapse; margin:var(--space-3) 0; box-shadow:var(--shadow-sm); border-radius:var(--radius-md); overflow:hidden; }
.legalTable th, .legalTable td{ padding:.8rem 1rem; border-bottom:1px solid var(--color-cream-dark); text-align:left; font-size:.9rem; }
.legalTable th{ background:var(--color-cream-dark); font-family:var(--font-heading); }
.legalDl{ margin:var(--space-3) 0; }
.legalDl dt{ font-weight:700; font-family:var(--font-heading); margin-top:var(--space-2); }
.legalDl dd{ margin:.3rem 0 0; color:var(--color-ink-soft); }


.pageFooter{ background:linear-gradient(180deg, var(--color-ink), #1a1512); color:var(--color-cream); padding:var(--space-6) clamp(1.2rem,5vw,4rem) 0; }
.pageFooter_inner{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr; gap:var(--space-5); max-width:1320px; margin:0 auto; padding-bottom:var(--space-5); }
.pageFooter_logo{ display:flex; align-items:center; gap:.6rem; font-family:var(--font-heading); font-weight:700; font-size:1.2rem; color:var(--color-cream); margin-bottom:var(--space-2); }
.pageFooter_logoImg{ width:32px; height:32px; }
.pageFooter_text{ font-size:.88rem; opacity:.75; }
.pageFooter_heading{ font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:var(--space-2); color:var(--color-mustard); }
.pageFooter_links li{ margin-bottom:.6rem; font-size:.88rem; opacity:.85; }
.pageFooter_links a:hover{ opacity:.7; text-decoration:underline; }
.pageFooter_latest li{ margin-bottom:var(--space-2); font-size:.85rem; }
.pageFooter_latestDate{ display:inline-block; font-family:var(--font-heading); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--color-dustyRose); margin-bottom:.2rem; }
.pageFooter_latest p{ opacity:.85; margin:0; }
.pageFooter_bottom{ border-top:1px solid rgba(255,253,248,.12); padding:var(--space-3) 0; text-align:center; font-size:.8rem; opacity:.6; }


.cookieConsent{
  position:fixed; top:20px; left:-420px; z-index:2000; width:320px; max-width:calc(100vw - 32px);
  background:var(--color-paper); border-radius:var(--radius-lg); box-shadow:var(--shadow-xl);
  padding:var(--space-3); transition:left .6s cubic-bezier(.4,0,.2,1);
}
.cookieConsent.isVisible{ left:20px; }
.cookieConsent_icon{ font-size:1.4rem; color:var(--color-olive-dark); margin-bottom:.6rem; }
.cookieConsent_text{ font-size:.85rem; color:var(--color-ink-soft); margin-bottom:var(--space-2); }
.cookieConsent_actions{ display:flex; gap:.6rem; flex-wrap:wrap; }
.cookieConsent_btn{ padding:.6rem 1rem; border-radius:var(--radius-pill); font-size:.8rem; font-weight:600; font-family:var(--font-heading); transition:var(--transition); min-height:40px; }
.cookieConsent_btn--ghost{ background:transparent; border:1.5px solid var(--color-ink); color:var(--color-ink); }
.cookieConsent_btn--ghost:hover{ background:var(--color-ink); color:var(--color-cream); }
.cookieConsent_btn--solid{ background:linear-gradient(135deg, var(--color-terracotta), var(--color-mustard)); color:var(--color-white); }
.cookieConsent_btn--solid:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }

.cookieModal{ position:fixed; inset:0; background:rgba(43,35,32,.6); display:none; align-items:center; justify-content:center; z-index:3000; padding:1.2rem; }
.cookieModal.isVisible{ display:flex; }
.cookieModal_box{ background:var(--color-paper); border-radius:var(--radius-lg); padding:var(--space-4); max-width:480px; width:100%; box-shadow:var(--shadow-xl); position:relative; max-height:88vh; overflow-y:auto; }
.cookieModal_close{ position:absolute; top:1rem; right:1rem; width:36px; height:36px; }
.cookieModal_title{ font-size:1.3rem; margin-bottom:.6rem; }
.cookieModal_text{ font-size:.85rem; color:var(--color-ink-soft); margin-bottom:var(--space-3); }
.cookieModal_row{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--color-cream-dark); }
.cookieModal_row p{ font-size:.8rem; color:var(--color-ink-soft); margin:.2rem 0 0; }
.cookieModal_row input{ width:22px; height:22px; accent-color:var(--color-terracotta); flex-shrink:0; margin-top:.2rem; }
.cookieModal_actions{ display:flex; gap:.6rem; margin-top:var(--space-3); flex-wrap:wrap; }


@media (max-width:960px){
  .mainHero_inner, .aboutSection_grid, .genresSection_grid, .equipSection_grid, .equipSection_grid--reverse{ grid-template-columns:1fr; direction:ltr; }
  .mainHero_media{ min-height:320px; order:-1; }
  .processFlow{ grid-template-columns:1fr 1fr; }
  .processFlow::before{ display:none; }
  .pageFooter_inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .siteHeader_nav, .siteHeader_navList{ display:none; }
  .siteHeader_burger{ display:flex; }
  .serviceGrid, .valuesGrid, .infoGrid, .contactSection_grid, .equipListGrid{ grid-template-columns:1fr; }
  .processFlow{ grid-template-columns:1fr; }
  .pageFooter_inner{ grid-template-columns:1fr; text-align:left; }
  .mainHero_imgBack{ width:80%; height:260px; }
  .mainHero_imgFront{ width:70%; height:220px; }
  .stackSection{ padding:var(--space-6) 1.2rem; }
  .comparisonTable th, .comparisonTable td{ padding:.7rem .8rem; font-size:.85rem; }
  .cookieConsent{ width:calc(100vw - 32px); }
}
@media (max-width:420px){
  .mainHero_title{ font-size:2rem; }
  .wizardCard{ padding:var(--space-4); }
}