/* ===== 0. SLIDERS BLOCK (Admin Design System Input) ===== */
:root{
 /* NEW COLOR SLIDERS - Complete HSL values */
 --slider-primary:hsl(192, 50%, 48%); /* Main brand color,buttons,links */
 --slider-secondary:hsl(29, 36%, 65%); /* Supporting brand color */
 --slider-accent:hsl(204,43%,34%); /* Highlight/call-to-action color */
 --slider-contrast:hsl(29, 36%, 65%); /* Alternative color */
 --slider-neutral:hsl(0, 0%, 47%); /* Calmer color */
 --slider-background:hsl(0, 0%, 98%); /* for backgrounds */

 /* EXTRACT HSL COMPONENTS FROM SLIDER COLORS */
 --primary-h:192; --primary-s:50%; --primary-l:48%;
 --secondary-h:221; --secondary-s:14%; --secondary-l:38%;
 --accent-h:204; --accent-s:43%; --accent-l:34%;
 --contrast-h:31; --contrast-s:49%; --contrast-l:67%;
 --neutral-h:240; --neutral-s:23%; --neutral-l:20%;
 --background-h:240; --background-s:46%; --background-l:11%;

 /* FONT SLIDERS */
 --slider-heading-font:"darkmode-on",sans-serif;
 --slider-body-font:"darkmode-on",sans-serif;
 --slider-pretty-font:"darkmode-on",sans-serif;
 --slider-heading-weight:700; /* 300-900,step 100 */
 --slider-body-weight:300; /* 300-900,step 100 */
 --slider-text-base:25; /* Based on 1.2rem base */
 --slider-type-scaler:20; /* Based on font-size ratios */
 --slider-text-line-height-base:35; /* Based on 33 = normal 1.5 x text-base */
 --slider-text-letter-spacing-base:31; /* Based 33 = normal zero adjustment */
 --placeholder-color: rgba(255,255,255,0.6);
 --placeholder-style: italic;

 /* PERSONALITY SLIDERS (0-100) */
 --slider-animation-energy:20; /* Based on your 0.2s-0.5s transitions */
 --slider-parallax-depth:60; /* parallax currently used */
 --slider-liquid-motion:15; /* Based on ease transitions */
 --slider-glitch-factor:0; /* No glitch effects currently */
 --slider-neon-glow:5; /* Subtle text-shadow on h1 */
 --slider-pulse-rhythm:10; /* Based on bounce animation */
 --slider-holographic-shift:0; /* No holographic effects */
 --slider-texture-intensity:0; /* No texture overlays */
 --slider-handcraft-wobble:0; /* No wobble effects */
 --slider-corner-radius:25; /* Based on 0.25rem-1.6rem range */
 --slider-section-padding:60; /* Based on 6rem container padding */
 --slider-vintage-filter:0; /* No vintage effects */
 --slider-light-leak:0; /* No light leak effects */
 --slider-gradient-drama:40; /* Based on existing gradients */
 --slider-shadow-depth:10; /* Based on subtle shadows */
 --slider-brutalist-edge:0; /* No brutalist effects */
 --slider-chromatic-split:0; /* No chromatic effects */
 --slider-stacking-chaos:0; /* No chaos effects */
 --slider-blur-zones:0; /* No blur effects */
 --slider-grid-warping:0; /* No grid warping */
 --slider-asymmetry:0; /* Based on centered layouts with some offset */
 --slider-content-width:60; /* Based on 960px max-width */
 --slider-vertical-spacing:50; /* Based on current spacing scale */
 --slider-3d-tilt:0; /* No 3D effects currently */
 --slider-typewriter-tempo:50; /* Default typing speed */
}
/* ===== END SLIDERS BLOCK ===== */

/* ===== 1. VARIABLES BLOCK (Calculated from Sliders) ===== */
:root{
 /* PRIMARY COLOR SYSTEM */
 --color-primary:var(--slider-primary);
 --color-primary-lighter:hsl(var(--primary-h),var(--primary-s),calc(var(--primary-l) + (100% - var(--primary-l)) * 0.5));
 --color-primary-greyer:hsl(var(--primary-h),calc(var(--primary-s) * 0.5),var(--primary-l));
 --color-primary-darker:hsl(var(--primary-h),var(--primary-s),calc(var(--primary-l) * 0.5));
 --color-primary-tint-75:hsl(var(--primary-h),var(--primary-s),calc(var(--primary-l) + (100% - var(--primary-l)) * 0.75));
 --color-primary-tint-50:hsl(var(--primary-h),var(--primary-s),calc(var(--primary-l) + (100% - var(--primary-l)) * 0.5));
 --color-primary-tint-25:hsl(var(--primary-h),var(--primary-s),calc(var(--primary-l) + (100% - var(--primary-l)) * 0.25));

 /* SECONDARY COLOR SYSTEM */
 --color-secondary:var(--slider-secondary);
 --color-secondary-lighter:hsl(var(--secondary-h),var(--secondary-s),calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.5));
 --color-secondary-greyer:hsl(var(--secondary-h),calc(var(--secondary-s) * 0.5),var(--secondary-l));
 --color-secondary-darker:hsl(var(--secondary-h),var(--secondary-s),calc(var(--secondary-l) * 0.5));
 --color-secondary-tint-75:hsl(var(--secondary-h),var(--secondary-s),calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.75));
 --color-secondary-tint-50:hsl(var(--secondary-h),var(--secondary-s),calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.5));
 --color-secondary-tint-25:hsl(var(--secondary-h),var(--secondary-s),calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.25));

 /* ACCENT COLOR SYSTEM */
 --color-accent:var(--slider-accent);
 --color-accent-lighter:hsl(var(--accent-h),var(--accent-s),calc(var(--accent-l) + (100% - var(--accent-l)) * 0.5));
 --color-accent-greyer:hsl(var(--accent-h),calc(var(--accent-s) * 0.5),var(--accent-l));
 --color-accent-darker:hsl(var(--accent-h),var(--accent-s),calc(var(--accent-l) * 0.5));
 --color-accent-tint-75:hsl(var(--accent-h),var(--accent-s),calc(var(--accent-l) + (100% - var(--accent-l)) * 0.75));
 --color-accent-tint-50:hsl(var(--accent-h),var(--accent-s),calc(var(--accent-l) + (100% - var(--accent-l)) * 0.5));
 --color-accent-tint-25:hsl(var(--accent-h),var(--accent-s),calc(var(--accent-l) + (100% - var(--accent-l)) * 0.25));

 /* CONTRAST COLOR SYSTEM */
 --color-contrast:var(--slider-contrast);
 --color-contrast-lighter:hsl(var(--contrast-h),var(--contrast-s),calc(var(--contrast-l) + (100% - var(--contrast-l)) * 0.5));
 --color-contrast-greyer:hsl(var(--contrast-h),calc(var(--contrast-s) * 0.5),var(--contrast-l));
 --color-contrast-darker:hsl(var(--contrast-h),var(--contrast-s),calc(var(--contrast-l) * 0.5));
 --color-contrast-tint-75:hsl(var(--contrast-h),var(--contrast-s),calc(var(--contrast-l) + (100% - var(--contrast-l)) * 0.75));
 --color-contrast-tint-50:hsl(var(--contrast-h),var(--contrast-s),calc(var(--contrast-l) + (100% - var(--contrast-l)) * 0.5));
 --color-contrast-tint-25:hsl(var(--contrast-h),var(--contrast-s),calc(var(--contrast-l) + (100% - var(--contrast-l)) * 0.25));

 /* NEUTRAL COLOR SYSTEM */
 --color-neutral:var(--slider-neutral);
 --color-neutral-lighter:hsl(var(--neutral-h),var(--neutral-s),calc(var(--neutral-l) + (100% - var(--neutral-l)) * 0.5));
 --color-neutral-greyer:hsl(var(--neutral-h),calc(var(--neutral-s) * 0.5),var(--neutral-l));
 --color-neutral-darker:hsl(var(--neutral-h),var(--neutral-s),calc(var(--neutral-l) * 0.5));
 --color-neutral-tint-75:hsl(var(--neutral-h),var(--neutral-s),calc(var(--neutral-l) + (100% - var(--neutral-l)) * 0.75));
 --color-neutral-tint-50:hsl(var(--neutral-h),var(--neutral-s),calc(var(--neutral-l) + (100% - var(--neutral-l)) * 0.5));
 --color-neutral-tint-25:hsl(var(--neutral-h),var(--neutral-s),calc(var(--neutral-l) + (100% - var(--neutral-l)) * 0.25));
 --color-neutral-tint-hint:hsl(var(--neutral-h),var(--neutral-s),calc(var(--neutral-l) + (100% - var(--neutral-l)) * 0.03));

 /* BACKGROUND COLOR SYSTEM */
 --color-background:#f9f9f9;
 --color-background-lighter:hsl(var(--background-h),var(--background-s),calc(var(--background-l) + (100% - var(--background-l)) * 0.2));
 --color-background-greyer:hsl(var(--background-h),calc(var(--background-s) * 0.5),var(--background-l));
 --color-background-darker:hsl(var(--background-h),var(--background-s),calc(var(--background-l) * 0.5));
 --color-background-tint-75:hsl(var(--background-h),var(--background-s),calc(var(--background-l) + (100% - var(--background-l)) * 0.75));
 --color-background-tint-50:hsl(var(--background-h),var(--background-s),calc(var(--background-l) + (100% - var(--background-l)) * 0.5));
 --color-background-tint-25:hsl(var(--background-h),var(--background-s),calc(var(--background-l) + (100% - var(--background-l)) * 0.25));

 /* MONOCHROME SYSTEM */
 --color-white-100:hsl(0,0%,100%);
 --color-white-90:hsl(0,0%,90%);
 --color-white-80:hsl(0,0%,80%);
 --color-black-50:hsl(0,0%,50%);
 --color-black-20:hsl(0,0%,20%);
 --color-black-0:hsl(0,0%,0%);

 /* SEMANTIC COLOR MAPPINGS - Updated to use new system */
 --color-primary-light:var(--color-primary-lighter);
 --color-primary-dark:var(--color-primary-darker);
 --color-success:var(--color-accent);
 --color-warning:var(--color-contrast);
 --color-highlight:var(--color-accent-lighter);
 --color-special:var(--color-secondary);

 /* BACKGROUND MAPPINGS */
 --color-bg:var(--color-background);
 --color-bg-light:var(--color-background-lighter);
 --color-bg-white:var(--color-white-100);
 --color-bg-service:var(--color-background-tint-25);
 --color-bg-alt:var(--color-background-greyer);
 --color-bg-footer:var(--color-neutral-lighter);
 --color-bg-footer-light:var(--color-neutral);
 --color-bg-dark:var(--color-bg);
 --color-bg-form:var(--color-white-90);

 /* TEXT COLOR MAPPINGS */
 --color-text:#777;
 --color-text-secondary:var(--color-contrast);
 --color-text-dark:var(--color-black-20);
 --color-text-black:var(--color-black-0);
 --color-text-white:var(--color-white-100);
 --color-text-light:var(--color-white-80);
 --color-text-muted:var(--color-neutral-greyer);
 --color-text-link:var(--color-primary);

 /* BORDER COLOR MAPPINGS */
 --color-border:var(--color-neutral-tint-50);
 --color-border-light:var(--color-neutral-tint-75);
 --color-border-dark:var(--color-black-20);
 --color-border-form:var(--color-neutral-greyer);

 /* TYPOGRAPHY - From font sliders */
 --font-primary:var(--slider-body-font);
 --font-decorative:var(--slider-pretty-font);
 --font-heading:var(--slider-heading-font);

 /* Calculated font sizes based on text scale */
 --font-base-scale:calc(1 + (var(--slider-text-base) / 100));
 --scale-contrast:calc(1 + (var(--slider-type-scaler) / 100));

 --font-size-base:calc(1.4rem * var(--font-base-scale));
 --font-size-h1:calc(var(--font-size-base) * var(--scale-contrast) * var(--scale-contrast) * var(--scale-contrast) * var(--scale-contrast));
 --font-size-h2:calc(var(--font-size-base) * var(--scale-contrast) * var(--scale-contrast) * var(--scale-contrast) );
 --font-size-h3:calc(var(--font-size-base) * var(--scale-contrast)  * var(--scale-contrast) );
 --font-size-h4:calc(var(--font-size-base) * var(--scale-contrast)  );
 --font-size-h5:calc(var(--font-size-base) * ( 1 + ( var(--scale-contrast) - 1) / 2 )  );
 --font-size-h6:calc(var(--font-size-base) );
 --font-size-small:calc(calc(var(--font-size-base) * 0.67));

 --font-weight-light:200;
 --font-weight-normal:var(--slider-body-weight);
 --font-weight-bold:var(--slider-heading-weight);

 --line-height-core:calc(1.5 *  var(--font-size-base) * (1 + ( var(--slider-text-line-height-base) - 40) / 100) ); /*33 gives 1.5 x font-base */
 --line-height-0-75:calc( var(--line-height-core) * 0.75);
 --line-height-1-5: calc( var(--line-height-core) * 1.5);
 --line-height-2:   calc( var(--line-height-core) * 2);
 --line-height-2-5: calc( var(--line-height-core) * 2.5);
 --line-height-3:   calc( var(--line-height-core) * 3);
 --line-height-3-5: calc( var(--line-height-core) * 3.5);


 /*--slider-text-letter-spacing-base:31; !* Based 33 = normal zero adjustment *!*/
 --letter-space-xs:-0.05em;
 --letter-space-sm:-0.03em;
 --letter-space-core:0;
 --letter-space-lg:0.04em;
 --letter-space-vl:0.08em;

 /* SPACING - Calculated from vertical spacing slider */
 --spacing-multiplier:calc(0.5 + (var(--slider-vertical-spacing) / 100));
 --space-xs:calc(0.25rem * var(--spacing-multiplier));
 --space-sm:calc(0.5rem * var(--spacing-multiplier));
 --space-md:calc(1rem * var(--spacing-multiplier));
 --space-lg:calc(1.5rem * var(--spacing-multiplier));
 --space-xl:calc(2rem * var(--spacing-multiplier));
 --space-2xl:calc(2.4rem * var(--spacing-multiplier));
 --space-3xl:calc(3rem * var(--spacing-multiplier));
 --space-4xl:calc(4rem * var(--spacing-multiplier));
 --space-5xl:calc(5rem * var(--spacing-multiplier));
 --space-6xl:calc(6rem * var(--spacing-multiplier));
 --space-8xl:calc(8rem * var(--spacing-multiplier));
 --space-10xl:calc(10rem * var(--spacing-multiplier));
 --space-16xl:calc(16rem * var(--spacing-multiplier));

 /* Container and layout */
 --container-padding:3rem;
 --container-padding-top:calc(var(--space-6xl) * calc(var(--slider-section-padding) / 60));
 --container-max:calc(960px * (0.5 + (var(--slider-content-width) / 100)));

 /* BORDERS & EFFECTS - Calculated from sliders */
 --radius-multiplier:calc(var(--slider-corner-radius) / 25);
 --radius-sm:calc(0.25rem * var(--radius-multiplier));
 --radius-md:calc(0.5rem * var(--radius-multiplier));
 --radius-lg:calc(1rem * var(--radius-multiplier));
 --radius-xl:calc(1.1rem * var(--radius-multiplier));
 --radius-2xl:calc(1.6rem * var(--radius-multiplier));
 --radius-btn:calc(5px * var(--radius-multiplier));

 --border-thin:1px;
 --border-thick:4px;

 /* Shadows calculated from depth */
 --shadow-intensity:calc(var(--slider-shadow-depth) / 100);
 --shadow-light:0 1px 3px rgba(0,0,0,calc(0.1 * var(--shadow-intensity)));
 --shadow-text:0 0 calc(50rem * var(--shadow-intensity)) var(--slider-primary);

 /* Transitions calculated from animation energy */
 --speed-multiplier:calc(1 - (var(--slider-animation-energy) / 150));
 --transition-fast:calc(0.2s * var(--speed-multiplier));
 --transition-normal:calc(0.3s * var(--speed-multiplier));
 --transition-slow:calc(0.5s * var(--speed-multiplier));

 --opacity-low:0.1;
 --opacity-medium:0.4;
 --opacity-high:0.7;
 --opacity-very-high:0.8;

 /* Z-index */
 --z-overlay:100;
 --z-menu-bg:99;
 --z-menu:999;
 --z-brand:9999;

 /* GRADIENTS - Updated to use new color system */
 --gradient-intensity:calc(var(--slider-gradient-drama) / 100);
 --grad-primary:linear-gradient(to bottom,var(--color-accent-tint-25) 0%,var(--color-primary) 50%,var(--color-secondary-tint-25) 100%);
 --grad-primary-hover:linear-gradient(to bottom,var(--color-secondary-tint-25) 0%,var(--color-primary) 50%,var(--color-accent-tint-25) 100%);
 --grad-secondary:linear-gradient(135deg,var(--color-secondary-tint-25) 0%,var(--color-neutral) 50%,var(--color-background-tint-25) 100%);
 --grad-accent:linear-gradient(to right,var(--color-accent-darker) 0%,var(--color-accent) 50%,var(--color-accent-lighter) 100%);
 --grad-contrast:linear-gradient(45deg,var(--color-contrast-tint-25) 0%,var(--color-contrast) 35%,var(--color-primary-tint-50) 65%,var(--color-secondary-tint-25) 100%);
 --grad-neutral:linear-gradient(to bottom right,var(--color-neutral-tint-75) 0%,var(--color-background) 50%,var(--color-neutral-tint-50) 100%);
 --grad-rainbow:linear-gradient(45deg,#ff0000,#ff7300,#fffb00,#48ff00,#00ffd5,#002bff,#7a00ff,#ff00c8,#ff0000);
 --grad-bg-service:radial-gradient(circle at top left,var(--color-bg),var(--color-bg-light),var(--color-bg-white));
 --grad-bg-alt:radial-gradient(circle at top left,var(--color-background-tint-25),var(--color-bg),var(--color-bg-light));
 --grad-bg-footer:radial-gradient(circle at top left,var(--color-bg-footer-light),var(--color-bg-footer),var(--color-bg));

 /* Form */
 --form-height:38px;
 --form-padding:6px 10px;
 --textarea-min-height:10rem;

 /* Grid */
 --grid-gap:0.8rem;
 --col-margin:4%;

 /* Breakpoint reference values */
 --bp-tablet:30rem;
 --bp-desktop:48rem;
 --bp-large:80rem;
 --bp-xl:120rem;

 /* ASYMMETRY - Calculated from asymmetry slider */
 --asymmetry-factor:calc(var(--slider-asymmetry) / 100);
 --asymmetry-offset:calc(var(--asymmetry-factor) * 3rem);
 --asymmetry-rotation:calc(var(--asymmetry-factor) * 2deg);
 --asymmetry-scale:calc(1 + (var(--asymmetry-factor) * 0.1));
 --asymmetry-skew:calc(var(--asymmetry-factor) * 1deg);

 /* PERSONALITY EFFECTS - Pass slider values to CSS */
 --design-animation-energy:var(--slider-animation-energy);
 --design-parallax-depth:var(--slider-parallax-depth);
 --design-liquid-motion:var(--slider-liquid-motion);
 --design-glitch-factor:var(--slider-glitch-factor);
 --design-neon-glow:var(--slider-neon-glow);
 --design-pulse-rhythm:var(--slider-pulse-rhythm);
 --design-holographic-shift:var(--slider-holographic-shift);
 --design-texture-intensity:var(--slider-texture-intensity);
 --design-handcraft-wobble:var(--slider-handcraft-wobble);
 --design-vintage-filter:var(--slider-vintage-filter);
 --design-light-leak:var(--slider-light-leak);
 --design-brutalist-edge:var(--slider-brutalist-edge);
 --design-chromatic-split:var(--slider-chromatic-split);
 --design-stacking-chaos:var(--slider-stacking-chaos);
 --design-blur-zones:var(--slider-blur-zones);
 --design-grid-warping:var(--slider-grid-warping);
 --design-3d-tilt:var(--slider-3d-tilt);
 --design-typewriter-tempo:calc(var(--slider-typewriter-tempo) / 100 * 2s);
}
/* ===== END VARIABLES BLOCK ===== */

/* ===== 2. DESIGNER BLOCK (Variable-Driven Design) ===== */

/* Reset & Normalize */
*,*::before,*::after{box-sizing:border-box;}
html{line-height:1.15; -webkit-text-size-adjust:100%; font-family:sans-serif; scroll-behavior:smooth;}
body{margin:0; padding:0; width:100%; overflow-x:hidden;}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block;}
audio,canvas,progress,video{display:inline-block; vertical-align:baseline;}
audio:not([controls]){display:none; height:0;}
[hidden],template,.hidden{display:none;}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,blockquote,figure{margin:0;}
ul,ol{list-style:none; padding:0;}
img,picture,video,canvas,svg{display:block; max-width:100%;}
input,button,textarea,select{font:inherit;}
button{border:none; background:none; cursor:pointer; overflow:visible;}
a{background-color:transparent; text-decoration:none; color:inherit;}
a:active,a:hover{outline:0;}
table{border-collapse:collapse; border-spacing:0;}
td,th{padding:0;}

/* ===== BASE STYLES - MOBILE FIRST (0 to 30rem) ===== */
html{font-size:calc(62.5% * 0.9);}
body{width:100%; padding:0; font-size:var(--font-size-base); overflow-x:hidden; line-height:var(--line-height-core); font-weight:var(--font-weight-normal); font-family:var(--font-primary); color:var(--color-text); background:var(--color-bg); letter-spacing:var(--letter-space-core);}

/* Typography - Variable-Driven with Asymmetry */
h1,h2,h3,h4,h5,h6{margin-top:0; margin-bottom:var(--space-xl); font-weight:var(--font-weight-bold); color:var(--color-text); font-family:var(--font-heading); letter-spacing:0; text-align:left; padding-left:calc(var(--asymmetry-offset) * 0.5);}
h1{font-size:calc(1rem + 3vw); line-height:1; color:var(--color-text-white); text-shadow:var(--shadow-text); z-index:var(--z-overlay); padding-left:0;letter-spacing:var(--letter-space-xs);}
h2{font-size:var(--font-size-h2); line-height:var(--line-height-1-5); color:var(--color-neutral); letter-spacing:var(--letter-space-xs);}
h2:before{content: ""; position:relative; display:block; width:50px; height:50px; margin-bottom:0; background-image: url('/theme/breathwork.svg'); background-size: contain; background-repeat: no-repeat; background-position: center;}
@media (min-width: 768px) {  h2:before{position:absolute;top:-0.4rem;left:-5.5rem;margin-bottom:0;}  }
#invitation-to-act h2{color:var(--color-bg-light);}
h3{font-size:var(--font-size-h3); line-height:var(--line-height-1-5); margin-bottom:var(--line-height-core); letter-spacing:var(--letter-space-sm);color: var(--color-text-secondary)}
h4,#thanks{font-size:var(--font-size-h4); line-height:var(--line-height-1-5); text-transform:uppercase; margin-bottom:0; font-family:var(--font-heading); font-weight:var(--font-weight-normal); letter-spacing:var(--letter-space-core); padding-left:0;}
#thanks{text-align:center;}
h5{font-size:var(--font-size-h5); line-height:var(--line-height-1-5); letter-spacing:var(--letter-space-core);font-weight:var(--font-weight-bold); }
h6{font-size:var(--font-size-h6); line-height:var(--line-height-core); margin-bottom:0; letter-spacing:var(--letter-space-lg); text-transform: uppercase; font-weight:var(--font-weight-bold);}

/* Paragraph and Text Elements */
p{margin-top:0; margin-bottom:var(--space-2xl);}
p.opener{color:var(--color-bg-light); font-size:125%; padding:0 0 var(--space-8xl) 0; margin:0 auto; max-width:80rem; text-align:center;}
ol.differences{margin:var(--space-xl) 0; color:var(--color-text-white);}
p.more-besides{display:block; text-align:right; text-transform:uppercase; color:rgba(255,255,255,0.2); margin:var(--space-md) 0; font-weight:var(--font-weight-bold);}
blockquote{border-left:var(--space-md) solid var(--color-primary); margin-left:0; color:var(--color-secondary); padding-left:var(--space-md);}
p:nth-of-type(3n){margin-left:var(--asymmetry-offset);}

/* Content Blocks */
article{margin-bottom:var(--space-2xl);}
aside{background:rgba(255,255,255,0.05); border:var(--border-thin) solid rgba(255,255,255,0.1); padding:var(--space-lg); margin:var(--space-xl) 0; border-radius:var(--radius-md);}
figure{margin:var(--space-xl) 0; text-align:center;}
figcaption{margin-top:var(--space-md); font-size:var(--font-size-small); color:var(--color-text-secondary); font-style:italic; line-height:1.25;}
pre{background:var(--color-bg-dark); color:var(--color-text-light); padding:var(--space-lg); margin:var(--space-xl) 0; border-radius:var(--radius-md); overflow-x:auto; font-family:'Courier New',monospace; font-size:90%; line-height:var(--line-height-0-75);}
address{font-style:italic; margin:var(--space-xl) 0; padding:var(--space-lg); border-left:var(--space-sm) solid var(--color-primary); background:rgba(255,255,255,0.03);}

/* Text Formatting */
strong,b{font-weight:var(--font-weight-bold);}
em,i{font-style:italic;}
mark{background-color:var(--color-accent); color:var(--color-text-black); padding:var(--space-xs) var(--space-sm); border-radius:var(--radius-sm);}
s,del{text-decoration:line-through; opacity:var(--opacity-high);}
small{font-size:var(--font-size-small); color:var(--color-text-secondary);}
sup{font-size:80%; line-height:var(--line-height-1-5); vertical-align:super;}
cite{font-style:italic; color:var(--color-text-secondary);}
q{quotes:'"' '"' "'" "'";}
q::before{content:open-quote;}
q::after{content:close-quote;}

/* Grid System with Asymmetry */
*{position:relative;}
section{position:relative; overflow: hidden;}
section#proposition{border-top:8rem solid #f9f9f9;}
.container{position:relative; width:100%; max-width:var(--container-max); margin:0 auto; padding:var(--container-padding-top) var(--container-padding); counter-reset:card-counter;}
.grid{display:grid; gap:var(--grid-gap);}
.grid.cards{gap:0.2rem; margin:0;grid-auto-rows: 1fr;}
.grid.cards a.card{padding:1rem 6rem 1rem 2rem; text-shadow: #034 0 0 1rem;}
.grid.cards a.card h3{margin:0; font-size:1.8rem; line-height:1.25; color:#fff;}
.grid-2-asymmetric{display:grid; gap:var(--grid-gap); grid-template-columns:calc(1fr + var(--asymmetry-factor) * 0.4fr) calc(1fr - var(--asymmetry-factor) * 0.4fr);}
.grid-asymmetric{display:grid; gap:var(--grid-gap); grid-template-columns:calc(1fr + var(--asymmetry-factor) * 0.5fr) calc(1fr - var(--asymmetry-factor) * 0.3fr) calc(1fr + var(--asymmetry-factor) * 0.2fr);}
.column,.cols{width:100%; float:left;}

/* Asymmetric Container Alternation - Subtle Section Variation */
section:nth-child(odd) .container{transform:translateX(calc(var(--asymmetry-offset) * 0.1));}

/* Layout Sections */
.dark{background: url('/theme/breath1.svg') no-repeat center/cover;width: 100%;z-index:0;}
.light{background:url('/theme/breath2.svg') no-repeat center/cover;width: 100%;z-index:0;}
.flat{background:url('/theme/breath3.svg') no-repeat center/cover;width: 100%;z-index:0;}
footer{padding:var(--space-5xl) 20px; margin:0; background:#eee;}

/* Cards & Components with Asymmetry */
.card,.cta,.process-step{position:relative; overflow:hidden; background:radial-gradient(circle at top left,var(--color-primary-tint-75),var(--color-background-tint-75),var(--color-background-tint-50)) no-repeat; background-size:130% 130%; border:var(--border-thin) solid var(--color-border-light); padding:var(--space-lg); box-shadow:var(--shadow-light); border-radius:var(--radius-xl); transform:rotate(calc(var(--asymmetry-rotation) * var(--card-index,0))); margin-top:calc(var(--space-lg) + (var(--asymmetry-offset) * var(--card-index,0) * 0.5));}
.card:nth-child(even){transform:rotate(calc(var(--asymmetry-rotation) * -1)); margin-left:var(--asymmetry-offset);}
.card:nth-child(odd){margin-right:var(--asymmetry-offset);}
.process-step{margin-bottom:30px; background:radial-gradient(circle at top left,var(--color-secondary-tint-75),var(--color-neutral-tint-75),var(--color-background-tint-25)) no-repeat; overflow:visible; margin-left:calc(var(--asymmetry-offset) * var(--step-direction,1));}
.process-step:nth-child(even){--step-direction:-1; margin-right:var(--asymmetry-offset);}
.process-step::after{content:''; height:30px; width:30px; display:block; position:absolute; top:calc(100% + 1px); left:calc(7rem + var(--asymmetry-offset) * 0.5); background-image:url('/theme/process-arrow.svg'); background-size:contain; background-repeat:no-repeat; transform:rotate(calc(var(--asymmetry-rotation) * 0.3));}
.process-step:last-of-type::after{background:none;}
.cta{padding:var(--space-5xl) var(--space-xl) var(--space-3xl) var(--space-xl); background:radial-gradient(circle at top left,var(--color-primary-darker),var(--color-secondary-darker),var(--color-neutral-darker)) no-repeat; background-size:130% 130%; text-align:center; border-radius:var(--radius-xl);}
a.card.service-link{border-radius:0.5rem; margin:0; border:none; background: #9bc;background-position: left center;background-size: cover;background-repeat: no-repeat; }
a.card.service-link:hover{background-color:#689;}
a.card.service-link::after {content: '▶';position: absolute;right: 0;top: 0;bottom: 0;width: 5rem; background: #3D9FB8; display: flex;align-items: center;justify-content: center;font-size: 2rem;color: #fff;border-radius: 0.5rem; }
@media (min-width:48rem) {
 .grid.cards a.card{padding:3rem 9rem 3rem 25rem;}
 a.card.service-link{border-radius:0.5rem; margin:0; border:none; background: #9bc;background-position: left center;background-size: contain;background-repeat: no-repeat; }
 a.card.service-link::after {content: '▶';position: absolute;right: 0;top: 0;bottom: 0;width: 8rem; background: #3D9FB8; display: flex;align-items: center;justify-content: center;font-size: 2rem;color: #fff;border-radius: 0.5rem; }
}

/* Navigation - Mobile First (MOBILE MENU DEFAULT) with Asymmetry */
#brand-logo{position:absolute; top:0; left:0; z-index:var(--z-brand); padding:var(--space-sm) var(--space-md);}
#brand-logo img{width:4.2rem; height:auto;}
a#brand-logo{padding-left:var(--space-lg); text-decoration:none; border-top:var(--space-sm) solid transparent;}
a#brand-logo:hover{padding-bottom:0; background:var(--color-accent-tint-75);}

/* Mobile Menu (Default) */
#hamburger{display:block; right:1rem; top:2rem; position:absolute; font-size:250%; text-decoration:none; z-index:var(--z-menu); padding:var(--space-sm) var(--space-md) 0 var(--space-md);}
#menu-background{display:block; position:absolute; top:0; left:0; width:100%; height:9rem; padding:6.5rem 0; z-index:var(--z-menu-bg);}
#head-menu{left:unset; right:0; padding:5.6rem 0 var(--space-5xl) 0; display:none; text-align:right; width:25rem; background:none; font-size:96%; z-index:var(--z-menu); position:absolute; top:0; margin:0;}

nav ul{list-style:none; margin:0; padding:0; background:var(--color-border-dark);}
nav li{color:var(--color-text-light); display:block; float:none; padding:0; margin-bottom:var(--border-thin); position:relative; text-decoration:none; transition-duration:var(--transition-slow); margin-right:calc(var(--space-md) + (var(--asymmetry-offset) * 0.3));}
nav li:nth-child(even){margin-right:calc(var(--space-md) - (var(--asymmetry-offset) * 0.2)); margin-top:calc(var(--asymmetry-offset) * 0.1);}
nav li a{color:var(--color-primary); background:var(--color-neutral-darker); padding:var(--space-md) var(--space-lg) var(--space-sm) var(--space-md); text-decoration:none; font-weight:var(--font-weight-bold); width:100%; display:inline-block;}
nav li a:hover{background:none; color:var(--color-text-white);}
nav li:hover,nav li:focus-within{background:var(--color-border-dark); cursor:pointer;}
nav li:focus-within a{outline:none;}

/* Mobile Dropdown Behavior */
nav ul li ul{position:relative !important; margin:calc(-1 * var(--space-md)) 0 var(--space-xl) 0 !important; left:unset !important; width:100% !important; visibility:visible !important; display:block !important; opacity:1 !important; background:none !important; z-index:auto !important;}
nav ul li ul a{background:var(--color-border-dark);}
nav ul li ul li{clear:both; width:100%; margin:0; padding:0; border:none; float:none;}

/* Forms - Variable-Driven with Asymmetry */
input[type="email"],input[type="number"],input[type="search"],input[type="text"],input[type="tel"],input[type="url"],input[type="password"],textarea,select{height:var(--form-height); width: 100%; max-width: 40rem; padding:var(--form-padding); background-color:var(--color-bg-white); color:var(--color-text-dark); border:var(--border-thin) solid var(--color-border); border-radius:var(--border-thick); box-shadow:none; -webkit-appearance:none; -moz-appearance:none; appearance:none; transform:rotate(calc(var(--asymmetry-rotation) * 0.1));}
textarea{min-height:var(--textarea-min-height); padding-top:6px; padding-bottom:6px;}
input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="text"]:focus,input[type="tel"]:focus,input[type="url"]:focus,input[type="password"]:focus,textarea:focus,select:focus{border:var(--border-thin) solid var(--color-primary-light); outline:0;}
label,legend{display:block; margin-bottom:0; font-weight:var(--font-weight-bold); line-height:var(--line-height-0-75); margin-left:calc(var(--asymmetry-offset) * 0.2);}
fieldset{padding:0; border-width:0; margin-bottom:var(--space-lg);}
input[type="checkbox"],input[type="radio"]{display:inline;}
.form-asymmetric{display:grid; gap:var(--space-md); grid-template-columns:calc(2fr + var(--asymmetry-factor) * 0.5fr) calc(1fr - var(--asymmetry-factor) * 0.3fr);}
div#time-slots-container select{  -webkit-appearance: auto;-moz-appearance: auto;appearance: auto;width: auto;text-transform: lowercase; padding:0 1rem 0 0.5rem;}

/* Buttons - Variable-Driven with Asymmetry */
.button,button,input[type="submit"],input[type="reset"],input[type="button"]{display:inline-block; max-width:100%; padding:0.7rem var(--space-3xl); color:var(--color-text-dark); text-align:center; font-weight:var(--font-weight-bold); line-height:38px; letter-spacing:var(--letter-space-core); text-transform:uppercase; text-decoration:none; white-space:nowrap; background-color:var(--color-primary); border-radius:calc(var(--radius-btn) + var(--asymmetry-offset) * 0.1) var(--radius-btn) calc(var(--radius-btn) + var(--asymmetry-offset) * 0.2) var(--radius-btn); border:var(--border-thin) solid transparent; cursor:pointer; margin-bottom:var(--space-md); transform:skew(calc(var(--asymmetry-skew) * 0.5)) rotate(calc(var(--asymmetry-rotation) * 0.3));}
.button:hover,button:hover,input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover,.button:focus,button:focus,input[type="submit"]:focus,input[type="reset"]:focus,input[type="button"]:focus{color:var(--color-primary); border:var(--border-thin) solid var(--color-primary); outline:0; background:var(--color-text-black); transform:skew(calc(var(--asymmetry-skew) * -0.3)) rotate(calc(var(--asymmetry-rotation) * -0.2)) scale(var(--asymmetry-scale));}
.button.button-primary,button.button-primary,input[type="submit"].button-primary,input[type="reset"].button-primary,input[type="button"].button-primary{color:var(--color-text-white); background-color:var(--color-primary); border-color:var(--color-primary-light);}
.button.button-primary:hover,button.button-primary:hover,input[type="submit"].button-primary:hover,input[type="reset"].button-primary:hover,input[type="button"].button-primary:hover,.button.button-primary:focus,button.button-primary:focus,input[type="submit"].button-primary:focus,input[type="reset"].button-primary:focus,input[type="button"].button-primary:focus{color:var(--color-text-white); background-color:var(--color-primary); border-color:var(--color-primary-dark);}
.confirm-btn{background:var(--color-success);}
.cancel-btn{background:var(--color-warning); color:var(--color-text); border:none;}
.button.big{font-size:120%; padding:var(--space-xl); width:100%; margin:0 auto var(--space-3xl) auto; background:var(--grad-primary); white-space:pre-wrap; line-height:var(--line-height-1-5);}
.button.big:hover{background:var(--grad-primary-hover) !important; color:var(--color-text-black); border:var(--border-thin) solid var(--color-primary);}
.button.big span{display:block; text-transform:lowercase; font-size:70%;}

/* Lists - Variable-Driven */
ul{list-style:disc; padding-left:1.6rem; margin-top:0; margin-bottom:var(--space-2xl);}
ol{list-style:decimal; padding-left:1.6rem; margin-top:0; margin-bottom:var(--space-2xl);}
ul ul,ul ol,ol ol,ol ul{margin:var(--space-lg) 0 var(--space-lg) var(--space-3xl);}
li{margin-bottom:var(--space-xs);}
.feature-list{list-style:none; padding-left:0;}
.feature-list li{display:flex; align-items:center; margin-bottom:var(--space-md); background:var(--color-primary-tint-75); border-radius:var(--radius-md); border:var(--border-thin) solid var(--color-border-light); padding:var(--space-md); box-shadow:var(--shadow-light);}
.feature-list li::before{content:url("/theme/checkbox4.svg"); margin-right:0.75rem; font-weight:var(--font-weight-bold); font-size:125%; display:block;}

/* Tables - Variable-Driven */
table{width:100%; margin:0 auto; border-collapse:collapse; margin-bottom:var(--space-2xl);}
tr{border-bottom:var(--border-thin) solid var(--color-border-dark);}
th,td{padding:0.75rem var(--space-sm); text-align:left; background:var(--color-bg-dark); line-height:var(--line-height-0-75); font-size:85%; vertical-align:top; word-wrap:break-word;}
th{background:var(--color-neutral-darker);}
td::before{content:attr(data-label); font-weight:var(--font-weight-bold); display:block; margin-bottom:var(--space-sm);}

table.midpage, table.midpage tr {display:block;}
table.midpage tr{border-bottom:1px solid #ddd;}
table.midpage tr th, table.midpage tr td{}
table.midpage tr th{background:#eee;}

/* Images - Variable-Driven with Asymmetry */
img{width:100%;}
#brand-logo img{width:18rem; height:auto;}
#menu #brand-logo img{width:var(--space-8xl); height:auto;}
#logo-footer img{width:24rem; height:auto;}
.bg-image{position:absolute; top:0; right:0; bottom:0; left:0; overflow: hidden;}
.bg-image::after{content:none;}
.bg-image img{width:100%; height:100%; object-fit:cover; object-position: center center;}
#invitation-to-act .bg-image img{opacity:var(--opacity-medium);}
.fg-image{position:relative;}
.fg-image img{width:100%; height:auto; border-radius:0; margin-bottom:var(--space-2xl); margin-left:calc(var(--asymmetry-offset) * 0.5); transform:rotate(calc(var(--asymmetry-rotation) * 0.5));}
.fg-image:nth-of-type(even) img{margin-left:0; margin-right:calc(var(--asymmetry-offset) * 0.5); transform:rotate(calc(var(--asymmetry-rotation) * -0.5));}
img.learning{display:block; width:150px; height:auto; margin-bottom:1.6rem;}

#proposition .bg-image {
 position: relative; /* Changed from absolute to allow natural height */
 top: auto;
 right: auto;
 bottom: auto;
 left: auto;
}

#proposition .bg-image img {
 width: 100%;           /* Full width */
 height: auto;          /* Auto height to maintain aspect ratio */
 object-fit: contain;   /* Shows full image without cropping */
}

#proposition .container {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 z-index: 2;
}
/* Links - Variable-Driven */
a{color:var(--color-text-link);}
a:hover{color:var(--color-text-black); background:var(--color-primary); text-decoration:none;}

/* ===== SMARTPHONE STYLES:30rem+ ===== */
@media (min-width:30rem){html{font-size:calc(62.5% * 0.95);}
 :root{--asymmetry-offset:calc(var(--asymmetry-factor) * 4rem); --asymmetry-rotation:calc(var(--asymmetry-factor) * 3deg);}
 .container{width:85%; padding:var(--space-xl) var(--container-padding) var(--space-10xl);}
 section:nth-child(3)::before,section:nth-child(4)::before,section:nth-child(5)::before,section:nth-child(6)::before,section:nth-child(7)::before,section#invitation-to-act::before{transform:translateX(-50%) scale(1);}
 #proposition span,#invitation-to-act span,#subscribe span,#contact span,#testimonials span{padding:var(--space-4xl) 0 var(--space-md) 0; margin:var(--space-xl) 0 0 0;}
 #proposition p,#proposition h2{font-size:100%;}
 #proposition span{margin:var(--space-16xl) 0; padding:0;}
}

/* ===== TABLET STYLES:48rem+ ===== */
@media (min-width:48rem){
 html{font-size:calc(62.5% * 1);}
 :root{--asymmetry-offset:calc(var(--asymmetry-factor) * 4rem); --asymmetry-rotation:calc(var(--asymmetry-factor) * 3deg);}
 .container{width:80%;}
 .grid-2{grid-template-columns:repeat(2,1fr);}
 .grid-3{grid-template-columns:repeat(3,1fr);}
 .card,.process-step{padding:2.5rem;}
 .cols{margin-left:var(--col-margin);}
 .cols:first-child{margin-left:0;}
 .one.cols{width:4.66666666667%;}
 .two.cols{width:13.3333333333%;}
 .three.cols{width:22%;}
 .four.cols{width:30.6666666667%;}
 .five.cols{width:39.3333333333%;}
 .six.cols{width:48%;}
 .seven.cols{width:56.6666666667%;}
 .eight.cols{width:65.3333333333%;}
 .nine.cols{width:74.0%;}
 .ten.cols{width:82.6666666667%;}
 .eleven.cols{width:91.3333333333%;}
 .twelve.cols{width:100%; margin-left:0;}
 .one-third.cols{width:30.6666666667%;}
 .two-thirds.cols{width:65.3333333333%;}
 .one-half.cols{width:48%;}
 table,tbody,tr,th,td{display:table;}
 thead{display:table-header-group;}
 td::before{display:none;}
 th,td{padding:0.75rem var(--space-md);}
 section:nth-child(3)::before,section:nth-child(4)::before,section:nth-child(5)::before,section:nth-child(6)::before,section:nth-child(7)::before,section#invitation-to-act::before{transform:translateX(-50%) scale(1.2); top:-20px;}
 #proposition span{margin:var(--space-4xl) 0 0 0;}

 /* NAVIGATION (Override mobile menu) with Asymmetry */
 #hamburger{display:none;}
 #menu-background{display:none;}
 #head-menu{position:absolute; top:0; left:0; width:100%; margin:0; padding: 1.7rem 0 var(--space-5xl) 20rem; vertical-align:top; display:block; text-align:left; font-size:95%; right:unset; z-index:initial;}

 nav ul{background:none;}
 nav li{float:left; padding:var(--space-md) 0; margin-bottom:0;}
 nav li a{background:none; padding:1.1rem var(--space-md) 0 var(--space-md);}
 nav li:hover,nav li:focus-within{background:rgba(0,0,0,0.7);}

 /* Desktop Dropdown Behavior */
 nav ul li ul{background:rgba(0,0,0,0.7) !important; visibility:hidden !important; width:25rem !important; opacity:0 !important; position:absolute !important; margin:var(--space-md) 0 0 0 !important; left:0 !important; display:none !important; transition:all var(--transition-slow) ease !important; z-index:var(--z-menu) !important;}
 nav ul li:hover > ul,nav ul li:focus-within > ul,nav ul li ul:hover,nav ul li ul:focus{visibility:visible; opacity:1; display:block;}
 nav ul li ul a{padding:0.4rem var(--space-lg); text-transform:none; background:none;}
 nav ul li ul a:hover{background:var(--color-accent-tint-75);}
 nav ul li ul li{clear:both; width:100%; margin:0; padding:0; border:none; float:none;}
 nav ul li ul li:first-of-type{margin-top:0rem;}
 nav#head-menu li:hover > ul.dropdown,
 nav#head-menu li:focus-within > ul.dropdown {visibility: visible !important;opacity: 1 !important;display: block !important;}
 nav#foot-menu ul li ul{display:block !important;padding:0;position:relative;margin:calc(-1 * var(--space-md)) 0 var(--space-xl) 0 !important;left:unset;width:100%;visibility:visible !important;opacity:1 !important;background:none;}
}

/* ===== LAPTOPS:80rem+ ===== */
@media (min-width:80rem){
 html{font-size:calc(62.5% * 1.1);}
 :root{--asymmetry-offset:calc(var(--asymmetry-factor) * 6rem); --asymmetry-rotation:calc(var(--asymmetry-factor) * 4deg);}
 .card,.process-step{padding:2.5rem 3.5rem;}
 #proposition span{margin:var(--space-6xl) calc(-1 * var(--space-10xl)) 0 calc(-1 * var(--space-10xl));}
}

/* ===== DESKTOPS:120rem+ ===== */
@media (min-width:120rem){
 html{font-size:calc(62.5% * 1.2);}
 .card,.process-step{padding:2.5rem 4rem 2.5rem 4.5rem;}
 #proposition span{margin:var(--space-8xl) -20rem 0 -20rem;}
}

/* Video Responsive */
.video{position:relative; width:100%; margin:var(--space-xl) 0; display:block; padding:56.25% 0 0 0;}
.video iframe{position:absolute; top:0; left:0; width:100%; height:100%; aspect-ratio:16/9; border:0; border-radius:var(--radius-xl);}
.video.original-width{display:inline-block;}
.video.paragraph-width{}
.video.container-width{width:calc(100% + var(--space-4xl)); margin:0 calc(-1 * var(--space-xl));}
.video.page-width{width:100vw; margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%);}
.video.height-natural iframe{aspect-ratio:1/1 !important;}
.video.tv{padding:56.25% 0 0 0;}
.video.cinematic{padding:42.85% 0 0 0;}

/* ===== PERSONALITY EFFECTS - DYNAMIC ===== */

/* Performance optimization classes */
.will-change-transform{will-change:transform;}
.will-change-transform3d{will-change:transform; transform-style:preserve-3d;}
.small-element-only{max-width:200px; max-height:200px; overflow:hidden;}

/* Parallax Effect */
.parallax-container{perspective:calc(1000px - (var(--design-parallax-depth,0) / 100) * 500px); overflow:hidden;}
.parallax-element{transform-style:preserve-3d; transform:translateZ(calc((var(--design-parallax-depth,0) / 100) * -100px)); will-change:transform;}

/* Liquid Motion */
.liquid-motion{transition-timing-function:cubic-bezier( calc(0.4 + (var(--design-liquid-motion,0) / 100) * 0.2),0,calc(0.2 + (var(--design-liquid-motion,0) / 100) * 0.4),1 ); will-change:transform;}

/* Glitch Effect */
.glitch-effect{position:relative; will-change:transform;}
.glitch-effect::before,.glitch-effect::after{content:attr(data-text); position:absolute; top:0; left:0; width:100%; height:100%; opacity:calc(var(--design-glitch-factor,0) / 100); pointer-events:none;}
.glitch-effect::before{transform:translateX(calc(var(--design-glitch-factor,0) / 20 * 1px)); color:#f0f; z-index:-1;}
.glitch-effect::after{transform:translateX(calc(var(--design-glitch-factor,0) / 20 * -1px)); color:#0ff; z-index:-2;}

/* Neon Glow */
.neon-glow{text-shadow:0 0 calc(var(--design-neon-glow,0) / 2 * 1px) currentColor;}

/* Pulse Rhythm */
.pulse-rhythm{animation:pulse calc(2s - (var(--design-pulse-rhythm,0) / 100) * 1s) infinite alternate;}
@keyframes pulse{from{transform:scale(1);}to{transform:scale(calc(1 + (var(--design-pulse-rhythm,0) / 100) * 0.2));}}

/* Holographic Effect */
.holographic-effect{background:linear-gradient( 135deg,rgba(255,0,0,calc(var(--design-holographic-shift,0) / 100)),rgba(0,255,0,calc(var(--design-holographic-shift,0) / 100)),rgba(0,0,255,calc(var(--design-holographic-shift,0) / 100)) ); background-size:200% 200%; animation:holographic calc(10s - (var(--design-holographic-shift,0) / 100) * 5s) linear infinite; max-width:200px; max-height:200px; overflow:hidden;}
@keyframes holographic{0%{background-position:0% 0%;}50%{background-position:100% 100%;}100%{background-position:0 0;}}

/* Texture Effect */
.texture-effect{position:relative;}
.texture-effect::after{content:''; position:absolute; top:0; left:0; right:0; bottom:0; background-image:url('/theme/textures/noise.png'); opacity:calc(var(--design-texture-intensity,0) / 100); pointer-events:none; mix-blend-mode:overlay;}

/* Handcraft Wobble */
.handcraft-wobble{filter:url('#handcraft-filter'); will-change:transform;}

/* Vintage Filter */
.vintage-filter{filter:sepia(calc(var(--design-vintage-filter,0) / 100)) contrast(calc(1 + (var(--design-vintage-filter,0) / 100) * 0.2)) saturate(calc(0.8 - (var(--design-vintage-filter,0) / 100) * 0.3)); max-width:200px; max-height:200px; overflow:hidden;}

/* Light Leak Effect */
.light-leak{position:relative; overflow:hidden;}
.light-leak::after{content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:linear-gradient( 135deg,rgba(255,255,255,0),rgba(255,255,255,calc((var(--design-light-leak,0) / 100) * 0.7)),rgba(255,255,255,0) ); transform:rotate(calc(var(--design-light-leak,0) / 100 * 45deg)); pointer-events:none; mix-blend-mode:screen; opacity:calc(var(--design-light-leak,0) / 100);}

/* Brutalist Edge */
.brutalist-edge{box-shadow:calc(var(--design-brutalist-edge,0) / 10 * 1px) calc(var(--design-brutalist-edge,0) / 10 * 1px) 0 0 rgba(0,0,0,0.8); border:calc(var(--design-brutalist-edge,0) / 20 * 1px) solid currentColor; clip-path:polygon( 0 0,100% 0,calc(100% - (var(--design-brutalist-edge,0) / 100 * 5px)) 100%,calc(var(--design-brutalist-edge,0) / 100 * 5px) 100% );}

/* Chromatic Split */
.chromatic-split{position:relative; color:transparent; max-width:200px; max-height:200px; overflow:hidden;}
.chromatic-split::before,.chromatic-split::after{content:attr(data-text); position:absolute; top:0; left:0; width:100%; height:100%;}
.chromatic-split::before{color:cyan; transform:translateX(calc(var(--design-chromatic-split,0) / 5 * -1px));}
.chromatic-split::after{color:red; transform:translateX(calc(var(--design-chromatic-split,0) / 5 * 1px));}

/* Stacking Chaos */
.stacking-chaos > *{transform:translateX(calc(var(--design-stacking-chaos,0) / 100 * var(--chaos-offset,0) * 1px)) translateY(calc(var(--design-stacking-chaos,0) / 100 * var(--chaos-offset,0) * 1px)) rotate(calc(var(--design-stacking-chaos,0) / 100 * var(--chaos-rotate,0) * 1deg)); will-change:transform;}

/* Blur Zones */
.blur-zone{filter:blur(calc(var(--design-blur-zones,0) / 4 * 1px)); max-width:200px; max-height:200px; overflow:hidden;}

/* Grid Warping */
.grid-warp{display:grid; transform-style:preserve-3d; perspective:1000px; will-change:transform;}
.grid-warp > *{transform:rotateX(calc(var(--design-grid-warping,0) / 100 * var(--warp-x,0) * 1deg)) rotateY(calc(var(--design-grid-warping,0) / 100 * var(--warp-y,0) * 1deg));}

/* 3D Tilt */
.tilt-3d{transform-style:preserve-3d; transform:perspective(1000px) rotateX(calc(var(--design-3d-tilt,0) / 100 * 15deg)) rotateY(calc(var(--design-3d-tilt,0) / 100 * 15deg)); will-change:transform;}

/* Typewriter Effect */
.typewriter{overflow:hidden; white-space:nowrap; border-right:2px solid currentColor; width:0; animation:typing var(--design-typewriter-tempo) steps(40,end) forwards,blink 0.75s step-end infinite;}
@keyframes typing{from{width:0;}to{width:100%;}}
@keyframes blink{from,to{border-color:transparent;}50%{border-color:currentColor;}}

/* Glow on Hover Effect */
.glow-on-hover{border:var(--border-thin) solid var(--color-text-black); outline:none; cursor:pointer; position:relative; z-index:0; background:var(--grad-rainbow); animation:glowing 140s linear infinite; opacity:1; transition:opacity var(--transition-normal) ease-in-out;}
.glow-on-hover:before{content:''; background:linear-gradient(45deg,#ff0000,#ff7300,#fffb00,var(--color-primary),#cf3,var(--color-primary),#3fc,#ff00c8,#ff0000); position:absolute; top:0; left:0; background-size:400%; z-index:-1; filter:blur(5px); width:calc(100% + 0px); height:calc(100% + 0px); animation:glowing 20s linear infinite; opacity:1; transition:opacity var(--transition-normal) ease-in-out;}
.glow-on-hover:active{color:var(--color-text-black);}
.glow-on-hover:active:after{background:transparent;}
.glow-on-hover:after{z-index:-1; content:''; position:absolute; width:100%; height:100%; left:0; top:0;}
@keyframes glowing{0%{background-position:0 0;}50%{background-position:200% 0;}100%{background-position:0 0;}}

/* Asymmetry Utility Classes */
.asymmetric-left{margin-left:var(--asymmetry-offset); transform:rotate(calc(var(--asymmetry-rotation) * 0.5));}
.asymmetric-right{margin-right:var(--asymmetry-offset); transform:rotate(calc(var(--asymmetry-rotation) * -0.5));}
.asymmetric-skew{transform:skew(var(--asymmetry-skew));}
.asymmetric-organic{border-radius:calc(var(--radius-md) + var(--asymmetry-offset) * 0.1) var(--radius-md) calc(var(--radius-md) + var(--asymmetry-offset) * 0.15) calc(var(--radius-md) + var(--asymmetry-offset) * 0.05);}
.dynamic-asymmetric{--local-asymmetry:var(--dynamic-asymmetry-value,var(--asymmetry-factor)); transform:translateX(calc(var(--local-asymmetry) * 2rem)) rotate(calc(var(--local-asymmetry) * 2deg));}
/* ===== END DESIGNER BLOCK ===== */

/* ===== 3. CONCH BLOCK (Hard-coded Utilities Only) ===== */

/* Utilities - Structural Only */
.u-full-width{width:100%;}
.u-max-full-width{max-width:100%;}
.u-pull-right{float:right;}
.u-pull-left{float:left;}
.cleared,.container:after,.row:after,.u-cf,#foot-menu:after{content:""; display:table; clear:both;}
.alignLeft{text-align:left;}
.alignCentre{text-align:center;}
.alignRight{text-align:right;}
.alignJustify{text-align:justify;}

/* Structural Layout Classes */
.img-placeholder{width:100%; height:var(--space-16xl); background:#E5E7EB; border-radius:var(--radius-md);}
.big-icon,.icon{width:4.2rem; height:auto; border-radius:var(--radius-sm); margin-top:var(--space-md); vertical-align:-5px;}
.big-icon{width:var(--space-6xl);}
.lazypic{opacity:0; transition:opacity var(--transition-slow) ease-in-out;}
.lazypic.loaded{opacity:1;}

/* Section Ornaments - Structural Positioning with Asymmetry */
section:nth-child(3)::before,section:nth-child(4)::before,section:nth-child(5)::before,section:nth-child(6)::before,section:nth-child(7)::before,section#invitation-to-act::before{content:url('/theme/ornament-floral.svg'); opacity:1; filter:grayscale(0%); position:absolute; left:50%; top:-22px; transform:translateX(-50%) scale(0.8); z-index:var(--z-menu);}
section:nth-child(3)::before{content:url('/theme/ornament-heart.svg'); left:calc(50% + var(--asymmetry-offset)); transform:translateX(-50%) scale(0.8) rotate(calc(var(--asymmetry-rotation) * 0.5));}
section:nth-child(4)::before{left:calc(50% - var(--asymmetry-offset)); transform:translateX(-50%) scale(0.8) rotate(calc(var(--asymmetry-rotation) * -0.5));}
section:nth-child(5)::before{content:url('/theme/ornament-leafy.svg');}
section:nth-child(6)::before{content:url('/theme/ornament-branch.svg');}
section:nth-child(7)::before{content:url('/theme/ornament-twigs.svg');}
section#invitation-to-act::before{content:url('/theme/ornament-heart.svg');}

/* Pricing Tables - Structural Only */
table.pricing th,table.pricing td{text-align:center;}
table.pricing td:nth-child(1){text-align:left;}
.plan-name{font-size:1.6rem; font-weight:var(--font-weight-bold); margin-bottom:var(--space-sm);}
.plan-price{font-size:var(--space-3xl); margin:var(--space-md) 0; font-weight:var(--font-weight-light);}

/* Special Components - Structural Layout */
.clients{display:flex; align-items:flex-start; margin-bottom:var(--space-md); padding:var(--space-xl) var(--space-xl) var(--space-md) var(--space-xl);}
.service-link{display:flex; justify-content:space-between; align-items:center; text-decoration:none; padding:var(--space-md) var(--space-3xl) var(--space-sm) 80px; transition:all var(--transition-normal) ease;}
.encourage-scroll-line{width:var(--border-thick); height:48px; margin:0 auto; border-radius:var(--border-thick); animation:bounce 2s infinite;}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(16px);}}

/* Assessment Components - Structural */
.question{background:radial-gradient(ellipse at left top,#1a1a1a66 0%,#2a2a2a66 100%);}
.slider-container{border-radius:var(--radius-lg);}
.dial-container{width:100%; height:auto; border-radius:var(--space-md); display:flex; justify-content:center; align-items:center; padding:20px;}

/* Footer Specific - Structural Layout with Asymmetry */
#legal{margin:var(--space-3xl) 5%; padding-top:var(--space-3xl); border-top:var(--border-thin) solid #ccc;}
#legal p{font-size:var(--font-size-small); margin:1.3rem 0;}
#legal p.social-media{margin-bottom:var(--space-3xl); font-weight:var(--font-weight-bold);color:#aaa;}
#legal p.social-media a img{width:auto; display:inline-block; margin:0.4rem var(--space-lg) var(--space-3xl) 0; }
#legal p.nudged-up{margin:0 0 var(--space-8xl) 0;}
footer li{list-style:none;}

#foot-menu{margin:var(--space-3xl) 5% var(--space-6xl) 5%;}
nav#foot-menu ul{display:grid !important; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) !important; gap:var(--space-xl) !important; list-style:none !important; margin:0 !important; padding:0 !important; background:none !important;}
nav#foot-menu ul li{display:block !important; margin:0 !important; padding:0 0 var(--space-xs) 0 !important; width:100% !important; box-sizing:border-box !important; float:none !important; position:static !important; margin-right:0 !important; margin-bottom:0 !important; transition:none !important; color:var(--color-white-80) !important;font-weight: var(--font-weight-bold) !important;}
nav#foot-menu ul li:hover{background:none !important;cursor:default !important;}
nav#foot-menu ul li a:hover{background:none !important;cursor:default !important; color:#fff !important;}
nav#foot-menu ul li ul{visibility:visible !important; opacity:1 !important; display:block !important; margin:var(--space-sm) 0 0 0 !important; padding:0 !important; width:100% !important; list-style:none !important; background:none !important; position:static !important; left:auto !important; z-index:auto !important;}
nav#foot-menu ul li ul li{margin:0 !important; padding:0 !important; width:100% !important; float:none !important; position:static !important; margin-right:0 !important; margin-bottom:0 !important; clear:none !important; border:none !important;}
nav#foot-menu ul li a{display:block !important; padding:0.4rem var(--space-md) 0.2rem 0 !important; margin:0 !important; text-decoration:none !important; background:none !important; color:var(--color-primary) !important; width:auto !important; font-weight:var(--font-weight-bold) !important;}
nav#foot-menu ul li ul li a{font-weight: var(--font-weight-normal) !important;}
nav#foot-menu ul li ul a{font-weight:var(--font-weight-light) !important; text-transform:none !important;}
@media (max-width: 47.9375rem){nav#foot-menu ul{grid-template-columns:1fr !important; gap:var(--space-lg) !important;}}
a#logo-footer:hover{background:none;}

/* Section Layout - Structural */
section:first-child .container,section#invitation-to-act .container,section#subscribe .container,section#contact .container,section#testimonials .container{padding-bottom:0;}
#proposition .container{padding-top:var(--space-4xl); padding-bottom:0;}
@media (min-width:48rem) {#proposition .container{padding-top:var(--space-8xl);}}
#proposition p,#proposition h2{text-align:center; line-height:1.2;}
#proposition span,#invitation-to-act span,#subscribe span,#contact span,#testimonials span{display:block; position:relative; bottom:0; margin:0; padding:var(--space-3xl) 0 var(--space-md) 0; border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
#proposition span{text-align:center; font-size:105%; margin:var(--space-6xl) 0 var(--space-3xl) 0; background:transparent;}
#proposition h1 span{margin:0; padding: 0; font-weight: 300; text-transform: uppercase; text-align:left;}

@media (max-width:48rem){#proposition span{margin:0; padding: 0;}}
/*Magnet step indicators*/
.magnet-navigation{margin:20px 0;text-align:center;}
.step-progress{display:flex;align-items:center;justify-content:center;margin-bottom:15px;flex-wrap:wrap; border-top:1px solid var(--color-neutral);display:none;}
.step-indicator{padding:8px 12px;margin:0 5px;font-size:var(--font-size-base);font-weight:bold;}
.step-indicator.completed{background:none;color:var(--color-white-90);}
.step-indicator.current{background:none;color:var(--color-white-90);}
.step-indicator.locked{background:var(--color-neutral-tint-75);color:var(--color-neutral-greyer);}
.step-separator{margin:0 5px;color:var(--color-neutral-greyer);}
.nav-buttons{display:flex;gap:10px;justify-content:left;}
.nav-prev,.nav-next{border:0 solid var(--color-border);border-radius:0;cursor:pointer;}
.nav-prev:hover,.nav-next:hover{}
div.magnet-progress{display:none;}
div.magnet-content h1{font-size:var(--font-size-h3);text-align:left;line-height:var(--line-height-1-5); color:var(--color-text-secondary); letter-spacing:var(--letter-space-sm);text-shadow:none;}
div.magnet-navigation button{padding:var(--space-xs) var(--space-xl);}

div.magnet-container figcaption{font-size:1.8rem;font-weight: 700; margin-bottom:2rem;}
div.magnet-container .form-group input[type="text"], div.magnet-container .form-group input[type="email"], div.magnet-container .form-group textarea{width:100%; margin-bottom:var(--space-md);}
div.magnet-container .form-group textarea{height:12rem;}
div.magnet-container .form-group .checkbox-inline{font-weight: 300; margin-bottom:var(--space-xl);}

.magnet-container .code-display{display:inline-block;padding:1rem; background:#000;}
.magnet-container .code-display strong{display: block; margin-bottom:1rem;background: var(--color-secondary-darker); padding: 0 0 0 1rem;}
.magnet-container .code-display *{vertical-align:middle;}
.magnet-container .code-display p{margin:0;padding:0.5rem 0 0 0;}
.magnet-container .ref-copy, .ref-whatsapp, .ref-email, .ref-sms{padding:1rem; height:4rem; width:4rem; margin:0 0 0 0.1rem;background:var(--slider-accent);border-radius:var(--radius-xs);}
.ref-copy{display:inline-block; margin:0 0 0 1rem;padding:0; text-align:right;}
.ref-whatsapp{background:#063;}
.ref-email{background:#630;}
.ref-sms{background:#036;}
.magnet-image img{width:auto;height:auto;}

/* cookie consent */
.cookie-consent.style-whisper{background:#ddd;border-radius: 0.3rem; padding: 0 1rem 1rem 1rem;}
.cookie-consent.style-whisper button{font-size:1.4rem; color:#fff !important; padding:0 1rem; margin:0 0.5rem 0 0; border-radius:var(--radius-sm);}
.cookie-consent.style-whisper button.cookie-decline{background: #678;}

.booking-step{padding:1rem; margin:-1rem; background:#fff;position: relative; display:block; border:1px solid #ccc;border-radius:var(--radius-md);}
.booking-step h2 span{text-transform: uppercase; font-size:2rem; color: #ccc;}
@media (min-width:48rem){.booking-step{padding:2rem;}}
.progress-text{margin:0 0 1rem 0; background:#eee; padding:1rem 1rem 1rem 2rem; font-weight: 700; text-transform: uppercase; font-size: 1.3rem; border-radius:var(--radius-md);}

/* Calendar date availability styling - REPLACE existing calendar styles in conch.css */
.calendar-picker {max-width: 32rem;margin: 20px 0;}
.calendar-header {width: 100%; display: flex;justify-content: space-between;align-items: center;padding: 10px;background:#eeeae7;color: #777;border-radius: 12px;}
.calendar-header button {color: var(--color-primary);border: none;background: #fff;padding: 8px 12px;border-radius: 0.5rem;cursor: pointer;transition: all 0.3s ease; margin-bottom:0;}
.calendar-header button:hover {color: #fff; background:var(--color-primary); transform: scale(1.05);}
.calendar-month {font-weight: 600;font-size: 18px;}
.calendar-grid {display: grid;grid-template-columns: repeat(7, 1fr);gap: 5px; }
.calendar-day-label {text-align: center;font-weight: 600;padding: 0.5rem;font-size: 12px;color: #3d9fb8;text-transform: uppercase;}
.calendar-day {aspect-ratio: 1;display: flex;align-items: center;justify-content: center;border-radius: 3px;transition: all 0.2s ease;background: #ddd;font-weight: 700;font-size:1.4rem;position: relative;overflow: hidden;}
.calendar-day:hover:not(.disabled):not(.other-month):not(.no-slots) {background: #fff;transform: scale(1.05);cursor: pointer;}
.calendar-day.selected {background: linear-gradient(135deg, var(--color-primary) 30%, #96d 100%);color: white;font-weight: 700;box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);}
.calendar-day.disabled {color: #ccc;cursor: not-allowed;background: #eee;text-decoration: line-through;}
.calendar-day.other-month {color: #ddd;background: #fefefe;}
.calendar-day.today {border: 2px solid #3d9fb8;}
.calendar-day.no-slots {color: #999;background: #f5f5f5;cursor: not-allowed;opacity: 0.5;}
.calendar-day.no-slots:hover {background: #f5f5f5;transform: none;}
.booking-step button {background: linear-gradient(135deg, var(--color-primary) 30%, #96d 100%);color: white; margin:1rem 1rem 1rem 0;}
.booking-step button:hover {background: linear-gradient(-45deg, var(--color-primary) 30%, #96d 100%);color: white;}
.booking-step button.btn-secondary {background: #678;}
.booking-step .form-group label{margin:1rem 0 0 0;}
.booking-summary p{margin-bottom:0.5rem;}
.booking-summary h3{margin:2rem 0 0 0;}
.booking-step.booking-success{background:#efe;border:1px solid #6c6;}

/* Miscellaneous Hard-coded Styles */
hr{margin-top:var(--space-3xl); margin-bottom:3.5rem; border-width:0; border-top:var(--border-thin) solid var(--color-border-light);}
code{padding:var(--space-xs) var(--space-sm); margin:0 var(--space-xs); font-size:90%; white-space:nowrap; background:var(--color-bg-form); border:var(--border-thin) solid var(--color-border-light); border-radius:var(--border-thick);}
sub{font-size:80%; line-height:var(--line-height-1-5);}

/* SVG Filters for Effects */
.svg-filters{position:absolute; width:0; height:0; overflow:hidden;}
.magnet-debug{display:none;}
#magnet-debug-panel{display:none;}

/* Event Availability Feature Styles */
.availability-alert {margin:0 -1rem 2rem -1rem; border-radius: 0.5rem; padding: 1rem 1rem 1rem 2rem; border: 1px solid #FFC107; border-left-width: 0.5rem;}
.availability-alert p{margin:0;}
.availability-alert.available {background-color: #E6F2FF; border-color: #0066CC;}
.availability-alert.waitlist {background-color: #FFF8DC; border-color: #FFC107;}
.availability-alert.closed {background-color: #FFE6E6; border-color: #DC3545;}
.availability-alert.waitlist strong{color: #FF9800;}
.availability-alert.closed strong{color: #DC3545;}

.timezone-note{font-size:1.6rem;font-weight:200; color:#999;}
#legal p.made-with-love{font-size:1.1rem !important; color:#bbb; text-align: right; border-radius: 3rem; margin-top: 8rem; padding: 0 1.5rem; background: #ffffff66; display:inline-block;}

/* Debug mode (uncomment to see layout) */
/* *{outline:1px solid red;}*/
