*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#08080a;--bg-2:#0d0d10;--bg-3:#131317;--text:#f4f0e8;--text-2:#9e9a8e;--text-3:#5c5950;--gold:#c8a55a;--gold-light:#e8d48a;--gold-dark:#a68840;--green:#7aad5a;--red:#c87a5a;--border:rgba(200,165,90,0.08);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Plus Jakarta Sans',system-ui,sans-serif;--ease:cubic-bezier(0.4,0,0.2,1)}
html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-light)}
body::after{content:'';position:fixed;inset:0;opacity:0.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;pointer-events:none;z-index:9999}
.c{max-width:1320px;margin:0 auto;padding:0 clamp(1.5rem,3vw,3rem)}
header#hd{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 0;transition:all 0.5s var(--ease)}
header#hd.scrolled{padding:14px 0;background:rgba(8,8,10,0.78);backdrop-filter:blur(28px) saturate(1.3);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between}
.logo-wrap{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.logo-top-digital{font-weight:300;color:var(--text-2);font-size:9px;text-transform:uppercase;letter-spacing:3.5px}
.logo-main{font-family:var(--serif);font-size:20px;font-weight:500;font-style:italic;line-height:1.1;background:linear-gradient(135deg,#c8a55a,#edd99a,#c8a55a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-fyi{font-size:8px;font-weight:600;letter-spacing:4px;color:var(--gold);margin-top:1px;text-align:right}
.nav-links{display:flex;align-items:center;gap:40px;list-style:none}
.nav-links a{font-size:0.82rem;font-weight:500;color:var(--text-2);letter-spacing:0.03em;transition:color 0.3s;text-decoration:none}
.nav-links a:hover,.nav-links a.active{color:var(--gold-light)}
.btn-cta{display:inline-flex;align-items:center;padding:11px 26px;font-size:0.8rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);background:transparent;cursor:pointer;transition:all 0.4s;text-decoration:none}
.btn-cta:hover{background:var(--gold);color:var(--bg)}
.btn-fill{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-size:0.82rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;background:var(--gold);color:var(--bg);border:1px solid var(--gold);cursor:pointer;transition:all 0.4s;text-decoration:none}
.btn-fill:hover{background:var(--gold-light)}
.menu-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:8px}
@media(max-width:768px){.nav-links{display:none}.menu-btn{display:block}}
.sl{font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.25em;color:var(--gold);display:block;margin-bottom:16px}

/* Hero */
.hero{text-align:center;padding:clamp(140px,16vw,200px) 0 clamp(40px,5vw,60px)}
.hero h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.2rem);font-weight:400;letter-spacing:-0.02em;line-height:0.95;margin-bottom:16px}
.hero h1 em{font-style:italic;font-weight:300;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:clamp(0.95rem,1.05vw,1.1rem);color:var(--text-2);max-width:50ch;margin:0 auto;line-height:1.8;font-weight:300}

/* Input */
.audit-input{display:flex;gap:8px;max-width:600px;margin:32px auto 0}
.audit-input input{flex:1;padding:16px 20px;background:var(--bg-2);border:1px solid var(--border);color:var(--text);font-family:var(--sans);font-size:1rem;outline:none;transition:border-color 0.3s}
.audit-input input:focus{border-color:var(--gold)}
.audit-input input::placeholder{color:var(--text-3)}
.audit-input button{white-space:nowrap}
.audit-input button:disabled{opacity:0.5;cursor:not-allowed}
@media(max-width:600px){.audit-input{flex-direction:column}}

/* Loading */
.loading{display:none;text-align:center;padding:60px 0}
.loading.active{display:block}
.spinner{width:40px;height:40px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 16px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Results */
#results{display:none}

/* Score ring */
.score-ring{position:relative;width:160px;height:160px;margin:0 auto 20px}
.score-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}
.score-num .n{font-family:var(--serif);font-size:3rem;font-weight:400}
.score-num .l{font-size:0.6rem;color:var(--text-3);text-transform:uppercase;letter-spacing:0.15em}

/* Report sections */
.report{max-width:900px;margin:0 auto;padding-bottom:60px}
.report-header{text-align:center;padding:40px 0;border-bottom:1px solid var(--border)}
.report-url{font-size:0.85rem;color:var(--text-2);margin-top:8px;word-break:break-all}
.report-date{font-size:0.72rem;color:var(--text-3);margin-top:4px}
.scores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin:32px 0}
.score-card{background:var(--bg-2);padding:16px;text-align:center}
.score-card .v{font-family:var(--serif);font-size:1.5rem}
.score-card .k{font-size:0.62rem;color:var(--text-3);text-transform:uppercase;letter-spacing:0.1em;margin-top:4px}
.detail-section{padding:28px 0;border-bottom:1px solid var(--border)}
.detail-section h3{font-family:var(--serif);font-size:1.2rem;font-weight:500;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(200,165,90,0.04);font-size:0.85rem}
.detail-row .label{color:var(--text-2)}
.detail-row .value{color:var(--text);font-weight:500;text-align:right;max-width:60%;word-break:break-all}
.pass{color:var(--green)}
.warn{color:var(--gold)}
.fail{color:var(--red)}
.badge{display:inline-block;padding:2px 8px;font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.badge.pass{background:rgba(122,173,90,0.1);color:var(--green)}
.badge.warn{background:rgba(200,165,90,0.1);color:var(--gold)}
.badge.fail{background:rgba(200,122,90,0.1);color:var(--red)}
.tag-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tag{padding:3px 8px;font-size:0.7rem;background:var(--bg-3);color:var(--text-2)}
.actions{display:flex;gap:12px;justify-content:center;margin:32px 0}

/* Print styles */
@media print{
  header,footer,.hero,.audit-input,.actions,.cta-sec,body::after,.menu-btn{display:none!important}
  body{background:#fff;color:#111}
  .report{max-width:100%}
  .score-card{border:1px solid #ddd}
  .detail-row{border-bottom:1px solid #eee}
  *{color:#111!important;background:transparent!important;border-color:#ddd!important}
  .badge{border:1px solid currentColor}
  .score-num .n{color:#b89b4a!important}
}

/* Footer */
footer{background:var(--bg-2);border-top:1px solid var(--border);padding:80px 0 40px}
.fg{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px}
.fb-desc{font-size:0.85rem;color:var(--text-3);margin-top:16px;max-width:30ch;line-height:1.7;font-weight:300}
.fh{font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.2em;color:var(--text-3);margin-bottom:24px}
.fl{list-style:none;display:flex;flex-direction:column;gap:14px}.fl a{font-size:0.85rem;color:var(--text-2);transition:color 0.3s;font-weight:400;text-decoration:none}.fl a:hover{color:var(--gold)}
.fbt{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid var(--border);font-size:0.75rem;color:var(--text-3)}
@media(max-width:768px){.fg{grid-template-columns:1fr 1fr;gap:32px}.fbt{flex-direction:column;gap:12px;text-align:center}}
.cta-sec{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:clamp(64px,8vw,100px) 0;text-align:center}

@media(max-width:600px){
  .hero h1{font-size:2rem}
  .scores-grid{grid-template-columns:repeat(3,1fr)}
  .score-card{padding:10px}
  .score-card .v{font-size:1.2rem}
  .score-card .k{font-size:0.55rem}
  .detail-row{flex-direction:column;align-items:flex-start;gap:4px}
  .detail-row .value{max-width:100%;text-align:left}
  .report-header{padding:24px 0}
  .score-ring{width:120px;height:120px}
  .score-ring svg{width:120px;height:120px}
  .score-ring svg circle{r:50;cx:60;cy:60}
  .score-num .n{font-size:2.2rem}
  .actions{flex-direction:column}
  .actions button,.actions a{width:100%;justify-content:center}
  .tag-list{gap:3px}
  .tag{font-size:0.62rem;padding:2px 6px}
  .detail-section h3{font-size:1.05rem}
}

/* ===== UNIVERSAL MOBILE FIXES =====
  main{position:relative!important}footer{position:relative!important;clear:both!important} */
@media(max-width:768px){
  /* Typography */
  body{font-size:15px;line-height:1.7}
  h1{font-size:1.8rem!important;line-height:1.1!important}
  h2{font-size:1.3rem!important}
  h3{font-size:1.1rem!important}
  
  /* Container padding */
  .c,.mx{padding:0 16px!important}
  
  /* Nav */
  .nav-links,.nl{display:none}
  .menu-btn,.mb{display:block!important}
  
  /* Hero sections */
  .hero,.wp-hero{padding-top:100px!important;padding-bottom:32px!important}
  .hero h1{font-size:clamp(1.8rem,7vw,2.4rem)!important}
  .hero p,.hero .sd,.sd,.sub,.wp-subtitle{font-size:0.9rem!important;max-width:100%!important}
  
  /* Blog content */
  .blog-content{padding:0!important}
  .blog-header h1{font-size:1.6rem!important}
  .blog-section p{font-size:0.9rem!important}
  
  /* Grids - all collapse to single column */
  .sg,.tg,.fg,.scores-grid,.preview-grid,.stats-grid{grid-template-columns:1fr!important}
  
  /* Footer */
  .fg{grid-template-columns:1fr!important;gap:24px!important}
  .fbt,.fb{flex-direction:column!important;gap:8px!important;text-align:center!important}
  
  /* Tables - horizontal scroll */
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  th,td{padding:6px 8px!important;font-size:0.78rem!important;white-space:normal}
  
  /* Buttons */
  .btn-fill,.btn-cta,.bf,.bc0{width:100%;justify-content:center;padding:12px 20px!important;font-size:0.78rem!important}
  
  /* FAQ sections */
  .faq-q{font-size:0.88rem!important;padding:14px 0!important}
  .faq-ai{font-size:0.85rem!important}
  
  /* CTA sections */
  .cta-sec,.cta{padding:48px 0!important}
  .cta-sec h2,.cta h2,.st{font-size:1.5rem!important}
  
  /* Images */
  img{max-width:100%;height:auto}
  
  /* Breadcrumb */
  .bc{font-size:0.7rem!important;padding-top:80px!important}
  
  /* Service/feature grids */
  .service-grid,.feature-grid{grid-template-columns:1fr!important}
  
  /* Meta info */
  .blog-meta,.wp-meta,.meta{flex-direction:column!important;gap:6px!important;font-size:0.72rem!important}
  
  /* Related articles */
  .related-section a{padding:14px!important}
  
  /* Case study stats */
  .case-stat{padding:16px!important}
  
  /* Knowledge center */
  .module-grid,.lesson-grid{grid-template-columns:1fr!important}
  
  /* Whitepaper sidebar hidden */
  .sidebar,.wp-viz,.blog-sidebar{display:none!important}
  
  /* Whitepaper layout single column */
  .layout,.wp-layout{grid-template-columns:1fr!important}
  .text,.wp-text,.wp-body{max-width:100%!important}
  
  /* Audit tool */
  .audit-input{flex-direction:column!important}
  .score-ring{width:120px!important;height:120px!important}
  .detail-row{flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
  .detail-row .value{max-width:100%!important;text-align:left!important}
  .actions{flex-direction:column!important}
  .actions button,.actions a{width:100%!important;justify-content:center!important}
  .scores-grid{grid-template-columns:repeat(3,1fr)!important}
  .score-card .v{font-size:1.1rem!important}
  .score-card .k{font-size:0.5rem!important}
  
  /* Tag lists */
  .tag-list{gap:3px!important}
  .tag{font-size:0.62rem!important}
  
  /* Prevent horizontal overflow */
  *{max-width:100vw}
  pre,code{overflow-x:auto;white-space:pre-wrap;word-break:break-word}
}

/* Small phones */
@media(max-width:400px){
  .c,.mx{padding:0 12px!important}
  h1{font-size:1.5rem!important}
  .hero h1{font-size:1.6rem!important}
  .scores-grid{grid-template-columns:repeat(2,1fr)!important}
  .nav{padding:0 8px}
}
