:root{--banner-height:112px;--rail-width:184px;--layout-gap:24px}
html{scroll-padding-top:calc(var(--banner-height) + 20px)}
body{padding-top:var(--banner-height);padding-right:calc(var(--rail-width) + var(--layout-gap) + 20px)}
.site-header{display:none!important}
.byu-wide-banner{position:fixed;z-index:90;inset:0 0 auto;background:#fff9ed;border-bottom:2px solid #d78736;box-shadow:0 3px 20px #51331a14;color:#20384b;padding:0}
.banner-inner{min-height:110px;max-width:1720px;margin:auto;padding:14px 28px;display:flex;align-items:center;gap:28px}
.byu-wide-banner .brand{font-size:25px;min-width:125px;flex-shrink:0}.byu-wide-banner .brand img{width:48px;height:48px}.byu-wide-banner .brand small{display:none}
.banner-copy{flex:1;min-width:0;display:grid;gap:5px}.banner-copy strong{font-size:clamp(21px,2vw,30px);line-height:1.4}.banner-copy span{font-size:16px;line-height:1.5}
.banner-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:380px}
.byu-wide-banner .brand{display:flex!important;align-items:center;gap:12px;font-size:30px;min-width:170px;line-height:1.2}.byu-wide-banner .brand img{width:64px;height:64px;flex-shrink:0}.banner-inner{min-height:90px;gap:24px;padding-block:12px}.banner-actions{max-width:550px;flex-wrap:nowrap;flex-shrink:0}.banner-language.multilingual-language{position:relative;margin:0;padding:0;width:auto;max-width:none}.banner-language .locale-picker>summary{min-height:44px;font-size:14px;box-sizing:border-box}.banner-language .locale-choices{max-height:min(70vh,640px);overflow-y:auto;right:0;left:auto}
.banner-actions>button{flex:0 1 auto;max-width:170px;min-width:90px;white-space:normal;overflow-wrap:anywhere}.banner-actions>.banner-language{flex:0 1 auto;min-width:85px;max-width:150px}.banner-language .locale-picker>summary bdi{white-space:normal;overflow-wrap:anywhere}.banner-actions>a{flex-shrink:0}
.banner-actions button,.byu-tall-banner button,.byu-tall-banner>a,.banner-actions>a{border:1px solid #ba6c32;border-radius:7px;background:#fffdf7;color:#94420f;font:600 16px/1.45 system-ui;padding:10px 14px;cursor:pointer;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.banner-actions>a,.byu-tall-banner>a{background:#a6480b;color:white}
.byu-tall-banner{position:fixed;z-index:40;right:20px;top:calc(var(--banner-height) + 20px);bottom:20px;width:var(--rail-width);box-sizing:border-box;padding:18px 14px;display:flex;flex-direction:column;align-items:stretch;gap:16px;background:#fff9ed;border:1px solid #dfc39e;border-left:4px solid #c26015;border-radius:12px;overflow-y:auto}
.rail-brand{font-size:25px}.rail-message{white-space:pre-line;font-size:25px;font-weight:700;line-height:1.5;margin:0;color:#923f0e}.byu-tall-banner img{width:100%;height:auto;max-height:32vh;object-fit:contain;align-self:center}.byu-tall-banner nav{display:grid;gap:8px;margin-top:auto}.byu-tall-banner button{padding:8px;font-size:15px}
.multilingual-language{position:relative;z-index:50}.review-banner{margin-top:0}
.app-introduction-region .viewer-tab-wrap{position:static!important;top:auto!important}.app-introduction-region{width:100%;max-width:none!important}
.library-explanation{padding:22px!important;max-width:100%!important;width:100%;min-width:0;box-sizing:border-box;grid-column:1/-1}.library-explanation>h3{font-size:24px;line-height:1.55;overflow-wrap:anywhere}.library-explanation>p{font-size:17px;line-height:1.8}.library-explanation [data-library-presentation]{margin-top:30px;min-width:0;max-width:100%}
.library-explanation .section .wrap{width:100%;max-width:none;padding:0}.library-explanation .section{padding:28px 0}.library-explanation .story-track{gap:20px}.library-explanation .story-card{min-width:260px}.library-explanation .story-card img{width:100%;height:auto;max-height:none}
.library-explanation .viewer-panel{min-height:0!important}.library-explanation .app-summary{padding:22px 0}.library-explanation .app-summary h2{font-size:26px}.library-explanation .app-summary p{font-size:17px}.library-explanation .story-section h2,.library-explanation .video-section h2{font-size:28px}.library-explanation .section p{font-size:17px;line-height:1.8}
.library-explanation .video-section{background:transparent}.library-explanation .story-section{background:transparent}.library-explanation .viewer-tabs{flex-wrap:wrap;display:flex}.library-explanation .viewer-tabs button{flex:1 1 140px;min-height:44px;font-size:16px}.library-explanation .app-detail-dialog .wrap{width:100%}
.library-explanation .story-gallery{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:20px;overflow-x:auto;padding:0 0 14px}.library-explanation .story-gallery figure{width:auto;min-width:260px;margin:0}.library-explanation .story-gallery img{width:100%;height:auto}.library-explanation .story-gallery figcaption{font-size:16px;line-height:1.6}
.library-explanation .app-introduction-region #panel-how-to>.story-section>.wrap{width:100%;max-width:100%}.library-explanation .app-introduction-region #panel-how-to .story-gallery{max-width:100%;min-width:0}.library-explanation .video-layout{min-width:0}.library-explanation .app-summary>div{min-width:0}
@media(min-width:1500px){:root{--rail-width:210px}.banner-inner{padding-inline:40px}}
@media(max-width:1100px){body{padding-right:0}.byu-tall-banner{position:relative;inset:auto;width:auto;margin:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.byu-tall-banner img{display:none}.rail-message{font-size:22px}.byu-tall-banner nav{grid-row:1/4;grid-column:2}.byu-tall-banner>a{grid-column:1}.banner-inner{padding:12px 18px;gap:18px}.banner-copy span{display:none}.banner-actions{max-width:320px}.banner-copy strong{font-size:21px}}
@media(max-width:650px){.banner-inner{flex-wrap:wrap;gap:8px 14px;padding:10px 14px}.byu-wide-banner .brand{font-size:22px;min-width:90px}.byu-wide-banner .brand img{width:34px;height:34px}.banner-copy strong{font-size:18px}.banner-actions{max-width:none;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.banner-actions button,.banner-actions>a{font-size:14px;padding:8px 4px;min-width:0;overflow-wrap:anywhere}.library-explanation{padding:14px!important}.library-explanation .section p,.library-explanation .app-summary p{font-size:17px}.library-explanation .story-card{min-width:270px}.library-explanation .story-section h2,.library-explanation .video-section h2{font-size:25px}.byu-tall-banner{margin:12px;padding:16px}.rail-message{font-size:20px}}
@media(max-width:900px){.library-explanation .story-gallery{grid-template-columns:repeat(3,minmax(280px,1fr));scroll-snap-type:x mandatory}.library-explanation .story-gallery figure{scroll-snap-align:start;min-width:280px}}
@media(min-width:651px) and (max-width:1100px){.banner-copy{display:none}.banner-inner{justify-content:space-between}.banner-actions{max-width:none}.byu-wide-banner .brand{min-width:160px}}
@media(max-width:650px){.banner-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 14px;min-height:0}.byu-wide-banner .brand{grid-column:1/3;grid-row:1;font-size:26px;min-width:0;gap:9px}.byu-wide-banner .brand img{width:48px;height:48px}.banner-copy{display:none}.banner-actions{display:contents}.banner-actions>button:first-child{grid-column:1/3;grid-row:2}.banner-actions>button:nth-child(2){grid-column:3/5;grid-row:2}.banner-language{grid-column:3;grid-row:1;min-width:0}.banner-actions>a{grid-column:4;grid-row:1;text-align:center;font-size:13px;padding:6px 2px}.banner-language .locale-picker>summary{font-size:14px;padding:7px 5px;min-height:44px;gap:3px}.banner-language .locale-mark{display:none}.banner-actions>button{font-size:16px}.banner-language .locale-choices{position:fixed;top:calc(var(--banner-height) + 4px);left:12px;right:12px;width:auto;max-width:calc(100vw - 24px)}}
@media(max-width:359px){.byu-wide-banner .brand{grid-column:1/3;font-size:24px}.banner-language{grid-column:3/5}.banner-actions>a{grid-column:3/5;grid-row:2}.banner-actions>button:first-child{grid-row:2;grid-column:1/3}.banner-actions>button:nth-child(2){grid-row:3;grid-column:1/5}}
@media(max-width:650px){.banner-actions>button{max-width:none;min-width:0}.banner-actions>.banner-language{min-width:0;max-width:100%}}
.library-continuous-content{min-width:0}.library-explanation [data-library-presentation]{margin-top:0}.library-continuous-content .compact-library-intro{padding:8px 0 24px}.compact-library-intro .hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:center}.compact-library-intro .pill{display:none}.compact-library-intro h1{font-size:36px;line-height:1.35;margin:0 0 8px}.compact-library-intro .compact-tagline{font-size:29px;font-weight:700;color:#bd4c13;margin:0 0 12px}.compact-library-intro .hero-lead,.compact-library-intro .hero-purpose{font-size:17px;line-height:1.7;margin:8px 0 12px}.compact-library-intro .product-name{margin:12px 0}.compact-library-intro .product-name img{width:52px;height:52px}.compact-library-intro .product-name strong{font-size:30px}.compact-library-intro .product-name span{font-size:15px}.compact-library-intro .hero-visual{margin:0;min-width:0}.compact-library-intro .phones{height:340px;max-width:100%;display:flex;justify-content:center;align-items:center;gap:12px}.compact-library-intro .phone{width:44%;max-width:155px;transform:none!important}.compact-library-intro .phone img{width:100%;height:auto;display:block}.compact-library-intro .visual-tag{font-size:14px}.compact-library-intro .hero-visual figcaption{font-size:13px}.library-continuous-content .news-section{padding:22px 0;border-top:1px solid #dccbb5;border-bottom:1px solid #dccbb5}.library-continuous-content .news-card{padding:20px;max-width:none}.library-continuous-content .news-list p{font-size:16px}.continuous-how-to{padding-top:26px}.continuous-how-to>h2{font-size:27px;margin:0 0 14px}.library-continuous-content .story-section{padding:8px 0 24px}.library-continuous-content .story-gallery{max-width:100%;min-width:0}.library-continuous-content .video-section{padding-bottom:8px}.library-continuous-content .hero-visual .phone{border-radius:24px}.library-continuous-content .story-gallery{scroll-snap-type:x mandatory}
@media(max-width:850px){.compact-library-intro .hero-grid{grid-template-columns:1fr}.compact-library-intro h1{font-size:32px}.compact-library-intro .phones{height:300px}.compact-library-intro .phone{max-width:130px}.compact-library-intro .hero-visual{max-width:420px;width:100%;margin:auto}.compact-library-intro .compact-tagline{font-size:27px}.library-continuous-content .news-card{padding:16px}.library-continuous-content .news-list>li{grid-template-columns:1fr;gap:4px}.compact-library-intro .product-name{flex-wrap:wrap}.library-continuous-content .story-gallery{display:flex;gap:18px;overflow-x:auto}.library-continuous-content .story-gallery figure{flex:0 0 285px;min-width:285px}.library-continuous-content .video-layout{display:block}.library-continuous-content .video-player{margin:20px 0}.library-continuous-content .video-frame{width:100%}}
#next-overview .compact-library-intro .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;gap:28px;min-height:0}#next-overview .compact-library-intro .hero-grid>div{display:flex;flex-direction:column;align-items:flex-start}#next-overview .compact-library-intro .product-name{display:flex!important;order:-1;margin:0 0 16px}#next-overview .compact-library-intro .hero-purpose{display:block!important;font-size:16px;line-height:1.7}#next-overview .compact-library-intro .hero-visual{display:block!important;width:100%;max-width:none;justify-self:stretch;padding:0 14px}#next-overview .compact-library-intro .phones{height:380px;gap:16px;transform:none}#next-overview .compact-library-intro .phone{width:46%!important;max-width:170px!important}#next-overview .compact-library-intro .visual-tag{display:table;font-size:14px;margin:12px auto 6px}#next-overview .compact-library-intro figcaption{display:block;font-size:13px}#next-overview .compact-library-intro h1{font-size:36px}#next-overview .compact-library-intro .button{font-size:16px;min-height:48px;padding:10px 20px}
@media(max-width:850px){#next-overview .compact-library-intro .hero-grid{grid-template-columns:minmax(0,1fr)!important}#next-overview .compact-library-intro .phones{height:300px}#next-overview .compact-library-intro .phone{max-width:135px!important}#next-overview .compact-library-intro .hero-visual{max-width:360px;padding:0 4px}#next-overview .compact-library-intro h1{font-size:30px}#next-overview .compact-library-intro .product-name span{font-size:14px}}
.catalogue-intro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 12px}.catalogue-intro-cards article{border-top:3px solid #bd662b;padding:14px 0 0;min-width:0}.catalogue-intro-cards h3{font-size:21px;margin:0 0 8px}.catalogue-intro-cards p{font-size:17px;line-height:1.8;margin:0}.catalogue-intro-availability{font-size:16px!important;line-height:1.7;margin:12px 0 24px;color:#5a6265}.discovery-heading h2{line-height:1.5}
.catalogue-intro-card{min-width:0;border-top:3px solid #bd662b}.catalogue-intro-card summary,.catalogue-intro-more summary{cursor:pointer;min-height:44px;padding:10px 8px;font-size:19px;font-weight:700;line-height:1.35}.catalogue-intro-card summary:focus-visible,.catalogue-intro-more summary:focus-visible{outline:3px solid #175b8d;outline-offset:2px}.catalogue-intro-card p{font-size:16px;line-height:1.7;margin:4px 8px 12px}.catalogue-intro-more{margin:0 0 12px;border:1px solid #cadbe6;border-radius:6px}.catalogue-intro-more summary{font-size:16px}.catalogue-intro-more>div{padding:0 10px 8px}.catalogue-intro-more .catalogue-intro-availability{margin:6px 0 10px}.catalogue-intro-more [data-app-rollout-notice]{margin:8px 0!important}
@media(max-width:760px){.catalogue-intro-cards{grid-template-columns:1fr;gap:16px}.catalogue-intro-cards article{padding-top:10px}.catalogue-intro-cards h3{font-size:21px}.catalogue-intro-cards p{font-size:17px}.discovery-heading h2{font-size:24px}}
@media(max-width:760px){.catalogue-intro-cards{gap:8px;margin:12px 0 8px}.catalogue-intro-card summary{font-size:18px}}
@media(min-width:1101px){body{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);column-gap:16px;padding-inline:20px}body>main,body>.site-footer{grid-column:1;min-width:0}body>main{grid-row:1}body>.site-footer{grid-row:2}.byu-tall-banner{position:sticky;grid-column:2;grid-row:1/3;align-self:start;inset:auto;top:calc(var(--banner-height) + 20px);margin-top:20px;width:100%;height:calc(100dvh - var(--banner-height) - 40px)}main>.next-release>.wrap{width:100%;max-width:none;margin:0}}
.byu-tall-banner{scrollbar-gutter:stable}.byu-tall-banner>*{flex-shrink:0}.byu-tall-banner .rail-message{font-size:23px;line-height:1.4}.rail-feature-stack{display:grid;gap:20px;min-width:0}.rail-feature{border-top:2px solid #d58b51;padding-top:14px;min-width:0}.rail-feature h3{font-size:19px;line-height:1.5;margin:0 0 12px;letter-spacing:0;overflow-wrap:anywhere}.rail-feature .rail-description{font-size:16px;line-height:1.7;margin:12px 0}.byu-tall-banner .rail-feature-image{margin:0}.byu-tall-banner .rail-feature-image img{display:block;width:100%;max-width:165px;max-height:none;height:auto;margin:auto;object-fit:contain}.rail-feature-image figcaption{font-size:13px;line-height:1.5;margin:8px 0 0}.rail-feature button,.rail-feature a{width:100%;box-sizing:border-box;font-size:15px;line-height:1.5;min-height:44px;overflow-wrap:anywhere}.rail-feature a{display:flex;align-items:center;justify-content:center;border-radius:7px;padding:10px;background:#a6480b;color:white;text-decoration:none;font-weight:700}.rail-service-marks{display:grid;gap:8px}.rail-service-marks span{padding:12px 8px;border-radius:8px;background:#e7f2f6;border:1px solid #aac2cb;color:#24465a;font-size:17px;line-height:1.5;font-weight:700;text-align:center;overflow-wrap:anywhere}.byu-tall-banner>nav{margin-top:0;padding-top:14px;border-top:1px solid #dfc39e}.byu-tall-banner>.rail-feature-stack{width:100%}
@media(max-width:1100px){.byu-tall-banner{display:block;scrollbar-gutter:auto}.byu-tall-banner .rail-message{white-space:normal;font-size:23px;margin:8px 0 18px}.rail-feature-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.byu-tall-banner>nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.byu-tall-banner>nav button{flex:1 1 160px}.byu-tall-banner>.banner-play{margin-top:10px}.byu-tall-banner .rail-feature-image img{display:block;max-width:160px}.rail-feature h3{font-size:21px}}
@media(max-width:500px){.rail-feature-stack{grid-template-columns:minmax(0,1fr)}.rail-feature{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 16px;align-items:start}.rail-feature h3{grid-column:1/-1;margin-bottom:0}.rail-feature .rail-feature-image{grid-column:1;grid-row:2/4}.rail-feature .rail-description{grid-column:2;margin:0;font-size:16px}.rail-feature>button,.rail-feature>a{grid-column:2}.rail-feature-image figcaption{font-size:12px}.rail-feature .rail-service-marks{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.rail-feature[data-rail-feature=web] .rail-description,.rail-feature[data-rail-feature=stores] .rail-description{grid-column:1/-1}.rail-feature[data-rail-feature=web]>button,.rail-feature[data-rail-feature=stores]>button{grid-column:1/-1}}
.banner-heading{display:flex;align-items:center;gap:24px;flex:1;min-width:0;margin:0;font:inherit;letter-spacing:normal}.banner-actions>a[data-home-action]{background:#fffdf7;color:#94420f;max-width:170px;min-width:90px;flex-shrink:1;font-size:16px;white-space:normal;overflow-wrap:anywhere}.byu-tall-banner nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid #ba6c32;border-radius:7px;background:#fffdf7;color:#94420f;text-align:center;text-decoration:none;font:600 15px/1.5 system-ui}.rail-feature>a[data-home-action]{background:#fffdf7;color:#94420f;border:1px solid #ba6c32}.seo-directory-links{margin:12px 0 20px;font-size:16px}.seo-directory-links summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:#16577f}.seo-directory-links nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0}.seo-directory-links a{padding:10px;border:1px solid #a9bdc8;border-radius:6px;overflow-wrap:anywhere}.catalogue-intro-cards h2{font-size:21px;margin:0 0 8px;line-height:1.5}#next-overview .compact-library-intro .compact-main-heading{font-size:36px;line-height:1.35;margin:0 0 8px}.banner-heading .banner-copy{font-weight:400}
@media(max-width:650px){.banner-heading{grid-column:1/3;grid-row:1;gap:0}.banner-actions>a[data-home-action=library]{grid-column:1/3;grid-row:2;max-width:none;min-width:0}.banner-actions>a[data-home-action=search]{grid-column:3/5;grid-row:2;max-width:none;min-width:0}.seo-directory-links nav{grid-template-columns:1fr}#next-overview .compact-library-intro .compact-main-heading{font-size:30px}}
@media(max-width:359px){.banner-actions>a[data-home-action=library]{grid-column:1/3;grid-row:2}.banner-actions>a[data-home-action=search]{grid-column:1/5;grid-row:3}}
@media(min-width:1101px){body{direction:ltr}:root[dir=rtl] body>main,:root[dir=rtl] body>.site-footer,:root[dir=rtl] .byu-wide-banner,:root[dir=rtl] .byu-tall-banner{direction:rtl}}
@media(min-width:1101px){:root[dir=rtl] body.localized-page{direction:ltr}}
.seo-directory-links summary::before{content:'＋';margin-inline-end:8px}.seo-directory-links[open] summary::before{content:'−'}

/* Narrow zoomed viewport: keep brand, language picker and store action separate. */
@media(max-width:300px){
 .byu-wide-banner .banner-inner{display:flex!important;flex-direction:column;align-items:stretch;gap:6px;padding:8px 12px}
 .byu-wide-banner .banner-heading{flex:0 0 auto;min-width:0;width:100%;margin:0}
 .byu-wide-banner .brand{min-width:0;max-width:100%;flex-wrap:wrap}
 .byu-wide-banner .banner-actions{display:flex!important;flex-direction:column!important;align-items:stretch;width:100%;max-width:none;gap:6px}
 .byu-wide-banner .banner-actions>.banner-language{flex:0 0 auto!important;min-width:0;max-width:none;width:100%}
 .byu-wide-banner .banner-actions>a{flex:0 0 auto!important;width:100%;max-width:none;box-sizing:border-box;min-width:0}
 .byu-wide-banner .banner-language .locale-picker>summary{width:100%;box-sizing:border-box;justify-content:center}
}

/* Zoomed narrow body: full-width title below a compact existing cover. */
@media(max-width:300px){.catalogue-card{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.catalogue-card>.cover-frame{width:54px!important;height:76px!important;min-width:0!important}.catalogue-card>.catalogue-card-body{min-width:0;width:100%}.catalogue-card h3{min-width:0;overflow-wrap:anywhere}}
