/* SUVA Digital — design styles (generated from the approved design) */
html{scroll-behavior:smooth}
body{margin:0;background-color:#101010;background-image:linear-gradient(150deg,#101010 0%,rgba(16,16,16,.85) 50%,#101010 100%);background-attachment:fixed;color:#f2ece1;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#ff7043;text-decoration:none}
a:hover{color:#ff8a65}
::selection{background:rgba(255,112,67,.35)}
.suva-nav-menu{opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s;pointer-events:none}
.suva-nav-dd:hover .suva-nav-menu{opacity:1;visibility:visible;pointer-events:auto}
input::placeholder{color:rgba(242,236,225,.35)}
.suva-anim-off *{animation-play-state:paused !important}
@keyframes suvaOrbitSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes suvaOrbitCounter{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes suvaPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
@keyframes suvaSeqA{0%,6%{transform:scaleX(.1)}28%,90%{transform:scaleX(1)}98%,100%{transform:scaleX(.1)}}
@keyframes suvaSeqB{0%,34%{opacity:0;transform:translateY(10px)}46%,90%{opacity:1;transform:translateY(0)}98%,100%{opacity:0;transform:translateY(10px)}}
@keyframes suvaSeqC{0%,52%{opacity:0;transform:translateY(10px)}64%,90%{opacity:1;transform:translateY(0)}98%,100%{opacity:0;transform:translateY(10px)}}
@keyframes suvaFloatA{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3.6deg) translateY(-7px)}}
@keyframes suvaFloatB{0%,100%{transform:rotate(2deg) translateY(0)}50%{transform:rotate(2.6deg) translateY(-9px)}}
@keyframes suvaPop{0%,70%,100%{transform:scale(1)}78%{transform:scale(1.3)}86%{transform:scale(1)}}
@keyframes suvaTile{0%,100%{opacity:.22}50%{opacity:.85}}
@keyframes suvaHeartUp{0%{opacity:0;transform:translateY(14px) scale(.7)}18%{opacity:1}80%{opacity:.9}100%{opacity:0;transform:translateY(-52px) scale(1.15)}}
@keyframes suvaGlowRow{0%,100%{box-shadow:0 6px 22px rgba(255,112,67,.12)}50%{box-shadow:0 10px 34px rgba(255,112,67,.45)}}
@keyframes suvaCaret{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes suvaDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes suvaBreathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes suvaLoaderMark{0%{opacity:0;transform:translateY(18px) scale(.85)}45%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes suvaLoaderRing{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes suvaLoaderGlow{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}
@keyframes suvaLoaderBar{0%{transform:scaleX(0)}60%{transform:scaleX(.7)}100%{transform:scaleX(1)}}
@keyframes suvaLoaderText{0%{opacity:0;letter-spacing:.3em}100%{opacity:1;letter-spacing:.42em}}
input::placeholder,textarea::placeholder{color:rgba(242,236,225,.35)}
select option{background:#1a1612;color:#f2ece1}

/* hover and focus states */
.suva-fx1:hover{color: rgb(242, 236, 225);}
.suva-fx2:hover{background: rgba(255, 112, 67, 0.1); color: rgb(255, 138, 101);}
.suva-fx3:hover{background: rgb(255, 138, 101); color: rgb(26, 22, 18);}
.suva-fx4:hover{background: rgb(255, 138, 101); color: rgb(26, 22, 18); transform: translateY(-2px);}
.suva-fx5:hover{border-color: rgba(255, 112, 67, 0.6); color: rgb(255, 138, 101); transform: translateY(-2px);}
.suva-fx6:hover{color: rgb(255, 138, 101);}
.suva-fx7:hover{transform: translateY(-4px); border-color: rgba(255, 112, 67, 0.35);}
.suva-fx8:hover{border-color: rgba(255, 112, 67, 0.4);}
.suva-fx9:focus{border-color: rgb(255, 112, 67);}
.suva-fx10:hover{background: rgb(255, 138, 101); transform: translateY(-2px);}
.suva-fx11:hover{border-color: rgba(255, 112, 67, 0.35);}
.suva-fx12:hover{border-color: rgba(255, 112, 67, 0.5); color: rgb(255, 138, 101); transform: translateY(-2px);}

/* ---------------------------------------------------------------
   SUVA Digital — theme layer on top of the design's own styles
   --------------------------------------------------------------- */

/* The design was drawn with the browser's default content-box sizing. Keep it that
   way inside the design shell so a plugin's global border-box cannot reflow it. */
.suva-page,.suva-page *,.suva-page *::before,.suva-page *::after{box-sizing:content-box}
.suva-page button,.suva-page input,.suva-page select,.suva-page textarea{box-sizing:border-box}

/* Restore browser defaults a plugin stylesheet might have overridden. */
.suva-page{font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:normal;
  letter-spacing:normal;text-align:left;color:#f2ece1;-webkit-font-smoothing:antialiased}
.suva-page h1{font-size:2em;font-weight:700;margin:.67em 0;padding:0}
.suva-page h2{font-size:1.5em;font-weight:700;margin:.83em 0;padding:0}
.suva-page h3{font-size:1.17em;font-weight:700;margin:1em 0;padding:0}
.suva-page h4{font-size:1em;font-weight:700;margin:1.33em 0;padding:0}
.suva-page p{margin:1em 0;padding:0}
.suva-page blockquote{margin:1em 40px;padding:0;border:0}
.suva-page figure{margin:1em 40px;padding:0}
.suva-page img{max-width:100%;border:0;vertical-align:baseline}
.suva-page a{text-decoration:none}
.suva-page button,.suva-page input,.suva-page textarea,.suva-page select{
  font-family:inherit;font-size:100%;line-height:normal;letter-spacing:normal;text-transform:none}

html{scroll-padding-top:96px}
.suva-skip{position:absolute;left:-9999px;top:0;z-index:200;padding:12px 18px;border-radius:0 0 10px 0;
  background:#ff7043;color:#1a1612;font-weight:600}
.suva-skip:focus{left:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);white-space:nowrap}
.suva-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
body.admin-bar .suva-nav{top:46px}
@media screen and (min-width:783px){body.admin-bar .suva-nav{top:46px}}

/* ---- mobile navigation (the design ships no breakpoints) ---- */
.suva-navtoggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:10px;border:1px solid rgba(242,236,225,.14);background:rgba(242,236,225,.04);
  color:#f2ece1;cursor:pointer;padding:0;box-sizing:border-box}
.suva-navtoggle span{display:block;width:16px;height:1.5px;background:#f2ece1;position:relative}
.suva-navtoggle span::before,.suva-navtoggle span::after{content:'';position:absolute;left:0;
  width:16px;height:1.5px;background:#f2ece1;transition:transform .25s, top .25s}
.suva-navtoggle span::before{top:-5px}
.suva-navtoggle span::after{top:5px}
.suva-nav.suva-open .suva-navtoggle span{background:transparent}
.suva-nav.suva-open .suva-navtoggle span::before{top:0;transform:rotate(45deg)}
.suva-nav.suva-open .suva-navtoggle span::after{top:0;transform:rotate(-45deg)}

/* ---- image placeholders carried over from the design ---- */
.suva-imgslot{display:block;position:relative;width:100%;height:100%;aspect-ratio:3/2;overflow:hidden;
  font:13px/1.35 Inter,system-ui,sans-serif;color:rgba(242,236,225,.42)}
.suva-imgslot-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:14px;background:rgba(242,236,225,.035);
  border:1px dashed rgba(242,236,225,.12);border-radius:inherit}
.suva-imgslot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none}

/* ---- form feedback ---- */
[data-suva-form] .suva-field-error{border-color:rgba(255,86,86,.8)!important}
.suva-form-msg{margin-top:10px;font-size:12.5px;color:rgba(242,236,225,.55)}
.suva-form-msg[data-state="error"]{color:#ff8a65}
[data-suva-form][data-busy="1"]{opacity:.6;pointer-events:none}

/* ---- generic pages (blog, 404, anything not from the design) ---- */
.suva-h1{margin:0 0 18px;font-family:Montserrat,sans-serif;font-weight:700;
  font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-.015em;color:#faf6ee}
.suva-lede{margin:0;font-size:16px;line-height:1.7;color:rgba(242,236,225,.62)}
.suva-prose{font-size:15.5px;line-height:1.75;color:rgba(242,236,225,.72)}
.suva-prose a{color:#ff8a65;text-decoration:underline}
.suva-prose h2{font-family:Montserrat,sans-serif;color:#faf6ee;margin:1.6em 0 .5em}
.suva-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:10px;
  font-size:14.5px;font-weight:600;margin:0 8px 8px 0;transition:transform .25s,background .25s,border-color .25s}
.suva-btn-primary{background:#ff7043;color:#1a1612}
.suva-btn-primary:hover{background:#ff8a65;transform:translateY(-2px)}
.suva-btn-ghost{border:1px solid rgba(242,236,225,.18);color:#f2ece1}
.suva-btn-ghost:hover{border-color:rgba(255,112,67,.6);color:#ff8a65;transform:translateY(-2px)}

/* ---------------------------------------------------------------
   Coming soon front page
   --------------------------------------------------------------- */
.suva-cs{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;
  justify-content:center;overflow:hidden;padding:40px 24px}
.suva-cs-bg{position:absolute;inset:0;pointer-events:none}
.suva-cs-glow{position:absolute;left:50%;top:-30%;width:140%;height:100%;transform:translateX(-50%);
  background:radial-gradient(48% 48% at 50% 42%, rgba(255,112,67,.22) 0%, rgba(255,112,67,.07) 48%, transparent 72%)}
.suva-cs-ring{position:absolute;left:50%;top:62%;width:1400px;height:1400px;transform:translateX(-50%);
  border-radius:50%;border:1px solid rgba(255,138,101,.26);
  box-shadow:0 -40px 120px rgba(255,112,67,.16), inset 0 60px 120px rgba(255,112,67,.08)}
.suva-cs-spark{position:absolute;border-radius:50%;background:rgba(255,138,101,.5);filter:blur(1px);
  animation:suvaDrift 7s ease-in-out infinite}
.suva-cs-spark-1{left:16%;top:28%;width:10px;height:10px}
.suva-cs-spark-2{right:18%;top:24%;width:6px;height:6px;background:rgba(242,236,225,.35);animation-delay:-2s}
.suva-cs-spark-3{right:26%;bottom:30%;width:8px;height:8px;background:rgba(255,112,67,.45);animation-delay:-4s}

.suva-cs-inner{position:relative;z-index:2;width:100%;max-width:560px;text-align:center;
  display:flex;flex-direction:column;align-items:center}
.suva-cs-logo{width:72px;height:auto;display:block;animation:suvaDrift 6s ease-in-out infinite}
.suva-cs-eyebrow{margin:22px 0 0;font-family:Montserrat,sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.42em;text-indent:.42em;color:rgba(242,236,225,.75);text-transform:uppercase}
.suva-cs-title{margin:18px 0 0;font-family:Montserrat,sans-serif;font-weight:700;
  font-size:clamp(30px,4.4vw,48px);line-height:1.12;letter-spacing:-.02em;color:#faf6ee}
.suva-cs-text{margin:18px 0 0;font-size:16px;line-height:1.7;color:rgba(242,236,225,.62);max-width:460px}

.suva-cs-form{margin:34px 0 0;width:100%;max-width:460px;display:flex;gap:10px;
  padding:8px;border-radius:14px;border:1px solid rgba(242,236,225,.12);
  background:rgba(26,22,18,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.suva-cs-input{flex:1;min-width:0;padding:13px 16px;border-radius:10px;border:1px solid transparent;
  background:transparent;color:#f2ece1;font-size:14.5px;outline:none}
.suva-cs-input::placeholder{color:rgba(242,236,225,.35)}
.suva-cs-input:focus{border-color:rgba(255,112,67,.55)}
.suva-cs-submit{flex:none;padding:13px 22px;border-radius:10px;border:none;background:#ff7043;
  color:#1a1612;font-weight:600;font-size:14.5px;cursor:pointer;
  box-shadow:0 8px 30px rgba(255,112,67,.3);transition:background .25s,transform .25s}
.suva-cs-submit:hover{background:#ff8a65;transform:translateY(-2px)}
.suva-cs-note{margin:16px 0 0;font-size:12.5px;color:rgba(242,236,225,.42)}
.suva-cs-note[data-state="ok"]{color:#ff8a65}
.suva-cs-note[data-state="error"]{color:#ff8a65}

@media (max-width:560px){
  .suva-cs-form{flex-direction:column;gap:8px}
  .suva-cs-submit{width:100%}
}

/* ---------------------------------------------------------------
   Responsive layer — the source design has no media queries at all
   --------------------------------------------------------------- */
@media (max-width:1024px){
  .suva-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:900px){
  .suva-navtoggle{display:flex}
  .suva-nav{flex-wrap:wrap}
  .suva-navmenu{display:none!important;position:absolute;top:calc(100% + 10px);left:0;right:0;
    flex-direction:column!important;align-items:stretch!important;gap:2px!important;padding:10px;
    border-radius:14px;background:rgba(26,22,18,.97);backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);border:1px solid rgba(242,236,225,.1);
    box-shadow:0 20px 50px rgba(0,0,0,.5);max-height:min(72vh,560px);overflow:auto}
  .suva-nav.suva-open .suva-navmenu{display:flex!important}
  .suva-navmenu > a{padding:11px 14px;border-radius:9px;font-size:14px!important}
  .suva-nav-dd{width:100%}
  .suva-nav-menu{position:static!important;opacity:1!important;visibility:visible!important;
    pointer-events:auto!important;transform:none!important;padding-top:4px!important}
  .suva-nav-menu > div{min-width:0!important;background:transparent!important;border:none!important;
    box-shadow:none!important;padding:0 0 0 10px!important;backdrop-filter:none!important}
}
@media (max-width:820px){
  .suva-grid,.suva-grid-2,.suva-grid-3,.suva-grid-4{grid-template-columns:minmax(0,1fr)!important}
  .suva-padx{padding-left:20px!important;padding-right:20px!important}
  .suva-flexrow{flex-wrap:wrap!important}
}
@media (max-width:560px){
  .suva-padx{padding-left:16px!important;padding-right:16px!important}
}
@media (prefers-reduced-motion:reduce){
  .suva-page *,.suva-page *::before,.suva-page *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
}
