/* FYM Company Only 1.0.28 — public website refinement layer. */
html{scroll-padding-top:92px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.public-top{box-shadow:0 8px 30px rgba(18,42,49,.055)}
.public-top .inner{position:relative}
.public-brand img{border:1px solid rgba(18,42,49,.08);box-shadow:0 7px 20px rgba(18,42,49,.08)}
.public-nav a:not(.button){position:relative;color:#284047;transition:color .16s ease}
.public-nav a:not(.button)::after{content:"";position:absolute;inset:auto 0 -7px;height:2px;border-radius:999px;background:var(--accent);transform:scaleX(0);transition:transform .16s ease}
.public-nav a:not(.button):hover{color:var(--accent)}
.public-nav a:not(.button):hover::after{transform:scaleX(1)}
.public-menu-toggle{display:none}
.button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 10px 24px rgba(18,42,49,.09)}
.button.primary:hover{box-shadow:0 13px 30px color-mix(in srgb,var(--accent) 30%,transparent)}
.hero{position:relative;isolation:isolate}
.hero::after{content:"";position:absolute;inset:auto -100px -250px auto;z-index:-1;width:520px;height:520px;border:1px solid rgba(255,255,255,.045);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.018),0 0 0 170px rgba(255,255,255,.012)}
.hero-mark{position:relative;overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,.26)}
.hero-mark::before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 43%,rgba(255,255,255,.1) 50%,transparent 57%);transform:translateX(-45%)}
.hero-mark img{position:relative;border-radius:24%;filter:drop-shadow(0 22px 36px rgba(0,0,0,.3))}
.product-card{position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.product-card::after{content:"";position:absolute;inset:auto -45px -70px auto;width:150px;height:150px;border-radius:50%;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.product-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:0 24px 60px rgba(18,42,49,.11)}
.feature{transition:transform .16s ease,border-color .16s ease,background .16s ease}
.feature:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 3%,var(--paper))}
.fact,.contact-line{transition:border-color .16s ease,background .16s ease}
.fact:hover,.contact-line:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 4%,white)}
.form-grid input:focus,.form-grid textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);background:#fff}
:where(a,button,input,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,white);outline-offset:3px}
@media(max-width:900px){
  .public-top .inner{min-height:68px}
  .public-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-inline-start:auto;min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-family:inherit;font-size:12px;font-weight:900;line-height:1;cursor:pointer}
  .public-menu-toggle::before{content:"☰";font-size:17px;color:var(--accent)}
  .public-menu-toggle[aria-expanded="true"]::before{content:"×"}
  .public-nav{position:absolute;inset-inline:0;top:calc(100% + 1px);z-index:50;display:grid;gap:5px;margin:0;padding:10px;border:1px solid var(--line);border-radius:0 0 16px 16px;background:#fbfdfc;box-shadow:0 18px 42px rgba(18,42,49,.14);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
  .public-nav.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .public-nav a,.public-nav a:not(.button){display:flex!important;align-items:center;justify-content:flex-start;min-height:42px;padding:8px 11px;border-radius:9px}
  .public-nav a:not(.button)::after{display:none}.public-nav a:not(.button):hover{background:color-mix(in srgb,var(--accent) 7%,white)}
  .public-nav .button{justify-content:center;margin-top:3px}
  .hero{padding-top:70px}.hero-grid{gap:0}
}
@media(max-width:600px){
  html{scroll-padding-top:76px}.public-top .inner{min-height:62px}.public-brand{gap:8px}.public-brand small{letter-spacing:0}
  .public-menu-toggle{min-height:38px;padding:7px 11px}
  .hero{padding:54px 0 50px}.hero h1{font-size:36px}.hero p{font-size:14px;line-height:1.9}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-actions .button{width:100%;padding-inline:10px}.hero-actions>:last-child{grid-column:1/-1}
  .section{padding:50px 0}.section-head h2{font-size:29px}.section-head p{font-size:13px}
  .product-card{min-height:250px;padding:22px;border-radius:20px}.product-card h3{font-size:20px}.product-card .number{font-size:40px}
  .feature{padding:18px}.contact-card{padding:18px;border-radius:18px}.public-footer{padding:26px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
