/*
Theme Name: Nini
Theme URI: https://nini.ph/
Author: Nini
Description: Custom WordPress theme for nini.ph.
Version: 1.0.0
Text Domain: nini
*/

/* WordPress-specific additions; the reference site's compiled design CSS is enqueued first. */
.admin-bar .nini-nav { top: 32px; }
.nini-nav .navbar-collapse { justify-content: flex-end; }
.nini-footer .footer-logo { width:auto; max-width:100%; }
.hero .btn { flex-shrink:0; white-space:nowrap; }
.nini-nav.is-scrolled,
.nini-nav.menu-open { background: rgba(236,238,241,.94); backdrop-filter: blur(10px); }
.service-menu { position:relative; }
.service-menu-top { display:flex; align-items:center; }
.service-menu-toggle { width:28px; height:36px; display:grid; place-items:center; padding:0; margin-left:-.4rem; border:0; background:transparent; color:var(--steel); font-size:.65rem; transition:transform .2s; }
.service-submenu { position:absolute; z-index:10; top:calc(100% + .65rem); left:50%; width:320px; margin:0; padding:.55rem; list-style:none; border:1px solid var(--silver-200); border-radius:var(--r-md); background:rgba(255,255,255,.98); box-shadow:var(--shadow-md); opacity:0; visibility:hidden; transform:translate(-50%,-8px); transition:opacity .2s,transform .2s,visibility .2s; }
.service-submenu::before { content:""; position:absolute; left:0; right:0; top:-.7rem; height:.7rem; }
.service-submenu a { display:grid; grid-template-columns:34px 1fr; gap:.75rem; align-items:center; padding:.65rem .7rem; border-radius:10px; color:var(--charcoal); text-decoration:none; font-size:.9rem; }
.service-submenu a:hover,.service-submenu a:focus-visible { color:var(--ink); background:var(--silver-100); }
.service-submenu a i { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:var(--blue); background:rgba(61,109,179,.1); }
.service-menu:hover .service-submenu,.service-menu:focus-within .service-submenu,.service-menu.submenu-open .service-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.service-menu.submenu-open .service-menu-toggle { transform:rotate(180deg); }
.timeline > .tl-item {
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:1.6rem;
  align-items:start;
  padding:1.4rem 1.6rem 1.4rem 0;
  border-radius:var(--r-lg);
  transition:background .3s, transform .35s var(--ease);
}
.timeline > .tl-item:hover { background:var(--silver-50); transform:translateX(6px); }
.project-carousel { position:relative; }
.project-carousel-viewport { overflow:hidden; margin:0 -.75rem; touch-action:pan-y; }
.project-carousel-track { display:flex; transition:transform .6s var(--ease); will-change:transform; }
.project-carousel-slide { flex:0 0 33.333333%; min-width:0; padding:0 .75rem; }
.project-carousel-slide .project { height:100%; }
.project-carousel-dots { display:flex; justify-content:center; gap:.5rem; margin-top:2rem; }
.project-carousel-dots button { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.25); transition:width .3s var(--ease), background .3s; }
.project-carousel-dots button[aria-current="true"] { width:26px; background:var(--silver-100); }
.project-carousel .slide-arrow:disabled { opacity:.35; cursor:not-allowed; }
.service-card { display:flex; flex-direction:column; }
.service-link { display:inline-flex; align-items:center; align-self:flex-start; gap:.5rem; margin-top:auto; padding-top:1.5rem; color:var(--blue); font-weight:600; text-decoration:none; position:relative; z-index:1; }
.service-link i { font-size:.8rem; transition:transform .25s var(--ease); }
.service-link:hover { color:var(--ink); }
.service-link:hover i { transform:translateX(4px); }

/* Service index and detail pages */
.service-page-head,.service-detail-hero { position:relative; overflow:hidden; padding:12rem 0 6rem; background:linear-gradient(180deg,#fff,var(--silver-50)); }
.service-page-head::before,.service-detail-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(40rem 24rem at 5% 20%,rgba(61,109,179,.14),transparent 65%),radial-gradient(36rem 22rem at 95% 70%,rgba(127,209,185,.16),transparent 65%); }
.service-page-head>.container,.service-detail-hero>.container { position:relative; }
.crumbs { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-bottom:2.5rem; color:var(--steel); font-size:.85rem; }
.crumbs a { color:var(--steel); text-decoration:none; }
.crumbs a:hover { color:var(--blue); }
.crumbs i { color:var(--silver-300); font-size:.6rem; }
.service-page-title { max-width:13ch; font-size:clamp(2.7rem,6vw,5rem); font-weight:700; line-height:1.02; letter-spacing:-.04em; color:var(--ink); margin-bottom:1.3rem; }
.service-page-lead { max-width:44rem; color:var(--steel); font-size:1.2rem; line-height:1.7; margin-bottom:2rem; }
.service-index { padding-top:5rem; }
.service-index-card { display:flex; flex-direction:column; height:100%; min-height:340px; padding:2rem; border:1px solid var(--silver-200); border-radius:var(--r-lg); color:inherit; text-decoration:none; background:radial-gradient(18rem 14rem at 100% 0%,rgba(61,109,179,.12),transparent 70%),#fff; transition:transform .35s var(--ease),box-shadow .35s,border-color .35s; }
.service-index-card:hover { color:inherit; transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--silver-300); }
.service-index-card .service-num { align-self:flex-end; }
.service-index-card .service-icon { margin:-.2rem 0 1.5rem; }
.service-index-card h2 { font-size:1.45rem; margin-bottom:.75rem; }
.service-index-card p { color:var(--steel); line-height:1.65; }
.service-card-action { display:inline-flex; gap:.5rem; align-items:center; margin-top:auto; color:var(--blue); font-weight:600; }
.service-card-action i { font-size:.8rem; transition:transform .25s; }
.service-index-card:hover .service-card-action i { transform:translateX(4px); }
.service-hero-card { padding:2.2rem; border:1px solid var(--silver-200); border-radius:var(--r-lg); background:rgba(255,255,255,.78); box-shadow:var(--shadow-md); backdrop-filter:blur(8px); }
.service-hero-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:18px; color:var(--blue); font-size:1.5rem; background:linear-gradient(135deg,rgba(61,109,179,.16),rgba(127,209,185,.25)); margin-bottom:1.5rem; }
.service-hero-card p { color:var(--steel); font-size:1.05rem; line-height:1.75; }
.service-fixed { display:flex; gap:.7rem; align-items:flex-start; margin-top:1.5rem; padding-top:1.2rem; border-top:1px solid var(--silver-200); color:var(--charcoal); font-weight:500; }
.service-fixed i { color:#399477; margin-top:.2rem; }
.service-overview { border-bottom:1px solid var(--silver-200); }
.service-long-copy { max-width:52rem; }
.service-long-copy p { color:var(--steel); font-size:1.08rem; line-height:1.85; }
.service-long-copy p:last-child { margin-bottom:0; }
.service-solutions .section-head { max-width:760px; }
.solution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.solution-card { position:relative; padding:2rem; border:1px solid var(--silver-200); border-radius:var(--r-lg); background:#fff; }
.solution-card>span { display:inline-block; margin-bottom:2rem; color:var(--blue); font-family:var(--font-head); font-size:.8rem; font-weight:700; letter-spacing:.12em; }
.solution-card h3 { color:var(--ink); font-size:1.28rem; margin-bottom:.75rem; }
.solution-card p { color:var(--steel); line-height:1.7; margin:0; }
.deliverable-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.deliverable { display:flex; gap:.9rem; align-items:flex-start; padding:1.3rem; border:1px solid var(--silver-200); border-radius:var(--r-md); background:var(--silver-50); color:var(--charcoal); line-height:1.5; }
.deliverable i { display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:rgba(127,209,185,.2); color:#2f8f72; font-size:.7rem; }
.fit-list { list-style:none; padding:0; margin:2rem 0 0; display:grid; gap:1rem; }
.fit-list li { display:flex; align-items:flex-start; gap:1rem; padding:1.1rem 0; border-top:1px solid var(--silver-200); color:var(--charcoal); font-size:1.04rem; line-height:1.6; }
.fit-list li:last-child { border-bottom:1px solid var(--silver-200); }
.fit-list li>span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:10px; background:#fff; color:var(--blue); border:1px solid var(--silver-200); }
.service-process-card { padding:2rem; border-radius:var(--r-lg); background:var(--ink); color:var(--silver-100); box-shadow:var(--shadow-lg); }
.service-process-card .kicker { color:var(--mint); }
.service-process-card h2 { color:#fff; font-size:2rem; margin-bottom:1.8rem; }
.service-process-card ol { list-style:none; padding:0; margin:0; display:grid; gap:1.2rem; }
.service-process-card li { display:grid; grid-template-columns:42px 1fr; gap:1rem; }
.service-process-card li>span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:rgba(127,209,185,.13); color:var(--mint); font-family:var(--font-head); font-weight:700; }
.service-process-card strong { color:#fff; font-family:var(--font-head); }
.service-process-card p { color:var(--silver-500); line-height:1.55; margin:.25rem 0 0; }
.faq-list { border-top:1px solid var(--silver-200); }
.faq-list details { border-bottom:1px solid var(--silver-200); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.4rem 0; color:var(--ink); font-family:var(--font-head); font-size:1.08rem; font-weight:600; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary i { color:var(--blue); font-size:.8rem; transition:transform .25s; }
.faq-list details[open] summary i { transform:rotate(45deg); }
.faq-list details p { max-width:46rem; padding:0 2.5rem 1.5rem 0; color:var(--steel); line-height:1.75; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.choice-grid article { padding:1.8rem; border:1px solid var(--silver-200); border-radius:var(--r-md); background:var(--silver-50); }
.choice-grid article>i { display:grid; place-items:center; width:44px; height:44px; margin-bottom:1.2rem; border-radius:12px; color:var(--blue); background:#fff; border:1px solid var(--silver-200); }
.choice-grid h3 { font-size:1.2rem; color:var(--ink); }
.choice-grid p { color:var(--steel); line-height:1.7; margin:0; }
.choice-grid a { color:var(--blue); font-weight:600; }

/* Process page */
.process-page-hero { position:relative; overflow:hidden; padding:12rem 0 6rem; background:linear-gradient(180deg,#fff,var(--silver-50)); }
.process-page-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(42rem 26rem at 8% 20%,rgba(61,109,179,.15),transparent 65%),radial-gradient(38rem 24rem at 92% 80%,rgba(127,209,185,.17),transparent 65%); }
.process-page-hero>.container { position:relative; }
.process-page-title { max-width:14ch; margin:0 0 1.4rem; color:var(--ink); font-size:clamp(2.7rem,6vw,5rem); font-weight:700; line-height:1.02; letter-spacing:-.045em; }
.process-page-lead { max-width:48rem; margin:0; color:var(--steel); font-size:1.2rem; line-height:1.75; }
.process-page-hero .col-lg-4 { display:flex; justify-content:flex-end; padding-bottom:.35rem; }
.process-principle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.process-principle-grid article { padding:1.8rem; border:1px solid var(--silver-200); border-radius:var(--r-lg); background:rgba(255,255,255,.82); }
.process-principle-grid article>i { display:grid; place-items:center; width:48px; height:48px; margin-bottom:1.25rem; border-radius:14px; color:var(--blue); background:linear-gradient(135deg,rgba(61,109,179,.14),rgba(127,209,185,.24)); }
.process-principle-grid h2,.process-principle-grid h3 { margin-bottom:.65rem; color:var(--ink); font-size:1.22rem; }
.process-principle-grid p { margin:0; color:var(--steel); line-height:1.7; }
.process-stage-list { list-style:none; padding:0; margin:0; display:grid; gap:1.5rem; }
.process-stage { display:grid; grid-template-columns:110px minmax(0,1fr); border:1px solid var(--silver-200); border-radius:var(--r-lg); overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); }
.process-stage-side { display:flex; flex-direction:column; align-items:center; gap:1.25rem; padding:2rem 1rem; color:#fff; background:linear-gradient(160deg,var(--ink),#283342); }
.process-stage-side span { font-family:var(--font-head); font-size:2.5rem; font-weight:700; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.5); }
.process-stage-side i { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:var(--mint); background:rgba(127,209,185,.12); }
.process-stage-main { padding:2.1rem 2.2rem; }
.process-stage-main>h3 { margin-bottom:.55rem; color:var(--ink); font-size:1.65rem; }
.process-stage-summary { max-width:52rem; margin-bottom:1rem; color:var(--charcoal); font-size:1.06rem; font-weight:500; line-height:1.65; }
.process-stage-detail { max-width:60rem; margin-bottom:1.8rem; color:var(--steel); line-height:1.75; }
.process-responsibilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.process-responsibilities>div { padding:1.25rem; border:1px solid var(--silver-200); border-radius:var(--r-md); background:var(--silver-50); }
.process-responsibilities h4 { margin-bottom:.85rem; color:var(--ink); font-size:.95rem; }
.process-responsibilities ul { display:grid; gap:.65rem; list-style:none; padding:0; margin:0; }
.process-responsibilities li { display:flex; align-items:flex-start; gap:.65rem; color:var(--steel); font-size:.92rem; line-height:1.5; }
.process-responsibilities li i { width:18px; margin-top:.2rem; color:var(--blue); font-size:.7rem; text-align:center; }
.process-result { display:grid; grid-template-columns:110px 1fr; gap:1rem; margin:1.2rem 0 0; padding:1rem 1.15rem; border-radius:var(--r-md); color:var(--charcoal); background:rgba(127,209,185,.13); line-height:1.55; }
.process-result strong { color:#27765f; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.process-approval .section-title { color:#fff; }
.approval-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.approval-grid article { display:grid; grid-template-columns:40px 1fr; gap:1rem; padding:1.25rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-md); background:rgba(255,255,255,.04); }
.approval-grid article>span { display:grid; place-items:center; width:40px; height:40px; border-radius:11px; color:var(--mint); background:rgba(127,209,185,.12); font-family:var(--font-head); font-size:.82rem; font-weight:700; }
.approval-grid h3 { margin:0 0 .35rem; color:#fff; font-size:1rem; }
.approval-grid p { margin:0; color:var(--silver-500); font-size:.92rem; line-height:1.55; }

/* Portfolio, About and Contact pages */
.content-page-hero { position:relative; overflow:hidden; padding:12rem 0 6rem; background:linear-gradient(180deg,#fff,var(--silver-50)); }
.content-page-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(42rem 26rem at 8% 20%,rgba(61,109,179,.15),transparent 65%),radial-gradient(38rem 24rem at 92% 80%,rgba(127,209,185,.17),transparent 65%); }
.content-page-hero>.container { position:relative; }
.content-page-title { max-width:15ch; margin:0 0 1.4rem; color:var(--ink); font-size:clamp(2.7rem,6vw,5rem); font-weight:700; line-height:1.02; letter-spacing:-.045em; }
.content-page-lead { max-width:48rem; margin:0; color:var(--steel); font-size:1.2rem; line-height:1.75; }
.content-hero-action { display:flex; justify-content:flex-end; padding-bottom:.35rem; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
@media (max-width:991.98px) { .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.portfolio-case { overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-lg); background:rgba(255,255,255,.04); }
.portfolio-case:last-child:nth-child(odd) { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); }
.portfolio-case-image { display:block; overflow:hidden; aspect-ratio:16/10; background:#222a33; }
.portfolio-case:last-child:nth-child(odd) .portfolio-case-image { aspect-ratio:auto; min-height:420px; }
.portfolio-case-image img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s var(--ease); }
.portfolio-case-image:hover img { transform:scale(1.025); }
.portfolio-case-body { padding:1.7rem; }
.portfolio-case-body h2 { display:flex; justify-content:space-between; gap:1rem; margin:.7rem 0; color:#fff; font-size:1.35rem; }
.portfolio-case-body h2 a { color:var(--silver-500); font-size:.8rem; }
.portfolio-case-body h2 a:hover { color:#fff; }
.portfolio-case-body p { color:var(--silver-500); line-height:1.7; }
.portfolio-case-body ul { display:flex; flex-wrap:wrap; gap:.45rem; list-style:none; padding:0; margin:1.2rem 0 0; }
.portfolio-case-body li { padding:.35rem .65rem; border:1px solid rgba(255,255,255,.1); border-radius:999px; color:var(--silver-300); background:rgba(255,255,255,.04); font-size:.78rem; }
.about-stat-grid { display:grid; gap:1rem; }
.about-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.about-value-grid article { padding:1.7rem; border:1px solid var(--silver-200); border-radius:var(--r-md); background:#fff; }
.about-value-grid i { display:grid; place-items:center; width:44px; height:44px; margin-bottom:1.15rem; border-radius:12px; color:var(--blue); background:linear-gradient(135deg,rgba(61,109,179,.13),rgba(127,209,185,.22)); }
.about-value-grid h3 { color:var(--ink); font-size:1.12rem; }
.about-value-grid p { margin:0; color:var(--steel); line-height:1.7; }
.about-fit .section-title { color:#fff; }
.about-fit-list { display:grid; gap:1rem; list-style:none; padding:0; margin:0; }
.about-fit-list li { display:grid; grid-template-columns:40px 1fr; gap:1rem; padding:1.25rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-md); background:rgba(255,255,255,.04); }
.about-fit-list li>i { display:grid; place-items:center; width:40px; height:40px; border-radius:11px; color:var(--mint); background:rgba(127,209,185,.12); }
.about-fit-list span { color:var(--silver-500); line-height:1.55; }
.about-fit-list strong { display:block; margin-bottom:.25rem; color:#fff; }
.about-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.about-link-grid a { display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:1rem; padding:1.25rem; border:1px solid var(--silver-200); border-radius:var(--r-md); color:var(--steel); text-decoration:none; background:var(--silver-50); transition:transform .25s,box-shadow .25s; }
.about-link-grid a:hover { color:var(--steel); transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.about-link-grid a>i:first-child { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; color:var(--blue); background:#fff; border:1px solid var(--silver-200); }
.about-link-grid a>i:last-child { color:var(--blue); font-size:.8rem; }
.about-link-grid strong { display:block; margin-bottom:.2rem; color:var(--ink); }
.contact-page-hero { padding-bottom:4.5rem; }
.contact-page-form { border-top:0; }
.contact-page-form .section-title { color:#fff; }
.contact-prompt-list { display:grid; gap:.9rem; list-style:none; padding:0; margin:0 0 1.5rem; }
.contact-prompt-list li { display:grid; grid-template-columns:42px 1fr; gap:.9rem; align-items:start; }
.contact-prompt-list i { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--blue-soft); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }
.contact-prompt-list span { color:var(--silver-500); line-height:1.5; }
.contact-prompt-list strong { display:block; color:#fff; margin-bottom:.15rem; }
.related-services { padding:6rem 0; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.related-grid a { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:1rem; padding:1.2rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-md); color:var(--silver-100); text-decoration:none; background:rgba(255,255,255,.04); transition:background .25s,transform .25s; }
.related-grid a:hover { color:#fff; background:rgba(255,255,255,.08); transform:translateY(-3px); }
.related-grid a>i:first-child { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:rgba(61,109,179,.2); color:var(--blue-soft); }
.related-grid a>i:last-child { color:var(--silver-500); font-size:.8rem; }
.service-cta { padding:4.5rem 0; border-top:1px solid rgba(255,255,255,.08); }
.service-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.service-cta h2 { color:#fff; font-size:clamp(2rem,4vw,3rem); margin-bottom:.5rem; }
.service-cta p { color:var(--silver-500); margin:0; }
.project { overflow:hidden; border-radius:var(--r-lg); background:#232a32; border:1px solid rgba(255,255,255,.1); }
.project-body { padding:1.4rem; }
.project-type { color:var(--blue-soft); font-size:.76rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.project-body h3 { color:#fff; margin:.45rem 0; font-size:1.25rem; }
.project-body p { color:var(--silver-500); line-height:1.55; margin:0; }
.form-opt { color:#68717c; font-weight:400; }
.hp { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.form-error { color:#ffb0b0; font-size:.82rem; margin:.4rem 0 0; }
.consent { display:flex; align-items:flex-start; gap:.7rem; color:var(--silver-500); font-size:.9rem; line-height:1.5; cursor:pointer; }
.consent input { margin-top:.25rem; accent-color:var(--blue-hi); }
.consent a { color:var(--silver-100); }
.contact-form[aria-busy="true"] { opacity:.72; pointer-events:none; }
.success-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; color:#153f33; background:var(--mint); margin-bottom:1.2rem; }
.success-steps { list-style:none; padding:0; margin:1rem 0 1.5rem; display:grid; gap:.85rem; }
.success-steps li { display:flex; gap:.75rem; color:var(--silver-100); }
.success-steps span { flex:0 0 26px; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:rgba(127,209,185,.16); color:var(--mint); font-weight:600; }
.privacy-page { min-height:70vh; padding:12rem 0 6rem; }
.privacy-copy { max-width:800px; }
.privacy-copy h1 { font-size:clamp(2.5rem,6vw,4rem); margin-bottom:1rem; }
.privacy-copy h2 { margin-top:2.4rem; font-size:1.45rem; }
.privacy-copy p,.privacy-copy li { color:var(--steel); line-height:1.75; }
.privacy-copy a { color:var(--blue); }
.no-js .reveal-hidden { opacity:1; }
@media (max-width:991.98px) {
  .project-carousel-slide { flex-basis:50%; }
  .nini-logo-img { height:70px; }
  .nini-nav .container { flex-wrap:wrap; }
  .nini-nav .navbar-toggler { display:block!important; margin-left:auto; position:relative; z-index:2; }
  .nini-nav .navbar-collapse { flex-basis:100%; }
  .service-menu-top { justify-content:space-between; }
  .service-menu-toggle { margin-left:0; width:44px; }
  .service-submenu { position:static; width:auto; padding:.35rem 0 .35rem 1rem; border:0; border-left:1px solid var(--silver-300); border-radius:0; background:transparent; box-shadow:none; display:none; opacity:1; visibility:visible; transform:none; }
  .service-menu:hover .service-submenu,.service-menu:focus-within .service-submenu { display:none; transform:none; }
  .service-menu.submenu-open .service-submenu { display:block; transform:none; }
  .service-submenu a { padding:.5rem; }
  .related-grid { grid-template-columns:1fr; }
  .solution-grid { grid-template-columns:1fr; }
  .process-page-hero .col-lg-4 { justify-content:flex-start; }
  .process-principle-grid { grid-template-columns:1fr; }
  .content-hero-action { justify-content:flex-start; }
  .about-value-grid,.about-link-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
  .project-carousel-slide { flex-basis:100%; }
  .project-carousel .slide-arrow { display:none; }
  .admin-bar .nini-nav { top:46px; }
  .service-page-head,.service-detail-hero { padding:9rem 0 4rem; }
  .deliverable-grid { grid-template-columns:1fr; }
  .service-cta-inner { align-items:flex-start; flex-direction:column; }
  .choice-grid { grid-template-columns:1fr; }
  .process-page-hero { padding:9rem 0 4rem; }
  .process-stage { grid-template-columns:1fr; }
  .process-stage-side { flex-direction:row; justify-content:space-between; padding:1.2rem 1.4rem; }
  .process-stage-main { padding:1.5rem; }
  .process-responsibilities,.approval-grid { grid-template-columns:1fr; }
  .process-result { grid-template-columns:1fr; gap:.35rem; }
  .content-page-hero { padding:9rem 0 4rem; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-case:last-child:nth-child(odd) { grid-column:auto; display:block; }
  .portfolio-case:last-child:nth-child(odd) .portfolio-case-image { aspect-ratio:16/10; min-height:0; }
}
@media (max-width:575.98px) {
  .contact-form { padding:1.3rem; }
  .hero .row.g-5,
  .section .row.g-5 { --bs-gutter-x:1.5rem; --bs-gutter-y:3rem; }
  .timeline > .tl-item { grid-template-columns:44px 1fr; gap:1rem; padding-right:.5rem; }
  .timeline > .tl-item:hover { transform:none; }
}

/* Contact Form 7 keeps Nini's visual system while owning validation and mail. */
.nini-cf7-form .wpcf7-form-control-wrap { display:block; }
.nini-cf7-form .wpcf7-not-valid { border-color:#e07b7b; box-shadow:0 0 0 .2rem #e07b7b33; }
.nini-cf7-form .wpcf7-not-valid-tip { display:block; margin:.4rem 0 0; color:#f0a0a0; font-size:.82rem; }
.nini-cf7-form .consent .wpcf7-form-control-wrap,
.nini-cf7-form .consent .wpcf7-acceptance,
.nini-cf7-form .consent .wpcf7-list-item,
.nini-cf7-form .consent label { display:block; margin:0; }
.nini-cf7-form .consent label { display:flex; align-items:flex-start; gap:.7rem; }
.nini-cf7-form .consent .wpcf7-list-item-label { color:var(--silver-500); }
.wpcf7 form .wpcf7-response-output { margin:1rem 0 0; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.16); border-radius:var(--r-sm); color:var(--silver-100); }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output { border-color:#e07b7b; color:#f0a0a0; }
.wpcf7 form.sent .wpcf7-response-output { border-color:var(--mint); color:var(--mint); }
.wpcf7-spinner { vertical-align:middle; }
.footer-contact{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.footer-socials{display:flex;gap:.55rem}.footer-socials a{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px}.footer-socials a:hover{background:var(--silver-100);color:var(--ink)}

/* Thank-you page */
.thank-you-hero .success-icon { margin-bottom: 1.2rem; }
.next-steps-light { background:#fff; border:1px solid var(--silver-200); }
.next-steps-light li, .next-steps-light .small { color: var(--charcoal); }
.next-steps-light .small { margin-top: 1rem; color: var(--steel); }
.next-steps-light .small a { color: var(--blue); }
