/* Visual refinement and interaction invariants. Loaded after the original theme. */
:root{--ease:cubic-bezier(.2,.65,.3,1);--muted:#a6afbc;--r:20px}
html{scrollbar-gutter:stable;scroll-padding-top:100px}
body{padding-right:var(--scrollbar-gap,0px)}
#grain,#glow,.aurora,.wm,.sol-img{display:none!important}
.rv,.rv.zoom,.irv,.splitw .w i{opacity:1;transform:none;clip-path:none;transition:none}
.splitw .w{overflow:visible;vertical-align:baseline}
.shimmer{animation:none;background:none;color:var(--gold2);-webkit-text-fill-color:currentColor}
.btn{min-height:52px;padding:17px 26px;letter-spacing:.035em;font-size:12px;white-space:normal;line-height:1.4;will-change:auto;transition:background .2s,border-color .2s,box-shadow .2s;color:inherit}
.btn-gold{background:linear-gradient(115deg,#d5b77e,#eddbb4);color:#211c14;box-shadow:0 6px 22px #0002}
.btn-gold:hover,.btn-gold:active,.btn-line:hover,.btn-line:active{transform:none;box-shadow:0 6px 26px #d5b77e20}
.btn-gold::after,.btn-line::before,.dot::after{display:none}
.btn:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
.btn:disabled{opacity:.6;cursor:wait}
header{padding:20px 0;transition:background .25s,box-shadow .25s}
header.sc{padding:20px 0;background:rgba(10,12,17,.96);backdrop-filter:none;box-shadow:none}
.head-in{gap:24px}.head-r{gap:16px}.head-phone{flex-shrink:0}.head-phone small{white-space:nowrap}
nav.desk{gap:24px}nav.desk a{white-space:nowrap;font-size:12px}
.head-cta{padding:13px 20px;min-height:46px}.theme-toggle:hover{transform:none}
body.menu-open header{z-index:800}.mmenu{z-index:790;transition:opacity .22s,visibility .22s;justify-content:flex-start;padding-top:110px}
.mmenu .mfoot{margin-top:24px}.mmenu a.mlink{transform:none;transition:opacity .2s}.mmenu .mfoot{transform:none;transition:opacity .2s}
.hero{isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'copy image';gap:56px;min-height:0;max-width:1440px;margin:auto;padding:140px 64px 68px;align-items:center;overflow:visible}
.hero>.container{grid-area:copy;padding:0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;z-index:2}
.hero-bg{grid-area:image;position:relative;inset:auto;z-index:0;width:100%;height:650px;overflow:hidden;border-radius:120px 8px 8px 8px;background:#262724}
.hero-bg img.poster{filter:brightness(.94) saturate(.85);animation:none;object-position:61% center}
.hero-bg::before{display:none}.hero-bg::after{background:linear-gradient(180deg,transparent 50%,rgba(8,10,14,.7));z-index:1}
.hero-image-caption{position:absolute;left:32px;right:28px;bottom:32px;z-index:2;color:#fff}
.hero-image-caption>span{font-size:10px;letter-spacing:.2em;color:#f0dec0}
.hero-image-caption b{display:block;font-family:var(--fd);font-size:30px;font-weight:400;line-height:1.25;margin:14px 0}
.hero-image-caption small{font-size:10px;color:#eee8df}
.hero-eyebrow{order:-2;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--gold2);margin-bottom:30px}
.hero-eyebrow span{margin-left:20px;color:var(--muted);font-weight:500;letter-spacing:.2em}
.hero h1{font-size:clamp(46px,4.7vw,68px);letter-spacing:-.035em;line-height:1.08;margin-bottom:24px;max-width:600px;text-wrap:balance}
.hero h1 em{font-weight:400;color:#dec18c;display:block}
.hero p.lead{font-size:15px;line-height:1.85;max-width:450px;margin-bottom:28px;color:#b8c0cc}
.hero-badge{order:4;border:0;background:none;backdrop-filter:none;padding:0;margin:0 0 26px;font-size:11px;gap:10px;min-height:24px;border-radius:0}
.hero-badge .stars{font-size:12px;letter-spacing:2px}
.hero-btns{gap:10px;margin-bottom:16px;width:100%}.hero-btns .btn{padding:17px 21px;font-size:11px;min-width:0}
.hero-note{font-size:10px;margin-bottom:22px;line-height:1.6;gap:8px;color:#aab3bf}.hero-note::before{flex-shrink:0;width:17px;height:17px;font-size:10px}
.hero-stats{order:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:100%;padding-top:23px;border-top:1px solid #ffffff20}
.hstat b{font-size:26px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#eee2cc}.hstat span{display:block;font-size:9px;line-height:1.65;margin-top:6px;color:#9ba6b6}
.hero-scroll{position:absolute;right:64px;bottom:27px;writing-mode:horizontal-tb;font-size:9px;letter-spacing:.16em;gap:20px}.hero-scroll::after{display:none}
section{padding:100px 0}.sec-label{font-size:10px;letter-spacing:.22em}.sec-title{letter-spacing:-.025em;font-size:clamp(30px,3.7vw,48px);line-height:1.15}.sec-sub{font-size:15px;line-height:1.8}
.marquee{transform:none!important;border-block:1px solid var(--line);background:transparent}.marq-track{animation:none!important;flex-wrap:wrap;justify-content:center;gap:24px;white-space:normal}.marq-track span{font-size:11px!important;letter-spacing:.12em}.marq-track span:nth-child(n+5){display:none}
.bcard,.fab-card,.pcard,.rev{box-shadow:none;border-radius:18px}
.bcard.gold{background:linear-gradient(135deg,#d5b77e,#ebd8b0)}
.bcard.photo img,.fab-img img,.gitem img,.sol-thumb{filter:saturate(.88) brightness(.97)}
.fab-img img,.gitem img{transition:transform .65s var(--ease)}
.gitem:hover img{transform:scale(1.025);filter:saturate(.88) brightness(.97)}
.gal{touch-action:auto;scroll-behavior:smooth}.gitem{border-radius:12px}.gitem::after{background:linear-gradient(180deg,transparent 55%,rgba(8,10,14,.88))}
.price-grid{scroll-margin-top:105px;margin-top:40px}.pcard .btn{width:100%}.pcard{padding:32px 26px}.pcard.hit{background:linear-gradient(155deg,rgba(207,174,116,.13),var(--card));transform:none}
.studio-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.studio-intro a{color:var(--gold2);font-weight:700;min-height:44px;display:flex;align-items:center;gap:14px}
.studio{margin-top:22px;border-radius:18px;box-shadow:none}.studio-canvas-wrap{touch-action:auto;overscroll-behavior:auto}#studioCanvas{touch-action:pan-y pinch-zoom;cursor:default}
.studio-canvas-wrap.is-editing,#studioCanvas.is-editing{touch-action:none}
.studio-touch-mode{display:flex;align-items:center;gap:12px;margin:12px 0}.studio-touch-mode span{font-size:10px;line-height:1.5;color:var(--muted)}.studio-touch-mode button{flex-shrink:0;min-height:44px;border-color:var(--line);color:var(--gold2)}
.studio-touch-mode button[aria-pressed=true]{background:var(--grad);color:#211c14}
.studio-field input,.studio-field select{font-size:16px!important;min-height:46px}.studio-chip{min-height:44px}
.modal{transition:opacity .22s,visibility .22s}.modal-box{max-height:92vh;max-height:92dvh;overscroll-behavior:contain;transform:translateY(12px);transition:transform .24s var(--ease);padding:34px;border-radius:20px}
.modal.show .modal-box{transform:none}.modal-x:hover{transform:none}.modal-bg{backdrop-filter:blur(5px)}
.image-viewer-box{height:88vh;height:min(900px,88dvh)}.cookie-settings-card{max-height:90vh;max-height:90dvh}
body.overlay-open .cookie-banner,body.overlay-open .mbar{visibility:hidden;pointer-events:none}
body.overlay-open .mbar{opacity:0}
.form-extra{margin:12px 0 20px;border-block:1px solid var(--line);padding:13px 0}.form-extra summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--gold2);min-height:30px;padding:5px 0}.form-extra summary span{color:var(--muted);font-size:10px;font-weight:400;margin-left:8px}.form-extra .form-project-box{margin-top:12px;border:0;padding:0;background:none}
.form-error a{display:block;text-decoration:underline;color:var(--gold2);margin-top:10px}.form-note{font-size:11px}
.cookie-banner{position:relative;inset:auto;z-index:2;width:calc(100% - 48px);max-width:1192px;margin:0 auto 28px;padding:16px 20px;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:12px;box-shadow:none;backdrop-filter:none;background:var(--bg2);gap:18px}
.cookie-copy b{font:700 12px 'Manrope';margin-bottom:4px}.cookie-copy p{font-size:11px;line-height:1.6}.cookie-actions{flex-wrap:nowrap}.cookie-actions button{min-height:42px;padding:10px 13px;font-size:10px;white-space:nowrap;flex:0 0 auto!important;border-radius:8px}
.cookie-banner[hidden],.cookie-settings[hidden]{display:none}
html[data-theme=light] .hero h1 em{color:var(--gold)}
html[data-theme=light] .hero p.lead,html[data-theme=light] .hero-note,html[data-theme=light] .hstat span{color:#535c66}
html[data-theme=light] .hstat b{color:#3b3325}
html[data-theme=light] .hero-stats{border-color:var(--line)}
html[data-theme=light] .hero-badge{background:none;border:0}
html[data-theme=light] header.sc{background:rgba(245,242,235,.97)}
html[data-theme=light] .mmenu{background:#f5f2eb}
html[data-theme=light] .cookie-banner{background:#f3efe7}
@media(min-width:761px) and (max-width:1220px){nav.desk{display:none}.burger{display:block}.hero{padding-inline:40px;gap:34px}.hero-bg{height:610px}.hero h1{font-size:50px}.hero-btns .btn{padding-inline:16px}.hero-scroll{right:40px}.hstat b{font-size:23px}}
@media(max-width:760px){
  header,header.sc{padding:14px 0}.head-in{gap:12px}.head-r{gap:8px}.head-phone,.head-cta,nav.desk{display:none}.burger{display:block}.theme-toggle{width:40px;height:40px}.burger{width:42px;height:42px}.burger span{left:11px;right:11px}.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:26px}.burger.open span:nth-child(n){top:20px}
  .hero{display:flex;flex-direction:column;padding:112px 20px 28px;gap:28px;align-items:stretch}.hero>.container{width:100%;max-width:none}.hero h1{font-size:clamp(41px,10.5vw,66px);max-width:600px;margin-bottom:22px}.hero-eyebrow{font-size:9px;margin-bottom:24px}.hero-eyebrow span{font-size:8px;margin-left:14px}.hero p.lead{font-size:14px;line-height:1.8;max-width:510px;margin-bottom:24px}
  .hero-bg{order:2;height:380px;flex-shrink:0;border-radius:64px 6px 6px 6px}.hero-image-caption{left:24px;bottom:22px}.hero-image-caption b{font-size:27px}.hero-image-caption>span,.hero-image-caption small{font-size:9px}
  .hero-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.hero-btns .btn{width:100%;min-height:52px;padding:15px 9px;font-size:10px}.hero-note{font-size:10px;margin-bottom:19px}.hero-badge{width:auto;justify-content:flex-start;font-size:10px;margin-bottom:22px}.hero-badge>span:last-child{white-space:normal}
  .hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:20px}.hstat b{font-size:23px}.hstat span{font-size:8px;line-height:1.6}.hero-scroll{display:none}
  section{padding:66px 0}.sec-sub{font-size:14px}.sec-title{font-size:32px}.marq-track{gap:12px}.marq-track span{font-size:9px!important;gap:12px}.marq-track span:nth-child(n+3){display:none}
  .studio-intro{display:block;margin-top:36px;font-size:11px}.studio-intro a{margin-top:4px}.studio-touch-mode{align-items:flex-start;flex-direction:column;gap:6px}.studio-touch-mode button{width:100%}
  .cookie-banner{width:calc(100% - 40px);padding:14px;margin-bottom:18px;grid-template-columns:1fr;gap:10px}.cookie-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cookie-actions button{font-size:9px;min-width:0;padding:9px 5px}.cookie-copy p{font-size:10px}.cookie-copy b{font-size:11px}
  .modal{place-items:end stretch;padding:0}.modal-box{padding:30px 22px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;max-height:90vh;max-height:90dvh}.mbar{display:flex;border-radius:16px;padding:8px;backdrop-filter:none;background:var(--bg2)}.mbar a,.mbar button{font-size:12px;min-height:48px;padding:10px 6px}
}
@media(max-width:370px){.logo{font-size:19px}.logo small{display:none}.hero{padding-inline:18px}.hero h1{font-size:40px}.hero-eyebrow span{letter-spacing:.1em}.hero-note{align-items:flex-start;font-size:9px}.hstat b{font-size:20px}.hstat span{font-size:8px}.hero-badge .stars{letter-spacing:1px}.hero-bg{height:340px}.hero-btns .btn{font-size:9px}.cookie-banner{width:calc(100% - 36px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.package-note{color:var(--muted);font-size:12px;line-height:1.7;max-width:720px;margin-top:24px}
.hero-bg img.poster{animation:photo-arrive .8s ease-out both}
@keyframes photo-arrive{from{opacity:.5}to{opacity:1}}
.fab-card:hover .fab-img img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.hero-bg img.poster{animation:none}}
/* Decorative layers must never become invisible click targets. */
.hero-bg::after,.fab-img::after,.bcard.gold::before,.form-card::before,.rsum::before{pointer-events:none}
.pcard.hit::before{display:none}.pcard.hit{border:1px solid var(--gold)}
.fab:hover,.pcard:hover,.profile-card:hover,.step:hover,.rev:hover,.lab-toggle:hover,.big-tel:hover,.foot-grid a:hover,.gal-nav button:hover:not(:disabled),.image-viewer-close:hover,.image-viewer-arrow:hover{transform:none}
.fab:hover .fab-img img,.bcard.photo:hover img{transform:scale(1.025);filter:saturate(.88) brightness(.97)}
.bcard.gold::before{animation:none}
html[data-theme=light] .hero-bg img.poster{filter:brightness(.94) saturate(.85)}
html[data-theme=light] .hero-bg::after{background:linear-gradient(180deg,transparent 50%,rgba(8,10,14,.7))}
html[data-theme=light] .hero-bg::before{display:none}
