:root{--gold:#ffd881;--ink:#200e29;--light:#fff6dc}*{box-sizing:border-box}body{margin:0;background:#100b1a;color:#fff6eb;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.poster{position:relative;isolation:isolate;max-width:1800px;margin:auto;min-height:880px;padding:28px 2.5% 20px;background:radial-gradient(ellipse at 55% 12%,#5b144b 0,transparent 40%),radial-gradient(ellipse at 90% 85%,#674024 0,transparent 35%),linear-gradient(135deg,#251329,#080c20 70%);overflow:hidden}.portrait-art{position:absolute;z-index:-1;left:0;top:0;width:33.4%;height:85%;background-image:url('assets/reference.png');background-size:var(--art-width,100vw) auto;background-position:left top;background-repeat:no-repeat}.lion-art{position:absolute;z-index:-1;left:33.4%;top:0;width:28%;height:min(25.7vw,462px);background-image:url('assets/reference.png');background-size:var(--art-width,100vw) auto;background-position:calc(var(--art-width,100vw) * -.334) top;background-repeat:no-repeat;mask-image:linear-gradient(to bottom,#000 82%,transparent)}.headline{margin-left:60%;text-align:center;padding:0 0 22px;background:radial-gradient(ellipse,#110b1bb5 20%,transparent 75%)}.logo{font-family:Georgia,serif;font-size:clamp(45px,4.4vw,76px);line-height:1.1;letter-spacing:-.045em}.logo em{color:var(--gold);font-weight:400}.brand-caption{font-size:11px;letter-spacing:.22em;margin:7px 0 14px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(85px,10vw,180px);line-height:.9;letter-spacing:-.07em;margin:15px 0;color:#f9d685;background:linear-gradient(#fff5cc,#eaaa45 50%,#ffe8a6 80%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 45px #f5b95430}blockquote{font-family:Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,34px);line-height:1.15;margin:20px 0 12px}blockquote em{color:var(--gold)}.rooted{font-size:10px;letter-spacing:.18em;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:12px}.rooted:before,.rooted:after{content:'';height:1px;width:35px;background:#b98d48}.pricing{margin-left:32%;margin-top:45px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}.card{position:relative;border:1px solid #f7cb8c;border-radius:19px;background:linear-gradient(135deg,#fff7df,#ffe6b2);color:var(--ink);padding:28px 20px 18px;display:flex;flex-direction:column;box-shadow:0 0 25px #e3aa4426}.medallion{position:absolute;top:-24px;left:calc(50% - 26px);width:52px;height:52px;border-radius:50%;background:#2b1132;color:var(--gold);border:2px solid #ffe7aa;display:grid;place-items:center;font-size:31px;line-height:1}.label{text-align:center;font-size:14px;letter-spacing:.09em;font-weight:800;line-height:1.3;margin:7px 0}.subheading{text-align:center;font-size:10px;letter-spacing:.045em;line-height:1.4;min-height:28px;margin:5px 0}h2{font-family:Georgia,serif;letter-spacing:-.075em;font-size:clamp(62px,5.8vw,105px);font-weight:400;line-height:1;margin:5px 0 2px;text-align:center}.duration{text-align:center;letter-spacing:.1em;font-size:13px;font-weight:700;margin:8px 0}.discount{text-align:center;font-size:14px;font-weight:700;margin:10px 0;padding:9px 0;border-top:1px solid #74442635;border-bottom:1px solid #74442635}.discount span{display:block;font-size:10px;font-weight:400;margin-top:2px}ul{list-style:none;padding:0;margin:10px 0 20px;font-size:14px;line-height:1.35}li{position:relative;padding-left:25px;margin-bottom:10px}li:before{content:'✓';position:absolute;left:0;top:1px;width:18px;height:18px;background:#edb54b;border-radius:50%;color:#3b2332;text-align:center;font-size:12px;line-height:18px}button{font:inherit;font-size:13px;letter-spacing:.06em;font-weight:800;text-transform:uppercase;cursor:pointer;background:linear-gradient(#ffe09a,#e6a341);color:#241226;border:0;border-radius:6px;padding:14px 8px;min-height:48px;transition:filter .2s,transform .2s}.card button{margin-top:auto;width:100%}button:hover{filter:brightness(1.1);transform:translateY(-2px)}.standard{background:linear-gradient(145deg,#491b3d,#21102b);color:#fff6dc;border:2px solid #efc47e;box-shadow:0 0 22px #fbb45d44;transform:translateY(-12px)}.standard h2{color:#ffe2a3}.standard .discount,.generous .discount{border-color:#ffd38c35;color:#ffda8c}.ribbon{border-radius:30px;background:linear-gradient(#ffe6ae,#eab45c);color:#261228;padding:6px 5px;margin-top:0;font-size:12px}.generous{background:linear-gradient(145deg,#111326,#090d1a);color:#f2e7ff;border-color:#ddbeef}.generous .medallion{color:#e5c7ff;border-color:#dbc2f2;background:#100e20}.generous h2{color:#e4c4f9}.generous li:before{background:#c5a3e6}.generous button{background:linear-gradient(#e9d5ff,#a782ce)}.guidance{display:grid;grid-template-columns:1fr 1.2fr 1.15fr;gap:26px;margin-top:25px;padding:20px 28px;border:1px solid #cb9c5b;border-radius:18px;background:linear-gradient(110deg,#20131fea,#170f1ff5);box-shadow:0 0 35px #ffbc6130}.guidance>div{display:flex;align-items:center;gap:18px}.guidance>div+div{border-left:1px solid #8a6b4d;padding-left:25px}.guide-icon{font-size:42px;color:var(--gold);line-height:1}.guidance h3{font-size:12px;letter-spacing:.12em;font-weight:700;line-height:1.4;color:var(--gold);margin:0 0 5px}.guidance p{font-size:14px;line-height:1.35;margin:0}footer{max-width:1800px;margin:auto;padding:14px 3%;display:flex;gap:30px;align-items:center;justify-content:space-between;color:#bcb3c9;font-size:12px}footer p{max-width:950px;margin:0}footer span{white-space:nowrap}dialog{width:calc(100% - 36px);max-width:500px;background:#21102b;border:1px solid var(--gold);border-radius:18px;color:#fff6dc;padding:40px 30px}dialog::backdrop{background:#080511cc;backdrop-filter:blur(5px)}dialog h2{font-size:42px;letter-spacing:-.045em;margin:20px 0;text-align:left}dialog .label{text-align:left;color:var(--gold)}.selection{font-size:20px;color:var(--gold)}.note{font-size:13px;color:#d2c5db}.close{position:absolute;right:10px;top:10px;background:none;color:white;font-size:25px;padding:2px 10px}.close:hover{transform:none}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}@media(min-width:1800px){.poster{--art-width:1800px}}@media(max-width:1150px){.poster{padding:22px 2% 20px}.headline{margin-left:57%}.pricing{margin-left:29%;gap:10px}.card{padding:25px 12px 14px}.label{font-size:12px}ul{font-size:13px}.guidance{padding:18px;gap:15px}.guidance>div{gap:12px}.guidance>div+div{padding-left:15px}.guide-icon{font-size:32px}.guidance p{font-size:13px}.portrait-art{width:29%;height:75%}}@media(max-width:800px){.poster{padding:0 20px 24px;min-height:0}.portrait-art{--art-width:148vw;width:58%;height:350px;background-size:148vw auto;mask-image:linear-gradient(to bottom,#000 75%,transparent)}.lion-art{left:48%;width:52%;height:270px;background-size:148vw auto;background-position:-50vw 0;mask-image:linear-gradient(to bottom,#000 70%,transparent)}.headline{margin:0;padding-top:300px;background:none}.logo{font-size:52px}.brand-caption{font-size:10px}h1{font-size:108px;margin:22px 0}blockquote{font-size:27px}.rooted{font-size:9px}.pricing{margin:38px auto 0;max-width:490px;grid-template-columns:1fr;gap:40px}.card{padding:30px 26px 24px}.label{font-size:15px}.subheading{font-size:11px;min-height:0}h2{font-size:91px}.duration{font-size:14px}.discount span{font-size:12px}ul{font-size:16px;line-height:1.45;margin:15px 0 20px}.standard{transform:none}.ribbon{font-size:13px;width:fit-content;margin:4px auto 6px;padding:7px 18px}.card button{font-size:14px;min-height:52px}.guidance{max-width:490px;margin:25px auto 0;grid-template-columns:1fr;gap:22px;padding:24px}.guidance>div+div{border-left:0;border-top:1px solid #8a6b4d;padding-left:0;padding-top:20px}.guidance p{font-size:15px}.guidance h3{font-size:12px}.guide-icon{min-width:32px}footer{flex-direction:column;gap:10px;align-items:flex-start;padding:16px 22px}footer p{font-size:12px;line-height:1.6}}@media(prefers-reduced-motion:reduce){button{transition:none}}

/* A continuous image with feathered portrait and lion boundaries. */
.portrait-art{width:100%;height:100%;background-size:100% auto;background-position:left top;clip-path:none;mask-image:linear-gradient(to right,#000 29.5%,transparent 33.4%),linear-gradient(to right,#000 53%,transparent 60%),linear-gradient(to bottom,#000 min(22.5vw,405px),transparent min(25.5vw,459px));mask-composite:add,intersect;-webkit-mask-composite:source-over,source-in}
.lion-art{display:none}
.logo{position:relative;display:inline-block}
.brand-sun{position:absolute;width:72px;height:34px;top:-27px;right:6px;background-image:url('assets/reference.png');background-size:1003.2px 564.6px;background-position:-768px -7.2px;background-repeat:no-repeat;mask-image:linear-gradient(to bottom,#000 87%,transparent)}
.headline{padding-top:25px}
@media(max-width:1150px) and (min-width:801px){.portrait-art{mask-image:linear-gradient(to right,#000 26%,transparent 29%),linear-gradient(to right,#000 53%,transparent 60%),linear-gradient(to bottom,#000 22.5vw,transparent 25.5vw)}}
@media(max-width:800px){.portrait-art{width:100%;height:38vw;background-size:148% auto;clip-path:none;mask-image:linear-gradient(to bottom,#000 90%,transparent);mask-composite:add;-webkit-mask-composite:source-over}.headline{padding-top:calc(38vw + 43px)}.brand-sun{right:0}}

/* Reference lettering has gently open spacing. */
h1{letter-spacing:.025em;font-size:clamp(78px,8.5vw,153px)}
@media(max-width:800px){h1{font-size:clamp(65px,21vw,108px);letter-spacing:.025em}}

/* Clean artwork continues behind the cards; there is no horizontal cutout. */
.portrait-art{background-image:url('assets/faithmov-art-v2.png');width:100%;height:100%;background-size:100% auto;clip-path:none;mask-image:linear-gradient(to bottom,#000 min(48vw,864px),transparent min(56.3vw,1014px));mask-composite:add;-webkit-mask-composite:source-over}
.headline{background:none}
@media(max-width:1150px) and (min-width:801px){.portrait-art{mask-image:linear-gradient(to bottom,#000 48vw,transparent 56.3vw)}}
@media(max-width:800px){.portrait-art{height:38vw;background-size:148% auto;mask-image:linear-gradient(to bottom,#000 90%,transparent);mask-composite:add;-webkit-mask-composite:source-over}}
/* Restore the original face pixels over the continuous background. */
.portrait-art::after{content:'';position:absolute;inset:0;background-image:url('assets/reference.png');background-size:100% auto;background-position:left top;background-repeat:no-repeat;mask-image:radial-gradient(ellipse min(15vw,270px) min(14vw,252px) at 28% min(18vw,324px),#000 80%,transparent 100%),linear-gradient(to bottom,#000 min(24vw,432px),transparent min(26vw,468px));mask-composite:intersect;-webkit-mask-composite:source-in}
@media(max-width:800px){.portrait-art::after{background-size:148% auto;mask-image:radial-gradient(ellipse 22.2vw 20.72vw at 41.44% 26.64vw,#000 80%,transparent 100%),linear-gradient(to bottom,#000 35.52vw,transparent 38.48vw)}}

.support-banner{position:relative;display:flex;align-items:center;max-width:1800px;margin:auto;background:#130e20;color:#f6d99b;border-bottom:1px solid #ffd88138;min-height:44px;padding-right:82px;font-size:14px;line-height:1.5}
.banner-window{overflow:hidden;width:100%}
.banner-track{display:flex;width:max-content;animation:support-scroll 65s linear infinite}
.banner-track span{white-space:nowrap;padding:11px 36px;flex-shrink:0}
.support-banner:hover .banner-track,.support-banner:focus-within .banner-track,.support-banner.paused .banner-track{animation-play-state:paused}
.banner-toggle{position:absolute;right:10px;top:7px;min-height:30px;font-size:11px;padding:4px 9px;background:none;color:#f6d99b;border:1px solid #f6d99b55;border-radius:4px;text-transform:none;letter-spacing:0;font-weight:400}
.banner-toggle:hover{transform:none;background:#ffffff0a}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes support-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.support-banner{padding:10px 20px}.banner-track{animation:none;width:auto}.banner-track span{white-space:normal;padding:0}.banner-track span+span,.banner-toggle{display:none}}

.service-policy{margin:20px 0 0 32%;padding:14px 18px;border:1px solid #ffd88130;border-radius:10px;background:#140d20df;color:#e2d5eb}.service-policy h3{font-size:12px;letter-spacing:.1em;color:#f6d99b;margin:0 0 6px}.service-policy p{font-size:13px;line-height:1.6;margin:0}@media(max-width:1150px) and (min-width:801px){.service-policy{margin-left:29%}}@media(max-width:800px){.service-policy{max-width:490px;margin:20px auto 0}}

.card .booking-link{display:flex;align-items:center;justify-content:center;margin-top:auto;width:100%;font:inherit;font-size:13px;letter-spacing:.06em;font-weight:800;text-transform:uppercase;background:linear-gradient(#ffe09a,#e6a341);color:#241226;border:0;border-radius:6px;padding:14px 8px;min-height:48px;text-align:center;transition:filter .2s,transform .2s}
.card .booking-link:hover{filter:brightness(1.1);transform:translateY(-2px)}
.generous .booking-link{background:linear-gradient(#e9d5ff,#a782ce)}
@media(max-width:800px){.card .booking-link{font-size:14px;min-height:52px}}
@media(prefers-reduced-motion:reduce){.card .booking-link{transition:none}}
/* Mobile-only framing: show the complete face and hand before the blend. */
@media(max-width:800px){
 .portrait-art{height:64vw;background-size:148% auto;mask-image:linear-gradient(to bottom,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
 .headline{padding-top:calc(64vw + 32px)}
 .brand-sun{mix-blend-mode:screen;mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 100%)}
 .logo{font-size:clamp(42px,13vw,52px)}
 .brand-caption{font-size:10px;letter-spacing:.16em}
 .rooted{flex-wrap:wrap;gap:8px}
 .pricing,.card{min-width:0}
}
/* Transparent sun artwork blends directly into the page at every width. */
.brand-sun{background-image:url('assets/faithmov-sun-transparent.png');background-size:contain;background-position:center;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal}
/* Touch devices requesting the desktop view need room for serif descenders. */
@media(min-width:801px) and (hover:none) and (pointer:coarse){
 .headline h1{line-height:1.1;padding:.04em .12em .12em}
}

/* A quiet regular-price reference above the supported session cards. */
.usual-rate{margin:18px 0 0;text-align:center;color:#cbb477;font-size:14px;font-weight:400;line-height:20px}
