.cormorant_garamond_4dfb386f-module__tDsNwq__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_4dfb386f-module__tDsNwq__variable{--font-serif:"Cormorant Garamond", "Cormorant Garamond Fallback"}
.inter_1289ada2-module__rpEG6W__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_1289ada2-module__rpEG6W__variable{--font-sans:"Inter", "Inter Fallback"}
@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-space-y-reverse:0;--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-font-weight: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:var(--font-sans);--font-serif:var(--font-serif);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-md:12px;--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);--color-ink:#070c14;--color-ink-2:#0f1722;--color-bone:#eef1f5;--color-line:#2c3949;--color-gold:#b5822f;--color-gold-soft:#e8cd7a;--color-gold-deep:#8a5e22;--color-cream:#f6f3ec;--color-paper:#fff;--color-navy:#0f1722;--color-slate:#46535f;--color-mist:#e7e2d6}}@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,ui-sans-serif, system-ui, 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{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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/3{top:33.3333%}.top-4{top:calc(var(--spacing) * 4)}.-right-4{right:calc(var(--spacing) * -4)}.-right-40{right:calc(var(--spacing) * -40)}.-bottom-6{bottom:calc(var(--spacing) * -6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.-left-40{left:calc(var(--spacing) * -40)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-96{height:calc(var(--spacing) * 96)}.h-\[80svh\]{height:80svh}.h-\[82svh\]{height:82svh}.h-\[100svh\]{height:100svh}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:calc(var(--spacing) * 0)}.max-h-\[420px\]{max-height:420px}.min-h-\[420px\]{min-height:420px}.min-h-\[560px\]{min-height:560px}.min-h-\[640px\]{min-height:640px}.min-h-full{min-height:100%}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-96{width:calc(var(--spacing) * 96)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-\[6px\]{--tw-translate-y:calc(6px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[6px\]{--tw-translate-y:6px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[5px\]{gap:5px}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-7{row-gap:calc(var(--spacing) * 7)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-bone\/10{border-color:#eef1f51a}@supports (color:color-mix(in lab, red, red)){.border-bone\/10{border-color:color-mix(in oklab, var(--color-bone) 10%, transparent)}}.border-bone\/25{border-color:#eef1f540}@supports (color:color-mix(in lab, red, red)){.border-bone\/25{border-color:color-mix(in oklab, var(--color-bone) 25%, transparent)}}.border-gold-soft\/60{border-color:#e8cd7a99}@supports (color:color-mix(in lab, red, red)){.border-gold-soft\/60{border-color:color-mix(in oklab, var(--color-gold-soft) 60%, transparent)}}.border-gold\/30{border-color:#b5822f4d}@supports (color:color-mix(in lab, red, red)){.border-gold\/30{border-color:color-mix(in oklab, var(--color-gold) 30%, transparent)}}.border-gold\/40{border-color:#b5822f66}@supports (color:color-mix(in lab, red, red)){.border-gold\/40{border-color:color-mix(in oklab, var(--color-gold) 40%, transparent)}}.border-gold\/50{border-color:#b5822f80}@supports (color:color-mix(in lab, red, red)){.border-gold\/50{border-color:color-mix(in oklab, var(--color-gold) 50%, transparent)}}.border-line{border-color:var(--color-line)}.border-line\/40{border-color:#2c394966}@supports (color:color-mix(in lab, red, red)){.border-line\/40{border-color:color-mix(in oklab, var(--color-line) 40%, transparent)}}.border-line\/60{border-color:#2c394999}@supports (color:color-mix(in lab, red, red)){.border-line\/60{border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.border-line\/70{border-color:#2c3949b3}@supports (color:color-mix(in lab, red, red)){.border-line\/70{border-color:color-mix(in oklab, var(--color-line) 70%, transparent)}}.border-mist{border-color:var(--color-mist)}.bg-cream{background-color:var(--color-cream)}.bg-gold{background-color:var(--color-gold)}.bg-gold\/10{background-color:#b5822f1a}@supports (color:color-mix(in lab, red, red)){.bg-gold\/10{background-color:color-mix(in oklab, var(--color-gold) 10%, transparent)}}.bg-ink{background-color:var(--color-ink)}.bg-ink-2{background-color:var(--color-ink-2)}.bg-ink\/40{background-color:#070c1466}@supports (color:color-mix(in lab, red, red)){.bg-ink\/40{background-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.bg-ink\/85{background-color:#070c14d9}@supports (color:color-mix(in lab, red, red)){.bg-ink\/85{background-color:color-mix(in oklab, var(--color-ink) 85%, transparent)}}.bg-ink\/90{background-color:#070c14e6}@supports (color:color-mix(in lab, red, red)){.bg-ink\/90{background-color:color-mix(in oklab, var(--color-ink) 90%, transparent)}}.bg-ink\/95{background-color:#070c14f2}@supports (color:color-mix(in lab, red, red)){.bg-ink\/95{background-color:color-mix(in oklab, var(--color-ink) 95%, transparent)}}.bg-navy\/40{background-color:#0f172266}@supports (color:color-mix(in lab, red, red)){.bg-navy\/40{background-color:color-mix(in oklab, var(--color-navy) 40%, transparent)}}.bg-paper{background-color:var(--color-paper)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab, red, red)){.from-black\/60{--tw-gradient-from:color-mix(in oklab, var(--color-black) 60%, transparent)}}.from-black\/60{--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-gold{--tw-gradient-from:var(--color-gold);--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-gold-deep{--tw-gradient-from:var(--color-gold-deep);--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-ink{--tw-gradient-from:var(--color-ink);--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-navy\/85{--tw-gradient-from:#0f1722d9}@supports (color:color-mix(in lab, red, red)){.from-navy\/85{--tw-gradient-from:color-mix(in oklab, var(--color-navy) 85%, transparent)}}.from-navy\/85{--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-gold{--tw-gradient-via:var(--color-gold);--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-ink\/10{--tw-gradient-via:#070c141a}@supports (color:color-mix(in lab, red, red)){.via-ink\/10{--tw-gradient-via:color-mix(in oklab, var(--color-ink) 10%, transparent)}}.via-ink\/10{--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-ink\/55{--tw-gradient-via:#070c148c}@supports (color:color-mix(in lab, red, red)){.via-ink\/55{--tw-gradient-via:color-mix(in oklab, var(--color-ink) 55%, transparent)}}.via-ink\/55{--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-navy\/20{--tw-gradient-via:#0f172233}@supports (color:color-mix(in lab, red, red)){.via-navy\/20{--tw-gradient-via:color-mix(in oklab, var(--color-navy) 20%, transparent)}}.via-navy\/20{--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-gold-soft{--tw-gradient-to:var(--color-gold-soft);--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-ink\/40{--tw-gradient-to:#070c1466}@supports (color:color-mix(in lab, red, red)){.to-ink\/40{--tw-gradient-to:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.to-ink\/40{--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-transparent{--tw-gradient-to:transparent;--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))}.object-cover{object-fit:cover}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[2\.6rem\]{font-size:2.6rem}.text-\[2\.9rem\]{font-size:2.9rem}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.03\]{--tw-leading:1.03;line-height:1.03}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-bone{color:var(--color-bone)}.text-bone\/40{color:#eef1f566}@supports (color:color-mix(in lab, red, red)){.text-bone\/40{color:color-mix(in oklab, var(--color-bone) 40%, transparent)}}.text-bone\/45{color:#eef1f573}@supports (color:color-mix(in lab, red, red)){.text-bone\/45{color:color-mix(in oklab, var(--color-bone) 45%, transparent)}}.text-bone\/50{color:#eef1f580}@supports (color:color-mix(in lab, red, red)){.text-bone\/50{color:color-mix(in oklab, var(--color-bone) 50%, transparent)}}.text-bone\/55{color:#eef1f58c}@supports (color:color-mix(in lab, red, red)){.text-bone\/55{color:color-mix(in oklab, var(--color-bone) 55%, transparent)}}.text-bone\/60{color:#eef1f599}@supports (color:color-mix(in lab, red, red)){.text-bone\/60{color:color-mix(in oklab, var(--color-bone) 60%, transparent)}}.text-bone\/65{color:#eef1f5a6}@supports (color:color-mix(in lab, red, red)){.text-bone\/65{color:color-mix(in oklab, var(--color-bone) 65%, transparent)}}.text-bone\/70{color:#eef1f5b3}@supports (color:color-mix(in lab, red, red)){.text-bone\/70{color:color-mix(in oklab, var(--color-bone) 70%, transparent)}}.text-bone\/75{color:#eef1f5bf}@supports (color:color-mix(in lab, red, red)){.text-bone\/75{color:color-mix(in oklab, var(--color-bone) 75%, transparent)}}.text-bone\/80{color:#eef1f5cc}@supports (color:color-mix(in lab, red, red)){.text-bone\/80{color:color-mix(in oklab, var(--color-bone) 80%, transparent)}}.text-gold{color:var(--color-gold)}.text-gold-soft{color:var(--color-gold-soft)}.text-gold\/50{color:#b5822f80}@supports (color:color-mix(in lab, red, red)){.text-gold\/50{color:color-mix(in oklab, var(--color-gold) 50%, transparent)}}.text-gold\/60{color:#b5822f99}@supports (color:color-mix(in lab, red, red)){.text-gold\/60{color:color-mix(in oklab, var(--color-gold) 60%, transparent)}}.text-ink{color:var(--color-ink)}.text-navy{color:var(--color-navy)}.text-slate{color:var(--color-slate)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.shadow-\[0_20px_50px_-30px_rgba\(15\,23\,34\,0\.35\)\]{--tw-shadow:0 20px 50px -30px var(--tw-shadow-color,#0f172259);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_30px_70px_-40px_rgba\(15\,23\,34\,0\.5\)\]{--tw-shadow:0 30px 70px -40px var(--tw-shadow-color,#0f172280);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lux{--tw-shadow:0 30px 80px -40px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur-\[120px\]{--tw-blur:blur(120px);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-md{--tw-backdrop-blur:blur(var(--blur-md));-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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-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-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-\[1100ms\]{--tw-duration:1.1s;transition-duration:1.1s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-\[1\.06\]:is(:where(.group):hover *){scale:1.06}.group-hover\:text-gold-deep:is(:where(.group):hover *){color:var(--color-gold-deep)}}.placeholder\:text-bone\/30::placeholder{color:#eef1f54d}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-bone\/30::placeholder{color:color-mix(in oklab, var(--color-bone) 30%, transparent)}}@media (hover:hover){.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-gold:hover{border-color:var(--color-gold)}.hover\:border-gold\/60:hover{border-color:#b5822f99}@supports (color:color-mix(in lab, red, red)){.hover\:border-gold\/60:hover{border-color:color-mix(in oklab, var(--color-gold) 60%, transparent)}}.hover\:bg-gold\/10:hover{background-color:#b5822f1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-gold\/10:hover{background-color:color-mix(in oklab, var(--color-gold) 10%, transparent)}}.hover\:text-gold:hover{color:var(--color-gold)}.hover\:text-gold-deep:hover{color:var(--color-gold-deep)}.hover\:text-gold-soft:hover{color:var(--color-gold-soft)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-gold\/60:focus{border-color:#b5822f99}@supports (color:color-mix(in lab, red, red)){.focus\:border-gold\/60:focus{border-color:color-mix(in oklab, var(--color-gold) 60%, transparent)}}@media (min-width:40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-\[4\.5rem\]{height:4.5rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-28{padding-block:calc(var(--spacing) * 28)}.sm\:py-32{padding-block:calc(var(--spacing) * 32)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.4fr_1fr_1fr_1fr\]{grid-template-columns:1.4fr 1fr 1fr 1fr}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}}:root{--background:#070c14;--foreground:#eef1f5}html{scroll-behavior:smooth}body{background:var(--color-ink);color:var(--color-bone);font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{color:#fff;background:#c9a24b4d}.text-gradient-gold{background:linear-gradient(100deg, var(--color-gold-deep) 0%, var(--color-gold) 35%, var(--color-gold-soft) 55%, var(--color-gold) 75%, var(--color-gold-deep) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gold-rule{background:linear-gradient(90deg, transparent, var(--color-gold) 20%, var(--color-gold-soft) 50%, var(--color-gold) 80%, transparent)}.grain:before{content:"";pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.32em;font-size:.7rem;font-weight:500}.font-display{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;font-weight:500}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-font-weight{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}


:root{--font-serif:"Fraunces",Georgia,serif;--font-sans:"Hanken Grotesk",system-ui,sans-serif;}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans)}
section[id],#top{scroll-margin-top:80px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:#0f1722;color:#f6f3ec;padding:10px 16px;border-radius:0 0 4px 0}
.skip:focus{left:0}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid #e8cd7a;outline-offset:2px}

/* ---------- header ---------- */
.mast{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease}
.mast::before{content:"";position:absolute;inset:0 0 auto 0;height:150px;background:linear-gradient(180deg,rgba(7,12,20,.66),rgba(7,12,20,0));pointer-events:none;transition:opacity .4s ease;z-index:-1}
.mast.solid{background:rgba(15,23,34,.96);box-shadow:0 6px 24px rgba(0,0,0,.30)}
.mast.solid::before{opacity:0}

.mast-util{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  max-width:1280px;margin:0 auto;padding:14px 32px 12px;border-bottom:1px solid rgba(232,205,122,.22);
  transition:padding .35s ease,border-color .35s ease}
.mast.solid .mast-util{padding-top:9px;padding-bottom:6px;border-color:transparent}
/* the phone + email text fade on scroll; the centred logo persists and shrinks (demo2 signature) */
.mast.solid .util-l,.mast.solid .util-r{opacity:0;pointer-events:none;transition:opacity .3s ease}
.util-cell{display:flex;align-items:center;gap:.5em;color:#f6f3ec;font-size:.8rem;letter-spacing:.02em;min-width:0}
.util-cell .util-tx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.util-r{justify-content:flex-end}
.util-cell .ic{color:#e8cd7a;font-size:1rem}
.util-cell:hover{color:#e8cd7a}
.util-logo{justify-self:center;display:block}
.util-logo img{height:38px;width:auto;display:block;transition:height .4s ease}

.mast-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  max-width:1280px;margin:0 auto;padding:12px 32px}
.nav-links{display:flex;gap:6px;justify-content:center;align-items:center;list-style:none;margin:0;padding:0;grid-column:2}
.nav-links a{display:block;position:relative;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;
  color:#eef1f5;padding:8px 16px;transition:color .3s ease}
.nav-links a::after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:1px;background:#e8cd7a;
  transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav-links a:hover,.nav-links a.on{color:#e8cd7a}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1)}
.nav-right{grid-column:3;justify-self:end;display:flex;align-items:center}
.nav-pill{opacity:0;pointer-events:none;transform:translateX(6px);transition:opacity .35s ease,transform .35s ease;
  font-size:.72rem;letter-spacing:.08em;color:#e8cd7a;border:1px solid rgba(232,205,122,.55);border-radius:999px;padding:7px 15px;white-space:nowrap}
.mast.solid .nav-pill{opacity:1;pointer-events:auto;transform:none}
.mast.solid .util-logo img{height:28px}
.mast.solid .mast-nav{padding-top:8px;padding-bottom:10px}

.mast-mobile{display:none}
.mast-mobile{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 18px}
.m-call{color:#e8cd7a;font-size:1.35rem;text-decoration:none}
.m-logo{justify-self:center}
.m-logo img{height:34px;width:auto;display:block}
.m-burger{background:none;border:0;display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.m-burger span{width:24px;height:2px;background:#e8cd7a;display:block;transition:transform .3s,opacity .3s}

@media(max-width:1023px){
  .mast-util,.mast-nav{display:none}
  .mast{background:rgba(15,23,34,.98)}
  .mast::before{display:none}
  .mast-mobile{display:grid}
}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:120;display:flex;justify-content:flex-end;background:rgba(7,12,20,.6)}
.drawer.open{animation:fadein .25s ease}
.drawer-panel{width:min(300px,82vw);height:100%;background:#070c14;padding:76px 28px 32px;
  border-left:1px solid #2c3949;transform:translateX(14px);opacity:0;transition:transform .3s ease,opacity .3s ease;overflow-y:auto}
.drawer.open .drawer-panel{transform:none;opacity:1}
.drawer-close{position:absolute;top:18px;right:20px;background:none;border:0;color:#e8cd7a;font-size:2rem;line-height:1;cursor:pointer}
.drawer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.drawer-links a{display:block;color:#eef1f5;text-transform:uppercase;letter-spacing:.14em;font-size:.9rem;
  padding:14px 4px;border-bottom:1px solid rgba(44,57,73,.7);transition:color .2s}
.drawer-links a:hover{color:#e8cd7a}
.drawer-cta{margin-top:26px;display:flex;flex-direction:column;gap:14px;text-align:center}
.drawer-quote{background:linear-gradient(100deg,#8a5e22,#b5822f 40%,#e8cd7a);color:#070c14;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;padding:14px;border-radius:999px}
.drawer-cta > a:last-child{color:#e8cd7a;letter-spacing:.06em}
@keyframes fadein{from{opacity:0}to{opacity:1}}

/* ---------- scroll reveals (progressive enhancement) ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(24px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--d,0s)}
html.js [data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html.js [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important}
  html{scroll-behavior:auto}
  .mast-util,.util-logo img,.nav-pill{transition:none !important}
}

/* ---------- hero: 3-image Ken Burns crossfade ---------- */
.hero-slides{position:absolute;inset:0;z-index:0;background:#0a1119;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;will-change:opacity;animation:heroFade 21s infinite both}
.hero-slide:nth-child(2){animation-delay:7s}
.hero-slide:nth-child(3){animation-delay:14s}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center 45%;transform:scale(1.05);will-change:transform;animation:heroZoom 21s ease-in-out infinite both}
.hero-slide:nth-child(2) .hero-img{animation-delay:7s}
.hero-slide:nth-child(3) .hero-img{animation-delay:14s}
@keyframes heroFade{0%{opacity:0}4%{opacity:1}30%{opacity:1}34%{opacity:0}100%{opacity:0}}
@keyframes heroZoom{0%{transform:scale(1.04)}34%{transform:scale(1.13)}100%{transform:scale(1.13)}}
.hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(102deg, rgba(7,12,20,.90) 0%, rgba(7,12,20,.64) 30%, rgba(7,12,20,.18) 58%, rgba(7,12,20,.32) 100%),linear-gradient(to top, rgba(7,12,20,.6) 0%, rgba(7,12,20,0) 32%, rgba(7,12,20,.28) 100%)}
@media(max-width:640px){.hero-scrim{background:linear-gradient(to top, rgba(7,12,20,.72) 0%, rgba(7,12,20,.32) 45%, rgba(7,12,20,.5) 100%)}}

/* Fraunces: force lining, tabular figures so stats/badges read correctly */
.font-display,.text-gradient-gold{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
/* ---------- luxury polish ---------- */
#services .group{transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease,border-color .45s ease}
#services .group:hover{transform:translateY(-7px);box-shadow:0 32px 60px -30px rgba(15,23,34,.55);border-color:rgba(181,130,47,.5)}
#why .aspect-\[4\/5\] img{transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
#why .aspect-\[4\/5\]:hover img{transform:scale(1.05)}
html.js [data-reveal] .gold-rule{transform:scaleX(0);transform-origin:center;transition:transform .9s .2s cubic-bezier(.22,1,.36,1)}
html.js [data-reveal].in .gold-rule{transform:scaleX(1)}
.from-gold-deep{position:relative;overflow:hidden}
.from-gold-deep::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .6s ease;pointer-events:none}
.from-gold-deep:hover::after{left:130%}
@media(prefers-reduced-motion:reduce){
  .hero-slide,.hero-img{animation:none !important}
  .hero-slide:first-child{opacity:1}
  .hero-slide:not(:first-child){opacity:0}
  #services .group:hover{transform:none}
  html.js [data-reveal] .gold-rule{transform:none;transition:none}
  .from-gold-deep::after{display:none}
}

/* ---------- gold scroll-progress line ---------- */
.scrollbar{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;z-index:130;
  background:linear-gradient(90deg,#8a5e22,#b5822f 45%,#e8cd7a);box-shadow:0 0 10px rgba(232,205,122,.55);will-change:transform}

/* ---------- floating action buttons (logo gold) ---------- */
.fab-stack{position:fixed;right:24px;bottom:24px;z-index:95;display:flex;flex-direction:column;gap:14px;align-items:center}
.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:0;text-decoration:none;
  background:linear-gradient(140deg,#8a5e22 0%,#b5822f 45%,#e8cd7a 100%);
  box-shadow:0 12px 28px -10px rgba(7,12,20,.65),0 2px 6px rgba(7,12,20,.35),inset 0 1px 0 rgba(255,255,255,.25);
  position:relative;transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s ease,opacity .45s ease}
.fab svg{width:26px;height:26px;fill:#0a1119}
.fab:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 18px 38px -10px rgba(7,12,20,.75),0 3px 8px rgba(7,12,20,.4)}
.fab:active{transform:translateY(-1px) scale(1.02)}
.fab::before{content:attr(data-tip);position:absolute;right:66px;top:50%;transform:translateY(-50%) translateX(8px);
  background:rgba(15,23,34,.96);color:#f6f3ec;font-family:var(--font-sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  white-space:nowrap;padding:7px 13px;border-radius:7px;border:1px solid rgba(232,205,122,.4);
  opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.fab:hover::before{opacity:1;transform:translateY(-50%) translateX(0)}
.fab-wa::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(232,205,122,.55);
  animation:fabPulse 2.8s ease-out infinite;pointer-events:none}
@keyframes fabPulse{0%{transform:scale(.95);opacity:.7}70%{transform:scale(1.55);opacity:0}100%{opacity:0}}
.fab-top{opacity:0;pointer-events:none;transform:translateY(12px) scale(.9)}
.fab-top.show{opacity:1;pointer-events:auto;transform:none}
@media(max-width:640px){.fab-stack{right:16px;bottom:16px;gap:12px}.fab{width:50px;height:50px}.fab svg{width:24px;height:24px}.fab::before{display:none}}

/* ---------- special cursor (additive, freeze-proof) ---------- */
.cur-ring,.cur-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;opacity:0;will-change:transform}
.cur-ring{width:34px;height:34px;border:1.5px solid rgba(232,205,122,.85);border-radius:50%;
  transition:width .28s ease,height .28s ease,background-color .28s ease,border-color .28s ease}
.cur-dot{width:6px;height:6px;border-radius:50%;background:#e8cd7a}
.cur-ring.hot{width:54px;height:54px;background-color:rgba(232,205,122,.12);border-color:#e8cd7a}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce),(forced-colors:active){
  .cur-ring,.cur-dot{display:none !important}
}
@media(prefers-reduced-motion:reduce){.fab-wa::after{animation:none;display:none}.scrollbar{transition:none}}

/* ============ inner pages ============ */
.stretched-link{position:absolute;inset:0;z-index:4;border-radius:1rem}
#services .group{position:relative}

/* page hero banner */
.page-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;background:#0a1119}
.page-hero>.ph-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:heroZoom 24s ease-in-out infinite both}
.page-hero>.ph-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,12,20,.9) 0%,rgba(7,12,20,.6) 42%,rgba(7,12,20,.32) 100%),linear-gradient(to top,rgba(7,12,20,.75),rgba(7,12,20,0) 45%)}
.page-hero .ph-inner{position:relative;z-index:2;max-width:80rem;margin:0 auto;width:100%;padding:150px 20px 56px}
@media(min-width:640px){.page-hero .ph-inner{padding:170px 32px 64px}}
.crumb{display:flex;gap:.5rem;flex-wrap:wrap;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold-soft);margin-bottom:1.1rem}
.crumb a{color:var(--color-bone);opacity:.7;transition:opacity .2s,color .2s}
.crumb a:hover{opacity:1;color:var(--color-gold-soft)}
.crumb span{opacity:.5}
.page-hero h1{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em;color:var(--color-bone);font-size:clamp(2.4rem,5vw,4rem);line-height:1.04;max-width:16ch}
.page-hero .ph-sub{margin-top:1.1rem;max-width:44ch;color:rgba(238,241,245,.82);font-size:1.08rem;line-height:1.6}

/* feature rows (alternating image + text) */
.frow{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.frow{grid-template-columns:1fr 1fr;gap:4rem}.frow.rev .fr-media{order:2}}
.fr-media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:1rem;border:1px solid var(--color-mist)}
.fr-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.fr-media:hover img{transform:scale(1.05)}
section.bg-ink .fr-media,section.bg-ink-2 .fr-media{border-color:var(--color-line)}

/* check list */
.checks{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:1rem}
.checks li{display:flex;gap:.9rem;align-items:flex-start}
.checks .ck{margin-top:.15rem;flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(181,130,47,.5);color:var(--color-gold-soft);font-size:.8rem}
section.bg-cream .checks li{color:var(--color-slate)}
.checks li b{display:block;color:inherit;font-weight:600;margin-bottom:.1rem}
section.bg-cream .checks li b{color:#243}
section.bg-cream .checks b{color:var(--color-navy)}

/* numbered steps */
.steps{display:grid;gap:1.5rem;margin-top:2.5rem}
@media(min-width:768px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{position:relative;padding-top:1.2rem;border-top:1px solid var(--color-line)}
section.bg-cream .step{border-top-color:var(--color-mist)}
.step .n{font-family:var(--font-serif);font-variant-numeric:lining-nums tabular-nums;font-size:1.5rem;color:var(--color-gold);line-height:1}
.step h3{font-family:var(--font-serif);font-weight:500;font-size:1.25rem;margin:.5rem 0 .35rem}
.step p{font-size:.92rem;line-height:1.55;opacity:.8}

/* FAQ */
.faq{margin-top:2rem;border-top:1px solid var(--color-mist)}
section.bg-ink .faq,section.bg-ink-2 .faq{border-top-color:var(--color-line)}
.faq details{border-bottom:1px solid var(--color-mist);padding:0}
section.bg-ink .faq details,section.bg-ink-2 .faq details{border-bottom-color:var(--color-line)}
.faq summary{list-style:none;cursor:pointer;padding:1.25rem 2.5rem 1.25rem 0;position:relative;font-family:var(--font-serif);font-size:1.2rem;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:1.1rem;font-size:1.5rem;color:var(--color-gold);transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .fa-body{padding:0 0 1.4rem;max-width:70ch;line-height:1.65;opacity:.82;font-size:.98rem}

/* service index grid cards */
.svc-grid{display:grid;gap:1.25rem;margin-top:3rem;grid-template-columns:1fr}
@media(min-width:640px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.svc-grid{grid-template-columns:1fr 1fr 1fr}}
.svc-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:1rem;border:1px solid var(--color-mist);background:var(--color-paper);
  box-shadow:0 20px 50px -30px rgba(15,23,34,.35);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease,border-color .45s ease}
.svc-card:hover{transform:translateY(-7px);box-shadow:0 32px 60px -30px rgba(15,23,34,.55);border-color:rgba(181,130,47,.5)}
.svc-card .sc-img{aspect-ratio:3/2;overflow:hidden}
.svc-card .sc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.svc-card:hover .sc-img img{transform:scale(1.05)}
.svc-card .sc-body{padding:1.6rem}
.svc-card h3{font-family:var(--font-serif);font-weight:500;font-size:1.4rem;color:var(--color-navy)}
.svc-card p{margin-top:.5rem;font-size:.92rem;line-height:1.55;color:var(--color-slate)}
.svc-card .sc-more{margin-top:1rem;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold);display:flex;gap:.4rem;align-items:center}

/* gold pill CTA band */
.cta-band{position:relative;overflow:hidden}
.cta-band .cta-inner{max-width:52rem;margin:0 auto;text-align:center;padding:0 20px}
.btn-gold{display:inline-block;border-radius:999px;background:linear-gradient(100deg,var(--color-gold-deep),var(--color-gold) 40%,var(--color-gold-soft));
  color:var(--color-ink);font-family:var(--font-sans);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 34px;
  position:relative;overflow:hidden;transition:transform .3s ease}
.btn-gold:hover{transform:scale(1.02)}
.btn-gold::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);transition:left .6s ease}
.btn-gold:hover::after{left:130%}
.btn-outline{display:inline-block;border-radius:999px;border:1px solid rgba(238,241,245,.28);color:var(--color-bone);font-family:var(--font-sans);font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:15px 32px;transition:border-color .3s,color .3s}
.btn-outline:hover{border-color:var(--color-gold);color:var(--color-gold-soft)}

/* small prose helpers */
.lede-serif{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.3}
.rich p{line-height:1.75;margin-bottom:1.15rem}
.rich p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.page-hero>.ph-img{animation:none}}

/* ============ FIX: steps + FAQ text colour (was bone on cream = invisible) ============ */
.step h3{color:var(--color-navy)}
.step p{color:var(--color-slate);opacity:1}
.faq summary{color:var(--color-navy)}
.faq .fa-body{color:var(--color-slate);opacity:1}
section.bg-ink .step h3,section.bg-ink-2 .step h3{color:var(--color-bone)}
section.bg-ink .step p,section.bg-ink-2 .step p{color:rgba(238,241,245,.8)}
section.bg-ink .faq summary,section.bg-ink-2 .faq summary{color:var(--color-bone)}
section.bg-ink .faq .fa-body,section.bg-ink-2 .faq .fa-body{color:rgba(238,241,245,.82)}

/* ============ balanced service grid (4 on top, 4 on bottom) ============ */
@media(min-width:1024px){.svc-grid.g4{grid-template-columns:repeat(4,1fr)}}

/* ============ Services dropdown menu ============ */
.nav-links .has-dropdown{position:relative}
.nav-links .has-dropdown>a .caret{font-size:.6em;margin-left:.3em;opacity:.8;display:inline-block;transition:transform .3s ease}
.nav-links .has-dropdown:hover>a .caret,.nav-links .has-dropdown:focus-within>a .caret{transform:rotate(180deg)}
.nav-links .has-dropdown::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:16px}
.nav-links .dropdown{position:absolute;top:calc(100% + 6px);left:50%;min-width:238px;list-style:none;margin:0;padding:8px;
  background:rgba(15,23,34,.98);border:1px solid rgba(44,57,73,.9);border-radius:12px;
  box-shadow:0 24px 48px -14px rgba(0,0,0,.55);z-index:60;
  opacity:0;visibility:hidden;transform:translateX(-50%) translateY(8px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease}
.nav-links .has-dropdown:hover .dropdown,.nav-links .has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-links .dropdown li{display:block;margin:0}
.nav-links .dropdown a{display:block;padding:10px 14px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:#eef1f5;border-radius:7px;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
.nav-links .dropdown a::after{display:none}
.nav-links .dropdown a:hover{background:rgba(181,130,47,.16);color:#e8cd7a}
@media(max-width:1023px){.nav-links .dropdown{display:none}}

/* mobile drawer: services sublist */
.drawer-sub{list-style:none;margin:.2rem 0 .2rem;padding:0 0 0 .2rem}
.drawer-sub a{display:block;padding:9px 4px;color:rgba(238,241,245,.7);text-transform:none;letter-spacing:.04em;font-size:.82rem;border-bottom:1px solid rgba(44,57,73,.5)}
.drawer-sub a:hover{color:#e8cd7a}

/* reveal failsafe: if the reveal JS never runs, show everything after a moment (never leave text hidden) */
html.reveal-failsafe [data-reveal]{opacity:1 !important;transform:none !important;transition:opacity .4s ease}

/* ============ BRIGHTEN (client: "a bit too dark") ============ */
/* richer navy instead of near-black on all dark sections + footer + CTA */
section.bg-ink{background-color:#131d2b}
section.bg-ink-2{background-color:#1a2634}
.cta-band.bg-ink{background-color:#131d2b}
footer.bg-ink-2{background-color:#1a2634}
/* the dark contact form card + hero-condensed header sit on the darker end, nudge up too */
.rounded-3xl.bg-ink-2{background-color:#1b2736}
/* lighter hero scrims so the bright photos read through more */
.page-hero>.ph-scrim{background:
  linear-gradient(100deg, rgba(7,12,20,.80) 0%, rgba(7,12,20,.44) 44%, rgba(7,12,20,.10) 100%),
  linear-gradient(to top, rgba(7,12,20,.58), rgba(7,12,20,0) 46%)}
.hero-scrim{background:
  linear-gradient(102deg, rgba(7,12,20,.78) 0%, rgba(7,12,20,.42) 32%, rgba(7,12,20,.06) 60%, rgba(7,12,20,.22) 100%),
  linear-gradient(to top, rgba(7,12,20,.5) 0%, rgba(7,12,20,0) 34%, rgba(7,12,20,.2) 100%)}
@media(max-width:640px){
  .hero-scrim{background:linear-gradient(to top, rgba(7,12,20,.66) 0%, rgba(7,12,20,.28) 45%, rgba(7,12,20,.44) 100%)}
  .page-hero>.ph-scrim{background:linear-gradient(to top, rgba(7,12,20,.74) 0%, rgba(7,12,20,.34) 46%, rgba(7,12,20,.14) 100%)}
}


/* ============================================================
   REDESIGNED INNER SERVICE PAGE COMPONENTS
   ============================================================ */
.fig{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.bone-panel{background:#efe9dc}

/* --- shared chips --- */
.chip-fact{position:absolute;left:-14px;bottom:22px;background:rgba(246,243,236,.96);border:1px solid rgba(181,130,47,.55);
  color:var(--color-gold-deep);font-family:var(--font-sans);font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  padding:9px 16px;border-radius:999px;box-shadow:0 12px 28px -14px rgba(7,12,20,.5);white-space:nowrap}
.chip-cap{display:inline-block;font-family:var(--font-sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold-deep)}

/* --- intro editorial split (image left, asymmetric) --- */
.intro-split{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.intro-split{grid-template-columns:1.15fr .85fr;gap:4.5rem}}
.intro-media{position:relative}
.intro-media img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:1rem;border:1px solid var(--color-mist);
  box-shadow:0 40px 80px -50px rgba(7,12,20,.5);transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.intro-media:hover img{transform:scale(1.02)}
.intro-text .eyebrow{color:var(--color-gold)}
.intro-rule{display:block;width:52px;height:2px;margin:1rem 0 1.1rem;background:linear-gradient(90deg,var(--color-gold),var(--color-gold-soft));
  transform:scaleX(0);transform-origin:left;transition:transform .9s .15s cubic-bezier(.22,1,.36,1)}
html.js [data-reveal].in .intro-rule{transform:scaleX(1)}
.intro-h2{font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.01em}
@media(max-width:1023px){.chip-fact{left:12px}}

/* --- numeral card grid (What's included) --- */
.ncard-lead{margin-top:1rem;max-width:56ch;color:var(--color-slate)}
.ncard-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:640px){.ncard-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.ncard-grid{grid-template-columns:1fr 1fr 1fr}}
.ncard{position:relative;background:var(--color-cream);border:1px solid var(--color-mist);border-radius:1rem;padding:1.9rem 1.7rem 1.7rem;
  overflow:hidden;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease,border-color .45s ease}
.ncard::before{content:"";position:absolute;top:0;left:1.7rem;right:1.7rem;height:2px;background:linear-gradient(90deg,var(--color-gold),var(--color-gold-soft));
  transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.22,1,.36,1)}
html.js [data-reveal].in.ncard::before,html.js .ncard[data-reveal].in::before{transform:scaleX(1)}
.ncard:hover{transform:translateY(-6px);box-shadow:0 30px 55px -32px rgba(15,23,34,.5);border-color:rgba(181,130,47,.5)}
.ncard-n{font-family:var(--font-serif);font-size:2rem;font-weight:600;color:var(--color-gold);line-height:1;display:block;margin-bottom:.7rem}
.ncard-t{font-family:var(--font-serif);font-weight:600;font-size:1.3rem;color:var(--color-navy);line-height:1.2}
.ncard-d{margin-top:.5rem;font-size:.9rem;line-height:1.55;color:var(--color-slate)}

/* --- work band (full-bleed light photo + plate) --- */
.work-band{position:relative;width:100%;min-height:62vh;overflow:hidden;background:#0a1119}
.work-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.work-band::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,12,20,.34),rgba(7,12,20,0) 42%)}
.work-plate{position:absolute;left:clamp(20px,6vw,72px);bottom:clamp(20px,6vh,56px);z-index:2;
  background:rgba(246,243,236,.97);border:1px solid rgba(181,130,47,.28);border-radius:.9rem;padding:1.4rem 1.7rem;max-width:22rem;
  box-shadow:0 30px 60px -30px rgba(7,12,20,.6)}
.work-plate-t{font-family:var(--font-serif);font-weight:600;font-size:1.5rem;color:var(--color-navy);line-height:1.15;margin-top:.4rem}
@media(max-width:640px){.work-band{min-height:52vh}.work-plate{left:16px;right:16px;max-width:none}}

/* --- process timeline --- */
.tl-panel{background:rgba(231,226,214,.5);border:1px solid var(--color-mist);border-radius:1.5rem;padding:2.4rem 2rem}
@media(min-width:768px){.tl-panel{padding:3rem 3rem}}
.tl-grid{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.75rem}
@media(min-width:768px){.tl-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.tl-line{display:none}
@media(min-width:768px){.tl-line{display:block;position:absolute;top:20px;left:6%;right:6%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(181,130,47,.55) 8%,rgba(181,130,47,.55) 92%,transparent)}}
.tl-step{position:relative;padding-left:52px}
@media(min-width:768px){.tl-step{padding-left:0;padding-top:52px}}
.tl-node{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--color-gold-deep),var(--color-gold) 55%,var(--color-gold-soft));color:#0a1119;
  font-family:var(--font-serif);font-weight:600;font-size:1rem;box-shadow:0 6px 16px -6px rgba(181,130,47,.6)}
@media(min-width:768px){.tl-node{left:0}}
.tl-t{font-family:var(--font-serif);font-weight:600;font-size:1.2rem;color:var(--color-navy);margin-bottom:.3rem}
.tl-d{font-size:.9rem;line-height:1.55;color:var(--color-slate)}
/* mobile vertical spine */
@media(max-width:767px){.tl-grid::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:1px;background:rgba(181,130,47,.4)}}

/* --- why feature (dark, image right, 2x2 points) --- */
.why-feature{background:#1a2634;color:var(--color-bone)}
.wf-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.wf-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.wf-pts{margin-top:2rem;display:grid;grid-template-columns:1fr;gap:1.8rem}
@media(min-width:640px){.wf-pts{grid-template-columns:1fr 1fr;gap:2rem}}
.wf-rule{display:block;width:34px;height:2px;background:linear-gradient(90deg,var(--color-gold),var(--color-gold-soft));margin-bottom:.8rem}
.wf-t{font-family:var(--font-serif);font-weight:600;font-size:1.2rem;color:var(--color-bone);margin-bottom:.35rem}
.wf-d{font-size:.9rem;line-height:1.6;color:rgba(238,241,245,.72)}
.wf-media{order:-1}
@media(min-width:1024px){.wf-media{order:0}}
.wf-media img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;border-radius:1rem;border:1px solid var(--color-line);
  box-shadow:0 40px 80px -50px rgba(0,0,0,.7);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.wf-media:hover img{transform:scale(1.03)}
@media(min-width:1024px){.wf-media img{aspect-ratio:4/5;max-height:34rem;margin-left:auto}}

/* --- faq split --- */
.faqs-grid{display:grid;gap:2.5rem}
@media(min-width:1024px){.faqs-grid{grid-template-columns:minmax(0,22rem) 1fr;gap:3.5rem}}
.faqs-panel{background:rgba(231,226,214,.55);border:1px solid var(--color-mist);border-radius:1.25rem;padding:2rem 1.9rem;height:max-content}
.faqs-reassure{margin-top:1rem;font-size:.94rem;line-height:1.6;color:var(--color-slate)}
.faqs-cta{margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.faqs-tel{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.06em;color:var(--color-gold-deep);text-transform:uppercase}
.faqs-tel:hover{color:var(--color-gold)}
.faqs-list .faq{margin-top:0;border-top:0}

/* --- photographic CTA --- */
.cta-photo{position:relative;overflow:hidden;min-height:52vh;display:flex;align-items:center}
.cta-photo-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:heroZoom 26s ease-in-out infinite both}
.cta-photo-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,12,20,.72),rgba(15,22,33,.8))}
.cta-photo-inner{position:relative;z-index:2;max-width:52rem;margin:0 auto;text-align:center;padding:72px 20px;width:100%}
@media(prefers-reduced-motion:reduce){.cta-photo-img{animation:none}}

/* re-instated global overflow guard (was removed with the old trust-bar block) + timeline li colour */
html,body{overflow-x:clip}
.page-hero,.work-band,.cta-photo{max-width:100vw}
.tl-step{color:var(--color-slate)}

/* ============ larger inner banners + much bigger logo (client request) ============ */
.page-hero{min-height:90svh;min-height:90vh}
.page-hero .ph-inner{padding-bottom:66px}
@media(max-width:640px){.page-hero{min-height:84svh}}
/* much bigger logo */
.util-logo img{height:96px}
.mast.solid .util-logo img{height:72px}
.m-logo img{height:78px}
footer img.h-16{height:5rem}
/* give the taller logo room in the utility strip */
.mast-util{padding-top:16px;padding-bottom:14px}
.mast.solid .mast-util{padding-top:10px;padding-bottom:7px}

/* ============ homepage air conditioning teaser (coming September) ============ */
/* gold status chip on the image corner */
.chip-soon{position:absolute;left:-14px;top:20px;z-index:2;white-space:nowrap;
  background:linear-gradient(135deg,var(--color-gold-deep),var(--color-gold) 55%,var(--color-gold-soft));
  color:#0a1119;font-family:var(--font-sans);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:9px 16px;border-radius:999px;box-shadow:0 14px 30px -12px rgba(181,130,47,.75)}
@media(max-width:1023px){.chip-soon{left:12px}}
/* italic gold emphasis inside the Fraunces headline */
.ac-em{font-style:italic;color:var(--color-gold)}
/* benefit points */
.ac-pts{margin:1.7rem 0 0;padding:0;list-style:none;display:grid;gap:.9rem}
.ac-pt{position:relative;padding-left:2.1rem;font-size:.98rem;line-height:1.5;color:var(--color-navy)}
.ac-pt::before{content:"";position:absolute;left:0;top:.6em;width:1.4rem;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--color-gold),var(--color-gold-soft))}
/* register-interest call to action */
.ac-cta-row{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem}
.ac-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
  background:linear-gradient(90deg,var(--color-gold-deep),var(--color-gold) 55%,var(--color-gold-soft));color:#0a1119;
  padding:.95rem 2rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 16px 34px -18px rgba(181,130,47,.8);transition:transform .3s ease}
.ac-cta:hover{transform:translateY(-2px)}
.ac-alt{font-family:var(--font-sans);font-size:.85rem;letter-spacing:.01em;color:var(--color-slate)}
.ac-alt a{color:var(--color-gold-deep);text-decoration:underline;text-underline-offset:3px}
.ac-alt a:hover{color:var(--color-gold)}
.ac-micro{margin-top:1.1rem;font-size:.86rem;line-height:1.5;color:var(--color-slate)}

/* ============ logo clarity: subtle scrim behind the transparent masthead ============ */
.mast::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(7,12,20,.62) 0%,rgba(7,12,20,.34) 55%,rgba(7,12,20,0) 100%);
  opacity:1;transition:opacity .4s ease}
.mast.solid::before{opacity:0}

/* ============ performance: lighter hero images on small screens ============ */
@media(max-width:820px){
  .hero-slide:nth-child(1) .hero-img{background-image:url(/img/hero1-m.jpg) !important}
  .hero-slide:nth-child(2) .hero-img{background-image:url(/img/hero2-m.jpg) !important}
  .hero-slide:nth-child(3) .hero-img{background-image:url(/img/hero3-m.jpg) !important}
}

/* ============ usability: proper tap targets on mobile ============ */
.m-call{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-left:-6px}
.m-burger{min-width:44px;min-height:44px;align-items:center;justify-content:center;margin-right:-6px}
.fab{min-width:44px;min-height:44px}

/* outline button for use on light (cream/bone) sections */
.btn-outline-dark{display:inline-block;border-radius:999px;border:1px solid rgba(15,23,34,.28);color:var(--color-navy);
  font-family:var(--font-sans);font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  padding:15px 32px;transition:border-color .3s,color .3s,background .3s}
.btn-outline-dark:hover{border-color:var(--color-gold);color:var(--color-gold-deep)}

/* ============ mobile fixes: hero clear of the fixed header, FABs clear of the hero CTAs ============ */
/* short phones: stop the centred hero content sliding under the fixed header */
@media(max-width:820px){
  #top > .relative.z-10{padding-top:104px;padding-bottom:124px}
}
/* the hero already offers Call and Quote, so hold the floating buttons back until past it (phones only) */
@media(max-width:820px){
  .fab-stack{transition:opacity .3s ease,visibility .3s ease,transform .3s ease}
  .fab-stack.over-hero{opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none}
}
/* in-page anchors (e.g. /contact#enquire) must clear the fixed header */
:target{scroll-margin-top:120px}
#enquire{scroll-margin-top:120px}

/* short phones (e.g. iPhone SE): tighten the hero so headline + both CTAs fit above the fold */
@media(max-width:820px) and (max-height:700px){
  #top > .relative.z-10{padding-top:92px;padding-bottom:112px}
  #top h1{font-size:2.15rem;line-height:1.06}
  #top .max-w-2xl > p{margin-top:1rem;font-size:.98rem;line-height:1.5}
  #top .mt-10{margin-top:1.35rem}
  #top .mb-6{margin-bottom:1rem}
}

/* pages without a hero banner must clear the fixed header */
.plain-top{padding-top:190px}
@media(max-width:1023px){.plain-top{padding-top:130px}}

/* touch target: the header phone pill is tapped on iPad landscape, so keep it >=44px */
.nav-pill{min-height:44px;display:inline-flex;align-items:center}

/* iPad landscape and other short desktop-width viewports: keep the hero clear of the taller header */
@media(min-width:1024px) and (max-height:820px){
  #top > .relative.z-10{padding-top:210px;padding-bottom:28px}
}

/* ============ footer social icons ============ */
.social-row{display:flex;gap:.65rem;margin-top:1.4rem}
.social-ico{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;border:1px solid rgba(232,205,122,.35);color:var(--color-gold-soft);
  transition:border-color .3s ease,color .3s ease,background .3s ease}
.social-ico svg{width:19px;height:19px;fill:currentColor}
.social-ico:hover{border-color:var(--color-gold-soft);color:var(--color-ink);background:var(--color-gold-soft)}

/* keep the footer legal line clear of the floating action buttons */
@media(min-width:641px){
  footer .border-t\/70 > div, footer > div:last-child > div{padding-right:96px}
}

/* WCAG AA: footer small print needs 4.5:1 on the dark footer */
footer .border-t .mx-auto.flex.max-w-7xl{color:rgba(238,241,245,.72)}
footer .border-t .mx-auto.flex.max-w-7xl .text-gold\/60{color:rgba(232,205,122,.82)}


/* ============ 9 services: rows of 3, never a short row ============ */
/* the compiled Tailwind has no lg:grid-cols-3, and its sm:grid-cols-2 would leave 9 tiles ragged */
#services .mt-16.grid{grid-template-columns:1fr}
@media(min-width:640px){#services .mt-16.grid{grid-template-columns:repeat(3,1fr)}}

/* --- hero eyebrow: centred lockup with a matching gold rule either side --- */
.eyebrow-lockup{display:flex;align-items:center;justify-content:center;gap:1rem}
.eyebrow-lockup .eb-rule{height:1px;width:3rem;flex:0 0 3rem}
.eyebrow-lockup .eb-rule-l{background:linear-gradient(to right,var(--color-gold),transparent)}
.eyebrow-lockup .eb-rule-r{background:linear-gradient(to right,transparent,var(--color-gold))}
/* Phones: keep the lockup on ONE line. If it wraps, the rules strand at the edges
   and the extra line pushes the centred hero copy up behind the masthead. */
@media(max-width:560px){
  .eyebrow-lockup{gap:.5rem}
  .eyebrow-lockup .eb-rule{width:1.2rem;flex:0 0 1.2rem}
  .eyebrow-lockup .eyebrow{font-size:.6rem;letter-spacing:.16em;white-space:nowrap}
}

/* --- larger logo (vector, so it stays sharp); trim header padding so the
       masthead grows far less than the logo does --- */
.util-logo img{height:132px}
.mast.solid .util-logo img{height:94px}
.mast-util{padding-top:8px;padding-bottom:8px}
.mast.solid .mast-util{padding-top:6px;padding-bottom:5px}
footer img[src*="logo"]{height:88px;width:auto}

/* The masthead is taller now the logo is larger, so keep page content clear of it.
   Scoped to min-height so the existing short-screen rule still owns that case. */
@media(min-width:1024px) and (min-height:821px){
  #top > .relative.z-10{padding-top:100px}
}
.plain-top{padding-top:248px}
@media(max-width:1023px){.plain-top{padding-top:130px}}
/* Tablet: step the logo down a little so the email address still fits beside it. */
@media(min-width:821px) and (max-width:1180px){
  .util-logo img{height:104px}
  .mast.solid .util-logo img{height:78px}
}

/* Phone hero: padding-bottom used to exceed padding-top, which pulls the
   vertically-centred hero copy UPWARDS, so on short/narrow phones the eyebrow
   ended up behind the masthead. Weight the padding to the top instead. */
@media(max-width:820px){
  #top > .relative.z-10{padding-top:152px;padding-bottom:104px}
}
@media(max-width:820px) and (max-height:700px){
  #top > .relative.z-10{padding-top:132px;padding-bottom:88px}
}

/* ---- Phone / mail icons -------------------------------------------------
   These were the characters U+260E and U+2709. iOS and Android substitute the
   colour emoji for them, so the phone showed up as a red rotary handset on real
   devices even though desktop rendered it gold. Inline SVG cannot be swapped
   out by an emoji font, and inherits the gold via currentColor. */
.ico{width:1em;height:1em;fill:currentColor;display:block;flex:none}
.m-call .ico{width:23px;height:23px}
.util-cell .ic .ico{width:15px;height:15px}
.nav-pill .ico{width:14px;height:14px;margin-right:.55em}

/* ---- Mobile rolling carousels ------------------------------------------
   Each item carries its own trailing margin rather than relying on flex gap,
   because gap is not applied after the last child and the loop seam would jump.
   Two identical sets + translateX(-50%) gives a continuous roll. */
.tb-marquee,.ar-marquee{display:none}
@keyframes tvh-roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(max-width:639px){
  .tb-row{display:none}
  .tb-marquee{display:block;overflow:hidden;padding:14px 0}
  .tb-track{display:flex;width:max-content;animation:tvh-roll 22s linear infinite}
  .tb-set{display:flex;flex:none}
  .tb-i,.tb-sep{flex:none;white-space:nowrap;font-size:.68rem;text-transform:uppercase;
    letter-spacing:.2em;color:rgba(238,241,245,.68);margin-right:1.5rem}
  .tb-sep{color:rgba(232,205,122,.55)}

  .ar-row{display:none}
  .ar-marquee{display:block;overflow:hidden;margin:3rem -1.25rem 0;padding:8px 0}
  .ar-track{display:flex;width:max-content;animation:tvh-roll 30s linear infinite}
  .ar-set{display:flex;flex:none}
  .ar-pill{flex:none;display:inline-block;white-space:nowrap;margin-right:.75rem;
    min-height:44px;line-height:1.5}
  /* No lead-in margin on the first pill: it would make set 1 wider than set 2
     and translateX(-50%) would jump at the seam. */
  .ar-marquee:hover .ar-track,.ar-marquee:focus-within .ar-track{animation-play-state:paused}
}

/* Reduced motion: fall back to the original static rows rather than a frozen
   marquee, which would clip everything after the first item or two. */
@media(max-width:639px) and (prefers-reduced-motion:reduce){
  .tb-row{display:flex}.tb-marquee{display:none}
  .ar-row{display:flex}.ar-marquee{display:none}
}

/* ---- Footer: Explore and Services side by side below desktop ------------ */
@media(min-width:380px) and (max-width:1023px){
  footer > .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.5rem}
  footer > .grid > div:first-child,
  footer > .grid > div:last-child{grid-column:1 / -1}
}

/* Footer links were only ~18px tall on phones: cramped to read and to tap.
   Give each a proper 38px target and tighten the gap so the column does not
   get taller. The !important overrides Tailwind's space-y-3, which has the
   higher specificity of the two. */
@media(max-width:1023px){
  footer ul a{display:flex;align-items:center;min-height:38px;line-height:1.3}
  footer ul > li + li{margin-top:.15rem !important}
  footer ul > li{line-height:1.3}
}

/* ---- Mobile drawer: Services collapses behind a chevron ------------------ */
.drawer-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(44,57,73,.7)}
.drawer-row > a{flex:1;border-bottom:0 !important}
.drawer-toggle{flex:none;background:none;border:0;color:#e8cd7a;cursor:pointer;
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.drawer-toggle .chev{width:18px;height:18px;fill:currentColor;display:block;
  transition:transform .28s ease}
.drawer-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.drawer-sub[hidden]{display:none}
.drawer-sub{max-height:0;overflow:hidden;transition:max-height .32s ease}
.drawer-sub.open{max-height:640px}

/* ---- Mobile banners --------------------------------------------------------
   A 16:9 photo in an 84svh box on a phone showed only ~31% of its width, and
   scale(1.04) plus the heroZoom animation cropped it further, so the subject
   was unrecognisable. Drop the forced height and the extra scaling on phones. */
@media(max-width:640px){
  .page-hero{min-height:0}
  .page-hero .ph-inner{padding:118px 20px 30px}
  .page-hero > .ph-img{transform:none;animation:none;background-position:center 45%}
  .cta-photo-img{transform:none;animation:none}
}

/* ---- Footer tidy: centred brand block, Services before Explore ----------- */
@media(max-width:1023px){
  footer > .grid{align-items:start}
  footer > .grid > div:nth-child(1){grid-column:1 / -1;grid-row:1;text-align:center}
  footer > .grid > div:nth-child(1) img{margin-left:auto;margin-right:auto}
  footer > .grid > div:nth-child(1) p{margin-left:auto;margin-right:auto}
  /* Services (10 links) is far taller than Explore (6), so let it span two rows
     and tuck Get in touch into the space beside it instead of leaving a hole. */
  footer > .grid > div:nth-child(3){grid-column:1;grid-row:2 / span 2}  /* Services */
  footer > .grid > div:nth-child(2){grid-column:2;grid-row:2}           /* Explore  */
  footer > .grid > div:nth-child(4){grid-column:2;grid-row:3}           /* Get in touch */
  /* The email has no spaces to break on and the column is narrow, so it would
     run off the screen edge and get clipped. Let it wrap. */
  footer ul a{overflow-wrap:anywhere}
  footer ul li{overflow-wrap:anywhere}
}

/* ---- Mobile header: no phone icon, logo runs across the bar --------------
   Two columns now (logo | burger). The logo fills the free width rather than
   sitting at a fixed height, capped so it cannot get absurd on a large phone
   or tablet. Available width is viewport - 36px padding - 44px burger - 12px
   gap, so the cap of 308px keeps the logo at most 96px tall. */
.mast-mobile{grid-template-columns:1fr auto}
.m-logo{justify-self:start;min-width:0;width:100%;max-width:308px}
.m-logo img{width:100%;height:auto;max-width:100%;display:block}
/* the taller logo makes the bar taller, so keep banner copy clear of it */
@media(max-width:640px){
  .page-hero .ph-inner{padding-top:130px}
}

/* The wider logo makes the mobile bar ~7px taller, and on a 360x780 phone the
   hero copy no longer fits between it and the trust bar. Tighten the gaps
   between the hero elements slightly and weight the padding further to the top. */
@media(max-width:420px){
  #top .max-w-2xl .mb-6{margin-bottom:1rem}
  #top .max-w-2xl .mt-7{margin-top:1.25rem}
  #top .max-w-2xl .mt-10{margin-top:1.75rem}
}
@media(max-width:820px){
  #top > .relative.z-10{padding-top:167px;padding-bottom:104px}
}
/* Short phones: only ~16px of slack between the bar and the trust strip, so
   split it evenly instead of leaving 1px at the bottom. Must come after the
   rule above, which also matches these viewports. */
@media(max-width:820px) and (max-height:700px){
  #top > .relative.z-10{padding-top:160px;padding-bottom:111px}
}
