/* ===== 0. SLIDERS BLOCK (Admin Design System Input) ===== */
:root{
 /* NEW COLOR SLIDERS - Complete HSL values */
 --slider-primary:#A13700; /* Main brand color,buttons,links */
 --slider-secondary:hsl(221,14%,38%); /* Supporting brand color */
 --slider-accent:hsl(204,43%,34%); /* Highlight/call-to-action color */
 --slider-contrast: hsl(38, 22%, 63%); /* Alternative color */
 --slider-neutral:hsl(240,23%,20%); /* Calmer color */
 --slider-background:#E9E6DF; /* for backgrounds */

 /* EXTRACT HSL COMPONENTS FROM SLIDER COLORS */
 --primary-h:188; --primary-s:100%; --primary-l:55%;
 --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:"EB Garamond", serif;
 --slider-body-font:"EB Garamond", serif;
 --slider-pretty-font:"EB Garamond", serif;
 --slider-heading-weight:800; /* 300-900,step 100 */
 --slider-body-weight:400; /* 300-900,step 100 */
 --slider-text-base:50; /* Based on 1.2rem base */
 --slider-type-scaler:25; /* 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:0; /* 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:15; /* 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:var(--slider-background);
 --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-darker);
 --color-bg-footer-light:var(--color-neutral);
 --color-bg-dark:var(--color-black-0);
 --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.2rem * 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:400;
 --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(--color-black-0);

 /* 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:linear-gradient(to right,#ffffff55,#ffffff);
 --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:65px;

 /* 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,.gauge-score,.gauge-score-label,.gauge-status{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);font-style:italic;}
h1{font-size:var(--font-size-h1); line-height:var(--line-height-2);  text-shadow:var(--shadow-text); z-index:var(--z-overlay); padding-left:0;letter-spacing:0; color:#fff; font-weight: 700;}
h2,.gauge-score,.gauge-score-label{font-size:var(--font-size-h2); line-height:var(--line-height-1-5); font-weight:600;}
#invitation-to-act h2, #invitation-to-act p{color:#fff;text-shadow:var(--color-primary) 0 0 2rem, #006 0 0 4rem, var(--color-primary) 0 0 6rem;}
h3,.gauge-status{font-size:var(--font-size-h3); line-height:1.25; 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); text-align:center; padding-left:0;}
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 #315E7C66; margin-left:0; color:var(--color-accent); padding-left:var(--space-md);}
/*
.light blockquote{border-left:none; border-right:var(--space-md) solid #315E7C66; padding-right: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;}
.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: #600 0 0 1rem, #006 0 0 2rem, #060 0 0 3rem;}
.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:none; position:relative; z-index:0;}
.light{background:#ffffff11; background:var(--grad-bg-service) no-repeat; background-size:130% 130%;}
.flat{background-color:var(--color-bg-alt); background:var(--grad-bg-alt) no-repeat; background-size:130% 130%;}
.dark .container{margin:0;}
.light .container{margin:0;}
#proposition .container {position: relative; z-index: 2; margin:4rem 0;}
.container .deeper-dive{margin:5rem 0;}
.container .deeper-dive h2{color:#fff;}
@media (min-width:48rem) {
 .dark .container{margin:0 auto 0 15%; padding-left:0;}
 .light .container, #proposition .container{margin:4rem 15% 4rem auto; padding-right:0;}
 .light .container *, #proposition .container *{text-align:right;}
 .light .container *, #proposition .container  .booking-embed *{text-align:left;}
}
@media (min-width:80rem) {
 .dark .container {margin: 0 auto 0 40%;padding-left: 0;}
 .light .container, #proposition .container {margin: 0 40% 0 auto;padding-right: 0;}
}
@media (min-width:120rem) {
 .dark .container {margin: 0 auto 0 50%;padding-left: 0;}
 .light .container, #proposition .container {margin: 0 50% 4rem auto;padding-right: 0;}
}
footer{padding:var(--space-5xl) 20px; margin:0; background:#ffffff55; background-size:120% 120%;}

/* 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.9rem; margin:0; border:none; background: #9bc; position:relative;}
a.card.service-link .service-link-pic{position:absolute; left:0; top:0; right:0; bottom:0; background-position:center center; background-size:cover; background-repeat:no-repeat; border-radius:0.9rem; z-index:0;}
a.card.service-link div{position:relative; z-index:1;}
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:var(--color-primary); display: flex;align-items: center;justify-content: center;font-size: 2rem;color: #fff;border-radius: 0.5rem; z-index:1;}
@media (min-width:48rem) {
 .grid.cards a.card{padding:6rem 9rem;}
 a.card.service-link{margin:0; border:none; background: var(--color-contrast);}
 a.card.service-link::after {content: '▶';position: absolute;right: 0;top: 0;bottom: 0;width: 8rem; background: var(--color-primary); 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) 1rem var(--space-md);}
#brand-logo img{width:4.2rem; height:auto;}
a#brand-logo{padding-left:3rem; text-decoration:none; border-top:0.8rem solid transparent; border-bottom:0.7rem solid transparent;}
a#brand-logo:hover{padding-bottom:1.15rem;}
@media (min-width:48rem){
 a#brand-logo{border-top:0.8rem solid transparent; border-bottom:0.5rem solid transparent;}
 a#brand-logo:hover{padding-bottom:1.05rem; background: rgba(0, 0, 0, 0.7);}
}
a#brand-logo:hover img{filter: brightness(15) saturate(0);}

/* Mobile Menu (Default) */
#hamburger{display:block; right:1rem; top:1rem; position:absolute; font-size:230%; text-decoration:none; z-index:var(--z-menu); padding:0.5rem;}
#hamburger:hover, #hamburger:focus, #hamburger:active{color:#fff;}
#menu-background{display:block; position:absolute; top:0; left:0; width:100%; height:6rem; padding:0; background:#fff; z-index:var(--z-menu-bg);}
#head-menu{left:unset; right:0; padding:6rem 0 6rem 0; display:none; text-align:right; width:25rem; background:none; font-size:96%; z-index:var(--z-menu); position:absolute; top:0; margin:0;}
#head-menu {display: none;}
#head-menu.menu-open {display: block !important;}
#hamburger {z-index: 99999;pointer-events: auto !important;}

nav ul{list-style:none; margin:0; padding:0;}
nav li{color:var(--color-text-light); display:block; float:none; padding:0; margin-bottom:0; position:relative; text-decoration:none; transition-duration:var(--transition-slow); margin-right:0;}
nav li:nth-child(even){margin-right:0; margin-top:calc(var(--asymmetry-offset) * 0.1);}
nav li a{color:var(--color-primary); background:#ccc; 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; font-style: italic; font-size:1.7rem;}
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: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); color:#fff;}
nav ul li ul li{clear:both; width:100%; margin:0; padding:0; border:none; float:none;}

/* Desktop menu overwrites */
@media (min-width:48rem){
 nav ul{background:var(--color-border-dark);}
 nav li a{background:var(--color-neutral-darker);}
 nav li a:hover{}
 nav li:hover,nav li:focus-within{}
}

/* 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); 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.5rem; font-weight:var(--font-weight-bold); line-height:var(--line-height-0-75); margin-left:calc(var(--asymmetry-offset) * 0.2);}
.magnet-form label{font-weight:200;}
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));font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.4rem;}
.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%;}
.booking-step .room-buttons button.btn-secondary{color: #ffffffcc; padding: 0 2rem; border-radius: .25rem; font-size: 1.2rem; margin-right: 0.5rem;}

/* Lists - Variable-Driven */
ul{list-style:disc; padding-left:1.6rem; margin-top:0; margin-bottom:var(--space-2xl);}
/*.light ul{text-align: right;}*/
.light .booking-embed ul{list-style-position: outside; text-align: left;}
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:14rem; 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:''; position:absolute; top:0; right:0; bottom:0; left:0; background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0.05) 40%,rgba(0,0,0,0.2) 100%); pointer-events:none;}
.bg-image img{width:100%; height:100%; object-fit:cover; object-position: center center;}
#invitation-to-act .bg-image img{}
.fg-image{position:relative;}
.fg-image img{width:100%; height:auto; border-radius:var(--radius-xl); 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: absolute; top:0; right:0; left:0; bottom:0;}
#proposition .bg-image img {object-fit: cover;}
/* 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{padding:var(--space-10xl) var(--container-padding);}
 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-8xl) 0 0 0;}
 #proposition{border-top:50px solid var(--color-primary);}
 /* 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:0 0 0 20rem; background:#fff;vertical-align:top; display:block; text-align:left; font-size:100%; right:unset; z-index:99;}

 nav ul{background:none; display: flex; align-items: stretch;}
 nav li{display:inline-block; padding:0; margin-bottom:0; vertical-align: top;}
 nav li a{background:none; padding:1.6rem var(--space-lg) 1.5rem var(--space-lg);}
 nav li:hover,nav li:focus-within{background:rgba(0,0,0,0.33);}

 /* 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:0 !important; left:0 !important; display:none !important; transition:all var(--transition-slow) ease !important; z-index:var(--z-menu) !important; top:100%; padding-top:0rem;}
 nav ul li:hover > ul,nav ul li:focus-within > ul,nav ul li ul:hover,nav ul li ul:focus{visibility:visible !important; opacity:1 !important; display:block !important;}
 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-primary);}
 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 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 280s linear infinite; opacity:1; transition:opacity var(--transition-normal) ease-in-out; color:#222;}
.glow-on-hover:before{content:''; background:linear-gradient(45deg, color-mix(in srgb, var(--color-primary) 40%, white), color-mix(in srgb, var(--color-primary) 50%, white), var(--color-primary), color-mix(in srgb, var(--color-primary) 30%, white), color-mix(in srgb, var(--color-primary) 40%, white), color-mix(in srgb, var(--color-primary) 20%, white), color-mix(in srgb, var(--color-primary) 50%, white), var(--color-primary), color-mix(in srgb, var(--color-primary) 40%, white)); 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 60s linear infinite; opacity:1; transition:opacity var(--transition-normal) ease-in-out;}
.glow-on-hover:active{color:#222;}
.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) dotted #bbb;}
#legal p{font-size:1.4rem; margin:1.3rem 0; }
#legal p.nudged-up{margin:0 0 var(--space-5xl) 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:#A1370066 !important;cursor:default !important; color:#fff !important; padding-left: 0.5rem !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;transition: background-color 0.3s ease, padding-left 0.3s ease, color 0.3s ease;}
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#subscribe .container,section#contact .container,section#testimonials .container{padding-bottom:0;}
section#invitation-to-act .container{padding:10rem 0 8rem 0;}
#proposition .container{padding-top:var(--space-8xl); padding-bottom:0;}
#proposition p,#proposition h2{text-align:center; line-height:1.2; color:#fff;}
#proposition p{font-size: var(--font-size-h4);}
#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;}
.magnet-form{padding:2rem; border-radius: 1rem; border: 1px solid 00000022; background:#00000011;}
.magnet-form .form-group{margin-bottom:2rem;}
.magnet-form .form-group input[type="range"]{width:40%; margin-right:0.8rem;}
.magnet-form input.form-control-range {width: 100%;height: 8px;-webkit-appearance: none;appearance: none;background: transparent;cursor: pointer;}
.form-control-range::-webkit-slider-runnable-track {width: 100%;height: 8px;background: linear-gradient(to right, var(--color-text-secondary) 0%, #fff 100%);border-radius: 4px;border: 1px solid #999;}/* Chrome, Safari, Edge */
.magnet-form input.form-control-range::-webkit-slider-thumb {-webkit-appearance: none;appearance: none;width: 24px;height: 24px;border-radius: 50%;background: var(--color-primary);cursor: pointer;margin-top: -8px;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);}
.magnet-form input.form-control-range::-moz-range-track {background: #e0e0e0;border-radius: 4px;border: 1px solid #999;height: 8px;} /* Firefox */
.magnet-form input.form-control-range::-moz-range-thumb {width: 24px;height: 24px;border-radius: 50%;background: #007bff;cursor: pointer;border: none;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);}
.magnet-form input.form-control-range::-moz-range-progress {background: #0056b3;border-radius: 4px;height: 8px;}
.magnet-form .range-container output{display:inline-block; text-transform: uppercase;font-size:1.2rem; font-family:"HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600; padding:1rem 0 0 0; color:var(--color-accent);}
.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;}
button.magnet-button,.nav-prev,.nav-next{border:0 solid var(--color-border);border-radius:0.5rem; color:#fff;cursor:pointer; font-family:"HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 600;font-size:1.5rem; font-style: normal;}
.nav-prev:hover,.nav-next:hover{}
div.magnet-progress{display:none;}
div.magnet-content *{color:var(--color-text-dark);}
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;}

/* Room bookings */
.room-card{margin-bottom:3.2rem;}
.room-info h3{margin-bottom:0.4rem; background:#000000cc; padding: 0 1.5rem;font-size: 1.6rem; color:#fff;}

/* Debug mode (uncomment to see layout) */
/* *{outline:1px solid red;}*/

.mono{filter: grayscale(100%); opacity: 0.7; mix-blend-mode: luminosity;}
p.shadow-work-context{font-size:var(--font-size-h4); line-height:var(--line-height-1-5); margin-top:0; font-weight:400; font-style: italic; color:#999; text-align: center !important; text-transform: lowercase; letter-spacing: -0.07rem; width:100%;}
p.shadow-work-context::before{content:'◦ ';}
p.shadow-work-context::after{content:' ◦';}
p.shadow-work-context::before, p.shadow-work-context::after {vertical-align: -0.25rem; color:#69c;}
p.shadow-work-context em{font-weight: 600;}
p.shadow-work-context em:after{content:' - '; font-weight: 100; font-style: normal;}
.shadow-work-symbol img{height:400px; width:auto;}

@media (min-width:48rem){
 p.shadow-work-context{width:400px;}
 .dark div.shadow-work-symbol{border-left:1px solid #fff; height:400px;}
 .light div.shadow-work-symbol{border-right: 1px solid #ddd;height: 400px;display: flex; flex-direction: column;align-items: flex-end;}
 .light div.shadow-work-symbol svg {text-align: right;}
}
@media (min-width:80rem){
 .dark div.shadow-work-symbol{border:none; position:absolute;left: -22vw; transform: translateX(-40%); top:10rem; }
 .light div.shadow-work-symbol{border:none; position:absolute;right: -22vw; transform: translateX(40%); top:10rem; }
}
@media (min-width:120rem){
 .dark div.shadow-work-symbol{position:absolute;left: -25vw; transform: translateX(-50%); top:10rem; }
 .light div.shadow-work-symbol{position:absolute;right: -25vw; transform: translateX(50%); top:10rem; }
}

footer img{display:inline-block;width:auto;margin-right:1rem;}
.gauge-score,.gauge-score-label{display:inline-block; width:auto; margin-right:1rem; font-style: normal;font-size:var(--font-size-h3); color:var(--color-accent)}
.magnet-contact-action{text-align:left; font-weight:600; font-style: italic; margin:-1rem 0 3.2rem 0;}
.magnet-step-review{font-weight:600;}
.magnet-step-review div.data-item{margin-bottom:2.4rem;}
.magnet-step-review div.data-item:before{content: '❀ ';}
.magnet-step-review strong{font-weight:200;}