/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"SF Pro Text:Regular", "Inter", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-\[0\.02\%_0\.72\%_-0\.01\%_0\.74\%\]{inset:.02% .72% -.01% .74%}.inset-\[0\.08\%_0_0\.01\%_0\]{inset:.08% 0 .01%}.inset-\[0\.19\%_0_3\.98\%_0\]{inset:.19% 0 3.98%}.inset-\[0\.93\%_79\.55\%_98\.14\%_5\.56\%\]{inset:.93% 79.55% 98.14% 5.56%}.inset-\[4\.81\%_6\.28\%_5\.05\%_6\.94\%\]{inset:4.81% 6.28% 5.05% 6.94%}.inset-\[8\.4\%_0\]{inset:8.4% 0}.inset-\[8\.24\%_0\]{inset:8.24% 0}.inset-\[14\.84\%_0\]{inset:14.84% 0}.top-0{top:0}.top-\[-0\.06\%\]{top:-.06%}.top-\[-10\.92\%\]{top:-10.92%}.top-\[60\.08px\]{top:60.08px}.top-\[68px\]{top:68px}.top-\[77px\]{top:77px}.top-\[105\.85px\]{top:105.85px}.top-\[263px\]{top:263px}.top-\[327px\]{top:327px}.top-\[418px\]{top:418px}.top-\[675px\]{top:675px}.top-\[931px\]{top:931px}.top-\[5889px\]{top:5889px}.top-\[7129px\]{top:7129px}.left-0{left:0}.left-1\/2{left:50%}.left-\[73px\]{left:73px}.left-\[80px\]{left:80px}.left-\[92\.71px\]{left:92.71px}.left-\[687px\]{left:687px}.left-\[736px\]{left:736px}.left-\[1108px\]{left:1108px}.left-\[calc\(50\%\+0\.5px\)\]{left:calc(50% + .5px)}.left-\[calc\(50\%\+540px\)\]{left:calc(50% + 540px)}.col-1{grid-column:1}.row-1{grid-row:1}.mt-0{margin-top:0}.mt-\[8px\]{margin-top:8px}.mt-\[77\.34px\]{margin-top:77.34px}.mt-\[250px\]{margin-top:250px}.mr-\[-4px\]{margin-right:-4px}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.ml-\[8px\]{margin-left:8px}.ml-\[21\.17px\]{margin-left:21.17px}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-grid{display:inline-grid}.size-\[20px\]{width:20px;height:20px}.size-\[24px\]{width:24px;height:24px}.size-\[32px\]{width:32px;height:32px}.size-\[40px\]{width:40px;height:40px}.size-\[48px\]{width:48px;height:48px}.size-\[56px\]{width:56px;height:56px}.size-\[64px\]{width:64px;height:64px}.size-full{width:100%;height:100%}.h-\[16px\]{height:16px}.h-\[32px\]{height:32px}.h-\[40px\]{height:40px}.h-\[48px\]{height:48px}.h-\[100\.929px\]{height:100.929px}.h-\[120px\]{height:120px}.h-\[138\.99\%\]{height:138.99%}.h-\[140\.1\%\]{height:140.1%}.h-\[180px\]{height:180px}.h-\[341px\]{height:341px}.h-\[384px\]{height:384px}.h-\[400px\]{height:400px}.h-\[606px\]{height:606px}.h-\[851px\]{height:851px}.h-\[957px\]{height:957px}.w-\[15\.714px\]{width:15.714px}.w-\[118\.914px\]{width:118.914px}.w-\[133px\]{width:133px}.w-\[144px\]{width:144px}.w-\[156px\]{width:156px}.w-\[200px\]{width:200px}.w-\[238px\]{width:238px}.w-\[270px\]{width:270px}.w-\[320px\]{width:320px}.w-\[357\.238px\]{width:357.238px}.w-\[358px\]{width:358px}.w-\[468px\]{width:468px}.w-\[484px\]{width:484px}.w-\[512px\]{width:512px}.w-\[520px\]{width:520px}.w-\[544px\]{width:544px}.w-\[573px\]{width:573px}.w-\[600px\]{width:600px}.w-\[656px\]{width:656px}.w-\[900px\]{width:900px}.w-\[1000px\]{width:1000px}.w-\[1008px\]{width:1008px}.w-\[1280px\]{width:1280px}.w-\[1440px\]{width:1440px}.w-\[min-content\]{width:min-content}.w-full{width:100%}.max-w-none{max-width:none}.min-w-full{min-width:100%}.min-w-px{min-width:1px}.flex-\[1_0_0\]{flex:1 0 0}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-scale-y-100{--tw-scale-y:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\[max-content\]{grid-template-columns:max-content}.grid-rows-\[max-content\]{grid-template-rows:max-content}.flex-col{flex-direction:column}.place-items-start{place-items:start}.content-stretch{align-content:stretch}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-\[2px\]{gap:2px}.gap-\[3px\]{gap:3px}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.gap-\[10px\]{gap:10px}.gap-\[14px\]{gap:14px}.gap-\[16px\]{gap:16px}.gap-\[24px\]{gap:24px}.gap-\[32px\]{gap:32px}.gap-\[40px\]{gap:40px}.gap-\[48px\]{gap:48px}.gap-\[56px\]{gap:56px}.gap-\[64px\]{gap:64px}.gap-\[80px\]{gap:80px}.gap-\[128px\]{gap:128px}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-\[33px\]{border-radius:33px}.rounded-\[inherit\]{border-radius:inherit}.rounded-br-\[24px\]{border-bottom-right-radius:24px}.rounded-bl-\[24px\]{border-bottom-left-radius:24px}.border{border-style:var(--tw-border-style);border-width:1px}.border-8{border-style:var(--tw-border-style);border-width:8px}.border-\[0\.6px\]{border-style:var(--tw-border-style);border-width:.6px}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[\#97733f\]{border-color:#97733f}.border-\[\#161616\]{border-color:#161616}.border-\[\#636363\]{border-color:#636363}.border-\[rgba\(151\,115\,63\,0\.2\)\]{border-color:#97733f33}.bg-\[\#0e0e0e\]{background-color:#0e0e0e}.bg-\[\#161616\]{background-color:#161616}.bg-\[rgba\(25\,25\,25\,0\.4\)\]{background-color:#19191966}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#f0e8dc\]{--tw-gradient-from:#f0e8dc;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[rgba\(0\,0\,0\,0\)\]{--tw-gradient-from:#0000;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[\#ece1d2\]{--tw-gradient-via:#ece1d2;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[rgba\(0\,0\,0\,0\.48\)\]{--tw-gradient-via:#0000007a;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#f0e8dc\]{--tw-gradient-to:#f0e8dc;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[rgba\(0\,0\,0\,0\.6\)\]{--tw-gradient-to:#0009;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{object-fit:cover}.p-\[12px\]{padding:12px}.p-\[16px\]{padding:16px}.p-\[24px\]{padding:24px}.p-\[40px\]{padding:40px}.p-\[80px\]{padding:80px}.px-\[16px\]{padding-inline:16px}.px-\[24px\]{padding-inline:24px}.px-\[30px\]{padding-inline:30px}.px-\[32px\]{padding-inline:32px}.px-\[80px\]{padding-inline:80px}.py-\[12px\]{padding-block:12px}.py-\[17px\]{padding-block:17px}.py-\[32px\]{padding-block:32px}.pt-\[16px\]{padding-top:16px}.pt-\[80px\]{padding-top:80px}.pt-\[250px\]{padding-top:250px}.pb-\[32px\]{padding-bottom:32px}.text-center{text-align:center}.font-\[\'SF_Pro_Display\:Medium\'\,sans-serif\]{font-family:SF Pro Display\:Medium,sans-serif}.font-\[\'SF_Pro_Display\:Regular\'\,sans-serif\]{font-family:SF Pro Display\:Regular,sans-serif}.font-\[\'SF_Pro_Display\:Semibold\'\,sans-serif\]{font-family:SF Pro Display\:Semibold,sans-serif}.font-\[\'SF_Pro_Text\:Medium\'\,sans-serif\]{font-family:SF Pro Text\:Medium,sans-serif}.font-\[\'SF_Pro_Text\:Regular\'\,sans-serif\]{font-family:SF Pro Text\:Regular,sans-serif}.font-\[\'SF_Pro_Text\:Semibold\'\,sans-serif\]{font-family:SF Pro Text\:Semibold,sans-serif}.text-\[10\.877px\]{font-size:10.877px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[18\.188px\]{font-size:18.188px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[56px\]{font-size:56px}.text-\[72px\]{font-size:72px}.leading-\[0\]{--tw-leading:0;line-height:0}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.31\]{--tw-leading:1.31;line-height:1.31}.leading-\[normal\]{--tw-leading:normal;line-height:normal}.tracking-\[1px\]{--tw-tracking:1px;letter-spacing:1px}.tracking-\[2\.417px\]{--tw-tracking:2.417px;letter-spacing:2.417px}.tracking-\[4\.0419px\]{--tw-tracking:4.0419px;letter-spacing:4.0419px}.\[word-break\:break-word\]{word-break:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#0d0d0d\]{color:#0d0d0d}.text-\[\#0e0e0e\]{color:#0e0e0e}.text-\[\#404040\]{color:#404040}.text-\[\#636363\]{color:#636363}.text-\[\#c7c7c7\]{color:#c7c7c7}.text-\[\#f7f7f7\]{color:#f7f7f7}.text-\[\#ff3b30\]{color:#ff3b30}.text-\[transparent\]{color:#0000}.not-italic{font-style:normal}.shadow-\[0px_1px_6px_0px_rgba\(179\,137\,75\,0\.25\)\]{--tw-shadow:0px 1px 6px 0px var(--tw-shadow-color,#b3894b40);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0px_2px_6px_0px_\#383838\]{--tw-shadow:inset 0px 2px 6px 0px var(--tw-shadow-color,#383838);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.drop-shadow-\[0px_1px_3px_rgba\(179\,137\,75\,0\.25\)\]{--tw-drop-shadow-size:drop-shadow(0px 1px 3px var(--tw-drop-shadow-color,#b3894b40));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[4px\]{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[20px\]{--tw-backdrop-blur:blur(20px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:text-\[\#f7f7f7\]:is(:where(.group):hover *){color:#f7f7f7}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:scale-\[1\.04\]:hover{scale:1.04}.hover\:border-\[\#97733f\]:hover{border-color:#97733f}.hover\:bg-\[rgba\(151\,115\,63\,0\.15\)\]:hover{background-color:#97733f26}.hover\:text-\[\#c3a170\]:hover{color:#c3a170}.hover\:opacity-70:hover{opacity:.7}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2)format("woff2")}@font-face{font-family:SF Pro Text\:Regular;font-weight:400;font-display:swap;src:local(SF Pro Text),local(SFProText-Regular),url(../fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:SF Pro Text\:Medium;font-weight:500;font-display:swap;src:local(SF Pro Text Medium),local(SFProText-Medium),url(../fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:SF Pro Text\:Semibold;font-weight:600;font-display:swap;src:local(SF Pro Text Semibold),local(SFProText-Semibold),url(../fonts/inter-latin-600-normal.woff2)format("woff2")}@font-face{font-family:SF Pro Display\:Regular;font-weight:400;font-display:swap;src:local(SF Pro Display),local(SFProDisplay-Regular),url(../fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:SF Pro Display\:Medium;font-weight:500;font-display:swap;src:local(SF Pro Display Medium),local(SFProDisplay-Medium),url(../fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:SF Pro Display\:Semibold;font-weight:600;font-display:swap;src:local(SF Pro Display Semibold),local(SFProDisplay-Semibold),url(../fonts/inter-latin-700-normal.woff2)format("woff2")}html,body,#root{background-color:#0e0e0e}
html,body{overflow-x:hidden}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(32px)}.reveal-visible{opacity:1;transform:translateY(0)}@keyframes hero-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-rise{animation:.8s cubic-bezier(.16,1,.3,1) both hero-rise}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.hero-rise{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}

/* Interactive testimonial carousel: the arrows rotate which of the three
   cards is centered/active. Cards share identical content in this build,
   so the "active" card is styled cream + slightly enlarged; the JS in
   js/script.js physically reorders the DOM nodes on each click. */
.testimonial-card-bg {
  background-color: #0e0e0e;
  background-image: none;
  transition: background-color 0.4s ease, background-image 0.4s ease;
}
.testimonial-card.is-active .testimonial-card-bg {
  background-color: transparent;
  background-image: linear-gradient(180deg, #f0e8dc 0%, #ece1d2 50%, #f0e8dc 100%);
}
.testimonial-card.is-active {
  transform: scale(1.03);
}
.testimonial-quote,
.testimonial-name {
  transition: color 0.4s ease;
}
.testimonial-role {
  transition: color 0.4s ease;
}
.testimonial-card:not(.is-active) .testimonial-quote,
.testimonial-card:not(.is-active) .testimonial-name {
  color: #f7f7f7;
}
.testimonial-card.is-active .testimonial-quote,
.testimonial-card.is-active .testimonial-name {
  color: #0d0d0d;
}
.testimonial-card:not(.is-active) .testimonial-role {
  color: #c7c7c7;
}
.testimonial-card.is-active .testimonial-role {
  color: #636363;
}

/* Fix: the services row centered cards individually (ragged bottom edges
   when titles wrap to 2 lines) and the cream section had a fixed height
   that clipped/overlapped once wrapped titles pushed content taller. */
.items-stretch {
  align-items: stretch;
}
.min-h-\[957px\] {
  min-height: 957px;
}

/* Service cards: items-stretch above equalizes each card's outer height
   to the tallest card in the row, but a 2-line title (e.g. "Mattress
   Sanitization" next to single-line "Sofa Deep Cleaning") still left the
   "Book a Clean" link sitting at a different height per card, since the
   image+text block was only vertically centered as a group instead of
   filling that equalized height. Stretch it all the way down so the
   image stays pinned to the top and the CTA lands at the same bottom
   position on every card, regardless of how the title wraps. */
.service-card {
  align-items: stretch;
}
.service-card-content {
  justify-content: flex-start;
  align-self: stretch;
}
.service-card-textcol {
  flex: 1 1 auto;
  justify-content: space-between;
}

/* Blur inactive testimonial cards */
.testimonial-card {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    translate 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.3s ease,
    opacity 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
.testimonial-card:not(.is-active) {
  filter: blur(4px);
  opacity: 0.7;
}

/* Booking form: real inputs styled to sit inside the existing
   bg + inset-shadow layered "field" wrapper divs. */
.contact-field-wrap {
  transition: box-shadow 0.2s ease;
}
.contact-field-wrap:focus-within {
  box-shadow: 0 0 0 1.5px #97733f;
}
.contact-field {
  background: transparent;
  border: none;
  outline: none;
  color: #f7f7f7;
  font-family: "SF Pro Text:Regular", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  width: 100%;
  min-width: 0;
}
.contact-field::placeholder {
  color: #636363;
  opacity: 1;
}
textarea.contact-field {
  resize: none;
  height: 100%;
}
/* Dropdown wrapper: gold-tinted hover + focus states matching the site's
   accent gradient, plus a chevron flip so the field reads as "open". */
.contact-select-wrap {
  transition: box-shadow 0.2s ease;
}
.contact-select-wrap:hover {
  box-shadow: 0 0 0 1.5px rgba(151, 115, 63, 0.5);
}
.select-chevron {
  transition: transform 0.25s ease;
}
.contact-select-wrap:focus-within .select-chevron,
.custom-select-trigger.is-open .select-chevron {
  transform: rotate(180deg);
}

/* Custom "Select your cleaning requirement" dropdown: a native <select>'s
   open popup can't be restyled consistently across browsers, so it's
   replaced with a themed button + listbox that reuses the same field
   chrome (bg, inset shadow, focus ring) as the text inputs above it. */
.custom-select-trigger {
  background: transparent;
  border: none;
  outline: none;
  text-align: left;
  font-family: "SF Pro Text:Regular", sans-serif;
  cursor: pointer;
}
.custom-select-trigger.is-invalid {
  box-shadow: 0 0 0 1.5px #ff3b30;
  animation: contact-select-shake 0.35s ease;
}
@keyframes contact-select-shake {
  0%, 100% { translate: 0 0; }
  25% { translate: -4px 0; }
  75% { translate: 4px 0; }
}
.custom-select-value {
  flex: 1 0 0;
  min-width: 0;
  color: #636363;
  font-size: 16px;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.custom-select-value.has-value {
  color: #f7f7f7;
}
.custom-select-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 30;
  max-height: 280px;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 8px;
  border-radius: 20px;
  background: #161616;
  border: 1px solid rgba(151, 115, 63, 0.3);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5),
    inset 0px 1px 0px rgba(255, 255, 255, 0.03);
  opacity: 0;
  transform: translateY(-6px) scale(0.98);
  pointer-events: none;
  transition: opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.custom-select-panel.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.custom-select-option {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  cursor: pointer;
  color: #c7c7c7;
  font-family: "SF Pro Text:Regular", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  padding: 10px 14px;
  border-radius: 12px;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.custom-select-option:hover,
.custom-select-option.is-highlighted {
  background: rgba(151, 115, 63, 0.18);
  color: #f7f7f7;
}
.custom-select-option.is-selected {
  color: #0d0d0d;
  font-family: "SF Pro Text:Medium", sans-serif;
  background-image: linear-gradient(
    180deg,
    rgb(151, 115, 63) 0%,
    rgb(180, 137, 75) 25%,
    rgb(195, 161, 112) 50%,
    rgb(180, 137, 75) 75%,
    rgb(151, 115, 63) 100%
  );
}
.custom-select-panel::-webkit-scrollbar {
  width: 6px;
}
.custom-select-panel::-webkit-scrollbar-track {
  background: transparent;
}
.custom-select-panel::-webkit-scrollbar-thumb {
  background: rgba(151, 115, 63, 0.5);
  border-radius: 3px;
}

/* ==========================================================================
   Mobile layout (< 900px)

   Above 900px the page keeps the original Figma-exact desktop design via
   the JS "scale-to-fit" transform in script.js (proportionally shrinks the
   fixed 1440px canvas — same look, just smaller). Below 900px script.js
   turns that transform off, and this block takes over: it hides the
   desktop-only absolutely-positioned header/hero pieces, shows a purpose
   built mobile header + hero, and reflows the rest of the page (which is
   already a normal flex-col stack) from fixed pixel widths to full-width
   stacked sections — same colors, fonts, spacing rhythm and components,
   just rearranged to read at native size on a phone.
   ========================================================================== */

#mobile-header,
#mobile-nav-panel,
#mobile-hero {
  display: none;
}

@media (max-width: 899px) {
  #scale-container {
    height: auto !important;
  }
  #scale-inner {
    width: 100% !important;
    height: auto !important;
    margin-bottom: 0 !important;
  }

  /* Desktop-only absolutely-positioned header/hero pieces — replaced by
     the mobile header + hero below. */
  #hero-bg,
  #stat-badge-1,
  #stat-badge-2,
  #stat-badge-3,
  #nav-links,
  #nav-cta,
  #hero-copy,
  #site-logo {
    display: none !important;
  }

  /* ---- Mobile header ---- */
  #mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 14px 20px;
    background: rgba(14, 14, 14, 0.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(151, 115, 63, 0.2);
  }
  .mobile-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    min-width: 0;
  }
  /* Same logo artwork as the desktop header/footer (icon + "Posh Clean"
     wordmark baked into the vector paths), just scaled down to fit the
     mobile header bar. */
  .mobile-logo-mark {
    flex-shrink: 0;
    width: auto;
    height: 26px;
  }
  #mobile-nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(151, 115, 63, 0.12);
    border: 1px solid rgba(151, 115, 63, 0.3);
    cursor: pointer;
  }
  .mobile-nav-toggle-bar {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 1px;
    background: #c3a170;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  #mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  #mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-bar:nth-child(2) {
    opacity: 0;
  }
  #mobile-nav-toggle[aria-expanded="true"] .mobile-nav-toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* ---- Mobile nav panel ---- */
  #mobile-nav-panel {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 68px;
    z-index: 49;
    background: #161616;
    border-bottom: 1px solid rgba(151, 115, 63, 0.2);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  #mobile-nav-panel.is-open {
    max-height: 400px;
  }
  .mobile-nav-link {
    padding: 16px 20px;
    font-family: "SF Pro Text:Regular", sans-serif;
    font-size: 16px;
    color: #f7f7f7;
    text-decoration: none;
    border-bottom: 1px solid rgba(151, 115, 63, 0.1);
    transition: color 0.2s ease;
  }
  .mobile-nav-link:hover {
    color: #c3a170;
  }
  .mobile-nav-cta {
    margin: 16px 20px;
    padding: 14px 24px;
    border-radius: 32px;
    text-align: center;
    font-family: "SF Pro Text:Medium", sans-serif;
    font-size: 16px;
    color: #0d0d0d;
    text-decoration: none;
    background-image: linear-gradient(180deg, rgb(151, 115, 63) 0%, rgb(180, 137, 75) 25%, rgb(195, 161, 112) 50%, rgb(180, 137, 75) 75%, rgb(151, 115, 63) 100%);
  }

  /* ---- Mobile hero ---- */
  #mobile-hero {
    display: block;
    position: relative;
    overflow: hidden;
    padding: 40px 20px 36px;
  }
  .mobile-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
  }
  .mobile-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(14, 14, 14, 0.45) 0%, rgba(14, 14, 14, 0.85) 60%, #0e0e0e 100%);
  }
  .mobile-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 18px;
  }
  .mobile-hero-eyebrow,
  .mobile-hero-title,
  .mobile-hero-subtitle,
  .mobile-hero-stats {
    align-self: stretch;
  }
  .mobile-hero-eyebrow {
    font-family: "SF Pro Text:Semibold", sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-image: linear-gradient(180deg, rgb(151, 115, 63) 0%, rgb(180, 137, 75) 25%, rgb(195, 161, 112) 50%, rgb(180, 137, 75) 75%, rgb(151, 115, 63) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  .mobile-hero-title {
    font-family: "SF Pro Display:Regular", sans-serif;
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.2;
    letter-spacing: 0.5px;
    background-image: linear-gradient(180deg, rgb(151, 115, 63) 0%, rgb(180, 137, 75) 25%, rgb(195, 161, 112) 50%, rgb(180, 137, 75) 75%, rgb(151, 115, 63) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  .mobile-hero-subtitle {
    font-family: "SF Pro Text:Regular", sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #f7f7f7;
  }
  .mobile-hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
    padding: 14px 26px;
    border-radius: 32px;
    font-family: "SF Pro Text:Medium", sans-serif;
    font-size: 16px;
    color: #0e0e0e;
    text-decoration: none;
    background-image: linear-gradient(180deg, rgb(151, 115, 63) 0%, rgb(180, 137, 75) 25%, rgb(195, 161, 112) 50%, rgb(180, 137, 75) 75%, rgb(151, 115, 63) 100%);
    box-shadow: 0 10px 28px rgba(151, 115, 63, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .mobile-hero-cta:active {
    transform: scale(0.97);
  }
  .mobile-hero-cta-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
  .mobile-hero-stats {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
  }
  .mobile-hero-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(25, 25, 25, 0.55);
    border: 1px solid rgba(151, 115, 63, 0.2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    text-align: left;
  }
  .mobile-hero-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(151, 115, 63, 0.16);
    border: 1px solid rgba(151, 115, 63, 0.3);
  }
  .mobile-hero-stat-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .mobile-hero-stat strong {
    font-family: "SF Pro Text:Medium", sans-serif;
    font-size: 14px;
    color: #f7f7f7;
  }
  .mobile-hero-stat-text span {
    font-family: "SF Pro Text:Regular", sans-serif;
    font-size: 12px;
    color: #c7c7c7;
  }

  /* ---- Fluid widths: any element still using one of the desktop's fixed
     pixel content-column widths becomes full width on mobile. Icon/decor
     SVG wrappers use much smaller px values and are untouched. ---- */
  .w-\[1440px\],
  .w-\[1280px\],
  .w-\[1008px\],
  .w-\[1000px\],
  .w-\[900px\],
  .w-\[656px\],
  .w-\[600px\],
  .w-\[573px\],
  .w-\[544px\],
  .w-\[520px\],
  .w-\[512px\],
  .w-\[484px\],
  .w-\[468px\],
  .w-\[358px\],
  .w-\[270px\],
  .w-\[238px\],
  .w-\[200px\] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ---- Main content stack + footer: switch from the absolutely
     positioned 1440px canvas to normal document flow. #section-services
     (the cream section) is deliberately left full-bleed here, matching
     its edge-to-edge desktop background — it gets its own side padding
     below instead of inheriting #main-stack's, everything else gets
     #main-stack's padding as its side margin. ---- */
  #main-stack {
    position: static;
    width: 100%;
    gap: 64px;
    padding: 0;
    box-sizing: border-box;
  }
  #site-footer {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    /* Tailwind's -translate-x-1/2 utility here compiles to the CSS
       `translate` property (not `transform`) — it has to be cleared
       separately or the footer stays shifted left by half its own width
       now that it's back in normal document flow. */
    translate: none;
    width: 100%;
    height: auto;
    padding: 40px 20px;
    box-sizing: border-box;
  }

  #section-intro,
  #section-why-us,
  #section-testimonials,
  #section-contact {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }

  #section-services {
    width: 100%;
    min-height: auto;
    padding: 48px 20px;
    box-sizing: border-box;
  }

  #intro-stats-row {
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
  #intro-stats-row > div {
    width: 45% !important;
  }

  #service-filters {
    flex-wrap: wrap;
    justify-content: center;
  }

  #service-cards-row,
  #service-cards-row-fabric,
  #service-cards-row-moving {
    flex-direction: column;
  }
  #service-cards-row > div,
  #service-cards-row-fabric > div,
  #service-cards-row-moving > div {
    flex: none;
    width: 100%;
  }

  #why-us-row-1,
  #why-us-row-2 {
    flex-direction: column;
  }
  #why-us-row-1 > div,
  #why-us-row-2 > div {
    width: 100%;
  }
  /* The why-us cards use a CSS-grid "stacked layers" trick
     (grid-template-columns: max-content) to overlap a border frame behind
     a photo+caption layer. max-content sizes the track to the widest
     unwrapped line of the caption text, which blows past the viewport on
     mobile — force the track to just fill its (now 100%-wide) container
     instead so the percentage-width layers inside it resolve correctly. */
  .grid-cols-\[max-content\] {
    grid-template-columns: 1fr !important;
  }

  #section-contact {
    flex-direction: column;
    gap: 40px;
  }
  #contact-form-card {
    padding: 24px;
    box-sizing: border-box;
  }

  #testimonial-track {
    flex-direction: column;
  }
  .testimonial-card:not(.is-active) {
    filter: none;
    opacity: 1;
  }

  #footer-logo-lockup,
  #footer-photo {
    display: none;
  }
  #footer-row-1 {
    justify-content: flex-start;
  }
  #footer-row-2 {
    flex-direction: column;
    gap: 32px;
  }
  #footer-nav-contact-wrap {
    flex-direction: column;
    gap: 32px;
  }
  #footer-nav-services-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }

  /* ---- Heading sizes: the desktop's large fixed pixel headings are
     reused as-is by id/class further up; these three sizes are the
     section-level display headings across intro/services/why-us/contact
     and read too large at phone widths. ---- */
  .text-\[56px\] {
    font-size: clamp(28px, 7vw, 36px) !important;
  }
  .text-\[40px\] {
    font-size: clamp(24px, 6vw, 30px) !important;
  }
}

/* Floating WhatsApp */
.whatsapp-float {
    position: fixed;
    right: 25px;
    bottom: 25px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    border-radius: 50%;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);

    z-index: 9999;

    transition: all 0.3s ease;
}

/* SVG Icon */
.whatsapp-float svg {
    width: 32px;
    height: 32px;
    fill: #fff;
}

/* Hover */
.whatsapp-float:hover {
    transform: translateY(-5px) scale(1.08);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

/* Pulse animation */
.whatsapp-float::before {
    content: "";
    position: absolute;
    inset: 0;

    border-radius: 50%;
    border: 2px solid #25D366;

    animation: whatsapp-pulse 2s infinite;
}

@keyframes whatsapp-pulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    70% {
        transform: scale(1.45);
        opacity: 0;
    }

    100% {
        transform: scale(1.45);
        opacity: 0;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .whatsapp-float {
        right: 18px;
        bottom: 18px;
        width: 52px;
        height: 52px;
    }

    .whatsapp-float svg {
        width: 29px;
        height: 29px;
    }
}
