/* Shared responsive layer: loaded after each page's legacy styles. */
:root{--platform-header-height:90px}
html{scroll-padding-top:calc(var(--platform-header-height) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:visible}
main,main>*,.nav-inner,.site-brand__text,.portal-card>div,.cycle-bar>div{min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
input,select,textarea{max-width:100%}
img,video,svg{max-width:100%}
.table-scroll,.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #76508d;outline-offset:3px}
.tap-feedback{transform:scale(.975)!important;box-shadow:0 0 0 3px #9879b235!important;transition:transform .14s,box-shadow .14s!important}
.account-page .next-step h2,.account-page .next-step h3{color:#fff}
@media(max-width:1000px){
 .site-nav .wrap.nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;align-items:center;min-height:72px;width:calc(100% - 28px);padding:10px 0}
 .site-nav .site-brand{grid-column:1;grid-row:1;max-width:100%;padding:0;border:0;white-space:normal;margin:0;font-size:16px;gap:9px}
 .site-nav .site-brand__text{line-height:1.3;overflow-wrap:anywhere}
 .site-nav .site-brand small{font-size:12px;margin-top:4px;color:#64576e}
 .site-nav .site-brand__logo{width:27px;height:45px}
 .site-nav .menu-toggle{display:grid;place-items:center;grid-column:3;grid-row:1;width:44px;height:44px;margin:0;padding:5px;border:1px solid #dcd1e4;background:#f5f0f8;color:#352047;font-size:22px}
 .site-nav .platform-search-open{grid-column:2;grid-row:1;width:52px;height:44px;min-height:44px;margin:0;padding:5px;font-size:14px;white-space:nowrap}
 .site-nav .nav-inner .site-links{grid-column:1/-1;grid-row:2;display:none;width:100%;margin:0;max-height:65dvh;overflow-y:auto;padding:6px;background:#fff;border-top:1px solid #e6ddea;gap:6px}
 .site-nav .nav-inner .site-links.open{display:grid;grid-template-columns:1fr 1fr}
 .site-nav .site-links a{font-size:15px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 6px;white-space:normal;text-align:center;border-radius:9px;background:#f7f4fa}
 .site-links.motion-tabs:after{display:none}
 .tabs{top:var(--platform-header-height)}
 .portal-hero{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
 .program-doors{grid-template-columns:1fr;gap:12px}
 .program-doors>a{padding:23px;min-height:0}
 .program-doors p{margin:8px 0 16px}
 .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .formal-door{flex-direction:column;align-items:stretch}
 .formal-door .portal-primary{align-self:flex-start}
 .account-page .record-grid,.account-page .admin-columns,.account-page .employee-layout{grid-template-columns:minmax(0,1fr)}
 .account-page .team-filters{grid-template-columns:1fr 1fr}
 .account-page .team-filters>label:first-child{grid-column:1/-1}
 .account-page .cycle-bar{flex-direction:column;align-items:stretch}
 .account-page .cycle-bar label{min-width:0;max-width:none;width:100%}
}
@media(max-width:700px){
 .wrap,main.wrap,.portal-main.wrap{width:calc(100% - 28px);max-width:100%;margin-inline:auto}
 main{padding-top:14px;padding-bottom:40px}
 body{font-size:16px;line-height:1.8}
 .platform-context{gap:8px;padding:8px 0;margin-bottom:12px;align-items:start}
 .platform-context nav{gap:7px;font-size:12px;flex:1}
 .platform-context a{min-height:38px}
 .platform-context button{font-size:12px;min-height:40px;padding:7px 10px}
 .quick-help{padding:12px 14px;font-size:14px;margin:10px 0 14px}
 .quick-help summary{min-height:32px;display:list-item;line-height:2}
 .utility-row{gap:8px;margin:10px 0 16px}
 .utility-row small{flex:1;min-width:145px;font-size:12px;line-height:1.7}
 .utility-row button,.favorite-button{font-size:14px;min-height:46px}
 .portal-hero{grid-template-columns:minmax(0,1fr);padding:25px 20px;margin:10px 0 14px;border-radius:20px}
 .portal-hero h1{font-size:32px;line-height:1.5;margin:0 0 12px}
 .portal-hero p{font-size:16px;line-height:1.85}
 .portal-kicker{font-size:12px;line-height:1.8;letter-spacing:0}
 .portal-hero .hero-orbit{display:grid;width:min(230px,100%);max-width:230px;aspect-ratio:1;margin:14px auto 6px}
 .portal-hero .hero-orbit img{width:65px;height:110px}
 .portal-hero .orbit-word{font-size:13px;padding:8px 13px;line-height:1.6}
 .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:20px}
 .portal-primary,.portal-secondary{width:100%;min-height:48px;font-size:15px;white-space:normal;padding:12px}
 .intent-bar{display:grid;grid-template-columns:1fr 1fr;padding:14px;gap:8px}
 .intent-bar>span{grid-column:1/-1;font-size:15px}
 .intent-bar a{display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;min-height:48px;padding:10px 5px}
 .portal-section-heading{margin:28px 0 20px}
 .portal-section-heading h2{font-size:23px}
 .portal-group{padding:16px;border-radius:18px;margin-bottom:16px}
 .portal-group-head{gap:12px;margin-bottom:15px}
 .portal-group-head h2{font-size:20px}
 .portal-group-head p{font-size:13px;line-height:1.7}
 .portal-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .portal-card{padding:16px 13px;gap:12px;min-height:94px;align-items:center}
 .portal-card h3{font-size:18px;line-height:1.5}
 .portal-card p{font-size:14px;line-height:1.75;color:#5a5360}
 .portal-icon{width:44px;height:44px;flex-basis:44px;border-radius:12px}
 .portal-icon svg{width:27px;height:27px}
 .portal-arrow{font-size:18px;flex:none}
 .formal-door{padding:24px 20px;gap:16px;margin:24px 0}
 .formal-door h2{font-size:25px}
 .formal-door p{font-size:15px}
 .formal-door .portal-primary{align-self:stretch}
 .formal-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .formal-steps span{font-size:13px;line-height:1.7}
 .platform-updates,.interactive-tour,.home-film{grid-template-columns:minmax(0,1fr);gap:16px}
 .platform-updates{padding:15px 0 26px;margin-bottom:20px}
 .platform-updates article{font-size:15px}
 .interactive-tour{padding:16px 0 24px}
 .tour-copy h2{font-size:26px;line-height:1.5}
 .tour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .tour-tabs button{font-size:14px;min-height:46px;padding:10px 5px}
 .tour-panel{padding:20px 16px}
 .tour-panel h3{font-size:23px}
 .tour-steps li{padding:12px;gap:10px;font-size:15px}
 .tour-steps b{flex-shrink:0}
 .home-film{padding:20px;margin:24px 0}
 .home-film h2{font-size:25px;margin:5px 0}
 .home-film video{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:16/9}
 .company-section,.company-story{margin:25px 0;border-radius:18px}
 .company-story{grid-template-columns:minmax(0,1fr)}
 .company-copy{padding:22px 18px;direction:rtl}
 .company-copy h2{font-size:28px;margin:10px 0 16px}
 .company-copy p{font-size:16px!important;line-height:1.95}
 .company-values{gap:7px;margin-top:18px}
 .company-values span{font-size:13px;padding:6px 10px}
 .company-copy blockquote{font-size:17px;margin:16px 0}
 .program-intro{margin:20px 0}
 .program-intro h1{font-size:31px;line-height:1.45}
 .program-intro p{font-size:16px;line-height:1.9}
 .program-map,.program-boundary{padding:22px 18px;margin:22px 0}
 .program-map-grid,.boundary-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .program-doors h2{font-size:23px;margin:10px 0}
 .program-doors p{font-size:15px}
 .saved-links{display:grid;grid-template-columns:minmax(0,1fr)}
 .saved-links a{font-size:15px;overflow-wrap:anywhere}
 .account-page .program-shell{padding-top:14px}
 .account-page .view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px;padding:6px}
 .account-page .view-switch button{min-width:0;padding:10px 7px;min-height:47px;font-size:14px;white-space:normal;line-height:1.5}
 .account-page .view-switch.motion-tabs:after{display:none}
 .account-header{flex-wrap:wrap;gap:8px}
 .account-header h1{font-size:26px}
 .account-header p{font-size:14px;overflow-wrap:anywhere}
 .account-header>a{min-height:44px;padding:8px 0}
 .account-page .employee-welcome{grid-template-columns:minmax(0,1fr);padding:22px 18px;gap:16px}
 .account-page .employee-welcome h2{font-size:25px}
 .account-page .profile-meta{font-size:14px;gap:6px 12px}
 .account-page .employee-progress{min-width:0}
 .training-stages,.account-page .employee-side,.account-page .lesson-grid,.staff-grid,.calendar-list,.cycle-list{grid-template-columns:minmax(0,1fr)}
 .account-page .panel{padding:18px 15px;border-radius:15px}
 .account-page .team-filters{grid-template-columns:minmax(0,1fr);gap:6px}
 .team-view{flex-direction:column;align-items:stretch;gap:10px}
 .team-view label{min-width:0;width:100%}
 .account-page .cycle-bar{padding:16px;gap:10px}
 .account-page .cycle-bar strong{font-size:17px;line-height:1.7}
 .account-page .cycle-bar select{font-size:16px;min-width:0}
 .account-page .manager-tasks{padding:20px 16px;gap:14px;flex-direction:column;align-items:stretch}
 .task-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .task-counts button{min-width:0;padding:12px 4px}
 .task-counts span{font-size:12px;line-height:1.6}
 .account-page .next-step{flex-direction:column;align-items:stretch;padding:22px 18px;gap:12px}
 .account-page .next-step h2{font-size:24px;color:#fff}
 .account-page .next-step .p-button{white-space:normal;width:100%}
 .account-page .section-title{flex-wrap:wrap;align-items:start}
 .account-page .metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .account-page .metric-box{padding:14px 10px}
 .account-page .metric-box strong{font-size:25px;overflow-wrap:anywhere}
 .account-page .metric-box span,.account-page .metric-box small{font-size:13px;line-height:1.7}
 .account-page .field-row{grid-template-columns:1fr 1fr;gap:10px;padding:15px 0}
 .account-page .field-row>b{grid-column:1/-1;font-size:15px}
 .account-page .field-row label{padding:10px;border:1px solid #e2d8e9;border-radius:9px;font-size:15px;min-height:46px}
 .account-page .ratings{grid-template-columns:minmax(0,1fr)}
 .account-page .ratings label{display:block;font-size:15px;padding:14px;line-height:1.9}
 .account-page .ratings label b{margin:0 8px;display:inline-block}
 .account-page .quiz-question label{font-size:16px;line-height:1.8;padding:13px;gap:12px}
 .account-page .quiz-question legend,.account-page .skill-field legend{font-size:16px;line-height:1.8}
 .account-page input:not([type=radio]):not([type=checkbox]),.account-page select,.account-page textarea,.filter-bar input,.filter-bar select,.platform-search-dialog input{font-size:16px!important}
 .account-page .p-button{font-size:15px;min-height:48px;padding:11px 14px;white-space:normal;line-height:1.6}
 .account-page dialog,.platform-search-dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 24px);margin:auto;padding:18px 14px;overflow-y:auto;overscroll-behavior:contain}
 .account-page dialog h2,.platform-search-dialog h2{font-size:24px}
 .account-page .dialog-top{position:sticky;top:-18px;background:#fff;z-index:3;padding:10px 0}
 .account-page .close-button,.search-close{min-width:44px;min-height:44px}
 .account-page .button-row,.report-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%}
 .account-page .button-row>*,.report-actions>*{width:100%;min-width:0}
 .account-page .journey-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .journey-track li{font-size:14px;padding:12px 10px}
 .account-page .comparison-table.mobile-cards,.account-page .comparison-table.mobile-cards tbody{display:block;width:100%;min-width:0}
 .account-page .comparison-table.mobile-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .account-page .comparison-table.mobile-cards tr{display:block;margin:0 0 14px;border:1px solid #e3d9ea;border-radius:12px;overflow:hidden;background:#fff}
 .account-page .comparison-table.mobile-cards th,.account-page .comparison-table.mobile-cards td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0;width:100%;white-space:normal;padding:11px 12px;font-size:14px;line-height:1.7;text-align:right}
 .account-page .comparison-table.mobile-cards tbody th{display:block;background:#efe8f5;font-size:16px;color:#412954}
 .account-page .comparison-table.mobile-cards td:before{content:attr(data-label);font-weight:700;color:#645270}
 .account-page .table-scroll:has(.mobile-cards){border:0;overflow:visible}
 .filter-bar{flex-direction:column}.filter-bar label{min-width:0;flex-basis:auto;width:100%}
 .perfume-grid,.match-grid,.notes-steps{grid-template-columns:minmax(0,1fr)}
 .perfume-card{padding:20px 16px}.product-top{gap:12px;align-items:center}.product-top>div{min-width:0}
 .product-top img{width:90px;height:145px}.collection-products{width:110px}
 .product-top h2{font-size:23px;line-height:1.5}
 .catalog-heading{flex-wrap:wrap;gap:12px}.catalog-heading h1{font-size:28px}
 .catalog-tabs,.employee-jump{display:flex;flex-wrap:wrap;gap:7px}
 .catalog-tabs a{font-size:14px;min-height:44px;padding:9px 12px;white-space:normal}
 .modules,.quickcards{grid-template-columns:minmax(0,1fr)!important}
 .journey-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible;gap:8px!important}
 .journey-tabs .step{width:100%;min-width:0;padding:12px 8px;flex:auto}
 .journey-tabs .step b{font-size:15px!important}
 .path-card .path-link{margin-inline:0;width:100%;padding:8px 0}
 .path-card p{font-size:16px}
 .tabs{display:flex;flex-wrap:wrap;position:static;gap:8px;padding:10px 0}
 .tabs a{min-height:44px;white-space:normal;padding:9px 12px;font-size:14px!important}
 .site-footer{padding:28px 20px calc(28px + env(safe-area-inset-bottom));margin-top:28px}
}
@media(max-width:360px){.site-nav .site-brand{font-size:13px;gap:6px}.site-nav .site-brand small{font-size:11px}.site-nav .wrap.nav-inner{gap:7px}.site-nav .site-brand__logo{width:23px;height:40px}.portal-card{gap:9px;padding:13px 10px}.portal-card h3{font-size:17px}.portal-icon{width:38px;height:38px;flex-basis:38px}.portal-hero h1{font-size:28px}.platform-context{flex-direction:column}.task-counts{grid-template-columns:1fr}.task-counts button{display:flex;align-items:center;justify-content:space-between;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){.tap-feedback{transform:none!important;transition:none!important}}.motion-paused .tap-feedback{transform:none!important;transition:none!important}
@media print{.site-nav{display:none!important}.comparison-table.mobile-cards{display:table!important}.comparison-table.mobile-cards thead{position:static!important;width:auto!important;height:auto!important;clip-path:none!important;display:table-header-group!important}.comparison-table.mobile-cards tbody{display:table-row-group!important}.comparison-table.mobile-cards tr{display:table-row!important}.comparison-table.mobile-cards th,.comparison-table.mobile-cards td{display:table-cell!important}.comparison-table.mobile-cards td:before{display:none!important}}
