/* Premium Polish v1 — isolated visual refinement, no layout/content logic changes */
:root{
  --champagne:#D8B85A;
  --champagne-soft:#F4E8C8;
  --ink:#17284F;
  --paper:#FFFCF7;
  --line:rgba(31,53,100,.12);
  --premium-shadow:0 18px 45px rgba(31,53,100,.10);
  --premium-shadow-soft:0 10px 28px rgba(31,53,100,.075);
}
html{scroll-behavior:smooth}
body{font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Navigation: calmer, more premium */
nav{box-shadow:0 12px 34px rgba(31,53,100,.055);border-bottom:1px solid rgba(216,184,90,.45)}
.nav-links li a{position:relative;border-bottom:0;color:rgba(31,53,100,.78);transition:color .22s ease, transform .22s ease}
.nav-links li a::after{content:"";position:absolute;left:18px;right:18px;bottom:28px;height:2px;background:linear-gradient(90deg,transparent,var(--champagne),transparent);transform:scaleX(0);transform-origin:center;transition:transform .24s ease;opacity:.9}
.nav-links li a:hover,.nav-links li a.active{color:var(--navy);transform:translateY(-1px)}
.nav-links li a:hover::after,.nav-links li a.active::after{transform:scaleX(1)}
.lang-btn{border-radius:999px;transition:background .2s ease, box-shadow .2s ease, transform .2s ease}
.lang-btn:hover,.lang-btn.active{transform:translateY(-1px);box-shadow:0 8px 18px rgba(201,168,76,.16)}

/* Hero and image sections: subtle movement and cleaner premium depth */
.hero-bg::before{background:radial-gradient(ellipse at center,rgba(13,25,55,.54) 0%,rgba(13,25,55,.36) 44%,rgba(13,25,55,.13) 73%,rgba(13,25,55,0) 100%);box-shadow:0 24px 70px rgba(15,25,60,.20);backdrop-filter:blur(1.5px)}
.hero-bg h1{letter-spacing:-.015em;text-shadow:0 10px 34px rgba(0,0,0,.42),0 2px 4px rgba(0,0,0,.34)}
.hero-bg p{max-width:610px;text-shadow:0 8px 24px rgba(0,0,0,.46)}
.img-banner{border-top:1px solid rgba(216,184,90,.35);border-bottom:1px solid rgba(216,184,90,.35)}
.img-banner::before{background:linear-gradient(120deg,rgba(12,24,54,.74),rgba(12,24,54,.42),rgba(12,24,54,.68))}

/* Buttons: no more flat blocks */
.btn-gold,.nav-cta,.btn-submit,.btn-next,.cf button{border-radius:999px!important;position:relative;overflow:hidden;box-shadow:0 12px 26px rgba(201,168,76,.24),inset 0 1px 0 rgba(255,255,255,.34);transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease}
.btn-gold:hover,.nav-cta:hover,.btn-submit:hover,.btn-next:hover,.cf button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(201,168,76,.30),inset 0 1px 0 rgba(255,255,255,.42)}
.btn-out,.btn-back{border-radius:999px!important;transition:transform .22s ease, box-shadow .22s ease, background .22s ease}
.btn-out:hover,.btn-back:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(31,53,100,.12);background:rgba(255,255,255,.12)}

/* Stats: premium capsules instead of static text */
.stats-bar{background:linear-gradient(180deg,#F2E8CB,#EDE1BD);border-top:1px solid rgba(216,184,90,.48);border-bottom:1px solid rgba(216,184,90,.55);gap:1.2rem!important;padding:1.35rem 2rem!important}
.stats-bar>div{min-width:190px;text-align:center;padding:1rem 1.25rem;border:1px solid rgba(31,53,100,.10);border-radius:22px;background:rgba(255,255,255,.34);box-shadow:0 12px 30px rgba(31,53,100,.055);transition:transform .25s ease, box-shadow .25s ease, background .25s ease}
.stats-bar>div:hover{transform:translateY(-4px);background:rgba(255,255,255,.52);box-shadow:0 18px 42px rgba(31,53,100,.10)}
.stat-num{font-size:32px!important;line-height:1;color:var(--navy)!important;letter-spacing:-.02em}
.stat-label{margin-top:.38rem;color:rgba(31,53,100,.72)!important}

/* Cards and service blocks */
.svc,.team-card,.listing-card,.form-card,.empty-state,.contact-inner,.legal-card,.modal-content .form-card{border-radius:22px!important;box-shadow:var(--premium-shadow-soft);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.svc:hover,.team-card:hover,.listing-card:hover{transform:translateY(-5px);box-shadow:var(--premium-shadow)}
.svc{border-color:rgba(216,184,90,.22)!important}
.svc::after{transition:opacity .22s ease, transform .22s ease;transform:translateY(4px)}
.svc:hover::after{transform:translateY(0)}

/* Contact modal progress: turn Word-98 circles into modern step buttons */
.progress-wrap{margin:2.1rem 0 2.35rem!important}
.progress-steps{position:relative;gap:.85rem!important;align-items:center!important}
.progress-step{gap:.85rem!important}
.progress-line{height:2px!important;background:rgba(31,53,100,.10)!important;border-radius:999px!important}
.progress-line.done{background:linear-gradient(90deg,var(--champagne),rgba(216,184,90,.35))!important}
.progress-dot{width:44px!important;height:44px!important;border-radius:14px!important;background:linear-gradient(180deg,#fff,#F6F1E6)!important;border:1px solid rgba(31,53,100,.12)!important;color:rgba(31,53,100,.62)!important;font-size:13px!important;font-weight:800!important;box-shadow:0 10px 24px rgba(31,53,100,.10),inset 0 1px 0 rgba(255,255,255,.8)!important;transition:transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease!important}
.progress-dot.active{background:linear-gradient(180deg,#E2C66C,#C9A84C)!important;border-color:rgba(174,139,49,.8)!important;color:#142346!important;transform:translateY(-3px) scale(1.03)!important;box-shadow:0 16px 34px rgba(201,168,76,.32),inset 0 1px 0 rgba(255,255,255,.42)!important}
.progress-dot.done{background:linear-gradient(180deg,#243A6E,#17284F)!important;border-color:#17284F!important;color:#E9D079!important;box-shadow:0 12px 28px rgba(31,53,100,.20)!important}
.progress-labels{margin-top:.75rem!important;color:rgba(31,53,100,.58)!important}
.progress-label,.progress-labels span{letter-spacing:.1em!important;font-size:11px!important}
.progress-label.active,.progress-labels .active{color:var(--navy)!important}

/* Form elements: cleaner interaction */
.clean-modal-form input:not([type="checkbox"]):not([type="radio"]),.clean-modal-form select,.clean-modal-form textarea,.finput{border-radius:14px!important;border:1px solid rgba(31,53,100,.16)!important;background:rgba(255,255,255,.88)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease!important}
.clean-modal-form input:focus,.clean-modal-form select:focus,.clean-modal-form textarea:focus,.finput:focus{border-color:rgba(201,168,76,.85)!important;box-shadow:0 0 0 4px rgba(201,168,76,.16),0 10px 24px rgba(31,53,100,.06)!important}
.clean-modal-form .choice-field{border-radius:18px!important;background:linear-gradient(180deg,#fffdf9,#faf6ec)!important;border:1px solid rgba(216,184,90,.26)!important;box-shadow:0 12px 28px rgba(31,53,100,.045)}
.clean-modal-form .choice-card{border-radius:16px!important;border:1px solid rgba(31,53,100,.13)!important;background:rgba(255,255,255,.86)!important;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease!important}
.clean-modal-form .choice-card:hover{transform:translateY(-2px);border-color:rgba(201,168,76,.58)!important;box-shadow:0 12px 24px rgba(31,53,100,.09)}
.clean-modal-form .choice-card:has(input:checked){border-color:rgba(201,168,76,.9)!important;background:linear-gradient(180deg,#fffaf0,#F8EBC5)!important;box-shadow:0 14px 26px rgba(201,168,76,.16)}
.clean-modal-form .choice-card input{accent-color:var(--navy)!important}
.form-card{background:rgba(255,255,255,.86)!important;border:1px solid rgba(216,184,90,.24)!important}
.form-card::before{content:"";display:block;height:3px;width:54px;border-radius:999px;background:linear-gradient(90deg,var(--champagne),rgba(216,184,90,0));margin:-.3rem 0 1rem}

/* Subtle reveal animations */
@keyframes premiumRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hero-bg .eyebrow,.hero-bg h1,.hero-bg .hero-div,.hero-bg p,.hero-bg .hero-btns,.stats-bar>div,.section-title,.svc,.team-card,.listing-card,.img-banner h2,.img-banner p{animation:premiumRise .7s ease both}
.hero-bg h1{animation-delay:.06s}.hero-bg p{animation-delay:.12s}.hero-bg .hero-btns{animation-delay:.18s}.stats-bar>div:nth-child(2){animation-delay:.06s}.stats-bar>div:nth-child(3){animation-delay:.12s}.stats-bar>div:nth-child(4){animation-delay:.18s}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mobile refinements */
@media(max-width:720px){
  .stats-bar>div{min-width:calc(50% - .8rem);padding:.9rem .7rem}
  .stat-num{font-size:28px!important}
  .progress-dot{width:38px!important;height:38px!important;border-radius:12px!important}
  .progress-line{min-width:18px}
}
@media(max-width:460px){.stats-bar>div{min-width:100%}.progress-labels{font-size:10px!important}}
