
h1, .h1{font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-regular);color:var(--color-charcoal);letter-spacing:-0.02em;}
h2, .h2{font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-regular);color:var(--color-charcoal);letter-spacing:-0.01em;}
h3, .h3{font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--weight-regular);color:var(--color-charcoal);}
h4, .h4{font-family:var(--font-accent);font-size:var(--text-h4);font-weight:var(--weight-semibold);color:var(--color-charcoal);}
p{margin-block-end:var(--space-md);color:var(--color-charcoal-light);}
p:last-child{margin-block-end:0;}
strong{font-weight:var(--weight-semibold);color:var(--color-charcoal);}
a:not([class]){color:var(--color-agave);text-decoration:underline;text-decoration-color:var(--color-rosa);text-underline-offset:3px;text-decoration-thickness:2px;transition:color var(--duration-fast) var(--ease-smooth),
text-decoration-color var(--duration-fast) var(--ease-smooth);}
a:not([class]):hover{color:var(--color-rosa);}::selection{background-color:var(--color-rosa);color:var(--color-white);}
.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter);}
.container--narrow{max-width:var(--max-width-narrow);}
.section{padding-block:var(--space-4xl);position:relative;}
.section--sm{padding-block:var(--space-2xl);}
.section--lg{padding-block:var(--space-5xl);}
.section-label{font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:0.15em;color:var(--color-rosa);margin-block-end:var(--space-sm);}
.section-title{font-family:var(--font-display);font-size:var(--text-h2);color:var(--color-charcoal);margin-block-end:var(--space-md);}
.section-subtitle{font-size:var(--text-body-lg);color:var(--color-charcoal-light);max-width:600px;}
.section-header{margin-block-end:var(--space-3xl);}
.section-header--center{text-align:center;}
.section-header--center .section-subtitle{margin-inline:auto;}
body::before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;}
.bg-sand{position:relative;}
.bg-sand::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;}
.site-footer,
.ai-hero{position:relative;}
.site-footer::before,
.ai-hero::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='smoke'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.4' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23smoke)' opacity='0.8'/%3E%3C/svg%3E");background-repeat:repeat;background-size:300px 300px;}
.cta-banner::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0.06;background-image:repeating-linear-gradient(
-45deg,
transparent,
transparent 4px,
rgba(255, 255, 255, 0.1) 4px,
rgba(255, 255, 255, 0.1) 5px
);}
.hero::before{content:'';position:absolute;top:-20%;right:-10%;width:60%;height:60%;background:radial-gradient(circle, rgba(var(--color-rosa-rgb), 0.06) 0%, transparent 70%);pointer-events:none;z-index:0;}
.hero .container{position:relative;z-index:1;}
.watermark{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:0.07;mask-image:radial-gradient(circle,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(circle,black 30%,transparent 70%);object-fit:cover;}
.watermark--left{left:-8%;top:50%;transform:translateY(-50%);}
.watermark--right{right:-8%;top:50%;transform:translateY(-50%);}
.watermark--top-right{right:-5%;top:-10%;}
.watermark--bottom-left{left:-5%;bottom:-10%;}
.watermark--sm{width:min(30vw,250px);height:auto;}
.watermark--md{width:min(40vw,350px);height:auto;}
.watermark--lg{width:min(50vw,450px);height:auto;}
@media(max-width:768px){.watermark{display:none;}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--duration-slow) var(--ease-out-expo),
transform var(--duration-slow) var(--ease-out-expo);}
.reveal.active{opacity:1;transform:translateY(0);}
.reveal[data-delay="1"]{transition-delay:100ms;}
.reveal[data-delay="2"]{transition-delay:200ms;}
.reveal[data-delay="3"]{transition-delay:300ms;}
.reveal[data-delay="4"]{transition-delay:400ms;}
.reveal[data-delay="5"]{transition-delay:500ms;}
.hero .reveal,
.hero .reveal--left,
.hero .reveal--right,
.hero .reveal--scale,
.page-hero .reveal,
.page-hero .reveal--left,
.page-hero .reveal--right,
.page-hero .reveal--scale{opacity:1;transform:none;transition:none;}
.reveal--left{opacity:0;transform:translateX(-40px);}
.reveal--right{opacity:0;transform:translateX(40px);}
.reveal--left.active,
.reveal--right.active{opacity:1;transform:translateX(0);}
.reveal--scale{opacity:0;transform:scale(0.95);}
.reveal--scale.active{opacity:1;transform:scale(1);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;}
.skip-link{position:absolute;top:-100%;left:var(--gutter);background:var(--color-rosa);color:var(--color-white);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-accent);font-weight:var(--weight-medium);z-index:9999;transition:top var(--duration-fast) var(--ease-smooth);}
.skip-link:focus{top:var(--space-xs);}:focus-visible{outline:2px solid var(--color-rosa);outline-offset:3px;border-radius:var(--radius-sm);}
.text-center{text-align:center;}
.text-rosa{color:var(--color-rosa);}
.text-agave{color:var(--color-agave);}
.text-cream{color:var(--color-cream);}
.bg-cream{background-color:var(--color-cream);}
.bg-sand{background-color:var(--color-sand);}
.bg-charcoal{background-color:var(--color-charcoal);}
.bg-agave{background-color:var(--color-agave);}
.flow > * + *{margin-block-start:var(--space-md);}
.flow--lg > * + *{margin-block-start:var(--space-xl);}
