@font-face{font-family:Allura;src:url('../fonts/Allura-Regular.ttf') format('truetype');font-display:swap}
/* Public welcome design. Portal workspaces retain their own appearance controls. */
#authScreen{background:#faf8f5;color:#514d5d;--public-plum:var(--landing-deep,#3f1948);--public-gold:var(--landing-rose,#b68735)}
#authScreen .auth-card{display:flex;flex-direction:column;max-width:1800px;margin:auto;background:var(--landing-pale,#faf8f5)}
#authScreen .public-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 3%;background:#fff;border-bottom:1px solid #eee8e3;position:relative;z-index:5}
#authScreen .brand-lockup{padding:0;min-height:60px;gap:8px;background:none;box-shadow:none;text-decoration:none;flex:0 1 350px;min-width:0}
#authScreen .brand-mark{width:65px;height:65px;flex:0 0 65px;border:0;border-radius:0;box-shadow:none;background:white}
#authScreen .brand-lockup h1{font-family:Georgia,serif;font-size:25px;line-height:1.07;letter-spacing:1.3px;text-transform:uppercase;color:var(--public-plum);max-width:280px;font-weight:500}
#authScreen .brand-lockup p{font-size:8px;line-height:1.4;letter-spacing:1.3px;text-transform:uppercase;color:var(--public-plum);margin:5px 0 0;font-weight:600}
#authScreen .public-navigation{display:flex;align-items:center;gap:clamp(14px,2.2vw,36px)}
#authScreen .public-navigation button{font-size:12px;padding:13px 0;border:0;background:none;color:var(--public-plum);white-space:nowrap;border-bottom:2px solid transparent}
#authScreen .public-navigation button:hover,#authScreen[data-auth-view="home"] .public-navigation button:first-child{color:#966f27;border-bottom-color:var(--public-gold)}
#authScreen .public-header-actions{display:flex;align-items:center;gap:18px;flex:none}
#authScreen .public-search{width:36px;height:40px;display:grid;place-items:center;background:none;border:0;color:var(--public-plum)}
#authScreen .public-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
#authScreen .public-login{display:flex;align-items:center;gap:10px;background:var(--public-plum);border:1px solid var(--public-plum);border-radius:30px;color:white;padding:12px 23px;white-space:nowrap;font-size:13px;box-shadow:0 3px 12px #3f194818}
#authScreen button:focus-visible,#authScreen a:focus-visible{outline:3px solid var(--public-gold);outline-offset:4px}
#authScreen #homePanel{min-height:0;order:1}
#authScreen .landing-hero{position:relative;display:flex;align-items:center;isolation:isolate;min-height:590px;padding:48px 5.8%;background:#faf9f7;border:0;overflow:hidden;gap:0}
#authScreen .landing-banner{position:absolute;inset:0;z-index:-1;margin:0;width:100%;max-width:none;height:100%;border:0;border-radius:0;box-shadow:none;background:#f9f8f6}
#authScreen .landing-banner img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
#authScreen .landing-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf9f8 0%,#faf9f8f7 25%,#faf9f8df 37%,#faf9f866 51%,transparent 68%)}
#authScreen .landing-hero-copy{width:53%;max-width:610px;flex:none;text-align:inherit;position:relative;z-index:1}
#authScreen .landing-tag,#authScreen .public-eyebrow{display:block;background:none;color:var(--public-plum);border:0;border-radius:0;padding:0;text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:3.8px;font-weight:600}
#authScreen .landing-hero h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:var(--public-plum);font-size:clamp(48px,5.8vw,var(--landing-heading-size,78px));line-height:.98;letter-spacing:-2.8px;margin:10px 0 20px;text-shadow:none;white-space:normal}
#authScreen .landing-hero h2 span{display:block}
#authScreen .landing-hero h2 em{display:block;font-family:Allura,cursive;color:var(--public-gold);font-weight:400;font-style:normal;letter-spacing:-1px;font-size:clamp(54px,6.8vw,98px);line-height:1.05;white-space:nowrap;margin:6px 0 0}
#authScreen .landing-hero #landingWelcome{max-width:490px;font-family:Georgia,serif;font-size:var(--landing-body-size,18px);color:#514d60;line-height:1.45;margin:0}
#authScreen .landing-actions{margin:18px 0 14px;gap:10px;display:flex;flex-wrap:wrap;justify-content:flex-start}
#authScreen #homePanel .btn{background:var(--public-plum);border:1px solid var(--public-plum);color:#fff;box-shadow:none;border-radius:30px;font-size:13px;font-weight:500;padding:12px 27px;min-height:42px}
#authScreen #homePanel .btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
#authScreen #landingPrimaryButton:after,#authScreen .public-community .btn:after,#authScreen .public-next .btn:after{content:' →';margin-left:14px}
#authScreen #homePanel #landingCreateButton{background:transparent;color:var(--public-plum);border-color:transparent;padding:10px 3px;text-decoration:underline;text-underline-offset:4px;font-size:11px}
#authScreen .landing-hero #landingJourney{font-family:Georgia,serif;font-style:italic;color:#51425a;font-size:16px;line-height:1.4;max-width:430px;margin:0}
#authScreen .hero-handwriting{position:absolute;bottom:24px;right:4%;margin:0;color:white;font-family:Allura,cursive;font-size:37px;line-height:1;text-align:center;transform:rotate(-8deg);text-shadow:0 2px 5px #0009}
#authScreen .hero-handwriting:after{content:'';display:block;width:110px;margin:10px 0 0 auto;border-bottom:2px solid #c59b4a;transform:rotate(-4deg)}
#authScreen .public-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;padding:22px 3%;gap:0}
#authScreen .public-benefit{text-align:center;padding:0 12px;border-right:1px solid #cba76a}
#authScreen .public-benefit:last-child{border:0}
#authScreen .public-benefit svg{display:block;width:32px;height:34px;margin:0 auto 8px;fill:none;stroke:var(--public-gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#authScreen .public-benefit h3{color:var(--public-plum);text-transform:uppercase;font-size:12px;letter-spacing:1.5px;font-weight:600;margin:0 0 5px}
#authScreen .public-benefit p{font-size:12px;line-height:1.4;margin:0;color:#615e6d}
#authScreen .public-topics{padding:35px 2.4% 20px;background:linear-gradient(110deg,#fcfbfa,#f5f1ef)}
#authScreen .public-section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;margin:0 2.4% 26px;align-items:center}
#authScreen .public-eyebrow:after{content:'';display:inline-block;width:55px;margin:0 0 3px 12px;border-top:2px solid var(--public-gold)}
#authScreen #homePanel h2:not(#landingHeading){font-family:Georgia,serif;font-weight:400;color:var(--public-plum);letter-spacing:-1px;line-height:1.05;font-size:clamp(28px,3.5vw,45px);margin:6px 0 0;white-space:pre-line}
#authScreen .public-section-intro>p{font-family:Georgia,serif;font-size:16px;line-height:1.5;margin:0}
#authScreen .public-topic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
#authScreen .public-topic{padding:0;border:0;background:#eee9e3;display:flex;flex-direction:column;overflow:hidden;color:var(--public-plum);text-align:center;border-radius:2px;transition:box-shadow .2s,transform .2s;min-width:0}
#authScreen .public-topic:hover{transform:translateY(-4px);box-shadow:0 10px 25px #3f194820}
#authScreen .public-topic[hidden]{display:none}
#authScreen .public-topic img{display:block;width:100%;height:clamp(120px,14vw,200px);object-fit:cover}
#authScreen .public-topic span{display:grid;place-items:center;min-height:57px;padding:11px 7px;font-size:12px;letter-spacing:1.3px;text-transform:uppercase;font-weight:600;line-height:1.4}
#authScreen .topic-0 img{object-position:38% 94%;transform:scale(1.04)}
#authScreen .topic-1 img{object-position:90% center}
#authScreen .topic-4 img{object-position:right bottom}
#authScreen .public-scripture{background:linear-gradient(110deg,var(--public-plum),#613d63);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 6%}
#authScreen .public-scripture blockquote{font-family:Georgia,serif;font-size:26px;font-style:italic;line-height:1.3;margin:0 0 5px;font-weight:400}
#authScreen .public-scripture p{margin:0;font-family:Georgia,serif;font-size:15px;letter-spacing:1.5px}
#authScreen .public-scripture>div:after{content:'';display:block;width:58px;border-top:2px solid var(--public-gold);margin-top:11px}
#authScreen .public-scripture #landingClosing{font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;max-width:43%;line-height:1.8}
#authScreen .public-community{display:grid;grid-template-columns:1.1fr .8fr .38fr;align-items:center;gap:36px;background:#fff}
#authScreen .public-community>img{width:100%;height:330px;object-fit:cover}
#authScreen .public-community-copy{padding:24px 0}
#authScreen #homePanel .public-community h2{font-size:clamp(27px,2.9vw,39px);margin:10px 0}
#authScreen .public-community-copy>p{font-size:13px;line-height:1.6;margin:0 0 18px}
#authScreen .community-handwriting{font-family:Allura,cursive;font-size:33px;line-height:1.12;white-space:pre-line;color:var(--public-plum);transform:rotate(-10deg);margin:0 25px 0 0;text-align:center}
#authScreen .community-handwriting:after{content:'';display:block;border-top:2px solid var(--public-gold);width:100px;margin:14px auto 0;transform:rotate(-5deg)}
#authScreen .public-next{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;min-height:180px;padding:28px 4% 28px 45%;background:#f6f3ef;overflow:hidden;isolation:isolate}
#authScreen .public-next-photo{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,#f6f3ef 47%),url('../landing/study-hero.webp') left 87%/60% auto no-repeat}
#authScreen #homePanel .public-next h2{font-size:31px;margin:6px 0}
#authScreen .public-next p{font-size:14px;line-height:1.5;margin:5px 0}
#authScreen #homePanel .public-next .btn{background:var(--public-gold);border-color:var(--public-gold);color:#231a2d;align-self:center;white-space:nowrap}
#authScreen .home-contact{background:#fff;color:#5c5360;font-size:12px;padding:20px;line-height:1.7;border-top:1px solid #eee7e4}
#authScreen .home-contact a{color:var(--public-plum);overflow-wrap:anywhere}
#authScreen .public-access{order:3;background:#f3eeef;padding:20px 4%;border-top:1px solid #e5dce6}
#authScreen .public-access>p{font-size:10px;letter-spacing:3px;text-align:center;color:var(--public-plum);margin:0 0 12px}
#authScreen .home-icon-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0;background:none;border:0}
#authScreen .home-icon{width:auto;min-height:38px;padding:8px 12px;display:flex;gap:7px;align-items:center;border:1px solid #ddd1df;border-radius:6px;background:#fff;color:var(--public-plum);box-shadow:none;font-size:11px}
#authScreen .home-icon-symbol{font-size:16px;margin:0}
#authScreen .home-icon .landing-tab-label{font-size:11px}
#authScreen .global-copyright{order:4;background:var(--public-plum);color:#eee4ed;border:0;margin:0;font-size:11px;line-height:1.5}
#authScreen #signinPanel,#authScreen #createPanel,#authScreen #forgotPanel,#authScreen .tabs{order:2}
#authScreen[data-auth-view="signin"] .public-access,#authScreen[data-auth-view="create"] .public-access,#authScreen[data-auth-view="forgot"] .public-access{order:1}
#authScreen #signinPanel,#authScreen #createPanel,#authScreen #forgotPanel{width:min(92%,550px);align-self:center;background:white;border:1px solid #e4dae5}
#authScreen .tabs{align-self:center;width:min(92%,550px)}
@media(min-width:1450px){#authScreen .landing-hero{min-height:660px}#authScreen .landing-hero h2{font-size:88px}}
@media(max-width:1100px){#authScreen .public-header{gap:14px;padding-inline:2.5%}#authScreen .brand-lockup{flex-basis:295px}#authScreen .brand-lockup h1{font-size:21px}#authScreen .brand-mark{width:52px;height:52px;flex-basis:52px}#authScreen .public-navigation{gap:18px}#authScreen .public-header-actions{gap:7px}#authScreen .public-login{padding:11px 17px;font-size:12px}#authScreen .landing-hero{min-height:510px}#authScreen .landing-hero-copy{width:57%}#authScreen .public-community{gap:25px;grid-template-columns:1fr .85fr .3fr}#authScreen .community-handwriting{font-size:28px;margin-right:16px}#authScreen .public-next{grid-template-columns:1fr auto;padding-left:41%}#authScreen .public-next .public-eyebrow{letter-spacing:2px;font-size:9px}}
@media(max-width:900px){#authScreen .public-header{flex-wrap:wrap;gap:6px 16px}#authScreen .brand-lockup{flex:1}#authScreen .public-navigation{order:3;justify-content:center;width:100%;gap:35px}#authScreen .public-navigation button{padding:8px 0}#authScreen .landing-hero-copy{width:64%}#authScreen .landing-hero{min-height:520px;padding:35px 5%}#authScreen .landing-banner:after{background:linear-gradient(90deg,#faf9f8fa,#faf9f8e0 40%,#faf9f865 67%,transparent)}#authScreen .public-section-intro{gap:25px}#authScreen .public-topic-grid{gap:9px}#authScreen .public-topic span{font-size:10px;letter-spacing:.8px}#authScreen .public-community{grid-template-columns:1fr 1fr;gap:24px}#authScreen .public-community-copy{padding-right:24px}#authScreen .community-handwriting{display:none}#authScreen .public-next{padding-left:37%;grid-template-columns:1fr}#authScreen .public-next .btn{justify-self:start}#authScreen .public-scripture blockquote{font-size:23px}}
@media(max-width:600px){#authScreen .public-header{padding:12px 14px;gap:10px}#authScreen .brand-lockup h1{font-size:16px;letter-spacing:1px;max-width:205px}#authScreen .brand-lockup p{font-size:6.7px;letter-spacing:.55px}#authScreen .brand-mark{width:42px;height:48px;flex-basis:42px}#authScreen .public-header-actions{gap:1px}#authScreen .public-search{width:26px;height:36px}#authScreen .public-login{font-size:10px;padding:9px 10px;gap:5px}#authScreen .public-login span{display:none}#authScreen .public-navigation{gap:0;justify-content:space-between}#authScreen .public-navigation button{font-size:11px;padding:7px 8px}#authScreen .landing-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0;background:#faf9f8}#authScreen .landing-banner{position:relative;inset:auto;order:2;width:100%;height:260px;z-index:0}#authScreen .landing-banner img{object-position:75% center}#authScreen .landing-banner:after{background:linear-gradient(#faf9f8,transparent 18%)}#authScreen .landing-hero-copy{width:100%;padding:30px 26px 15px;max-width:none;order:1}#authScreen .landing-tag{font-size:8px;letter-spacing:2.8px}#authScreen .landing-hero h2{font-size:57px;line-height:.94;margin:12px 0 16px;letter-spacing:-2px}#authScreen .landing-hero h2 em{font-size:64px;margin:6px 0 0}#authScreen .landing-hero #landingWelcome{font-size:16px;line-height:1.45}#authScreen .landing-hero #landingJourney{font-size:14px;max-width:100%}#authScreen .hero-handwriting{z-index:1;font-size:29px;bottom:18px;right:20px}#authScreen .landing-actions{margin:16px 0}#authScreen #homePanel .btn{font-size:12px;padding:11px 21px}#authScreen .public-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0;padding:24px 12px}#authScreen .public-benefit:nth-child(2){border:0}#authScreen .public-benefit h3{font-size:10px;letter-spacing:1px}#authScreen .public-benefit p{font-size:11px}#authScreen .public-topics{padding:28px 18px 24px}#authScreen .public-section-intro{grid-template-columns:1fr;gap:14px;margin:0 0 21px}#authScreen .public-eyebrow{font-size:8px;letter-spacing:2.7px}#authScreen .public-section-intro>p{font-size:15px}#authScreen .public-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#authScreen .public-topic:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}#authScreen .public-topic:last-child[hidden]{display:none}#authScreen .public-topic img{height:130px}#authScreen .public-topic span{font-size:10px;min-height:48px}#authScreen .public-scripture{display:block;padding:25px 25px}#authScreen .public-scripture blockquote{font-size:24px}#authScreen .public-scripture #landingClosing{max-width:none;font-size:9px;letter-spacing:2px;margin-top:18px}#authScreen .public-community{display:flex;flex-direction:column;gap:0;align-items:stretch}#authScreen .public-community>img{height:245px}#authScreen .public-community-copy{padding:28px}#authScreen #homePanel .public-community h2{font-size:33px}#authScreen .public-next{padding:30px 26px;min-height:220px}#authScreen .public-next-photo{opacity:.2;background-size:cover}#authScreen .public-next p{max-width:330px}#authScreen .public-access{padding:20px 15px}#authScreen .home-icon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#authScreen .home-icon{justify-content:center;padding:10px 5px}#authScreen .home-icon .landing-tab-label{font-size:10px}}
@media(max-width:360px){#authScreen .brand-mark{width:34px;flex-basis:34px}#authScreen .brand-lockup h1{font-size:14px}#authScreen .brand-lockup p{font-size:6px}#authScreen .public-search{display:none}#authScreen .landing-hero h2 em{font-size:56px}#authScreen .landing-hero-copy{padding-inline:21px}}
@media(prefers-reduced-motion:reduce){#authScreen *{scroll-behavior:auto!important;transition:none!important}}
/* Keep the reference section sequence when an older saved layout uses flex order. */
#authScreen #homePanel{display:flex;flex-direction:column}
#authScreen #homePanel .landing-hero{order:1}
#authScreen .public-benefits{order:3}
#authScreen .public-topics{order:4}
#authScreen .public-scripture{order:5}
#authScreen .public-community{order:6}
#authScreen .public-next{order:7}
#authScreen #homePanel .home-contact{order:8}
#authScreen .public-topic-photo{width:100%;overflow:hidden}
#authScreen .topic-0 img{transform:scale(2);transform-origin:25% 88%}
#authScreen .topic-1 img{transform:scale(1.4);transform-origin:95% 55%}
#authScreen .topic-4 img{transform:scale(1.55);transform-origin:right bottom}
#authScreen .public-login svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
@media(max-width:600px){#authScreen .public-login svg{display:none}}
#authScreen .hero-handwriting{white-space:pre-line}
#authScreen .public-login [data-public-copy]{display:inline}
/* Header navigation and quieter, fully visible photography. */
#authScreen .public-header{flex-wrap:wrap;gap:12px 24px;padding-bottom:0}
#authScreen .public-header .public-access{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 18px;flex:1 0 100%;order:3;padding:0;background:none;border-top:1px solid #eee7eb}
#authScreen .public-header .home-icon-grid,#authScreen .public-extra-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 18px;background:none;box-shadow:none;border:0}
#authScreen .public-header .home-icon{min-height:44px;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;font-weight:500;color:var(--public-plum);width:auto;white-space:nowrap}
#authScreen .public-header .home-icon-symbol{display:none}
#authScreen .public-header .landing-tab-label,#authScreen .public-extra-navigation .home-icon{font-size:12px}
#authScreen .public-header .home-icon:hover,#authScreen[data-auth-view="home"] [data-landing-tab="home"]{border-bottom-color:var(--public-gold);color:#966f27}
#authScreen .landing-banner{left:30%;width:70%;background:#faf9f8}
#authScreen .landing-banner img{object-fit:contain;object-position:right center}
#authScreen .landing-banner:after{background:linear-gradient(90deg,#faf9f8 0%,#faf9f8df 8%,#faf9f877 24%,transparent 46%)}
#authScreen .public-community{grid-template-columns:1.05fr 1fr;gap:42px}
#authScreen .public-community-copy{padding:30px 9% 30px 0}
#authScreen .public-topic{cursor:default;transition:none}
#authScreen .public-topic:hover{transform:none;box-shadow:none}
@media(min-width:1450px){#authScreen .landing-hero{min-height:590px}}
@media(max-width:900px){#authScreen .public-header .public-access,#authScreen .public-header .home-icon-grid,#authScreen .public-extra-navigation{gap:0 18px}#authScreen .landing-banner{left:26%;width:74%}#authScreen .public-community{gap:24px}}
@media(max-width:600px){#authScreen .public-header .public-access{display:block}#authScreen .public-header .home-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}#authScreen .public-header .home-icon{justify-content:center;padding:10px 0;white-space:normal;text-align:center}#authScreen .public-header .landing-tab-label,#authScreen .public-extra-navigation .home-icon{font-size:10px;line-height:1.4}#authScreen .public-extra-navigation{justify-content:center;gap:28px}#authScreen .landing-banner{left:auto;width:100%;height:auto;min-height:0}#authScreen .landing-banner img{height:auto;max-height:340px;object-fit:contain}#authScreen .landing-banner:after{background:linear-gradient(#faf9f8,transparent 16%)}#authScreen .public-community-copy{padding:28px}}
#authScreen .landing-hero #landingWelcome{max-width:450px}
@media(max-width:600px){#authScreen .public-header{gap:10px}}
#authScreen .about-hero .landing-tag{display:inline-block;color:#fff;background:rgba(35,15,45,.55);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 16px;font-size:16px;font-weight:700;letter-spacing:1.5px;line-height:1.5}
@media(max-width:600px){#authScreen .about-hero .landing-tag{font-size:14px;letter-spacing:1px;padding:6px 13px}}
/* Legible branding shared by Home, About, Policy and every sign-in page. */
#authScreen .brand-lockup h1{font-size:26px;letter-spacing:1px}
#authScreen .brand-lockup p{font-size:9px;letter-spacing:1px}
#authScreen .about-hero .landing-tag{font-size:18px;letter-spacing:1px;background:#3f1948}
#authScreen .public-scripture>div{flex:1;min-width:0}
#authScreen .public-scripture blockquote{font-size:clamp(21px,2.2vw,27px);line-height:1.45;max-width:820px}
#authScreen .public-scripture #landingClosing{flex:0 1 30%}
@media(max-width:600px){#authScreen .brand-lockup h1{font-size:18px;letter-spacing:.5px}#authScreen .brand-lockup p{font-size:8px;letter-spacing:.4px}#authScreen .about-hero .landing-tag{font-size:16px;letter-spacing:.8px}}
@media(min-width:601px){#authScreen .public-header .brand-lockup{flex:0 1 410px}}

/* Let the hero photo flow into the white reading area and surrounding page. */
#authScreen .landing-hero{background:#fff}
#authScreen .landing-banner{background:transparent}
#authScreen .landing-banner img{mask-image:linear-gradient(to right,transparent,#000 24%),linear-gradient(to bottom,transparent,#000 5%,#000 90%,transparent);mask-composite:intersect;opacity:1;filter:none}
#authScreen .landing-banner:after{background:none}
#authScreen .public-contact-wrap{padding:48px 24px 60px;text-align:center;background:linear-gradient(135deg,#fff,#f7f2ec)}
#authScreen .public-contact-card{max-width:680px;margin:0 auto 24px;padding:clamp(25px,5vw,52px);background:#fff;border:1px solid #e6d9c6;border-radius:24px;box-shadow:0 15px 50px #3f194810}
#authScreen .public-contact-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:0 auto 22px;background:#f8f1e5;color:#956921;font-size:30px}
#authScreen .public-contact-card h3{font-family:Georgia,serif;font-size:clamp(26px,4vw,36px);line-height:1.2;font-weight:400;color:var(--public-plum);margin:18px 0}
#authScreen .public-contact-card p{line-height:1.7}
#authScreen .public-contact-email{display:block;color:var(--public-plum);overflow-wrap:anywhere;margin:24px 0;text-underline-offset:4px}
#authScreen .public-contact-button{display:inline-flex;gap:20px;background:var(--public-plum);color:white;border-radius:30px;padding:13px 28px;text-decoration:none}
#authScreen[data-auth-view="contact"] .public-extra-navigation .home-icon{border-bottom-color:var(--public-gold);color:#966f27}

@media(min-width:601px){#authScreen .landing-banner{inset:50% 0 auto auto;width:min(62%,880px);height:auto;transform:translateY(-50%)}#authScreen .landing-banner img{height:auto;object-fit:contain;object-position:center}}

@media(max-width:600px){#authScreen .landing-banner img{mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent)}}

@media(max-width:600px){#authScreen .landing-banner{width:100%;margin-inline:auto}#authScreen .landing-banner img{height:auto;max-height:none}}


/* Full-width hero background with a white reading area, not an inset photo. */
@media(min-width:601px){
 #authScreen .landing-banner{inset:0;width:100%;height:100%;transform:none}
 #authScreen .landing-banner img{width:88%;height:100%;margin-left:auto;object-fit:cover;object-position:right 48%;mask-image:none}
 #authScreen .landing-banner:after{background:linear-gradient(90deg,#fff 0%,#fff 29%,rgba(255,255,255,.97) 36%,rgba(255,255,255,.7) 44%,transparent 61%),linear-gradient(0deg,#fff,transparent 9%)}
}
@media(max-width:600px){
 #authScreen .landing-hero{background:#fff}
 #authScreen .landing-banner{width:100%;margin:0}
 #authScreen .landing-banner img{mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 92%,transparent)}
}

/* Organic, flowing photo silhouette that expands with the screen. */
@media(min-width:601px){
 #authScreen .landing-banner img{width:100%;height:100%;margin:0;object-fit:cover;object-position:center 48%;mask-image:radial-gradient(ellipse 75% 100% at 94% 38%,#000 55%,rgba(0,0,0,.85) 66%,transparent 92%)}
 #authScreen .landing-banner:after{background:linear-gradient(90deg,#fff 0%,#fff 27%,rgba(255,255,255,.96) 35%,rgba(255,255,255,.65) 44%,transparent 62%),linear-gradient(0deg,#fff,transparent 12%)}
}
@media(max-width:600px){
 #authScreen .landing-banner img{width:100%;mask-image:radial-gradient(ellipse 90% 75% at 57% 49%,#000 59%,rgba(0,0,0,.9) 72%,transparent 98%)}
}

/* Compact single-line public branding. */
#authScreen .public-header{padding-top:8px;gap:6px 20px}
#authScreen .public-header .brand-lockup{flex:1 1 auto;min-height:46px}
#authScreen .brand-lockup h1{max-width:none;white-space:nowrap;font-size:clamp(18px,2.15vw,28px);letter-spacing:.5px;line-height:1.1}
#authScreen .brand-mark{width:46px;height:46px;flex-basis:46px}
#authScreen .brand-lockup p{margin-top:4px}
@media(max-width:600px){
 #authScreen .public-header{padding:8px 14px 0;gap:4px}
 #authScreen .public-header .brand-lockup{flex:1 0 100%;min-height:36px;gap:6px}
 #authScreen .brand-mark{width:30px;height:36px;flex-basis:30px}
 #authScreen .brand-lockup h1{font-size:clamp(11px,3.25vw,19px);letter-spacing:.2px}
 #authScreen .brand-lockup p{font-size:7px;letter-spacing:.5px;margin-top:3px}
 #authScreen .public-header-actions{margin-left:auto}
 #authScreen .public-login{padding:6px 10px}
}

/* Preserve the photograph's natural proportions without enlarging or cropping it. */
@media(min-width:601px){
 #authScreen .landing-banner{display:flex;align-items:center;justify-content:flex-end}
 #authScreen .landing-banner img{width:auto;height:auto;max-width:68%;max-height:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(to right,transparent,#000 18%),linear-gradient(to bottom,transparent,#000 3%,#000 94%,transparent);mask-composite:intersect}
 #authScreen .landing-banner:after{background:linear-gradient(90deg,#fff 0%,#fff 28%,rgba(255,255,255,.9) 35%,transparent 50%)}
}

#classInterestForm{text-align:left;margin-top:24px}
#classInterestForm label{display:block;margin-bottom:6px}
#classInterestForm input,#classInterestForm textarea{width:100%;box-sizing:border-box}
#classInterestForm .public-contact-button{width:100%;justify-content:center}
#contactFormStatus:not(:empty){margin-top:16px}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.class-inquiry-row{width:100%;text-align:left;cursor:pointer;white-space:normal}
.class-inquiry-row small{overflow-wrap:anywhere}

/* Saved administrator controls for the current welcome-page design. */
#authScreen .landing-hero{background:var(--photo-background,#fff)}
#authScreen[data-photo-style="natural"] .landing-banner img{mask-image:none}
#authScreen[data-photo-style="natural"] .landing-banner:after{background:none}
#authScreen[data-public-font="modern"] .landing-hero h2,
#authScreen[data-public-font="modern"] .landing-hero h2 em,
#authScreen[data-public-font="modern"] .landing-hero #landingWelcome{font-family:var(--landing-font);letter-spacing:normal}
@media(min-width:601px){
 #authScreen .landing-banner img{max-width:var(--photo-width,68%)}
 #authScreen .landing-banner{align-items:stretch}
 #authScreen .landing-banner img{align-self:center;position:relative;top:calc((var(--photo-position,50%) - 50%) * .4)}
 #authScreen[data-photo-style="blended"] .landing-banner img{mask-image:linear-gradient(to right,transparent,#000 var(--photo-blend,18%)),linear-gradient(to bottom,transparent,#000 3%,#000 94%,transparent)}
 #authScreen[data-photo-style="blended"] .landing-banner:after{background:linear-gradient(90deg,var(--photo-background,#fff) 0%,var(--photo-background,#fff) 28%,transparent 50%)}
}
@media(max-width:600px){
 #authScreen[data-photo-style="blended"] .landing-banner img{mask-image:linear-gradient(to bottom,transparent,#000 var(--photo-blend,18%),#000 calc(100% - var(--photo-blend,18%)),transparent)}
}
