

@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth;}}

:root{
  --c-ink:#1c2231;
  --c-paper:#f6f3ec;
  --c-accent:#d9662b;

  --c-ink-95:color-mix(in oklch, var(--c-ink), white 5%);
  --c-ink-80:color-mix(in oklch, var(--c-ink), white 20%);
  --c-ink-65:color-mix(in oklch, var(--c-ink), white 38%);
  --c-ink-40:color-mix(in oklch, var(--c-ink), white 62%);
  --c-ink-20:color-mix(in oklch, var(--c-ink), white 82%);
  --c-ink-10:color-mix(in oklch, var(--c-ink), white 91%);
  --c-ink-05:color-mix(in oklch, var(--c-ink), white 96%);

  --c-paper-dark:color-mix(in oklch, var(--c-paper), black 4%);
  --c-paper-darker:color-mix(in oklch, var(--c-paper), black 9%);
  --c-paper-line:color-mix(in oklch, var(--c-paper), black 14%);

  --c-accent-dark:color-mix(in oklch, var(--c-accent), black 18%);
  --c-accent-light:color-mix(in oklch, var(--c-accent), white 22%);
  --c-accent-10:color-mix(in oklch, var(--c-accent), white 90%);
  --c-accent-25:color-mix(in oklch, var(--c-accent), white 75%);
  --c-accent-glow:color-mix(in oklch, var(--c-accent), transparent 55%);

  --shadow-sm:0 1px 2px color-mix(in oklch, var(--c-ink), transparent 92%),0 1px 1px color-mix(in oklch, var(--c-ink), transparent 96%);
  --shadow-md:0 6px 16px color-mix(in oklch, var(--c-ink), transparent 89%),0 2px 6px color-mix(in oklch, var(--c-ink), transparent 93%);
  --shadow-lg:0 24px 48px color-mix(in oklch, var(--c-ink), transparent 87%),0 10px 20px color-mix(in oklch, var(--c-ink), transparent 91%);
  --shadow-accent:0 10px 24px color-mix(in oklch, var(--c-accent), transparent 70%);

  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:24px;
  --radius-full:999px;

  --sp-1:.5rem;--sp-2:1rem;--sp-3:1.5rem;--sp-4:2.5rem;--sp-5:4rem;--sp-6:6rem;--sp-7:9rem;

  --ff-heading:'Newsreader', serif;
  --ff-body:'Manrope', sans-serif;
  --ff-mono:'SFMono-Regular', ui-monospace, Menlo, Consolas, monospace;

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

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--c-ink-95);
  background:var(--c-paper);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;background:none;border:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3{font-family:var(--ff-heading);color:var(--c-ink);line-height:1.15;font-weight:600;margin:0 0 var(--sp-2);}
p{margin:0 0 1em;}
.mono{font-family:var(--ff-mono);letter-spacing:.03em;}

h1{font-size:clamp(2.4rem,4.2vw + 1rem,4.4rem);}
h2{font-size:clamp(1.8rem,2.4vw + 1rem,2.8rem);}
h3{font-size:clamp(1.15rem,.6vw + 1rem,1.5rem);}

.sectionTag{
  display:inline-block;font-size:.78rem;text-transform:uppercase;color:var(--c-accent-dark);
  background:var(--c-accent-10);padding:.35em .8em;border-radius:var(--radius-full);
  margin-bottom:var(--sp-2);border:1px solid var(--c-accent-25);
}

.skip-to-content{
  position:absolute;top:0;left:0;background:var(--c-ink);color:var(--c-paper);
  padding:.8em 1.4em;z-index:9999;transform:translateY(-120%);transition:transform .25s var(--ease);
  border-radius:0 0 var(--radius-sm) 0;
}
.skip-to-content:focus{transform:translateY(0);}


.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.9em 1.7em;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;
  transition:transform .25s var(--ease), box-shadow .3s var(--ease), background .25s var(--ease), color .25s var(--ease);
  min-height:44px;
}
.btn--accent{background:var(--c-accent);color:#fff8f2;box-shadow:var(--shadow-accent);}
.btn--accent:hover{background:var(--c-accent-dark);transform:translateY(-3px);box-shadow:0 16px 30px var(--c-accent-glow);}
.btn--accent:active{transform:translateY(-1px) scale(.98);}
.btn--ghost{background:transparent;color:var(--c-ink);border:1.5px solid var(--c-ink-20);}
.btn--ghost:hover{background:var(--c-ink);color:var(--c-paper);border-color:var(--c-ink);transform:translateY(-3px);box-shadow:var(--shadow-md);}


.siteHeader{
  position:sticky;top:0;z-index:1000;background:color-mix(in oklch, var(--c-paper), transparent 100%);
  transition:background .35s var(--ease), box-shadow .35s var(--ease);
}
.siteHeader::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--c-ink-20);
  transform:scaleX(0);transition:transform .5s var(--ease);transform-origin:center;
}
.siteHeader.isScrolled{background:color-mix(in oklch, var(--c-paper), transparent 4%);box-shadow:var(--shadow-sm);}
.siteHeader.isScrolled::after{transform:scaleX(1);}
.siteHeader_inner{
  max-width:1280px;margin:0 auto;padding:1.1rem var(--sp-3);
  display:flex;align-items:center;gap:var(--sp-4);
}
.siteHeader_logo{display:flex;align-items:center;gap:.6em;font-weight:600;font-family:var(--ff-heading);font-size:1.15rem;color:var(--c-ink);transition:opacity .25s var(--ease);}
.siteHeader_logo:hover{opacity:.7;}
.siteHeader_nav{margin-left:auto;}
.siteHeader_nav ul{display:flex;gap:var(--sp-4);}
.siteHeader_nav a{
  position:relative;font-size:.95rem;font-weight:500;color:var(--c-ink-80);padding:.3em 0;transition:color .25s var(--ease);
}
.siteHeader_nav a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--c-accent);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.siteHeader_nav a:hover{color:var(--c-ink);}
.siteHeader_nav a:hover::after,.siteHeader_nav a[aria-current="page"]::after{transform:scaleX(1);}
.siteHeader_nav a[aria-current="page"]{color:var(--c-ink);}
.siteHeader_cta{padding:.65em 1.4em;font-size:.9rem;}
.siteHeader_toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  border-radius:var(--radius-sm);transition:background .25s var(--ease);
}
.siteHeader_toggle:hover{background:var(--c-ink-10);}
.siteHeader_toggle span{display:block;width:22px;height:2px;background:var(--c-ink);margin:0 auto;transition:transform .3s var(--ease),opacity .3s var(--ease);}
.siteHeader_toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.siteHeader_toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.siteHeader_toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}


.mobileMenu{
  position:fixed;inset:0;z-index:999;background:var(--c-ink);
  clip-path:circle(0px at calc(100% - 40px) 40px);
  transition:clip-path .55s var(--ease);
  display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.mobileMenu.isOpen{clip-path:circle(150% at calc(100% - 40px) 40px);pointer-events:auto;}
.mobileMenu ul{display:flex;flex-direction:column;gap:var(--sp-3);text-align:center;}
.mobileMenu a{font-family:var(--ff-heading);font-size:1.9rem;color:var(--c-paper);opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease),transform .4s var(--ease);}
.mobileMenu.isOpen a{opacity:1;transform:translateY(0);}
.mobileMenu.isOpen a:nth-child(1){transition-delay:.15s;}
.mobileMenu.isOpen a:nth-child(2){transition-delay:.22s;}
.mobileMenu.isOpen a:nth-child(3){transition-delay:.29s;}
.mobileMenu.isOpen a:nth-child(4){transition-delay:.36s;}
.mobileMenu.isOpen a:nth-child(5){transition-delay:.43s;}
.mobileMenu a:hover{color:var(--c-accent-light);}


.mainHero{
  position:relative;padding:calc(var(--sp-6) + 2rem) var(--sp-3) var(--sp-6);
  display:flex;justify-content:center;overflow:hidden;
  background:
    linear-gradient(180deg, var(--c-paper) 0%, var(--c-paper-dark) 100%);
}
.mainHero_grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--c-paper-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--c-paper-line) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 50% 20%, black 10%, transparent 70%);
  opacity:.7;
}
.mainHero_layerNum{
  position:absolute;inset:0;pointer-events:none;font-family:var(--ff-mono);
  font-size:.85rem;color:var(--c-ink-40);
}
.mainHero_layerNum span{position:absolute;}
.mainHero_layerNum span:nth-child(1){top:10%;left:6%;}
.mainHero_layerNum span:nth-child(2){top:18%;right:8%;}
.mainHero_layerNum span:nth-child(3){bottom:14%;left:9%;}
.mainHero_card{
  position:relative;max-width:760px;background:color-mix(in oklch, var(--c-paper), white 40%);
  border:1px solid var(--c-paper-line);border-radius:var(--radius-lg);
  padding:var(--sp-5) var(--sp-4);box-shadow:var(--shadow-lg);
  text-align:center;
}
.mainHero_eyebrow{color:var(--c-ink-65);font-size:.95rem;margin-bottom:var(--sp-2);}
.mainHero_title{margin-bottom:var(--sp-2);}
.mainHero_subtitle{color:var(--c-ink-65);font-size:1.05rem;max-width:560px;margin:0 auto var(--sp-3);}
.mainHero_actions{display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-4);}
.mainHero_specs{
  display:flex;justify-content:center;gap:var(--sp-4);flex-wrap:wrap;
  border-top:1px solid var(--c-paper-line);padding-top:var(--sp-3);margin:0;
}
.mainHero_specs div{display:flex;flex-direction:column;gap:.25em;}
.mainHero_specs dt{font-size:.75rem;color:var(--c-ink-40);text-transform:uppercase;letter-spacing:.06em;}
.mainHero_specs dd{margin:0;color:var(--c-ink);font-size:.9rem;}


.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.isVisible{opacity:1;transform:translateY(0);}


.introBlock{padding:var(--sp-6) var(--sp-3);background:var(--c-paper);}
.introBlock_inner{max-width:760px;margin:0 auto;text-align:center;}
.introBlock_inner p{font-size:1.08rem;color:var(--c-ink-65);}


.zigzagSection{padding:var(--sp-5) var(--sp-3);background:var(--c-paper-dark);max-width:1200px;margin:0 auto;}
.zigzagItem{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:center;padding:var(--sp-5) 0;border-bottom:1px solid var(--c-paper-line);}
.zigzagItem:last-child{border-bottom:none;}
.zigzagItem--reverse{direction:rtl;}
.zigzagItem--reverse > *{direction:ltr;}
.zigzagItem_media{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);position:relative;}
.zigzagItem_media img{width:100%;height:340px;object-fit:cover;transition:transform .6s var(--ease);}
.zigzagItem_media:hover img{transform:scale(1.06);}
.zigzagItem_media figcaption{position:absolute;bottom:0;left:0;right:0;padding:1em 1.2em;background:linear-gradient(0deg, color-mix(in oklch, var(--c-ink), transparent 15%), transparent);color:#fff;font-size:.85rem;}
.zigzagItem_content .sectionTag{margin-bottom:var(--sp-1);}
.zigzagItem_content p{color:var(--c-ink-65);}


.processSection{padding:var(--sp-6) var(--sp-3);background:var(--c-paper);}
.processSection_inner{max-width:1100px;margin:0 auto;text-align:center;}
.processSection_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin:var(--sp-4) 0;text-align:left;}
.processCard{
  background:var(--c-paper-dark);border:1px solid var(--c-paper-line);border-radius:var(--radius-md);
  padding:var(--sp-3);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.processCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--c-accent-25);}
.processCard h3{font-size:1.1rem;display:flex;gap:.5em;align-items:baseline;}
.processCard h3 .mono{color:var(--c-accent-dark);font-size:.9rem;}
.processCard p{color:var(--c-ink-65);font-size:.95rem;margin:0;}
.processSection_meter{display:flex;align-items:center;gap:var(--sp-2);justify-content:center;margin:var(--sp-4) 0;flex-wrap:wrap;}
.processSection_meter p{margin:0;color:var(--c-ink-65);}
meter{width:160px;height:14px;}
.processSection_meterLabel{color:var(--c-ink-40);font-size:.85rem;}
.processSection_details{max-width:640px;margin:var(--sp-3) auto 0;text-align:left;}

details{
  background:var(--c-paper-dark);border:1px solid var(--c-paper-line);border-radius:var(--radius-md);
  padding:1em 1.3em;margin-bottom:.8em;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
details:hover{border-color:var(--c-accent-25);box-shadow:var(--shadow-sm);}
details summary{cursor:pointer;font-weight:600;color:var(--c-ink);list-style:none;display:flex;align-items:center;justify-content:space-between;}
details summary::-webkit-details-marker{display:none;}
details summary::after{content:"+";font-family:var(--ff-mono);color:var(--c-accent-dark);transition:transform .3s var(--ease);}
details[open] summary::after{transform:rotate(45deg);}
details p{margin-top:.8em;color:var(--c-ink-65);}


.gallerySection{padding:var(--sp-6) var(--sp-3);background:var(--c-paper-darker);}
.gallerySection_head{max-width:700px;margin:0 auto var(--sp-4);text-align:center;}
.gallerySection_grid{
  max-width:1200px;margin:0 auto;display:grid;
  grid-template-columns:repeat(3,1fr);gap:var(--sp-2);
}
.gallerySection_item{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);position:relative;display:block;}
.gallerySection_item figure{margin:0;position:relative;}
.gallerySection_item img{width:100%;height:230px;object-fit:cover;transition:transform .5s var(--ease),filter .5s var(--ease);}
.gallerySection_item figcaption{
  position:absolute;inset:auto 0 0 0;padding:1em;color:#fff;font-size:.82rem;
  background:linear-gradient(0deg,color-mix(in oklch, var(--c-ink), transparent 10%),transparent);
  opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.gallerySection_item:hover img{transform:scale(1.08);filter:brightness(.85);}
.gallerySection_item:hover figcaption{opacity:1;transform:translateY(0);}


.ctaBand{padding:var(--sp-6) var(--sp-3);background:var(--c-ink);color:var(--c-paper);}
.ctaBand_inner{max-width:680px;margin:0 auto;text-align:center;}
.ctaBand_inner h2{color:var(--c-paper);}
.ctaBand_inner p{color:color-mix(in oklch, var(--c-paper), transparent 20%);}
.ctaBand .sectionTag{background:color-mix(in oklch, var(--c-accent), transparent 80%);color:var(--c-accent-light);border-color:color-mix(in oklch, var(--c-accent), transparent 60%);}


.pageHero{padding:calc(var(--sp-6) + 1rem) var(--sp-3) var(--sp-5);text-align:center;background:linear-gradient(180deg, var(--c-paper-dark), var(--c-paper));}
.pageHero_inner{max-width:680px;margin:0 auto;}
.pageHero_inner p{color:var(--c-ink-65);}


.storySection{padding:var(--sp-6) var(--sp-3);background:var(--c-paper);}
.storySection_grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-5);align-items:center;}
.storySection_media{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.storySection_media img{width:100%;height:420px;object-fit:cover;transition:transform .6s var(--ease);}
.storySection_media:hover img{transform:scale(1.05);}
.storySection_media figcaption{padding:.8em 1.1em;background:var(--c-ink);color:var(--c-paper);font-size:.85rem;}
.storySection_text p{color:var(--c-ink-65);}


.valuesSection{padding:var(--sp-6) var(--sp-3);background:var(--c-paper-dark);}
.valuesSection_head{max-width:700px;margin:0 auto var(--sp-4);text-align:center;}
.valuesSection_grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);}
.valueCard{background:var(--c-paper);border:1px solid var(--c-paper-line);border-radius:var(--radius-md);padding:var(--sp-3);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.valueCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.valueCard h3{font-size:1.05rem;display:flex;align-items:center;gap:.5em;}
.valueCard h3 i{color:var(--c-accent);}
.valueCard p{color:var(--c-ink-65);font-size:.93rem;margin:0;}


.quoteBlockAlt{padding:var(--sp-6) var(--sp-3);background:var(--c-ink);color:var(--c-paper);text-align:center;}
.quoteBlockAlt_inner{max-width:640px;margin:0 auto;}
.quoteBlockAlt_inner p{font-family:var(--ff-heading);font-size:clamp(1.3rem,1.8vw + 1rem,1.9rem);font-style:italic;color:var(--c-paper);}
.quoteBlockAlt_inner span{color:var(--c-accent-light);}


.detailsSection{padding:var(--sp-6) var(--sp-3);background:var(--c-paper);}
.detailsSection_inner{max-width:700px;margin:0 auto;}


.meetingsSection{padding:var(--sp-6) var(--sp-3);background:var(--c-paper);max-width:1100px;margin:0 auto;}
.meetingsSection_hero{margin:0 0 var(--sp-5);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.meetingsSection_hero img{width:100%;height:320px;object-fit:cover;}
.meetingsSection_hero figcaption{padding:.9em 1.2em;background:var(--c-paper-dark);color:var(--c-ink-65);font-size:.88rem;}
.meetingsSection_list{display:flex;flex-direction:column;gap:var(--sp-3);}
.meetingCard{
  background:var(--c-paper-dark);border:1px solid var(--c-paper-line);border-radius:var(--radius-md);
  padding:var(--sp-3);transition:box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.meetingCard:hover{box-shadow:var(--shadow-md);border-color:var(--c-accent-25);}
.meetingCard header{display:flex;align-items:baseline;gap:.8em;margin-bottom:.4em;}
.meetingCard header .mono{color:var(--c-accent-dark);font-size:.85rem;}
.meetingCard header h3{margin:0;}
.meetingCard > p{color:var(--c-ink-65);margin-bottom:.8em;}
.meetingCard details p{margin-bottom:.6em;}


.scheduleSection{padding:var(--sp-6) var(--sp-3);max-width:1000px;margin:0 auto;}
.scheduleSection_list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);}
.scheduleCard{background:var(--c-paper-dark);border:1px solid var(--c-paper-line);border-radius:var(--radius-md);padding:var(--sp-3);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.scheduleCard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.scheduleCard header{margin-bottom:.6em;}
.scheduleCard header .mono{color:var(--c-accent-dark);font-size:.85rem;}
.scheduleCard_date{display:block;color:var(--c-ink-40);font-size:.85rem;margin-top:.3em;}
.scheduleCard > p{color:var(--c-ink-65);}
.scheduleCard_progress{display:flex;align-items:center;gap:.7em;flex-wrap:wrap;margin-top:.8em;}
.scheduleCard_progress .mono{font-size:.75rem;color:var(--c-ink-40);}
.scheduleCard_progress span:last-child{font-size:.85rem;color:var(--c-ink-65);}
.scheduleNote{max-width:700px;margin:var(--sp-4) auto 0;color:var(--c-ink-65);font-size:.9rem;background:var(--c-accent-10);border:1px solid var(--c-accent-25);border-radius:var(--radius-md);padding:1em 1.3em;}


.contactSection{padding:var(--sp-6) var(--sp-3);max-width:1100px;margin:0 auto;}
.contactSection_grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-5);align-items:start;}
.contact-details p{margin:.2em 0;color:var(--c-ink-65);}
.contact-details a{transition:color .25s var(--ease);}
.contact-details a:hover{color:var(--c-accent-dark);}
.contactSection_note{margin-top:var(--sp-3);background:var(--c-paper-dark);border:1px solid var(--c-paper-line);border-radius:var(--radius-md);padding:var(--sp-3);}
.contactSection_note h3{font-size:1rem;display:flex;align-items:center;gap:.5em;}
.contactSection_note h3 i{color:var(--c-accent);}
.contactSection_note p{color:var(--c-ink-65);font-size:.92rem;margin:0;}
.contactSection_map{margin-top:var(--sp-3);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.contactSection_formWrap{background:var(--c-paper-dark);border:1px solid var(--c-paper-line);border-radius:var(--radius-lg);padding:var(--sp-4);}
.contactSection_formHint{color:var(--c-ink-65);font-size:.92rem;}
.contactForm_row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-2);}
.contactForm_field--wide{grid-column:1 / -1;}
.contactForm_field label{display:block;font-size:.85rem;color:var(--c-ink-65);margin-bottom:.4em;}
.contactForm_optional{color:var(--c-ink-40);font-weight:400;}
.contactForm input[type="text"],.contactForm input[type="email"],.contactForm textarea{
  width:100%;padding:.8em 1em;border-radius:var(--radius-sm);border:1.5px solid var(--c-paper-line);
  background:var(--c-paper);color:var(--c-ink);font-family:inherit;font-size:.95rem;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.contactForm input:focus,.contactForm textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 4px var(--c-accent-10);}
.contactForm_row--secondary{grid-template-columns:1fr auto;align-items:center;}
.contactForm_checkbox{display:flex;align-items:center;gap:.6em;font-size:.85rem;color:var(--c-ink-65);}
.contactForm_checkbox input{width:20px;height:20px;accent-color:var(--c-accent);flex-shrink:0;}
.contactForm_checkbox a{text-decoration:underline;transition:color .25s var(--ease);}
.contactForm_checkbox a:hover{color:var(--c-accent-dark);}


.legalSection{padding:var(--sp-6) var(--sp-3);}
.legalSection_inner{max-width:760px;margin:0 auto;}
.legalSection_updated{color:var(--c-ink-40);font-size:.9rem;margin-bottom:var(--sp-3);}
.legalSection_inner h2{margin-top:var(--sp-4);font-size:1.35rem;}
.legalSection_inner p{color:var(--c-ink-65);}


.thanksSection{padding:var(--sp-6) var(--sp-3);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);min-height:60vh;justify-content:center;}
.thanksSection_quote{
  max-width:600px;text-align:center;background:var(--c-ink);color:var(--c-paper);
  border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--shadow-lg);position:relative;
}
.thanksSection_quoteIcon{color:var(--c-accent-light);font-size:1.6rem;margin-bottom:.5em;}
.thanksSection_quote p{font-family:var(--ff-heading);font-style:italic;font-size:1.25rem;color:var(--c-paper);}
.thanksSection_quote span{color:var(--c-accent-light);}
.thanksSection_body{text-align:center;max-width:560px;}
.thanksSection_body p{color:var(--c-ink-65);}


.pageFooter{background:var(--c-ink);color:var(--c-paper);padding:var(--sp-6) var(--sp-3) var(--sp-4);}
.pageFooter_inner{max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;}
.pageFooter_logo{display:flex;align-items:center;gap:.6em;font-family:var(--ff-heading);font-size:1.2rem;color:var(--c-paper);}
.pageFooter_links{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center;}
.pageFooter_links a{color:color-mix(in oklch, var(--c-paper), transparent 15%);font-size:.92rem;position:relative;padding:.2em 0;transition:color .25s var(--ease);}
.pageFooter_links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--c-accent-light);transform:scaleX(0);transition:transform .3s var(--ease);}
.pageFooter_links a:hover{color:var(--c-paper);}
.pageFooter_links a:hover::after{transform:scaleX(1);}
.pageFooter_contact p{margin:.15em 0;color:color-mix(in oklch, var(--c-paper), transparent 20%);font-size:.9rem;}
.pageFooter_contact a{transition:color .25s var(--ease);}
.pageFooter_contact a:hover{color:var(--c-accent-light);}
.pageFooter_bottom{border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 85%);width:100%;padding-top:var(--sp-3);display:flex;flex-direction:column;gap:.6em;font-size:.82rem;color:color-mix(in oklch, var(--c-paper), transparent 30%);}
.pageFooter_legal{display:flex;gap:1.2em;justify-content:center;flex-wrap:wrap;}
.pageFooter_legal a{transition:color .25s var(--ease);}
.pageFooter_legal a:hover{color:var(--c-accent-light);}


.cursorTrail{
  position:fixed;top:0;left:0;width:20px;height:20px;border-radius:50%;pointer-events:none;z-index:9998;
  background:radial-gradient(circle, var(--c-accent-glow), transparent 70%);
  transform:translate(-50%,-50%);transition:opacity .3s var(--ease);opacity:0;
}


.cookieConsent{
  position:fixed;bottom:20px;left:20px;max-width:360px;width:calc(100% - 40px);
  background:var(--c-paper);border:1px solid var(--c-paper-line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:var(--sp-3);z-index:10000;
  transform:translateY(140%);transition:transform .5s var(--ease),opacity .5s var(--ease);opacity:0;
}
.cookieConsent.isVisible{transform:translateY(0);opacity:1;}
.cookieConsent h3{font-size:1.05rem;margin-bottom:.4em;display:flex;align-items:center;gap:.5em;}
.cookieConsent h3 i{color:var(--c-accent);}
.cookieConsent p{font-size:.85rem;color:var(--c-ink-65);margin-bottom:.9em;}
.cookieConsent_actions{display:flex;flex-direction:column;gap:.6em;}
.cookieConsent_actions .btn{width:100%;font-size:.88rem;padding:.7em 1em;}
.cookieConsent_customizeBtn{background:transparent;color:var(--c-ink-65);font-size:.82rem;text-decoration:underline;padding:.3em;transition:color .25s var(--ease);}
.cookieConsent_customizeBtn:hover{color:var(--c-ink);}
.cookieConsent_panel{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),margin .4s var(--ease);}
.cookieConsent_panel.isOpen{max-height:220px;margin-top:.8em;}
.cookieConsent_option{display:flex;align-items:center;justify-content:space-between;padding:.5em 0;border-top:1px solid var(--c-paper-line);font-size:.85rem;}
.cookieConsent_option label{color:var(--c-ink-65);}
.cookieConsent_option input{width:18px;height:18px;accent-color:var(--c-accent);}


@media (max-width:1024px){
  .zigzagItem{grid-template-columns:1fr;}
  .zigzagItem--reverse{direction:ltr;}
  .storySection_grid{grid-template-columns:1fr;}
  .contactSection_grid{grid-template-columns:1fr;}
  .valuesSection_grid{grid-template-columns:repeat(2,1fr);}
  .processSection_grid{grid-template-columns:repeat(2,1fr);}
  .gallerySection_grid{grid-template-columns:repeat(2,1fr);}
  .scheduleSection_list{grid-template-columns:1fr;}
}

@media (max-width:720px){
  .siteHeader_nav,.siteHeader_cta{display:none;}
  .siteHeader_toggle{display:flex;}
  .mainHero_specs{flex-direction:column;gap:var(--sp-2);align-items:center;}
  .contactForm_row{grid-template-columns:1fr;}
  .contactForm_row--secondary{grid-template-columns:1fr;gap:var(--sp-2);}
  .contactForm_row--secondary .btn{width:100%;}
  .valuesSection_grid{grid-template-columns:1fr;}
  .processSection_grid{grid-template-columns:1fr;}
  .gallerySection_grid{grid-template-columns:1fr;}
  .pageFooter_links{flex-direction:column;gap:.8em;}
  .cookieConsent{left:12px;bottom:12px;width:calc(100% - 24px);}
}

@media (hover:none){
  .cursorTrail{display:none;}
}