/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-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-ease:initial}}}@layer theme{:root,:host{--font-sans:"Aptos", "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#193044;--color-paper:#f8f7f3}}@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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.start-50{inset-inline-start:calc(var(--spacing) * 50)}.start-100{inset-inline-start:calc(var(--spacing) * 100)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-50{inset-inline-end:calc(var(--spacing) * 50)}.end-100{inset-inline-end:calc(var(--spacing) * 100)}.top-0{top:0}.top-50{top:calc(var(--spacing) * 50)}.top-100{top:calc(var(--spacing) * 100)}.bottom-0{bottom:0}.bottom-50{bottom:calc(var(--spacing) * 50)}.bottom-100{bottom:calc(var(--spacing) * 100)}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-first{order:-9999}.order-last{order:9999}.col-1{grid-column:1}.col-2{grid-column:2}.col-3{grid-column:3}.col-4{grid-column:4}.col-5{grid-column:5}.col-6{grid-column:6}.col-7{grid-column:7}.col-8{grid-column:8}.col-9{grid-column:9}.col-10{grid-column:10}.col-11{grid-column:11}.col-12{grid-column:12}.col-auto{grid-column:auto}.float-end{float:inline-end}.float-none{float:none}.float-start{float:inline-start}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-auto{margin-block:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:var(--spacing)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-3{margin-inline-start:calc(var(--spacing) * 3)}.ms-4{margin-inline-start:calc(var(--spacing) * 4)}.ms-5{margin-inline-start:calc(var(--spacing) * 5)}.ms-auto{margin-inline-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:var(--spacing)}.me-2{margin-inline-end:calc(var(--spacing) * 2)}.me-3{margin-inline-end:calc(var(--spacing) * 3)}.me-4{margin-inline-end:calc(var(--spacing) * 4)}.me-5{margin-inline-end:calc(var(--spacing) * 5)}.me-auto{margin-inline-end:auto}.mt-0{margin-top:0}.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-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-auto{margin-bottom:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.h-25{height:calc(var(--spacing) * 25)}.h-50{height:calc(var(--spacing) * 50)}.h-75{height:calc(var(--spacing) * 75)}.h-100{height:calc(var(--spacing) * 100)}.h-auto{height:auto}.w-25{width:calc(var(--spacing) * 25)}.w-50{width:calc(var(--spacing) * 50)}.w-75{width:calc(var(--spacing) * 75)}.w-100{width:calc(var(--spacing) * 100)}.w-auto{width:auto}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1,.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-grow-1,.grow{flex-grow:1}.caption-top{caption-side:top}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.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)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-x-visible{overflow-x:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.overflow-y-visible{overflow-y:visible}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-5{border-style:var(--tw-border-style);border-width:5px}.border-black{border-color:var(--color-black)}.border-white{border-color:var(--color-white)}.bg-black{background-color:var(--color-black)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0{padding-block:0}.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)}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:var(--spacing)}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.ps-3{padding-inline-start:calc(var(--spacing) * 3)}.ps-4{padding-inline-start:calc(var(--spacing) * 4)}.ps-5{padding-inline-start:calc(var(--spacing) * 5)}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:var(--spacing)}.pe-2{padding-inline-end:calc(var(--spacing) * 2)}.pe-3{padding-inline-end:calc(var(--spacing) * 3)}.pe-4{padding-inline-end:calc(var(--spacing) * 4)}.pe-5{padding-inline-end:calc(var(--spacing) * 5)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-start{text-align:start}.align-baseline{vertical-align:baseline}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}.align-top{vertical-align:top}.text-nowrap{text-wrap:nowrap}.text-wrap{text-wrap:wrap}.text-black{color:var(--color-black)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.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-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)}.shadow-none{--tw-shadow:0 0 #0000;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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#193044;--ink-soft:#2d4659;--paper:#f8f7f3;--paper-deep:#efede6;--gold:#b58942;--olive:#64735d;--line:#e1ded5;--display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--body:"Aptos","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #c69b50}::selection{color:var(--ink);background:#dfd2b8}.site-shell{min-height:100vh;overflow:hidden}.skip-link{z-index:50;color:var(--ink);background:#fff;padding:10px 14px;position:absolute;top:-80px;left:12px}.skip-link:focus{top:10px}.site-header{z-index:10;background:#fbfaf7f0;border-bottom:1px solid #19304414;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;padding:0 clamp(24px,6.2vw,96px);display:grid;position:relative}.ward-mark{width:max-content;color:var(--ink);font-family:var(--display);letter-spacing:.105em;flex-direction:column;font-size:27px;line-height:1.03;display:inline-flex}.ward-mark small{font-family:var(--body);letter-spacing:.39em;justify-content:space-between;align-items:center;gap:8px;margin-top:7px;font-size:10px;font-weight:500;display:flex}.ward-mark i{background:var(--gold);width:34px;height:1px}.primary-nav{color:#273a49;align-items:center;gap:clamp(18px,3vw,45px);height:100%;font-size:13px;display:flex}.primary-nav a{align-items:center;height:100%;display:flex;position:relative}.primary-nav a:after{content:"";background:var(--gold);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:20px;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover:after,.primary-nav a.active:after{transform:scaleX(1)}.header-auth{justify-self:end;font-size:12px}.text-link{color:#9b6c22;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;font-weight:600}.text-link span{margin-left:8px}.header-auth button{padding:8px 0}.mobile-menu{display:none}.site-footer{background:var(--ink);color:#f8f6f1;padding:0 clamp(24px,6.2vw,96px)}.footer-main{grid-template-columns:1.3fr 1fr 1fr;gap:7vw;padding:46px 0 42px;display:grid}.footer-main h2{font:17px var(--display);margin:0 0 15px}.footer-main p,.footer-main>div>a:not(.ward-mark){color:#d4d9dc;font-size:13px;line-height:1.8}.footer-main p{margin:18px 0 8px}.footer-main>div:nth-child(2),.footer-main>div:nth-child(3){flex-direction:column;align-items:flex-start;display:flex}.footer-main>div:nth-child(2)>a,.footer-main>div:nth-child(3)>a{line-height:2.1}.footer-mark{color:#fff;font-size:24px}.footer-mark small i{background:#d4ad65}.footer-map{color:#dcb75f;font-size:12px}.footer-bottom{color:#c6ced3;border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:16px;min-height:54px;font-size:11px;display:flex}.home-hero{background:linear-gradient(110deg,#fbfaf7 15%,#f4f2ec 100%);grid-template-columns:1fr 1fr;min-height:510px;padding:72px clamp(40px,9vw,140px) 60px;display:grid;position:relative}.hero-copy{z-index:2;align-self:center;max-width:560px;position:relative}.eyebrow{letter-spacing:.17em;color:#87714b;margin:0 0 17px;font-size:10px;font-weight:650}.eyebrow-dot{background:var(--gold);border-radius:50%;width:6px;height:6px;margin:0 10px 1px 0;display:inline-block}.home-hero h1,.inner-hero h1{font:clamp(58px,7vw,96px)/.99 var(--display);letter-spacing:-.045em;color:var(--ink);margin:0}.home-hero h1 em,.inner-hero h1 em,.section-heading h2 em,.purpose-copy h2 em,.auth-card h1 em{color:#697962;font-weight:400}.gold-rule{background:var(--gold);width:42px;height:2px;margin:24px 0 16px}.hero-intro{color:#53616a;max-width:390px;margin:0 0 24px;font-size:15px;line-height:1.8}.button{letter-spacing:.025em;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:20px;min-height:44px;padding:0 19px;font-size:12px;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-dark{color:#fff;background:var(--ink)}.button-dark:hover{background:#28475e}.button-dark span{font-size:18px}.hero-art{min-height:360px;position:relative;overflow:hidden}.sun-disc{opacity:.78;background:linear-gradient(145deg,#e9e3d4,#e2e7db);border-radius:50%;width:min(33vw,365px);height:min(33vw,365px);position:absolute;top:0;right:11%}.olive-branch{filter:drop-shadow(0 8px 12px #303e2c0f);width:95%;height:115%;position:absolute;top:4%;right:2%}.hero-note{font:13px/1.6 var(--display);color:#5d6659;background:#fbfaf7;border:1px solid #e2ded4;align-items:center;gap:12px;padding:13px 17px;display:flex;position:absolute;bottom:8px;right:1%;box-shadow:0 10px 35px #35453414}.hero-note strong{color:var(--ink);font-weight:600}.note-icon{font:22px var(--body);color:var(--gold)}.welcome-strip{background:#f3f1eb;border-top:1px solid #eeece5;border-bottom:1px solid #e8e5dd;grid-template-columns:repeat(3,1fr);padding:26px clamp(30px,7vw,110px);display:grid}.welcome-item{border-right:1px solid #dedbd2;grid-template-columns:36px 1fr 24px;align-items:start;gap:14px;padding:10px 25px;display:grid}.welcome-item:first-child{padding-left:0}.welcome-item:last-child{border:0}.welcome-number{font:12px var(--display);color:var(--gold);padding-top:4px}.welcome-item h2{font:19px var(--display);margin:0 0 5px}.welcome-item p{color:#747b7a;margin:0;font-size:12px;line-height:1.6}.welcome-item>a{color:var(--gold);align-self:center;font-size:20px}.section-wrap{padding:74px clamp(28px,9vw,140px)}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font:clamp(34px,4vw,51px)/1 var(--display);letter-spacing:-.025em;margin:0}.section-heading h2 em{font-style:italic}.section-heading>.text-link{padding-bottom:4px;font-size:12px}.section-heading>.text-link span{margin-left:10px;font-size:18px}.sunday-card{background:#fff;border:1px solid #e8e5dd;grid-template-columns:82px 1fr auto;align-items:center;gap:26px;padding:23px 26px;display:grid;box-shadow:0 8px 30px #1b35430b}.sunday-date{border-right:1px solid #e8e5dd;flex-direction:column;align-items:center;padding-right:20px;display:flex}.sunday-date span{letter-spacing:.16em;color:#92713d;font-size:10px}.sunday-date strong{font:36px/1.1 var(--display)}.sunday-date small{color:#768077;font-size:10px}.sunday-info .eyebrow{margin:0 0 7px;font-size:9px}.sunday-info h3{font:24px var(--display);margin:0 0 7px}.sunday-info>p:last-child{color:#657079;margin:0;font-size:12px}.sunday-info>p span{color:var(--gold);margin:0 5px}.button-outline{color:var(--ink);background:0 0;border-color:#b88d4c}.button-outline:hover{background:#f5f1e8}.purpose-band{background:var(--ink);color:#f7f5ef;grid-template-columns:1fr 1fr;gap:9vw;padding:57px clamp(40px,16vw,240px);display:grid;position:relative;overflow:hidden}.purpose-band:before{content:"";border:1px solid #ffffff0d;border-radius:50%;width:400px;height:400px;position:absolute;top:-140px;left:-230px}.purpose-quote{border-right:1px solid #ffffff35;align-self:center;padding-right:40px}.quote-mark{font:76px/.8 var(--display);color:#d2a453}.purpose-quote blockquote{font:clamp(26px,3.2vw,38px)/1.26 var(--display);margin:12px 0 20px}.purpose-quote p{color:#e0b65e;letter-spacing:.14em;margin:0;font-size:11px}.purpose-copy .eyebrow{color:#d7b76f}.purpose-copy h2{font:34px/1.2 var(--display);margin:0 0 13px}.purpose-copy h2 em{color:#c4cdae}.purpose-copy>p:not(.eyebrow){color:#d2dade;max-width:380px;margin:0 0 18px;font-size:13px;line-height:1.75}.light-link{color:#e4bd6b;font-size:12px}.light-link span{margin-left:9px;font-size:17px}.quick-access{padding-top:70px;padding-bottom:83px}.heading-side-note{color:#737b7c;margin:0 0 2px;font-size:12px;line-height:1.7}.quick-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.quick-card{background:#fff;border:1px solid #e8e5dd;flex-direction:column;align-items:flex-start;min-height:244px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.quick-card:hover{border-color:#d4bd93;transform:translateY(-3px);box-shadow:0 12px 32px #1b35430d}.quick-icon{color:var(--ink);margin-bottom:22px;font-size:27px;line-height:1}.quick-label{letter-spacing:.17em;color:#a17d43;font-size:9px}.quick-card h3{font:26px/1.16 var(--display);margin:9px 0 22px}.quick-arrow{color:#7d8382;margin-top:auto;font-size:11px}.quick-arrow b{color:#aa7929;margin-left:8px;font-size:17px;font-weight:400}.inline-error{color:#973f2f;background:#fff2ed;padding:14px}.inner-hero{background:linear-gradient(115deg,#f8f7f3,#f2f1eb);border-bottom:1px solid #e8e5dd;padding:34px clamp(28px,9vw,140px) 55px}.breadcrumb{color:#8a8c86;align-items:center;gap:9px;margin-bottom:44px;font-size:11px;display:flex}.breadcrumb a{color:#5f6b6d}.breadcrumb span:nth-child(2){color:#c08a35}.page-intro{color:#667178;max-width:560px;margin:18px 0 0;font-size:14px;line-height:1.7}.content-section{max-width:1440px;margin:0 auto;padding:43px clamp(28px,9vw,140px) 54px}.section-kicker{letter-spacing:.15em;color:#807356;align-items:center;gap:14px;margin:0 0 20px;font-size:9px;display:flex}.section-kicker .rule{background:#dedbd2;flex:1;height:1px}.section-kicker span:last-child{color:#92928a}.program-card{background:#fff;border:1px solid #e6e3dc;margin-bottom:19px}.program-card-head{border-bottom:1px solid #eeece6;grid-template-columns:82px 1fr auto;align-items:center;gap:25px;padding:23px 25px;display:grid}.program-date{border-right:1px solid #e7e4dc;flex-direction:column;align-items:center;padding-right:19px;display:flex}.program-date span{letter-spacing:.12em;color:#9a783e;font-size:9px}.program-date strong{font:35px/1.1 var(--display)}.program-date small{color:#697779;font-size:10px}.program-title .eyebrow{margin-bottom:7px;font-size:9px}.program-title h2{font:25px var(--display);margin:0}.meeting-tag{color:#64745f;letter-spacing:.12em;background:#f0f1ea;align-self:start;padding:7px 9px;font-size:8px}.program-facts{border-bottom:1px solid #eeece6;flex-wrap:wrap;gap:0;padding:15px 25px;display:flex}.program-facts>div{border-right:1px solid #ece9e2;flex-direction:column;gap:5px;min-width:140px;padding:0 22px;display:flex}.program-facts>div:first-child{padding-left:0}.program-facts>div:last-child{border:0}.program-facts span,.agenda-line>span{color:#89908e;font-size:10px}.program-facts strong{font:15px var(--display);font-weight:500}.program-agenda{padding:19px 25px 16px}.program-agenda h3{font:17px var(--display);margin:0 0 10px}.agenda-line{border-top:1px solid #f0eee8;grid-template-columns:minmax(110px,.7fr) 1fr;gap:15px;padding:9px 0;font-size:12px;display:grid}.agenda-line strong{font-weight:500}.agenda-line small{color:#758080;grid-column:2;margin-top:-8px;font-size:11px}.program-note{color:#68736e;background:#f7f5ef;margin:0;padding:13px 25px;font-size:11px;line-height:1.6}.program-note span{color:#b98b3c;margin-right:8px}.empty-state{text-align:center;background:#fff;border:1px solid #e9e6df;padding:48px 30px}.empty-icon{color:#a98a53;font-size:28px}.empty-state h2{font:24px var(--display);margin:14px 0 7px}.empty-state p{color:#777f7e;max-width:440px;margin:5px auto;font-size:13px;line-height:1.6}.empty-state .muted{color:#9a9d97;margin-top:15px;font-size:11px}.page-footnote,.calendar-footnote{color:#687470;background:#f2f0e9;align-items:center;gap:12px;max-width:1160px;margin:0 auto 55px;padding:15px 19px;font-size:11px;display:flex}.footnote-icon,.calendar-footnote>span{color:#9e772e;border:1px solid #bb9147;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:10px;display:grid}.page-footnote p{margin:0}.missionary-section{padding-bottom:36px}.missionary-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.missionary-card{background:#fff;border:1px solid #e8e5de;min-height:210px;padding:22px 22px 19px;position:relative}.missionary-monogram,.record-avatar{color:#54654f;width:40px;height:40px;font:15px var(--display);background:#eef0e9;border-radius:50%;place-items:center;margin-bottom:15px;display:grid}.missionary-meta{letter-spacing:.08em;color:#7d877b;text-transform:uppercase;align-items:center;gap:7px;font-size:9px;display:flex}.status-dot{background:#82956e;border-radius:50%;width:6px;height:6px}.missionary-card h2{font:21px var(--display);margin:7px 0 4px}.mission-name{color:#536678;margin:0;font-size:12px}.missionary-dates{color:#7b8380;border-top:1px solid #eeece6;flex-wrap:wrap;gap:5px 12px;margin-top:19px;padding-top:13px;font-size:10px;display:flex}.missionary-note{color:#727b78;margin:12px 0 0;font-size:11px;line-height:1.5}.missionary-encouragement{background:#f1efe8;border:1px solid #e5e1d7;align-items:flex-start;gap:16px;max-width:1160px;margin:0 auto 53px;padding:21px 24px;display:flex}.encouragement-icon{color:#9c7942;font-size:22px}.missionary-encouragement h2{font:18px var(--display);margin:0 0 5px}.missionary-encouragement p{color:#717b7a;margin:0;font-size:11px;line-height:1.65}.calendar-wrap{max-width:1500px;margin:auto;padding:40px clamp(24px,6vw,88px) 50px}.calendar-toolbar{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.calendar-toolbar .eyebrow{margin-bottom:7px;font-size:9px}.calendar-toolbar h2{font:29px var(--display);margin:0}.calendar-controls{align-items:center;gap:6px;display:flex}.calendar-control,.today-button{cursor:pointer;background:#fff;border:1px solid #e5e2da;min-width:36px;height:34px}.calendar-control{font:22px var(--display)}.today-button{padding:0 12px;font-size:11px}.calendar-layout{background:#fff;border:1px solid #e4e1d9;grid-template-columns:minmax(0,1fr) 270px;min-height:490px;display:grid}.calendar-month{padding:16px 18px}.weekday-row,.day-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row span{text-align:right;color:#92958e;letter-spacing:.1em;padding:0 8px 10px;font-size:8px}.day-grid{border-top:1px solid #eeeae2;border-left:1px solid #eeeae2;grid-auto-rows:minmax(74px,1fr)}.calendar-day{text-align:left;cursor:pointer;background:#fff;border:1px solid #eeeae2;border-top:0;border-left:0;flex-direction:column;gap:5px;min-width:0;min-height:74px;padding:7px 6px;display:flex}.calendar-day:hover{background:#faf9f6}.calendar-day.selected{background:#f5f3ed;box-shadow:inset 0 0 0 1px #b9975c}.calendar-day.outside-month .day-number{color:#c4c5c0}.calendar-day.today .day-number{background:var(--ink);color:#fff;border-radius:50%}.day-number{place-items:center;width:23px;height:23px;font-size:10px;display:grid}.day-events{flex-direction:column;gap:3px;display:flex;overflow:hidden}.day-event-label{text-overflow:ellipsis;white-space:nowrap;color:#61715c;background:#edf0e9;padding:3px 5px;font-size:8px;line-height:1.2;display:block;overflow:hidden}.day-event-label i{background:#82916e;border-radius:50%;width:5px;height:5px;margin:0 4px 1px 0;display:inline-block}.more-events{color:#828a83;font-size:8px}.day-agenda{border-left:1px solid #e7e4dc;padding:22px 18px}.day-agenda .eyebrow{margin-bottom:9px;font-size:9px}.day-agenda h3{font:23px var(--display);margin:0 0 4px}.agenda-date{color:#858c89;margin:0 0 23px;font-size:10px}.agenda-empty{color:#8b938b;border-top:1px solid #eeece6;padding:23px 0}.agenda-empty span{color:#ba9453;font-size:21px}.agenda-empty p{font-size:11px;line-height:1.7}.agenda-event{grid-template-columns:50px 1px 1fr;gap:10px;margin:0 0 19px;display:grid}.event-time{color:#7d8580;padding-top:3px;font-size:9px}.event-rule{background:#c79b50}.event-category{letter-spacing:.1em;text-transform:uppercase;color:#8b7b5d;font-size:8px}.agenda-event h4{font:16px/1.25 var(--display);margin:5px 0}.agenda-event p{color:#76807d;margin:4px 0;font-size:10px;line-height:1.5}.agenda-event a{color:#9b732d;font-size:10px}.calendar-footnote{margin:18px 0 0;padding:12px 15px}.calendar-footnote>span{font-style:normal}.admin-page{max-width:1200px;min-height:72vh;margin:auto;padding:34px clamp(24px,6vw,84px) 65px}.admin-page>.breadcrumb{margin-bottom:30px}.admin-heading{border-bottom:1px solid #dfdcd3;justify-content:space-between;align-items:end;padding-bottom:22px;display:flex}.admin-heading h1{font:42px var(--display);margin:0 0 8px}.admin-heading>div>p:last-child{color:#79817d;margin:0;font-size:13px}.admin-badge{color:#64765e;letter-spacing:.13em;background:#eaf0e8;padding:8px 10px;font-size:8px}.admin-badge i{background:#7f946e;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.admin-notice{margin:16px 0 0;padding:12px 15px;font-size:12px}.admin-notice.success{color:#4b6948;background:#eaf1e8}.admin-notice.error{color:#904d3d;background:#fbefeb}.admin-tabs{border-bottom:1px solid #dedbd2;gap:7px;margin:24px 0 0;display:flex}.admin-tab{color:#73807e;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 16px;font-size:11px}.admin-tab.selected{color:var(--ink);border-bottom-color:#b48a45;font-weight:600}.admin-tab span{color:#9ca09a;margin-left:8px;font-size:9px}.admin-workspace{background:#fff;border:1px solid #e5e2da;border-top:0;padding:24px}.admin-list-head{border-bottom:1px solid #eeece6;justify-content:space-between;align-items:center;gap:20px;padding-bottom:19px;display:flex}.admin-list-head h2{font:22px var(--display);margin:0 0 5px}.admin-list-head p{color:#808984;margin:0;font-size:11px}.admin-list-head .button{white-space:nowrap;min-height:38px;font-size:10px}.admin-record{border-bottom:1px solid #efede7;grid-template-columns:45px minmax(0,1fr) auto auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.program-show-control{white-space:nowrap;color:#7d6a44;cursor:pointer;align-items:center;gap:7px;font-size:11px;display:flex}.program-show-control input{accent-color:#193044;cursor:pointer;width:15px;height:15px}.program-show-control input:disabled{cursor:wait;opacity:.55}.record-date{color:#786444;background:#f3f1eb;place-items:center;width:40px;height:40px;font-size:10px;display:grid}.record-avatar{width:38px;height:38px;margin:0;font-size:12px}.record-main{flex-direction:column;gap:5px;min-width:0;display:flex}.record-main strong{font:16px var(--display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-main>span{color:#818984;font-size:10px}.record-action,.record-delete{cursor:pointer;background:0 0;border:0;padding:7px 9px;font-size:11px}.record-action{color:#7d6a44}.record-delete{color:#a35e4a}.admin-empty{color:#818984;padding:22px 5px;font-size:12px}.admin-form{background:#faf9f6;border:1px solid #e7e4dc;margin-top:23px;padding:22px}.form-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.form-title h3{font:21px var(--display);margin:0}.close-form{color:#87908b;cursor:pointer;background:0 0;border:0;font-size:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.admin-form label,.auth-form>label{letter-spacing:.02em;color:#53616a;flex-direction:column;gap:7px;font-size:10px;display:flex}.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select,.auth-form input:not([type=checkbox]){width:100%;min-height:39px;color:var(--ink);background:#fff;border:1px solid #dfdcd3;border-radius:0;padding:9px 10px;font-size:12px}.admin-form textarea{resize:vertical;line-height:1.6}.admin-form .full-field{margin-top:14px}.field-hint{color:#8a908d;font-size:9px}.check-field{align-items:center;margin-top:14px;flex-direction:row!important;gap:9px!important;display:flex!important}.check-field input{accent-color:#607459}.form-actions{align-items:center;gap:10px;margin-top:19px;display:flex}.form-actions .button{min-height:38px;font-size:11px}.button-quiet{background:0 0;border-color:#dfdcd3}.validation-summary{color:#9c4939;margin:0 0 14px;font-size:11px}.validation-summary ul{margin:5px 0;padding-left:18px}.admin-api-note{color:#888f89;margin:14px 0;font-size:10px}.admin-api-note code{color:#526b51;background:#eef0e9;padding:3px 5px}.auth-page{background:linear-gradient(140deg,#f8f7f3,#f0eee7);place-items:center;min-height:66vh;padding:50px 22px;display:grid}.auth-card{background:#fff;border:1px solid #e5e2da;width:min(100%,480px);padding:38px 42px;box-shadow:0 15px 44px #233a4810}.auth-card>.eyebrow{margin-bottom:12px}.auth-card h1{font:42px var(--display);margin:0}.auth-card h1 em{font-style:italic}.auth-intro{color:#75807b;margin:11px 0 23px;font-size:12px;line-height:1.7}.auth-form{flex-direction:column;gap:15px;display:flex}.auth-form>label{font-size:11px}.auth-form .check-field{margin-top:0}.auth-submit{width:100%;margin-top:4px}.auth-footnote{color:#858e8a;text-align:center;margin:4px 0;font-size:10px;line-height:1.6}.access-denied{text-align:center;min-height:65vh;padding:90px 24px}.access-denied h1{font:42px var(--display)}.access-denied p:not(.eyebrow){color:#737d78;margin-bottom:23px;font-size:13px}.validation-message{color:#a54838;font-size:10px}.status-message{color:#a54838;font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#blazor-error-ui{z-index:100;color:#613a24;background:#fff2e4;padding:10px 18px;font-size:13px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 14px #0001}#blazor-error-ui .dismiss{float:right;cursor:pointer;background:0 0;border:0}@media (max-width:900px){.site-header{grid-template-columns:1fr auto;height:72px;padding:0 28px}.primary-nav{gap:19px}.primary-nav a{font-size:11px}.header-auth{display:none}.home-hero{min-height:460px;padding:58px 7vw}.hero-art{min-height:320px}.welcome-strip{padding:22px 4vw}.welcome-item{grid-template-columns:26px 1fr 18px;gap:9px;padding:8px 13px}.welcome-item h2{font-size:16px}.welcome-item p{font-size:10px}.purpose-band{gap:6vw;padding:48px 9vw}.calendar-layout{grid-template-columns:minmax(0,1fr) 235px}.calendar-month{padding:12px}.day-grid{grid-auto-rows:minmax(65px,1fr)}.calendar-day{min-height:65px;padding:5px 4px}.day-event-label{padding:3px;font-size:7px}.content-section{padding-left:6vw;padding-right:6vw}.page-footnote,.missionary-encouragement{margin-left:6vw;margin-right:6vw}}@media (max-width:680px){.site-header{grid-template-columns:1fr auto;height:69px;padding:0 21px}.ward-mark{font-size:22px}.ward-mark small{font-size:8px}.ward-mark i{width:26px}.primary-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:40px;height:40px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--ink);width:19px;height:1px}.mobile-menu nav{background:#fff;border:1px solid #e6e3dc;flex-direction:column;width:230px;padding:10px;display:flex;position:absolute;top:48px;right:-7px;box-shadow:0 12px 30px #1c33451c}.mobile-menu nav a{border-bottom:1px solid #f0eee8;padding:12px 10px;font-size:12px}.mobile-menu nav a:last-child{border-bottom:0}.home-hero{grid-template-columns:1fr;min-height:auto;padding:57px 25px 35px}.home-hero h1{font-size:65px}.hero-intro{max-width:340px;font-size:13px}.hero-art{min-height:265px;margin-top:5px}.sun-disc{width:240px;height:240px;top:0;right:15%}.olive-branch{width:85%;height:110%;top:0;right:10%}.hero-note{padding:10px 13px;font-size:11px;bottom:0;right:0}.welcome-strip{grid-template-columns:1fr;padding:10px 25px}.welcome-item{border:0;border-bottom:1px solid #dedbd2;grid-template-columns:30px 1fr 22px;padding:16px 0}.welcome-item:last-child{border:0}.welcome-item h2{font-size:18px}.welcome-item p{font-size:11px}.section-wrap{padding:53px 24px}.section-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:22px}.section-heading h2{font-size:39px}.section-heading>.text-link{margin-top:0}.sunday-card{grid-template-columns:61px 1fr;gap:16px;padding:17px}.sunday-date{padding-right:14px}.sunday-date strong{font-size:31px}.sunday-info h3{font-size:20px}.sunday-info>p:last-child{font-size:10px}.sunday-card>.button{grid-column:2;justify-self:start;min-height:37px;font-size:10px}.purpose-band{grid-template-columns:1fr;gap:28px;padding:38px 25px}.purpose-quote{border-bottom:1px solid #ffffff35;border-right:0;padding:0 0 25px}.purpose-quote blockquote{font-size:31px}.purpose-copy h2{font-size:30px}.quick-grid{grid-template-columns:1fr;gap:10px}.quick-card{grid-template-rows:auto auto auto;grid-template-columns:55px 1fr;column-gap:12px;min-height:182px;padding:19px;display:grid}.quick-icon{grid-row:1/4;margin:0;font-size:26px}.quick-label{align-self:end}.quick-card h3{margin:4px 0 6px;font-size:22px}.quick-arrow{font-size:10px}.heading-side-note{margin:0}.inner-hero{padding:25px 24px 39px}.breadcrumb{margin-bottom:35px}.inner-hero h1{font-size:47px}.page-intro{font-size:12px}.content-section{padding:27px 20px 38px}.program-card-head{grid-template-columns:58px 1fr;gap:15px;padding:17px}.program-date{padding-right:12px}.program-date strong{font-size:30px}.program-title h2{font-size:20px}.program-title .eyebrow{font-size:8px}.meeting-tag{grid-column:2;justify-self:start;margin-top:-8px}.program-facts{gap:11px;padding:12px 17px}.program-facts>div{border-left:1px solid #ece9e2;border-right:0;min-width:calc(50% - 8px);padding:0 0 0 10px}.program-facts>div:first-child{padding-left:10px}.program-facts strong{font-size:13px}.program-agenda{padding:16px 17px}.agenda-line{grid-template-columns:105px 1fr;gap:8px;font-size:11px}.program-note{padding:11px 17px}.page-footnote{margin:0 20px 36px;font-size:10px}.missionary-grid{grid-template-columns:1fr;gap:10px}.missionary-card{min-height:auto;padding:18px}.missionary-card h2{font-size:20px}.missionary-encouragement{margin:0 20px 35px;padding:17px}.missionary-encouragement h2{font-size:16px}.calendar-hero{padding-bottom:32px}.calendar-wrap{padding:23px 12px 35px}.calendar-toolbar{padding:0 5px}.calendar-toolbar h2{font-size:23px}.calendar-layout{grid-template-columns:1fr}.calendar-month{padding:10px 7px}.weekday-row span{text-align:center;padding:0 2px 8px;font-size:7px}.day-grid{grid-auto-rows:minmax(51px,1fr)}.calendar-day{gap:3px;min-height:51px;padding:4px 2px}.day-number{width:20px;height:20px;font-size:9px}.day-event-label{background:#e5ebdf;height:5px;padding:0 2px;font-size:0}.day-event-label i{width:4px;height:4px;margin:0}.more-events{font-size:7px}.day-agenda{border-top:1px solid #e7e4dc;border-left:0;padding:20px 16px}.agenda-date{margin-bottom:13px}.agenda-empty{padding:14px 0}.calendar-footnote{font-size:9px}.admin-page{padding:25px 16px 45px}.admin-heading{flex-direction:column;align-items:flex-start;gap:10px}.admin-heading h1{font-size:34px}.admin-heading>div>p:last-child{font-size:11px;line-height:1.6}.admin-tabs{overflow-x:auto}.admin-tab{white-space:nowrap;padding:11px 10px;font-size:10px}.admin-workspace{padding:15px 12px}.admin-list-head{flex-direction:column;align-items:flex-start}.admin-list-head h2{font-size:20px}.admin-record{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.program-show-control{grid-area:2/2;align-self:center}.record-date,.record-avatar{width:34px;height:34px}.record-main strong{font-size:14px}.record-main>span{font-size:9px;line-height:1.4}.record-delete{grid-area:2/3}.record-action{grid-area:1/3}.form-grid{grid-template-columns:1fr;gap:12px}.admin-form{padding:15px 12px}.admin-form label,.auth-form>label{font-size:10px}.admin-api-note{line-height:2}.auth-card{padding:30px 23px}.auth-card h1{font-size:36px}.footer-main{grid-template-columns:1fr 1fr;gap:28px 16px;padding:35px 0}.footer-main>div:first-child{grid-column:1/-1}.footer-main h2{font-size:15px}.footer-main p,.footer-main>div>a:not(.ward-mark){font-size:11px}.footer-bottom{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:12px 0;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.missionary-photo{object-fit:cover;background:#eef0e9;border-radius:50%;width:88px;height:88px;margin-bottom:15px}.record-avatar-photo{object-fit:cover;border-radius:50%;width:40px;height:40px}.missionary-photo-editor{align-items:center;gap:16px;margin-top:14px;display:flex}.missionary-photo-editor img{object-fit:cover;background:#eef0e9;border-radius:50%;width:76px;height:76px}.missionary-photo-editor .check-field{margin-top:0}.event-image-link{color:#7d6a44;width:fit-content;max-width:100%;margin:13px 0 8px;font-size:10px;display:block}.event-image{object-fit:contain;border:1px solid #e5e2da;width:auto;max-width:100%;height:auto;max-height:440px;display:block}.event-image-link span{margin-top:5px;display:block}.event-image-editor{align-items:center;gap:16px;margin-top:14px;display:flex}.event-image-editor img{object-fit:contain;background:#fff;border:1px solid #e5e2da;max-width:min(100%,420px);max-height:180px}.event-image-editor .check-field{margin-top:0}.status-dot.upcoming{background:#b58942}.status-dot.returned{background:#adb2ac}.class-schedules-wrap{width:calc(100% - 2*clamp(24px,8vw,110px));max-width:1160px;margin:0 auto;padding:34px 0 90px}.class-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.class-schedule-card{background:#fff;border:1px solid #e7e4dc;border-radius:18px;padding:clamp(21px,3vw,36px);box-shadow:0 12px 36px #1930440b}.class-schedule-card-head{border-bottom:1px solid #eeece6;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:23px;display:flex}.class-schedule-card-head h2{font-family:var(--display);color:var(--ink);margin:7px 0 0;font-size:clamp(19px,1.8vw,23px);font-weight:500;line-height:1.2}.class-schedule-time{white-space:nowrap;color:#344f42;background:#f3f4ef;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.class-schedule-time span{color:#a0a89e}.class-schedule-lines{padding:20px 0 6px}.class-schedule-line{color:#253b4b;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.class-schedule-line strong{font-weight:600}.class-schedule-line>span{color:#687982;text-align:right}.class-schedule-line.subclass{color:#53636a;border-left:1px solid #dedfd8;margin-left:18px;padding:5px 0 5px 14px;font-size:13px}.class-map-link{color:#48624f;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:600;display:inline-flex}.class-map-link:hover{text-decoration:underline}.classes-hero{padding-bottom:34px}@media (max-width:740px){.class-schedules-wrap{padding:24px 15px 55px}.class-schedule-grid{grid-template-columns:1fr;gap:14px}.class-schedule-card{padding:22px 18px}.class-schedule-card-head{flex-direction:column;gap:12px}.class-schedule-line{font-size:13px}}.classroom-maps-section{max-width:1160px;margin:0 auto;padding:0 28px 94px}.classroom-maps-heading{margin:0 0 26px}.classroom-maps-heading h2{color:var(--ink);font-family:var(--display);margin:6px 0 7px;font-size:clamp(30px,4vw,42px);font-weight:500;line-height:1.15}.classroom-maps-heading>p:last-child{color:#6b777b;margin:0;font-size:14px;line-height:1.6}.classroom-map-list{gap:22px;display:grid}.classroom-map-card{background:#fff;border:1px solid #e4e3dc;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px #1930440d}.classroom-map-card-head{border-bottom:1px solid #eae9e3;justify-content:space-between;align-items:center;gap:16px;padding:21px 25px;display:flex}.classroom-map-card-head>div{align-items:center;gap:15px;display:flex}.map-index{color:#50654d;background:#eef1e9;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.classroom-map-card h3{color:var(--ink);font-family:var(--display);margin:0;font-size:21px;font-weight:500}.classroom-map-card-head p{color:#758087;margin:4px 0 0;font-size:12px}.map-direction{color:#687873;letter-spacing:.12em;border:1px solid #e6e5dd;border-radius:999px;flex:none;padding:7px 10px;font-size:9px;font-weight:700}.classroom-map-image-link{background:#f6f6f2;padding:14px;display:block;position:relative}.classroom-map-image-link img{background:#fff;border:1px solid #e7e5df;border-radius:8px;width:100%;height:auto;display:block}.classroom-map-image-link>span{color:#354f43;background:#fffffff5;border:1px solid #e2e1d9e6;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:11px;font-weight:650;transition:transform .18s;display:flex;position:absolute;bottom:27px;right:27px;box-shadow:0 4px 12px #1423281f}.classroom-map-image-link:hover>span{transform:translateY(-2px)}.classroom-map-image-link b{font-size:14px}@media (max-width:740px){.classroom-maps-section{padding:0 15px 55px}.classroom-map-card-head{align-items:flex-start;padding:17px 15px}.classroom-map-card h3{font-size:17px}.classroom-map-card-head p{max-width:230px;line-height:1.45}.map-direction{padding:6px 8px;font-size:8px}.classroom-map-image-link{padding:8px}.classroom-map-image-link>span{padding:8px 10px;font-size:10px;bottom:16px;right:16px}}.footer-map-links{flex-wrap:wrap;gap:14px;margin-top:10px;display:flex}.footer-map-links .footer-map{margin:0}.home-hero h1{font-size:60px}.inner-hero{padding-top:26px;padding-bottom:34px}.inner-hero .breadcrumb{margin-bottom:28px}.inner-hero .eyebrow{margin-bottom:10px}.inner-hero h1{font-size:clamp(36px,4vw,50px)}.admin-heading h1,.auth-card h1,.access-denied h1{font-size:38px}@media (max-width:740px){.home-hero h1{font-size:50px}.inner-hero{padding:22px 24px 30px}.inner-hero .breadcrumb{margin-bottom:24px}.inner-hero h1{font-size:34px}.admin-heading h1,.auth-card h1,.access-denied h1{font-size:32px}}@media (max-width:1020px){.class-schedules-wrap{width:calc(100% - 48px);padding:30px 0 70px}.class-schedule-grid{grid-template-columns:1fr;gap:18px}}@media (max-width:740px){.class-schedules-wrap{width:100%;padding:24px 15px 55px}.class-schedule-grid{grid-template-columns:1fr;gap:14px}}@media (min-width:901px){.calendar-layout{grid-template-columns:minmax(0,1fr) 370px}.day-agenda{padding:28px 24px}.agenda-event{grid-template-columns:62px 1px minmax(0,1fr);gap:14px}.event-time{font-size:11px}.event-category{font-size:9px}.agenda-event h4{font-size:19px}.agenda-event p,.agenda-event a{font-size:12px}}@media (min-width:681px) and (max-width:900px){.calendar-layout{grid-template-columns:minmax(0,1fr) 300px}}@media (min-width:681px){.agenda-event{grid-template-columns:1px minmax(0,1fr);gap:14px}.event-meta{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.event-time{padding-top:0}.event-rule{align-self:stretch;min-height:100%}}@media (min-width:901px){.agenda-event{grid-template-columns:1px minmax(0,1fr);gap:16px}.event-meta{gap:14px}.agenda-event h4{margin-top:7px}}.agenda-event{grid-template-columns:1px minmax(0,1fr);gap:14px}.event-meta{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.event-time{padding-top:0}.event-rule{align-self:stretch;min-height:100%}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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-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-ease{syntax:"*";inherits:false}
/* Larger, more readable mobile typography across public and admin pages. */
@media (max-width: 680px) {
  .page-intro, .program-facts > div > span, .agenda-line > span, .agenda-line > small,
  .program-note, .missionary-card p, .missionary-encouragement p, .class-schedule-line,
  .calendar-footnote, .day-agenda, .admin-form label, .admin-form .field-hint,
  .admin-record-main > span, .page-footnote { font-size: 14px; }
  .agenda-line { grid-template-columns: minmax(105px, 40%) minmax(0, 1fr); font-size: 15px; line-height: 1.5; }
  .agenda-line > span { line-height: 1.4; }
  .program-facts strong, .class-schedule-line { font-size: 15px; }
  .program-title .eyebrow, .meeting-tag { font-size: 11px; }
  .admin-list-head p, .record-main > span { font-size: 13px; }
  .admin-form input:not([type=checkbox]), .admin-form textarea, .admin-form select { font-size: 16px; }
  .admin-tabs button { font-size: 13px; }
}

/* Comfortable defaults and larger interactive targets across the site. */
body { font-size: 17px; line-height: 1.65; }
button, input, select, textarea { line-height: 1.5; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #725b2f; outline-offset: 3px; }
.week-events-strip { background: #193044; color: #fff; }
.week-events-inner { max-width: 1280px; margin: 0 auto; padding: 26px 32px; display: grid; grid-template-columns: 1fr; align-items: start; gap: 16px; }
.week-events-heading .eyebrow { color: #e2c88e; margin: 0 0 5px; font-size: 12px; letter-spacing: .12em; }
.week-events-heading h2 { margin: 0; font: 500 clamp(22px, 2.5vw, 30px)/1.2 var(--display); }
.week-events-heading > p:last-child { color: #d1d8dc; margin: 5px 0 0; font-size: 15px; }
.week-events-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 2px 0; }
.week-event { min-width: 0; min-height: 66px; display: flex; align-items: center; gap: 14px; padding: 10px 14px; color: #193044; background: #fff; border-radius: 10px; }
.week-event:hover { background: #f3f0e8; }
.week-event-date { flex: 0 0 48px; display: grid; text-align: center; line-height: 1.25; }
.week-event-date strong { color: #53634f; font-size: 14px; }
.week-event-date span { font-size: 14px; }
.week-event-details { flex: 1; min-width: 0; display: grid; line-height: 1.4; }
.week-event-details strong { overflow-wrap: anywhere; font-size: 16px; }
.week-event-details > span { color: #53616a; font-size: 14px; }
.week-event-arrow { font-size: 21px; }
.week-events-toggle { justify-self: start; display: inline-flex; align-items: center; gap: 9px; margin-top: 2px; padding: 8px 12px; color: #fff; background: transparent; border: 1px solid rgb(255 255 255 / 45%); border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; }
.week-events-toggle:hover { background: rgb(255 255 255 / 10%); }
.week-events-toggle:focus-visible { outline-color: #e2c88e; }
.week-events-empty { margin: 0; color: #f1f1ed; font-size: 16px; }
.youth-disclosure { padding: 0; overflow: hidden; }
.youth-disclosure-toggle { min-height: 86px; padding: 24px clamp(21px, 3vw, 36px); display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.youth-disclosure-toggle::-webkit-details-marker { display: none; }
.youth-disclosure-toggle > span:first-child { display: grid; gap: 6px; }
.youth-disclosure-toggle .eyebrow { margin: 0; }
.youth-disclosure-title { color: var(--ink); font: 500 clamp(21px, 2.4vw, 28px)/1.3 var(--display); }
.youth-chevron { width: 13px; height: 13px; flex: 0 0 13px; border-right: 2px solid #53634f; border-bottom: 2px solid #53634f; transform: rotate(45deg) translateY(-3px); transition: transform .18s ease; }
.youth-disclosure:not([open]) .youth-chevron { transform: rotate(-45deg); }
.youth-disclosure-content { padding: 0 clamp(21px, 3vw, 36px) 28px; }
.youth-theme-card > .youth-disclosure-content > .youth-scripture { margin-top: 0; }
.youth-permission-card .youth-disclosure-content > p { margin: 0 0 18px; color: #53616a; font-size: 16px; line-height: 1.65; }
.youth-activity-items { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.youth-activity-items > span { flex: 1 1 200px; }
.youth-table { font-size: 17px; line-height: 1.6; }
.youth-table th, .youth-table td { padding: 17px 20px; }
.youth-table thead th { font-size: 14px; }
@media (max-width: 740px) {
  .week-events-inner { grid-template-columns: 1fr; gap: 14px; padding: 19px 20px; }
  .week-events-list { grid-template-columns: 1fr; }
  .youth-disclosure-toggle { min-height: 76px; padding: 20px 18px; }
  .youth-disclosure-content { padding: 0 18px 22px; }
  .youth-table { font-size: 16px; }
  .youth-table th, .youth-table td { padding: 14px 12px; }
}
.youth-content { max-width: 1160px; margin: 0 auto; padding: 30px 28px 84px; color: var(--ink); }
.youth-theme-card, .youth-permission-card { margin-bottom: 20px; }
.youth-theme-card h2, .youth-permission-card h2 { color: var(--ink); font: 500 clamp(21px, 2.4vw, 28px) var(--display); line-height: 1.25; }
.youth-theme-card > .eyebrow { margin-bottom: 8px; }
.youth-scripture { margin-top: 12px; color: #53616a; font-size: 16px; line-height: 1.7; }
.youth-theme-links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 13px; }
.youth-theme-links a { margin-top: 0; }
.youth-permission-card > p { margin: 16px 0; color: #53616a; font-size: 14px; line-height: 1.65; }
.youth-permission-card > .button { width: fit-content; }
.youth-activities-section { margin-top: 36px; }
.youth-activities-section .section-heading { margin-bottom: 17px; }
.youth-activities-section .section-heading h2 { color: var(--ink); font: 500 clamp(30px, 4vw, 42px) var(--display); }
.youth-tabs { display: flex; gap: 8px; border-bottom: 1px solid #e5e2da; margin-bottom: 18px; }
.youth-tab { color: #687982; cursor: pointer; border-bottom: 2px solid transparent; padding: 11px 16px; font-size: 14px; font-weight: 600; }
.youth-tab:hover { color: var(--ink); }
.youth-tab.selected { color: var(--ink); border-color: #7d6a44; }
.youth-tab:focus-visible { outline: 2px solid #7d6a44; outline-offset: 2px; }
.youth-schedule-card { padding: 0; overflow: hidden; }
.youth-table-scroll { width: 100%; overflow-x: auto; }
.youth-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.youth-table th, .youth-table td { border-bottom: 1px solid #eeece6; padding: 14px 16px; text-align: left; vertical-align: top; }
.youth-table thead th { color: #53616a; background: #faf9f6; font-size: 12px; font-weight: 650; }
.youth-table tbody th { width: 22%; color: #53616a; font-weight: 600; white-space: nowrap; }
.youth-table tbody tr:last-child > * { border-bottom: 0; }
.youth-men-table { min-width: 0; table-layout: fixed; }
.youth-men-table thead th:first-child { width: 24%; }
.youth-men-table thead th:not(:first-child) { width: 76%; }
.youth-women-table { min-width: 420px; }
.youth-schedule-card .empty-state { margin: 18px; }
@media (max-width: 680px) {
  .youth-content { padding: 23px 18px 55px; }
  .youth-theme-card, .youth-permission-card { padding: 21px 18px; }
  .youth-tabs { gap: 2px; }
  .youth-tab { flex: 1; padding: 12px 8px; font-size: 14px; }
  .youth-table { font-size: 14px; }
  .youth-table th, .youth-table td { padding: 12px; }
}

/* Keep disclosure cards and schedule rows readable after the page-specific rules. */
.youth-disclosure { padding: 0; }
.youth-table { font-size: 17px; line-height: 1.6; }
.youth-table th, .youth-table td { padding: 17px 20px; }
.youth-table thead th { font-size: 14px; }
@media (max-width: 740px) {
  .youth-disclosure { padding: 0; }
  .youth-table { font-size: 16px; }
  .youth-table th, .youth-table td { padding: 14px 12px; }
}

.youth-men-table tbody tr:has(td[colspan="3"]) td { vertical-align: middle; }

/* Calendar text stays legible in the month grid and the selected event details. */
.calendar-toolbar .eyebrow { font-size: 13px; }
.calendar-toolbar h2 { font-size: 34px; }
.calendar-control, .today-button { min-width: 46px; min-height: 44px; font-size: 18px; }
.calendar-month-controls { display: flex; align-items: center; gap: 9px; }
.weekday-row span { font-size: 13px; }
.day-grid { grid-auto-rows: minmax(92px, 1fr); }
.calendar-day { min-height: 92px; gap: 7px; padding: 8px; }
.day-number { width: 30px; height: 30px; font-size: 15px; }
.day-event-label { padding: 4px 6px; font-size: 12px; line-height: 1.35; }
.day-event-label i { width: 7px; height: 7px; }
.more-events { font-size: 12px; }
.day-agenda .eyebrow { font-size: 13px; }
.day-agenda h3 { font-size: 30px; }
.agenda-date { margin-bottom: 22px; font-size: 16px; }
.agenda-empty p { font-size: 16px; }
.event-time, .event-category { font-size: 14px; }
.agenda-event h4 { font-size: 23px; line-height: 1.35; }
.agenda-event p, .agenda-event a, .event-image-link { font-size: 16px; line-height: 1.6; }
.event-meta { row-gap: 8px; }
@media (max-width: 740px) {
  .calendar-toolbar { grid-template-columns: 1fr; align-items: stretch; gap: 16px; }
  .calendar-toolbar > div:first-child { width: 100%; }
  .calendar-controls { display: grid; grid-template-columns: 1fr; width: 100%; gap: 9px; }
  .calendar-controls > .calendar-view-link { width: 100%; }
  .calendar-month-controls { display: grid; grid-template-columns: 1fr 1.5fr 1fr; width: 100%; }
  .calendar-month-controls > button { width: 100%; }
  .calendar-toolbar h2 { font-size: 28px; }
  .calendar-month { overflow-x: auto; }
  .weekday-row, .day-grid { min-width: 620px; }
  .day-grid { grid-auto-rows: minmax(90px, 1fr); }
  .calendar-day { min-height: 90px; padding: 7px; }
  .day-event-label { height: auto; padding: 4px 5px; font-size: 12px; }
  .day-event-label i { width: 6px; height: 6px; margin-right: 4px; }
  .day-number { width: 28px; height: 28px; font-size: 14px; }
  .day-agenda { padding: 24px 18px; }
  .agenda-event h4 { font-size: 22px; }
}

/* Consistent, comfortable type scale across the rest of the site. */
body { font-size: 18px; line-height: 1.65; }
.primary-nav { font-size: 16px; gap: clamp(14px, 2.2vw, 32px); }
.primary-nav a, .header-auth, .mobile-menu nav a { font-size: 16px; }
.mobile-menu nav a { line-height: 1.5; padding: 12px 16px; }
.text-link, .light-link { font-size: 16px; }
.button { min-height: 48px; padding-inline: 22px; font-size: 16px; }
.eyebrow, .inner-hero .eyebrow, .home-hero .eyebrow { font-size: 13px; line-height: 1.5; }
.breadcrumb { font-size: 14px; }
.page-intro { font-size: 17px; line-height: 1.7; }
.hero-intro { font-size: 18px; line-height: 1.7; }
.hero-note { font-size: 16px; line-height: 1.6; }
.hero-note strong { font-size: 17px; }
.welcome-item h2 { font-size: 21px; }
.welcome-item p { font-size: 15px; line-height: 1.65; }
.sunday-date span, .sunday-date small { font-size: 14px; }
.sunday-date strong { font-size: 40px; }
.sunday-info .eyebrow { font-size: 13px; }
.sunday-info h3 { font-size: 27px; }
.sunday-info > p:last-child { font-size: 16px; line-height: 1.55; }
.program-date span, .program-date small { font-size: 14px; }
.program-date strong { font-size: 40px; }
.program-title .eyebrow { font-size: 13px; }
.program-title h2 { font-size: 29px; }
.meeting-tag { font-size: 13px; line-height: 1.4; }
.program-facts span, .agenda-line > span { font-size: 15px; line-height: 1.5; }
.program-facts strong { font-size: 18px; line-height: 1.4; }
.program-agenda h3 { font-size: 21px; }
.agenda-line { font-size: 17px; line-height: 1.55; padding-block: 12px; }
.agenda-line small { font-size: 15px; line-height: 1.55; }
.program-note, .page-footnote { font-size: 15px; line-height: 1.65; }
.section-kicker { font-size: 13px; }
.class-schedule-line { font-size: 17px; line-height: 1.6; padding-block: 11px; }
.class-schedule-line.subclass { font-size: 16px; }
.class-schedule-time { font-size: 15px; }
.class-map-link { font-size: 16px; }
.classroom-map-card-head p { font-size: 15px; line-height: 1.55; }
.classroom-map-card h3 { font-size: 24px; }
.missionary-card p, .missionary-encouragement p { font-size: 16px; line-height: 1.65; }
.quick-card .quick-label { font-size: 13px; }
.quick-card h3 { font-size: 29px; }
.footer-main h2 { font-size: 20px; }
.footer-main p, .footer-main > div > a:not(.ward-mark) { font-size: 15px; line-height: 1.75; }
.footer-bottom { font-size: 13px; }
.admin-tab, .admin-tabs button { font-size: 15px; }
.admin-tab span { font-size: 13px; }
.admin-form label, .admin-form .field-hint { font-size: 15px; line-height: 1.55; }
.admin-list-head p, .record-main > span { font-size: 15px; line-height: 1.5; }
.youth-tab { font-size: 16px; padding: 13px 18px; }
.youth-theme-card .youth-scripture, .youth-permission-card .youth-disclosure-content > p { font-size: 17px; }
.week-events-heading .eyebrow { font-size: 13px; }
.week-event-date strong, .week-event-date span { font-size: 15px; }
.week-event-details strong { font-size: 17px; }
.week-event-details > span { font-size: 15px; }
@media (max-width: 740px) {
  .primary-nav { font-size: 16px; }
  .mobile-menu nav a { font-size: 17px; }
  .button { min-height: 48px; font-size: 16px; }
  .page-intro { font-size: 16px; }
  .hero-intro { font-size: 17px; }
  .sunday-info h3 { font-size: 24px; }
  .sunday-info > p:last-child { font-size: 15px; }
  .program-title h2 { font-size: 25px; }
  .program-facts strong { font-size: 17px; }
  .agenda-line { grid-template-columns: minmax(120px, 42%) minmax(0, 1fr); gap: 10px; font-size: 16px; }
  .agenda-line > span, .agenda-line small { font-size: 14px; }
  .program-note, .page-footnote { font-size: 14px; }
  .footer-main p, .footer-main > div > a:not(.ward-mark) { font-size: 14px; }
  .admin-tab, .admin-tabs button { font-size: 14px; }
}
.youth-import-workspace { margin-top: 20px; }
.youth-activity-form { margin: 0 0 18px; }
.youth-activity-list { margin: 0 0 24px; }
.youth-activity-record { grid-template-columns: 70px minmax(0, 1fr) auto auto; align-items: center; }
.youth-activity-record .record-date { width: 70px; min-width: 70px; }
.youth-activity-summary { display: flex; min-width: 0; align-items: baseline; gap: 8px; line-height: 1.45; }
.youth-activity-summary strong { flex: 0 0 auto; color: var(--ink); font: 16px var(--display); white-space: nowrap; }
.youth-activity-separator { flex: 0 0 auto; color: #a1a59f; }
.youth-activity-name { min-width: 0; color: #687873; font-size: 14px; overflow-wrap: anywhere; }
.youth-activity-summary time { flex: 0 0 auto; color: #786444; font-size: 13px; font-weight: 650; white-space: nowrap; }
.youth-table tbody th > span, .youth-table tbody th > time { display: block; }
.youth-table tbody th > time { margin-top: 3px; color: #786444; font-size: .82em; }
.youth-table td, .youth-activity-items > span, .youth-activity-name { white-space: pre-line; }
.youth-men-activities { display: grid; gap: 5px; }
.youth-men-activities p { margin: 0; }
.youth-men-activities strong { color: #53634f; font-weight: 650; }
@media (max-width: 680px) {
  .youth-men-table { table-layout: fixed; width: 100%; }
  .youth-men-table thead th:first-child { width: 27%; }
  .youth-men-table thead th:last-child { width: 73%; }
  .youth-men-table tbody th { white-space: normal; overflow-wrap: normal; }
  .youth-men-table tbody th > span { white-space: nowrap; }
  .youth-men-table th, .youth-men-table td { padding: 11px 8px; }
  .youth-men-activities p { line-height: 1.45; }
}
.youth-validation-summary, .youth-activity-form .form-error { color: #b42318 !important; }
.youth-activity-form .youth-validation-summary { margin-top: 10px; }
@media (max-width: 680px) {
  .youth-activity-record { grid-template-columns: 44px minmax(0, 1fr) auto; align-items: start; gap: 8px; }
  .youth-activity-record .record-date { grid-column: 1; grid-row: 1 / span 2; width: 40px; min-width: 40px; height: 40px; }
  .youth-activity-summary { grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 2px; }
  .youth-activity-summary strong { font-size: 14px; white-space: normal; }
  .youth-activity-separator { display: none; }
  .youth-activity-name { font-size: 12px; line-height: 1.45; }
  .youth-activity-record .record-action { grid-column: 3; grid-row: 1; }
  .youth-activity-record .record-delete { grid-column: 3; grid-row: 2; }
}
.youth-import-workspace .admin-list-head { align-items: center; }
.youth-import-workspace .table-scroll { max-width: 100%; overflow-x: auto; margin-top: 14px; }
.youth-import-workspace .admin-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.youth-import-workspace .admin-table th, .youth-import-workspace .admin-table td { border-bottom: 1px solid #e8e5de; padding: 10px 12px; text-align: left; vertical-align: top; }
.youth-import-workspace .admin-table th { color: #43545c; background: #f7f6f2; font-weight: 650; }
.youth-import-workspace input[type="file"] { max-width: 100%; padding: 10px; border: 1px solid #d8d8d1; border-radius: 8px; }
.program-card { scroll-margin-top: 24px; }
.agenda-line .program-emphasis { color: #193044; font-weight: 750; }
.youth-page-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 24px; padding: 14px; background: #f2f1eb; border: 1px solid #e5e2da; border-radius: 14px; }
.youth-page-nav a { color: #334b43; background: #fff; border: 1px solid #deddd5; border-radius: 999px; padding: 10px 16px; font-size: 15px; font-weight: 600; }
.youth-page-nav a:hover, .youth-page-nav a:focus-visible { background: #e9ede5; border-color: #9aa78f; }
.youth-anchor { scroll-margin-top: 24px; margin-bottom: 18px; }
.youth-art-card { margin-bottom: 18px; }
.youth-theme-text { max-width: 72ch; padding: 22px 26px; border-left: 4px solid #c7ad78; border-radius: 0 12px 12px 0; background: #f8f7f3; color: #263b47; font-size: 19px; line-height: 1.8; }
.youth-theme-text p { margin: 0; }
.youth-theme-text p + p { margin-top: 14px; }
.youth-permission-guidance { margin: 0 0 14px; color: #465760; font-size: 17px; line-height: 1.75; }
.youth-permission-email { margin: 18px 0; color: #193044; font-size: 17px; line-height: 1.6; }
.youth-permission-email a { color: #806127; text-decoration: underline; text-underline-offset: 3px; }
.youth-form-button { background: #193044; color: #fff; }
.youth-form-button:hover { background: #28475e; }
.calendar-view-link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; color: #193044; background: #fff; border: 1px solid #d8d5cc; border-radius: 8px; font-size: 15px; font-weight: 650; }
.calendar-view-link:hover { background: #f2f1eb; }
.calendar-list-wrap { max-width: 1120px; }
.calendar-list-toolbar { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 22px; padding: 0 0 24px; border-bottom: 1px solid #e2dfd7; }
.calendar-list-toolbar .eyebrow { margin-bottom: 8px; }
.calendar-list-toolbar h2 { margin: 0; color: var(--ink); font: 500 clamp(34px, 5vw, 48px)/1.1 var(--display); }
.calendar-list-toolbar > div:first-child > p:last-child { margin: 8px 0 0; color: #53616a; font-size: 17px; }
.calendar-list-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.year-control { min-height: 48px; padding: 0 14px; color: #193044; background: #fff; border: 1px solid #d8d5cc; border-radius: 8px; cursor: pointer; font-size: 15px; font-weight: 600; }
.year-control:disabled { color: #737d78; background: #f1f0eb; cursor: default; }
.year-current { min-width: 58px; color: #193044; text-align: center; font-size: 20px; font-weight: 700; }
.calendar-list-months { display: grid; gap: 30px; padding-top: 28px; }
.calendar-list-month h3 { margin: 0 0 12px; color: #193044; font: 500 clamp(26px, 3vw, 32px)/1.2 var(--display); }
.calendar-list-events { display: grid; gap: 12px; }
.calendar-list-event { display: grid; grid-template-columns: minmax(140px, 190px) minmax(0, 1fr); gap: 20px; padding: 16px 22px; color: #193044; background: #fff; border: 1px solid #e4e1d9; border-left: 4px solid #7a896d; border-radius: 10px; }
.calendar-list-event-date { display: grid; align-content: start; gap: 4px; }
.calendar-list-event-date > span { color: #53634f; font-size: 16px; font-weight: 700; }
.calendar-list-event-date time { color: #193044; font-size: 18px; font-weight: 650; }
.calendar-list-event-content { min-width: 0; }
.calendar-list-event-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 5px; color: #53616a; font-size: 15px; }
.calendar-list-event-content h4 { margin: 0; color: #193044; font-size: 22px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.calendar-list-details { margin-top: 10px; color: #344b58; font-size: 16px; line-height: 1.65; }
.calendar-list-details summary { width: fit-content; color: #465e4b; cursor: pointer; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.calendar-list-details > p { max-width: 76ch; margin: 10px 0; }
.calendar-list-external-link { display: inline-block; margin: 8px 0; color: #725b2f; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.calendar-list-empty { margin-top: 28px; padding: 24px; background: #fff; border: 1px solid #e4e1d9; border-radius: 10px; }
.calendar-list-empty h3 { margin: 0 0 6px; color: #193044; font-size: 22px; }
.calendar-list-empty p { margin: 0; color: #53616a; font-size: 17px; }
.calendar-list-wrap .calendar-footnote { margin-top: 28px; }
@media (max-width: 680px) {
  .calendar-list-toolbar { align-items: flex-start; flex-direction: column; }
  .calendar-list-controls { width: 100%; }
  .calendar-list-controls .calendar-view-link { flex: 1 0 100%; }
  .year-control { flex: 1 1 auto; }
  .calendar-list-event { grid-template-columns: 1fr; gap: 9px; padding: 15px 16px; }
  .calendar-list-event-date { grid-template-columns: auto 1fr; align-items: baseline; gap: 8px; }
  .calendar-list-event-date > span { font-size: 15px; }
  .calendar-list-event-date time { font-size: 17px; }
  .calendar-list-event-content h4 { font-size: 21px; }
}
.event-editor-anchor { scroll-margin-top: 18px; }
.account-create-form { margin-bottom: 26px; }
.account-password-hint { margin: 12px 0 0; font-size: 13px; line-height: 1.55; }
.account-role-fieldset { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 18px 0 0; padding: 14px 16px; border: 1px solid #dfdcd3; }
.account-role-fieldset legend { padding: 0 6px; color: #53616a; font-size: 14px; font-weight: 700; }
.account-role-choice { margin: 0 !important; font-size: 14px !important; }
.account-role-choice input { width: 18px; height: 18px; accent-color: #193044; }
.account-list-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 8px; padding-bottom: 10px; border-bottom: 1px solid #eeece6; }
.account-list-heading h3 { margin: 0; color: #193044; font: 500 24px var(--display); }
.account-list-heading > span { color: #687873; font-size: 14px; }
.account-record { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid #efede7; }
.account-record-avatar { width: 42px; height: 42px; display: grid; place-items: center; color: #48624f; background: #eef1e9; border-radius: 50%; font-size: 14px; font-weight: 700; }
.account-record .record-main strong { font-size: 17px; }
.account-record .record-main > span { font-size: 14px; }
.event-list-tools { display: grid; gap: 14px; margin: 20px 0 10px; padding: 16px; background: #f8f7f3; border: 1px solid #e8e5dc; }
.event-search { display: grid; gap: 6px; max-width: 460px; color: #53616a; font-size: 13px; font-weight: 600; }
.event-search input { width: 100%; min-height: 42px; padding: 9px 12px; color: var(--ink); background: #fff; border: 1px solid #dfdcd3; }
.event-bulk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.event-select-visible { display: inline-flex; align-items: center; gap: 8px; color: #53616a; font-size: 13px; }
.event-select-visible input, .event-row-select { width: 17px; height: 17px; accent-color: #193044; cursor: pointer; }
.event-selected-count { color: #687873; font-size: 13px; }
.event-bulk-actions .button { min-height: 38px; font-size: 12px; }
.event-delete-all { color: #a35e4a; border-color: #d9b8ae; }
.event-title-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.event-title-controls label { display: grid; gap: 6px; min-width: min(100%, 300px); color: #53616a; font-size: 13px; font-weight: 600; }
.event-title-controls select { min-height: 40px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid #dfdcd3; }
.event-title-controls .button { min-height: 40px; font-size: 12px; }
.hidden-event-titles { padding-top: 12px; border-top: 1px solid #e4e1d9; }
.hidden-event-titles summary { width: fit-content; color: #53616a; cursor: pointer; font-size: 13px; font-weight: 600; }
.hidden-event-titles > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.hidden-event-titles > div > span { display: inline-flex; align-items: center; gap: 10px; padding: 6px 9px; background: #fff; border: 1px solid #e4e1d9; border-radius: 6px; font-size: 12px; }
.hidden-event-titles button { color: #7d6a44; cursor: pointer; background: transparent; font-size: 12px; text-decoration: underline; }
.admin-record:has(.event-row-select) { grid-template-columns: 20px 45px minmax(0, 1fr) auto auto; }
@media (max-width: 680px) {
  .event-list-tools { padding: 13px; }
  .event-bulk-actions { gap: 10px; }
  .event-title-controls { align-items: stretch; }
  .event-title-controls label { width: 100%; }
  .admin-record:has(.event-row-select) { grid-template-columns: 18px 34px minmax(0, 1fr) auto auto; gap: 7px; }
  .admin-record .event-row-select { width: 15px; height: 15px; }
  .account-create-form { padding: 18px 14px; }
  .account-role-fieldset { padding: 12px; }
}
/* Keep the full seven-day calendar visible on narrow screens. */
.weekday-short { display: none; }
@media (max-width: 680px) {
  .youth-page-nav { flex-wrap: nowrap; overflow-x: auto; padding: 10px; }
  .youth-page-nav a { flex: 0 0 auto; padding: 10px 13px; }
  .youth-theme-text { padding: 18px; font-size: 18px; }
}

@media (max-width: 740px) {
  .calendar-month { overflow: visible; }
  .weekday-row, .day-grid { min-width: 0; width: 100%; }
  .weekday-row > span { text-align: center; padding: 0 1px 8px; font-size: 10px; letter-spacing: .04em; }
  .weekday-long { display: none; }
  .weekday-short { display: inline; }
  .day-grid { grid-auto-rows: minmax(62px, 1fr); }
  .calendar-day { min-height: 62px; padding: 5px 3px; gap: 3px; }
  .day-number { width: 22px; height: 22px; font-size: 11px; }
  .day-events { width: 100%; gap: 1px; }
  .day-event-label { height: auto; max-width: 100%; padding: 1px 0; background: transparent; font-size: 8px; line-height: 1.2; }
  .day-event-label i { display: none; }
  .more-events { font-size: 8px; }
}

/* Private, share-by-link Sunday speaking assignments. */
.assignment-page { --assignment-ink: #233d38; --assignment-muted: #64736b; --assignment-gold: #bd8952; color: var(--assignment-ink); background: #f6f4ee; min-height: 100vh; }
.assignment-hero { position: relative; overflow: hidden; min-height: 440px; padding: clamp(52px, 8vw, 104px) max(24px, calc((100vw - 1040px) / 2)); background: #1f3934; color: #f8f5eb; }
.assignment-hero-inner { position: relative; z-index: 1; max-width: 730px; }
.assignment-brand { display: flex; align-items: center; gap: 11px; margin-bottom: 58px; color: #d4c9ac; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.assignment-brand span { color: #d9a768; font-size: 18px; }
.assignment-brand i, .assignment-footer small i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.assignment-hero .eyebrow, .assignment-section-heading .eyebrow { margin: 0 0 14px; color: #d8ad77; font-size: 11px; font-weight: 700; letter-spacing: .19em; }
.assignment-hero h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(48px, 7vw, 78px); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.assignment-hero h1 em { color: #d8ad77; font-weight: 400; }
.assignment-intro { max-width: 530px; margin: 22px 0 0; color: #d4ded7; font-size: 16px; line-height: 1.75; }
.assignment-hero-note { display: flex; align-items: center; gap: 10px; margin-top: 30px; color: #e9d5b2; font-size: 13px; }
.assignment-hero-note span:first-child { color: #d8ad77; font-size: 20px; }
.assignment-hero-art { position: absolute; top: 50%; right: max(8vw, calc((100vw - 1140px) / 2)); width: 250px; height: 250px; transform: translateY(-38%); opacity: .85; }
.sun-orbit { position: absolute; inset: 0; border: 1px solid #b99a6d55; border-radius: 50%; }
.orbit-two { inset: 28px; border-color: #d9c59b88; }
.sun-core { position: absolute; inset: 75px; display: grid; place-items: center; border-radius: 50%; background: #d2a66e; color: #203a34; font-size: 42px; box-shadow: 0 0 70px #d2a66e33; }
.assignment-content { max-width: 960px; margin: 0 auto; padding: 68px 24px 30px; }
.assignment-section-heading { margin-bottom: 28px; }
.assignment-section-heading .eyebrow { color: #a77a4b; }
.assignment-section-heading h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 4vw, 42px); font-weight: 400; letter-spacing: -.025em; }
.assignment-section-heading > p:last-child { margin: 8px 0 0; color: #66736c; font-size: 15px; }
.speaker-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 26px; margin: 0 0 20px; padding: 34px 38px 36px 30px; border: 1px solid #e4e1d8; border-radius: 5px; background: #fffefa; box-shadow: 0 8px 24px #283b3010; }
.speaker-number { display: flex; flex-direction: column; align-items: flex-start; padding-top: 1px; }
.speaker-number span { color: #b48656; font-family: Georgia, 'Times New Roman', serif; font-size: 46px; line-height: 1; }
.speaker-number i { width: 31px; height: 1px; margin: 15px 0 10px; background: #ccb08b; }
.speaker-number small, .detail-label { color: #8c9289; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.speaker-body h3 { max-width: 680px; margin: 0 0 24px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(24px, 3vw, 31px); font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.speaker-question { padding: 17px 19px; border-left: 2px solid #bd8952; background: #f7f4ed; }
.speaker-question p { margin: 5px 0 0; color: #394a42; font-size: 15px; line-height: 1.65; }
.speaker-reference { margin: 19px 0 22px; }
.speaker-reference p { margin: 5px 0 0; font-size: 14px; line-height: 1.6; }
.speaker-reference cite { font-family: Georgia, 'Times New Roman', serif; font-size: 16px; }
.speaker-reference p span { color: #788078; }
.conference-link { color: #31584a; text-decoration: underline; text-decoration-color: #bdc9bf; text-underline-offset: 3px; }
.conference-link:hover { color: #9a6b3f; text-decoration-color: currentColor; }
.speaker-guidance { border-top: 1px solid #ece9e1; padding-top: 18px; }
.speaker-guidance h4 { margin: 0 0 10px; color: #30473d; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.speaker-guidance ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.speaker-guidance li { position: relative; padding-left: 17px; color: #4e5a53; font-size: 14px; line-height: 1.65; }
.speaker-guidance li::before { position: absolute; top: .65em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #c39461; content: ''; }
.scripture { color: #314c40; font-family: Georgia, 'Times New Roman', serif; font-style: italic; }
.assignment-footer { display: flex; flex-direction: column; align-items: center; padding: 38px 12px 50px; text-align: center; }
.assignment-footer > span { color: #b78955; font-size: 22px; }
.assignment-footer p { max-width: 500px; margin: 10px 0 18px; color: #495a50; font-family: Georgia, 'Times New Roman', serif; font-size: 20px; line-height: 1.45; }
.assignment-footer small { display: flex; align-items: center; gap: 9px; color: #899188; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.assignment-unavailable { min-height: 55vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px; text-align: center; color: #233d38; }
.assignment-unavailable-mark { margin-bottom: 14px; color: #bd8952; font-size: 32px; }
.assignment-unavailable .eyebrow { color: #9b774f; font-size: 11px; letter-spacing: .16em; }
.assignment-unavailable h1 { max-width: 520px; margin: 10px 0; font-family: Georgia, 'Times New Roman', serif; font-size: 38px; font-weight: 400; }
.assignment-unavailable p:last-child { color: #66736c; }
@media (max-width: 700px) {
  .assignment-hero { min-height: 400px; padding: 38px 24px 45px; }
  .assignment-brand { margin-bottom: 48px; font-size: 9px; }
  .assignment-hero-art { top: auto; right: -88px; bottom: -48px; width: 190px; height: 190px; transform: none; opacity: .37; }
  .sun-core { inset: 58px; font-size: 32px; }
  .assignment-hero-note { max-width: 280px; font-size: 12px; }
  .assignment-content { padding: 44px 15px 20px; }
  .speaker-card { grid-template-columns: 1fr; gap: 17px; padding: 23px 20px 25px; }
  .speaker-number { flex-direction: row; align-items: center; gap: 10px; }
  .speaker-number span { font-size: 32px; }
  .speaker-number i { width: 24px; margin: 0; }
  .speaker-number small { font-size: 9px; }
  .speaker-body h3 { margin-bottom: 18px; }
}

/* Assignment page refinements: compact heading, clear speaker order, and time. */
.assignment-page { background: #f6f4ee; }
.assignment-page > .assignment-hero { display: none; }
.assignment-content { display: flex; flex-direction: column; padding-top: 44px; }
.assignment-page-heading { order: 0; margin: 0 0 34px; padding-bottom: 26px; border-bottom: 1px solid #e2ded4; }
.assignment-page-heading .assignment-brand { margin: 0 0 28px; color: #66736c; }
.assignment-page-heading .assignment-brand span { color: #bd8952; }
.assignment-page-heading .eyebrow { margin: 0 0 8px; color: #a77a4b; font-size: 11px; font-weight: 700; letter-spacing: .17em; }
.assignment-page-heading h1 { margin: 0; color: #233d38; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(36px, 5vw, 54px); font-weight: 400; line-height: 1.1; letter-spacing: -.035em; }
.assignment-page-heading h1 em { color: #a77a4b; font-weight: 400; }
.assignment-page-heading .assignment-intro { margin: 12px 0 14px; color: #64736b; }
.guidelines-link { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; margin-top: 3px; padding: 0 17px; border: 1px solid #31584a; border-radius: 4px; background: #31584a; color: #fffefa; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 3px 9px #233d381a; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.guidelines-link:hover { transform: translateY(-1px); border-color: #243f35; background: #243f35; color: #fffefa; }
.guidelines-link:focus-visible { outline: 3px solid #bd8952; outline-offset: 3px; }
.guidelines-link span { font-size: 16px; }
.assignment-section-heading { order: 1; }
.speaker-card { order: 10; }
.speaker-card.speaker-scott { order: 2; }
.speaker-card.speaker-uchtdorf { order: 3; }
.speaker-card.speaker-nelson { order: 4; }
.assignment-footer { order: 5; }
.speaker-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.speaker-title-row h3 { flex: 1; }
.speaker-meta { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; padding: 5px 0 0; text-align: right; }
.speaker-meta strong { color: #314c40; font-family: Georgia, 'Times New Roman', serif; font-size: 17px; font-weight: 400; }
.speaker-meta span { color: #9a744d; font-size: 12px; font-weight: 700; white-space: nowrap; }
@media (max-width: 700px) {
  .assignment-content { padding-top: 30px; }
  .assignment-page-heading .assignment-brand { margin-bottom: 22px; }
  .speaker-title-row { flex-direction: column; gap: 0; }
  .speaker-title-row h3 { margin-bottom: 10px; }
  .speaker-meta { align-items: flex-start; padding: 0 0 14px; text-align: left; }
}

/* Sacrament meeting speaking guidelines. */
.speaking-guidelines-page { min-height: 70vh; padding: 38px 22px 60px; color: #263d37; background: #f6f4ee; }
.speaking-guidelines-wrap { max-width: 820px; margin: 0 auto; }
.guidelines-back { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; margin: 0 0 27px; padding: 0 14px; border: 1px solid #aebcb1; border-radius: 4px; background: #fffefa; color: #31584a; font-size: 13px; font-weight: 700; text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.guidelines-back:hover { border-color: #31584a; background: #31584a; color: #fffefa; }
.guidelines-back:focus-visible { outline: 3px solid #bd8952; outline-offset: 3px; }
.guidelines-heading { padding: 0 0 27px; border-bottom: 1px solid #e2ded4; }
.guidelines-heading .eyebrow, .guideline-section .eyebrow { margin: 0 0 9px; color: #9c764d; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.guidelines-heading h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 5vw, 54px); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; }
.guidelines-heading h1 em { color: #a77a4b; font-weight: 400; }
.guidelines-heading > p:last-child { max-width: 680px; margin: 12px 0 0; color: #64736b; font-size: 15px; line-height: 1.75; }
.guideline-panel { margin: 24px 0 35px; padding: 22px 24px; border-left: 3px solid #bd8952; background: #fffefa; box-shadow: 0 5px 17px #283b300b; }
.guideline-panel p { margin: 0; color: #4f5e56; font-size: 14px; line-height: 1.75; }
.guideline-panel .guideline-reference { margin: 0 0 8px; color: #a0774b; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.guideline-section { margin: 0 0 30px; }
.guideline-section h2 { margin: 0 0 10px; color: #273f38; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(24px, 3vw, 30px); font-weight: 400; letter-spacing: -.02em; }
.guideline-section > p:not(.eyebrow) { margin: 0 0 12px; color: #526057; font-size: 14px; line-height: 1.8; }
.guideline-list { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }
.guideline-list li { position: relative; padding: 0 0 0 19px; color: #526057; font-size: 14px; line-height: 1.7; }
.guideline-list li::before { position: absolute; top: .66em; left: 2px; width: 5px; height: 5px; border-radius: 50%; background: #bd8952; content: ''; }
.guideline-considerations { padding: 22px 24px; background: #eeeee6; }
.guideline-considerations h2 { font-size: clamp(23px, 3vw, 28px); }
.guideline-considerations .guideline-list { margin-bottom: 14px; }
.guideline-time { padding-bottom: 24px; border-bottom: 1px solid #e2ded4; }
.guideline-time strong { color: #30473d; }
.guideline-time-alert { margin-top: 18px; padding: 17px 20px; border: 1px solid #dfc79f; border-left: 4px solid #b77e37; border-radius: 3px; background: #fbf3e4; box-shadow: 0 4px 13px #6149230d; }
.guideline-time-alert .eyebrow { margin: 0 0 7px; color: #95652c; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.guideline-time-alert p { margin: 0; color: #403b30; font-size: 15px; font-weight: 600; line-height: 1.75; }
.guidelines-closing { display: flex; flex-direction: column; align-items: center; padding: 25px 10px 5px; text-align: center; }
.guidelines-closing > span { color: #b78955; font-size: 21px; }
.guidelines-closing p { max-width: 610px; margin: 10px 0 16px; color: #495a50; font-family: Georgia, 'Times New Roman', serif; font-size: 19px; line-height: 1.55; }
.guidelines-closing small { color: #818a82; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
@media (max-width: 600px) {
  .speaking-guidelines-page { padding: 26px 17px 42px; }
  .guideline-panel, .guideline-considerations { padding: 18px; }
  .guideline-time-alert { padding: 15px 16px; }
}
