:root { --color-primary: #A65D57;
--color-primary-light: #C17A74;
--color-primary-dark: #8B4E49;
--color-text: #1A1917;
--color-text-light: #6B6560;
--color-background: #FAF8F5;
--color-white: #FDFCFA; --font-heading: 'Afacad', system-ui, sans-serif;
--font-body: 'DM Sans', system-ui, sans-serif; --font-size-h1: clamp(3.8rem, 7.65vw, 6.1rem);
--font-size-h2: clamp(2.5rem, 5vw, 4rem);
--font-size-h3: clamp(1.5rem, 3vw, 2rem);
--font-size-h4: clamp(1.25rem, 2vw, 1.5rem);
--font-size-h5: 1.15rem;
--font-size-h6: 1rem; --font-size-body: 1rem;
--font-size-body-lg: 1.25rem;
--font-size-body-sm: 0.875rem;
--font-size-body-xs: 0.75rem; --space-xs: 0.5rem;
--space-sm: 1rem;
--space-md: 2rem;
--space-lg: 4rem;
--space-xl: 6rem; --radius-sm: 0.5rem;
--radius-md: 1rem;
--radius-lg: 1.5rem;
--radius-full: 100px; --font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--font-weight-extrabold: 800; --line-height-tight: 1.1;
--line-height-heading: 1.2;
--line-height-body: 1.6; --letter-spacing-tight: -0.03em;
--letter-spacing-normal: 0;
--letter-spacing-wide: 0.05em;
--letter-spacing-wider: 0.1em; --transition-fast: 0.2s ease;
--transition-normal: 0.4s ease;
--transition-smooth: 0.6s cubic-bezier(0.16, 1, 0.3, 1); --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
--shadow-md: 0 8px 24px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.15);
} *, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
} html {
font-size: 16px;
scroll-behavior: auto;
}
@media (max-width: 1024px) {
html {
font-size: 14px;
}
}
@media (max-width: 480px) {
html {
font-size: 14px;
}
}
body {
font-family: var(--font-body);
color: var(--color-text);
background-color: var(--color-primary);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3Cpath d='M6 5V0H5v5H0v1h5v94h1V6h94V5H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
background-size: 200px 200px;
line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
font-weight: var(--font-weight-semibold);
line-height: var(--line-height-heading);
letter-spacing: var(--letter-spacing-tight);
}
h1 { font-size: var(--font-size-h1); font-weight: var(--font-weight-extrabold); }
h2 { font-size: var(--font-size-h2); font-weight: var(--font-weight-extrabold); }
h3 { font-size: var(--font-size-h3); font-weight: var(--font-weight-bold); }
h4 { font-size: var(--font-size-h4); font-weight: var(--font-weight-bold); }
h5 { font-size: var(--font-size-h5); font-weight: var(--font-weight-semibold); }
h6 { font-size: var(--font-size-h6); font-weight: var(--font-weight-semibold); }
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: inherit;
text-decoration: none;
}
ul, ol {
list-style: none;
} .container {
width: 100%;
max-width: 1400px;
margin: 0 auto;
padding: 0 var(--space-md);
} .flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.items-start {
align-items: flex-start;
}
.items-end {
align-items: flex-end;
}
.justify-center {
justify-content: center;
}
.justify-between {
justify-content: space-between;
}
.justify-start {
justify-content: flex-start;
}
.justify-end {
justify-content: flex-end;
}
.gap-xs {
gap: var(--space-xs);
}
.gap-sm {
gap: var(--space-sm);
}
.gap-md {
gap: var(--space-md);
}
.gap-lg {
gap: var(--space-lg);
}
.gap-xl {
gap: var(--space-xl);
} .flex-1 {
flex: 1;
}
.flex-half {
flex: 0 0 50%;
max-width: 50%;
}
@media (max-width: 768px) {
.flex-half {
flex: 0 0 100%;
max-width: 100%;
}
} .sections-wrapper {
display: flex;
flex-direction: column;
gap: 4rem;
padding-top: 6rem;
}
.stacking-group {
display: flex;
flex-direction: column;
gap: 18rem;
@media (max-width: 768px) {
gap: 2rem;
}
}
.section-card {
background: var(--color-white);
border-radius: var(--radius-lg);
margin: 0 var(--space-md);
box-shadow: var(--shadow-sm);
width: calc(100% - var(--space-md) * 2);
position: relative;
overflow: hidden;
} @media (min-width: 769px) {
.section-card.is-sticky {
position: sticky;
}
}
@media (max-width: 768px) {
.section-card {
margin: 0 1.5rem;
width: calc(100% - 3rem);
}
}
@media (min-width: 1432px) {
.section-card {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
}
}
.screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important;
}  .promo-topbar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 101;
background: var(--color-text);
color: var(--color-white);
font-family: var(--font-body);
overflow: hidden;
animation: topbar-slide-down 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
@media (max-width: 600px) {
top: auto;
bottom: 0;
border-radius: 1rem 1rem 0 0;
box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
animation-name: topbar-slide-up;
}
}
@keyframes topbar-slide-down {
from {
transform: translateY(-100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes topbar-slide-up {
from {
transform: translateY(100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.promo-topbar__inner {
display: flex;
align-items: center;
justify-content: center;
gap: 1.5rem;
padding: 0.8rem var(--space-md);
font-size: 0.9rem;
@media (max-width: 600px) {
flex-direction: column;
gap: 0.65rem;
padding: 1.15rem 1.3rem;
}
} .promo-topbar__row {
display: contents;
@media (max-width: 600px) {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.65rem;
width: 100%;
}
}
.promo-topbar__text {
display: flex;
align-items: center;
gap: 0.4rem;
font-weight: 600;
font-size: 0.9rem;
.material-symbols-outlined {
font-size: 18px;
}
strong {
font-weight: 700;
color: var(--color-primary-light);
}
@media (max-width: 600px) {
font-size: 0.9rem;
}
} .promo-topbar__btn {
display: inline-block;
background: rgba(255, 255, 255, 0.15);
color: #fff;
font-size: 0.8rem;
font-weight: 600;
text-decoration: none;
padding: 0.45rem 1.2rem;
border-radius: var(--radius-full);
border: 1px solid rgba(255, 255, 255, 0.3);
transition: background 0.2s, transform 0.2s;
&:hover {
background: rgba(255, 255, 255, 0.25);
transform: scale(1.03);
}
@media (max-width: 600px) {
display: none;
}
} .promo-topbar__btn-mobile {
display: none;
@media (max-width: 600px) {
display: block;
width: 100%;
text-align: center;
background: var(--color-primary);
color: #fff;
font-size: 0.9rem;
font-weight: 700;
text-decoration: none;
padding: 0.85rem 1.5rem;
border-radius: var(--radius-full);
letter-spacing: 0.02em;
transition: background 0.2s;
&:active {
background: var(--color-primary-dark);
}
}
}
.promo-topbar__countdown {
display: flex;
align-items: center;
gap: 0.3rem;
@media (max-width: 600px) {
gap: 0.2rem;
}
}
.promo-countdown__block {
display: flex;
flex-direction: column;
align-items: center;
background: rgba(255, 255, 255, 0.12);
border-radius: 5px;
padding: 0.3rem 0.5rem;
min-width: 2.8rem;
line-height: 1;
span {
font-size: 1.05rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
}
small {
font-size: 0.6rem;
text-transform: uppercase;
letter-spacing: 0.05em;
opacity: 0.7;
margin-top: 2px;
}
@media (max-width: 600px) {
min-width: 2.5rem;
padding: 0.25rem 0.4rem;
span { font-size: 1rem; }
small { font-size: 0.6rem; }
}
}
.promo-countdown__sep {
font-weight: 700;
opacity: 0.5;
font-size: 1rem;
@media (max-width: 600px) {
font-size: 0.9rem;
}
} .promo-topbar + .site-header {
top: 3.2rem;
@media (max-width: 600px) {
top: 0;
}
} body:has(.promo-topbar) .sections-wrapper {
padding-top: 11rem;
@media (max-width: 600px) {
padding-top: 6rem;
}
}
body:has(.promo-topbar) .contratar-page {
padding-top: 11.5rem;
@media (max-width: 768px) {
padding-top: 9rem;
}
@media (max-width: 600px) {
padding-top: 6rem;
}
}
body:has(.promo-topbar) .contact-page,
body:has(.promo-topbar) .gracias-page,
body:has(.promo-topbar) .legal-page,
body:has(.promo-topbar) .error-page,
body:has(.promo-topbar) .sobre-vosotros-page {
padding-top: 10rem;
@media (max-width: 600px) {
padding-top: 6rem;
}
}
body:has(.promo-topbar) .hero {
padding-top: 3.2rem;
@media (max-width: 600px) {
padding-top: 0;
}
} @media (max-width: 600px) {
body:has(.promo-topbar) {
padding-bottom: 8rem;
}
body:has(.promo-topbar) .site-footer {
padding-bottom: 5rem;
}
} .site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
justify-content: center;
align-items: center;
padding: var(--space-sm) var(--space-md);
background: transparent;
border-bottom: 1px solid transparent;
transition: background var(--transition-normal), border-color var(--transition-normal), padding var(--transition-normal);
}
.header-inner {
width: 100%;
max-width: 1240px;
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-md);
}
.site-nav {
display: flex;
align-items: center;
gap: clamp(1rem, 2.4vw, 2rem);
margin-left: auto;
margin-right: var(--space-md);
}
.site-nav > a {
color: #fff;
font-weight: 600;
font-size: 1rem;
text-decoration: none;
white-space: nowrap;
transition: color var(--transition-fast);
}
.site-nav > a:hover {
color: rgba(255, 255, 255, 0.75);
}
.site-header.scrolled .site-nav > a {
color: #fff;
}
.site-header.scrolled .site-nav > a:hover {
color: #faf1ed;
}
.site-nav__cta-mobile {
display: none;
}
.header-actions {
display: flex;
align-items: center;
gap: var(--space-sm);
}
.header-cta {
display: inline-flex;
align-items: center;
background: #fff;
color: var(--color-primary) !important;
padding: 0.7rem 1.5rem;
border-radius: 999px;
font-weight: 700;
font-size: 1rem;
text-decoration: none;
white-space: nowrap;
transition: background var(--transition-fast), transform var(--transition-fast);
}
.header-cta:hover {
background: #faf1ed;
transform: translateY(-1px);
}
.site-header.scrolled .header-cta {
background: #fff;
color: var(--color-primary) !important;
}
.site-header.scrolled .header-cta:hover {
background: #faf1ed;
}
.nav-toggle {
display: none;
}
.nav-overlay {
display: none;
}
@media (max-width: 900px) {
.site-nav {
position: fixed;
top: 0;
right: 0;
bottom: 0;
width: min(80vw, 320px);
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
gap: 0;
margin: 0;
background: #fff;
padding: 5.5rem var(--space-md) var(--space-md);
box-shadow: -12px 0 40px rgba(0,0,0,.14);
transform: translateX(100%);
transition: transform var(--transition-normal);
z-index: 200;
overflow-y: auto;
}
.site-nav.open {
transform: translateX(0);
}
.site-nav > a {
color: var(--color-text) !important;
font-size: 1.1rem;
padding: 0.85rem 0;
border-bottom: 1px solid #f1e9e1;
}
.site-nav > a:hover {
color: var(--color-primary) !important;
}
.site-nav__cta-mobile {
display: inline-flex !important;
justify-content: center;
margin-top: 1.2rem;
background: var(--color-primary);
color: #fff !important;
padding: 0.9rem 1.5rem;
border-radius: 999px;
font-weight: 700;
border-bottom: 0 !important;
}
.nav-overlay {
display: block;
position: fixed;
inset: 0;
background: rgba(0,0,0,.35);
opacity: 0;
pointer-events: none;
transition: opacity var(--transition-normal);
z-index: 150;
}
.nav-overlay.open {
opacity: 1;
pointer-events: auto;
}
.nav-toggle {
display: flex;
flex-direction: column;
justify-content: center;
gap: 5px;
width: 44px;
height: 44px;
background: none;
border: 0;
cursor: pointer;
padding: 9px;
}
.nav-toggle span {
display: block;
height: 2px;
width: 100%;
background: #fff;
border-radius: 2px;
transition: transform .3s, opacity .3s;
}
.site-header.scrolled .nav-toggle span {
background: #fff;
}
.nav-toggle.open span {
background: #fff;
}
.nav-toggle.open span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.nav-toggle.open span:nth-child(2) {
opacity: 0;
}
.nav-toggle.open span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}
body.nav-open {
overflow: hidden;
}
}
.site-header.scrolled {
background: var(--color-primary);
border-bottom: 1px solid var(--color-primary-dark);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.logo-link {
display: block;
}
.logo {
height: 3.6rem;
width: auto;
transition: height var(--transition-normal);
}
.site-header.scrolled .logo {
height: 2.5rem;
}
@media (max-width: 768px) {
.logo {
height: 2.9rem;
}
.site-header.scrolled .logo {
height: 2rem;
}
} .site-footer {
background: var(--color-text);
color: var(--color-white);
padding: 3rem 2rem;
margin-top: var(--space-xl);
}
.footer-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 1.5rem;
text-align: center;
}
.footer-top {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
}
.footer-logo {
display: block;
margin-bottom: 0.5rem;
}
.footer-logo-img {
height: 2.5rem;
width: auto;
filter: brightness(0) invert(1);
}
.footer-copy {
font-size: 0.85rem;
color: rgba(255, 255, 255, 0.6);
a {
color: var(--color-white);
text-decoration: underline;
text-underline-offset: 2px;
&:hover {
text-decoration: none;
}
}
}
.footer-nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.4rem 1.5rem;
a {
font-size: 0.85rem;
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
transition: color var(--transition-fast);
&:hover {
color: var(--color-white);
}
}
}
.footer-legal {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.4rem 1rem;
a {
font-size: 0.75rem;
color: rgba(255, 255, 255, 0.35);
text-decoration: none;
transition: color var(--transition-fast);
&:hover {
color: rgba(255, 255, 255, 0.6);
}
}
}
.footer-funding {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.75rem 1.25rem;
padding: 1.25rem 2rem 0;
border-top: 1px solid rgba(255, 255, 255, 0.1);
margin-top: 0.5rem;
}
.footer-funding__logo {
height: 2rem;
width: auto;
opacity: 0.7;
filter: brightness(0) invert(1);
}
.footer-funding__text {
font-size: 0.7rem;
color: rgba(255, 255, 255, 0.4);
text-align: center;
line-height: 1.4;
} [data-reveal] {
opacity: 0;
transform: translateY(30px);
transition:
opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal="fade"] {
transform: none;
}
[data-reveal="left"] {
transform: translateX(-30px);
}
[data-reveal="right"] {
transform: translateX(30px);
}
[data-reveal="scale"] {
transform: scale(0.95);
}
[data-reveal].is-visible {
opacity: 1;
transform: none;
} [data-reveal][data-delay="1"] { transition-delay: 0.1s; }
[data-reveal][data-delay="2"] { transition-delay: 0.2s; }
[data-reveal][data-delay="3"] { transition-delay: 0.3s; }
[data-reveal][data-delay="4"] { transition-delay: 0.4s; }
[data-reveal][data-delay="5"] { transition-delay: 0.5s; }
[data-reveal][data-delay="6"] { transition-delay: 0.6s; }
[data-reveal][data-delay="7"] { transition-delay: 0.7s; }
[data-reveal][data-delay="8"] { transition-delay: 0.8s; }
[data-reveal][data-delay="9"] { transition-delay: 0.9s; }
[data-reveal][data-delay="10"] { transition-delay: 1s; } @media (prefers-reduced-motion: reduce) {
[data-reveal] {
opacity: 1;
transform: none;
transition: none;
}
}
@media (max-width: 900px) {
.site-nav .lang-switcher {
position: static;
margin-top: 1.6rem;
align-self: flex-start;
box-shadow: none;
border: 1px solid #f1e9e1;
background: #fff;
}
}
@media (max-width: 900px) {
body.nav-open .site-header {
z-index: 300;
}
} .header-contact{display:inline-flex;align-items:center;padding:0.7rem 1.5rem;border-radius:999px;font-weight:700;font-size:1rem;border:2px solid #fff;color:#fff !important;background:transparent;text-decoration:none;transition:background .2s,color .2s,border-color .2s;margin-right:0.6rem}
.header-contact:hover{background:#fff;color:var(--color-primary) !important}
.site-header.scrolled .header-contact{border-color:#fff;color:#fff !important}
.site-header.scrolled .header-contact:hover{background:#fff;color:var(--color-primary) !important}
@media (max-width:900px){.header-contact{display:none}}
.site-nav__wa{background:#25D366 !important;color:#fff !important} :root{ --ig-gradient: linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); } .header-ig{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--ig-gradient);color:#fff;box-shadow:0 4px 14px rgba(220,39,67,.35);transition:filter .25s ease,box-shadow .25s ease;flex:0 0 auto;}
.header-ig:hover{filter:brightness(1.08);box-shadow:0 6px 18px rgba(220,39,67,.4);color:#fff;}
.header-ig svg{display:block;} .site-nav__ig{background:var(--ig-gradient);color:#fff !important;border-radius:10px;text-align:center;font-weight:600;} .footer-ig{display:inline-flex;align-items:center;gap:.5rem;margin-top:.85rem;padding:.5rem .95rem;border-radius:999px;background:var(--ig-gradient);color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:0 4px 14px rgba(220,39,67,.3);transition:filter .25s ease,box-shadow .25s ease;width:max-content;}
.footer-ig:hover{filter:brightness(1.08);box-shadow:0 6px 18px rgba(220,39,67,.35);color:#fff;}
.footer-ig svg{display:block;flex:0 0 auto;} .ig-section{padding:clamp(3.5rem,8vw,6rem) 0;text-align:center;}
.ig-section__inner{display:flex;flex-direction:column;align-items:center;gap:1rem;}
.ig-section__eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;-webkit-text-fill-color:#fff;color:#fff;}
.ig-section__title{font-size:clamp(1.8rem,4vw,2.6rem);margin:0;color:#fff;}
.ig-section__text{max-width:44ch;margin:0 auto;color:#fff;opacity:.95;}
.ig-cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:.4rem;padding:.95rem 1.8rem;border-radius:999px;background:var(--ig-gradient);color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;box-shadow:0 8px 24px rgba(220,39,67,.4);transition:filter .25s ease,box-shadow .25s ease;}
.ig-cta:hover{filter:brightness(1.06);box-shadow:0 10px 26px rgba(220,39,67,.45);color:#fff;}
.ig-cta svg{display:block;}
.ig-section__handle{color:#fff;opacity:.85;text-decoration:none;font-weight:600;}
.ig-section__handle:hover{opacity:1;}
@media (max-width:768px){ .header-ig{width:38px;height:38px;border-radius:10px;} }
.ig-section__feed{width:100%;max-width:960px;margin:.5rem auto 1rem;background:#fff;border-radius:20px;padding:clamp(.75rem,2vw,1.25rem);box-shadow:0 10px 30px rgba(0,0,0,.08);overflow:hidden;}