:root{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;--brand-ink: #0d0914;--brand-deep: #433a6c;--brand-purple: #6956a0;--brand-lavender: #c9cde9;--brand-coral: #e63c54;--brand-pink: #ebcddc;--brand-white: #f5f4f4;--accent: var(--brand-purple);--muted: var(--brand-deep);--line: var(--brand-lavender);--paper: var(--brand-white);--soft: color-mix(in srgb, var(--brand-lavender) 35%, var(--brand-white));color:var(--brand-ink);background:var(--brand-white);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brand-purple)}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h2{font-size:clamp(1.7rem,3.2vw,2.7rem);font-weight:600;line-height:1.16;margin-bottom:18px}h3{font-size:1.2rem}p{line-height:1.65;color:var(--muted)}small{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:5px}.wrap{max-width:1240px;padding:0 40px;margin:auto}.narrow{max-width:1100px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:11px;font-size:1.15rem;font-weight:650;text-decoration:none;letter-spacing:-.03em}.brand small{font-size:.55rem;letter-spacing:.2em;margin-top:4px}.brand-mark{display:grid;place-items:center;border:1px solid var(--brand-lavender);border-radius:50%;width:45px;height:45px;background:var(--brand-pink);color:var(--brand-deep)}.header nav{display:flex;gap:28px;align-items:center;font-size:.83rem}.header nav>a:not(.primary){text-decoration:none}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:40px;padding:15px 22px;border:1px solid transparent;text-decoration:none;line-height:1.3;font-size:.85rem;font-weight:600;transition:background .15s,transform .15s}.primary{background:var(--accent);color:var(--paper)}.primary:hover{background:var(--brand-deep)}.secondary{background:transparent;border-color:var(--brand-purple);color:var(--brand-deep)}.secondary:hover{background:var(--soft)}.danger{background:var(--brand-coral);color:var(--brand-ink)}.danger:hover{background:var(--brand-pink)}.small{padding:10px 17px}.full{width:100%}.text-button{display:inline-flex;align-items:center;gap:7px;background:none;padding:7px 0;border:0;color:var(--accent);font-size:.85rem;text-decoration:none}.icon{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--accent)}.eyebrow{display:block;color:var(--accent);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:650;margin-bottom:18px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand-coral);margin:0 8px 1px 0}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center;padding-top:76px;padding-bottom:70px;background:radial-gradient(ellipse at 5% 10%,rgb(235 205 220 / 55%),transparent 65%)}.hero h1{font-size:clamp(2.5rem,4.8vw,4.4rem);line-height:1.09;font-weight:500;margin-bottom:25px;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero p{max-width:470px;font-size:.95rem;line-height:1.8;margin-bottom:32px}.hero-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.7rem;margin-top:25px}.hero-art{height:465px;border-radius:180px 180px 24px 24px;background:var(--brand-lavender);position:relative;overflow:hidden;border:8px solid var(--brand-lavender);box-shadow:14px 14px 0 var(--brand-pink)}.hero-art>svg{height:96%;width:100%;fill:var(--brand-purple);stroke:var(--brand-deep);stroke-width:1}.orbit{position:absolute;inset:30px 28px 80px;border:1px solid var(--brand-purple);border-radius:50%}.art-label{position:absolute;left:30px;bottom:38px;display:flex;gap:13px;align-items:center;background:var(--brand-pink);color:var(--brand-deep);padding:18px 24px;border-radius:14px;font-size:.9rem}.art-label small{font-size:.68rem;margin-top:6px}.art-caption{position:absolute;bottom:12px;left:35px;font-size:.5rem;letter-spacing:.18em;color:var(--brand-ink);background:var(--brand-lavender);padding:3px 6px;border-radius:4px}.values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:100px;flex-wrap:wrap;padding:21px 25px;font-size:.73rem;color:var(--brand-deep);background:var(--brand-lavender)}.values span{display:flex;align-items:center;gap:10px}.section{padding-top:80px;padding-bottom:80px}.white{background:var(--paper)}.portfolio-section{background:var(--brand-pink)}.portfolio-section .eyebrow,.portfolio-section .text-button{color:var(--brand-deep)}.portfolio-section .empty{border-color:var(--brand-purple);background:#f5f4f47f}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:.82rem;margin-bottom:3px;max-width:400px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.portfolio-card{min-width:0;background:var(--paper);border-radius:20px;overflow:hidden}.portfolio-card>button{display:flex;align-items:center;justify-content:center;width:100%;height:290px;background:var(--soft);border:0;border-radius:18px;position:relative;overflow:hidden;color:var(--brand-purple)}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.portfolio-card>button:hover img{transform:scale(1.04)}.image-arrow{position:absolute;bottom:12px;right:12px;background:var(--paper);padding:8px;border-radius:50%;color:var(--accent)}.portfolio-card>div{padding:22px;border-top:4px solid var(--brand-lavender)}.portfolio-card:nth-child(2n)>div{border-top-color:var(--brand-purple)}.portfolio-card h3{margin-bottom:6px;font-size:.95rem}.portfolio-card p{font-size:.8rem}.empty{padding:50px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--brand-deep)}.empty h3{margin-top:14px;color:var(--brand-ink)}.empty p{margin-bottom:0}.procedure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.procedure-card{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:20px;border-top:5px solid var(--brand-lavender)}.procedure-card:nth-child(3n+2){border-top-color:var(--brand-pink)}.procedure-card:nth-child(3n){border-top-color:var(--brand-purple)}.procedure-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.procedure-number{font-size:.75rem;color:var(--brand-deep);background:var(--brand-lavender);border-radius:50%;width:32px;height:32px;display:inline-grid;place-items:center}.pill{font-size:.65rem;border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:30px}.procedure-card h3{margin:25px 0 12px;font-size:1.2rem}.procedure-card p{font-size:.8rem}.price{font-size:1.45rem;font-weight:600;border-top:1px solid var(--line);padding-top:22px;margin:22px 0}.price small{font-size:.74rem;margin-top:9px}.booking-band{background:var(--brand-lavender)}.booking-section .panel{border-color:transparent}.booking-section .step{padding-bottom:15px;border-bottom:3px solid var(--brand-pink)}.booking-section .notice:not(.error){background:var(--brand-pink)}.section-title{margin-bottom:30px}.section-title p{font-size:.85rem}input:not([type=checkbox]):not([type=file]),select{height:46px;line-height:1.3}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=date],input[type=time],input[type=datetime-local]{max-width:100%;text-align:left;font-variant-numeric:tabular-nums}input::-webkit-date-and-time-value{text-align:left}input::-webkit-datetime-edit{padding:0}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.panel{border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--paper);margin-bottom:20px;min-width:0}.panel h2{font-size:1.5rem}.panel h3{font-size:1rem}.panel>p{font-size:.85rem}.step{display:flex;gap:12px;color:var(--accent);font-size:.75rem;font-weight:650;margin-bottom:25px}.step span{color:var(--brand-deep)}label{display:block;font-size:.75rem;font-weight:550;margin-bottom:18px;color:var(--brand-deep)}input,select,textarea{display:block;background:var(--paper);width:100%;border:1px solid var(--brand-lavender);padding:12px;border-radius:9px;margin-top:8px;min-width:0;color:var(--brand-ink);font-size:.85rem}textarea{min-height:100px;resize:vertical}input[type=checkbox]{width:16px;height:16px;margin:1px 0 0;flex-shrink:0;accent-color:var(--accent)}.check{display:flex;align-items:start;gap:10px;line-height:1.6;font-weight:400}.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.field-pair>label{display:flex;flex-direction:column;min-width:0}.field-pair>label>input,.field-pair>label>select{margin-top:auto}.field-pair>label{row-gap:8px}.calendar-heading{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:12px;text-align:center;margin:28px 0 18px;text-transform:capitalize;font-size:.9rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:25px}.calendar button{min-height:44px;height:44px;padding:0;background:var(--soft);border:1px solid transparent;border-radius:8px;color:var(--brand-deep);font-size:.85rem}.calendar button:disabled{background:transparent;color:var(--brand-deep);opacity:.4}.calendar button[aria-pressed=true],.slots button[aria-pressed=true]{background:var(--accent);color:var(--brand-white)}.weekday{min-width:0;text-align:center;font-size:.65rem;color:var(--muted);padding-bottom:10px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px}.slots button{background:var(--paper);padding:10px 14px;border-radius:8px;border:1px solid var(--line);font-size:.8rem;min-height:44px;font-variant-numeric:tabular-nums}.summary{background:var(--soft);padding:22px;border-radius:12px;margin:25px 0}.summary .row{font-size:.8rem;margin-bottom:15px}.summary .row:last-child{margin-bottom:0}.summary p{font-size:.8rem;margin:12px 0 0}.notice{font-size:.78rem!important;line-height:1.65;background:var(--soft);border-radius:10px;padding:15px 18px;color:var(--brand-deep);margin:18px 0}.notice.error{border-left:4px solid var(--brand-coral);background:var(--brand-pink);color:var(--brand-ink)}.closing{--muted: var(--brand-lavender);padding-top:65px;padding-bottom:65px;margin-top:60px;margin-bottom:60px;max-width:1160px;width:calc(100% - 44px);background:var(--brand-deep);color:var(--brand-white);border-radius:28px;text-align:center}.closing .eyebrow{color:var(--brand-pink)}.closing h2{font:400 clamp(1.8rem,3vw,2.7rem) Georgia,serif}.closing .primary{margin-top:15px}.hero .primary,.closing .primary,.header nav>.primary{background:var(--brand-coral);color:var(--brand-ink)}.hero .primary:hover,.closing .primary:hover,.header nav>.primary:hover{background:var(--brand-pink)}.closing :focus-visible{outline-color:var(--brand-lavender)}footer{border-top:1px solid var(--line);background:var(--brand-pink);padding:45px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}footer h3{font-size:.85rem}footer p,footer a,footer button,footer summary{font-size:.75rem}footer a,footer button{display:block;margin-bottom:10px}footer .brand{font-size:1.3rem;margin-bottom:12px}.footer-bottom{border-top:1px solid var(--brand-lavender);margin-top:30px;padding-top:20px;font-size:.65rem;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:.85rem;font-weight:550;line-height:1.5}details p{margin-top:15px;white-space:pre-line}details label{margin-top:18px}.gallery-dialog{border:0;border-radius:22px;max-width:720px;width:calc(100% - 30px);max-height:92vh;padding:28px;color:var(--brand-ink)}.gallery-dialog::backdrop{background:#0d0914c2}.gallery-dialog h2{font-size:1.6rem;margin-bottom:20px}.gallery-stage{height:44vh;background:var(--soft);border-radius:12px;display:flex;justify-content:center;align-items:center}.gallery-stage img{width:100%;height:100%;object-fit:contain}.thumbnails{display:flex;gap:10px;overflow:auto;margin:20px 0}.thumbnails button{width:65px;height:65px;border:2px solid transparent;padding:0;flex-shrink:0;border-radius:8px;overflow:hidden}.thumbnails button[aria-pressed=true]{border-color:var(--accent)}.thumbnails img{height:100%;width:100%;object-fit:cover}.skip{position:fixed;top:-100px;left:10px;background:var(--paper);padding:15px;z-index:100}.skip:focus{top:10px}.mobile-menu{display:none}.page-title{font-size:clamp(2rem,4vw,3rem);font-weight:550;margin:15px 0 20px}.deposit-value{font-size:2.7rem;letter-spacing:-.05em;color:var(--accent);margin:20px 0}.qr{width:200px;height:200px;object-fit:contain}.status{display:inline-flex;align-items:center;background:var(--soft);color:var(--brand-deep);font-size:.65rem;border-radius:5px;padding:6px 9px;line-height:1.5;font-weight:550}.status.confirmado,.calendar-event.confirmado{background:var(--brand-lavender);color:var(--brand-deep)}.status.aguardando_analise,.calendar-event.aguardando_analise{background:var(--brand-pink);color:var(--brand-deep)}.status.aguardando_comprovante,.calendar-event.aguardando_comprovante{background:var(--soft);color:var(--brand-deep)}.status.rejeitado,.status.cancelado{background:var(--brand-pink);color:var(--brand-ink)}.danger-zone summary,.danger-text{color:var(--brand-deep);text-decoration:underline}.history-list{margin-top:30px}.history-list>button{width:100%;text-align:left}.login{min-height:100vh;display:grid;place-items:center;padding:25px}.login .panel{max-width:470px;padding:42px}.login h1{font-size:2rem;line-height:1.15}.login svg+.eyebrow{margin-top:22px}.login .text-button{margin-top:20px}.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;background:var(--soft)}.sidebar{--muted: var(--brand-lavender);background:var(--brand-deep);color:var(--brand-white);border-right:1px solid var(--line);padding:30px 18px;position:sticky;height:100vh;top:0;display:flex;flex-direction:column;overflow:auto}.sidebar .brand{font-size:.9rem;margin:0 0 35px 6px}.sidebar>.eyebrow{font-size:.55rem;margin-left:12px;color:var(--brand-pink)}.sidebar .text-button{color:var(--brand-pink)}.sidebar :focus-visible{outline-color:var(--brand-pink)}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{text-align:left;padding:12px;border:0;background:transparent;border-radius:8px;color:var(--brand-white);font-size:.76rem}.sidebar nav button.active{background:var(--brand-lavender);color:var(--brand-deep);font-weight:650}.sidebar-bottom{margin-top:auto;padding:25px 12px 0}.sidebar-bottom button{display:flex;font-size:.7rem}.admin-main{padding:40px;max-width:1600px;width:100%}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.admin-header h1{font-size:2.1rem;font-weight:600;margin-bottom:7px}.admin-header p{font-size:.75rem;margin-bottom:0}.admin-header .eyebrow{font-size:.55rem;margin-bottom:9px}.admin-header .row{justify-content:flex-end}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;margin-bottom:25px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;border-top:4px solid var(--brand-purple)}.stat:nth-child(3n+2){background:var(--brand-pink)}.stat:nth-child(3n){background:var(--brand-lavender)}.stat span{font-size:.7rem;color:var(--muted)}.stat strong{display:block;font-size:1.8rem;letter-spacing:-.05em;margin-top:12px}.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.admin-cards h2{margin-top:20px}.editor{max-width:900px}.editor fieldset{min-width:0;border:1px solid var(--line);padding:18px;border-radius:10px;margin:20px 0}.editor legend{font-size:.8rem;font-weight:600}.editor fieldset>p{font-size:.75rem}.window-row{display:grid;grid-template-columns:minmax(120px,1.1fr) repeat(2,minmax(105px,1fr)) 38px;gap:10px;align-items:end;margin-bottom:16px}.window-row>label{min-width:0;margin-bottom:0}.window-row>.icon{margin-bottom:4px}.image-editor{border:1px solid var(--line);border-radius:12px;padding:20px;margin:20px 0}.image-editor .check{font-size:.7rem;margin-bottom:5px}.detail{border:2px solid var(--accent)}.detail form{margin-top:25px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.75rem}th{font-size:.65rem;color:var(--muted);font-weight:550;padding:15px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px 10px;border-bottom:1px solid var(--line)}td small{font-size:.65rem}.list-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);gap:15px;font-size:.8rem}.week-scroll{overflow:auto;max-height:600px;border:1px solid var(--line);border-radius:12px}.week-grid{display:grid;grid-template-columns:50px repeat(7,minmax(110px,1fr));min-width:860px}.week-label{text-align:center;background:var(--paper);position:sticky;top:0;z-index:2;padding:15px 3px;font-size:.7rem;border-bottom:1px solid var(--line)}.hour-column{height:1152px}.hour-column span{display:block;height:48px;font-size:.6rem;color:var(--brand-deep);padding:4px}.day-column{height:1152px;position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,var(--soft) 47px,var(--soft) 48px)}.calendar-event{position:absolute;left:3px;right:3px;overflow:hidden;border:1px solid var(--brand-lavender);border-radius:5px;text-align:left;padding:4px;min-height:24px;font-size:.6rem;line-height:1.25;background:var(--soft);color:var(--brand-deep)}.calendar-event span,.calendar-event small{display:block;font-size:.55rem;line-height:1.2;margin-top:3px}.block{background:var(--brand-lavender);color:var(--brand-deep)}.legend{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.muted{color:var(--muted)}@media(max-width:1100px){.hero{gap:30px}.hero-art{height:400px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.values{gap:35px}.header nav{gap:14px}.admin-layout{grid-template-columns:200px 1fr}.admin-main{padding:25px}.admin-header{align-items:flex-start;flex-direction:column}.admin-header .row{justify-content:flex-start}.footer-grid{grid-template-columns:2fr 1fr}.procedure-grid{gap:12px}.procedure-card{padding:20px}}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.header{padding:18px 22px;flex-wrap:wrap;gap:15px}.brand{font-size:.95rem}.mobile-menu{display:grid}.header nav{display:none;width:100%;flex-wrap:wrap}.header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:40px}.hero h1{font-size:2.8rem}.hero-art{height:350px;max-width:450px;width:100%;justify-self:center}.hero p{font-size:.9rem}.hero .row{gap:10px}.hero .primary,.hero .secondary{padding:14px 17px;font-size:.8rem}.values{gap:16px;justify-content:flex-start;padding-left:22px;font-size:.64rem}.section{padding-top:50px;padding-bottom:50px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.section-heading p{font-size:.78rem}.portfolio-grid{gap:12px}.portfolio-card>button{height:210px}.portfolio-card h3{font-size:.86rem}.portfolio-card p{font-size:.74rem}.procedure-grid,.booking-grid{grid-template-columns:1fr}.procedure-card{padding:25px}.panel{padding:22px;border-radius:15px}.field-pair{grid-template-columns:1fr}.closing{padding-bottom:55px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}footer .brand{font-size:1rem}.admin-layout{display:block}.sidebar{height:auto;position:static;padding:20px}.sidebar .brand{margin-bottom:18px}.sidebar>.eyebrow{display:none}.sidebar nav{flex-direction:row;overflow:auto;gap:5px}.sidebar nav button{white-space:nowrap}.sidebar-bottom{display:flex;align-items:center;gap:20px;padding:12px 0 0}.admin-main{padding:24px 16px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:18px}.stat strong{font-size:1.5rem}.window-row{grid-template-columns:repeat(2,minmax(0,1fr)) 38px}.window-row>label:first-child{grid-column:1/-1}.admin-header h1{font-size:1.8rem}.login .panel{padding:28px}.gallery-dialog{padding:20px}.gallery-stage{height:38vh}}@keyframes content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}[data-reveal][data-reveal-ready=true]{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.3,1),translate .22s ease,box-shadow .22s ease}[data-reveal][data-reveal-ready=true]:not([data-revealed=true]){opacity:0;transform:translateY(16px)}[data-reveal-ready=true][data-reveal-delay="1"]{transition-delay:90ms}.portfolio-card:nth-child(4n+2),.procedure-card:nth-child(3n+2){transition-delay:45ms}.portfolio-card:nth-child(4n+3),.procedure-card:nth-child(3n){transition-delay:90ms}.portfolio-card:nth-child(4n),.procedure-card:nth-child(3n+1):not(:first-child){transition-delay:.12s}.primary,.secondary,.danger,.icon,.calendar button,.slots button{transition:background .18s ease,color .18s ease,border-color .18s ease,translate .18s ease}.primary:not(:disabled):active,.secondary:not(:disabled):active,.danger:not(:disabled):active{translate:0 1px}.primary svg,.text-button svg{transition:translate .2s ease}input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand-purple);box-shadow:0 0 0 3px #6956a01f}.portfolio-card,.procedure-card{transition:opacity .5s ease,transform .5s ease,translate .22s ease,box-shadow .22s ease}.gallery-dialog[open]{animation:gallery-enter .24s ease-out}.gallery-dialog[open]::backdrop,.gallery-stage img{animation:fade-enter .24s ease-out}.calendar,.slots,.notice,.admin-main .panel,.stat,.header nav.open{animation:content-enter .24s ease-out}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.portfolio-card:hover,.procedure-card:hover{translate:0 -4px;box-shadow:0 12px 28px #433a6c1a}.primary:not(:disabled):hover,.secondary:not(:disabled):hover,.icon:not(:disabled):hover,.slots button:not(:disabled):hover{translate:0 -2px}.primary:not(:disabled):hover svg,.text-button:not(:disabled):hover svg{translate:2px 0}}@media(prefers-reduced-motion:reduce){.portfolio-card>button:hover img{transform:none}*,*:before,*:after,*::backdrop{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-photo{width:100%;height:100%;object-fit:cover}.procedure-cover{width:100%;height:170px;object-fit:cover;border-radius:12px;margin-top:20px}.admin-image-preview{display:block;max-width:100%;width:220px;height:180px;object-fit:contain;background:var(--soft);border-radius:10px;margin-bottom:20px}
