/* ==========================================================================
   Nest Phoenix — "ws" theme
   White + gold (default). Dark mode = html[data-theme="dark"].
   Self-contained: uses only ws-* class names so it never fights style.css.
   ========================================================================== */

:root{
  --ws-bg:#ffffff;
  --ws-alt:#faf6ee;
  --ws-card:#ffffff;
  --ws-ink:#17130c;
  --ws-muted:#6a6355;
  --ws-line:#eadfc7;
  --ws-gold:#c99b50;
  --ws-gold-hi:#e8c780;
  --ws-gold-lo:#a2742a;
  --ws-gold-soft:#f6ecd6;
  --ws-on-gold:#1b1408;
  --ws-nav-solid:rgba(255,255,255,.92);
  --ws-shadow:0 18px 50px rgba(120,86,26,.12);
  --ws-shadow-lg:0 30px 80px rgba(120,86,26,.18);
  --ws-nav-h:84px;
  --ws-radius:22px;
  --ws-head:'Sora','Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ws-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ws-grad:linear-gradient(135deg,#ecce8c 0%,#c99b50 52%,#a2742a 100%);
  --ws-grad-text:linear-gradient(135deg,#c99445 0%,#8f6420 100%);
}
html[data-theme="dark"]{
  --ws-bg:#0d0b08;
  --ws-alt:#14110c;
  --ws-card:#181410;
  --ws-ink:#f7f0e0;
  --ws-muted:#b5ab96;
  --ws-line:#2b2417;
  --ws-gold-soft:#251d0e;
  --ws-nav-solid:rgba(13,11,8,.92);
  --ws-grad-text:linear-gradient(135deg,#f0d493 0%,#c99b50 100%);
  --ws-shadow:0 18px 50px rgba(0,0,0,.45);
  --ws-shadow-lg:0 30px 80px rgba(0,0,0,.55);
}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--ws-nav-h) - 8px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.ws-home,body.ws-inner{font-family:var(--ws-body)}
body.ws-home{background:var(--ws-bg)!important;color:var(--ws-ink)!important;overflow-x:hidden}
body.ws-home .site-noise{display:none!important}
html[data-theme="light"] body.ws-inner{background:var(--ws-bg)}

/* ---------- Header (fixed, transparent -> opaque on scroll) ---------- */
.ws-header,.ws-header *{box-sizing:border-box}
.ws-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--ws-nav-h);
  background:transparent;
  border-bottom:1px solid transparent;
  transition:height .35s ease,background-color .35s ease,box-shadow .35s ease,border-color .35s ease,backdrop-filter .35s ease;
  font-family:var(--ws-body);
}
/* Inner pages have no hero to float over, so the bar is solid and in-flow */
body.ws-inner .ws-header{position:sticky;background:var(--ws-nav-solid);border-bottom-color:var(--ws-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ws-header.is-scrolled{
  --ws-nav-h:68px;
  height:68px;
  background:var(--ws-nav-solid);
  border-bottom-color:var(--ws-line);
  box-shadow:0 10px 34px rgba(90,64,18,.12);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
}
html[data-theme="dark"] .ws-header.is-scrolled{box-shadow:0 10px 34px rgba(0,0,0,.5)}
.ws-nav-inner{max-width:1280px;height:100%;margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:28px}

.ws-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ws-ink);flex:0 0 auto}
.ws-brand img{width:56px;height:56px;object-fit:contain;transition:width .35s ease,height .35s ease;filter:drop-shadow(0 4px 10px rgba(120,86,26,.35))}
.ws-header.is-scrolled .ws-brand img{width:46px;height:46px}
.ws-brand span{display:flex;flex-direction:column;line-height:1}
.ws-brand strong{font:800 15px/1 var(--ws-head);letter-spacing:.14em;color:var(--ws-ink)}
.ws-brand small{margin-top:5px;font:700 9.5px/1 var(--ws-body);letter-spacing:.38em;color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-brand small{color:var(--ws-gold)}

.ws-menu{display:flex;align-items:center;gap:6px;margin:0 auto}
.ws-link{
  position:relative;display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;
  font:600 14px/1 var(--ws-body);color:var(--ws-ink);text-decoration:none;opacity:.86;
  transition:color .2s,opacity .2s,background-color .2s;
}
.ws-link::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--ws-grad);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.ws-link:hover,.ws-link.is-active{opacity:1;color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-link:hover,html[data-theme="dark"] .ws-link.is-active{color:var(--ws-gold-hi)}
.ws-link:hover::after,.ws-link.is-active::after{transform:scaleX(1)}
.ws-menu-actions{display:none}

.ws-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.ws-signin-d{padding:10px 12px}

.ws-cart{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--ws-ink);text-decoration:none;border:1px solid var(--ws-line);background:var(--ws-card)}
.ws-cart .ws-ico svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}
.ws-cart .cart-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--ws-grad);color:var(--ws-on-gold);font:800 11px/19px var(--ws-body);text-align:center}

.ws-theme{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;cursor:pointer;color:var(--ws-ink);background:var(--ws-card);border:1px solid var(--ws-line);transition:border-color .2s,transform .2s}
.ws-theme:hover{border-color:var(--ws-gold);transform:rotate(12deg)}
.ws-theme svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ws-theme .ws-sun{display:none}
html[data-theme="dark"] .ws-theme .ws-sun{display:block}
html[data-theme="dark"] .ws-theme .ws-moon{display:none}

/* buttons */
.ws-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
  padding:16px 28px;border:0;border-radius:999px;text-decoration:none;white-space:nowrap;
  font:800 15px/1 var(--ws-body);letter-spacing:.01em;color:var(--ws-on-gold)!important;
  background:var(--ws-grad);box-shadow:0 12px 28px rgba(162,116,42,.34),inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.ws-btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(162,116,42,.44),inset 0 1px 0 rgba(255,255,255,.5);filter:saturate(1.08)}
.ws-btn--sm{padding:12px 20px;font-size:13.5px}
.ws-btn--ghost{background:transparent;color:var(--ws-ink)!important;box-shadow:inset 0 0 0 1.5px var(--ws-gold)}
.ws-btn--ghost:hover{background:var(--ws-gold-soft);box-shadow:inset 0 0 0 1.5px var(--ws-gold)}
.ws-btn--dark{background:#17130c;color:#f6e7c1!important;box-shadow:0 12px 28px rgba(23,19,12,.3)}
html[data-theme="dark"] .ws-btn--dark{background:#f7f0e0;color:#17130c!important}
.ws-arrow{display:inline-block;transition:transform .22s}
.ws-btn:hover .ws-arrow{transform:translateX(4px)}

.ws-quote{position:relative}
.ws-chev{display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.ws-quote.is-open .ws-chev{transform:translateY(1px) rotate(-135deg)}
.ws-quote-menu{
  position:absolute;right:0;top:calc(100% + 12px);width:290px;padding:8px;border-radius:18px;
  background:var(--ws-card);border:1px solid var(--ws-line);box-shadow:var(--ws-shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;
}
.ws-quote.is-open .ws-quote-menu{opacity:1;visibility:visible;transform:none}
.ws-quote-menu a{display:block;padding:13px 14px;border-radius:12px;text-decoration:none;color:var(--ws-ink)}
.ws-quote-menu a:hover{background:var(--ws-gold-soft)}
.ws-quote-menu b{display:block;font:700 14px/1.2 var(--ws-body)}
.ws-quote-menu small{display:block;margin-top:4px;font:500 12.5px/1.3 var(--ws-body);color:var(--ws-muted)}

.ws-toggle{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--ws-line);background:var(--ws-card);cursor:pointer;padding:0;position:relative}
.ws-toggle span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ws-ink);transition:transform .25s,opacity .2s,top .25s}
.ws-toggle span:nth-child(1){top:16px}.ws-toggle span:nth-child(2){top:22px}.ws-toggle span:nth-child(3){top:28px}
.ws-toggle[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.ws-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.ws-toggle[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}

@media (max-width:1040px){
  .ws-signin-d{display:none}
  .ws-link{padding:10px 10px}
}
@media (max-width:920px){
  :root{--ws-nav-h:72px}
  .ws-nav-inner{padding:0 16px;gap:12px}
  .ws-toggle{display:block}
  .ws-actions{margin-left:auto}
  .ws-menu{
    position:absolute;left:12px;right:12px;top:calc(100% + 8px);margin:0;padding:12px;
    flex-direction:column;align-items:stretch;gap:2px;border-radius:20px;
    background:var(--ws-card);border:1px solid var(--ws-line);box-shadow:var(--ws-shadow-lg);
    max-height:calc(100vh - 100px);overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s;
  }
  .ws-menu.is-open{opacity:1;visibility:visible;transform:none}
  .ws-menu .ws-link{padding:15px 16px;border-radius:12px;font-size:15.5px}
  .ws-menu .ws-link::after{display:none}
  .ws-menu .ws-link:hover,.ws-menu .ws-link.is-active{background:var(--ws-gold-soft)}
  .ws-menu-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--ws-line)}
  .ws-menu-actions .ws-signin{justify-content:center;border:1px solid var(--ws-line)}
  .ws-quote{display:none}
  .ws-brand img{width:48px;height:48px}
  .ws-brand strong{font-size:13px}
  .ws-header.is-scrolled{height:64px}
}
@media (min-width:921px){.ws-quote-m{display:none!important}}

/* ---------- Layout helpers ---------- */
.ws-wrap{width:min(1240px,calc(100% - 48px));margin:0 auto}
@media (max-width:600px){.ws-wrap{width:calc(100% - 32px)}}
.ws-sec{position:relative;padding:104px 0;background:var(--ws-bg)}
.ws-sec--alt{background:var(--ws-alt)}
@media (max-width:700px){.ws-sec{padding:72px 0}}
.ws-kicker{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font:800 12px/1 var(--ws-body);letter-spacing:.24em;text-transform:uppercase;color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-kicker{color:var(--ws-gold)}
.ws-kicker::before{content:"";width:34px;height:2px;border-radius:2px;background:var(--ws-grad)}
.ws-h2{margin:0 0 18px;font:700 clamp(30px,4.2vw,52px)/1.1 var(--ws-head);letter-spacing:-.02em;color:var(--ws-ink)}
.ws-h2 em,.ws-hero h1 em{font-family:inherit;font-weight:inherit;letter-spacing:inherit}
.ws-h2 em{font-style:normal;background:var(--ws-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ws-lead{margin:0;max-width:62ch;font:500 17.5px/1.7 var(--ws-body);color:var(--ws-muted)}
.ws-head{max-width:760px;margin:0 0 56px}
.ws-head--center{margin-left:auto;margin-right:auto;text-align:center}
.ws-head--center .ws-lead{margin-inline:auto}
.ws-head--center .ws-kicker::after{content:"";width:34px;height:2px;border-radius:2px;background:var(--ws-grad)}

.js .ws-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .ws-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .ws-reveal{opacity:1;transform:none;transition:none}}

/* ---------- Hero ---------- */
.ws-hero{
  position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100svh;
  display:flex;align-items:center;padding:calc(var(--ws-nav-h) + 56px) 0 96px;
  background:
    radial-gradient(900px 520px at 88% 12%,rgba(232,199,128,.42),transparent 62%),
    radial-gradient(700px 480px at 4% 96%,rgba(201,155,80,.2),transparent 60%),
    var(--ws-bg);
}
html[data-theme="dark"] .ws-hero{
  background:
    radial-gradient(900px 520px at 88% 12%,rgba(201,155,80,.22),transparent 62%),
    radial-gradient(700px 480px at 4% 96%,rgba(201,155,80,.10),transparent 60%),
    var(--ws-bg);
}
/* circuit-board grid, a nod to the logo plate */
.ws-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.55;
  background-image:linear-gradient(var(--ws-line) 1px,transparent 1px),linear-gradient(90deg,var(--ws-line) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 15%,transparent 72%);
  mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 15%,transparent 72%);
}
.ws-hero-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.22}
.ws-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:56px}
.ws-pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;margin:0 0 26px;border-radius:999px;background:var(--ws-gold-soft);border:1px solid var(--ws-line);font:700 12.5px/1 var(--ws-body);letter-spacing:.06em;color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-pill{color:var(--ws-gold-hi)}
.ws-pill i{width:8px;height:8px;border-radius:50%;background:var(--ws-gold);box-shadow:0 0 0 0 rgba(201,155,80,.6);animation:wsPulse 2.2s infinite}
@keyframes wsPulse{70%{box-shadow:0 0 0 10px rgba(201,155,80,0)}100%{box-shadow:0 0 0 0 rgba(201,155,80,0)}}
.ws-hero h1{margin:0 0 24px;font:800 clamp(38px,5.6vw,74px)/1.04 var(--ws-head);letter-spacing:-.035em;color:var(--ws-ink)}
.ws-hero h1 em{font-style:normal;background:var(--ws-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.ws-hero-lead{margin:0 0 36px;max-width:56ch;font:500 clamp(16.5px,1.5vw,19px)/1.7 var(--ws-body);color:var(--ws-muted)}
.ws-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ws-facts{display:flex;flex-wrap:wrap;gap:12px 34px;margin-top:48px;padding-top:28px;border-top:1px solid var(--ws-line)}
.ws-facts div{display:flex;flex-direction:column;gap:6px}
.ws-facts b{font:800 20px/1 var(--ws-head);color:var(--ws-ink)}
.ws-facts span{font:600 13px/1.3 var(--ws-body);color:var(--ws-muted)}

.ws-stage{position:relative;width:min(520px,100%);aspect-ratio:1;margin-left:auto;display:grid;place-items:center}
.ws-ring{position:absolute;inset:4%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 25%,rgba(201,155,80,.0) 25%,rgba(232,199,128,.9) 50%,transparent 75%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:wsSpin 14s linear infinite}
.ws-ring.r2{inset:15%;animation-duration:22s;animation-direction:reverse;opacity:.7}
@keyframes wsSpin{to{transform:rotate(360deg)}}
.ws-disc{position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fffdf6,var(--ws-gold-soft) 62%,rgba(232,199,128,.55));box-shadow:var(--ws-shadow-lg),inset 0 0 0 1px var(--ws-line)}
html[data-theme="dark"] .ws-disc{background:radial-gradient(circle at 35% 28%,#2b2112,#16110a 70%);box-shadow:0 0 90px rgba(201,155,80,.22),inset 0 0 0 1px var(--ws-line)}
.ws-logo-hero{position:relative;z-index:2;width:74%;height:auto;filter:drop-shadow(0 26px 30px rgba(120,86,26,.38));animation:wsFloat 6s ease-in-out infinite}
@keyframes wsFloat{50%{transform:translateY(-14px) rotate(-1.2deg)}}
.ws-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;background:var(--ws-card);border:1px solid var(--ws-line);box-shadow:var(--ws-shadow);font:700 13px/1.2 var(--ws-body);color:var(--ws-ink);animation:wsFloat 7s ease-in-out infinite}
.ws-chip svg{width:20px;height:20px;fill:none;stroke:var(--ws-gold-lo);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .ws-chip svg{stroke:var(--ws-gold)}
.ws-chip small{display:block;font:500 11.5px/1.2 var(--ws-body);color:var(--ws-muted);margin-top:3px}
.ws-chip.c1{left:-2%;top:16%;animation-delay:-1s}
.ws-chip.c2{right:-3%;top:46%;animation-delay:-3s}
.ws-chip.c3{left:6%;bottom:8%;animation-delay:-5s}
@media (prefers-reduced-motion:reduce){.ws-ring,.ws-logo-hero,.ws-chip,.ws-pill i{animation:none}}

@media (max-width:960px){
  .ws-hero{min-height:0;padding-bottom:72px}
  .ws-hero-grid{grid-template-columns:1fr;gap:40px}
  .ws-stage{width:min(380px,84%);margin:8px auto 0}
  .ws-chip.c1{left:-4%}.ws-chip.c2{right:-4%}
}
@media (max-width:520px){.ws-chip{padding:9px 12px;font-size:12px}.ws-chip small{display:none}}

/* ---------- Marquee ---------- */
.ws-marquee{overflow:hidden;border-block:1px solid var(--ws-line);background:var(--ws-alt);padding:20px 0}
.ws-marquee-track{display:flex;width:max-content;gap:0;animation:wsMarquee 38s linear infinite}
.ws-marquee:hover .ws-marquee-track{animation-play-state:paused}
.ws-marquee span{display:inline-flex;align-items:center;gap:30px;padding-right:30px;font:700 15px/1 var(--ws-head);letter-spacing:.04em;color:var(--ws-muted);white-space:nowrap}
.ws-marquee span::after{content:"✦";color:var(--ws-gold);font-size:14px}
@keyframes wsMarquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ws-marquee-track{animation:none}}

/* ---------- Growth cards ---------- */
.ws-growth{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.ws-card{
  position:relative;grid-column:span 2;padding:34px 30px 32px;border-radius:var(--ws-radius);
  background:var(--ws-card);border:1px solid var(--ws-line);overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.ws-card:nth-child(n+4){grid-column:span 3}
.ws-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--ws-grad);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.ws-card:hover{transform:translateY(-6px);box-shadow:var(--ws-shadow);border-color:var(--ws-gold)}
.ws-card:hover::before{transform:scaleX(1)}
.ws-card-ico{display:grid;place-items:center;width:54px;height:54px;margin-bottom:22px;border-radius:16px;background:var(--ws-gold-soft);border:1px solid var(--ws-line)}
.ws-card-ico svg{width:26px;height:26px;fill:none;stroke:var(--ws-gold-lo);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .ws-card-ico svg{stroke:var(--ws-gold)}
.ws-card h3{margin:0 0 10px;font:700 20px/1.25 var(--ws-head);letter-spacing:-.01em;color:var(--ws-ink)}
.ws-card p{margin:0;font:500 15.5px/1.7 var(--ws-body);color:var(--ws-muted)}
@media (max-width:960px){.ws-growth{grid-template-columns:repeat(2,1fr)}.ws-card,.ws-card:nth-child(n+4){grid-column:span 1}.ws-card:last-child{grid-column:span 2}}
@media (max-width:620px){.ws-growth{grid-template-columns:1fr}.ws-card,.ws-card:last-child{grid-column:span 1}}

/* ---------- Services ---------- */
.ws-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}
.ws-svc{display:flex;flex-direction:column;padding:0;border-radius:var(--ws-radius);background:var(--ws-card);border:1px solid var(--ws-line);overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s,border-color .3s}
.ws-svc:hover{transform:translateY(-6px);box-shadow:var(--ws-shadow);border-color:var(--ws-gold)}
.ws-svc-media{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ws-gold-soft),var(--ws-alt));display:grid;place-items:center;overflow:hidden}
.ws-svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ws-svc:hover .ws-svc-media img{transform:scale(1.06)}
.ws-svc-media .ws-svc-ico{width:64px;height:64px;color:var(--ws-gold-lo)}
.ws-svc-media .ws-svc-ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .ws-svc-media .ws-svc-ico{color:var(--ws-gold)}
.ws-svc-body{display:flex;flex-direction:column;flex:1;padding:26px 28px 28px}
.ws-svc h3{margin:0 0 10px;font:700 20px/1.25 var(--ws-head);color:var(--ws-ink)}
.ws-svc p{margin:0 0 22px;flex:1;font:500 15px/1.7 var(--ws-body);color:var(--ws-muted)}
.ws-more{display:inline-flex;align-items:center;gap:8px;font:800 14px/1 var(--ws-body);color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-more{color:var(--ws-gold-hi)}
.ws-svc:hover .ws-arrow{transform:translateX(5px)}

/* ---------- Not-sure CTA band ---------- */
.ws-band{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:30px;padding:60px 56px;border-radius:32px;background:var(--ws-grad);color:var(--ws-on-gold);box-shadow:var(--ws-shadow-lg)}
.ws-band::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000);mask-image:linear-gradient(100deg,transparent 30%,#000)}
.ws-band > *{position:relative}
.ws-band h2{margin:0 0 14px;font:800 clamp(28px,3.6vw,44px)/1.1 var(--ws-head);letter-spacing:-.02em;color:var(--ws-on-gold)}
.ws-band p{margin:0 0 30px;max-width:52ch;font:600 17px/1.65 var(--ws-body);color:rgba(27,20,8,.82)}
.ws-band-art{display:grid;place-items:center}
.ws-band-art img{width:min(300px,80%);filter:drop-shadow(0 22px 26px rgba(60,40,8,.4));animation:wsFloat 6s ease-in-out infinite}
@media (max-width:860px){.ws-band{grid-template-columns:1fr;padding:44px 28px;text-align:center}.ws-band p{margin-inline:auto}.ws-band .ws-cta-row{justify-content:center}.ws-band-art{order:-1}.ws-band-art img{width:170px}}

/* ---------- About ---------- */
.ws-about{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:72px}
.ws-plate{position:relative;aspect-ratio:1;max-width:480px;width:100%;margin:0 auto;display:grid;place-items:center;border-radius:38px;background:linear-gradient(145deg,var(--ws-gold-soft),var(--ws-card));border:1px solid var(--ws-line);box-shadow:var(--ws-shadow)}
.ws-plate::before,.ws-plate::after{content:"";position:absolute;border-radius:50%;border:1.5px solid var(--ws-gold);opacity:.35}
.ws-plate::before{inset:12%}
.ws-plate::after{inset:4%;opacity:.18}
.ws-plate img{position:relative;width:78%;filter:drop-shadow(0 24px 28px rgba(120,86,26,.38))}
.ws-about-facts{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:30px 0}
.ws-fact{padding:20px 22px;border-radius:18px;background:var(--ws-card);border:1px solid var(--ws-line)}
.ws-fact span{display:block;margin-bottom:8px;font:800 11.5px/1 var(--ws-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-fact span{color:var(--ws-gold)}
.ws-fact strong{font:700 16px/1.45 var(--ws-head);color:var(--ws-ink)}
.ws-about p.ws-about-body{margin:0 0 26px;font:500 16.5px/1.75 var(--ws-body);color:var(--ws-muted)}
.ws-about p.ws-about-intro{margin:0;font:600 19px/1.65 var(--ws-body);color:var(--ws-ink)}
@media (max-width:900px){.ws-about{grid-template-columns:1fr;gap:44px}.ws-plate{max-width:340px}.ws-about-facts{grid-template-columns:1fr}}

/* ---------- Work ---------- */
.ws-work-top{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:46px}
.ws-work-top .ws-head{margin:0}
.ws-work{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
.ws-proj{position:relative;grid-column:span 6;display:flex;flex-direction:column;border-radius:var(--ws-radius);overflow:hidden;background:var(--ws-card);border:1px solid var(--ws-line);text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s,border-color .3s}
.ws-proj:nth-child(4n+1),.ws-proj:nth-child(4n+4){grid-column:span 7}
.ws-proj:nth-child(4n+2),.ws-proj:nth-child(4n+3){grid-column:span 5}
.ws-proj:hover{transform:translateY(-6px);box-shadow:var(--ws-shadow);border-color:var(--ws-gold)}
.ws-proj-img{position:relative;flex:none;height:clamp(230px,25vw,350px);background-size:cover;background-position:center;background-color:var(--ws-gold-soft);display:grid;place-items:center;overflow:hidden}
.ws-proj-img.no-img{background-image:linear-gradient(135deg,var(--ws-gold-soft),var(--ws-alt))}
.ws-proj-img.no-img img{width:auto;height:64%;opacity:.92;filter:drop-shadow(0 14px 18px rgba(120,86,26,.3))}
.ws-proj-img:not(.no-img)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,8,4,.35))}
.ws-tag{position:absolute;left:18px;top:18px;z-index:2;padding:8px 14px;border-radius:99px;background:var(--ws-card);border:1px solid var(--ws-line);font:800 11.5px/1 var(--ws-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ws-gold-lo)}
html[data-theme="dark"] .ws-tag{color:var(--ws-gold-hi)}
.ws-proj-cap{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px}
.ws-proj-cap h3{margin:0 0 4px;font:700 19px/1.25 var(--ws-head);color:var(--ws-ink)}
.ws-proj-cap p{margin:0;font:500 14px/1.4 var(--ws-body);color:var(--ws-muted)}
.ws-go{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ws-gold-soft);color:var(--ws-gold-lo);font-size:18px;transition:background .25s,color .25s,transform .25s}
.ws-proj:hover .ws-go{background:var(--ws-grad);color:var(--ws-on-gold);transform:rotate(-45deg)}
@media (max-width:820px){.ws-work{grid-template-columns:1fr}.ws-proj,.ws-proj:nth-child(n){grid-column:auto}}

/* ---------- Process ---------- */
.ws-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.ws-step{position:relative;padding:34px 30px;border-radius:var(--ws-radius);background:var(--ws-card);border:1px solid var(--ws-line);transition:transform .3s,border-color .3s,box-shadow .3s}
.ws-step:hover{transform:translateY(-5px);border-color:var(--ws-gold);box-shadow:var(--ws-shadow)}
.ws-step-n{display:block;margin-bottom:18px;font:800 52px/1 var(--ws-head);letter-spacing:-.04em;background:var(--ws-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.95}
.ws-step h3{margin:0 0 10px;font:800 14px/1 var(--ws-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ws-ink)}
.ws-step p{margin:0;font:500 15.5px/1.7 var(--ws-body);color:var(--ws-muted)}
@media (max-width:900px){.ws-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ws-steps{grid-template-columns:1fr}}

/* ---------- Quote form + contact ---------- */
.ws-quote-sec{overflow:hidden}
.ws-quote-sec::before{content:"";position:absolute;right:-8%;top:-10%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(232,199,128,.4),transparent 66%);pointer-events:none}
html[data-theme="dark"] .ws-quote-sec::before{background:radial-gradient(circle,rgba(201,155,80,.14),transparent 66%)}
.ws-quote-grid{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.ws-contact-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:14px}
.ws-contact-list a,.ws-contact-list span.ws-ci{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:var(--ws-card);border:1px solid var(--ws-line);text-decoration:none;color:var(--ws-ink);font:700 15px/1.3 var(--ws-body);transition:border-color .25s,transform .25s}
.ws-contact-list a:hover{border-color:var(--ws-gold);transform:translateX(4px)}
.ws-contact-list .ws-ci-ico{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ws-gold-soft)}
.ws-contact-list svg{width:21px;height:21px;fill:none;stroke:var(--ws-gold-lo);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .ws-contact-list svg{stroke:var(--ws-gold)}
.ws-contact-list small{display:block;font:600 12px/1 var(--ws-body);color:var(--ws-muted);margin-bottom:5px;letter-spacing:.04em}
.ws-form{padding:40px;border-radius:30px;background:var(--ws-card);border:1px solid var(--ws-line);box-shadow:var(--ws-shadow-lg)}
.ws-form h3{margin:0 0 6px;font:700 24px/1.2 var(--ws-head);color:var(--ws-ink)}
.ws-form > p{margin:0 0 26px;font:500 15px/1.6 var(--ws-body);color:var(--ws-muted)}
.ws-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ws-field{display:flex;flex-direction:column;gap:8px}
.ws-field.wide{grid-column:1/-1}
.ws-field label{font:700 13px/1 var(--ws-body);color:var(--ws-ink)}
.ws-field label i{color:var(--ws-gold-lo);font-style:normal}
.ws-field input,.ws-field select,.ws-field textarea{
  width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid var(--ws-line);background:var(--ws-bg);color:var(--ws-ink);
  font:500 15px/1.4 var(--ws-body);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none;
}
.ws-field select{background-image:linear-gradient(45deg,transparent 50%,var(--ws-gold-lo) 50%),linear-gradient(135deg,var(--ws-gold-lo) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:42px}
.ws-field textarea{min-height:130px;resize:vertical}
.ws-field input::placeholder,.ws-field textarea::placeholder{color:var(--ws-muted);opacity:.7}
.ws-field input:focus,.ws-field select:focus,.ws-field textarea:focus{outline:0;border-color:var(--ws-gold);box-shadow:0 0 0 4px rgba(201,155,80,.2)}
.ws-form .ws-btn{width:100%;margin-top:24px;padding:18px}
.ws-form-note{margin:14px 0 0;text-align:center;font:500 13px/1.5 var(--ws-body);color:var(--ws-muted)}
@media (max-width:960px){.ws-quote-grid{grid-template-columns:1fr;gap:40px}}
@media (max-width:600px){.ws-form{padding:26px 20px}.ws-fields{grid-template-columns:1fr}}
/* Request quotation page: remove beige/grey/pink cast from the entire top area */
body:has(.request-quote-page-marker) { background:#fff !important; }
body:has(.request-quote-page-marker) .site-header,
body:has(.request-quote-page-marker) header,
body:has(.request-quote-page-marker) .ws-nav,
body:has(.request-quote-page-marker) .ws-header,
body:has(.request-quote-page-marker) .topbar { background:#fff !important; background-image:none !important; }
body:has(.request-quote-page-marker) .request-quote-intro,
body:has(.request-quote-page-marker) .quote-maker-intro,
body:has(.request-quote-page-marker) .request-quote-page-marker { background:#fff !important; background-image:none !important; color:#181715 !important; padding-top:clamp(36px,5vw,60px) !important; padding-bottom:clamp(28px,4vw,48px) !important; }
body:has(.request-quote-page-marker) .request-quote-intro::before,
body:has(.request-quote-page-marker) .request-quote-intro::after { display:none !important; content:none !important; }
body:has(.request-quote-page-marker) .request-quote-intro h1 { color:#181715 !important; }
body:has(.request-quote-page-marker) .request-quote-intro p:not(.eyebrow) { color:#5f6670 !important; }
body:has(.request-quote-page-marker) .request-quote-section { background:#fff !important; }

/* Header transparency fix: the nav is clear at the top and becomes solid only after scrolling. */
.ws-header:not(.is-scrolled) {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: transparent !important;
}
