@layer base, components, responsive, theme;
@layer base {
:root{--ink:#132526;--muted:#405258;--line:#d8e1ea;--paper:#fff;--wash:#edf4f8;--action:#050505;--teal:#0f4a49;--blue:#173f68;--purple:#514070;--clay:#6a4634;--on-dark:#fbfffe;--on-dark-muted:#dbe7ea;--radius:26px;--font:"Aptos","Aptos Display","Segoe UI",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:16px;line-height:1.6}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:750;letter-spacing:normal;line-height:1.12}h1{font-size:clamp(2.75rem,5.8vw,5.15rem)}h2{font-size:clamp(2rem,3.1vw,2.85rem)}h3{font-size:1.35rem;line-height:1.25}p{color:var(--muted)}p+p{margin-top:1rem}ul{padding-left:1.25rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1f4a72;outline-offset:5px}a:hover{text-decoration:none}input[type=search]{min-width:0}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section{padding:78px 0}.section-topless{padding-top:0}.quiet{font-size:.9rem;color:var(--muted)}.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#555b57;margin-bottom:15px;display:flex;align-items:center;gap:10px}.eyebrow-line{width:26px;height:2px;background:var(--action)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:10px}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:650;border-bottom:1px solid var(--ink);padding:10px 0;line-height:1.4}.text-link:hover{color:var(--action)}.text-button{border:0;background:none;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:14px 24px;min-height:49px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:white;font-weight:650;font-size:.95rem;line-height:1.35;text-align:center;transition:background .18s,transform .18s}.button:hover{background:var(--action);border-color:var(--action);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink);border-color:#c4c7c3}.button.secondary:hover{background:#ebeeeb;border-color:var(--ink)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:1.75rem}.icon-button:hover{background:var(--wash)}
}
@layer components {
.site-header{height:88px;border-bottom:1px solid #eeeeec;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;height:100%}.brand{flex-shrink:0}.brand img{width:150px;height:auto}.desktop-nav{display:flex;gap:27px;font-size:.95rem;font-weight:600;align-items:center}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--action)}.header-actions{display:flex;align-items:center;gap:12px}.header-actions .button{padding:12px 24px}.menu-toggle{display:none}.menu-lines{width:19px;height:12px;border-top:1.5px solid;border-bottom:1.5px solid}.mobile-menu{position:absolute;top:100%;width:100%;background:white;border-bottom:1px solid var(--line);padding:16px 30px;max-height:calc(100dvh - 90px);overflow:auto}.mobile-menu a{display:block;padding:12px 0;font-size:1.05rem;border-bottom:1px solid #eee}.hero{padding:48px 0 58px}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:55px}.hero-copy{padding:24px 0}.hero h1{margin:20px 0 26px;font-size:clamp(3.2rem,5.8vw,5.1rem);line-height:1.02;letter-spacing:normal}.hero-scope{font-size:1.13rem;font-weight:650;color:var(--ink);margin:0 0 14px;max-width:450px}.hero-description{max-width:455px;font-size:1.06rem;line-height:1.7}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px}.hero-footnote{margin-top:21px;font-size:.875rem}.hero-figure{border-radius:var(--radius);overflow:hidden;align-self:stretch;background:#e7e8e5;position:relative;min-height:490px}.hero-figure>img{width:100%;height:100%;object-fit:cover;object-position:65% center}.hero-figure figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;background:linear-gradient(0deg,rgba(255,255,255,.98),rgba(255,255,255,.91));font-size:.85rem;font-weight:600}.hero-figure figcaption .quiet{font-size:.8rem;font-weight:400}.study-section{padding-top:24px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-heading h2{max-width:780px}.section-intro{margin-top:15px;max-width:650px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.area-card{border-radius:var(--radius);padding:25px 25px 27px;background:var(--wash);display:flex;flex-direction:column;min-height:263px;border:1px solid transparent;transition:background .18s,border-color .18s}.area-card>div{display:flex;justify-content:space-between;margin-bottom:39px}.area-card>div>span:last-child{font-size:1.4rem;line-height:1}.area-number{color:#747a75;font-size:.85rem}.area-card h3{font-size:1.55rem;letter-spacing:normal;margin-bottom:12px}.area-card p{font-size:.9rem;line-height:1.55;flex:1}.area-link{font-size:.85rem;font-weight:650;margin-top:24px}.area-card:hover{border-color:var(--action);background:#edf1ed}.area-card.pharmacy{background:var(--ink);color:white}.area-card.pharmacy p,.area-card.pharmacy .area-number{color:#c3c6c2}.area-card.pharmacy:hover{background:var(--action)}.sample-grid,.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.samples-section{background:var(--wash)}.sample-image{position:relative;display:flex;align-items:flex-start;justify-content:center;height:305px;overflow:hidden;background:#e4e7e3;border-radius:18px;padding:28px 42px 0;transition:background .2s}.sample-image img{width:100%;box-shadow:0 8px 28px #0002;transform:rotate(-3deg);transition:transform .3s}.sample-image:hover img{transform:rotate(0)}.sample-card:nth-child(2) .sample-image img{transform:rotate(3deg)}.sample-badge{position:absolute;top:13px;left:13px;background:white;border:1px solid #dddedb;font-size:.75rem;padding:4px 9px;border-radius:999px;box-shadow:0 2px 6px #0001}.preview-icon{position:absolute;bottom:14px;right:14px;border-radius:50%;background:white;color:var(--ink);width:42px;height:42px;display:grid;place-items:center;font-size:1.2rem}.sample-card>.card-meta{margin-top:20px;margin-bottom:8px}.sample-card h3{font-size:1.4rem;line-height:1.25;max-width:330px}.card-link{display:inline-flex;gap:12px;align-items:center;font-weight:650;font-size:.9rem;margin-top:18px}.card-link:hover{color:var(--action)}.collection-card{padding:27px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;background:white}.collection-card h3{font-size:1.5rem;margin-top:20px;margin-bottom:16px}.collection-card h3 a:hover{color:var(--action)}.collection-card>p{font-size:.94rem;line-height:1.6;flex:1}.collection-card>.card-link{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;color:var(--muted)}.sample-status{display:inline-flex;background:#edf1eb;border:1px solid #dce2d9;border-radius:999px;color:#344c37;padding:3px 9px;font-size:.75rem;white-space:nowrap}.benefits{background:var(--ink);color:white}.benefits p{color:#bfc3c0}.benefits .eyebrow{color:#bfc3c0}.benefits-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.benefit-list article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #3d3f3e}.benefit-list article:first-child{padding-top:0}.benefit-list article:last-child{border:0;padding-bottom:0}.benefit-list article>span{font-size:.85rem;color:#aaa;flex-shrink:0;padding-top:4px}.benefit-list h3{margin-bottom:12px;font-size:1.5rem}.benefit-list p{font-size:.96rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-bottom:28px}.steps article>span{display:flex;align-items:center;justify-content:center;background:var(--wash);width:48px;height:48px;border-radius:50%;font-size:.85rem;margin-bottom:25px}.steps h3{font-size:1.4rem;margin-bottom:14px}.steps p{font-size:.96rem;max-width:350px}.faq-section{background:var(--wash)}.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:85px}.faq-grid>.text-link,.faq-grid>div>.text-link{margin-top:25px}.faq-list details{border-bottom:1px solid #d4d8d3;padding:20px 0}.faq-list details:first-child{border-top:1px solid #d4d8d3}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:32px;font-weight:650;font-size:1.1rem;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-weight:400;font-size:1.5rem}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list p{margin-top:17px;max-width:620px;padding-right:30px}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#f1f3ef;border-radius:var(--radius);padding:46px 52px}.final-cta h2{font-size:2.8rem}.final-cta p:not(.eyebrow){margin-top:18px;max-width:560px}.final-cta>.button{flex-shrink:0}.site-footer{padding:62px 0 24px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.35fr;gap:48px}.footer-brand img{width:156px;margin-bottom:23px}.footer-top h2{font-size:.92rem;letter-spacing:0;margin-bottom:16px;line-height:1.4}.footer-top>div>a:not(.button){display:block;padding:5px 0;font-size:.92rem;color:var(--muted)}.footer-top>div>a:hover{color:var(--ink)}.footer-top p{font-size:.94rem}.footer-app .button{margin-top:23px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.footer-bottom>div{display:flex;gap:22px;align-items:center}.footer-bottom .text-button{font-weight:400;text-decoration:none}.mobile-app-bar{display:none}.page-hero{padding-top:32px;padding-bottom:60px}.breadcrumbs{margin-bottom:40px;font-size:.83rem;color:var(--muted)}.breadcrumbs ol{display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.breadcrumbs li{display:flex;align-items:center;gap:10px}.breadcrumbs li+li::before{content:'/';color:#a8aba8}.breadcrumbs a:hover{text-decoration:underline}.page-hero h1{max-width:940px;font-size:clamp(2.6rem,5.3vw,4.6rem)}.page-intro{font-size:1.15rem;line-height:1.75;max-width:760px;margin-top:23px}.page-intro a{text-decoration:underline;text-underline-offset:4px}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:23px}.course-card{padding:35px 40px;border:1px solid var(--line);border-radius:var(--radius);transition:background .2s}.course-card:hover{background:var(--wash)}.course-card h2{font-size:2rem;margin-bottom:14px}.course-card p:not(.eyebrow){max-width:450px}.course-card .card-link{margin-top:28px}.class-card{padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:var(--wash)}.class-card h2{margin:20px 0 10px;font-size:2rem}.availability-panel{padding:40px;border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:32px;background:var(--wash)}.availability-panel p{margin-top:18px;max-width:680px}.availability-panel>.button{flex-shrink:0}.collection-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:80px}.content-section+.content-section{margin-top:48px}.content-section h2{font-size:2rem;margin-bottom:20px}.content-section>p{max-width:670px}.coverage-list{list-style:none;padding:0;margin:0 0 24px}.coverage-list li{border-bottom:1px solid var(--line);padding:14px 0;display:flex;gap:14px}.coverage-list li::before{content:'✓';color:var(--action);font-weight:700}.access-card{align-self:start;background:var(--wash);border-radius:var(--radius);padding:32px}.access-card h2{font-size:2.2rem;margin-bottom:23px}.access-card .collection-name{font-weight:650;color:var(--ink);margin:8px 0 22px}.access-card dl{margin:20px 0 25px;font-size:.92rem}.access-card dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dbded9;padding:10px 0}.access-card dt{color:var(--muted)}.access-card dd{margin:0;text-align:right}.access-card>.button{width:100%}.access-card>.quiet{font-size:.84rem;margin-top:18px}.sample-preview{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.preview-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.preview-page-button{border:0;padding:0;background:white;border-radius:6px;overflow:hidden;display:block;width:100%;box-shadow:0 6px 22px #0001}.preview-page-button>img{width:100%;height:auto}.preview-page-button>span{display:block;font-size:.8rem;padding:12px 6px;background:white;color:var(--ink);border-top:1px solid var(--line)}.preview-pages figcaption{font-size:.8rem;color:var(--muted);line-height:1.5;margin-top:12px}.preview-context h3{font-size:2rem;line-height:1.2;margin:20px 0}.preview-context p{margin-bottom:20px}.preview-context .button{margin-top:8px}.search-form{border:1px solid var(--line);padding:30px;border-radius:var(--radius);background:var(--wash)}.search-form>label,.filter-label{display:block;font-weight:650;font-size:.9rem;margin-bottom:10px}.search-input-row{display:flex;align-items:center;gap:15px;background:white;border:1px solid #c5cbc3;border-radius:14px;padding:8px 10px 8px 18px}.search-input-row input{background:transparent;border:0;padding:8px 0;flex:1;font-size:1.05rem;width:100%}.search-filters{display:flex;align-items:flex-end;gap:20px;margin-top:24px}.search-filters label{display:flex;flex:1;flex-direction:column;gap:8px;font-size:.85rem;font-weight:650}select{padding:12px 34px 12px 14px;border:1px solid #c6cac3;border-radius:9px;background:white;color:var(--ink);min-height:48px;max-width:100%}.search-filters .text-button{flex-shrink:0;padding-bottom:12px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:40px 0 25px}.results-heading h2{font-size:1.5rem}.results-heading p{font-size:.9rem}.empty-state{text-align:center;padding:70px 20px;border:1px dashed #c9ccc7;border-radius:var(--radius)}.empty-state .eyebrow{justify-content:center}.empty-state h2{margin-bottom:15px}.empty-state p{max-width:540px;margin-inline:auto}.empty-state .button{margin-top:25px}.empty-state .text-link{margin-left:25px}.selected-collection{border-left:3px solid var(--action);margin-top:30px;padding:20px 25px;background:var(--wash);max-width:760px}.selected-collection .eyebrow{margin-bottom:6px}.selected-collection strong{font-size:1.3rem;display:block}.selected-collection p{margin-top:12px}.app-access-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.platform-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius)}.platform-card h2{font-size:2.5rem;margin-bottom:20px}.platform-card>p:not(.eyebrow){max-width:475px;margin-bottom:25px}.platform-card.ios{background:var(--wash)}.qr-row{display:flex;align-items:center;gap:22px;margin-top:32px}.qr-row img{width:144px;flex-shrink:0;background:white;border:1px solid var(--line);border-radius:10px}.qr-row p{font-size:.9rem;margin-top:8px}.org-code{display:flex;justify-content:space-between;align-items:center;gap:20px;background:white;border:1px solid var(--line);border-radius:14px;padding:20px;margin:40px 0 25px}.org-code span{font-size:.8rem;color:var(--muted);display:block}.org-code strong{font-size:1.9rem;letter-spacing:.1em;display:block;font-family:monospace}.org-code .button{padding:11px 16px;min-height:44px;flex-shrink:0}.note-panel{padding:28px;border-left:3px solid var(--action);margin-top:36px;background:var(--wash)}.note-panel p{margin-top:15px;max-width:850px}.prose{max-width:900px}.prose h2{font-size:2.2rem;margin-top:48px;margin-bottom:22px}.prose h2:first-child{margin-top:0}.prose .button{margin-top:24px}.support-card h2{font-size:2rem;margin-bottom:20px}.support-card .button{margin:25px 0 16px}.support-card .quiet{margin-bottom:23px}.not-found{min-height:62vh;padding-top:90px}.privacy-dialog{border:1px solid var(--line);border-radius:18px;max-width:540px;width:calc(100% - 32px);padding:28px;color:var(--ink)}dialog::backdrop{background:#0008}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-heading h2{font-size:1.5rem}.checkbox-label{display:flex;align-items:center;gap:10px;margin:25px 0}.checkbox-label input{width:20px;height:20px;accent-color:var(--action)}.consent-banner{position:fixed;bottom:20px;right:20px;z-index:60;width:min(500px,calc(100% - 40px));padding:24px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 45px #0002}.consent-banner p{font-size:.92rem}.consent-banner a{text-decoration:underline}.consent-banner>div{display:flex;gap:12px;margin-top:16px}.sample-dialog{width:min(1320px,calc(100% - 40px));height:min(94dvh,1000px);max-height:94dvh;max-width:1320px;border:0;padding:0;background:#f0f2ee;color:var(--ink);border-radius:16px;overflow:hidden}.viewer-shell{display:flex;flex-direction:column;height:100%}.viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;background:white;border-bottom:1px solid var(--line)}.viewer-heading h2{font-size:1.2rem;letter-spacing:normal;line-height:1.3}.viewer-heading p{font-size:.8rem}.viewer-canvas{flex:1;min-height:0;overflow:auto;padding:22px;display:flex;align-items:flex-start;justify-content:center}.viewer-canvas img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;background:white;box-shadow:0 5px 25px #0002}.viewer-canvas.zoomed{display:block}.viewer-canvas.zoomed img{width:135%;max-width:none;max-height:none;margin-inline:auto}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:14px;background:white;padding:12px 20px;border-top:1px solid var(--line)}.viewer-controls button{border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px 16px;min-width:44px;min-height:44px}.viewer-controls>span{font-size:.9rem;min-width:90px;text-align:center}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 22px;background:white;border-top:1px solid var(--line)}.viewer-bottom>p{font-size:.85rem}.viewer-bottom .button{min-height:42px;padding:10px 17px;font-size:.85rem}
}
@layer responsive {
@media(min-width:1600px){.hero{padding-top:65px}.hero-figure{min-height:540px}}
@media(max-width:1150px){.container{width:calc(100% - 56px)}.desktop-nav{gap:19px;font-size:.86rem}.brand img{width:133px}.header-inner{gap:15px}.header-actions{gap:4px}.header-actions .button{padding-inline:18px}.hero-grid{gap:30px}.hero h1{font-size:4.3rem}.hero-actions .button{padding-inline:20px}.hero-figure{min-height:500px}.hero-figure figcaption{display:block}.hero-figure figcaption .quiet{display:block;margin-top:3px}.area-card{padding:23px 20px}.sample-image{padding-inline:35px;height:275px}.sample-grid,.collection-grid{gap:18px}.collection-card{padding:24px}.benefits-grid{gap:50px}.faq-grid{gap:55px}.footer-top{gap:30px}.collection-layout{gap:45px}.sample-preview{gap:40px}}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.header-actions{gap:14px}.hero h1{font-size:3.65rem}.hero-figure{min-height:465px}.hero-actions{flex-direction:column;align-items:stretch;max-width:300px}.area-grid{grid-template-columns:repeat(2,1fr)}.area-card{min-height:230px}.area-card>div{margin-bottom:26px}.sample-image{padding-inline:25px;height:240px}.collection-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.final-cta{padding:40px}.final-cta h2{font-size:2.3rem}.final-cta{align-items:flex-start;flex-direction:column;gap:25px}.collection-layout{grid-template-columns:1.3fr 1fr;gap:30px}.access-card{padding:25px}.access-card h2{font-size:1.85rem}.sample-preview{grid-template-columns:1fr}.preview-pages{max-width:620px}.app-access-grid{gap:18px}.platform-card{padding:28px}.org-code{flex-direction:column;align-items:flex-start;gap:12px}.steps{gap:30px}.faq-grid{gap:35px;grid-template-columns:1fr 1.5fr}.viewer-bottom p{max-width:55%}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.section{padding:52px 0}.section-topless{padding-top:0}.site-header{height:76px}.brand img{width:136px}.header-actions{gap:7px}.header-actions .button{padding:11px 17px;min-height:43px;font-size:.85rem}.hero{padding:35px 0 28px}.hero-grid{grid-template-columns:1fr;gap:27px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.25rem,10vw,4.4rem);margin-top:18px;margin-bottom:23px}.hero-scope{font-size:1.03rem}.hero-description{font-size:1rem;max-width:520px}.hero-actions{flex-direction:row;max-width:none;margin-top:23px;gap:10px}.hero-actions .button{padding:12px 20px;font-size:.9rem}.hero-footnote{margin-top:17px}.hero-figure{min-height:0;height:320px}.hero-figure>img{object-position:center 60%}.hero-figure figcaption{padding:14px 18px;display:flex}.hero-figure figcaption .quiet{margin:0}.study-section{padding-top:22px}.section-heading{align-items:flex-start;gap:18px;margin-bottom:28px}.section-heading h2{font-size:2rem}.section-heading .text-link{font-size:.87rem;white-space:nowrap;padding-top:4px}.area-grid{gap:12px}.area-card{padding:22px;min-height:233px}.area-card h3{font-size:1.5rem}.area-card p{font-size:.88rem}.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-grid>.sample-card:last-child{grid-column:auto}.sample-image{height:265px;padding:29px 28px 0}.sample-card h3{font-size:1.2rem}.sample-badge{font-size:.7rem;left:8px;top:9px}.benefits-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.benefits-grid h2{font-size:2.5rem}.benefit-list article{padding:22px 0}.steps{gap:22px}.steps h3{font-size:1.18rem}.steps p{font-size:.9rem}.steps article>span{margin-bottom:18px}.final-cta{padding:32px}.final-cta h2{font-size:2.2rem}.footer-top{gap:30px}.footer-bottom{margin-top:35px;align-items:flex-start;gap:18px;flex-direction:column}.site-footer{padding:40px 0 92px}.mobile-app-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:9px 20px max(9px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:15px}.mobile-app-bar span{font-size:.85rem}.mobile-app-bar a{background:var(--ink);border-radius:999px;color:white;font-weight:600;font-size:.85rem;min-height:43px;padding:10px 17px;display:inline-flex;align-items:center;gap:17px}.page-hero{padding-top:26px;padding-bottom:45px}.breadcrumbs{margin-bottom:30px;font-size:.8rem}.page-hero h1{font-size:clamp(2.5rem,8vw,3.8rem)}.page-intro{font-size:1.05rem;line-height:1.65;margin-top:21px}.course-card{padding:28px}.course-card h2{font-size:1.8rem}.availability-panel{padding:28px;flex-direction:column;align-items:flex-start;gap:25px}.availability-panel h2{font-size:1.85rem}.availability-panel p{font-size:.95rem}.collection-layout{grid-template-columns:1fr;gap:40px}.access-card{padding:30px}.access-card h2{font-size:2.3rem}.content-section h2{font-size:1.9rem}.sample-preview{gap:30px}.preview-pages{gap:15px}.preview-context h3{font-size:1.7rem}.search-form{padding:23px}.search-input-row{flex-wrap:wrap;gap:8px;padding:10px}.search-input-row svg{display:none}.search-input-row input{padding-left:7px}.search-input-row .button{padding:10px 20px;min-height:43px}.search-filters{gap:15px;flex-wrap:wrap}.search-filters label{min-width:calc(50% - 15px)}.search-filters .text-button{padding-bottom:0}.results-heading h2{font-size:1.35rem}.app-access-grid{grid-template-columns:1fr}.platform-card{padding:30px}.org-code{flex-direction:row;align-items:center}.qr-row img{width:130px}.platform-card h2{font-size:2.2rem}.prose h2{font-size:1.9rem}.sample-dialog{width:calc(100% - 16px);height:96dvh;max-height:96dvh;border-radius:12px}.viewer-heading{padding:12px 14px}.viewer-heading h2{font-size:1rem}.viewer-canvas{padding:14px 8px}.viewer-controls{padding:9px;gap:8px}.viewer-controls button{padding:8px 12px}.viewer-controls>span{min-width:75px;font-size:.85rem}.viewer-bottom{padding:10px 14px;gap:15px}.viewer-bottom p{font-size:.75rem;line-height:1.4}.viewer-bottom .button{font-size:.78rem;padding:10px 15px}.consent-banner{bottom:76px}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.header-actions .icon-button:first-child{display:none}.header-actions{gap:4px}.brand img{width:125px}.header-actions .button{font-size:.83rem;padding-inline:16px}.hero{padding-top:30px}.hero h1{font-size:3.4rem}.hero-figure{height:255px;border-radius:18px}.hero-figure figcaption{font-size:.75rem;gap:5px;display:block}.hero-figure figcaption .quiet{font-size:.7rem;display:none}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{min-height:49px}.section-heading{flex-direction:column;gap:14px}.section-heading .text-link{padding:4px 0}.area-card{padding:18px;min-height:233px;border-radius:18px}.area-card>div{margin-bottom:24px}.area-card h3{font-size:1.3rem}.area-card p{font-size:.85rem}.area-link{font-size:.8rem}.sample-grid,.collection-grid,.course-grid{grid-template-columns:1fr;gap:25px}.sample-image{height:330px;padding:34px 58px 0}.sample-card>.card-meta{margin-top:17px}.sample-card h3{font-size:1.4rem}.sample-badge{font-size:.75rem;top:14px;left:14px}.sample-card>.card-link{margin-top:13px}.steps{grid-template-columns:1fr;gap:29px}.steps article{padding-left:63px;position:relative}.steps article>span{position:absolute;left:0;top:0}.steps h3{font-size:1.3rem;margin-bottom:9px}.steps p{font-size:.96rem}.benefits-grid h2{font-size:2.25rem}.final-cta{padding:30px 25px;width:calc(100% - 32px)}.final-cta h2{font-size:2.05rem}.final-cta>.button{width:100%;font-size:.9rem}.footer-brand{grid-column:1/-1}.footer-top{gap:32px 20px}.footer-app{grid-column:1/-1}.footer-top h2{font-size:.92rem}.footer-top>div>a:not(.button){font-size:.94rem;padding:6px 0}.footer-bottom>div{gap:20px}.class-card{padding:20px}.class-card h2{font-size:1.7rem}.class-card .card-link{font-size:.8rem}.page-hero .hero-actions{max-width:100%}.collection-card h3{font-size:1.55rem}.access-card{padding:27px}.content-section h2{font-size:1.8rem}.preview-pages{gap:12px}.preview-page-button>span{font-size:.73rem}.preview-pages figcaption{font-size:.75rem}.search-form{padding:20px}.search-input-row input{width:100%;flex-basis:100%}.search-input-row .button{width:100%}.search-filters{flex-direction:column;align-items:stretch}.search-filters label{min-width:0}.search-filters .text-button{align-self:flex-start;padding-top:0}.platform-card{padding:26px}.org-code{padding:18px;gap:10px;flex-wrap:wrap}.org-code strong{font-size:1.75rem}.org-code span{font-size:.75rem}.org-code .button{font-size:.8rem;padding-inline:13px}.qr-row{gap:17px}.qr-row img{width:120px}.viewer-controls button{padding:8px 10px;font-size:.8rem}.viewer-controls>span{min-width:65px;font-size:.8rem}.viewer-bottom{display:block}.viewer-bottom>p{max-width:none;margin-bottom:9px}.viewer-bottom>.button{width:100%}.viewer-heading>div{max-width:calc(100% - 45px)}.viewer-heading .icon-button{flex-shrink:0}.empty-state .text-link{margin:18px 0 0}.not-found{padding-top:60px}}
h1,h2,h3,p{overflow-wrap:anywhere}.button{max-width:100%}.area-card,.platform-card,.search-form,.search-filters label{min-width:0}.results-heading,.footer-bottom>div,.viewer-controls{flex-wrap:wrap}.qr-row{flex-wrap:wrap}.qr-row>div{flex:1;min-width:130px}
.search-filters label{max-width:100%}.search-filters select{width:100%;min-width:0}
@media(max-width:980px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
}

/* Reference theme: firsthopenotes.com. Layout adaptations for the discovery catalogue. */
@layer theme {
  .container { width: min(1160px, calc(100% - 48px)); }
  .section { padding: 64px 0; }
  .section-topless { padding-top: 0; }
  h1, h2, h3 { font-weight: 720; letter-spacing: normal; }
  .button { background: var(--action); border-color: var(--action); font-weight: 800; }
  .button:hover { background: #252525; border-color: #252525; }
  .button.secondary { background: transparent; color: var(--ink); border-color: var(--line); }
  .button.secondary:hover { background: var(--wash); border-color: var(--ink); }
  .eyebrow { color: var(--action); }
  .site-header { height: auto; min-height: 77px; background: rgba(255,255,255,.94); border-color: var(--line); backdrop-filter: blur(18px); }
  .header-inner { min-height: 76px; gap: 20px; }
  .brand img { width: 150px; }
  .desktop-nav { gap: 5px; font-size: .9rem; font-weight: 800; }
  .desktop-nav a { border-radius: 999px; padding: 9px 12px; }
  .desktop-nav a:hover, .desktop-nav a[aria-current] { color: var(--action); background: #f1f1f1; }
  .header-actions .button { box-shadow: 0 10px 24px #0002; }

  /* Full-width photography with the same black gradient as the reference. */
  .hero { position: relative; isolation: isolate; overflow: hidden; background: #111; padding: 56px 0; color: white; }
  .hero-grid { display: block; position: relative; z-index: 1; }
  .hero-copy { padding: 0; max-width: 660px; }
  .hero-figure { position: absolute; inset: 0; border-radius: 0; min-height: 0; height: 100%; z-index: -1; background: #111; }
  .hero-figure > img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
  .hero-figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.82) 44%,rgba(0,0,0,.35) 76%,rgba(0,0,0,.1) 100%); }
  .hero-figure figcaption { inset: auto 24px 14px auto; z-index: 1; display: block; padding: 4px 10px; background: #0007; color: #fff; font-size: .68rem; font-weight: 400; border-radius: 999px; }
  .hero-copy > .eyebrow { font-size: 1.12rem; font-weight: 850; text-transform: none; letter-spacing: 0; color: #e7f2f0; margin-bottom: 22px; }
  .hero .eyebrow-line { display: none; }
  .hero h1 { color: white; font-size: clamp(3.2rem,5.6vw,4.35rem); line-height: .99; letter-spacing: normal; margin: 0 0 22px; }
  .hero-scope { color: #f0f6f5; font-weight: 750; max-width: none; margin-bottom: 10px; }
  .hero-description { color: #dbe7ea; max-width: 590px; font-size: 1.06rem; line-height: 1.6; }
  .hero .hero-actions { flex-direction: row; align-items: center; max-width: none; margin-top: 23px; }
  .hero .button { background: white; color: var(--action); border-color: white; box-shadow: 0 18px 42px #0003; }
  .hero .button:hover { background: #eef4f6; }
  .hero .button.secondary { background: #ffffff1a; color: white; border-color: #ffffff52; box-shadow: none; backdrop-filter: blur(12px); }
  .hero .button.secondary:hover { background: #ffffff2e; }
  .hero-footnote { color: #dbe7ea; margin-top: 14px; font-size: .82rem; }
  .hero-highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
  .hero-highlights a { display: grid; gap: 3px; align-content: center; border: 1px solid #ffffff33; border-radius: 16px; background: #ffffff1c; padding: 12px 15px; backdrop-filter: blur(12px); transition: background .18s; }
  .hero-highlights a:hover { background: #ffffff2e; }
  .hero-highlights strong { font-size: .94rem; }
  .hero-highlights span { color: #dbe7ea; font-size: .82rem; line-height: 1.5; }
  .hero a:focus-visible, .page-hero a:focus-visible { outline-color: #ffd2a8; }

  /* Centered headings and the reference's teal, blue, plum and warm brown tiles. */
  .study-section { padding-top: 56px; }
  .section-heading { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; margin-bottom: 34px; }
  .section-heading > div { width: 100%; }
  .section-heading .eyebrow, .faq-grid .eyebrow, .benefits .eyebrow, .final-cta .eyebrow { display: inline-flex; justify-content: center; border: 1px solid var(--line); background: white; color: var(--action); border-radius: 999px; padding: 7px 13px; font-size: .78rem; letter-spacing: .09em; font-weight: 850; margin-bottom: 12px; line-height: 1.6; }
  .section-heading h2 { max-width: 840px; margin-inline: auto; font-size: clamp(2.1rem,3.65vw,3.25rem); line-height: 1.05; }
  .section-intro { margin: 16px auto 0; }
  .section-heading .text-link { font-size: .9rem; padding-top: 0; }
  .area-grid { gap: 18px; }
  .area-card, .course-card, .collection-card { --tile-color: var(--teal); background: var(--tile-color); border-color: transparent; color: var(--on-dark); border-radius: 26px; box-shadow: 0 20px 46px #13252612; transition: transform .2s, box-shadow .2s; }
  .area-card:nth-child(4n+2), .course-card:nth-child(4n+2), .collection-card:nth-child(4n+2) { --tile-color: var(--blue); }
  .area-card:nth-child(4n+3), .course-card:nth-child(4n+3), .collection-card:nth-child(4n+3) { --tile-color: var(--purple); }
  .area-card:nth-child(4n), .course-card:nth-child(4n), .collection-card:nth-child(4n) { --tile-color: var(--clay); }
  .area-card { padding: 26px; min-height: 280px; background-image: radial-gradient(circle at 100% 0%,#ffffff12,transparent 55%); }
  .area-card.pharmacy { background-color: var(--tile-color); }
  .area-card > div { margin-bottom: 42px; }
  .area-card h3 { color: white; font-size: 1.62rem; }
  .area-card p, .area-card.pharmacy p, .area-number, .area-card.pharmacy .area-number { color: var(--on-dark-muted); }
  .area-link { color: white; border-top: 1px solid #ffffff26; padding-top: 16px; margin-top: 22px; }
  .area-card:hover, .area-card.pharmacy:hover, .course-card:hover { background-color: var(--tile-color); transform: translateY(-4px); box-shadow: 0 24px 50px #13252624; border-color: transparent; }
  .course-card .eyebrow { color: #ffd2a8; }
  .course-card h2, .collection-card h3, .collection-card h3 a:hover { color: white; }
  .course-card p:not(.eyebrow), .collection-card p, .collection-card .card-meta { color: var(--on-dark-muted); }
  .collection-card > .card-link { border-color: #ffffff26; }
  .course-card .card-link, .collection-card .card-link, .course-card .card-link:hover, .collection-card .card-link:hover { color: white; }
  .area-card:focus-visible, .course-card:focus-visible, .collection-card a:focus-visible { outline-color: #ffd2a8; }
  .sample-status { background: #edf4f8; border-color: #d8e1ea; color: #173f68; }
  .collection-card .sample-status { background: #ffffff17; border-color: #ffffff33; color: white; }
  .samples-section { background: #edf4f8; }
  .sample-card { border: 1px solid var(--line); border-radius: 26px; background: white; padding: 12px 12px 24px; overflow: hidden; }
  .sample-card > .card-meta, .sample-card > h3, .sample-card > .card-link { margin-left: 12px; margin-right: 12px; }
  .sample-image { background: #e1ebf1; border-radius: 18px; }
  .sample-image:hover { background: #d8e5ed; }
  .sample-badge { border-color: var(--line); color: var(--action); }

  .benefits { background: #102b2e; color: var(--on-dark); }
  .benefits h2, .benefits h3 { color: white; }
  .benefits p { color: var(--on-dark-muted); }
  .benefits .eyebrow { background: #ffffff0d; border-color: #ffffff33; color: white; }
  .benefit-list article { border-color: #ffffff26; }
  .benefit-list article > span { color: #ffd2a8; }
  .steps-section { background: #f5efe8; }
  .steps article { background: white; padding: 28px; border: 1px solid #e7ded6; border-radius: 24px; }
  .steps article > span { background: var(--teal); color: white; font-weight: 800; }
  .steps { gap: 22px; }
  .faq-section { background: #edf4f8; }
  .faq-list details { border-color: var(--line); }
  .final-cta { background: var(--teal); color: white; border-radius: 28px; padding: 46px 48px; }
  .final-cta h2 { color: white; }
  .final-cta p:not(.eyebrow) { color: var(--on-dark-muted); }
  .final-cta .eyebrow { background: #ffffff0d; border-color: #ffffff33; color: white; }
  .final-cta > .button { background: white; color: var(--action); border-color: white; }
  .final-cta > .button:hover { background: #edf4f8; }
  .final-cta a:focus-visible { outline-color: #ffd2a8; }
  .site-footer { background: #f8fbfd; }
  .mobile-app-bar a { background: var(--action); box-shadow: 0 8px 18px #0002; }

  /* Catalogue headers use the same dark photographic treatment. */
  .page-hero { width: 100%; margin: 0; padding: 32px max(24px,calc((100% - 1160px)/2)) 52px; color: white; background: linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.82) 52%,rgba(0,0,0,.5)),url('/assets/study-desk.webp') center 54% / cover; }
  .page-hero h1 { color: white; }
  .page-hero .eyebrow { color: #e7f2f0; text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 800; }
  .page-hero .breadcrumbs, .page-hero .page-intro { color: var(--on-dark-muted); }
  .page-hero .breadcrumbs li+li::before { color: #ffffff70; }
  .page-hero .button { background: white; color: var(--action); border-color: white; }
  .page-hero .button:hover { background: #edf4f8; }
  .page-hero .button.secondary { background: #ffffff1a; color: white; border-color: #ffffff52; }
  .page-hero .button.secondary:hover { background: #ffffff2e; }
  .page-hero + .section-topless { padding-top: 46px; }
  .page-hero .selected-collection { color: white; background: #ffffff14; border-color: #ffd2a8; border-radius: 0 18px 18px 0; }
  .page-hero .selected-collection .eyebrow, .page-hero .selected-collection strong, .page-hero .selected-collection p { color: white; }
  .access-card { background: var(--teal); color: white; }
  .access-card h2, .access-card .collection-name { color: white; }
  .access-card p, .access-card dt, .access-card > .quiet { color: var(--on-dark-muted); }
  .access-card .eyebrow { color: #ffd2a8; }
  .access-card dl > div { border-color: #ffffff33; }
  .access-card > .button { background: white; color: var(--action); border-color: white; }
  .access-card > .button:hover { background: #edf4f8; }
  .access-card a:focus-visible { outline-color: #ffd2a8; }
  .class-card, .availability-panel, .search-form, .platform-card.ios, .note-panel { background: var(--wash); border-color: var(--line); }
  .search-input-row, select { border-color: #c4d2dc; }
  .sample-dialog { background: #edf4f8; }
  .note-panel, .selected-collection { border-left-color: var(--teal); }
  .coverage-list li::before { color: var(--teal); }

  @media (max-width:1150px) {
    .desktop-nav { gap: 0; font-size: .82rem; }
    .desktop-nav a { padding-inline: 9px; }
    .brand img { width: 135px; }
  }
  @media (max-width:980px) {
    .hero-copy { max-width: 640px; }
    .area-card { min-height: 245px; }
    .area-card > div { margin-bottom: 26px; }
    .final-cta { padding: 38px; }
  }
  @media (max-width:760px) {
    .container { width: calc(100% - 32px); }
    .site-header { min-height: 65px; }
    .header-inner { min-height: 64px; gap: 10px; }
    .brand img { width: 125px; }
    .header-actions .button { min-height: 43px; }
    .section { padding: 46px 0; }
    .section-topless { padding-top: 0; }
    .hero { padding: 32px 0 40px; }
    .hero-copy > .eyebrow { font-size: 1rem; margin-bottom: 18px; }
    .hero h1 { font-size: clamp(2.55rem,9.5vw,3.9rem); margin-bottom: 18px; line-height: 1.02; }
    .hero-scope { font-size: 1rem; }
    .hero-description { font-size: .96rem; }
    .hero .hero-actions { align-items: stretch; }
    .hero .hero-actions .button { font-size: .88rem; }
    .hero-figure::after { background: linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.86) 58%,rgba(0,0,0,.72)); }
    .hero-figure figcaption { bottom: 9px; right: 16px; font-size: .6rem; }
    .hero-highlights { gap: 8px; margin-top: 20px; }
    .hero-highlights a { padding: 11px 12px; border-radius: 14px; }
    .hero-highlights strong { font-size: .88rem; }
    .hero-highlights span { font-size: .75rem; }
    .section-heading h2 { font-size: clamp(2rem,5.5vw,2.7rem); }
    .section-heading .eyebrow, .faq-grid .eyebrow, .benefits .eyebrow, .final-cta .eyebrow { font-size: .7rem; padding: 6px 11px; }
    .area-card { padding: 24px; }
    .area-card h3 { font-size: 1.5rem; }
    .page-hero { padding: 26px 16px 40px; background-image: linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.82)),url('/assets/study-desk-mobile.webp'); }
    .page-hero + .section-topless { padding-top: 36px; }
    .final-cta { padding: 32px; }
    .steps article { padding: 24px; }
  }
  @media (max-width:480px) {
    .hero .hero-actions { flex-direction: column; }
    .hero .hero-actions .button { min-height: 47px; }
    .area-grid { grid-template-columns: 1fr; gap: 15px; }
    .area-card { min-height: 0; padding: 24px; }
    .area-card > div { margin-bottom: 22px; }
    .area-card h3 { font-size: 1.7rem; }
    .area-card p { font-size: .94rem; }
    .area-link { font-size: .9rem; }
    .sample-card { padding-bottom: 24px; }
    .sample-image { height: 305px; padding-inline: 45px; }
    .steps article { padding: 24px 24px 24px 82px; }
    .steps article > span { top: 24px; left: 20px; width: 44px; height: 44px; }
    .steps h3 { font-size: 1.25rem; }
    .final-cta { padding: 30px 25px; }
  }
}
