/* ==========================================================
   PARAMOUNT LOOMS — PREMIUM ENHANCEMENT LAYER v6
   Final presentation layer loaded after refined.css.
   Resolves conflicting legacy selectors without changing content.
   ========================================================== */

:root{
  --enh-navy:#062b65;
  --enh-navy-dark:#031a3d;
  --enh-ink:#07172d;
  --enh-red:#d92e2a;
  --enh-text:#4a5b70;
  --enh-line:#dbe4ee;
  --enh-paper:#f5f8fb;
  --enh-shadow:0 22px 55px rgba(3,31,70,.12);
}

/* Slightly larger, more comfortable site typography */
body{font-size:15px;line-height:1.76}
.eyebrow{font-size:11px}
.nav-link{font-size:11.5px}
.nav-cta{font-size:11px}
.topbar-left span,.topbar-left a{font-size:10.5px}
.top-call strong{font-size:10.5px}
.section-head p{font-size:14px;line-height:1.78}
.intro-copy>p,.split-copy>p,.magazine-feature p,.visual-feature-copy>p,.quote-copy p{font-size:14px;line-height:1.82}
.check-list li,.feature-list li{font-size:13px}
.capability-card p,.testimonial-card p,.media-card-body p,.process-card p,.role-card p{font-size:12.5px;line-height:1.72}
.product-card-body>span{font-size:10px}
.product-card-body h3{font-size:16px}
.reference-footer .footer-col>a,.reference-footer .footer-contact>a,.reference-footer .footer-contact>div{font-size:11px}
.footer-bottom-inner{font-size:10px}

/* Header CTA is visually distinct from the Contact Us navigation item */
.nav-cta{position:relative;overflow:hidden}
.nav-cta:before{content:"";position:absolute;inset:-2px auto -2px -45%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);transition:left .55s ease}
.nav-cta:hover:before{left:120%}

/* ----------------------------------------------------------
   PRODUCT PRESENTATION
   Home: 2 featured cards, then 3 + 3 cards on desktop.
   ---------------------------------------------------------- */
.product-grid{counter-reset:paramount-product}
.product-card{counter-increment:paramount-product;position:relative;border-radius:12px!important;border:1px solid var(--enh-line)!important;box-shadow:0 8px 26px rgba(3,31,70,.065)!important;isolation:isolate;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease,border-color .32s ease!important}
.product-card:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 58%);transition:opacity .22s ease}
.product-card:hover:after{opacity:1}
.product-card:hover{transform:translateY(-7px)!important;border-color:#c6d4e3!important;box-shadow:0 24px 54px rgba(3,31,70,.15)!important}
.product-image{position:relative;background:linear-gradient(145deg,#fcfdff,#edf3f8)!important;overflow:hidden}
.product-image:after{content:"0" counter(paramount-product);position:absolute;top:14px;right:14px;z-index:4;min-width:37px;height:30px;padding:0 8px;display:grid;place-items:center;background:rgba(6,43,101,.92);border:1px solid rgba(255,255,255,.28);border-radius:4px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.1em;box-shadow:0 8px 20px rgba(3,31,70,.16)}
.product-image img{transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s ease!important;filter:drop-shadow(0 14px 19px rgba(5,43,101,.09))}
.product-card:hover .product-image img{transform:scale(1.045)!important;filter:drop-shadow(0 20px 26px rgba(5,43,101,.16))}
.product-card-body{background:linear-gradient(145deg,#052858,#071b38)!important;min-height:108px!important;padding:20px 62px 20px 20px!important;display:flex;flex-direction:column;justify-content:center}
.product-card-body>span{color:#c4d4e7!important;letter-spacing:.13em}
.product-card-body h3{line-height:1.35!important}
.circle-link{width:38px!important;height:38px!important;right:16px!important;bottom:18px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.22)!important;transition:transform .25s ease,background .25s ease!important}
.product-card:hover .circle-link{background:var(--enh-red)!important;border-color:var(--enh-red)!important;transform:translateX(2px)!important}

body.is-home .home-product-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:20px!important}
body.is-home .home-product-grid>.product-card{grid-column:span 2!important;min-height:0!important}
body.is-home .home-product-grid>.product-card:nth-child(-n+2){grid-column:span 3!important;display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(190px,.88fr);min-height:315px!important}
body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-image{height:315px!important;padding:25px!important}
body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-card-body{min-height:315px!important;padding:30px 68px 30px 28px!important;position:relative!important}
body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-card-body h3{font-size:19px!important}
body.is-home .home-product-grid>.product-card:nth-child(n+3) .product-image{height:235px!important;padding:18px!important}
body.is-home .home-product-grid>.product-card:nth-child(n+3) .product-card-body{min-height:112px!important}

/* ----------------------------------------------------------
   VISUAL FEATURE — one consistent component across all pages
   ---------------------------------------------------------- */
.visual-feature{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;background:#fff!important;border:1px solid var(--enh-line)!important;border-radius:14px!important;box-shadow:var(--enh-shadow)!important;overflow:hidden!important;position:relative;isolation:isolate}
.visual-feature:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--enh-red),#ff5c57);z-index:4}
.visual-feature-media{position:relative;min-height:430px!important;background:linear-gradient(145deg,#eaf0f6,#f8fafc)!important;overflow:hidden}
.visual-feature-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 62%,rgba(3,26,61,.08))}
.visual-feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.visual-feature:hover .visual-feature-media img{transform:scale(1.025);filter:saturate(1.04)}
.visual-feature-copy{align-self:stretch!important;display:flex;flex-direction:column;justify-content:center;padding:48px 50px!important;background:#fff!important;color:var(--enh-ink)!important}
.visual-feature-copy h2{font-size:clamp(31px,3vw,43px)!important;color:var(--enh-ink)!important;line-height:1.15!important}
.visual-feature-copy>p{color:var(--enh-text)!important}
.visual-feature-copy .feature-list li,.visual-feature-copy .check-list li{color:#415269!important}
.visual-feature-copy .feature-list i,.visual-feature-copy .check-list i{color:var(--enh-red)!important}

.dark-showcase .visual-feature{background:linear-gradient(145deg,#071b38,#0b2d5d)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 24px 60px rgba(0,0,0,.25)!important}
.dark-showcase .visual-feature-copy{background:linear-gradient(145deg,#0a2a57,#071b38)!important;color:#fff!important}
.dark-showcase .visual-feature-copy h2{color:#fff!important}
.dark-showcase .visual-feature-copy>p{color:#c7d5e5!important}
.dark-showcase .visual-feature-copy .feature-list li,.dark-showcase .visual-feature-copy .check-list li{color:#d8e2ee!important}
.dark-showcase .visual-feature-media:after{background:linear-gradient(90deg,transparent 55%,rgba(3,18,43,.25))}

/* ----------------------------------------------------------
   CONTACT PAGE ALIGNMENT + LIVE LOCATION MAP
   ---------------------------------------------------------- */
.page-contact .contact-main-section{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.page-contact .contact-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:36px!important;align-items:stretch!important}
.page-contact .contact-info{display:flex;flex-direction:column;height:100%}
.page-contact .contact-info>h2{font-size:clamp(32px,3.4vw,47px);line-height:1.14;margin-bottom:18px}
.page-contact .contact-lead{font-size:14px;line-height:1.8;max-width:650px;margin-bottom:24px}
.page-contact .contact-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto}
.page-contact .contact-card{height:100%;min-height:132px;padding:18px!important;border-radius:8px!important;border:1px solid var(--enh-line)!important;background:#fff;box-shadow:0 7px 20px rgba(3,31,70,.045);align-items:flex-start!important;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.page-contact .contact-card:hover{transform:translateY(-3px);border-color:#c9d6e4!important;box-shadow:0 14px 28px rgba(3,31,70,.09)}
.page-contact .contact-card>i{width:40px!important;height:40px!important;display:grid;place-items:center;flex:0 0 40px;border-radius:6px!important;background:#edf3f9!important;color:var(--enh-navy)!important}
.page-contact .contact-card h3{font-size:14px!important;margin:0 0 7px}
.page-contact .contact-card p,.page-contact .contact-card a{font-size:12px!important;line-height:1.65;color:#526277!important;overflow-wrap:anywhere}
.page-contact .contact-card a{display:block}

.page-contact .contact-quote-form{height:100%;padding:34px!important;border-radius:10px!important;border:1px solid #dbe4ee!important;box-shadow:0 24px 58px rgba(3,31,70,.12)!important;background:#fff!important;align-self:stretch}
.page-contact .contact-quote-form h2{font-size:30px;line-height:1.18;margin-bottom:10px}
.page-contact .contact-quote-form .form-intro{font-size:13px;line-height:1.7;margin-bottom:22px}
.page-contact .contact-quote-form .form-grid{gap:15px!important;align-items:start}
.page-contact .contact-quote-form .field{display:flex;flex-direction:column;gap:6px}
.page-contact .contact-quote-form .field label{font-size:10.5px!important;line-height:1.2}
.page-contact .contact-quote-form input{height:50px}
.page-contact .contact-quote-form input,.page-contact .contact-quote-form textarea{font-size:13px!important;border:1px solid #d6e0ea!important;border-radius:6px!important;background:#fbfcfe!important;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.page-contact .contact-quote-form input:focus,.page-contact .contact-quote-form textarea:focus{outline:0!important;border-color:#7d9fc6!important;background:#fff!important;box-shadow:0 0 0 4px rgba(6,43,101,.07)}
.page-contact .contact-quote-form textarea{min-height:146px!important;resize:vertical}
.page-contact .contact-quote-form .btn{min-width:175px}

.contact-map-section{padding-top:72px!important;padding-bottom:82px!important}
.contact-map-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr);min-height:430px;background:#fff;border:1px solid var(--enh-line);border-radius:12px;overflow:hidden;box-shadow:0 20px 48px rgba(3,31,70,.10)}
.contact-map-frame{min-height:430px;background:#dfe7ef}
.contact-map-frame iframe{display:block;width:100%;height:100%;min-height:430px;border:0;filter:saturate(.88) contrast(1.03)}
.contact-map-copy{padding:38px 34px;background:linear-gradient(145deg,#062b65,#071a37);color:#fff;display:flex;flex-direction:column;justify-content:center}
.contact-map-copy h2{font-size:29px;line-height:1.18;color:#fff;margin-bottom:16px}
.contact-map-copy p{font-size:13px;line-height:1.72;color:#d3dfed;margin-bottom:20px}
.contact-map-copy .eyebrow{color:#ff7771}
.map-detail{display:flex;gap:11px;align-items:flex-start;margin-bottom:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#c8d5e5;font-size:12px;line-height:1.6}
.map-detail i{color:#ff7771;margin-top:4px}
.contact-map-copy .btn{align-self:flex-start}

/* Footer developer credit + cleaner floating UI */
.footer-bottom-inner{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}
.developer-credit{justify-self:center;color:#aab7c8}
.developer-credit a{color:#fff;font-weight:600;transition:color .2s ease}
.developer-credit a:hover{color:#ff7771}
.back-to-top{bottom:18px!important;right:18px!important}
.reference-footer{padding-bottom:0!important}

/* Additional restrained premium motion */
.section-head h2,.intro-copy h2,.split-copy h2,.visual-feature-copy h2{transition:letter-spacing .28s ease}
.product-card,.visual-feature,.contact-card,.media-card,.testimonial-card{will-change:transform}
@media (hover:hover){
  .visual-feature:hover .visual-feature-copy h2{letter-spacing:-.045em}
}

@media (max-width:1199px){
  body.is-home .home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.is-home .home-product-grid>.product-card,body.is-home .home-product-grid>.product-card:nth-child(-n+2){grid-column:auto!important;display:block!important;min-height:0!important}
  body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-image{height:270px!important;padding:20px!important}
  body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-card-body{min-height:112px!important;padding:20px 62px 20px 20px!important}
  body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-card-body h3{font-size:17px!important}
}

@media (max-width:980px){
  .visual-feature{grid-template-columns:1fr!important}
  .visual-feature-media{min-height:360px!important}
  .visual-feature-copy{padding:36px 30px!important}
  .page-contact .contact-grid{grid-template-columns:1fr!important}
  .page-contact .contact-info{height:auto}
  .page-contact .contact-card-grid{margin-top:8px}
  .contact-map-shell{grid-template-columns:1fr}
  .contact-map-frame,.contact-map-frame iframe{min-height:390px}
  .footer-bottom-inner{grid-template-columns:1fr!important;text-align:center;justify-items:center;padding:15px 0}
  .developer-credit{justify-self:center}
}

@media (max-width:720px){
  body{font-size:14.5px}
  .nav-link{font-size:12px!important}
  body.is-home .home-product-grid{grid-template-columns:1fr!important;gap:16px!important}
  body.is-home .home-product-grid>.product-card:nth-child(-n+2) .product-image,body.is-home .home-product-grid>.product-card:nth-child(n+3) .product-image{height:245px!important}
  .visual-feature{border-radius:10px!important}
  .visual-feature-media{min-height:300px!important}
  .visual-feature-copy{padding:29px 23px!important}
  .visual-feature-copy h2{font-size:29px!important}
  .page-contact .contact-card-grid{grid-template-columns:1fr}
  .page-contact .contact-card{min-height:0}
  .page-contact .contact-quote-form{padding:24px 19px!important}
  .page-contact .contact-quote-form .form-grid{grid-template-columns:1fr!important}
  .page-contact .contact-quote-form .field{grid-column:auto!important}
  .contact-map-section{padding-top:58px!important;padding-bottom:66px!important}
  .contact-map-frame,.contact-map-frame iframe{min-height:330px}
  .contact-map-copy{padding:29px 23px}
  .contact-map-copy h2{font-size:25px}
  .back-to-top{bottom:14px!important;right:12px!important}
}

@media (prefers-reduced-motion:reduce){
  .product-card,.product-image img,.visual-feature-media img,.contact-card,.nav-cta:before{transition:none!important}
  .product-card:hover,.contact-card:hover{transform:none!important}
}

/* Inner-page readability bump */
.content-card p,.content-card li,.product-detail-copy p,.seo-machine-top p,.seo-copy-block>p{font-size:13px!important;line-height:1.82}
.side-links a,.faq-question{font-size:11px!important}
.faq-answer p{font-size:12px!important;line-height:1.78}
.quote-form .field input,.quote-form .field textarea,.quote-form .field select{font-size:13px}
