:root{
  --color-bg:#faf6ef;
  --color-bg-alt:#f1e7d8;
  --color-bg-deep:#ece0cd;
  --color-surface:#ffffff;
  --color-ink:#362f27;
  --color-ink-soft:#5c5346;
  --color-primary:#a85630;
  --color-primary-dark:#833f21;
  --color-primary-light:#c98a5c;
  --color-secondary:#5c6b4c;
  --color-secondary-dark:#465138;
  --color-accent:#c98a3f;
  --color-line:rgba(54,47,39,.14);
  --shadow-sm:0 1px 2px rgba(54,47,39,.08);
  --shadow-md:0 6px 16px -4px rgba(54,47,39,.18),0 2px 6px rgba(54,47,39,.08);
  --shadow-lg:0 24px 48px -12px rgba(54,47,39,.26),0 8px 20px -6px rgba(54,47,39,.14);
  --shadow-float:0 34px 64px -20px rgba(54,47,39,.35),0 10px 24px -8px rgba(54,47,39,.16);
  --radius-s:10px;
  --radius-m:20px;
  --radius-l:32px;
  --radius-card-a:28px 10px 28px 10px;
  --radius-card-b:10px 28px 10px 28px;
  --radius-card-c:24px 24px 6px 24px;
  --font-heading:'Red Hat Display',sans-serif;
  --font-body:'Red Hat Text',sans-serif;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
  --space-7:9rem;
  --container:1220px;
  --nav-h:84px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--color-bg);
  color:var(--color-ink);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:2000;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%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");
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-ink);margin:0 0 .6em;line-height:1.15;}
p{margin:0 0 1em;color:var(--color-ink-soft);}
ul,ol{margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}

.mod-container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem);}


.mod-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding-block:.85em;padding-inline:1.7em;
  border-radius:999px;
  font-weight:700;font-family:var(--font-heading);
  font-size:.98rem;
  border:2px solid transparent;
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease;
  min-block-size:44px;
  white-space:nowrap;
}
.mod-btn-primary{
  background:var(--color-primary);
  color:#fff8f0;
  box-shadow:var(--shadow-md);
}
.mod-btn-primary:hover{
  background:color-mix(in srgb, var(--color-primary) 88%, black 12%);
  transform:translateY(-2px);
  box-shadow:var(--shadow-lg);
}
.mod-btn-outline{
  background:transparent;
  border-color:var(--color-ink);
  color:var(--color-ink);
}
.mod-btn-outline:hover{
  background:var(--color-ink);
  color:var(--color-bg);
  transform:translateY(-2px);
}
.mod-btn-lg{padding-block:1.1em;padding-inline:2.4em;font-size:1.05rem;}

.mod-text-link{
  display:inline-flex;align-items:center;gap:.5em;
  font-weight:700;color:var(--color-primary-dark);
  position:relative;
}
.mod-text-link::after{
  content:"";position:absolute;inset-inline-start:0;inset-block-end:-3px;
  block-size:2px;inline-size:100%;
  background:var(--color-accent);
  transform:scaleX(.3);transform-origin:left;
  transition:transform .35s ease;
}
.mod-text-link:hover::after{transform:scaleX(1);}


.mod-nav{
  position:fixed;inset-block-start:0;inset-inline:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding-inline:clamp(1.25rem,4vw,3rem);
  block-size:var(--nav-h);
  background:transparent;
  transition:background .4s ease,backdrop-filter .4s ease,border-color .4s ease,box-shadow .4s ease;
  border-bottom:1px solid transparent;
}
.mod-nav.is-scrolled{
  background:rgba(250,246,239,.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(54,47,39,.1);
  box-shadow:0 8px 24px -12px rgba(54,47,39,.18);
}
.mod-nav-logo img{block-size:38px;inline-size:auto;}
.mod-nav-links{list-style:none;display:flex;gap:clamp(1.2rem,2.5vw,2.4rem);align-items:center;}
.mod-nav-links a{
  font-weight:600;font-size:.96rem;color:var(--color-ink);
  position:relative;padding-block:.3em;
}
.mod-nav-links a::after{
  content:"";position:absolute;inset-inline-start:0;inset-block-end:0;
  block-size:2px;inline-size:0;background:var(--color-primary);
  transition:inline-size .3s ease;
}
.mod-nav-links a:hover::after,.mod-nav-links a.is-active::after{inline-size:100%;}
.mod-nav-cta{margin-inline-start:auto;}
.mod-nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  inline-size:44px;block-size:44px;background:transparent;border:none;
  margin-inline-start:var(--space-2);
}
.mod-nav-burger span{
  display:block;inline-size:24px;block-size:2px;background:var(--color-ink);
  border-radius:2px;transition:all .3s ease;
}


.mod-mobile-menu{
  position:fixed;inset:0;z-index:2000;
  background:linear-gradient(150deg,var(--color-primary),var(--color-secondary-dark) 85%);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;
  transition:opacity .45s ease,visibility .45s ease;
}
.mod-mobile-menu.is-open{opacity:1;visibility:visible;}
.mod-mobile-menu-links{
  list-style:none;display:flex;flex-direction:column;gap:1.6rem;text-align:center;
}
.mod-mobile-menu-links a{
  font-family:var(--font-heading);font-size:clamp(1.6rem,6vw,2.6rem);
  font-weight:700;color:#fff8f0;
  transition:color .3s ease,transform .3s ease;
  display:inline-block;
}
.mod-mobile-menu-links a:hover{color:var(--color-accent);transform:translateY(-2px);}
.mod-mobile-menu-close{
  position:absolute;inset-block-start:1.6rem;inset-inline-end:1.6rem;
  inline-size:50px;block-size:50px;border-radius:50%;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  color:#fff8f0;font-size:1.3rem;display:flex;align-items:center;justify-content:center;
  transition:background .3s ease,transform .3s ease;
}
.mod-mobile-menu-close:hover{background:rgba(255,255,255,.28);transform:rotate(90deg);}


.mod-hero{position:relative;overflow:hidden;min-block-size:100vh;background:var(--color-bg-deep);}
.mod-hero-split{position:absolute;inset:0;display:flex;z-index:2;}
.mod-hero-panel{inline-size:50%;block-size:100%;position:relative;overflow:hidden;}
.mod-hero-panel-left{
  background:linear-gradient(155deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);
  animation:modHeroSlideLeft 1.15s cubic-bezier(.65,0,.2,1) forwards;
  animation-delay:.15s;
}
.mod-hero-panel-right{
  animation:modHeroSlideRight 1.15s cubic-bezier(.65,0,.2,1) forwards;
  animation-delay:.15s;
}
.mod-hero-panel-right img{inline-size:100%;block-size:100%;object-fit:cover;}
.mod-hero-blob{
  position:absolute;border-radius:63% 37% 54% 46% / 47% 42% 58% 53%;
  background:rgba(255,255,255,.08);filter:blur(2px);
}
.mod-hero-blob-1{inline-size:280px;block-size:280px;inset-block-start:10%;inset-inline-start:-60px;}
.mod-hero-blob-2{inline-size:180px;block-size:180px;inset-block-end:8%;inset-inline-end:-30px;border-radius:41% 59% 60% 40% / 46% 52% 48% 54%;}
@keyframes modHeroSlideLeft{from{transform:translateX(-100%);}to{transform:translateX(0);}}
@keyframes modHeroSlideRight{from{transform:translateX(100%);}to{transform:translateX(0);}}

.mod-hero-content{
  position:relative;z-index:3;
  max-inline-size:820px;margin-inline:auto;
  text-align:center;
  padding-block:calc(var(--nav-h) + 3rem) 3rem;
  padding-inline:clamp(1.25rem,4vw,3rem);
  display:flex;flex-direction:column;align-items:center;gap:var(--space-2);
  min-block-size:100vh;justify-content:center;
  opacity:0;transform:translateY(28px);
  animation:modHeroFadeUp .9s ease forwards;
  animation-delay:1.05s;
}
@keyframes modHeroFadeUp{to{opacity:1;transform:translateY(0);}}
.mod-hero-eyebrow{
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;
  color:#fff8f0;background:rgba(54,47,39,.35);
  padding:.5em 1.1em;border-radius:999px;
}
.mod-hero-title{
  font-size:clamp(2.2rem,5.4vw,3.9rem);color:#fff8f0;font-weight:800;
}
.mod-hero-lead{
  font-size:clamp(1rem,1.6vw,1.2rem);color:rgba(255,248,240,.92);max-inline-size:640px;
}
.mod-hero-cta{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-block-start:.5rem;}
.mod-hero-cta .mod-btn-outline{border-color:#fff8f0;color:#fff8f0;}
.mod-hero-cta .mod-btn-outline:hover{background:#fff8f0;color:var(--color-primary-dark);}


.mod-eyebrow{
  display:inline-block;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  font-size:.82rem;color:var(--color-primary-dark);margin-block-end:.8rem;
}
.mod-eyebrow-center{display:block;text-align:center;}
.mod-section-title{font-size:clamp(1.6rem,3.4vw,2.5rem);max-inline-size:720px;}
.mod-section-title-center{text-align:center;margin-inline:auto;}
.mod-section-lead{color:var(--color-ink-soft);max-inline-size:640px;}
.mod-underline{display:block;margin-block:.6rem 0;}
.mod-underline-path{stroke:var(--color-accent);}


.mod-intro{padding-block:var(--space-6);background:var(--color-bg);}
.mod-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.mod-intro-grid-reverse{grid-template-columns:1.15fr .85fr;}
.mod-intro-grid-reverse .mod-intro-text{order:2;}
.mod-intro-grid-reverse .mod-intro-media{order:1;}
.mod-intro-media{position:relative;}
.mod-intro-media img{
  border-radius:var(--radius-card-a);
  box-shadow:var(--shadow-float);
  aspect-ratio:4/5;object-fit:cover;
  border:6px solid var(--color-surface);
}
.mod-intro-media-frame{
  position:absolute;inset-block-start:16px;inset-inline-start:-16px;
  inline-size:70%;block-size:60%;
  border:2px solid var(--color-accent);
  border-radius:var(--radius-card-b);
  z-index:-1;
}
.mod-intro-text p{max-inline-size:520px;}


.mod-topics{padding-block:var(--space-6);background:var(--color-bg-alt);position:relative;}
.mod-topics-head{max-inline-size:680px;margin-block-end:var(--space-4);}
.mod-topics-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:var(--space-3);
  container-type:inline-size;
}
.mod-topics-card{
  background:var(--color-surface);
  padding:var(--space-3) var(--space-3);
  border-radius:var(--radius-card-a);
  box-shadow:var(--shadow-md);
  border-inline-start:4px solid var(--color-primary);
  transition:transform .35s ease,box-shadow .35s ease;
}
.mod-topics-card:nth-child(even){border-radius:var(--radius-card-b);border-inline-start-color:var(--color-secondary);}
.mod-topics-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.mod-topics-icon{font-size:1.6rem;color:var(--color-primary);margin-block-end:.7rem;display:block;}
.mod-topics-card:nth-child(even) .mod-topics-icon{color:var(--color-secondary);}
.mod-topics-card h3{font-size:1.15rem;}
.mod-topics-card p{font-size:.94rem;margin-block-end:.5em;}


.mod-method{padding-block:var(--space-6);background:var(--color-bg);}
.mod-method-head{max-inline-size:680px;margin-block-end:var(--space-4);}
.mod-method-steps{display:flex;flex-direction:column;gap:var(--space-3);}
.mod-method-step{
  display:flex;gap:var(--space-3);align-items:flex-start;
  background:var(--color-surface);padding:var(--space-3);
  border-radius:var(--radius-m);box-shadow:var(--shadow-sm);
  border-block-end:3px solid var(--color-accent);
}
.mod-method-number{
  font-family:var(--font-heading);font-weight:800;font-size:1.8rem;
  color:var(--color-primary-light);flex-shrink:0;min-inline-size:56px;
}
.mod-method-step h3{font-size:1.1rem;margin-block-end:.3em;}
.mod-method-step p{margin:0;font-size:.95rem;}


.mod-format{padding-block:var(--space-6);background:var(--color-bg-deep);}
.mod-format-alt{background:var(--color-bg);}
.mod-format-head{max-inline-size:640px;margin-block-end:var(--space-4);}
.mod-format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-3);}
.mod-format-card{
  background:var(--color-surface);padding:var(--space-4) var(--space-3);
  border-radius:var(--radius-card-c);box-shadow:var(--shadow-md);
  text-align:center;transition:transform .35s ease,box-shadow .35s ease;
  border-block-start:3px solid var(--color-secondary);
}
.mod-format-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.mod-format-icon{font-size:1.9rem;color:var(--color-secondary);margin-block-end:.8rem;}
.mod-format-card h3{font-size:1.1rem;}
.mod-format-card p{font-size:.92rem;}
.mod-format-note{margin-block-start:var(--space-3);color:var(--color-ink-soft);font-size:.9rem;max-inline-size:640px;}


.mod-team{padding-block:var(--space-6);background:var(--color-bg-alt);}
.mod-team-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.mod-team-media img{
  border-radius:var(--radius-card-b);box-shadow:var(--shadow-float);
  aspect-ratio:3/4;object-fit:cover;border:6px solid var(--color-surface);
}


.mod-contact-preview{padding-block:var(--space-6);background:var(--color-bg);}
.mod-contact-preview-page{padding-block-start:var(--space-5);}
.mod-contact-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-3);margin-block-start:var(--space-3);}
.mod-contact-preview-card{
  background:var(--color-surface);padding:var(--space-4) var(--space-3);
  border-radius:var(--radius-m);box-shadow:var(--shadow-md);
  text-align:center;border:1px solid var(--color-line);
  transition:transform .3s ease,box-shadow .3s ease;
}
.mod-contact-preview-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.mod-contact-preview-card i{font-size:1.6rem;color:var(--color-primary);margin-block-end:.6rem;}
.mod-contact-preview-card h3{font-size:1.05rem;}
.mod-contact-preview-card a{color:var(--color-primary-dark);font-weight:600;}


.mod-cta{padding-block:var(--space-6);background:var(--color-bg-deep);}
.mod-cta-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);}
.mod-cta-inner h2{font-size:clamp(1.6rem,3.6vw,2.4rem);max-inline-size:600px;}


.mod-footer{background:var(--color-ink);color:#efe6d8;padding-block:var(--space-5) var(--space-3);margin-block-start:auto;}
.mod-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-4);}
.mod-footer-brand img{filter:brightness(0) invert(1);block-size:36px;margin-block-end:.8rem;}
.mod-footer-brand p{color:rgba(239,230,216,.72);font-size:.9rem;max-inline-size:280px;}
.mod-footer-col h4{color:#fff8f0;font-size:.95rem;margin-block-end:.9rem;text-transform:uppercase;letter-spacing:.05em;}
.mod-footer-col a,.mod-footer-col p{
  display:block;color:rgba(239,230,216,.75);font-size:.92rem;margin-block-end:.55rem;
  transition:color .3s ease;
}
.mod-footer-col a:hover{color:var(--color-accent);}
.mod-footer-bottom{
  margin-block-start:var(--space-4);padding-block-start:var(--space-3);
  border-block-start:1px solid rgba(239,230,216,.15);
  text-align:center;font-size:.85rem;color:rgba(239,230,216,.6);
}


html,body{min-block-size:100%;}
body{display:flex;flex-direction:column;}
main{flex:1;}


.mod-page-header{
  padding-block:calc(var(--nav-h) + 3.4rem) var(--space-5);
  position:relative;overflow:hidden;
}
.mod-page-header-terracotta{background:linear-gradient(155deg,var(--color-primary),var(--color-primary-dark));}
.mod-page-header-olive{background:linear-gradient(155deg,var(--color-secondary),var(--color-secondary-dark));}
.mod-page-header-ochre{background:linear-gradient(155deg,var(--color-accent),var(--color-primary-dark));}
.mod-page-header .mod-eyebrow{color:rgba(255,248,240,.85);}
.mod-page-title{color:#fff8f0;font-size:clamp(2rem,4.6vw,3.2rem);max-inline-size:760px;}
.mod-page-lead{color:rgba(255,248,240,.9);max-inline-size:640px;}
.mod-page-header-legal{padding-block:calc(var(--nav-h) + 2.6rem) var(--space-4);}
.mod-page-header-legal .mod-page-title{font-size:clamp(1.8rem,3.6vw,2.6rem);}


.mod-origin{padding-block:var(--space-6);background:var(--color-bg);}
.mod-origin-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.mod-origin-media img{border-radius:var(--radius-card-c);box-shadow:var(--shadow-float);aspect-ratio:4/3;object-fit:cover;border:6px solid var(--color-surface);}


.mod-industries{padding-block:var(--space-6);background:var(--color-bg-alt);}
.mod-industries-head{max-inline-size:680px;margin-block-end:var(--space-4);}
.mod-industries-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3);}
.mod-industries-card{
  background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-card-a);
  box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease;
  border-inline-start:4px solid var(--color-accent);
}
.mod-industries-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.mod-industries-card i{font-size:1.4rem;color:var(--color-accent);margin-block-end:.5rem;}
.mod-industries-card h3{font-size:1.05rem;}
.mod-industries-card p{font-size:.92rem;}


.mod-behind{padding-block:var(--space-6);background:var(--color-bg);}
.mod-behind-head{max-inline-size:680px;margin-block-end:var(--space-4);}
.mod-behind-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2);}
.mod-behind-gallery a{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-md);display:block;transition:transform .35s ease,box-shadow .35s ease;}
.mod-behind-gallery a:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg);}
.mod-behind-gallery img{aspect-ratio:1/1;object-fit:cover;}


.mod-transparency{padding-block:var(--space-6);background:var(--color-bg-deep);}
.mod-transparency-inner{max-inline-size:760px;margin-inline:auto;text-align:center;}


.mod-process{padding-block:var(--space-6);background:var(--color-bg-alt);}
.mod-process-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.mod-process-list{list-style:none;display:flex;flex-direction:column;gap:1rem;counter-reset:step;}
.mod-process-list li{
  position:relative;padding-inline-start:2.6rem;font-size:.98rem;color:var(--color-ink-soft);
  counter-increment:step;
}
.mod-process-list li::before{
  content:counter(step);position:absolute;inset-inline-start:0;inset-block-start:-2px;
  inline-size:1.9rem;block-size:1.9rem;border-radius:50%;
  background:var(--color-primary);color:#fff8f0;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
  box-shadow:var(--shadow-sm);
}
.mod-process-media img{border-radius:var(--radius-card-b);box-shadow:var(--shadow-float);aspect-ratio:4/3;object-fit:cover;border:6px solid var(--color-surface);}


.mod-reserve-form{padding-block:var(--space-6);background:var(--color-bg);}
.mod-reserve-form-inner{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:0;
  background:var(--color-surface);border-radius:var(--radius-l);
  box-shadow:var(--shadow-float);overflow:hidden;
}
.mod-reserve-form-media img{block-size:100%;object-fit:cover;min-block-size:280px;}
.mod-reserve-form-content{padding:var(--space-4);}


.mod-checklist{padding-block:var(--space-6);background:var(--color-bg-deep);}
.mod-checklist-inner{max-inline-size:900px;margin-inline:auto;text-align:center;}
.mod-checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-block-start:var(--space-3);text-align:start;}
.mod-checklist-item{
  background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-card-c);
  box-shadow:var(--shadow-sm);display:flex;gap:.8rem;align-items:flex-start;
}
.mod-checklist-item i{color:var(--color-secondary);font-size:1.2rem;margin-block-start:.15rem;}
.mod-checklist-item p{margin:0;font-size:.92rem;}


.mod-faq{padding-block:var(--space-6);background:var(--color-bg);}
.mod-faq-head{max-inline-size:680px;margin-block-end:var(--space-4);}
.mod-faq-list{display:flex;flex-direction:column;gap:.8rem;max-inline-size:820px;}
.mod-faq-item{
  background:var(--color-surface);border-radius:var(--radius-m);
  box-shadow:var(--shadow-sm);padding:1rem 1.4rem;border:1px solid var(--color-line);
  transition:box-shadow .3s ease;
}
.mod-faq-item[open]{box-shadow:var(--shadow-md);}
.mod-faq-question{
  cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:1.02rem;
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  padding-block:.3rem;
}
.mod-faq-question::-webkit-details-marker{display:none;}
.mod-faq-question::after{
  content:"+";font-size:1.4rem;color:var(--color-primary);transition:transform .3s ease;
}
.mod-faq-item[open] .mod-faq-question::after{transform:rotate(45deg);}
.mod-faq-answer{padding-block-start:.6rem;}
.mod-faq-answer p{margin:0;font-size:.95rem;}


.mod-form-compact{display:flex;flex-direction:column;gap:1rem;}
.mod-form-row{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:1rem;}
.mod-form-field{display:flex;flex-direction:column;gap:.35rem;}
.mod-form-field label{font-size:.85rem;font-weight:700;color:var(--color-ink);}
.mod-form-field input,.mod-form-field textarea{
  border:1px solid var(--color-line);border-radius:var(--radius-s);
  padding:.7em .9em;font-family:inherit;font-size:.95rem;background:var(--color-bg);
  transition:border-color .3s ease,box-shadow .3s ease;resize:vertical;min-block-size:44px;
}
.mod-form-field textarea{min-block-size:64px;}
.mod-form-field input:focus,.mod-form-field textarea:focus{
  outline:none;border-color:var(--color-primary);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.mod-form-row-consent{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.mod-form-checkbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--color-ink-soft);max-inline-size:520px;}
.mod-form-checkbox input{margin-block-start:.2rem;min-inline-size:18px;min-block-size:18px;}
.mod-form-checkbox a{color:var(--color-primary-dark);font-weight:600;}
.mod-form-checkbox-small{font-size:.8rem;}

.mod-contact-form-section{padding-block:var(--space-6);background:var(--color-bg-alt);}
.mod-contact-form-card{
  background:var(--color-surface);border-radius:var(--radius-l);
  box-shadow:var(--shadow-float);padding:var(--space-4);max-inline-size:1000px;margin-inline:auto;
}
.mod-map{padding-block:var(--space-6);background:var(--color-bg);}
.mod-map-frame{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-md);border:6px solid var(--color-surface);}

.mod-newsletter{padding-block:var(--space-6);background:var(--color-bg-deep);}
.mod-newsletter-inner{
  display:grid;grid-template-columns:1.2fr .9fr;gap:var(--space-4);align-items:center;
  background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-l);
  box-shadow:var(--shadow-lg);
}
.mod-form-newsletter{display:flex;flex-direction:column;gap:.8rem;}
.mod-form-newsletter input[type="email"]{
  border:1px solid var(--color-line);border-radius:var(--radius-s);
  padding:.8em 1em;font-size:.95rem;min-block-size:44px;
}


.mod-thanks{padding-block:calc(var(--nav-h) + 5rem) var(--space-6);background:var(--color-bg);min-block-size:70vh;display:flex;align-items:center;}
.mod-thanks-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;max-inline-size:560px;margin-inline:auto;}
.mod-thanks-icon{font-size:4rem;color:var(--color-secondary);}
.mod-thanks-inner h1{font-size:clamp(1.8rem,4vw,2.6rem);}


.mod-legal{padding-block:var(--space-6);background:var(--color-bg);}
.mod-legal-body{max-inline-size:820px;}
.mod-legal-body h2{font-size:1.25rem;margin-block-start:2rem;color:var(--color-primary-dark);}
.mod-legal-body h2:first-child{margin-block-start:0;}
.mod-legal-body p{font-size:.96rem;}


.mod-cookie-consent-overlay{
  position:fixed;inset:0;background:rgba(54,47,39,.45);z-index:3000;
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;
}
.mod-cookie-consent-overlay.is-visible{opacity:1;visibility:visible;}
.mod-cookie-consent-panel{
  position:fixed;inset-block:0;inset-inline-end:0;z-index:3001;
  inline-size:min(320px,88vw);background:var(--color-surface);
  box-shadow:-20px 0 50px -10px rgba(54,47,39,.4);
  transform:translateX(100%);transition:transform .45s cubic-bezier(.65,0,.2,1);
  display:flex;flex-direction:column;padding:1.8rem 1.5rem;overflow-y:auto;
  border-inline-start:1px solid var(--color-line);
}
.mod-cookie-consent-panel.is-visible{transform:translateX(0);}
.mod-cookie-consent-head{display:flex;align-items:center;gap:.7rem;margin-block-end:1rem;}
.mod-cookie-consent-head i{font-size:1.4rem;color:var(--color-secondary);}
.mod-cookie-consent-head h2{font-size:1.05rem;margin:0;}
.mod-cookie-consent-panel p{font-size:.85rem;margin-block-end:1rem;}
.mod-cookie-consent-item{
  display:flex;justify-content:space-between;align-items:center;gap:.6rem;
  padding:.7rem;border-radius:var(--radius-s);margin-block-end:.6rem;
  background:var(--color-bg-alt);transition:background .3s ease;
}
.mod-cookie-consent-item:has(input:checked){background:color-mix(in srgb, var(--color-secondary) 14%, var(--color-bg-alt));}
.mod-cookie-consent-item-label{font-size:.85rem;font-weight:700;}
.mod-cookie-consent-item-desc{font-size:.75rem;color:var(--color-ink-soft);margin:.15rem 0 0;}
.mod-cookie-switch{position:relative;display:inline-block;inline-size:40px;block-size:22px;flex-shrink:0;}
.mod-cookie-switch input{opacity:0;inline-size:0;block-size:0;}
.mod-cookie-switch-slider{
  position:absolute;inset:0;background:#cabfae;border-radius:999px;transition:background .3s ease;cursor:pointer;
}
.mod-cookie-switch-slider::before{
  content:"";position:absolute;inline-size:16px;block-size:16px;inset-block-start:3px;inset-inline-start:3px;
  background:#fff;border-radius:50%;transition:transform .3s ease;
}
.mod-cookie-switch input:checked + .mod-cookie-switch-slider{background:var(--color-secondary);}
.mod-cookie-switch input:checked + .mod-cookie-switch-slider::before{transform:translateX(18px);}
.mod-cookie-switch input:disabled + .mod-cookie-switch-slider{opacity:.55;cursor:not-allowed;}
.mod-cookie-consent-actions{margin-block-start:auto;display:flex;flex-direction:column;gap:.6rem;padding-block-start:1rem;}
.mod-cookie-consent-reopen{
  position:fixed;inset-block-end:1.5rem;inset-inline-start:1.5rem;z-index:1500;
  inline-size:48px;block-size:48px;border-radius:50%;background:var(--color-secondary);
  color:#fff8f0;border:none;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;transition:transform .3s ease;
}
.mod-cookie-consent-reopen:hover{transform:translateY(-3px);}


@media (max-width:1000px){
  .mod-intro-grid,.mod-intro-grid-reverse,.mod-team-grid,.mod-origin-grid,.mod-process-grid{
    grid-template-columns:1fr;
  }
  .mod-intro-grid-reverse .mod-intro-text,.mod-intro-grid-reverse .mod-intro-media{order:initial;}
  .mod-reserve-form-inner{grid-template-columns:1fr;}
  .mod-reserve-form-media img{min-block-size:220px;}
  .mod-newsletter-inner{grid-template-columns:1fr;}
  .mod-footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:860px){
  .mod-nav-links,.mod-nav-cta{display:none;}
  .mod-nav-burger{display:flex;}
  .mod-form-row{grid-template-columns:1fr;}
}

@media (max-width:640px){
  .mod-hero-split{flex-direction:column;}
  .mod-hero-panel{inline-size:100%;block-size:50%;position:absolute;}
  .mod-hero-panel-left{inset-block-start:0;animation-name:modHeroSlideUp;}
  .mod-hero-panel-right{inset-block-end:0;animation-name:modHeroSlideDown;}
  @keyframes modHeroSlideUp{from{transform:translateY(0);}to{transform:translateY(-100%);}}
  @keyframes modHeroSlideDown{from{transform:translateY(0);}to{transform:translateY(100%);}}
  .mod-hero-content{padding-block-start:calc(var(--nav-h) + 2rem);}
  .mod-footer-grid{grid-template-columns:1fr;}
  .mod-cookie-consent-panel{inline-size:100vw;}
}

@media (max-width:420px){
  .mod-topics-card,.mod-format-card,.mod-industries-card{padding:1.1rem;}
}