@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&display=swap');

:root{
  --color-bg:#f7f2e6;
  --color-bg-soft:#efe6d3;
  --color-bg-deep:#e7dcc4;
  --color-surface:#fffdf8;
  --color-ink:#2a251e;
  --color-ink-soft:#5d5648;
  --color-primary:#2f4a3d;
  --color-primary-dark:#1b2f26;
  --color-primary-light:#517263;
  --color-accent:#c1682f;
  --color-accent-dark:#96501f;
  --color-accent-2:#c99a4b;
  --color-line:#e1d4b7;
  --color-line-strong:#cdbb95;
  --shadow-sm:0 1px 2px rgba(42,37,30,.08), 0 1px 1px rgba(42,37,30,.05);
  --shadow-md:0 8px 20px -6px rgba(42,37,30,.16), 0 3px 8px -2px rgba(42,37,30,.08);
  --shadow-lg:0 26px 50px -18px rgba(27,47,38,.32), 0 10px 20px -8px rgba(27,47,38,.18);
  --radius-sm:8px;
  --radius-md:18px;
  --radius-lg:30px;
  --radius-pill:999px;
  --ease:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Schibsted Grotesk', sans-serif;
  background:var(--color-bg);
  color:var(--color-ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-weight:700; line-height:1.15; margin:0 0 .6em; color:var(--color-primary-dark); }
p{ margin:0 0 1em; color:var(--color-ink-soft); }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
.srOnly{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.sectionEyebrow{
  text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:700;
  color:var(--color-accent-dark); margin-bottom:.75rem;
}
.sectionEyebrow--light{ color:var(--color-accent-2); }


.btn{
  position:relative; display:inline-flex; align-items:center; gap:.6rem;
  padding:.95rem 1.9rem; border-radius:var(--radius-pill); font-weight:600; font-size:.98rem;
  overflow:hidden; isolation:isolate; transition:color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
  min-height:44px;
}
.btn::before{ content:""; position:absolute; inset:0; z-index:-1; transform:translateX(-102%); transition:transform .45s var(--ease); }
.btn-primary{ background:var(--color-primary); color:#fffdf8; box-shadow:var(--shadow-md); }
.btn-primary::before{ background:var(--color-accent); }
.btn-primary:hover::before{ transform:translateX(0); }
.btn-primary:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.btn-secondary{ background:rgba(255,253,248,.08); color:#fffdf8; border:2px solid rgba(255,253,248,.65); }
.btn-secondary::before{ background:#fffdf8; }
.btn-secondary:hover{ color:var(--color-primary-dark); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.btn-secondary:hover::before{ transform:translateX(0); }
.btn-ghost{ background:transparent; color:var(--color-ink); border:1px solid var(--color-line-strong); }
.btn-ghost:hover{ border-color:var(--color-primary); color:var(--color-primary); }
.btn i{ transition:transform .35s var(--ease); }
.btn:hover i{ transform:translateX(4px); }

.inlineLink{ position:relative; color:var(--color-primary); font-weight:600; }
.inlineLink::after{
  content:""; position:absolute; left:0; bottom:-2px; width:100%; height:2px;
  background:var(--color-accent); transform:scaleX(0); transform-origin:right; transition:transform .35s var(--ease);
}
.inlineLink:hover::after{ transform:scaleX(1); transform-origin:left; }


.siteHeader{
  position:sticky; top:0; z-index:50; background:rgba(247,242,230,.92); backdrop-filter:blur(10px);
}
.siteHeader_inner{
  max-width:1280px; margin:0 auto; padding:1rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.siteHeader_logo img{ height:42px; width:auto; transition:transform .3s var(--ease); }
.siteHeader_logo:hover img{ transform:scale(1.04); }
.siteHeader_nav{ display:none; }
.siteHeader_nav ul{ display:flex; gap:2rem; align-items:center; }
.siteHeader_nav a{
  position:relative; font-weight:600; font-size:.95rem; color:var(--color-ink); padding:.3rem 0;
}
.siteHeader_nav a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:100%; height:2px; background:var(--color-accent);
  transform:scaleX(0); transform-origin:right; transition:transform .3s var(--ease);
}
.siteHeader_nav a:hover::after, .siteHeader_nav a.isActive::after{ transform:scaleX(1); transform-origin:left; }
.siteHeader_nav a.isActive{ color:var(--color-primary); }
.siteHeader_cta{
  display:none; padding:.7rem 1.4rem; border-radius:var(--radius-pill); background:var(--color-primary);
  color:#fffdf8; font-weight:600; font-size:.9rem; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
}
.siteHeader_cta:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); background:var(--color-accent); }
.siteHeader_menuToggle{
  display:flex; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px;
  padding:8px; border-radius:var(--radius-sm); transition:background .3s var(--ease);
}
.siteHeader_menuToggle:hover{ background:var(--color-bg-soft); }
.siteHeader_menuToggle span{ display:block; height:2px; width:100%; background:var(--color-ink); border-radius:2px; transition:transform .3s var(--ease), opacity .3s var(--ease); }

.siteHeader_seal{
  position:relative; height:1px; width:100%; background:var(--color-line-strong);
  transform:scaleX(0); transition:transform .6s var(--ease);
}
.siteHeader.isScrolled .siteHeader_seal{ transform:scaleX(1); }

@media (min-width:1024px){
  .siteHeader_nav{ display:block; }
  .siteHeader_cta{ display:inline-flex; }
  .siteHeader_menuToggle{ display:none; }
}


.mobileSheet{ position:fixed; inset:0; z-index:70; pointer-events:none; }
.mobileSheet_backdrop{ position:absolute; inset:0; background:rgba(20,24,20,.5); opacity:0; transition:opacity .4s var(--ease); }
.mobileSheet_panel{
  position:absolute; left:0; right:0; bottom:0; background:var(--color-surface);
  border-radius:28px 28px 0 0; padding:1.4rem 1.5rem 2.6rem; transform:translateY(102%);
  transition:transform .45s var(--ease); box-shadow:var(--shadow-lg); max-height:82vh; overflow-y:auto;
}
.mobileSheet.isOpen{ pointer-events:auto; }
.mobileSheet.isOpen .mobileSheet_backdrop{ opacity:1; }
.mobileSheet.isOpen .mobileSheet_panel{ transform:translateY(0); }
.mobileSheet_handle{ width:44px; height:5px; border-radius:99px; background:var(--color-line-strong); margin:0 auto 1.4rem; }
.mobileSheet_panel nav ul{ display:flex; flex-direction:column; gap:.25rem; }
.mobileSheet_panel nav a{
  display:flex; align-items:center; gap:.9rem; padding:.95rem .6rem; font-weight:600; font-size:1.05rem;
  border-radius:var(--radius-sm); color:var(--color-ink); transition:background .25s var(--ease), color .25s var(--ease), padding-left .25s var(--ease);
}
.mobileSheet_panel nav a i{ width:22px; text-align:center; color:var(--color-accent); }
.mobileSheet_panel nav a:hover{ background:var(--color-bg-soft); color:var(--color-primary); padding-left:1rem; }
@media (min-width:1024px){ .mobileSheet{ display:none; } }


.mainHero{
  min-height:100svh; display:flex; align-items:center; justify-content:center; text-align:center;
  background-size:cover; background-position:center; position:relative; padding:8rem 1.5rem 6rem;
}
.mainHero_inner{ max-width:820px; }
.mainHero_eyebrow{ color:#f3e4c6; text-transform:uppercase; letter-spacing:.16em; font-weight:700; font-size:.82rem; margin-bottom:1.4rem; }
.mainHero_title{
  color:#fffdf8; font-size:clamp(2.4rem, 5.6vw, 4.4rem); line-height:1.08; margin-bottom:1.4rem;
}
.accentWord{ color:var(--color-accent-2); position:relative; }
.mainHero_text{ color:#e8e1cf; font-size:clamp(1rem,1.6vw,1.2rem); max-width:640px; margin:0 auto 2.4rem; }
.mainHero_actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
.mainHero_scrollHint{ position:absolute; bottom:2.4rem; left:50%; transform:translateX(-50%); }
.mainHero_scrollHint span{
  display:block; width:26px; height:42px; border:2px solid rgba(255,253,248,.6); border-radius:20px; position:relative;
}
.mainHero_scrollHint span::after{
  content:""; position:absolute; top:8px; left:50%; width:5px; height:5px; background:#fffdf8; border-radius:50%;
  transform:translateX(-50%); animation:scrollDot 1.8s infinite;
}
@keyframes scrollDot{ 0%{ opacity:1; top:8px;} 70%{ opacity:0; top:24px;} 100%{ opacity:0; top:8px;} }


main > article, main > .pageBanner{ padding:5.5rem 1.5rem; max-width:1280px; margin:0 auto; }
main > article header h2{ font-size:clamp(1.8rem,3.4vw,2.6rem); max-width:760px; }


.introStory{ background:var(--color-bg); }
.introStory_header{ margin-bottom:2.6rem; }
.mosaicGrid{
  display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:200px; grid-auto-flow:dense; gap:1.25rem;
}
.mosaicItem{
  position:relative; border-radius:var(--radius-md); overflow:hidden; background:var(--color-surface);
  border:1px solid var(--color-line); box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.mosaicItem:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--color-accent); }
.mosaicItem img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.mosaicItem:hover img{ transform:scale(1.06); }
.mosaicItem--large{ grid-column:span 2; grid-row:span 2; }
.mosaicItem--wide{ grid-column:span 2; padding:1.8rem; }
.mosaicItem figcaption{
  position:absolute; inset:auto 0 0 0; padding:1.4rem; background:linear-gradient(0deg, rgba(20,24,18,.82), transparent 75%);
  color:#fffdf8;
}
.mosaicItem figcaption h3{ color:#fffdf8; font-size:1.15rem; margin-bottom:.4rem; }
.mosaicItem figcaption p{ color:#e8e1cf; font-size:.92rem; margin:0; }
.mosaicItem figcaption span{ font-size:.85rem; color:#e8e1cf; }
.mosaicItem--text{ padding:1.8rem; display:flex; flex-direction:column; justify-content:center; }
.mosaicItem--text header h3{ font-size:1.15rem; display:flex; align-items:center; gap:.5rem; }
.mosaicItem--text header h3 i{ color:var(--color-accent); }
.mosaicItem--text p{ font-size:.95rem; margin:0; }
.mosaicItem.isVisible{ opacity:1; }

@media (max-width:767px){
  .mosaicGrid{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .mosaicItem--large,.mosaicItem--wide{ grid-column:span 1; grid-row:span 1; }
  .mosaicItem img{ height:260px; }
}
@media (min-width:1024px){
  .mosaicGrid{ grid-template-columns:repeat(4,1fr); }
  .mosaicGrid--events{ grid-template-columns:repeat(4,1fr); grid-auto-rows:auto; }
  .mosaicGrid--events .mosaicItem--text{ min-height:200px; }
}


.patternsSection{ background:var(--color-bg-soft); border-radius:var(--radius-lg); }
.patternsSection_header{ max-width:760px; margin-bottom:2.4rem; }
.patternsSection_intro{ font-size:1.02rem; }
.patternsSection_hero{ margin-bottom:2.6rem; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-md); }
.patternsSection_hero img{ width:100%; height:340px; object-fit:cover; }
.patternsSection_hero figcaption{ padding:1rem 1.4rem; background:var(--color-surface); font-size:.92rem; color:var(--color-ink-soft); }
.patternGrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:1.25rem; }
.patternCard{
  border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--color-line); background:var(--color-surface);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
  opacity:0; transform:translateY(20px);
}
.patternCard.isVisible{ opacity:1; transform:translateY(0); }
.patternCard:hover{ transform:translateY(-6px) scale(1.02); box-shadow:var(--shadow-lg); border-color:var(--color-accent); }
.patternCard_swatch{ display:flex; height:84px; }
.patternCard_swatch span{ flex:1; transition:flex .35s var(--ease); }
.patternCard:hover .patternCard_swatch span:first-child{ flex:1.3; }
.patternCard header{ padding:.85rem 1rem; }
.patternCard header h3{ font-size:.95rem; margin:0; }


.comparisonSection_header{ margin-bottom:2.4rem; max-width:700px; }
.comparisonGrid{ display:grid; grid-template-columns:1fr; gap:1.75rem; }
.comparisonGrid--four{ grid-template-columns:1fr; }
.comparisonCard{
  position:relative; overflow:hidden; background:var(--color-surface); border:1px solid var(--color-line);
  border-radius:var(--radius-md); padding:2.2rem 1.9rem; box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  opacity:0; transform:translateY(26px);
}
.comparisonCard.isVisible{ opacity:1; transform:translateY(0); }
.comparisonCard:hover{ transform:translateY(-10px); box-shadow:var(--shadow-lg); border-color:var(--color-accent); }
.comparisonCard::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--color-accent),var(--color-primary)); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.comparisonCard:hover::before{ transform:scaleX(1); }
.comparisonCard_icon{
  display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius-sm);
  background:var(--color-bg-soft); color:var(--color-accent-dark); font-size:1.4rem; margin-bottom:1.2rem;
  transition:background .35s var(--ease), transform .35s var(--ease);
}
.comparisonCard:hover .comparisonCard_icon{ background:var(--color-accent); color:#fffdf8; transform:rotate(-6deg) scale(1.05); }
.comparisonCard header h3{ font-size:1.3rem; margin-bottom:.6rem; }
.comparisonCard ul{ margin:1.2rem 0 1.6rem; display:flex; flex-direction:column; gap:.55rem; }
.comparisonCard ul li{ display:flex; align-items:flex-start; gap:.6rem; font-size:.92rem; color:var(--color-ink-soft); }
.comparisonCard ul li i{ color:var(--color-primary); margin-top:.25rem; }
.comparisonCard_cta{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; color:var(--color-primary); }
.comparisonCard_cta i{ transition:transform .3s var(--ease); }
.comparisonCard_cta:hover i{ transform:translateX(4px); }

@media (min-width:800px){
  .comparisonGrid{ grid-template-columns:repeat(3,1fr); }
  .comparisonGrid--four{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1100px){ .comparisonGrid--four{ grid-template-columns:repeat(4,1fr); } }


.careSection{ background:var(--color-bg-soft); padding-bottom:3rem; }
.careSection_grid{ display:grid; gap:2.5rem; align-items:center; }
.careSection_text--wide{ max-width:820px; }
@media (min-width:900px){ .careSection_grid{ grid-template-columns:.9fr 1.1fr; } }
.careSection figure img{ border-radius:var(--radius-md); box-shadow:var(--shadow-md); width:100%; height:340px; object-fit:cover; }

.workflowSection{ background:var(--color-bg-soft); padding-top:1rem; }
.workflowSection_header{ max-width:700px; margin-bottom:2.4rem; }
.workflowSteps{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
.workflowStep{
  position:relative; background:var(--color-surface); border:1px solid var(--color-line); border-radius:var(--radius-md);
  padding:1.9rem 1.5rem; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  opacity:0; transform:translateY(22px);
}
.workflowStep.isVisible{ opacity:1; transform:translateY(0); }
.workflowStep:hover{ transform:translateY(-8px); box-shadow:var(--shadow-md); border-color:var(--color-primary); }
.workflowStep_number{
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%;
  background:var(--color-primary); color:#fffdf8; font-weight:700; margin-bottom:1rem; font-size:.95rem;
  transition:background .3s var(--ease);
}
.workflowStep:hover .workflowStep_number{ background:var(--color-accent); }
.workflowStep h3{ font-size:1.08rem; margin-bottom:.5rem; }
.workflowStep p{ font-size:.92rem; margin:0; }
@media (min-width:900px){
  .workflowSteps{ grid-template-columns:repeat(5,1fr); }
  .workflowStep:not(:last-child)::after{
    content:""; position:absolute; top:2.6rem; right:-1.1rem; width:1.1rem; height:2px; background:var(--color-line-strong);
  }
}


.gradientSection{
  background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary) 48%, var(--color-accent-dark) 110%);
  border-radius:var(--radius-lg); color:#fffdf8; margin:3rem auto; max-width:1280px;
}
.gradientSection header h2{ color:#fffdf8; max-width:640px; }
.gradientSection_grid{ display:grid; grid-template-columns:1fr; gap:1.6rem; margin-top:2.2rem; }
.gradientSection_item{
  background:rgba(255,253,248,.08); border:1px solid rgba(255,253,248,.18); border-radius:var(--radius-md);
  padding:1.8rem; transition:transform .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);
}
.gradientSection_item:hover{ transform:translateY(-6px); background:rgba(255,253,248,.15); box-shadow:var(--shadow-lg); }
.gradientSection_item i{ font-size:1.6rem; color:var(--color-accent-2); margin-bottom:.9rem; display:inline-block; }
.gradientSection_item h3{ color:#fffdf8; font-size:1.1rem; }
.gradientSection_item p{ color:#e8e1cf; font-size:.92rem; margin:0; }
@media (min-width:700px){ .gradientSection_grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .gradientSection_grid{ grid-template-columns:repeat(4,1fr); } }


.factsSection{ background:var(--color-bg); }
.factsSection_grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; text-align:center; }
.factItem_number{ display:block; font-size:clamp(2.4rem,5vw,3.4rem); font-weight:800; color:var(--color-primary); }
.factItem p{ font-size:.9rem; color:var(--color-ink-soft); max-width:220px; margin:.4rem auto 0; }
@media (min-width:800px){ .factsSection_grid{ grid-template-columns:repeat(4,1fr); } }


.lifestyleSection{ background:var(--color-bg); }
.lifestyleSection_grid{ display:grid; gap:2.5rem; align-items:center; }
.lifestyleSection_grid figure img{ border-radius:var(--radius-md); box-shadow:var(--shadow-md); width:100%; height:340px; object-fit:cover; }
@media (min-width:900px){
  .lifestyleSection_grid{ grid-template-columns:1fr 1fr; }
  .lifestyleSection_grid--reverse{ direction:rtl; }
  .lifestyleSection_grid--reverse > *{ direction:ltr; }
}


.pageBanner{ padding-top:8.5rem; padding-bottom:3rem; text-align:left; }
.pageBanner h1{ font-size:clamp(2.2rem,4.4vw,3.2rem); margin-bottom:.6rem; }
.pageBanner p{ max-width:640px; font-size:1.05rem; }
.pageBanner--legal p{ color:var(--color-ink-soft); }
.breadcrumb{ margin-bottom:1.4rem; }
.breadcrumb ol{ display:flex; gap:.5rem; align-items:center; font-size:.86rem; color:var(--color-ink-soft); }
.breadcrumb li:not(:last-child)::after{ content:"/"; margin-left:.5rem; color:var(--color-line-strong); }
.breadcrumb a{ color:var(--color-primary); font-weight:600; }
.breadcrumb a:hover{ text-decoration:underline; }


.introStory--split{ padding-top:1rem; }
.introStory_media img{ border-radius:var(--radius-md); box-shadow:var(--shadow-md); width:100%; height:360px; object-fit:cover; }
.introStory--split{ display:grid; gap:2.5rem; }
@media (min-width:900px){ .introStory--split{ grid-template-columns:1fr 1fr; align-items:center; } }


.sizeSection{ background:var(--color-bg-soft); border-radius:var(--radius-lg); }
.sizeSection_header{ max-width:700px; margin-bottom:2rem; }
.sizeTable{ overflow-x:auto; border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
.sizeTable table{ width:100%; border-collapse:collapse; background:var(--color-surface); min-width:520px; }
.sizeTable th,.sizeTable td{ padding:1rem 1.2rem; text-align:left; border-bottom:1px solid var(--color-line); font-size:.94rem; }
.sizeTable thead th{ background:var(--color-primary); color:#fffdf8; font-weight:700; }
.sizeTable tbody tr{ transition:background .25s var(--ease); }
.sizeTable tbody tr:hover{ background:var(--color-bg-soft); }


.eventTypesSection_header{ max-width:700px; margin-bottom:2rem; }
.eventTypesSection_note{ margin-top:2rem; font-size:.95rem; max-width:760px; }


.ctaBand{ background:var(--color-primary-dark); border-radius:var(--radius-lg); color:#fffdf8; text-align:center; }
.ctaBand_inner{ max-width:640px; margin:0 auto; }
.ctaBand h2{ color:#fffdf8; }
.ctaBand p{ color:#e8e1cf; }
.ctaBand_actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:1.6rem; }


.contactSection_grid{ display:grid; gap:2.5rem; }
@media (min-width:960px){ .contactSection_grid{ grid-template-columns:1.5fr 1fr; align-items:start; } }
.chatForm{
  background:var(--color-surface); border:1px solid var(--color-line); border-radius:var(--radius-lg);
  padding:1.8rem; box-shadow:var(--shadow-md);
}
.chatForm_header{ display:flex; align-items:center; gap:.9rem; margin-bottom:1.4rem; padding-bottom:1.2rem; border-bottom:1px solid var(--color-line); }
.chatForm_avatar{
  width:46px; height:46px; border-radius:50%; background:var(--color-primary); color:#fffdf8;
  display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.chatForm_header strong{ display:block; color:var(--color-primary-dark); }
.chatForm_header span{ font-size:.8rem; color:var(--color-ink-soft); }
.chatForm_bubble{ max-width:88%; margin-bottom:.9rem; padding:.9rem 1.15rem; border-radius:var(--radius-md); font-size:.94rem; }
.chatForm_bubble--company{ background:var(--color-bg-soft); border-bottom-left-radius:6px; }
.chatForm_bubble--company p{ margin:0; color:var(--color-ink); }
.chatForm_bubble--user{ background:var(--color-primary); margin-left:auto; border-bottom-right-radius:6px; }
.chatForm_bubble--user input, .chatForm_bubble--user textarea{
  width:100%; border:none; background:rgba(255,253,248,.94); border-radius:var(--radius-sm); padding:.75rem .9rem;
  font-family:inherit; font-size:.94rem; color:var(--color-ink); transition:box-shadow .3s var(--ease);
  min-height:44px;
}
.chatForm_bubble--user input:focus, .chatForm_bubble--user textarea:focus{ outline:none; box-shadow:0 0 0 3px rgba(193,104,47,.35); }
.chatForm_bubble--consent{ background:var(--color-primary); }
.chatForm_checkbox{ display:flex; gap:.7rem; align-items:flex-start; color:#fffdf8; font-size:.85rem; cursor:pointer; }
.chatForm_checkbox input{ margin-top:.2rem; width:18px; height:18px; }
.chatForm_checkbox a{ color:var(--color-accent-2); font-weight:700; }
.chatForm_status{ display:block; min-height:1.2em; font-size:.85rem; color:var(--color-accent-dark); margin:.6rem 0 1rem; }
.chatForm_send{
  display:inline-flex; align-items:center; gap:.6rem; padding:.95rem 1.9rem; border-radius:var(--radius-pill);
  background:var(--color-accent); color:#fffdf8; font-weight:700; box-shadow:var(--shadow-md);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease); min-height:44px;
}
.chatForm_send:hover{ transform:translateY(-3px) scale(1.02); box-shadow:var(--shadow-lg); background:var(--color-primary); }

.contactSection_info{ display:flex; flex-direction:column; gap:1.1rem; }
.contactCard{
  background:var(--color-surface); border:1px solid var(--color-line); border-radius:var(--radius-md); padding:1.4rem 1.5rem;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.contactCard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--color-accent); }
.contactCard header h3{ font-size:1rem; display:flex; align-items:center; gap:.6rem; margin-bottom:.4rem; }
.contactCard header h3 i{ color:var(--color-accent); }
.contactCard p{ margin:0; font-size:.92rem; }


.serviceAreaSection{ background:var(--color-bg-soft); border-radius:var(--radius-lg); }
.serviceAreaSection_grid{ display:grid; gap:2.5rem; align-items:center; }
.serviceAreaSection_map{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-md); }
.serviceAreaSection_map iframe{ display:block; }
@media (min-width:960px){ .serviceAreaSection_grid{ grid-template-columns:1fr 1fr; } }


.thanksMain{ min-height:70vh; display:flex; align-items:center; justify-content:center; padding:6rem 1.5rem; text-align:center; }
.thanksMain_inner h1{ font-size:clamp(2.4rem,6vw,4rem); margin-bottom:1.2rem; }
.thanksMain_inner p{ font-size:1.1rem; margin-bottom:2rem; }


.legalDoc{ max-width:900px; padding-top:0; }
.legalDoc_section{ margin-bottom:2.6rem; padding-bottom:2.6rem; border-bottom:1px solid var(--color-line); }
.legalDoc_section:last-child{ border-bottom:none; }
.legalDoc_section h2{ font-size:1.35rem; margin-bottom:1rem; }
.legalDoc_table{ width:100%; border-collapse:collapse; margin-top:.6rem; }
.legalDoc_table th,.legalDoc_table td{ text-align:left; padding:.7rem 1rem; border-bottom:1px solid var(--color-line); font-size:.94rem; }
.legalDoc_table th{ width:220px; color:var(--color-primary-dark); font-weight:700; }


.pageFooter{ position:relative; background:var(--color-primary-dark); color:#e8e1cf; overflow:hidden; margin-top:4rem; }
.pageFooter_illustration{
  position:absolute; inset:0; opacity:.5;
  background-image:
    repeating-linear-gradient(45deg, rgba(255,253,248,.05) 0 2px, transparent 2px 26px),
    repeating-linear-gradient(-45deg, rgba(255,253,248,.04) 0 2px, transparent 2px 26px);
}
.pageFooter_inner{ position:relative; max-width:1280px; margin:0 auto; padding:4.5rem 1.5rem 2.5rem; display:grid; gap:2.5rem; }
.pageFooter_brand p{ color:#cfc6ac; max-width:320px; font-size:.92rem; }
.pageFooter_brand img{ filter:brightness(0) invert(1); margin-bottom:1rem; }
.pageFooter_nav{ display:grid; grid-template-columns:1fr; gap:2rem; }
.pageFooter_nav h3{ color:#fffdf8; font-size:.92rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem; }
.pageFooter_nav ul{ display:flex; flex-direction:column; gap:.6rem; }
.pageFooter_nav a{ position:relative; color:#cfc6ac; font-size:.92rem; transition:color .3s var(--ease); }
.pageFooter_nav a:hover{ color:#fffdf8; padding-left:.35rem; }
.pageFooter_bottom{
  position:relative; max-width:1280px; margin:0 auto; padding:1.5rem 1.5rem 2.2rem; border-top:1px solid rgba(255,253,248,.14);
  display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; justify-content:space-between; font-size:.8rem; color:#a9a08a;
}
@media (min-width:700px){ .pageFooter_inner{ grid-template-columns:1.2fr 2fr; } .pageFooter_nav{ grid-template-columns:repeat(3,1fr); } }


.cookieConsent{
  position:fixed; left:1.2rem; bottom:1.2rem; z-index:80; max-width:360px; width:calc(100% - 2.4rem);
  opacity:0; transform:translateY(16px); pointer-events:none; transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.cookieConsent.isVisible{ opacity:1; transform:translateY(0); pointer-events:auto; }
.cookieConsent_card{
  background:var(--color-surface); border:1px solid var(--color-line); border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); padding:1.3rem 1.4rem;
}
.cookieConsent_text{ font-size:.85rem; margin-bottom:1rem; color:var(--color-ink); }
.cookieConsent_text a{ color:var(--color-primary); font-weight:700; }
.cookieConsent_actions{ display:flex; flex-direction:column; gap:.6rem; }
.cookieConsent_actions .btn{ width:100%; justify-content:center; padding:.75rem 1.2rem; font-size:.88rem; }
.cookieConsent_customize{
  font-size:.8rem; font-weight:600; color:var(--color-ink-soft); text-align:center; padding:.4rem; transition:color .3s var(--ease);
}
.cookieConsent_customize:hover{ color:var(--color-primary); }
.cookieConsent_panel{
  max-height:0; overflow:hidden; transition:max-height .4s var(--ease), margin-top .4s var(--ease); margin-top:0;
  display:flex; flex-direction:column; gap:.6rem;
}
.cookieConsent_panel.isOpen{ max-height:260px; margin-top:.9rem; }
.cookieConsent_panel label{ display:flex; align-items:center; gap:.6rem; font-size:.85rem; color:var(--color-ink); }
.cookieConsent_panel .btn{ margin-top:.4rem; width:100%; justify-content:center; padding:.7rem 1rem; font-size:.85rem; }


[data-aos]{ }

@media (max-width:640px){
  main > article, main > .pageBanner{ padding:3.2rem 1.2rem; }
  .factsSection_grid{ gap:1.4rem; }
}