/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&family=Roboto:wght@400;500;700&display=swap";@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-divide-y-reverse:0;--tw-border-style:solid;--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-outline-style:solid;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--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-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--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);--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--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-primary:#b3146d;--color-ink:#3e3e3e;--color-section:#f6f7fa;--font-heading:"Roboto", arial, sans-serif;--font-body:"Open Sans", arial, sans-serif}}@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;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}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-0{top:0}.top-full{top:100%}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.z-30{z-index:30}.z-40{z-index:40}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-1{margin-top:var(--spacing)}.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-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-1{margin-bottom:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-0\.5{height:calc(var(--spacing) * .5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-28{height:calc(var(--spacing) * 28)}.h-52{height:calc(var(--spacing) * 52)}.h-\[2px\]{height:2px}.h-\[18px\]{height:18px}.h-\[88px\]{height:88px}.h-auto{height:auto}.h-full{height:100%}.max-h-36{max-height:calc(var(--spacing) * 36)}.min-h-\[220px\]{min-height:220px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.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-\[800px\]{max-width:800px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1200px\]{max-width:1200px}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-72{min-width:calc(var(--spacing) * 72)}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.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)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-black\/10>:not(:last-child)){border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){:where(.divide-black\/10>:not(:last-child)){border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.overflow-hidden{overflow:hidden}.rounded-\[5px\]{border-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[\#e1e1e1\]{border-color:#e1e1e1}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-white{border-color:var(--color-white)}.bg-\[\#f3f3f3\]{background-color:#f3f3f3}.bg-\[\#f9f9f9\]{background-color:#f9f9f9}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-section{background-color:var(--color-section)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-current{fill:currentColor}.fill-primary{fill:var(--color-primary)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.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-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.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-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.font-body{font-family:var(--font-body)}.font-heading{font-family:var(--font-heading)}.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-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-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[26px\]{font-size:26px}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[1px\]{--tw-tracking:1px;letter-spacing:1px}.tracking-\[2px\]{--tw-tracking:2px;letter-spacing:2px}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[\#444\]{color:#444}.text-\[\#666\]{color:#666}.text-\[\#cccccc\]{color:#ccc}.text-ink{color:var(--color-ink)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.shadow{--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)}.shadow-\[0_0_25px_rgba\(170\,170\,170\,0\.25\)\]{--tw-shadow:0 0 25px var(--tw-shadow-color,#aaaaaa40);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:inline:is(:where(.group):is([open],:popover-open,:open) *){display:inline}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-\[\#666\]::placeholder{color:#666}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-white:hover{color:var(--color-white)}}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:contents{display:contents}.md\:hidden{display:none}.md\:h-\[140px\]{height:140px}.md\:min-h-\[280px\]{min-height:280px}.md\:min-h-\[560px\]{min-height:560px}.md\:min-h-\[620px\]{min-height:620px}.md\:w-28{width:calc(var(--spacing) * 28)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-5{padding-block:calc(var(--spacing) * 5)}.md\:py-11{padding-block:calc(var(--spacing) * 11)}.md\:py-14{padding-block:calc(var(--spacing) * 14)}.md\:py-18{padding-block:calc(var(--spacing) * 18)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pb-5{padding-bottom:calc(var(--spacing) * 5)}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-\[18px\]{font-size:18px}.md\:text-\[26px\]{font-size:26px}.md\:text-\[32px\]{font-size:32px}.md\:tracking-\[2px\]{--tw-tracking:2px;letter-spacing:2px}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-14{padding-inline:calc(var(--spacing) * 14)}.lg\:py-20{padding-block:calc(var(--spacing) * 20)}}}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-body);color:var(--color-ink);background:#fff;font-size:18px;line-height:1.6;overflow-x:clip}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1}h1{overflow-wrap:break-word;font-size:40px}h2{font-size:32px}h3{font-size:26px}h4,h5{font-family:var(--font-body);line-height:1}@media (min-width:768px){h1{font-size:72px}h2{font-size:42px}h3{font-size:32px}}a{text-decoration:none}.article-body h2{margin-top:2rem}.article-body h3{margin-top:1.5rem}.article-body p,.article-body ul{margin-top:1rem;font-size:18px;line-height:1.6}.article-body ul{padding-left:1.5rem;list-style:outside}.article-body a{color:var(--color-primary);text-decoration:underline}.article-body strong{font-weight:700}details summary::-webkit-details-marker{display: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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@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}
/* Narrow fixes preserve the handed-off design while adding keyboard access. */
.trinity-story { max-width: 920px; margin: auto; padding: 48px 24px 64px; }
.trinity-story-heading { max-width: 800px; margin: 0 auto 32px; }
.trinity-story-heading > a, .trinity-story-back a { color: var(--color-primary, #229bc7); text-decoration: underline; text-underline-offset: 4px; }
.trinity-story h1 { margin: 18px 0; font-size: clamp(32px, 4.5vw, 49px); line-height: 1.15; }
.trinity-story-heading > p { font-size: 19px; line-height: 1.65; }
.trinity-story-heading .trinity-story-byline { margin-top: 18px; font-size: 13px; color: #5a626c; }
.trinity-story-photo { margin: 0 auto 36px; }
.trinity-story-photo img { display: block; width: 100%; height: auto; }
.trinity-story-photo figcaption { padding-top: 9px; font-size: 13px; line-height: 1.5; color: #5a626c; }
.trinity-story-copy { max-width: 740px; margin: auto; font-size: 18px; line-height: 1.8; }
.trinity-story-copy p { margin: 0 0 22px; }
.trinity-story-copy h2 { margin: 38px 0 18px; font-size: 29px; line-height: 1.3; }
.trinity-story-detail { max-width: 480px; margin-top: 32px; }
.trinity-story-contact { max-width: 740px; margin: 38px auto 24px; border-top: 2px solid #f12cac; padding-top: 24px; font-size: 18px; line-height: 1.8; }
.trinity-story-contact a { color: #147a9d; text-decoration: underline; white-space: nowrap; }
.trinity-story-back { max-width: 740px; margin: auto; }
.trinity-guide-photo { max-width: 740px; margin: 28px auto 38px; }
.trinity-guide-photo img { height: 320px; object-fit: cover; object-position: center 68%; }
.trinity-guide-related { max-width: 740px; margin: 34px auto 0; padding: 16px 20px; background: #f5f6fa; border-left: 3px solid #f12cac; line-height: 1.65; }
.trinity-guide-related a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) { .trinity-guide-photo img { height: 250px; } }
@media (max-width: 600px) { .trinity-story { padding: 30px 20px 40px; } .trinity-story-copy, .trinity-story-contact { font-size: 17px; } }
[hidden] { display: none !important; }

.skip-link { position: absolute; left: 1rem; top: -6rem; z-index: 100; padding: 0.75rem 1rem; color: #fff; background: #111; }
.skip-link:focus { top: 1rem; }

:where(a, button, input, textarea, summary):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

.desktop-services:focus-within > ul,
.desktop-services[data-open="true"] > ul {
  visibility: visible;
  opacity: 1;
}

.desktop-services[data-dismissed="true"] > ul {
  visibility: hidden;
  opacity: 0;
}

.review-badge { min-width: 0; }
.review-badge img { max-width: 100%; }
.review-badge img:last-child { width: min(20rem, 100%); height: auto; }

.quote-honeypot {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

[data-quote-form] input,
[data-quote-form] textarea { min-width: 0; }
[data-quote-status] { overflow-wrap: anywhere; }
[data-quote-status][data-state="error"] { color: #fca5a5; margin-top: 1rem; font-size: 0.875rem; }
[data-quote-status][data-state="success"] { margin-top: 2rem; padding: 1.5rem; text-align: center; background: rgb(255 255 255 / 0.1); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Dark, mobile-first visual refresh. Keep the existing routes and form behavior. */
body {
  color: #24303c;
  background: #fff;
}
h1, h2, h3 {
  letter-spacing: -0.025em;
}
a, button, summary {
  -webkit-tap-highlight-color: transparent;
}
.site-header {
  position: relative;
  z-index: 50;
  background: #101821;
  box-shadow: 0 2px 18px rgb(0 0 0 / .15);
}
.site-header > div:first-child {
  min-height: 88px;
  padding-top: .65rem;
  padding-bottom: .65rem;
}
.site-header a[href="/"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: filter .2s ease, transform .2s ease;
}
.site-header a[href="/"]:hover,
.site-header a[href="/"]:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.14);
}
.site-header img {
  height: 98px;
  width: auto;
  filter: brightness(1.3) contrast(1.08) drop-shadow(0 2px 3px rgb(0 0 0 / .55));
}
.site-header a[href^="tel:"] {
  border-radius: 7px;
}
.site-header a[href="/#quote"] {
  border-radius: 7px;
}
.site-header button[data-menu-toggle] {
  border: 1px solid rgb(255 255 255 / .35);
  border-radius: 7px;
}
.site-header button[data-menu-toggle]:hover,
.site-header button[data-menu-toggle][aria-expanded="true"] {
  background: rgb(255 255 255 / .12);
}
.site-header #mobile-navigation {
  border-top: 1px solid rgb(255 255 255 / .18);
  background: #172330;
}
.site-header #mobile-navigation a,
.site-header #mobile-navigation button {
  display: block;
  padding: .25rem 0;
}
.site-main-nav {
  position: relative;
  z-index: 40;
  border-top: 1px solid rgb(255 255 255 / .08);
  border-bottom: 3px solid #b3146d;
  background: #192431;
}
.site-main-nav > div > ul > li > a {
  padding: 1rem 1.35rem;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .09em;
}
.site-main-nav > div > ul > li > a:hover,
.site-main-nav > div > ul > li > a:focus-visible {
  color: #fff;
  background: rgb(255 255 255 / .12);
}
.site-main-nav .desktop-services > ul {
  border: 1px solid #d9dfe5;
  border-top: 3px solid #b3146d;
  border-radius: 0 0 7px 7px;
  box-shadow: 0 16px 36px rgb(8 19 30 / .18);
}
.mobile-action-bar {
  display: none;
}
[data-site-hero] {
  min-height: 560px;
  background-position: center 44%;
}
[data-site-hero] > div:first-child {
  background: linear-gradient(90deg, rgb(9 18 28 / .94) 0%, rgb(9 18 28 / .84) 44%, rgb(9 18 28 / .38) 100%);
}
[data-site-hero] > div:nth-child(2) {
  max-width: 1200px;
  padding-top: 5.5rem;
  padding-bottom: 5.5rem;
}
[data-site-hero] h1 {
  max-width: 16ch;
  font-size: clamp(2.7rem, 5.2vw, 4.65rem);
  font-weight: 700;
  line-height: 1.06;
  text-wrap: balance;
}
[data-site-hero] .text-center h1 {
  margin-inline: auto;
}
[data-site-hero] h1 .text-primary {
  color: #ff73bb;
}
[data-site-hero] p {
  max-width: 38rem;
  line-height: 1.5;
}
[data-site-hero] .text-center > p {
  margin-inline: auto;
}
[data-site-hero] .hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .8rem;
}
[data-site-hero] .text-left .hero-actions {
  justify-content: flex-start;
}
[data-site-hero] .hero-actions a {
  min-width: 10.5rem;
  border-radius: 7px;
  padding: .9rem 1.4rem;
  font-size: 1rem;
  letter-spacing: .04em;
  box-shadow: 0 8px 24px rgb(0 0 0 / .2);
}
[data-site-hero] .hero-actions a.bg-transparent {
  border: 2px solid rgb(255 255 255 / .9);
}
[data-value-props] {
  background: #131f2b;
}
[data-value-props] > div {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
[data-value-props] > div > div {
  min-width: 0;
  padding: 1.8rem 1.25rem;
  background: #131f2b;
  border-top: 3px solid #b3146d;
  border-right: 1px solid rgb(255 255 255 / .12);
}
[data-value-props] > div > div:last-child {
  border-right: 0;
}
[data-value-props] h3 {
  font-size: 1.15rem;
  line-height: 1.18;
  letter-spacing: .04em;
}
[data-value-props] p {
  max-width: 18rem;
  margin-inline: auto;
  color: #d5dce4;
  font-size: .93rem;
  line-height: 1.4;
}
.recovery-card,
.service-card {
  border: 1px solid #e2e6eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 32px rgb(23 35 48 / .07);
}
.recovery-card {
  padding: 1.65rem;
}
.service-card {
  transition: transform .2s ease, box-shadow .2s ease;
}
a.service-card:hover,
a.service-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgb(23 35 48 / .15);
}
.service-card h3,
.recovery-card h3 {
  line-height: 1.16;
}
.section-kicker {
  margin-bottom: .55rem;
  color: #b3146d;
  font: 700 .8rem var(--font-heading);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.home-services-compact {
  background: #14202c;
  color: #fff;
}
.home-services-compact .section-kicker { color: #ff91c8; }
.home-services-heading h2 {
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.45rem);
  line-height: 1.1;
}
.home-services-footer {
  margin-top: 1.15rem;
  text-align: center;
}
.home-services-all {
  display: inline-block;
  padding: .3rem 0;
  color: #d5dde5;
  font: 600 .78rem var(--font-heading);
  line-height: 1.4;
}
.home-services-all:hover,
.home-services-all:focus-visible { color: #ff91c8; text-decoration: underline; text-underline-offset: 3px; }
.home-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: .75rem;
  margin-top: 1.25rem;
}
.home-service-link {
  display: grid;
  grid-template-columns: 3.7rem minmax(0, 1fr);
  min-height: 5.1rem;
  align-items: center;
  gap: .65rem;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  padding: .55rem .7rem;
  background: #1e2d3b;
  color: #fff;
  font: 600 .98rem/1.24 var(--font-heading);
  transition: background .2s ease, transform .2s ease;
}
.home-service-link::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--color-primary);
}
.home-service-link img {
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 5px;
  object-fit: cover;
  object-position: center 60%;
}
.home-service-link:nth-child(3) img { object-position: center 43%; }
.home-service-link:nth-child(4) img { object-position: center 72%; }
.home-service-link:hover,
.home-service-link:focus-visible { background: #2a3b4b; transform: translateY(-2px); }
.home-service-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.google-reviews-section { background: #f6f7fa; }
.google-reviews-heading { text-align: center; }
.google-reviews-heading h2 { line-height: 1.1; }
.google-reviews-heading p:not(.section-kicker) { margin-top: .8rem; color: #546170; font-size: 1rem; line-height: 1.5; }
.google-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.8rem; }
.google-review-card { display: flex; min-height: 12.5rem; flex-direction: column; border: 1px solid #e3e8ed; border-radius: 9px; padding: 1.15rem 1.25rem; background: #fff; box-shadow: 0 8px 24px rgb(23 35 48 / .045); }
.google-review-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.google-review-stars { color: #bb176c; font-size: 1rem; letter-spacing: .13em; line-height: 1; }
.google-review-source { color: #687482; font-size: .7rem; font-weight: 700; white-space: nowrap; text-decoration: none; }
.google-review-source:hover, .google-review-source:focus-visible { color: #b3146d; text-decoration: underline; }
.google-review-text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; margin: 1.05rem 0 1.1rem; color: #263544; font-size: .97rem; line-height: 1.5; }
.google-review-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; margin-top: auto; border-top: 1px solid #edf0f3; padding-top: .75rem; color: #5b6672; font-size: .78rem; }
.google-review-author { overflow: hidden; color: #14202c; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.google-reviews-all { display: table; margin: 1.25rem auto 0; padding: .35rem 0; color: #b3146d; font: 700 .86rem var(--font-heading); }
.google-reviews-all:hover,
.google-reviews-all:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .home-services-heading h2 { max-width: 18ch; }
  .home-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-service-link { grid-template-columns: minmax(0, 1fr); grid-template-rows: 3.8rem minmax(2.4rem, auto); min-height: 7.9rem; gap: .55rem; padding: .65rem; font-size: .92rem; text-align: center; }
  .home-service-link img { width: 100%; height: 3.8rem; }
  .google-review-grid { grid-template-columns: 1fr; gap: .75rem; margin-top: 1.4rem; }
  .google-review-card { min-height: 9.5rem; padding: 1rem 1.1rem; }
  .google-review-text { -webkit-line-clamp: 3; margin: .8rem 0; }
}
.services-page-hero {
  display: flex;
  min-height: 390px;
  align-items: center;
  background-position: center 55%;
  background-size: cover;
  color: #fff;
}
.services-page-hero .section-kicker { color: #ff91c8; }
.services-page-hero h1 { max-width: 17ch; font-size: clamp(2.5rem, 5vw, 4.4rem); line-height: 1.05; }
.services-page-hero p:not(.section-kicker) { max-width: 42rem; margin-top: 1.3rem; font-size: 1.08rem; line-height: 1.6; }
.services-page-intro { max-width: 44rem; margin-top: 1.1rem; font-size: 1.08rem; line-height: 1.6; }
.services-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
.services-page-card {
  scroll-margin-top: 1.5rem;
  border: 1px solid #dfe5eb;
  border-radius: 8px;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  background: #fff;
  box-shadow: 0 10px 26px rgb(23 35 48 / .05);
}
.services-page-number { color: #b3146d; font: 700 .9rem var(--font-heading); letter-spacing: .14em; }
.services-page-card h3 { margin-top: 1.1rem; line-height: 1.16; }
.services-page-card p { margin-top: 1rem; font-size: 1rem; line-height: 1.65; }
.services-page-card ul { display: grid; gap: .5rem; margin-top: 1.3rem; }
.services-page-card li { padding-left: 1.15rem; border-left: 3px solid #b3146d; font-size: .95rem; line-height: 1.4; }
.services-page-card a { display: inline-block; margin-top: 1.5rem; color: #b3146d; font: 700 .95rem var(--font-heading); }
.services-page-card a:hover,
.services-page-card a:focus-visible { text-decoration: underline; }
.services-page-other { border-top: 1px solid #e2e6eb; }
.services-page-other h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); }
.services-page-other p:not(.section-kicker) { max-width: 42rem; margin-top: .8rem; font-size: 1rem; line-height: 1.6; }
.services-page-other a { flex: none; align-self: start; border-radius: 5px; padding: .85rem 1.1rem; background: #b3146d; color: #fff; font: 700 .95rem var(--font-heading); }
.services-page-other a:hover,
.services-page-other a:focus-visible { background: #951058; }
@media (max-width: 767px) {
  .services-page-hero { min-height: 0; }
  .services-page-grid { grid-template-columns: 1fr; }
}
[data-quote-section] > div:last-child {
  background-color: #111b26;
}
[data-quote-section] input,
[data-quote-section] textarea {
  border-radius: 5px;
  border-color: #aab4bf;
  color: #172330;
}
[data-quote-section] input:focus,
[data-quote-section] textarea:focus {
  outline: 3px solid #ff73bb;
  outline-offset: 2px;
}
[data-quote-section] button[type="submit"] {
  border-radius: 7px;
  font-size: 1.05rem;
  letter-spacing: .05em;
}
details {
  border-left: 3px solid transparent;
}
details[open] {
  border-left-color: #b3146d;
}
details summary:hover {
  background: #f6f7fa;
}
.site-footer {
  background: #101821;
  border-top: 5px solid #b3146d;
}
.site-footer a:hover,
.site-footer a:focus-visible {
  color: #ff9bd0;
}
@media (min-width: 768px) {
  .site-header img { height: 140px; }
  [data-site-hero] .hero-actions a { min-width: 11.5rem; }
}
@media (max-width: 767px) {
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  .site-header > div:first-child { min-height: 76px; }
  .site-header img { height: 98px; }
  .mobile-action-bar {
    position: fixed;
    z-index: 90;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    padding: .6rem max(.75rem, env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
    background: #101821;
    box-shadow: 0 -5px 22px rgb(0 0 0 / .24);
  }
  .mobile-action-bar a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: 6px;
    font-family: var(--font-heading);
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .mobile-action-call { background: #b3146d; color: #fff; }
  .mobile-action-quote { border: 1px solid #fff; color: #fff; }
  .mobile-action-bar a:focus-visible { outline-color: #fff; }
  [data-site-hero] {
    min-height: 0;
    background-position: 62% center;
  }
  [data-site-hero] > div:first-child {
    background: linear-gradient(90deg, rgb(9 18 28 / .92), rgb(9 18 28 / .62));
  }
  [data-site-hero] > div:nth-child(2) {
    padding: 3.5rem 1.25rem 4rem;
  }
  [data-site-hero] h1 {
    max-width: 15ch;
    font-size: clamp(2.2rem, 8.5vw, 3rem);
  }
  [data-site-hero] p { font-size: 1rem; }
  [data-site-hero] .hero-actions { justify-content: flex-start; }
  [data-site-hero] .hero-actions a {
    min-width: 0;
    flex: 1 1 8rem;
    padding: .85rem 1rem;
    font-size: .9rem;
  }
  [data-value-props] h3 { font-size: .9rem; }
  [data-value-props] p { font-size: .78rem; }
  [data-value-props] > div > div { padding: 1rem .45rem; }
  .recovery-card { padding: 1.25rem; }
  #quote { scroll-margin-top: 1rem; }
}

