/* Ursa Medica — presentation and interaction upgrades. Original copy preserved. */
:root{--reading-scale:1}
body{overflow-x:clip}
main{animation:page-arrive .35s ease-out}
@keyframes page-arrive{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
:where(a,button,input,textarea):focus-visible{outline:3px solid var(--navy);outline-offset:4px;box-shadow:0 0 0 6px var(--paper-2)}
:where(button,a){-webkit-tap-highlight-color:transparent}
.btn:active,.social-icon:active,.tool-button:active{transform:scale(.97)}
.site-header{box-shadow:0 5px 30px #071e3610}
.header-inner{gap:16px}
.nav a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);border-radius:8px;padding:10px 9px}
.nav a.active{background:var(--paper);font-weight:700}
.ui-icon{width:18px;height:18px;flex:0 0 18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav .ui-icon{width:15px;height:15px;flex-basis:15px}
.eyebrow{color:var(--navy);opacity:.85}
.hero .eyebrow,.page-hero .eyebrow{color:var(--gold-2);opacity:1}
.hero{isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 72% 26%,#e3c98480 0 1px,transparent 2px),radial-gradient(circle at 82% 46%,#e3c98470 0 1px,transparent 2px),radial-gradient(circle at 65% 68%,#e3c98460 0 1px,transparent 2px);background-size:240px 240px}
.hero-grid{position:relative;z-index:1}
.section{padding-block:clamp(48px,6vw,84px)}
.card,.aside-card{border:1px solid var(--line);box-shadow:0 12px 36px #102a4010;border-radius:22px}
.card,.principle,.social-icon,.btn{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
@media(hover:hover){.card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #102a401b}.social-icon:hover{transform:translateY(-3px)}.diagram-wrap img:hover{transform:scale(1.025)}}
.diagram-wrap{overflow:hidden;border-radius:22px}
.diagram-wrap img{transition:transform .35s ease;cursor:zoom-in}
.about-photo{border-radius:28px;background:radial-gradient(ellipse at 50% 70%,var(--paper-2),var(--paper));box-shadow:0 18px 45px #102a4014;overflow:hidden;padding:14px 14px 0}
.about-photo img{object-fit:contain}
.credential>span:first-child{font-size:0}
.credential .ui-icon{color:var(--navy);width:22px;height:22px}
.float-tab{top:auto;bottom:22px;min-width:46px;min-height:46px;width:auto;height:46px;padding:10px 15px;flex-direction:row;gap:8px;border-radius:999px;box-shadow:0 6px 24px #102a4026}
.float-tab span{writing-mode:horizontal-tb;transform:none;font-size:.72rem;letter-spacing:.015em}
.theme-tab{left:22px;right:auto}
.contact-tab{right:22px;left:auto}
.float-panel{top:auto;bottom:82px;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;border-radius:20px;transform:translateY(8px);transform-origin:bottom}
.float-panel.open{visibility:visible;transform:translateY(0)}
.theme-panel{left:22px;width:230px}
.contact-panel{right:22px;width:min(370px,calc(100vw - 32px))}
.theme-choice{min-height:44px;color:var(--ink)}
.panel-close{min-width:36px;min-height:36px}
.quick-form input,.quick-form textarea,.contact-form input,.contact-form textarea{border-radius:10px;min-height:44px;max-width:100%;background:var(--paper-2);color:var(--ink)}
input:user-invalid,textarea:user-invalid{border-color:#a32828!important}
.form-status:empty{display:none}
.form-status{overflow-wrap:anywhere}
[data-contact-form][aria-busy=true] button[type=submit]{cursor:wait;opacity:.65}
.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--gold);z-index:210;pointer-events:none}
.reading-tools{display:flex;gap:8px;justify-content:flex-end;margin-bottom:22px}
.tool-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:inline-grid;place-items:center;background:var(--paper-2);color:var(--navy);cursor:pointer}
.article p,.article li{font-size:calc(1rem * var(--reading-scale));line-height:1.85}
.back-top{position:fixed;right:24px;bottom:80px;z-index:150;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;box-shadow:0 6px 20px #102a401c}
.back-top.visible{opacity:1;visibility:visible;transform:none}
.video-launch{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;border:0;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,var(--navy-3),var(--navy-2));border-radius:18px;color:#fff;cursor:pointer}
.video-launch img{position:absolute;height:100%;width:100%;object-fit:contain;opacity:.8}
.video-launch .play-circle{position:relative;display:grid;place-items:center;width:76px;height:76px;background:var(--paper-2);border-radius:50%;box-shadow:0 10px 40px #0004;color:var(--navy);transition:transform .2s}
.video-launch:hover .play-circle{transform:scale(1.08)}
.video-launch .ui-icon{width:30px;height:30px}
.video-stage iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.media-dialog{padding:48px 16px 16px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);max-width:min(950px,95vw);max-height:94dvh;box-shadow:0 30px 100px #0006}
.media-dialog::backdrop{background:#061d33cc;backdrop-filter:blur(5px)}
.media-dialog img{max-height:80dvh;object-fit:contain;margin:auto}
.media-dialog .tool-button{position:absolute;right:8px;top:5px;width:36px;height:36px}
.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal-ready.revealed{opacity:1;transform:none}
.footer{padding-bottom:90px}
@media(max-width:1150px) and (min-width:861px){.nav{gap:0}.nav a{font-size:.8rem;padding-inline:6px}.nav .ui-icon{display:none}.header-inner{gap:10px}.search-link{display:none}}
@media(max-width:860px){.nav a{min-height:46px}.nav{max-height:calc(100dvh - 90px);overflow:auto}.nav:not(.open){visibility:hidden}.nav.open{visibility:visible}.header-inner{gap:12px}.hero-portrait{overflow:hidden}.hero-copy{padding-inline:0}}
@media(max-width:560px){.float-tab{bottom:max(12px,env(safe-area-inset-bottom));min-width:44px;min-height:44px;height:44px;padding:10px 13px}.theme-tab{left:12px}.contact-tab{right:12px}.float-tab span{display:block!important;font-size:.7rem}.float-panel{bottom:70px;top:auto;max-height:calc(100dvh - 90px)}.theme-panel{left:12px;width:230px}.contact-panel{right:12px;width:calc(100vw - 24px)}.back-top{right:14px;bottom:70px}.container{width:calc(100% - 32px)}.article{padding:24px 20px}.reading-tools{gap:6px}.brand-copy strong{font-size:1.45rem}.brand{min-width:0}.brand img{width:46px;height:46px}.header-inner{gap:8px}.search-link{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}}
@media print{body{background:#fff!important;color:#111!important}.site-header,.float-tab,.float-panel,.social-band,.footer,.reading-tools,.back-top,.reading-progress,.skip-link,.media-dialog{display:none!important}.container{width:100%;max-width:none}.section,.page-hero{padding:12px 0!important;background:#fff!important}.article{box-shadow:none;border:0;padding:0}.article-grid{display:block}.aside-card{display:none}.reveal-ready{opacity:1!important;transform:none!important}h1,h2,h3{break-after:avoid;color:#111!important}img{max-height:80mm;object-fit:contain}p{orphans:3;widows:3}a{color:inherit}*{animation:none!important}}

@media print{.article-layout{display:block}.article-layout>aside{display:none}}
