/* ═══════════════════════════════════════════════════════════
   ROOT VARIABLES
═══════════════════════════════════════════════════════════ */
:root{
  --black:#0A0A0A;--white:#FAFAF8;--yellow:#F0C040;
  --yellow-dim:rgba(240,192,64,.12);--gray:#9a9a90;
  --light-gray:#E8E8E4;--off-white:#F4F4F0;
  --red:#e05252;--green:#4caf50;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden;}


/* ═══ NAV ═══ */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;transition:background .4s,padding .3s;}
nav.scrolled{background:rgba(10,10,10,.96);backdrop-filter:blur(16px);padding:13px 48px;border-bottom:1px solid rgba(255,255,255,.05);}
.nav-logo{height:52px;width:auto;display:block;transition:height .3s;object-fit:contain;}
nav.scrolled .nav-logo{height:40px;width:auto;}
.nav-links{display:flex;gap:0;list-style:none;align-items:center;}
.nav-links > li{position:relative;}
.nav-links > li > a{display:block;font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;padding:8px 16px;transition:color .2s;}
.nav-links > li > a:hover,.nav-links > li.active > a{color:var(--white);}
/* DROPDOWN */
.has-dropdown > a::after{content:' ▾';font-size:9px;opacity:.6;}
.dropdown{
  display:none;position:absolute;top:calc(100% + 8px);left:0;
  background:rgba(14,14,14,.98);border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(20px);min-width:260px;z-index:300;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.has-dropdown:hover .dropdown{display:block;}
.dropdown-section{padding:8px 0;}
.dropdown-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.3);padding:10px 20px 6px;display:block;}
.dropdown a{
  display:flex;align-items:center;gap:12px;
  padding:10px 20px;font-size:12.5px;font-weight:300;color:var(--gray);
  text-decoration:none;transition:background .2s,color .2s;
  border-left:2px solid transparent;
}
.dropdown a:hover{background:rgba(240,192,64,.06);color:var(--white);border-left-color:var(--yellow);}
.dropdown a .dd-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0;}
.dropdown a .dd-text{}
.dropdown a .dd-sub{display:block;font-size:11px;color:rgba(255,255,255,.3);margin-top:1px;}
.dropdown-divider{height:1px;background:rgba(255,255,255,.06);margin:4px 0;}
.nav-cta{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:11px 22px;text-decoration:none;transition:box-shadow .3s,transform .2s;white-space:nowrap;margin-left:12px;}
.nav-cta:hover{box-shadow:0 0 28px rgba(240,192,64,.5);transform:translateY(-1px);}

/* HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;z-index:300;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* MOBILE MENU */
.mobile-menu{display:none;position:fixed;inset:0;background:var(--black);z-index:250;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;transition:opacity .3s;overflow-y:auto;padding:60px 24px;}
.mobile-menu.open{display:flex;opacity:1;}
.mobile-menu a{font-family:'Cormorant Garant',serif;font-size:34px;font-weight:300;color:var(--white);text-decoration:none;transition:color .2s;}
.mobile-menu a:hover{color:var(--yellow);}
.mobile-menu .m-cta{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:14px 36px;text-decoration:none;margin-top:12px;}
.m-contacts{display:flex;flex-direction:column;gap:8px;text-align:center;margin-top:8px;}
.m-contacts a{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:300;color:var(--gray);text-decoration:none;}
.mobile-svc-group{display:flex;flex-direction:column;gap:6px;text-align:center;}
.mobile-svc-group span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:4px;}
.mobile-svc-group a{font-family:'DM Sans',sans-serif!important;font-size:15px!important;color:var(--gray)!important;}

/* SECTIONS */
section{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;}

/* HERO */
.hero{background:var(--black);padding:120px 48px 80px;}
.hero-inner{max-width:1280px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.hero-tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:28px;display:flex;align-items:center;gap:12px;}
.hero-tag::before{content:'';display:block;width:32px;height:1px;background:var(--yellow);}
h1.hero-h1{font-family:'Cormorant Garant',serif;font-size:clamp(44px,5.5vw,82px);font-weight:300;line-height:1.06;letter-spacing:-.01em;margin-bottom:24px;}
h1.hero-h1 em{font-style:italic;color:var(--yellow);}
.hero-sub{font-size:16px;font-weight:300;line-height:1.75;color:var(--gray);max-width:440px;margin-bottom:44px;}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.btn-primary{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:14px 30px;text-decoration:none;position:relative;overflow:hidden;transition:box-shadow .3s,transform .2s;white-space:nowrap;}
.btn-primary::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:rgba(255,255,255,.28);transform:skewX(-20deg);transition:left .5s;}
.btn-primary:hover::after{left:120%;}
.btn-primary:hover{box-shadow:0 0 36px rgba(240,192,64,.4);transform:translateY(-1px);}
.btn-ghost{font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--white);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:3px;transition:border-color .2s,color .2s;}
.btn-ghost:hover{border-color:var(--yellow);color:var(--yellow);}
.hero-stats{display:flex;gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.stat-number{font-family:'Cormorant Garant',serif;font-size:42px;font-weight:300;line-height:1;}
.stat-number span{color:var(--yellow);}
.stat-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-top:6px;}
.hero-visual{position:relative;height:460px;display:flex;align-items:center;justify-content:center;}
.hero-ring{position:absolute;border-radius:50%;border:1px solid;animation:spin-slow linear infinite;}
.hero-ring:nth-child(1){width:280px;height:280px;border-color:rgba(240,192,64,.18);animation-duration:20s;}
.hero-ring:nth-child(2){width:420px;height:420px;border-color:rgba(240,192,64,.08);animation-duration:35s;animation-direction:reverse;}
.hero-ring:nth-child(3){width:560px;height:560px;border-color:rgba(240,192,64,.04);animation-duration:50s;}
@keyframes spin-slow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.hero-center-logo{width:110px;height:110px;z-index:2;object-fit:contain;border-radius:4px;}
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;}
.scroll-hint span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);}
.scroll-line{width:1px;height:42px;background:linear-gradient(to bottom,var(--yellow),transparent);animation:sp 2s ease-in-out infinite;}
@keyframes sp{0%,100%{opacity:.4}50%{opacity:1}}

/* MARQUEE (yellow service band) */
.marquee-band{min-height:unset!important;height:54px;background:var(--yellow);overflow:hidden;display:flex;align-items:center;}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 30s linear infinite;}
.marquee-item{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--black);font-weight:500;padding:0 28px;}
.marquee-sep{color:rgba(0,0,0,.35);padding:0 4px;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION COMMON */
.section-tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.section-tag::before{content:'';display:block;width:24px;height:1px;background:currentColor;}
.section-title{font-family:'Cormorant Garant',serif;font-size:clamp(32px,4vw,58px);font-weight:300;line-height:1.1;margin-bottom:52px;}
.section-title em{font-style:italic;}

/* SERVICES */
.services{background:var(--white);color:var(--black);padding:100px 48px;}
.services-inner{max-width:1280px;margin:0 auto;width:100%;}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--light-gray);border:1px solid var(--light-gray);}
.svc-grid-b{border-top:none;}
.svc-card{background:var(--white);padding:30px 26px 34px;position:relative;overflow:hidden;transition:background .3s;}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.svc-card:hover{background:#F0F0EC;}
.svc-card:hover::after{transform:scaleX(1);}
.svc-icon{width:36px;height:36px;border:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:14px;}
.svc-name{font-family:'Cormorant Garant',serif;font-size:19px;font-weight:600;line-height:1.25;margin-bottom:9px;}
.svc-desc{font-size:12.5px;line-height:1.7;color:#666;font-weight:300;}
.svc-arrow{margin-top:18px;font-size:15px;color:var(--yellow);transition:transform .2s;display:inline-block;}
.svc-card:hover .svc-arrow{transform:translate(4px,-4px);}

/* WHY */
.why{background:var(--black);padding:100px 48px;}
.why-inner{max-width:1280px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;}
.why-body{font-size:15px;line-height:1.8;color:var(--gray);font-weight:300;margin-bottom:32px;}
.why-pillars{border-top:1px solid rgba(255,255,255,.07);}
.pillar{padding:19px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;gap:18px;align-items:flex-start;transition:padding-left .3s;}
.pillar:hover{padding-left:8px;}
.pillar-num{font-family:'Cormorant Garant',serif;font-size:12px;color:var(--yellow);min-width:22px;margin-top:2px;}
.pillar-text h4{font-size:13px;font-weight:500;letter-spacing:.04em;margin-bottom:3px;color:var(--white);}
.pillar-text p{font-size:12.5px;line-height:1.6;color:var(--gray);font-weight:300;}
.why-visual{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);padding:44px;position:relative;}
.why-visual::before{content:'"';position:absolute;top:-16px;left:28px;font-family:'Cormorant Garant',serif;font-size:108px;color:var(--yellow);opacity:.12;line-height:1;}
.why-quote{font-family:'Cormorant Garant',serif;font-size:23px;font-weight:300;font-style:italic;line-height:1.55;color:var(--white);margin-bottom:24px;}
.why-cite{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);}
.why-cite strong{color:var(--yellow);}

/* IMPACT */
.impact{background:var(--white);color:var(--black);padding:100px 48px;}
.impact-inner{max-width:1280px;margin:0 auto;width:100%;}
.imp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--light-gray);border:1px solid var(--light-gray);margin-top:52px;}
.imp-card{background:var(--white);padding:40px 30px;transition:background .3s;}
.imp-card:hover{background:#F0F0EC;}
.imp-metric{font-family:'Cormorant Garant',serif;font-size:52px;font-weight:300;line-height:1;color:var(--black);margin-bottom:8px;}
.imp-metric span{color:var(--yellow);}
.imp-label{font-size:13px;font-weight:500;color:var(--black);margin-bottom:6px;}
.imp-desc{font-size:12px;color:#777;font-weight:300;line-height:1.6;}

/* PROCESS */
.process{background:var(--black);padding:100px 48px;}
.process-inner{max-width:1280px;margin:0 auto;width:100%;}
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;border:1px solid rgba(255,255,255,.07);}
.proc-step{padding:40px 32px;border-right:1px solid rgba(255,255,255,.07);transition:background .3s;}
.proc-step:last-child{border-right:none;}
.proc-step:hover{background:rgba(240,192,64,.04);}
.proc-phase{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:18px;}
.proc-icon{width:50px;height:50px;border:1px solid rgba(240,192,64,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;background:var(--yellow-dim);}
.proc-name{font-family:'Cormorant Garant',serif;font-size:26px;font-weight:600;color:var(--white);margin-bottom:10px;}
.proc-desc{font-size:13px;line-height:1.65;color:var(--gray);font-weight:300;}

/* RESULTS */
.results{background:var(--off-white);color:var(--black);padding:100px 48px;}
.results-inner{max-width:1280px;margin:0 auto;width:100%;}
.results-hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;flex-wrap:wrap;gap:20px;}
.results-hdr .section-title{margin-bottom:0;}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.case-card{border:1px solid var(--light-gray);padding:34px 30px;background:var(--white);transition:border-color .3s,transform .3s;}
.case-card:hover{border-color:var(--black);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.08);}
.case-ind{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:16px;}
.case-metric{font-family:'Cormorant Garant',serif;font-size:52px;font-weight:300;line-height:1;}
.case-metric span{color:var(--yellow);}
.case-sub{font-size:12px;font-weight:500;color:#333;margin-top:4px;margin-bottom:9px;}
.case-desc{font-size:13px;line-height:1.65;color:#666;font-weight:300;}
.case-tag{display:inline-block;margin-top:16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:rgba(240,192,64,.2);padding:5px 12px;}

/* ═══ CLIENTS LOGO TICKER ═══ */
.clients{background:var(--black);padding:80px 48px;min-height:unset!important;}
.clients-inner{max-width:1280px;margin:0 auto;width:100%;}
.logo-ticker-wrap{overflow:hidden;margin-top:40px;position:relative;}
.logo-ticker-wrap::before,.logo-ticker-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.logo-ticker-wrap::before{left:0;background:linear-gradient(to right,var(--black),transparent);}
.logo-ticker-wrap::after{right:0;background:linear-gradient(to left,var(--black),transparent);}
.logo-ticker{display:flex;gap:0;animation:ticker 38s linear infinite;width:max-content;}
.logo-ticker:hover{animation-play-state:paused;}
.logo-item{
  display:flex;align-items:center;justify-content:center;
  padding:20px 48px;border-right:1px solid rgba(255,255,255,.05);
  min-width:180px;flex-shrink:0;
}
.logo-item-inner{
  display:flex;align-items:center;gap:10px;
  filter:grayscale(1) brightness(.45);
  transition:filter .4s;
}
.logo-ticker:hover .logo-item-inner:hover{filter:grayscale(0) brightness(1);}
.logo-item-icon{font-size:22px;opacity:.7;}
.logo-item-name{font-family:'Cormorant Garant',serif;font-size:17px;font-weight:400;color:rgba(255,255,255,.7);letter-spacing:.06em;white-space:nowrap;}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* CTA */
.cta-section{background:var(--yellow);min-height:60vh!important;align-items:center;justify-content:center;text-align:center;padding:80px 48px;flex-direction:column;position:relative;overflow:hidden;}
.cta-section::before{content:'HATCHHOPE';position:absolute;font-family:'Cormorant Garant',serif;font-size:18vw;font-weight:700;color:rgba(0,0,0,.045);pointer-events:none;white-space:nowrap;}
.cta-title{font-family:'Cormorant Garant',serif;font-size:clamp(36px,5vw,70px);font-weight:300;line-height:1.1;color:var(--black);margin-bottom:20px;position:relative;}
.cta-sub{font-size:15px;font-weight:300;color:rgba(0,0,0,.55);max-width:420px;line-height:1.7;margin-bottom:44px;position:relative;}
.cta-section .section-tag{justify-content:center;color:rgba(0,0,0,.45);}
.cta-section .section-tag::before{background:rgba(0,0,0,.3);}
.btn-dark{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);background:var(--black);padding:15px 38px;text-decoration:none;position:relative;overflow:hidden;transition:transform .2s,box-shadow .3s;}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,0,0,.25);}

/* ═══ CONTACT ═══ */
.contact{background:#0D0D0D;padding:100px 48px;}
.contact-inner{max-width:1280px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.contact-info{margin-top:30px;display:flex;flex-direction:column;gap:16px;}
.cii-item{display:flex;gap:12px;align-items:flex-start;}
.cii{color:var(--yellow);font-size:13px;margin-top:2px;}
.cit{font-size:13px;color:var(--gray);font-weight:300;line-height:1.55;}
.cit a{color:var(--gray);text-decoration:none;transition:color .2s;}
.cit a:hover{color:var(--yellow);}

/* FORM */
.contact-form{display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:7px;position:relative;}
.form-group label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);}
.form-group input,
.form-group select,
.form-group textarea{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  color:var(--white);padding:12px 14px;font-family:'DM Sans',sans-serif;
  font-size:13px;font-weight:300;outline:none;transition:border-color .2s;
  resize:none;appearance:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:rgba(240,192,64,.5);background:rgba(240,192,64,.03);
}
.form-group.has-error input,
.form-group.has-error select,
.form-group.has-error textarea{border-color:rgba(224,82,82,.6)!important;}
.field-error{font-size:11px;color:var(--red);margin-top:4px;display:none;}
.form-group.has-error .field-error{display:block;}
.form-group select option{background:#1a1a1a;color:var(--white);}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.2);}

/* Budget pills */
.budget-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.budget-pill{
  font-size:11px;letter-spacing:.08em;padding:7px 14px;
  border:1px solid rgba(255,255,255,.1);color:var(--gray);
  cursor:pointer;transition:all .22s;background:transparent;
  font-family:'DM Sans',sans-serif;
}
.budget-pill:hover{border-color:rgba(240,192,64,.4);color:var(--yellow);}
.budget-pill.active{border-color:var(--yellow);color:var(--yellow);background:var(--yellow-dim);}

/* File upload */
.file-upload-wrap{position:relative;}
.file-upload-label{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.15);
  padding:13px 14px;cursor:pointer;transition:border-color .2s,background .2s;
  font-size:13px;font-weight:300;color:rgba(255,255,255,.35);
}
.file-upload-label:hover{border-color:rgba(240,192,64,.4);background:rgba(240,192,64,.03);color:var(--yellow);}
.file-upload-label .upload-icon{font-size:16px;}
.file-upload-label .upload-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-input-hidden{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;}
.file-size-note{font-size:10px;color:rgba(255,255,255,.25);margin-top:4px;}

/* hCaptcha wrapper */
.captcha-wrap{margin-top:4px;}

.form-submit{
  margin-top:8px;font-size:11px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--black);background:var(--yellow);
  padding:15px 32px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:box-shadow .3s,transform .2s;align-self:flex-start;
  position:relative;overflow:hidden;
}
.form-submit::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:rgba(255,255,255,.25);transform:skewX(-20deg);transition:left .5s;}
.form-submit:hover::after{left:120%;}
.form-submit:hover{box-shadow:0 0 24px rgba(240,192,64,.4);transform:translateY(-1px);}
.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.form-msg{font-size:12px;margin-top:8px;padding:10px 14px;display:none;}
.form-msg.success{display:block;background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);color:#81c784;}
.form-msg.error{display:block;background:rgba(255,80,80,.08);border:1px solid rgba(255,80,80,.2);color:#ff8080;}

/* ═══ FOOTER ═══ */
footer{background:#050505;border-top:1px solid rgba(255,255,255,.05);color:var(--white);}
.footer-top{max-width:1280px;margin:0 auto;padding:72px 48px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;}
.footer-brand-logo{height:36px;margin-bottom:20px;display:block;}
.footer-brand-desc{font-size:13px;font-weight:300;line-height:1.75;color:rgba(255,255,255,.35);max-width:300px;margin-bottom:24px;}
.footer-social{display:flex;gap:12px;flex-wrap:wrap;}
.footer-social-link{
  width:38px;height:38px;border:1px solid rgba(255,255,255,.1);
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.4);font-size:14px;text-decoration:none;
  transition:border-color .2s,color .2s,background .2s;
}
.footer-social-link:hover{border-color:var(--yellow);color:var(--yellow);background:var(--yellow-dim);}
.footer-col h4{font-family:'Cormorant Garant',serif;font-size:15px;font-weight:600;letter-spacing:.05em;color:var(--white);margin-bottom:20px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{font-size:12.5px;font-weight:300;color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:8px;}
.footer-col ul li a:hover{color:var(--yellow);}
.footer-col ul li a .fl-icon{font-size:11px;opacity:.5;}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;}
.fci-icon{color:var(--yellow);font-size:13px;margin-top:1px;flex-shrink:0;}
.fci-text{font-size:12.5px;font-weight:300;color:rgba(255,255,255,.38);line-height:1.55;}
.fci-text a{color:rgba(255,255,255,.38);text-decoration:none;transition:color .2s;}
.fci-text a:hover{color:var(--yellow);}
.footer-cert-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.footer-cert{font-size:9px;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(255,255,255,.1);padding:5px 10px;color:rgba(255,255,255,.3);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:20px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:100%;}
.footer-copy{font-size:11px;color:rgba(255,255,255,.2);letter-spacing:.05em;}
.footer-legal{display:flex;gap:20px;}
.footer-legal a{font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.22);text-decoration:none;transition:color .2s;}
.footer-legal a:hover{color:var(--yellow);}
.footer-made{font-size:11px;color:rgba(255,255,255,.15);letter-spacing:.04em;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.rd1{transition-delay:.1s;}.rd2{transition-delay:.2s;}.rd3{transition-delay:.3s;}.rd4{transition-delay:.4s;}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .svc-grid,.svc-grid-b{grid-template-columns:repeat(2,1fr);}
  .imp-grid{grid-template-columns:repeat(2,1fr);}
  .proc-steps{grid-template-columns:repeat(2,1fr);}
  .proc-step:nth-child(2){border-right:none;}
  .proc-step:nth-child(3){border-top:1px solid rgba(255,255,255,.07);}
}
@media(max-width:900px){
  nav{padding:16px 24px;}
  nav.scrolled{padding:12px 24px;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  body{cursor:auto;}
  .cursor,.cursor-ring{display:none;}
  .hero{padding:100px 24px 60px;}
  .hero-inner{grid-template-columns:1fr;gap:40px;}
  .hero-visual{height:240px;}
  .hero-ring:nth-child(2),.hero-ring:nth-child(3){display:none;}
  .hero-ring:nth-child(1){width:190px;height:190px;}
  .hero-center-logo{width:76px;height:76px;}
  section{padding:80px 24px;}
  .services,.why,.impact,.process,.results,.contact{padding:80px 24px;}
  .clients{padding:60px 24px;}
  .why-inner,.contact-inner{grid-template-columns:1fr;gap:40px;}
  .case-grid{grid-template-columns:1fr;}
  .svc-grid,.svc-grid-b{grid-template-columns:1fr 1fr;}
  .imp-grid{grid-template-columns:1fr 1fr;}
  .proc-steps{grid-template-columns:1fr;}
  .proc-step{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}
  .proc-step:last-child{border-bottom:none;}
  .proc-step:nth-child(2){border-right:none;}
  .proc-step:nth-child(3){border-top:none;}
  .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;gap:36px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;padding:18px 24px;}
  .results-hdr{flex-direction:column;align-items:flex-start;}
  .hero-stats{gap:28px;}
  .cta-section{padding:80px 24px;}
}
@media(max-width:500px){
  .svc-grid,.svc-grid-b{grid-template-columns:1fr;}
  .imp-grid{grid-template-columns:1fr;}
}

/* ═══ TESTIMONIAL SLIDER ═══ */
.testimonial-slider{position:relative;overflow:hidden;}
.tslide{display:none;animation:tfade .6s ease;}
.tslide.active{display:block;}
@keyframes tfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tslider-dots{display:flex;gap:8px;margin-top:20px;}
.tdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:background .3s;}
.tdot.active{background:var(--yellow);}



/* ═══ CLIENT LOGO IMAGES ═══ */
.client-logo-img{height:36px;width:auto;max-width:140px;object-fit:contain;display:block;filter:grayscale(1) brightness(.45);transition:filter .4s;}
.logo-ticker:hover .logo-item:hover .client-logo-img{filter:grayscale(0) brightness(1);}
.logo-item-name{font-family:'Cormorant Garant',serif;font-size:17px;font-weight:400;color:rgba(255,255,255,.7);letter-spacing:.06em;white-space:nowrap;}
.logo-item-icon{font-size:22px;opacity:.7;}

/* ═══ COOKIE BANNER ═══ */
#cookie-banner{position:fixed;bottom:24px;left:24px;right:24px;max-width:520px;background:#111;border:1px solid rgba(255,255,255,.1);padding:20px 24px;z-index:8000;box-shadow:0 8px 40px rgba(0,0,0,.5);display:none;animation:cookie-in .4s ease forwards;}
@keyframes cookie-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
#cookie-banner.show{display:block;}
.cookie-title{font-size:13px;font-weight:500;color:var(--white);margin-bottom:6px;}
.cookie-desc{font-size:12px;font-weight:300;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:16px;}
.cookie-desc a{color:var(--yellow);text-decoration:none;}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-accept{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;background:var(--yellow);color:var(--black);border:none;padding:10px 20px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:box-shadow .2s;}
.cookie-accept:hover{box-shadow:0 0 18px rgba(240,192,64,.4);}
.cookie-decline{font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;background:transparent;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.15);padding:10px 20px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:border-color .2s,color .2s;}
.cookie-decline:hover{border-color:rgba(255,255,255,.35);color:var(--white);}
.cookie-manage{font-size:10px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:rgba(255,255,255,.3);border:none;padding:10px 0;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:underline;transition:color .2s;}
.cookie-manage:hover{color:var(--yellow);}
.cookie-prefs{display:none;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);}
.cookie-prefs.open{display:block;}
.cookie-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cookie-toggle-label{font-size:12px;color:rgba(255,255,255,.6);}
.cookie-toggle-label small{display:block;font-size:10px;color:rgba(255,255,255,.3);margin-top:2px;}
.cookie-toggle{position:relative;width:36px;height:20px;flex-shrink:0;}
.cookie-toggle input{opacity:0;width:0;height:0;}
.cookie-slider{position:absolute;inset:0;background:rgba(255,255,255,.15);border-radius:20px;cursor:pointer;transition:background .3s;}
.cookie-slider::before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:transform .3s;}
.cookie-toggle input:checked + .cookie-slider{background:var(--yellow);}
.cookie-toggle input:checked + .cookie-slider::before{transform:translateX(16px);}
.cookie-toggle input:disabled + .cookie-slider{opacity:.5;cursor:not-allowed;}


/* ═══════════════════════════════════════════════════════════
   INNER PAGE COMPONENTS
   All classes used on service, blog, case study, and
   utility pages that are not part of the homepage layout.
═══════════════════════════════════════════════════════════ */

/* ── SKIP LINK ── */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:12px 20px;background:var(--yellow);color:var(--black);font-size:13px;font-weight:500;z-index:9999;text-decoration:none;}

/* ── MOBILE CLOSE BUTTON ── */
.mobile-close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--white);font-size:28px;cursor:pointer;z-index:300;line-height:1;padding:4px 8px;}

/* ── BREADCRUMB ── */
.breadcrumb{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);}
.breadcrumb-inner{max-width:1280px;margin:0 auto;padding:14px 48px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.breadcrumb-inner a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.breadcrumb-inner a:hover{color:var(--yellow);}
.breadcrumb-inner span{font-size:11px;color:rgba(255,255,255,.25);}
@media(max-width:900px){.breadcrumb-inner{padding:12px 24px;}}

/* ── PAGE HERO (service pages, case studies listing, careers) ── */
.page-hero{background:var(--black);padding:140px 48px 72px;text-align:center;position:relative;}
.page-hero-inner{max-width:760px;margin:0 auto;}
.page-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;}
.page-tag::before{content:'';display:inline-block;width:24px;height:1px;background:var(--yellow);}
.page-h1{font-family:'Cormorant Garant',serif;font-size:clamp(38px,5vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.01em;margin-bottom:22px;color:var(--white);}
.page-h1 em{font-style:italic;color:var(--yellow);}
.page-sub{font-size:16px;font-weight:300;line-height:1.75;color:var(--gray);max-width:600px;margin:0 auto 36px;}
.page-actions{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;}
@media(max-width:900px){.page-hero{padding:110px 24px 56px;}.breadcrumb+.page-hero{padding-top:90px;}}

/* ── PAGE BODY (about, careers, privacy, etc.) ── */
.page-body{max-width:800px;margin:0 auto;padding:80px 48px;}
.page-body h2{font-family:'Cormorant Garant',serif;font-size:clamp(26px,3vw,42px);font-weight:300;line-height:1.15;margin:56px 0 18px;color:var(--black);}
.page-body h2 em{font-style:italic;}
.page-body h3{font-size:17px;font-weight:500;margin:32px 0 10px;color:var(--black);}
.page-body p{font-size:15px;line-height:1.85;color:#444;font-weight:300;margin-bottom:18px;}
.page-body ul,.page-body ol{padding-left:22px;margin-bottom:18px;}
.page-body li{font-size:15px;line-height:1.8;color:#444;font-weight:300;margin-bottom:6px;}
.page-body a{color:var(--black);text-decoration:underline;text-underline-offset:3px;}
.page-body a:hover{color:var(--yellow);}
@media(max-width:900px){.page-body{padding:60px 24px;}}

/* ── CONTENT SECTION WRAPPER (service page sections) ── */
.content-section{padding:80px 48px;}
.content-inner{max-width:1280px;margin:0 auto;}
.section-h2{font-family:'Cormorant Garant',serif;font-size:clamp(28px,3.5vw,50px);font-weight:300;line-height:1.12;margin-bottom:44px;}
.section-h2 em{font-style:italic;}
@media(max-width:900px){.content-section{padding:60px 24px;}}

/* ── BUTTONS (inner page variants) ── */
.btn-yellow,.btn{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:14px 30px;text-decoration:none;transition:box-shadow .3s,transform .2s;white-space:nowrap;}
.btn-yellow:hover,.btn:hover{box-shadow:0 0 28px rgba(240,192,64,.5);transform:translateY(-1px);}
.btn-outline{display:inline-block;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--white);border:1px solid rgba(255,255,255,.25);padding:13px 28px;text-decoration:none;transition:border-color .2s,color .2s,background .2s;white-space:nowrap;}
.btn-outline:hover{border-color:var(--yellow);color:var(--yellow);}
.btn-secondary{display:inline-block;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--white);border:1px solid rgba(255,255,255,.2);padding:13px 28px;text-decoration:none;transition:border-color .2s,color .2s;white-space:nowrap;}
.btn-secondary:hover{border-color:var(--yellow);color:var(--yellow);}
.btn-dk{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);background:var(--black);padding:12px 24px;text-decoration:none;transition:box-shadow .2s;border:1px solid rgba(255,255,255,.12);white-space:nowrap;}
.btn-dk:hover{box-shadow:0 0 18px rgba(240,192,64,.25);}
.btn-ye{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:12px 24px;text-decoration:none;transition:box-shadow .2s;white-space:nowrap;}
.btn-ye:hover{box-shadow:0 0 22px rgba(240,192,64,.45);}

/* ── CARD GRIDS ── */
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:1100px){.card-grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){.card-grid-3,.card-grid-4,.card-grid-2{grid-template-columns:1fr;}}

/* ── FEATURE CARD (light bg sections) ── */
.feature-card{background:var(--white);border:1px solid var(--light-gray);padding:30px 26px;transition:border-color .2s,transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.feature-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.feature-card:hover{border-color:rgba(0,0,0,.2);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.08);}
.feature-card:hover::after{transform:scaleX(1);}
.card-icon{font-size:28px;margin-bottom:16px;line-height:1;}
.card-h3{font-family:'Cormorant Garant',serif;font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.25;}
.card-p{font-size:13px;line-height:1.7;color:#666;font-weight:300;}

/* ── DARK CARD (dark bg sections) ── */
.dark-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:30px 26px;transition:border-color .2s,background .2s;}
.dark-card:hover{border-color:rgba(240,192,64,.25);background:rgba(240,192,64,.03);}
.dark-card .card-h3{color:var(--white);}
.dark-card .card-p{color:var(--gray);}

/* ── MINI CARD ── */
.mini-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:24px 20px;transition:border-color .2s,background .2s;}
.mini-card:hover{border-color:rgba(240,192,64,.3);background:rgba(240,192,64,.03);}
.mini-card .card-h3{color:var(--white);}
.mini-card .card-p{color:var(--gray);}

/* ── INFO CARD (about page) ── */
.info-card{background:var(--off-white);border:1px solid var(--light-gray);padding:28px 24px;}
.info-card h4{font-family:'Cormorant Garant',serif;font-size:22px;font-weight:600;margin-bottom:8px;color:var(--black);}
.info-card p{font-size:13px;line-height:1.65;color:#555;font-weight:300;}

/* ── TWO COLUMN LAYOUT ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:36px;}}

/* ── STAT ROW (social proof numbers) ── */
.stat-row{display:flex;gap:0;border:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.sr-item{flex:1;min-width:120px;padding:28px 24px;border-right:1px solid rgba(255,255,255,.07);text-align:center;}
.sr-item:last-child{border-right:none;}
.sr-num{font-family:'Cormorant Garant',serif;font-size:40px;font-weight:300;line-height:1;color:var(--white);}
.sr-num span{color:var(--yellow);}
.sr-label,.sr-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-top:6px;}
@media(max-width:600px){.stat-row{flex-direction:column;}.sr-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}.sr-item:last-child{border-bottom:none;}}

/* ── TECH TAGS ── */
.tech-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.tech-tag,.dark-tech-tag{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border:1px solid rgba(255,255,255,.12);color:var(--gray);font-family:'DM Sans',sans-serif;}
.dark-tech-tag{border-color:rgba(0,0,0,.15);color:#555;}

/* ── CHECKLIST ── */
.checklist{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.checklist-item{font-size:13px;font-weight:300;line-height:1.5;padding-left:20px;position:relative;}
.checklist-item::before{content:'✓';position:absolute;left:0;color:var(--yellow);font-weight:700;font-size:12px;}

/* ── PROCESS STRIP (horizontal numbered steps) ── */
.process-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.07);}
.ps-step{padding:32px 28px;border-right:1px solid rgba(255,255,255,.07);transition:background .2s;}
.ps-step:last-child{border-right:none;}
.ps-step:hover{background:rgba(240,192,64,.04);}
.ps-num{font-family:'Cormorant Garant',serif;font-size:13px;color:var(--yellow);letter-spacing:.12em;margin-bottom:14px;}
.ps-name{font-family:'Cormorant Garant',serif;font-size:22px;font-weight:600;color:var(--white);margin-bottom:10px;}
.ps-desc{font-size:12.5px;line-height:1.65;color:var(--gray);font-weight:300;}
@media(max-width:900px){.process-strip{grid-template-columns:1fr;}.ps-step{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}.ps-step:last-child{border-bottom:none;}}

/* ── CTA STRIP (inline mid-page call to action) ── */
.cta-strip{background:var(--yellow);padding:56px 48px;text-align:center;}
.cta-strip-h{font-family:'Cormorant Garant',serif;font-size:clamp(26px,3vw,44px);font-weight:300;color:var(--black);margin-bottom:14px;line-height:1.15;}
.cta-strip-p{font-size:15px;font-weight:300;color:rgba(0,0,0,.55);max-width:500px;margin:0 auto 28px;line-height:1.7;}
@media(max-width:900px){.cta-strip{padding:48px 24px;}}

/* ── CTA BAND (about, uiux pages) ── */
.cta-band{background:var(--black);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:80px 48px;text-align:center;}
.cta-band h2{font-family:'Cormorant Garant',serif;font-size:clamp(28px,3.5vw,52px);font-weight:300;color:var(--white);margin-bottom:16px;line-height:1.12;}
.cta-band h2 em{font-style:italic;color:var(--yellow);}
.cta-band p{font-size:15px;font-weight:300;color:var(--gray);max-width:480px;margin:0 auto 32px;line-height:1.7;}
@media(max-width:900px){.cta-band{padding:60px 24px;}}

/* ── FAQ ── */
.faq-item{border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font-size:15px;font-weight:400;line-height:1.45;transition:color .2s;}
.faq-q:hover{color:var(--yellow);}
.faq-icon{font-size:20px;font-weight:300;flex-shrink:0;line-height:1;transition:transform .3s;color:var(--yellow);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{font-size:14px;font-weight:300;line-height:1.75;color:var(--gray);max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;}
.faq-item.open .faq-a{max-height:400px;padding-bottom:20px;}

/* ── HIGHLIGHT BOX / CALLOUT BOX ── */
.highlight-box,.hl-box,.callout,.callout-box{background:var(--yellow-dim);border-left:3px solid var(--yellow);padding:20px 24px;margin:24px 0;}
.highlight-box p,.hl-box p,.callout p,.callout-box p{font-size:14px;line-height:1.7;color:var(--white);font-weight:300;margin:0;}

/* ── INLINE CTA / LAST UPDATED / QUICK LINKS ── */
.inline-cta{background:rgba(240,192,64,.08);border:1px solid rgba(240,192,64,.2);padding:20px 24px;margin:32px 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.inline-cta p{font-size:14px;color:var(--white);font-weight:300;margin:0;flex:1;}
.last-updated{font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:24px;text-transform:uppercase;}
.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;}
.quick-links a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);border:1px solid rgba(255,255,255,.1);padding:6px 14px;text-decoration:none;transition:border-color .2s,color .2s;}
.quick-links a:hover{border-color:var(--yellow);color:var(--yellow);}

/* ── CONTACT SECTION (uiux page inline) ── */
.contact-section{background:#0D0D0D;padding:80px 48px;}
.contact-section h2{font-family:'Cormorant Garant',serif;font-size:clamp(28px,3.5vw,50px);font-weight:300;line-height:1.12;color:var(--white);margin-bottom:14px;}
.contact-section h2 em{font-style:italic;color:var(--yellow);}
.contact-section>p{font-size:15px;font-weight:300;color:var(--gray);max-width:480px;line-height:1.7;margin-bottom:40px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:900px){.contact-section{padding:60px 24px;}.contact-grid{grid-template-columns:1fr;gap:36px;}}

/* ── BLOG HERO ── */
.blog-hero{background:var(--black);padding:140px 48px 64px;text-align:center;}
.bh-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;}
.bh-tag::before{content:'';display:inline-block;width:24px;height:1px;background:var(--yellow);}
.bh-h1{font-family:'Cormorant Garant',serif;font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.01em;color:var(--white);margin-bottom:18px;}
.bh-h1 em{font-style:italic;color:var(--yellow);}
.bh-sub{font-size:16px;font-weight:300;line-height:1.7;color:var(--gray);max-width:520px;margin:0 auto;}
@media(max-width:900px){.blog-hero{padding:110px 24px 48px;}}

/* ── BLOG FILTER BAR ── */
.filter-wrap{padding:24px 48px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);}
.filters{max-width:1280px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.fil{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border:1px solid rgba(255,255,255,.1);color:var(--gray);cursor:pointer;background:transparent;font-family:'DM Sans',sans-serif;transition:all .2s;}
.fil:hover,.fil.active{border-color:var(--yellow);color:var(--yellow);background:var(--yellow-dim);}
@media(max-width:900px){.filter-wrap{padding:20px 24px;}}

/* ── BLOG GRID & WRAP ── */
.grid-wrap{max-width:1280px;margin:0 auto;padding:60px 48px;}
.grid-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:28px;display:flex;align-items:center;gap:12px;}
.grid-label::before{content:'';display:block;width:20px;height:1px;background:currentColor;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:1100px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.blog-grid{grid-template-columns:1fr;}.grid-wrap{padding:40px 24px;}}

/* ── BLOG CARD (bc) ── */
a.bc{display:flex;flex-direction:column;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);text-decoration:none;color:inherit;transition:border-color .2s,transform .3s,background .2s;overflow:hidden;}
a.bc:hover{border-color:rgba(240,192,64,.3);transform:translateY(-3px);background:rgba(255,255,255,.05);}
.bc-img{font-size:36px;padding:28px 24px 0;line-height:1;}
.bc-body{padding:16px 24px 24px;flex:1;display:flex;flex-direction:column;}
.bc-tag{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px;}
.bc-title{font-family:'Cormorant Garant',serif;font-size:19px;font-weight:600;line-height:1.3;color:var(--white);margin-bottom:10px;flex:1;}
.bc-ex{font-size:12.5px;font-weight:300;line-height:1.65;color:var(--gray);margin-bottom:14px;}
.bc-meta{display:flex;gap:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);}

/* ── FEATURED BLOG POST ── */
.featured-wrap{max-width:1280px;margin:0 auto;padding:0 48px 60px;}
.featured{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.07);text-decoration:none;color:inherit;transition:border-color .2s;}
.featured:hover{border-color:rgba(240,192,64,.3);}
.feat-left{padding:48px;background:rgba(255,255,255,.02);}
.feat-right{padding:48px;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;justify-content:center;}
.feat-cat{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.feat-h2{font-family:'Cormorant Garant',serif;font-size:clamp(22px,2.5vw,34px);font-weight:600;line-height:1.25;color:var(--white);margin-bottom:14px;}
.feat-ex{font-size:14px;font-weight:300;line-height:1.7;color:var(--gray);margin-bottom:20px;}
.feat-meta{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);}
@media(max-width:900px){.featured{grid-template-columns:1fr;}.feat-right{border-left:none;border-top:1px solid rgba(255,255,255,.07);}.featured-wrap{padding:0 24px 40px;}}

/* ── BLOG ARTICLE LAYOUT ── */
.art-layout{max-width:1280px;margin:0 auto;padding:60px 48px;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start;}
.art-main{min-width:0;}
.art-header{margin-bottom:40px;}
.art-bc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.art-bc a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.art-bc a:hover{color:var(--yellow);}
.art-bc span{font-size:11px;color:rgba(255,255,255,.25);}
.art-cat{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.art-h1{font-family:'Cormorant Garant',serif;font-size:clamp(32px,4vw,56px);font-weight:300;line-height:1.1;color:var(--white);margin-bottom:18px;}
.art-h1 em{font-style:italic;color:var(--yellow);}
.art-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--gray);font-weight:300;}
.art-meta .ye{color:var(--yellow);}

/* Blog article body typography */
.art-body{font-size:15px;line-height:1.85;color:rgba(255,255,255,.8);font-weight:300;}
.art-body h2{font-family:'Cormorant Garant',serif;font-size:clamp(24px,2.8vw,36px);font-weight:300;line-height:1.15;color:var(--white);margin:52px 0 18px;}
.art-body h2 em{font-style:italic;color:var(--yellow);}
.art-body h3{font-size:18px;font-weight:500;color:var(--white);margin:36px 0 12px;}
.art-body p{margin-bottom:20px;}
.art-body ul,.art-body ol{padding-left:22px;margin-bottom:20px;}
.art-body li{margin-bottom:8px;line-height:1.75;}
.art-body strong{font-weight:500;color:var(--white);}
.art-body a{color:var(--yellow);text-decoration:underline;text-underline-offset:3px;}
.art-body blockquote{border-left:3px solid var(--yellow);padding:16px 24px;margin:28px 0;font-style:italic;color:var(--gray);}
.art-body table{width:100%;border-collapse:collapse;margin:28px 0;font-size:13px;}
.art-body th{background:rgba(255,255,255,.06);padding:12px 16px;text-align:left;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);border:1px solid rgba(255,255,255,.08);}
.art-body td{padding:12px 16px;border:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.7);}
.art-body tr:hover td{background:rgba(255,255,255,.02);}

/* Comparison table */
.comp-table{width:100%;border-collapse:collapse;margin:28px 0;font-size:13px;}
.comp-table th{background:rgba(240,192,64,.12);padding:12px 16px;text-align:left;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);border:1px solid rgba(240,192,64,.15);}
.comp-table td{padding:12px 16px;border:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.75);}

@media(max-width:1100px){.art-layout{grid-template-columns:1fr;gap:40px;}.art-layout{padding:40px 24px;}}

/* ── BLOG SIDEBAR ── */
.art-sidebar{}
.sidebar-sticky{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px;}
.sb-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);padding:24px;}
.sb-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.toc{display:flex;flex-direction:column;gap:8px;}
.toc a{font-size:13px;font-weight:300;color:var(--gray);text-decoration:none;line-height:1.5;padding:4px 0;border-left:2px solid transparent;padding-left:12px;transition:color .2s,border-color .2s;}
.toc a:hover{color:var(--white);border-left-color:var(--yellow);}
.sb-cta{background:var(--yellow-dim);border:1px solid rgba(240,192,64,.2);padding:24px;}
.sb-cta h4{font-family:'Cormorant Garant',serif;font-size:20px;font-weight:600;color:var(--white);margin-bottom:8px;}
.sb-cta p{font-size:13px;font-weight:300;color:var(--gray);margin-bottom:16px;line-height:1.6;}

/* ── RELATED POSTS ── */
.related{margin-top:60px;padding-top:48px;border-top:1px solid rgba(255,255,255,.07);}
.rel-title,.rel-ttl{font-family:'Cormorant Garant',serif;}
.rel-title{font-size:28px;font-weight:300;color:var(--white);margin-bottom:24px;}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
a.rel-card{display:block;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);padding:24px;text-decoration:none;transition:border-color .2s,transform .2s;}
a.rel-card:hover{border-color:rgba(240,192,64,.3);transform:translateY(-2px);}
.rel-tag{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px;}
.rel-ttl{font-size:16px;font-weight:600;color:var(--white);line-height:1.35;}
@media(max-width:900px){.rel-grid{grid-template-columns:1fr;}}

/* Author box */
.author-box{display:flex;align-items:flex-start;gap:20px;margin-top:48px;padding:28px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.a-name{font-size:14px;font-weight:500;color:var(--white);margin-bottom:6px;}
.a-bio{font-size:13px;font-weight:300;color:var(--gray);line-height:1.65;}

/* ── CASE STUDY HERO ── */
.cs-hero{background:var(--black);padding:140px 48px 80px;}
.cs-hero-inner{max-width:1280px;margin:0 auto;}
.cs-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.cs-breadcrumb a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.cs-breadcrumb a:hover{color:var(--yellow);}
.cs-breadcrumb span{font-size:11px;color:rgba(255,255,255,.25);}
.cs-tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px;}
.cs-h1{font-family:'Cormorant Garant',serif;font-size:clamp(34px,4.5vw,62px);font-weight:300;line-height:1.08;letter-spacing:-.01em;color:var(--white);margin-bottom:28px;max-width:800px;}
.cs-h1 em{font-style:italic;color:var(--yellow);}
.cs-meta-row{display:flex;gap:0;flex-wrap:wrap;border:1px solid rgba(255,255,255,.07);}
.cs-meta-item{padding:18px 28px;border-right:1px solid rgba(255,255,255,.07);flex:1;min-width:160px;}
.cs-meta-item:last-child{border-right:none;}
.cs-meta-item small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:5px;}
.cs-meta-item span{font-size:13px;font-weight:400;color:var(--white);}
@media(max-width:900px){.cs-hero{padding:110px 24px 60px;}.cs-meta-row{flex-direction:column;}.cs-meta-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}.cs-meta-item:last-child{border-bottom:none;}}

/* Case study body */
.cs-body{max-width:1280px;margin:0 auto;padding:60px 48px;}
@media(max-width:900px){.cs-body{padding:40px 24px;}}

/* Case study quote / testimonial */
.cs-testimonial{background:var(--yellow-dim);border:1px solid rgba(240,192,64,.2);padding:40px 44px;margin:40px 0;position:relative;}
.cs-testimonial::before{content:'"';position:absolute;top:-12px;left:28px;font-family:'Cormorant Garant',serif;font-size:80px;color:var(--yellow);opacity:.2;line-height:1;}
.cs-quote{font-family:'Cormorant Garant',serif;font-size:22px;font-style:italic;font-weight:300;line-height:1.55;color:var(--white);margin-bottom:18px;}
.cs-cite{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);}
.cs-cite strong{color:var(--yellow);}

/* Case studies listing — pill labels */
.case-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:6px;}
.case-pill{display:inline-block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;background:rgba(240,192,64,.12);color:var(--yellow);margin-right:6px;margin-bottom:6px;}

/* ── REVIEW PAGE ── */
.review-wrap{max-width:620px;margin:0 auto;padding:120px 48px 80px;text-align:center;}
.review-logo{height:52px;width:auto;object-fit:contain;margin:0 auto 32px;display:block;}
.review-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px;}
.review-h1{font-family:'Cormorant Garant',serif;font-size:clamp(36px,5vw,60px);font-weight:300;line-height:1.1;color:var(--white);margin-bottom:18px;}
.review-h1 em{font-style:italic;color:var(--yellow);}
.review-sub{font-size:15px;font-weight:300;line-height:1.75;color:var(--gray);max-width:440px;margin:0 auto 40px;}
.review-note{font-size:12px;font-weight:300;color:rgba(255,255,255,.3);margin-top:24px;}
.review-cards{display:flex;flex-direction:column;gap:14px;}
.review-card{display:flex;align-items:flex-start;gap:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:22px 24px;text-decoration:none;text-align:left;transition:border-color .2s,background .2s;}
.review-card:hover{border-color:rgba(240,192,64,.3);background:rgba(240,192,64,.04);}
.rc-icon{font-size:26px;line-height:1;flex-shrink:0;}
.rc-body{flex:1;}
.rc-name{font-size:14px;font-weight:500;color:var(--white);margin-bottom:5px;}
.rc-desc{font-size:13px;font-weight:300;color:var(--gray);line-height:1.55;}
.rc-arrow{font-size:18px;color:var(--yellow);align-self:center;flex-shrink:0;}
@media(max-width:600px){.review-wrap{padding:100px 24px 60px;}}

/* ── 404 PAGE ── */
.error-container{max-width:560px;margin:0 auto;padding:160px 48px 100px;text-align:center;}
.error-code{font-family:'Cormorant Garant',serif;font-size:clamp(80px,15vw,160px);font-weight:300;line-height:1;color:var(--yellow);opacity:.35;line-height:0.9;}
.error-title{font-family:'Cormorant Garant',serif;font-size:clamp(28px,4vw,48px);font-weight:300;color:var(--white);margin:20px 0 16px;line-height:1.1;}
.error-message{font-size:15px;font-weight:300;line-height:1.75;color:var(--gray);margin-bottom:36px;}
.error-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:600px){.error-container{padding:120px 24px 80px;}}

/* ── SITEMAP PAGE ── */
.sitemap-hero{background:var(--black);padding:140px 48px 72px;text-align:center;}
.sitemap-hero-inner{max-width:600px;margin:0 auto;}
.sitemap-h1{font-family:'Cormorant Garant',serif;font-size:clamp(44px,6vw,80px);font-weight:300;line-height:1.05;color:var(--white);}
.sitemap-h1 em,.sitemap-h1 .ye{font-style:italic;color:var(--yellow);}
.sitemap-body{max-width:1280px;margin:0 auto;padding:60px 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
.smap-section h2{font-family:'Cormorant Garant',serif;font-size:20px;font-weight:600;color:var(--white);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07);}
.smap-links{display:flex;flex-direction:column;gap:10px;}
.smap-links a{font-size:13px;font-weight:300;color:var(--gray);text-decoration:none;transition:color .2s;padding-left:12px;border-left:2px solid transparent;transition:all .2s;}
.smap-links a:hover{color:var(--yellow);border-left-color:var(--yellow);}
@media(max-width:1100px){.sitemap-body{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.sitemap-body{grid-template-columns:1fr;padding:40px 24px;}.sitemap-hero{padding:110px 24px 56px;}}

/* ── FORM EXTRAS ── */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fgroup{display:flex;flex-direction:column;gap:7px;}
.fgroup label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);}
.fgroup input,.fgroup select,.fgroup textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--white);padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:300;outline:none;transition:border-color .2s;resize:none;appearance:none;}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:rgba(240,192,64,.5);}
.submit-btn{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:15px 32px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:box-shadow .2s;}
.submit-btn:hover{box-shadow:0 0 22px rgba(240,192,64,.4);}
.av{display:flex;align-items:center;gap:12px;}
.w{flex:1;}
.ye{color:var(--yellow);}
@media(max-width:600px){.frow{grid-template-columns:1fr;}}

/* ── CLIENT LOGO FALLBACK ── */
.client-logo-fallback{font-family:'Cormorant Garant',serif;font-size:16px;font-weight:400;color:rgba(255,255,255,.4);letter-spacing:.06em;}

/* ── PRINT / MISC ── */
@media print{nav,.hamburger,.mobile-menu,.cookie-banner,.cta-strip,.cta-band,.cta-section{display:none!important;}.page-hero{padding-top:20px!important;}body{background:#fff!important;color:#000!important;}}

/* ═══════════════════════════════════════════════════════════
   INNER PAGE COMPONENTS
   All classes used on service, blog, case study, and
   utility pages that are not part of the homepage layout.
═══════════════════════════════════════════════════════════ */

/* SKIP LINK */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:12px 20px;background:var(--yellow);color:var(--black);font-size:13px;font-weight:500;z-index:9999;text-decoration:none;}

/* MOBILE CLOSE */
.mobile-close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--white);font-size:28px;cursor:pointer;z-index:300;line-height:1;padding:4px 8px;}

/* BREADCRUMB */
.breadcrumb{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);}
.breadcrumb-inner{max-width:1280px;margin:0 auto;padding:14px 48px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.breadcrumb-inner a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.breadcrumb-inner a:hover{color:var(--yellow);}
.breadcrumb-inner span{font-size:11px;color:rgba(255,255,255,.25);}
@media(max-width:900px){.breadcrumb-inner{padding:12px 24px;}}

/* PAGE HERO */
.page-hero{background:var(--black);padding:140px 48px 72px;text-align:center;position:relative;}
.page-hero-inner{max-width:760px;margin:0 auto;}
.page-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;}
.page-tag::before{content:'';display:inline-block;width:24px;height:1px;background:var(--yellow);}
.page-h1{font-family:'Cormorant Garant',serif;font-size:clamp(38px,5vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.01em;margin-bottom:22px;color:var(--white);}
.page-h1 em{font-style:italic;color:var(--yellow);}
.page-sub{font-size:16px;font-weight:300;line-height:1.75;color:var(--gray);max-width:600px;margin:0 auto 36px;}
.page-actions{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;}
@media(max-width:900px){.page-hero{padding:110px 24px 56px;}}

/* PAGE BODY */
.page-body{max-width:800px;margin:0 auto;padding:80px 48px;}
.page-body h2{font-family:'Cormorant Garant',serif;font-size:clamp(26px,3vw,42px);font-weight:300;line-height:1.15;margin:56px 0 18px;color:var(--black);}
.page-body h2 em{font-style:italic;}
.page-body h3{font-size:17px;font-weight:500;margin:32px 0 10px;color:var(--black);}
.page-body p{font-size:15px;line-height:1.85;color:#444;font-weight:300;margin-bottom:18px;}
.page-body ul,.page-body ol{padding-left:22px;margin-bottom:18px;}
.page-body li{font-size:15px;line-height:1.8;color:#444;font-weight:300;margin-bottom:6px;}
.page-body a{color:var(--black);text-decoration:underline;text-underline-offset:3px;}
.page-body a:hover{color:var(--yellow);}
@media(max-width:900px){.page-body{padding:60px 24px;}}

/* CONTENT SECTION WRAPPER */
.content-section{padding:80px 48px;}
.content-inner{max-width:1280px;margin:0 auto;}
.section-h2{font-family:'Cormorant Garant',serif;font-size:clamp(28px,3.5vw,50px);font-weight:300;line-height:1.12;margin-bottom:44px;}
.section-h2 em{font-style:italic;}
@media(max-width:900px){.content-section{padding:60px 24px;}}

/* BUTTONS */
.btn-yellow,.btn{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:14px 30px;text-decoration:none;transition:box-shadow .3s,transform .2s;white-space:nowrap;}
.btn-yellow:hover,.btn:hover{box-shadow:0 0 28px rgba(240,192,64,.5);transform:translateY(-1px);}
.btn-outline{display:inline-block;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--white);border:1px solid rgba(255,255,255,.25);padding:13px 28px;text-decoration:none;transition:border-color .2s,color .2s;white-space:nowrap;}
.btn-outline:hover{border-color:var(--yellow);color:var(--yellow);}
.btn-secondary{display:inline-block;font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--white);border:1px solid rgba(255,255,255,.2);padding:13px 28px;text-decoration:none;transition:border-color .2s,color .2s;white-space:nowrap;}
.btn-secondary:hover{border-color:var(--yellow);color:var(--yellow);}
.btn-dk{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);background:var(--black);padding:12px 24px;text-decoration:none;border:1px solid rgba(255,255,255,.12);white-space:nowrap;transition:box-shadow .2s;}
.btn-dk:hover{box-shadow:0 0 18px rgba(240,192,64,.25);}
.btn-ye{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:12px 24px;text-decoration:none;white-space:nowrap;transition:box-shadow .2s;}
.btn-ye:hover{box-shadow:0 0 22px rgba(240,192,64,.45);}

/* CARD GRIDS */
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:1100px){.card-grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){.card-grid-3,.card-grid-4,.card-grid-2{grid-template-columns:1fr;}}

/* FEATURE CARD (light bg) */
.feature-card{background:var(--white);border:1px solid var(--light-gray);padding:30px 26px;transition:border-color .2s,transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.feature-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.feature-card:hover{border-color:rgba(0,0,0,.2);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.08);}
.feature-card:hover::after{transform:scaleX(1);}
.card-icon{font-size:28px;margin-bottom:16px;line-height:1;}
.card-h3{font-family:'Cormorant Garant',serif;font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.25;}
.card-p{font-size:13px;line-height:1.7;color:#666;font-weight:300;}

/* DARK CARD */
.dark-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:30px 26px;transition:border-color .2s,background .2s;}
.dark-card:hover{border-color:rgba(240,192,64,.25);background:rgba(240,192,64,.03);}
.dark-card .card-h3{color:var(--white);}
.dark-card .card-p{color:var(--gray);}

/* MINI CARD */
.mini-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:24px 20px;transition:border-color .2s,background .2s;}
.mini-card:hover{border-color:rgba(240,192,64,.3);background:rgba(240,192,64,.03);}
.mini-card .card-h3{color:var(--white);}
.mini-card .card-p{color:var(--gray);}

/* INFO CARD */
.info-card{background:var(--off-white);border:1px solid var(--light-gray);padding:28px 24px;}
.info-card h4{font-family:'Cormorant Garant',serif;font-size:22px;font-weight:600;margin-bottom:8px;color:var(--black);}
.info-card p{font-size:13px;line-height:1.65;color:#555;font-weight:300;}

/* TWO COLUMN */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:36px;}}

/* STAT ROW */
.stat-row{display:flex;gap:0;border:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.sr-item{flex:1;min-width:120px;padding:28px 24px;border-right:1px solid rgba(255,255,255,.07);text-align:center;}
.sr-item:last-child{border-right:none;}
.sr-num{font-family:'Cormorant Garant',serif;font-size:40px;font-weight:300;line-height:1;color:var(--white);}
.sr-num span{color:var(--yellow);}
.sr-label,.sr-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-top:6px;}
@media(max-width:600px){.stat-row{flex-direction:column;}.sr-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}.sr-item:last-child{border-bottom:none;}}

/* TECH TAGS */
.tech-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.tech-tag,.dark-tech-tag{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border:1px solid rgba(255,255,255,.12);color:var(--gray);}
.dark-tech-tag{border-color:rgba(0,0,0,.15);color:#555;}

/* CHECKLIST */
.checklist{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.checklist-item{font-size:13px;font-weight:300;line-height:1.5;padding-left:20px;position:relative;}
.checklist-item::before{content:'checkmark';content:'✓';position:absolute;left:0;color:var(--yellow);font-weight:700;font-size:12px;}

/* PROCESS STRIP */
.process-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.07);}
.ps-step{padding:32px 28px;border-right:1px solid rgba(255,255,255,.07);transition:background .2s;}
.ps-step:last-child{border-right:none;}
.ps-step:hover{background:rgba(240,192,64,.04);}
.ps-num{font-family:'Cormorant Garant',serif;font-size:13px;color:var(--yellow);letter-spacing:.12em;margin-bottom:14px;}
.ps-name{font-family:'Cormorant Garant',serif;font-size:22px;font-weight:600;color:var(--white);margin-bottom:10px;}
.ps-desc{font-size:12.5px;line-height:1.65;color:var(--gray);font-weight:300;}
@media(max-width:900px){.process-strip{grid-template-columns:1fr;}.ps-step{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}.ps-step:last-child{border-bottom:none;}}

/* CTA STRIP */
.cta-strip{background:var(--yellow);padding:56px 48px;text-align:center;}
.cta-strip-h{font-family:'Cormorant Garant',serif;font-size:clamp(26px,3vw,44px);font-weight:300;color:var(--black);margin-bottom:14px;line-height:1.15;}
.cta-strip-p{font-size:15px;font-weight:300;color:rgba(0,0,0,.55);max-width:500px;margin:0 auto 28px;line-height:1.7;}
@media(max-width:900px){.cta-strip{padding:48px 24px;}}

/* CTA BAND */
.cta-band{background:var(--black);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:80px 48px;text-align:center;}
.cta-band h2{font-family:'Cormorant Garant',serif;font-size:clamp(28px,3.5vw,52px);font-weight:300;color:var(--white);margin-bottom:16px;line-height:1.12;}
.cta-band h2 em{font-style:italic;color:var(--yellow);}
.cta-band p{font-size:15px;font-weight:300;color:var(--gray);max-width:480px;margin:0 auto 32px;line-height:1.7;}
@media(max-width:900px){.cta-band{padding:60px 24px;}}

/* FAQ */
.faq-item{border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font-size:15px;font-weight:400;line-height:1.45;transition:color .2s;}
.faq-q:hover{color:var(--yellow);}
.faq-icon{font-size:20px;font-weight:300;flex-shrink:0;line-height:1;transition:transform .3s;color:var(--yellow);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{font-size:14px;font-weight:300;line-height:1.75;color:var(--gray);max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;}
.faq-item.open .faq-a{max-height:400px;padding-bottom:20px;}

/* HIGHLIGHT / CALLOUT */
.highlight-box,.hl-box,.callout,.callout-box{background:var(--yellow-dim);border-left:3px solid var(--yellow);padding:20px 24px;margin:24px 0;}
.highlight-box p,.hl-box p,.callout p,.callout-box p{font-size:14px;line-height:1.7;color:var(--white);font-weight:300;margin:0;}

/* INLINE CTA */
.inline-cta{background:rgba(240,192,64,.08);border:1px solid rgba(240,192,64,.2);padding:20px 24px;margin:32px 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.inline-cta p{font-size:14px;color:var(--white);font-weight:300;margin:0;flex:1;}
.last-updated{font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:24px;text-transform:uppercase;}
.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;}
.quick-links a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);border:1px solid rgba(255,255,255,.1);padding:6px 14px;text-decoration:none;transition:all .2s;}
.quick-links a:hover{border-color:var(--yellow);color:var(--yellow);}

/* CONTACT SECTION */
.contact-section{background:#0D0D0D;padding:80px 48px;}
.contact-section h2{font-family:'Cormorant Garant',serif;font-size:clamp(28px,3.5vw,50px);font-weight:300;line-height:1.12;color:var(--white);margin-bottom:14px;}
.contact-section h2 em{font-style:italic;color:var(--yellow);}
.contact-section>p{font-size:15px;font-weight:300;color:var(--gray);max-width:480px;line-height:1.7;margin-bottom:40px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:900px){.contact-section{padding:60px 24px;}.contact-grid{grid-template-columns:1fr;gap:36px;}}

/* BLOG HERO */
.blog-hero{background:var(--black);padding:140px 48px 64px;text-align:center;}
.bh-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;}
.bh-tag::before{content:'';display:inline-block;width:24px;height:1px;background:var(--yellow);}
.bh-h1{font-family:'Cormorant Garant',serif;font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.01em;color:var(--white);margin-bottom:18px;}
.bh-h1 em{font-style:italic;color:var(--yellow);}
.bh-sub{font-size:16px;font-weight:300;line-height:1.7;color:var(--gray);max-width:520px;margin:0 auto;}
@media(max-width:900px){.blog-hero{padding:110px 24px 48px;}}

/* BLOG FILTER */
.filter-wrap{padding:24px 48px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);}
.filters{max-width:1280px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.fil{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border:1px solid rgba(255,255,255,.1);color:var(--gray);cursor:pointer;background:transparent;font-family:'DM Sans',sans-serif;transition:all .2s;}
.fil:hover,.fil.active{border-color:var(--yellow);color:var(--yellow);background:var(--yellow-dim);}
@media(max-width:900px){.filter-wrap{padding:20px 24px;}}

/* BLOG GRID */
.grid-wrap{max-width:1280px;margin:0 auto;padding:60px 48px;}
.grid-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:28px;display:flex;align-items:center;gap:12px;}
.grid-label::before{content:'';display:block;width:20px;height:1px;background:currentColor;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:1100px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.blog-grid{grid-template-columns:1fr;}.grid-wrap{padding:40px 24px;}}

/* BLOG CARD */
a.bc{display:flex;flex-direction:column;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);text-decoration:none;color:inherit;transition:border-color .2s,transform .3s,background .2s;overflow:hidden;}
a.bc:hover{border-color:rgba(240,192,64,.3);transform:translateY(-3px);background:rgba(255,255,255,.05);}
.bc-img{font-size:36px;padding:28px 24px 0;line-height:1;}
.bc-body{padding:16px 24px 24px;flex:1;display:flex;flex-direction:column;}
.bc-tag{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px;}
.bc-title{font-family:'Cormorant Garant',serif;font-size:19px;font-weight:600;line-height:1.3;color:var(--white);margin-bottom:10px;flex:1;}
.bc-ex{font-size:12.5px;font-weight:300;line-height:1.65;color:var(--gray);margin-bottom:14px;}
.bc-meta{display:flex;gap:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);}

/* FEATURED POST */
.featured-wrap{max-width:1280px;margin:0 auto;padding:0 48px 60px;}
a.featured{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.07);text-decoration:none;color:inherit;transition:border-color .2s;}
a.featured:hover{border-color:rgba(240,192,64,.3);}
.feat-left{padding:48px;background:rgba(255,255,255,.02);}
.feat-right{padding:48px;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;justify-content:center;}
.feat-cat{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.feat-h2{font-family:'Cormorant Garant',serif;font-size:clamp(22px,2.5vw,34px);font-weight:600;line-height:1.25;color:var(--white);margin-bottom:14px;}
.feat-ex{font-size:14px;font-weight:300;line-height:1.7;color:var(--gray);margin-bottom:20px;}
.feat-meta{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);}
@media(max-width:900px){a.featured{grid-template-columns:1fr;}.feat-right{border-left:none;border-top:1px solid rgba(255,255,255,.07);}.featured-wrap{padding:0 24px 40px;}}

/* ARTICLE LAYOUT */
.art-layout{max-width:1280px;margin:0 auto;padding:60px 48px;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start;}
.art-main{min-width:0;}
.art-header{margin-bottom:40px;}
.art-bc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.art-bc a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.art-bc a:hover{color:var(--yellow);}
.art-bc span{font-size:11px;color:rgba(255,255,255,.25);}
.art-cat{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.art-h1{font-family:'Cormorant Garant',serif;font-size:clamp(32px,4vw,56px);font-weight:300;line-height:1.1;color:var(--white);margin-bottom:18px;}
.art-h1 em{font-style:italic;color:var(--yellow);}
.art-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--gray);font-weight:300;}
.art-meta .ye{color:var(--yellow);}
.art-body{font-size:15px;line-height:1.85;color:rgba(255,255,255,.8);font-weight:300;}
.art-body h2{font-family:'Cormorant Garant',serif;font-size:clamp(24px,2.8vw,36px);font-weight:300;line-height:1.15;color:var(--white);margin:52px 0 18px;}
.art-body h2 em{font-style:italic;color:var(--yellow);}
.art-body h3{font-size:18px;font-weight:500;color:var(--white);margin:36px 0 12px;}
.art-body p{margin-bottom:20px;}
.art-body ul,.art-body ol{padding-left:22px;margin-bottom:20px;}
.art-body li{margin-bottom:8px;line-height:1.75;}
.art-body strong{font-weight:500;color:var(--white);}
.art-body a{color:var(--yellow);text-decoration:underline;text-underline-offset:3px;}
.art-body blockquote{border-left:3px solid var(--yellow);padding:16px 24px;margin:28px 0;font-style:italic;color:var(--gray);}
.art-body table,.comp-table{width:100%;border-collapse:collapse;margin:28px 0;font-size:13px;}
.art-body th,.comp-table th{background:rgba(255,255,255,.06);padding:12px 16px;text-align:left;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);border:1px solid rgba(255,255,255,.08);}
.comp-table th{background:rgba(240,192,64,.12);color:var(--yellow);border-color:rgba(240,192,64,.15);}
.art-body td,.comp-table td{padding:12px 16px;border:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.75);}
.art-body tr:hover td,.comp-table tr:hover td{background:rgba(255,255,255,.02);}
@media(max-width:1100px){.art-layout{grid-template-columns:1fr;padding:40px 24px;}}

/* SIDEBAR */
.sidebar-sticky{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px;}
.sb-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);padding:24px;}
.sb-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.toc{display:flex;flex-direction:column;gap:8px;}
.toc a{font-size:13px;font-weight:300;color:var(--gray);text-decoration:none;line-height:1.5;padding:4px 12px;border-left:2px solid transparent;transition:color .2s,border-color .2s;}
.toc a:hover{color:var(--white);border-left-color:var(--yellow);}
.sb-cta{background:var(--yellow-dim);border:1px solid rgba(240,192,64,.2);padding:24px;}
.sb-cta h4{font-family:'Cormorant Garant',serif;font-size:20px;font-weight:600;color:var(--white);margin-bottom:8px;}
.sb-cta p{font-size:13px;font-weight:300;color:var(--gray);margin-bottom:16px;line-height:1.6;}

/* RELATED POSTS */
.related{margin-top:60px;padding-top:48px;border-top:1px solid rgba(255,255,255,.07);}
.rel-title{font-family:'Cormorant Garant',serif;font-size:28px;font-weight:300;color:var(--white);margin-bottom:24px;}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
a.rel-card{display:block;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);padding:24px;text-decoration:none;transition:border-color .2s,transform .2s;}
a.rel-card:hover{border-color:rgba(240,192,64,.3);transform:translateY(-2px);}
.rel-tag{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:10px;}
.rel-ttl{font-family:'Cormorant Garant',serif;font-size:16px;font-weight:600;color:var(--white);line-height:1.35;}
@media(max-width:900px){.rel-grid{grid-template-columns:1fr;}}

/* AUTHOR BOX */
.author-box{display:flex;align-items:flex-start;gap:20px;margin-top:48px;padding:28px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.a-name{font-size:14px;font-weight:500;color:var(--white);margin-bottom:6px;}
.a-bio{font-size:13px;font-weight:300;color:var(--gray);line-height:1.65;}

/* CASE STUDY HERO */
.cs-hero{background:var(--black);padding:140px 48px 80px;}
.cs-hero-inner{max-width:1280px;margin:0 auto;}
.cs-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.cs-breadcrumb a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);text-decoration:none;transition:color .2s;}
.cs-breadcrumb a:hover{color:var(--yellow);}
.cs-breadcrumb span{font-size:11px;color:rgba(255,255,255,.25);}
.cs-tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px;}
.cs-h1{font-family:'Cormorant Garant',serif;font-size:clamp(34px,4.5vw,62px);font-weight:300;line-height:1.08;letter-spacing:-.01em;color:var(--white);margin-bottom:28px;max-width:800px;}
.cs-h1 em{font-style:italic;color:var(--yellow);}
.cs-meta-row{display:flex;gap:0;flex-wrap:wrap;border:1px solid rgba(255,255,255,.07);}
.cs-meta-item{padding:18px 28px;border-right:1px solid rgba(255,255,255,.07);flex:1;min-width:160px;}
.cs-meta-item:last-child{border-right:none;}
.cs-meta-item small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:5px;}
.cs-meta-item span{font-size:13px;font-weight:400;color:var(--white);}
.cs-body{max-width:1280px;margin:0 auto;padding:60px 48px;}
@media(max-width:900px){.cs-hero{padding:110px 24px 60px;}.cs-meta-row{flex-direction:column;}.cs-meta-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}.cs-meta-item:last-child{border-bottom:none;}.cs-body{padding:40px 24px;}}

/* CASE STUDY TESTIMONIAL */
.cs-testimonial{background:var(--yellow-dim);border:1px solid rgba(240,192,64,.2);padding:40px 44px;margin:40px 0;position:relative;}
.cs-testimonial::before{content:'"';position:absolute;top:-12px;left:28px;font-family:'Cormorant Garant',serif;font-size:80px;color:var(--yellow);opacity:.2;line-height:1;}
.cs-quote{font-family:'Cormorant Garant',serif;font-size:22px;font-style:italic;font-weight:300;line-height:1.55;color:var(--white);margin-bottom:18px;}
.cs-cite{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);}
.cs-cite strong{color:var(--yellow);}
.case-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:6px;}
.case-pill{display:inline-block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;background:rgba(240,192,64,.12);color:var(--yellow);margin-right:6px;margin-bottom:6px;}

/* REVIEW PAGE */
.review-wrap{max-width:620px;margin:0 auto;padding:120px 48px 80px;text-align:center;}
.review-logo{height:52px;width:auto;object-fit:contain;margin:0 auto 32px;display:block;}
.review-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px;}
.review-h1{font-family:'Cormorant Garant',serif;font-size:clamp(36px,5vw,60px);font-weight:300;line-height:1.1;color:var(--white);margin-bottom:18px;}
.review-h1 em{font-style:italic;color:var(--yellow);}
.review-sub{font-size:15px;font-weight:300;line-height:1.75;color:var(--gray);max-width:440px;margin:0 auto 40px;}
.review-note{font-size:12px;font-weight:300;color:rgba(255,255,255,.3);margin-top:24px;}
.review-cards{display:flex;flex-direction:column;gap:14px;}
a.review-card{display:flex;align-items:flex-start;gap:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:22px 24px;text-decoration:none;text-align:left;transition:border-color .2s,background .2s;}
a.review-card:hover{border-color:rgba(240,192,64,.3);background:rgba(240,192,64,.04);}
.rc-icon{font-size:26px;line-height:1;flex-shrink:0;}
.rc-body{flex:1;}
.rc-name{font-size:14px;font-weight:500;color:var(--white);margin-bottom:5px;}
.rc-desc{font-size:13px;font-weight:300;color:var(--gray);line-height:1.55;}
.rc-arrow{font-size:18px;color:var(--yellow);align-self:center;flex-shrink:0;}
@media(max-width:600px){.review-wrap{padding:100px 24px 60px;}}

/* 404 PAGE */
.error-container{max-width:560px;margin:0 auto;padding:160px 48px 100px;text-align:center;}
.error-code{font-family:'Cormorant Garant',serif;font-size:clamp(80px,15vw,160px);font-weight:300;color:var(--yellow);opacity:.35;line-height:0.9;}
.error-title{font-family:'Cormorant Garant',serif;font-size:clamp(28px,4vw,48px);font-weight:300;color:var(--white);margin:20px 0 16px;line-height:1.1;}
.error-message{font-size:15px;font-weight:300;line-height:1.75;color:var(--gray);margin-bottom:36px;}
.error-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:600px){.error-container{padding:120px 24px 80px;}}

/* SITEMAP PAGE */
.sitemap-hero{background:var(--black);padding:140px 48px 72px;text-align:center;}
.sitemap-hero-inner{max-width:600px;margin:0 auto;}
.sitemap-h1{font-family:'Cormorant Garant',serif;font-size:clamp(44px,6vw,80px);font-weight:300;line-height:1.05;color:var(--white);}
.sitemap-h1 em,.ye{font-style:italic;color:var(--yellow);}
.sitemap-body{max-width:1280px;margin:0 auto;padding:60px 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
.smap-section h2{font-family:'Cormorant Garant',serif;font-size:20px;font-weight:600;color:var(--white);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07);}
.smap-links{display:flex;flex-direction:column;gap:10px;}
.smap-links a{font-size:13px;font-weight:300;color:var(--gray);text-decoration:none;padding-left:12px;border-left:2px solid transparent;transition:all .2s;}
.smap-links a:hover{color:var(--yellow);border-left-color:var(--yellow);}
@media(max-width:1100px){.sitemap-body{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.sitemap-body{grid-template-columns:1fr;padding:40px 24px;}.sitemap-hero{padding:110px 24px 56px;}}

/* FORM EXTRAS */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fgroup{display:flex;flex-direction:column;gap:7px;}
.fgroup label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);}
.fgroup input,.fgroup select,.fgroup textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--white);padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:300;outline:none;transition:border-color .2s;resize:none;appearance:none;}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:rgba(240,192,64,.5);}
.submit-btn{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--black);background:var(--yellow);padding:15px 32px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:box-shadow .2s;}
.submit-btn:hover{box-shadow:0 0 22px rgba(240,192,64,.4);}
.av{display:flex;align-items:center;gap:12px;}
.w{flex:1;}
@media(max-width:600px){.frow{grid-template-columns:1fr;}}

/* MISC */
.client-logo-fallback{font-family:'Cormorant Garant',serif;font-size:16px;font-weight:400;color:rgba(255,255,255,.4);letter-spacing:.06em;}
.ic-text{flex:1;}
.ic-text h4{font-size:14px;font-weight:500;color:var(--white);margin-bottom:6px;}
.ic-text p{font-size:13px;font-weight:300;color:var(--gray);line-height:1.6;margin:0;}
