:root{--bg:#f8f9fa;--paper:#fff;--ink:#202124;--muted:#686f78;--line:#e8e8e8;--soft:#f1f2f4;--radius:18px}
*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}a:hover{color:#000}.navbar{backdrop-filter:blur(14px);background:rgba(255,255,255,.88)!important}.brand-lockup{display:flex;flex-direction:column;line-height:1.05}.brand-lockup span{font-weight:700;letter-spacing:-.03em}.brand-lockup small{font-size:.7rem;color:var(--muted);font-weight:400}.nav-link{color:var(--muted);font-size:.95rem;margin-left:.4rem}.nav-link.active,.nav-link:hover{color:var(--ink)}.page-shell{min-height:72vh}
.hero-section{padding:112px 0 72px;position:relative;overflow:hidden}.hero-animated:before{content:"";position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;background:radial-gradient(circle,rgba(20,20,20,.08),transparent 68%);animation:drift 9s ease-in-out infinite}.hero-section h1,.content-section h1,.project-hero h1,.article-page h1,.album-hero h1{font-size:clamp(3rem,8vw,6.8rem);letter-spacing:-.075em;line-height:.92;font-weight:700}h2{letter-spacing:-.045em;font-weight:650;line-height:1.05}h3{letter-spacing:-.02em}.lead{max-width:760px;color:var(--muted);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.65;margin-top:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--muted);margin-bottom:1rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.btn{border-radius:999px;padding:.72rem 1.1rem;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{box-shadow:0 12px 30px rgba(20,20,20,.08)}
.identity-card,.side-panel,.project-info,.service-card,.partner-card,.testimonial-card,.work-card,.admin-form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem}.identity-card span,.project-info span,.quiet-grid span{display:block;color:var(--muted);font-size:.86rem;margin-bottom:.2rem}.identity-card strong{display:block;font-size:1.45rem;letter-spacing:-.04em}.identity-card p{color:var(--muted);margin:.8rem 0 0}.floating-card{animation:floaty 5s ease-in-out infinite}.content-section,.article-page,.album-hero{padding:72px 0}.muted-section{background:var(--paper);border-block:1px solid var(--line)}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading p,.content-section p,.news-card p,.service-card p,.partner-card p{color:var(--muted);line-height:1.75}.narrow{max-width:850px}
.stats-strip{padding:0 0 32px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stats-grid div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}.stats-grid strong{display:block;font-size:1.55rem;letter-spacing:-.04em}.stats-grid span{color:var(--muted);font-size:.9rem}
.featured-work-layout{display:grid;grid-template-columns:2fr .9fr;gap:1.25rem}.featured-project-card{display:grid;grid-template-columns:1.15fr .85fr;background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden;min-height:420px;transition:.25s ease}.featured-project-card:hover{box-shadow:0 24px 70px rgba(20,20,20,.08);transform:translateY(-4px)}.featured-image{background:var(--soft);overflow:hidden}.featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.featured-project-card:hover .featured-image img{transform:scale(1.035)}.featured-copy{padding:2rem;display:flex;flex-direction:column;justify-content:center}.featured-copy h3{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.06em;line-height:.95}.text-link{display:inline-block;margin-top:1.4rem;color:#111;font-weight:650}.featured-side-list{display:grid;gap:1rem}.side-project{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;transition:.2s ease}.side-project:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,20,20,.06)}.side-project span{font-size:.8rem;color:var(--muted)}.side-project strong{display:block;margin:.45rem 0;font-size:1.15rem}.side-project small{display:block;color:var(--muted);line-height:1.55}
.branding-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.brand-card{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:1.25rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;transition:.2s ease}.brand-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,20,20,.06)}.brand-card img{width:100%;border-radius:14px;border:1px solid var(--line)}
.project-card,.news-card,.video-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.project-card:hover,.news-card:hover,.partner-card:hover,.video-card:hover,.media-card:hover,.album-image-card:hover,.lift-card:hover{transform:translateY(-3px);border-color:#d8d8d8;box-shadow:0 16px 40px rgba(20,20,20,.06)}.project-image,.news-image{display:block;background:var(--soft);aspect-ratio:16/10;overflow:hidden}.project-image img,.news-image img,.media-card img,.project-cover,.article-cover,.album-image-card img{width:100%;height:100%;object-fit:cover}.project-body,.news-body{padding:1.1rem}.project-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.82rem;margin-bottom:.8rem}.project-body h3,.news-body h3,.service-card h3,.partner-card h3,.video-card h3,.work-card h3{font-size:1.22rem;margin-bottom:.55rem}.stack-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.stack-list span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.32rem .65rem;font-size:.78rem;color:#555b62}.stack-list.large span{font-size:.9rem}
.work-with-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.work-card{position:relative;overflow:hidden;transition:.2s ease}.work-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,20,20,.06)}.work-card span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:1.4rem}.cta-panel{margin-top:1.25rem;background:#111;color:#fff;border-radius:28px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.cta-panel p{color:rgba(255,255,255,.68);margin:0}.cta-panel .btn{background:#fff;color:#111;border-color:#fff}
.upgraded-testimonial{position:relative;overflow:hidden}.testimonial-top{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.avatar{width:44px;height:44px;border-radius:999px;background:var(--soft);display:grid;place-items:center;font-weight:700}.testimonial-top small{display:block;color:var(--muted)}.upgraded-testimonial footer{color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);padding-top:1rem}
.filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.filter-panel label{display:block;color:var(--muted);font-size:.86rem;margin-bottom:.35rem}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.media-card,.album-image-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.media-open-link,.media-lightbox-btn,.video-thumb{border:0;padding:0;background:transparent;width:100%;display:block;cursor:pointer;text-align:left}.media-lightbox-btn{cursor:zoom-in}.media-card img{aspect-ratio:16/11;display:block;transition:transform .25s ease}.media-open-link:hover img,.media-lightbox-btn:hover img{transform:scale(1.025)}.media-card div,.video-card div:not(.video-embed),.album-image-card div{padding:1rem}.media-card span,.video-card span{color:var(--muted);font-size:.82rem}.media-card h3,.video-card h3,.album-image-card h3{font-size:1.1rem;margin-top:.35rem}.inline-title-btn{border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:left}
.album-cover{position:relative;overflow:hidden}.album-badge{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:.4rem .7rem;color:#111!important;font-size:.8rem!important}.album-overlay{position:absolute;inset:auto 14px 14px 14px;background:rgba(17,17,17,.88);color:#fff!important;border-radius:999px;padding:.55rem .8rem;text-align:center;opacity:0;transform:translateY(8px);transition:.2s ease}.album-cover:hover .album-overlay{opacity:1;transform:translateY(0)}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.album-image-card img{aspect-ratio:16/11}.album-image-card p{color:var(--muted);line-height:1.65}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.video-thumb{position:relative;overflow:hidden}.video-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:.25s ease}.video-thumb:hover img{transform:scale(1.03);filter:brightness(.82)}.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:999px;background:rgba(255,255,255,.92);display:grid;place-items:center;color:#111;font-size:1.2rem;padding-left:.2rem}.duration-badge{position:absolute;right:12px;bottom:12px;background:rgba(17,17,17,.85);color:#fff!important;border-radius:999px;padding:.35rem .65rem;font-size:.78rem!important}.video-card p{color:var(--muted);line-height:1.7}
.lightbox,.video-modal{position:fixed;inset:0;background:rgba(10,10,10,.82);z-index:9999;display:none;align-items:center;justify-content:center;padding:2rem}.lightbox.open,.video-modal.open{display:flex}.lightbox img{max-width:min(1100px,92vw);max-height:78vh;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.35);background:#fff}.lightbox-close,.video-close{position:absolute;top:22px;right:28px;border:0;background:#fff;color:#111;width:44px;height:44px;border-radius:999px;font-size:28px;line-height:1}.lightbox-caption{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);background:rgba(255,255,255,.94);border-radius:999px;padding:.7rem 1rem;max-width:min(900px,90vw);display:flex;gap:.7rem;align-items:center}.lightbox-caption span{color:var(--muted)}.video-modal-inner{width:min(1100px,92vw);aspect-ratio:16/9;background:#000;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.4)}.video-modal iframe{width:100%;height:100%;border:0}
.worked-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.worked-grid div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}.worked-grid strong{display:block;margin-bottom:.5rem}.worked-grid span{display:block;color:var(--muted);line-height:1.65}.partner-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.partner-logo,.partner-card{transition:.2s ease}.partner-logo img,.partner-card img{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff}.partner-card span{display:block;color:var(--muted);font-size:.86rem;margin-bottom:.8rem}.testimonial-card{height:100%;margin:0}.testimonial-card p{font-size:1.02rem;color:#3f444a}
.project-hero{padding:64px 0 32px}.back-link{display:inline-block;color:var(--muted);margin-bottom:2rem}.project-info{display:grid;gap:1rem}.project-info strong{font-size:1rem}.project-cover,.article-cover{margin-top:3rem;border-radius:26px;border:1px solid var(--line);max-height:560px}.clean-list{padding-left:1.1rem;color:var(--muted);line-height:1.8}.article-content{margin-top:2.5rem;font-size:1.06rem;line-height:1.85;color:#3f444a}.quiet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.quiet-grid div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.contact-form{display:grid;gap:1rem;margin-top:2rem}.form-control{border-radius:12px;border-color:var(--line);padding:.8rem .9rem;width:100%}.code-editor{min-height:520px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.site-footer{padding:2rem 0;background:var(--paper);color:var(--muted)}.footer-brand-grid{display:grid;grid-template-columns:1fr auto auto;gap:1.5rem;align-items:center}.footer-brand-grid p{margin:.25rem 0 0}.mini-brand-row,.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.mini-brand-row a,.footer-links a{color:var(--muted)}
.reveal{opacity:1;transform:none}.js-enabled .reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}.js-enabled .reveal.visible{opacity:1;transform:translateY(0)}
.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 73px)}.admin-sidebar{background:#111;color:#fff;padding:1rem;position:sticky;top:73px;height:calc(100vh - 73px);overflow:auto}.admin-sidebar-title{font-weight:700;margin:0 0 1rem}.admin-sidebar a{display:block;color:rgba(255,255,255,.72);padding:.65rem .75rem;border-radius:12px;margin-bottom:.25rem}.admin-sidebar a.active,.admin-sidebar a:hover{background:rgba(255,255,255,.1);color:#fff}.admin-main{padding:2rem;min-width:0}.admin-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.admin-top h1{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.07em}.admin-list{display:grid;gap:.75rem}.admin-list-item{display:flex;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.admin-list-item span{display:block;color:var(--muted);font-size:.86rem}.admin-repeat{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.5rem;margin-bottom:.5rem}.upload-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.upload-grid div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.75rem}.upload-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background:#f4f4f4}.upload-grid code{display:block;margin-top:.5rem;white-space:normal}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,-20px)}}
@media(max-width:991px){.media-grid,.quiet-grid,.stats-grid,.worked-grid,.partner-logo-grid,.video-grid,.filter-panel,.album-grid,.featured-work-layout,.featured-project-card,.branding-grid,.work-with-grid,.footer-brand-grid,.admin-shell,.upload-grid{grid-template-columns:1fr}.hero-section{padding-top:72px}.nav-link{margin-left:0}.lightbox-caption{border-radius:18px;display:block}.lightbox-caption span{display:block;margin-top:.25rem}.brand-card{grid-template-columns:1fr}.cta-panel{display:block}.cta-panel .btn{margin-top:1rem}.admin-sidebar{position:relative;top:auto;height:auto}.admin-main{padding:1rem}.admin-list-item{flex-direction:column}.admin-repeat{grid-template-columns:1fr}}



/* Admin UI polish */
.admin-shell-v2 {
  background:
    radial-gradient(circle at top right, rgba(17,17,17,.045), transparent 30%),
    var(--bg);
}

.admin-sidebar {
  border-right: 1px solid rgba(255,255,255,.08);
}

.admin-sidebar-title {
  font-size: 1.05rem;
  letter-spacing: -.02em;
  padding: .45rem .55rem 1rem;
}

.admin-sidebar a {
  font-size: .94rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-main {
  max-width: 1680px;
}

.admin-top-v2 {
  background: rgba(255,255,255,.72);
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 1.25rem 1.35rem;
  backdrop-filter: blur(16px);
}

.admin-actions {
  display: flex;
  gap: .75rem;
  align-items: center;
}

.dev-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #111;
  color: #fff;
  padding: .52rem .85rem;
  font-size: .78rem;
}

.admin-form-card {
  padding: 1.65rem;
  border-radius: 26px;
  box-shadow: 0 18px 55px rgba(20,20,20,.04);
}

.admin-form-card label {
  width: 100%;
  color: #25282d;
  font-size: .92rem;
}

.admin-form-card .form-control,
.admin-form-card .form-select {
  margin-top: .35rem;
  min-height: 48px;
  background: #fbfbfc;
}

.admin-form-card textarea.form-control {
  min-height: 120px;
}

.admin-list-item {
  align-items: center;
  border-radius: 18px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.admin-list-item:hover {
  transform: translateY(-2px);
  border-color: #d9d9d9;
  box-shadow: 0 14px 35px rgba(20,20,20,.05);
}

.admin-hero-card {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 1.6rem;
  box-shadow: 0 18px 55px rgba(20,20,20,.045);
}

.admin-hero-card h2 {
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin-bottom: .45rem;
}

.admin-hero-card p {
  color: var(--muted);
  margin: 0;
}

.analytics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.analytics-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: 0 16px 45px rgba(20,20,20,.04);
}

.analytics-card span {
  color: var(--muted);
  font-size: .88rem;
}

.analytics-card strong {
  display: block;
  font-size: 2.4rem;
  letter-spacing: -.06em;
  margin: .35rem 0;
}

.analytics-card small {
  color: var(--muted);
}

.admin-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.admin-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 1.25rem;
  box-shadow: 0 16px 45px rgba(20,20,20,.04);
}

.admin-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

.admin-panel-head h3 {
  margin: 0;
}

.admin-panel-head span {
  color: var(--muted);
  font-size: .88rem;
}

.admin-table-list {
  display: grid;
  gap: .7rem;
}

.admin-table-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: .9rem 1rem;
  background: #fbfbfc;
}

.admin-table-row strong {
  display: block;
  overflow-wrap: anywhere;
}

.admin-table-row span,
.admin-table-row small {
  color: var(--muted);
  font-size: .84rem;
  overflow-wrap: anywhere;
}

.admin-table-row b {
  font-size: 1.25rem;
}

@media(max-width: 991px) {
  .admin-top-v2,
  .admin-hero-card,
  .admin-table-row {
    display: block;
  }

  .admin-actions {
    margin-top: 1rem;
  }

  .analytics-grid,
  .admin-two-col {
    grid-template-columns: 1fr;
  }
}



/* TinyMCE integration */
.tinymce-disabled .tinymce-editor {
  min-height: 360px;
}

.tox-tinymce {
  border-radius: 16px !important;
  border-color: var(--line) !important;
  overflow: hidden;
}

.tox .tox-toolbar,
.tox .tox-toolbar__overflow,
.tox .tox-toolbar__primary {
  background: #fbfbfc !important;
}

.tox .tox-edit-area__iframe {
  background: #fff !important;
}



/* Album image upload rows */
.album-image-repeat {
  align-items: start;
}

.album-image-repeat input[type="file"] {
  padding: .65rem .75rem;
  min-height: auto;
}



/* Next-level polish */
html {
  scroll-behavior: smooth;
}

.project-card,
.news-card,
.media-card,
.video-card,
.partner-card,
.work-card,
.service-card,
.admin-panel,
.admin-form-card {
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    opacity .22s ease;
}

.project-card:hover,
.news-card:hover,
.media-card:hover,
.video-card:hover,
.partner-card:hover,
.work-card:hover,
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(20,20,20,.08);
}

.media-library-card {
  display: grid;
  gap: .65rem;
}

.media-library-card code {
  color: #e83e8c;
}

.lead-item {
  align-items: flex-start;
}

.lead-actions {
  min-width: 180px;
  display: grid;
  gap: .65rem;
}

.upload-grid img {
  background: #f3f4f6;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}



/* Case study and relationship upgrades */
.case-study-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.case-study-block {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 1.35rem;
  box-shadow: 0 16px 45px rgba(20,20,20,.035);
}

.download-list {
  display: grid;
  gap: .85rem;
}

.download-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 1rem 1.1rem;
  transition: transform .2s ease, box-shadow .2s ease;
}

.download-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(20,20,20,.065);
}

.download-card span {
  display: block;
  color: var(--muted);
  font-size: .9rem;
}

.testimonial-carousel .carousel-control-prev,
.testimonial-carousel .carousel-control-next {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #111;
  top: -72px;
}

.testimonial-carousel .carousel-control-prev {
  left: auto;
  right: 56px;
}

.testimonial-carousel .carousel-control-next {
  right: 0;
}

.testimonial-logo {
  width: 100%;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 1rem;
}

.star-rating {
  color: #111;
  letter-spacing: .12em;
  margin-bottom: .65rem;
}

.verified-badge {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .28rem .58rem;
  font-size: .76rem;
  color: #2f6f46;
  background: #eef8f1;
  margin-bottom: .85rem;
}

@media(max-width: 991px) {
  .case-study-grid {
    grid-template-columns: 1fr;
  }

  .download-card {
    display: block;
  }
}



/* Media manager + drafts + analytics upgrades */
.media-manager-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.media-card-form {
  display: grid;
  gap: .55rem;
}

.media-card-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.media-library-card {
  align-content: start;
}

.media-library-card img {
  aspect-ratio: 16 / 11;
  object-fit: cover;
}

.admin-form-card textarea {
  font-family: inherit;
}

canvas {
  max-width: 100%;
}

.preview-badge {
  display: inline-flex;
  border-radius: 999px;
  padding: .3rem .65rem;
  background: #fff6db;
  border: 1px solid #f1d48a;
  color: #7a5600;
  font-size: .8rem;
}



/* Google Ads compatibility */
.ad-wrapper,
.ad-placeholder {
  max-width: 1120px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.ad-wrapper ins.adsbygoogle {
  min-height: 90px;
}

.ad-placeholder {
  border: 1px dashed var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.75);
  text-align: center;
  color: var(--muted);
}

.ad-placeholder span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
}

.ad-placeholder strong {
  display: block;
  color: var(--ink);
  margin: .25rem 0;
}

.ads-consent-banner {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%) translateY(20px);
  width: min(920px, calc(100vw - 32px));
  z-index: 99999;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(20,20,20,.16);
  padding: 1rem;
  display: none;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.ads-consent-banner.show {
  display: flex;
  transform: translateX(-50%) translateY(0);
}

.ads-consent-banner p {
  margin: .25rem 0 0;
  color: var(--muted);
}

.ads-consent-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

@media(max-width: 768px) {
  .ads-consent-banner.show {
    display: block;
  }

  .ads-consent-actions {
    margin-top: 1rem;
  }
}



/* Public pages listing */
.page-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
}

.page-list-card {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 24px;
  background: #fff;
  padding: 1.35rem;
  box-shadow: 0 16px 45px rgba(20,20,20,.035);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.page-list-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(20,20,20,.08);
  border-color: rgba(17,17,17,.16);
}

.page-list-card span {
  display: block;
  color: var(--muted, #6b7280);
  font-size: .84rem;
  margin-bottom: .75rem;
}

.page-list-card h3 a {
  color: inherit;
  text-decoration: none;
}

.page-list-card p {
  color: var(--muted, #6b7280);
}

.page-thumb {
  display: block;
  margin: -1.35rem -1.35rem 1rem;
  border-radius: 24px 24px 0 0;
  overflow: hidden;
  background: #f3f4f6;
}

.page-thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}

.page-list-card:hover .page-thumb img {
  transform: scale(1.035);
}

.page-header-image-section {
  padding: 2rem 0 0;
}

.custom-page-header-image {
  width: 100%;
  max-height: 460px;
  object-fit: cover;
  border-radius: 28px;
  border: 1px solid var(--line, #e5e7eb);
  box-shadow: 0 20px 60px rgba(20,20,20,.07);
}

/* Professional footer upgrade */
.company-footer {
  background: #f8f9fb;
  padding: 0;
}

.footer-cta {
  margin: 0 0 3rem;
  transform: translateY(-50%);
  background: #111;
  color: #fff;
  border-radius: 28px;
  padding: 1.6rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}

.footer-cta h2 {
  margin: 0 0 .35rem;
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.footer-cta p {
  margin: 0;
  color: rgba(255,255,255,.72);
}

.footer-main-grid {
  margin-top: -1.5rem;
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(130px, 1fr));
  gap: 2rem;
  padding-bottom: 2rem;
}

.footer-brand {
  display: grid;
  gap: .2rem;
  margin-bottom: 1rem;
}

.footer-brand strong {
  color: #111;
  font-size: 1.35rem;
}

.footer-brand span,
.footer-about p,
.footer-meta,
.footer-column a,
.footer-bottom {
  color: var(--muted, #6b7280);
}

.footer-about p {
  line-height: 1.8;
  max-width: 520px;
}

.footer-meta {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  font-size: .9rem;
}

.footer-column {
  display: grid;
  align-content: start;
  gap: .55rem;
}

.footer-column h3 {
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #111;
  margin-bottom: .35rem;
}

.footer-column a {
  font-size: .95rem;
  text-decoration: none;
}

.footer-column a:hover {
  color: #111;
}

.footer-bottom {
  border-top: 1px solid var(--line, #e5e7eb);
  padding: 1.25rem 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: .9rem;
}

/* Testimonial carousel upgrade */
.carousel-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
}

.carousel-nav-buttons {
  display: flex;
  gap: .65rem;
}

.testimonial-arrow {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid var(--line, #e5e7eb);
  background: #fff;
  color: #111;
  font-size: 2rem;
  line-height: 1;
  display: inline-grid;
  place-items: center;
  transition: transform .18s ease, background .18s ease;
}

.testimonial-arrow:hover {
  transform: translateY(-2px);
}

.testimonial-arrow.dark {
  background: #111;
  color: #fff;
}

.testimonial-carousel .carousel-inner {
  padding-bottom: 2.8rem;
}

.testimonial-indicators {
  margin-bottom: 0;
}

.testimonial-indicators [data-bs-target] {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #111;
}

@media(max-width: 1100px) {
  .footer-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 768px) {
  .footer-cta,
  .carousel-heading {
    display: block;
  }

  .footer-cta .btn,
  .carousel-nav-buttons {
    margin-top: 1rem;
  }

  .footer-main-grid {
    grid-template-columns: 1fr;
  }
}
