/* OutingTable — Portuguese outdoor walking culture platform
   Fingerprint: fc31b2dedd0508f7
   Naming: SUIT (Component-elementName, Component--modifier, Component.is-state)
   Reset: Eric Meyer | Units: viewport + rem mix | Methodology: mobile-first
*/
html,body,div,span,applet,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,
del,dfn,em,img,ins,kbd,q,s,samp,
small,strike,strong,sub,sup,tt,var,
b,u,i,center,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,embed,
figure,figcaption,footer,header,hgroup,
menu,nav,output,ruby,section,summary,
time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1}
ol,ul{list-style:none}
blockquote,q{quotes:none}
table{border-collapse:collapse;border-spacing:0}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;font:inherit;color:inherit;background:none;border:none}
a{text-decoration:none;color:inherit}
:root{
  --c-ink: #1a2530;
  --c-paper: #faf6f0;
  --c-paper-warm: #f0e9dc;
  --c-primary: #0d5b6e;
  --c-primary-deep: #084552;
  --c-accent: #e87a3f;
  --c-accent-deep: #d5642d;
  --c-muted: #6b7280;
  --c-line: rgba(26,37,48,0.08);

  --grad-showcase: linear-gradient(135deg, #0d5b6e 0%, #1a4555 50%, #2a6a7d 100%);
  --grad-expertise: linear-gradient(180deg, #faf6f0 0%, #f0e9dc 100%);
  --grad-dna: linear-gradient(135deg, #e87a3f 0%, #d5642d 100%);
  --grad-burning: linear-gradient(180deg, #f5f0e8 0%, #ebe3d3 100%);
  --grad-stories: linear-gradient(135deg, #1a2530 0%, #2a3540 100%);
  --grad-letstalk: linear-gradient(135deg, #0d5b6e 0%, #154858 100%);
  --grad-team: linear-gradient(180deg, #faf6f0 0%, #ede4d2 100%);

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --radius: 4px;
  --radius-lg: 12px;
  --transition: 0.2s ease;
}

html{scroll-behavior:smooth}
body{
  font-family: var(--font-body);
  color: var(--c-ink);
  background: var(--c-paper);
  line-height: 1.6;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.Page-wrap{ width:100%; max-width:1280px; margin:0 auto; padding:0 5vw }
@media(min-width:768px){ .Page-wrap{ padding:0 4vw } }
@media(min-width:1024px){ .Page-wrap{ padding:0 3vw } }
.App{ position:relative; min-height:100vh }
.Module--header{
  position:fixed; top:0; left:0; width:100%; z-index:100;
  background: rgba(250,246,240,0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--c-line);
}
.Module--main{ padding-top: 72px }
.Module--section{ position:relative; width:100% }
.Module-inner{ width:100%; max-width:1280px; margin:0 auto; padding: 2.5rem 5vw }
@media(min-width:768px){ .Module-inner{ padding: 3.5rem 4vw } }
@media(min-width:1024px){ .Module-inner{ padding: 4.5rem 3vw } }
.Header{ display:flex; align-items:center; justify-content:space-between; padding: 0.875rem 5vw }
@media(min-width:768px){ .Header{ padding: 0.875rem 4vw } }
.Header-logo{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--c-ink);
  letter-spacing: -0.02em;
  display:flex; align-items:center; gap:0.5rem;
}
.Header-logo strong{ color: var(--c-accent); font-style:italic }
[data-mm-header]{
  --mm-bg: #faf6f0;
  --mm-text: #1a2530;
  --mm-primary: #e87a3f;
  --mm-overlay-bg: rgba(26,37,48,0.6);
}

/* === Nav (desktop styles — module handles toggle/show/hide)
   Selectors include [data-mm-menu] to match module's specificity (0,0,1,3) === */
[data-mm-menu] ul{
  display:flex; align-items:center; gap: 0.25rem;
}
[data-mm-menu] .Header-navItem a{
  display:inline-block;
  padding: 0.5rem 0.875rem;
  font-size: 0.94rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--c-ink);
  border-radius: 2px;
  position:relative;
  transition: color var(--transition);
  text-decoration: none;
}
[data-mm-menu] .Header-navItem a::after{
  content:''; position:absolute; left:0.875rem; right:0.875rem; bottom:0.3rem;
  height:1px; background: var(--c-accent); transform: scaleX(0); transform-origin:left;
  transition: transform var(--transition);
}
[data-mm-menu] .Header-navItem a:hover{ color: var(--c-accent) }
[data-mm-menu] .Header-navItem a:hover::after{ transform: scaleX(1) }
[data-mm-menu] .Header-navItem.is-active a{ color: var(--c-accent) }
[data-mm-menu] .Header-navItem.is-active a::after{ transform: scaleX(1) }
[data-mm-toggle] span{ background: var(--c-ink) !important }
.Header-navItem.has-mega{ position:relative }
.MegaMenu{
  position:absolute; top:100%; left:-2rem;
  width: 540px;
  background: #fff;
  border:1px solid var(--c-line);
  box-shadow: 0 20px 60px -10px rgba(26,37,48,0.15);
  padding: 1.5rem;
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem;
  opacity:0; visibility:hidden; transform: translateY(-8px);
  transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
  border-radius: var(--radius-lg);
}
.Header-navItem.has-mega:hover .MegaMenu,
.Header-navItem.has-mega:focus-within .MegaMenu{
  opacity:1; visibility:visible; transform: translateY(0);
}
.MegaMenu-item{ display:block; padding: 0.5rem; border-radius: var(--radius); transition: background var(--transition) }
.MegaMenu-item:hover{ background: var(--c-paper-warm) }
.MegaMenu-itemTitle{
  font-family: var(--font-display); font-weight: 700;
  font-size: 1rem; color: var(--c-ink); margin-bottom: 0.25rem;
}
.MegaMenu-itemDesc{ font-size: 0.82rem; color: var(--c-muted); line-height:1.45 }
@media(max-width:767px){
  .MegaMenu{ position:static; width:100%; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; padding:0; grid-template-columns:1fr; background:transparent }
  .MegaMenu-itemTitle{ font-size:0.95rem }
}
h1, .Display-1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 8vw, 6rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: inherit;
}
h2, .Display-2{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.875rem, 4.6vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}
h3, .Display-3{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 2.6vw, 1.625rem);
  line-height: 1.18;
  letter-spacing: -0.015em;
}
h4{ font-family: var(--font-display); font-weight:700; font-size:1.125rem; line-height:1.3 }
p{ font-size: 1.0625rem; line-height: 1.7; color: inherit }
.Lead{ font-size: clamp(1.0625rem, 1.6vw, 1.25rem); line-height: 1.6 }
.Eyebrow{
  display:inline-block; text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 0.78rem; font-weight: 600; padding-bottom: 0.875rem;
  color: var(--c-accent);
}
.Eyebrow.is-onDark{ color: #f3c19b }
.Caption{ font-size: 0.82rem; color: var(--c-muted) }
.Button{
  --btn-bg: var(--c-ink);
  --btn-fg: var(--c-paper);
  --btn-pad: 0.875rem 1.625rem;
  display:inline-flex; align-items:center; gap:0.5rem;
  background: var(--btn-bg); color: var(--btn-fg);
  padding: var(--btn-pad);
  border-radius: 2px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.94rem;
  letter-spacing: 0.02em;
  transition: transform var(--transition), background var(--transition), box-shadow var(--transition);
  border: 1px solid transparent;
}
.Button:hover{ transform: translateY(-1px); box-shadow: 0 8px 20px -6px rgba(26,37,48,0.25) }
.Button:active{ transform: scale(0.97) }
.Button--primary{ --btn-bg: var(--c-accent); --btn-fg: #fff }
.Button--primary:hover{ --btn-bg: var(--c-accent-deep) }
.Button--ghost{ --btn-bg: transparent; --btn-fg: var(--c-ink); border-color: var(--c-ink) }
.Button--ghost.is-onDark{ --btn-fg: #fff; border-color: rgba(255,255,255,0.6) }
.Button--ghost.is-onDark:hover{ background: rgba(255,255,255,0.08) }
.Button--large{ --btn-pad: 1.125rem 2rem; font-size: 1rem }
.Button-icon{ display:inline-block; transition: transform var(--transition) }
.Button:hover .Button-icon{ transform: translateX(3px) }
.Section{ position:relative; width:100%; overflow:hidden }
.Section-head{ max-width: 760px; margin-bottom: 2rem }
.Section--showcase{ background: var(--grad-showcase); color: #fff; min-height: 92vh; display:flex; align-items:center }
.Section--expertise{ background: var(--grad-expertise) }
.Section--ourDna{ background: var(--grad-dna); color: #fff }
.Section--burning{ background: var(--grad-burning) }
.Section--stories{ background: var(--grad-stories); color: #fff }
.Section--letstalk{ background: var(--grad-letstalk); color: #fff }
.Section--team{ background: var(--grad-team) }
.Section--legal{ background: var(--c-paper) }
.Showcase{ display:grid; grid-template-columns: 1fr; gap: 2rem; padding: 5vh 0 }
@media(min-width:900px){ .Showcase{ grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items:center } }
.Showcase-content{ position:relative; z-index:2 }
.Showcase-title{ color:#fff; margin-bottom: 1.25rem }
.Showcase-lead{ color: rgba(255,255,255,0.85); margin-bottom: 2rem; max-width: 36em }
.Showcase-actions{ display:flex; flex-wrap:wrap; gap: 0.875rem }
.Showcase-image{ position:relative }
.Showcase-image img{
  width:100%; height: 50vh; max-height: 540px; min-height: 280px;
  object-fit: cover; border-radius: var(--radius-lg);
  box-shadow: 0 30px 80px -20px rgba(0,0,0,0.4);
}
.Showcase-bullets{
  margin-top: 2.5rem; padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.18);
  display:grid; grid-template-columns: 1fr; gap: 1rem;
}
@media(min-width:600px){ .Showcase-bullets{ grid-template-columns: repeat(2,1fr) } }
.Showcase-bullet{ font-size: 0.88rem; color: rgba(255,255,255,0.85); display:flex; gap:0.6rem; align-items:flex-start }
.Showcase-bullet::before{
  content:''; flex:0 0 auto; width:6px; height:6px; margin-top:0.55rem;
  background: var(--c-accent); border-radius:50%;
}
.FRow{
  display:grid; grid-template-columns: 1fr; gap: 1.5rem;
  padding: 1.5rem 0; border-bottom: 1px solid var(--c-line);
}
.FRow:last-child{ border-bottom: none }
@media(min-width:768px){ .FRow{ grid-template-columns: 0.6fr 1.4fr; gap: 3rem; padding: 2rem 0; align-items:start } }
.FRow-label{ font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--c-accent); font-weight: 700; padding-top: 0.25rem }
.FRow-body h3{ margin-bottom: 0.625rem }
.FRow-body p{ color: var(--c-muted); font-size: 0.98rem }
.CardGrid{ display:grid; grid-template-columns: 1fr; gap: 1.25rem }
@media(min-width:640px){ .CardGrid{ grid-template-columns: repeat(2,1fr); gap: 1.5rem } }
@media(min-width:1000px){ .CardGrid--3{ grid-template-columns: repeat(3,1fr) } }
.Card{
  background:#fff; border:1px solid var(--c-line);
  padding: 1.5rem; border-radius: var(--radius-lg);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  display:flex; flex-direction:column; gap: 0.75rem;
}
.Card:hover{ transform: translateY(-3px); box-shadow: 0 16px 40px -16px rgba(26,37,48,0.18); border-color: rgba(232,122,63,0.4) }
.Card-num{
  font-family: var(--font-display); font-weight: 900;
  font-size: 2rem; color: var(--c-accent); line-height:1;
}
.Card-title{ font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--c-ink) }
.Card-text{ font-size: 0.95rem; color: var(--c-muted); line-height: 1.6 }
.Card.is-dark{ background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); color:#fff }
.Card.is-dark .Card-title{ color:#fff }
.Card.is-dark .Card-text{ color: rgba(255,255,255,0.78) }
.FAQ{ display:flex; flex-direction:column; gap: 0.75rem; max-width: 880px }
.FAQ-item{
  background:#fff; border:1px solid var(--c-line); border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition);
}
.FAQ-item.is-open{ border-color: var(--c-accent) }
.FAQ-item summary{
  cursor:pointer; padding: 1.125rem 1.375rem;
  display:flex; align-items:center; justify-content: space-between; gap: 1rem;
  font-family: var(--font-display); font-weight: 700; font-size: 1.0625rem;
  color: var(--c-ink); list-style: none;
}
.FAQ-item summary::-webkit-details-marker{ display:none }
.FAQ-itemIcon{
  flex:0 0 auto; width: 28px; height: 28px; border-radius:50%;
  border: 1.5px solid var(--c-ink); display:flex; align-items:center; justify-content:center;
  font-size: 0.9rem; transition: transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
}
.FAQ-item[open] .FAQ-itemIcon{ transform: rotate(45deg); background: var(--c-accent); color:#fff; border-color: var(--c-accent) }
.FAQ-itemBody{ padding: 0 1.375rem 1.25rem; color: var(--c-muted); font-size: 0.98rem; line-height: 1.7 }
.TeamGrid{ display:grid; grid-template-columns: 1fr; gap: 1.5rem }
@media(min-width:640px){ .TeamGrid{ grid-template-columns: repeat(2,1fr) } }
@media(min-width:1000px){ .TeamGrid{ grid-template-columns: repeat(3,1fr) } }
.TeamCard{ background:#fff; border-radius: var(--radius-lg); overflow:hidden; border:1px solid var(--c-line); transition: transform var(--transition), box-shadow var(--transition) }
.TeamCard:hover{ transform: translateY(-3px); box-shadow: 0 16px 40px -16px rgba(26,37,48,0.18) }
.TeamCard-image{ width:100%; aspect-ratio: 4/5; overflow:hidden; background: var(--c-paper-warm) }
.TeamCard-image img{ width:100%; height:100%; object-fit: cover; transition: transform 0.6s ease }
.TeamCard:hover .TeamCard-image img{ transform: scale(1.04) }
.TeamCard-body{ padding: 1.25rem 1.375rem 1.5rem }
.TeamCard-name{ font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; margin-bottom: 0.125rem }
.TeamCard-role{ font-size: 0.85rem; color: var(--c-accent); text-transform: uppercase; letter-spacing: 0.12em; font-weight: 600; margin-bottom: 0.625rem }
.TeamCard-bio{ font-size: 0.92rem; color: var(--c-muted); line-height: 1.6 }
.BlogGrid{ display:grid; grid-template-columns: 1fr; gap: 1.5rem }
@media(min-width:768px){ .BlogGrid{ grid-template-columns: repeat(2,1fr); gap: 2rem } }
@media(min-width:1100px){ .BlogGrid{ grid-template-columns: repeat(3,1fr) } }
.BlogCard{
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  overflow:hidden;
  transition: transform var(--transition), border-color var(--transition), background var(--transition);
}
.BlogCard.is-onLight{ background:#fff; border-color: var(--c-line) }
.BlogCard:hover{ transform: translateY(-3px); border-color: var(--c-accent) }
.BlogCard-image{ width:100%; aspect-ratio: 16/10; overflow:hidden; background: rgba(255,255,255,0.05) }
.BlogCard-image img{ width:100%; height:100%; object-fit:cover; transition: transform 0.5s ease }
.BlogCard:hover .BlogCard-image img{ transform: scale(1.05) }
.BlogCard-body{ padding: 1.25rem 1.375rem 1.5rem }
.BlogCard-meta{ font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 0.625rem }
.BlogCard-title{ font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; line-height: 1.25; margin-bottom: 0.625rem; color: inherit }
.BlogCard.is-onLight .BlogCard-title{ color: var(--c-ink) }
.BlogCard-excerpt{ font-size: 0.93rem; color: rgba(255,255,255,0.72); line-height: 1.6 }
.BlogCard.is-onLight .BlogCard-excerpt{ color: var(--c-muted) }
.BlogCard-link{ display:inline-block; margin-top: 0.875rem; font-weight: 600; font-size: 0.9rem; color: var(--c-accent); letter-spacing: 0.04em }
.BlogCard-link::after{ content:'  \2192'; transition: margin var(--transition) }
.BlogCard:hover .BlogCard-link::after{ margin-left: 4px }
.Post-hero{ padding: 5rem 0 2rem }
.Post-hero h1{ max-width: 920px; margin-bottom: 1rem }
.Post-meta{ font-size: 0.85rem; color: var(--c-muted); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1.25rem }
.Post-image{ width:100%; aspect-ratio: 16/9; overflow:hidden; border-radius: var(--radius-lg); margin-bottom: 2.5rem }
.Post-image img{ width:100%; height:100%; object-fit:cover }
.Post-body{ max-width: 720px; margin: 0 auto }
.Post-body p{ margin-bottom: 1.25rem; font-size: 1.0625rem; color: var(--c-ink); line-height: 1.8 }
.Post-body h2{ margin: 2rem 0 0.875rem; color: var(--c-ink) }
.Post-body h3{ margin: 1.5rem 0 0.625rem }
.Post-body ul{ list-style: disc; padding-left: 1.25rem; margin-bottom: 1.25rem; color: var(--c-ink) }
.Post-body ul li{ margin-bottom: 0.4rem; line-height: 1.7 }
.Post-back{ display:inline-block; margin: 2rem 0; color: var(--c-accent); font-weight: 600; font-size: 0.95rem }
.Post-back::before{ content:'\2190  '; margin-right: 4px }
.Form{ display:flex; flex-direction:column; gap: 1rem; max-width: 560px }
.Form-group{ display:flex; flex-direction:column; gap: 0.4rem }
.Form-label{ font-size: 0.85rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255,255,255,0.85) }
.Form.is-onLight .Form-label{ color: var(--c-ink) }
.Form-input, .Form-textarea{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.2);
  color:#fff;
  padding: 0.875rem 1rem;
  border-radius: var(--radius);
  font-family: inherit; font-size: 1rem;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}
.Form.is-onLight .Form-input, .Form.is-onLight .Form-textarea{
  background:#fff; border-color: var(--c-line); color: var(--c-ink);
}
.Form-input:focus, .Form-textarea:focus{
  outline:none; border-color: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(232,122,63,0.25);
}
.Form-textarea{ min-height: 140px; resize: vertical }
.Form-check{ display:flex; align-items:flex-start; gap: 0.625rem; font-size: 0.86rem; line-height: 1.55 }
.Form-check input{ margin-top: 0.25rem; accent-color: var(--c-accent); width: 1rem; height: 1rem }
.Form-check a{ text-decoration: underline; color: var(--c-accent) }
.Form-error{ color: #ffb4a3; font-size: 0.86rem; font-weight: 500 }
.Form.is-onLight .Form-error{ color: #c8462e }
.Form-success{
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.18);
  padding: 1.25rem 1.5rem; border-radius: var(--radius-lg);
  color:#fff; font-size: 0.95rem;
}
.Form.is-onLight .Form-success{ background: #e8f3e8; border-color: #b6d8b6; color: #1e4d2a }
.SidePanel{
  position: fixed; top:0; right:0; height:100vh; height:100dvh;
  width: min(440px, 92vw);
  background: var(--c-ink); color:#fff;
  z-index: 1200;
  padding: 2rem 1.75rem;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -20px 0 50px -20px rgba(0,0,0,0.4);
}
.SidePanel.is-open{ transform: translateX(0) }
.SidePanel-close{
  position:absolute; top: 1rem; right: 1rem;
  width: 36px; height: 36px; border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  font-size: 1.5rem; color:#fff;
  transition: background var(--transition);
}
.SidePanel-close:hover{ background: rgba(255,255,255,0.1) }
.SidePanel-title{ font-family: var(--font-display); font-size: 1.625rem; margin-bottom: 0.5rem; color:#fff }
.SidePanel-lead{ font-size: 0.95rem; color: rgba(255,255,255,0.78); margin-bottom: 1.5rem }
.SidePanel-overlay{
  position: fixed; inset: 0; background: rgba(0,0,0,0.55);
  opacity:0; visibility:hidden; z-index: 1150;
  transition: opacity var(--transition), visibility var(--transition);
}
.SidePanel-overlay.is-visible{ opacity:1; visibility:visible }
.LetsTalk{ display:grid; grid-template-columns: 1fr; gap: 2.5rem }
@media(min-width:900px){ .LetsTalk{ grid-template-columns: 1fr 1.1fr; gap: 4rem; align-items: start } }
.LetsTalk-info{ color: rgba(255,255,255,0.9) }
.LetsTalk-info h2{ color: #fff; margin-bottom: 1rem }
.LetsTalk-info p{ color: rgba(255,255,255,0.78); margin-bottom: 1.5rem }
.LetsTalk-contacts{ display:flex; flex-direction:column; gap: 1rem; margin-top: 2rem }
.LetsTalk-contact{ display:flex; flex-direction:column; gap: 0.2rem }
.LetsTalk-contactLabel{ font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: #f3c19b }
.LetsTalk-contactValue{ font-family: var(--font-display); font-size: 1.25rem; color:#fff; font-weight: 700 }
.LetsTalk-contactValue a{ color: inherit }
.LetsTalk-contactValue a:hover{ color: var(--c-accent) }
.EditorialNote{
  font-size: 0.82rem; color: var(--c-muted);
  border-top: 1px dashed var(--c-line);
  padding-top: 1.25rem; margin-top: 2rem;
  max-width: 720px;
}
.EditorialNote a{ color: var(--c-accent); text-decoration: underline }
.Footer{ background: #0e171f; color: rgba(255,255,255,0.75); padding: 3rem 5vw 1.5rem }
.Footer-grid{ display:grid; grid-template-columns: 1fr; gap: 2rem; max-width: 1280px; margin: 0 auto }
@media(min-width:700px){ .Footer-grid{ grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem } }
@media(min-width:1000px){ .Footer-grid{ grid-template-columns: 1.6fr 1fr 1fr 1fr } }
.Footer-brand h3{ color:#fff; font-family: var(--font-display); font-size: 1.3rem; margin-bottom: 0.625rem }
.Footer-brand p{ font-size: 0.9rem; line-height: 1.65; color: rgba(255,255,255,0.65) }
.Footer-col h4{ color:#fff; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.16em; margin-bottom: 1rem; font-weight: 700 }
.Footer-list{ display:flex; flex-direction:column; gap: 0.5rem }
.Footer-list a{ font-size: 0.92rem; color: rgba(255,255,255,0.72); transition: color var(--transition) }
.Footer-list a:hover{ color: var(--c-accent) }
.Footer-bottom{
  margin-top: 2rem; padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  max-width: 1280px; margin-left:auto; margin-right:auto;
  display:flex; flex-direction:column; gap: 0.625rem;
  font-size: 0.82rem; color: rgba(255,255,255,0.5);
}
@media(min-width:768px){ .Footer-bottom{ flex-direction:row; justify-content:space-between; align-items:center } }
.Footer-company{ font-size: 0.8rem; color: rgba(255,255,255,0.45); line-height: 1.6 }
.Footer-disclaimerNote{ font-size: 0.8rem; color: rgba(255,255,255,0.45) }
.Footer-disclaimerNote a{ color: rgba(255,255,255,0.7); text-decoration: underline }
.Legal{ max-width: 840px; margin: 0 auto; padding: 6rem 5vw 4rem }
.Legal h1{ font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 1rem; line-height: 1.1 }
.Legal-updated{ font-size: 0.85rem; color: var(--c-muted); margin-bottom: 2.5rem; letter-spacing: 0.06em; text-transform: uppercase }
.Legal h2{ font-size: 1.45rem; margin-top: 2.25rem; margin-bottom: 0.75rem }
.Legal h3{ font-size: 1.125rem; margin-top: 1.5rem; margin-bottom: 0.5rem }
.Legal p{ margin-bottom: 1rem; color: var(--c-ink); line-height: 1.8 }
.Legal ul{ list-style: disc; padding-left: 1.5rem; margin-bottom: 1.25rem }
.Legal ul li{ margin-bottom: 0.4rem; line-height: 1.7 }
.PageHero{
  background: var(--grad-showcase);
  color:#fff;
  padding: 7.5rem 5vw 3.5rem;
}
.PageHero-inner{ max-width: 1280px; margin: 0 auto }
.PageHero h1{ color:#fff; max-width: 18ch; margin-bottom: 0.875rem }
.PageHero p{ color: rgba(255,255,255,0.82); max-width: 56ch; font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.6 }
@media(max-width: 767px){
  .Module--main{ padding-top: 64px }
  .Showcase, .LetsTalk, .CardGrid, .TeamGrid, .BlogGrid{ grid-template-columns: 1fr }
  .Module-inner{ padding: 2.25rem 5vw }
}
@media print{
  .Module--header, .SidePanel, .SidePanel-overlay, .Footer{ display:none }
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important }
}
:root{
  --cc-bg: #faf6f0;
  --cc-text: #1a2530;
  --cc-text-secondary: #5e6973;
  --cc-border: rgba(26,37,48,0.08);
  --cc-primary: #e87a3f;
  --cc-primary-hover: #d5642d;
  --cc-secondary: #ffffff;
  --cc-secondary-hover: #f0e9dc;
  --cc-secondary-border: rgba(26,37,48,0.12);
  --cc-toggle-bg: #d1d5db;
  --cc-toggle-active: #e87a3f;
  --cc-overlay: rgba(26,37,48,0.55);
  --cc-shadow: 0 -8px 30px rgba(26,37,48,0.12);
  --cc-radius: 12px;
  --cc-radius-sm: 6px;
}
