/* Bootstrap owns structure and spacing; these rules provide visual treatments. */
:root{--bs-primary:#080947;--bs-primary-rgb:8,9,71;--bs-secondary:#ffcf23;--bs-secondary-rgb:255,207,35;--bs-light:#f7f5ee;--bs-light-rgb:247,245,238;--bs-info-bg-subtle:#e8edf3;--bs-success-bg-subtle:#eaece7;--bs-body-bg:#f7f5ee;--bs-body-color:#202747;--bs-secondary-color:#666a78;--bs-border-color:#deded5;--bs-body-font-family:'DM Sans',sans-serif;--bs-body-font-size:1.125rem;--bs-body-line-height:1.6;--bs-link-color:#080947;--bs-link-hover-color:#242b61}
body{overflow-wrap:break-word}h1,h2,h3{font-weight:400;letter-spacing:-.055em}h1,h2{line-height:1.13}h1{font-size:clamp(3rem,5.4vw,5.5rem)}h2{font-size:clamp(2.5rem,4.3vw,4.25rem)}h3{font-size:1.5rem;font-weight:500;letter-spacing:-.035em;line-height:1.4}a{text-underline-offset:.25em}a[href]:not(.btn,.nav-link){color:inherit;text-decoration:underline}button,a,summary{outline-offset:5px}
.btn{--bs-btn-font-size:1.125rem;--bs-btn-font-weight:600;--bs-btn-padding-y:.85rem;--bs-btn-padding-x:1.5rem;--bs-btn-border-radius:.2rem;white-space:normal}
.btn-primary{--bs-btn-bg:#080947;--bs-btn-border-color:#080947;--bs-btn-hover-bg:#242b61;--bs-btn-hover-border-color:#242b61;--bs-btn-active-bg:#242b61;--bs-btn-active-border-color:#242b61;--bs-btn-focus-shadow-rgb:8,9,71}
.btn-secondary{--bs-btn-color:#080947;--bs-btn-bg:#ffcf23;--bs-btn-border-color:#ffcf23;--bs-btn-hover-color:#080947;--bs-btn-hover-bg:#eac02b;--bs-btn-hover-border-color:#eac02b;--bs-btn-active-color:#080947;--bs-btn-active-bg:#eac02b;--bs-btn-active-border-color:#eac02b;--bs-btn-focus-shadow-rgb:255,207,35}
.btn-outline-primary{--bs-btn-color:#080947;--bs-btn-border-color:#080947;--bs-btn-hover-bg:#080947;--bs-btn-hover-border-color:#080947;--bs-btn-active-bg:#080947;--bs-btn-active-border-color:#080947;--bs-btn-focus-shadow-rgb:8,9,71}
.heading-accent{font-family:'Allura',cursive;font-weight:400;font-size:1.42em;line-height:.9;letter-spacing:-.025em}.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.eyebrow:before{content:'';display:inline-block;width:26px;height:1px;background:currentColor;vertical-align:middle;margin-right:13px}.copy-width{max-width:540px}.copy-wide{max-width:900px}
header img{width:88px;height:78px;object-fit:contain}header .nav-link{color:white;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}header .nav-link:hover,header .nav-link:focus{color:var(--bs-secondary)}
.arched-photo{height:clamp(460px,70vh,740px)}.arched-photo img{border-radius:48% 48% 3px 3px;object-position:48% center}.image-label{left:24px;bottom:24px;background:#f7f5eef2;border-left:3px solid var(--bs-secondary)}.image-label b{letter-spacing:-.03em}.item-number{font-size:1.45rem;font-weight:600;color:#8a6c12;letter-spacing:-.03em}.edge-photo{height:620px}.curved-photo{height:620px;border-radius:3px 3px 45% 3px}.contour-pattern{width:65%;opacity:.08;pointer-events:none}
.disclosure summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;cursor:pointer;font-size:1.25rem}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:after{content:'+';color:#947927;flex-shrink:0}.disclosure[open] summary:after{content:'−'}
.bg-primary p,.bg-primary small{color:#d2d2e0}.bg-primary a:not(.btn){color:inherit}.speech-panel{max-width:1050px;position:relative}.speech-panel:after{content:'';position:absolute;bottom:-24px;left:calc(50% - 24px);border:24px solid transparent;border-bottom:0;border-top:25px solid var(--bs-light)}.quote-mark{font-family:Georgia,serif;font-size:6rem;line-height:.8;color:#957518}.quote-copy{font-size:clamp(1.5rem,2.7vw,2.5rem);line-height:1.45;letter-spacing:-.035em}.speech-panel p{color:var(--bs-primary)}
@media(min-width:1600px){.container{max-width:1450px}}
@media(max-width:991.98px){header img{width:68px;height:60px}.arched-photo{height:520px}.edge-photo,.curved-photo{height:500px}.border-start.ps-lg-5{border-left:0!important}}
@media(max-width:575.98px){.arched-photo{height:430px}.edge-photo,.curved-photo{height:430px}.image-label{left:16px;bottom:16px}.image-label b{font-size:1.3rem}.contour-pattern{width:150%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reusable desktop treatments; compact Bootstrap spacing remains on mobile. */
header .nav-link:hover,header .nav-link:focus-visible{text-decoration:underline;text-decoration-color:var(--bs-secondary);text-decoration-thickness:2px;text-underline-offset:.5em}
@media(min-width:992px){
  .viewport-panel{min-height:100svh}
  .tall-photo{height:clamp(900px,85vw,1240px)}
  .sticky-panel{position:sticky;top:3rem}
}

/* Body-size metadata and a moderate desktop panel height. */
.body-size{font-size:var(--bs-body-font-size)}
@media(min-width:992px){.spacious-panel{min-height:70svh}}

.trust-icon{font-style:normal;color:#8a6c12;line-height:1.1}

.cookie-consent{position:fixed;inset:auto clamp(.75rem,3vw,2rem) clamp(.75rem,3vw,2rem);z-index:1080;max-width:45rem;margin-inline-start:auto;max-height:calc(100dvh - 1.5rem);overflow:auto}
