:root{--blue:#123a63;--orange:#f28c28;--gray:#5f6b76;--ink:#1f2933;--white:#fff;--soft:#f6f8fa;--green:#2e7d32;--line:#d7dde4;--danger:#a32121;--max:1200px;--radius:10px;--shadow:0 14px 34px rgba(18,58,99,.12);font-family:Inter,Arial,Aptos,"Segoe UI",sans-serif;color:var(--ink);background:var(--white)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65;overflow-wrap:break-word}a{color:var(--blue)}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:20}.site-header{position:sticky;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);z-index:10}.nav-wrap{max-width:var(--max);min-height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.85rem 1rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--blue);font-weight:800;flex:0 1 auto}.brand-mark{border:2px solid var(--blue);padding:.32rem .48rem;line-height:1.05;font-size:.84rem;letter-spacing:.015em;white-space:nowrap}.brand-mark span{display:block}.brand-tag{font-size:.9rem;line-height:1.3;max-width:12rem}.nav{display:flex;gap:clamp(.55rem,1.15vw,.95rem);align-items:center}.nav a{text-decoration:none;color:var(--ink);font-weight:700;font-size:1rem;white-space:nowrap}.nav a.active,.nav a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:.25rem}.menu-toggle{display:none;padding:.65rem .85rem;background:#fff;border:2px solid var(--blue);border-radius:var(--radius);font-weight:800;font-size:1rem}.hero,.page-hero{background:linear-gradient(135deg,var(--blue),#0e2947);color:#fff}.hero a:not(.btn),.page-hero a:not(.btn){color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;font-weight:700}.hero a:not(.btn):hover,.page-hero a:not(.btn):hover{background:rgba(255,255,255,.12)}.hero-inner,.section,.footer-inner,.breadcrumbs{max-width:var(--max);margin:auto;padding-left:1rem;padding-right:1rem}.hero-inner{padding-top:4.5rem;padding-bottom:4.5rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:2rem;align-items:center}.eyebrow{color:#ffb15c;font-weight:800;text-transform:uppercase;font-size:.9rem;line-height:1.5;letter-spacing:.035em;overflow-wrap:anywhere}.hero h1,.page-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.08;margin:.4rem 0 1rem}.page-hero h1{font-size:clamp(2rem,4vw,3.2rem)}.lead{font-size:1.16rem;max-width:800px}.btn{display:inline-block;padding:.78rem 1rem;border-radius:var(--radius);border:2px solid var(--blue);background:var(--blue);color:#fff;text-decoration:none;font-weight:800}.btn.secondary{background:#fff;color:var(--blue)}.btn.orange{background:var(--orange);border-color:var(--orange);color:#171717}.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.process-card{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:1rem;min-height:215px;height:auto;overflow:visible;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;background:#fff;color:var(--ink)}.process-card>div{min-width:0}.process-icon{width:52px;height:52px;flex:none;border-radius:50%;background:#eaf1f8;color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:1.25rem;border:2px solid #b7cadc}.process-card h3{margin:.1rem 0 .55rem;line-height:1.28;overflow-wrap:break-word}.process-card p{margin:0}.section{padding-top:3.2rem;padding-bottom:3.2rem}.section.alt{background:var(--soft);max-width:none}.section.alt>*{max-width:var(--max);margin-left:auto;margin-right:auto}.grid{display:grid;gap:1rem}.cards{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:stretch}.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;background:#fff;min-width:0}.card h2,.card h3{margin-top:.15rem;line-height:1.3}.status{display:inline-block;border-radius:999px;background:#eaf4ec;color:var(--green);font-weight:800;padding:.25rem .65rem;font-size:.84rem}.category{display:block;margin:.65rem 0 .25rem;color:var(--gray);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.section-intro{max-width:780px}.muted{color:var(--gray)}.breadcrumbs{font-size:.9rem;padding-top:1rem;padding-bottom:1rem}.footer-nav{display:flex;gap:.85rem;flex-wrap:wrap}.notice{border-left:4px solid var(--orange);background:#fff7ed;padding:.9rem}.legal-notice{border:2px solid var(--orange);background:#fff7ed;padding:1rem;border-radius:var(--radius);font-weight:700}.site-footer{background:var(--ink);color:#fff}.footer-inner{padding-top:2.5rem;padding-bottom:2.5rem}.site-footer a{color:#fff;text-decoration:underline;text-underline-offset:.2em}.site-footer a:hover{background:rgba(255,255,255,.12)}.section a[data-contact-email]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}.form{display:grid;gap:1rem;max-width:720px}.form label{font-weight:700}.form input,.form textarea{width:100%;padding:.78rem;border:1px solid var(--gray);border-radius:var(--radius);font:inherit}.form [aria-invalid=true]{border:2px solid var(--danger)}.field-error{display:block;color:var(--danger);font-weight:700;font-size:.9rem;min-height:1.4em}.form-message{font-weight:700}.faq-tools{display:grid;grid-template-columns:1fr 220px;gap:1rem;margin:1rem 0}.faq-tools input,.faq-tools select{padding:.75rem;border:1px solid var(--gray);border-radius:var(--radius);font:inherit}.faq-category{margin-top:2rem}.faq-item{margin:.7rem 0}.faq button{width:100%;text-align:left;background:#fff;border:1px solid var(--line);padding:.9rem;border-radius:var(--radius);font-weight:800;font-size:1rem}.faq button[aria-expanded=true]{border-color:var(--blue);border-radius:var(--radius) var(--radius) 0 0}.faq-panel{padding:1rem;border:1px solid var(--line);border-top:0}.faq-panel[hidden]{display:none}.fallback-faq{border-left:4px solid var(--blue);padding-left:1rem}.back-top{position:fixed;right:1rem;bottom:1rem;display:none}.back-top.show{display:block}
@media(max-width:1050px){.brand-tag{display:none}.nav{gap:.6rem}.nav a{font-size:.96rem}}
@media(max-width:900px){.nav-wrap{min-height:74px}.menu-toggle{display:inline-block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:1rem;flex-direction:column;align-items:stretch;gap:.2rem;max-height:calc(100vh - 74px);overflow:auto}.nav a{display:block;padding:.65rem .5rem;font-size:1.05rem;white-space:normal}.nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.process-card{min-height:0}}
@media(max-width:600px){.hero-inner{padding-top:3rem;padding-bottom:3rem}.process-grid,.faq-tools{grid-template-columns:1fr}.process-card{grid-template-columns:44px minmax(0,1fr);gap:.85rem;padding:1rem}.process-icon{width:44px;height:44px}.section{padding-top:2.5rem;padding-bottom:2.5rem}}
@media(max-width:360px){.brand-mark{font-size:.76rem}.nav-wrap{gap:.6rem}.menu-toggle{padding:.55rem .65rem}.process-card{grid-template-columns:1fr}.process-icon{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.back-top,.cta-row,.form,.faq-tools{display:none}.hero,.page-hero{background:#fff;color:#000}.section,.hero-inner,.footer-inner{padding:1rem}.card{break-inside:avoid}a{color:#000;text-decoration:none}}

.card{transition:border-color .18s ease,box-shadow .18s ease}.card:hover{border-color:#b7cadc;box-shadow:var(--shadow)}.project-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.project-card .project-body{display:flex;flex:1;flex-direction:column;padding:1.15rem}.project-media{aspect-ratio:16/9;background:#eaf1f8;border-bottom:1px solid var(--line);overflow:hidden}.project-media img{display:block;width:100%;height:100%;object-fit:cover}.project-card .status{align-self:flex-start;margin-bottom:.65rem}.project-card .category{margin:.15rem 0 .35rem}.project-card h3{margin:.15rem 0 .55rem}.project-card p{margin:.2rem 0 0}.project-card.is-compact .project-body{padding:1rem}.project-card.is-compact p{font-size:.96rem}.section-header{max-width:820px;margin-bottom:1.35rem}.section-header h2{margin:.25rem 0 .5rem}.insight-note{max-width:820px;border-left:4px solid var(--orange);background:#fff7ed;padding:1rem;margin:1.25rem 0 0}.faq-tools{align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:0 8px 24px rgba(18,58,99,.06)}.faq-tools label{display:grid;gap:.35rem;font-weight:800;color:var(--blue)}.faq-category{margin:2.25rem 0 .85rem;color:var(--blue);font-size:1.35rem}.faq-item{margin:1rem 0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 24px rgba(18,58,99,.06);overflow:hidden}.faq button{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:0;border-radius:0;padding:1.05rem 1.15rem;color:var(--ink);font-size:1.08rem;font-weight:650;line-height:1.48;letter-spacing:0}.faq button:hover{background:#f9fbfd;color:var(--blue)}.faq button::after{content:"+";flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:50%;display:grid;place-items:center;background:#eaf1f8;color:var(--blue);font-weight:900;line-height:1}.faq button[aria-expanded=true]{border:0;border-bottom:1px solid var(--line);background:#f9fbfd;color:var(--blue)}.faq button[aria-expanded=true]::after{content:"-"}.faq-panel{border:0;padding:1.1rem 1.15rem 1.25rem;font-size:1rem;line-height:1.62;color:var(--ink);background:#fff}.faq-panel p{margin:0}.faq-meta{display:block;margin-bottom:.45rem;color:var(--gray);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.fallback-faq{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius);background:#fff;padding:1.15rem;box-shadow:0 8px 24px rgba(18,58,99,.06)}.fallback-faq h3{font-size:1.08rem;font-weight:650;line-height:1.48;letter-spacing:0}.solution-grid .card,.service-grid .card{padding:1.25rem}.solution-grid .card h2,.service-grid .card h2{font-size:1.25rem}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}.project-card .project-body{padding:1rem}.faq button{font-size:1rem;line-height:1.5;padding:1rem}.faq-panel{padding:1rem}.faq-tools{padding:.9rem}.section-header{margin-bottom:1rem}}

/* Project card layout correction: keep media, body, and text inside one grid cell at all viewport widths and zoom levels. */
html,body{max-width:100%}
.section.alt>*{width:100%;padding-left:1rem;padding-right:1rem}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem;width:100%;max-width:100%;align-items:stretch;justify-items:stretch}
.project-grid>.project-card{max-width:100%;min-width:0}
.card:hover{transform:none}
.project-card{position:relative;display:flex;flex-direction:column;min-width:0;width:100%;height:100%;overflow:hidden;padding:0}
.project-card,.project-card *{max-width:100%}
.project-card__media,.project-media{display:block;width:100%;aspect-ratio:16/9;margin:0;background:#eaf1f8;border-bottom:1px solid var(--line);overflow:hidden;flex:0 0 auto}
.project-card__media img,.project-media img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.project-card__body,.project-body{position:static;display:flex;flex:1;flex-direction:column;gap:.45rem;padding:1.15rem;min-width:0}
.project-card .status{align-self:flex-start;margin-bottom:.2rem;max-width:100%;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.project-card .category{margin:0;color:var(--gray);overflow-wrap:anywhere}
.project-card h3{margin:.05rem 0 .1rem;line-height:1.3;overflow-wrap:anywhere}
.project-card p{margin:0;overflow-wrap:break-word}
.project-card.is-compact .project-card__body,.project-card.is-compact .project-body{padding:1rem}
@media(max-width:600px){.project-grid{grid-template-columns:1fr;gap:1.15rem}.project-card__body,.project-body{padding:1rem}.section.alt>*{padding-left:1rem;padding-right:1rem}}
@media(max-width:360px){.hero-inner,.section,.footer-inner,.breadcrumbs{padding-left:.5rem;padding-right:.5rem}.btn{max-width:100%;white-space:normal;text-align:center}.cta-row{align-items:stretch}.cta-row .btn{width:100%}}

/* Clickable project cards and detail modal. */
.project-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease}
.project-card:hover{border-color:#b7cadc;box-shadow:var(--shadow)}
.project-card__trigger{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden}
.project-card__trigger:hover .project-card__media img{transform:scale(1.025)}
.project-card__trigger:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.project-card__trigger .project-card__media img{transition:transform .2s ease}
.project-card__body{width:100%}
.project-modal[hidden]{display:none}
.project-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem}
.project-modal__overlay{position:absolute;inset:0;background:rgba(12,24,36,.68);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}
.project-modal__panel{position:relative;z-index:1;width:min(100%,980px);max-height:min(90vh,920px);overflow:auto;background:#fff;border-radius:var(--radius);box-shadow:0 28px 80px rgba(12,24,36,.32);transform:translateY(16px) scale(.98);opacity:0;transition:transform .22s ease,opacity .22s ease}
.project-modal.is-open .project-modal__overlay,.project-modal.is-open .project-modal__panel{opacity:1}
.project-modal.is-open .project-modal__panel{transform:translateY(0) scale(1)}
.project-modal[data-transition=slide-up] .project-modal__panel{transform:translateY(40px)}
.project-modal[data-transition=slide-up].is-open .project-modal__panel{transform:translateY(0)}
.project-modal[data-transition=soft-zoom] .project-modal__panel{transform:scale(.92)}
.project-modal[data-transition=soft-zoom].is-open .project-modal__panel{transform:scale(1)}
.project-modal__close{position:absolute;right:1rem;top:1rem;z-index:2;border:2px solid var(--blue);border-radius:var(--radius);background:#fff;color:var(--blue);font-weight:800;padding:.55rem .75rem}
.project-modal__media{width:100%;aspect-ratio:16/9;background:#eaf1f8;border-bottom:1px solid var(--line);overflow:hidden}
.project-modal__media img{display:block;width:100%;height:100%;object-fit:cover}
.project-modal__content{display:grid;gap:.8rem;padding:1.35rem}
.project-modal__content h2{margin:.1rem 0;line-height:1.2}
.project-modal__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin-top:.4rem}
.project-detail-block{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:#f9fbfd}
.project-detail-block h3{margin:.05rem 0 .45rem;font-size:1rem;color:var(--blue)}
.project-detail-block ul{margin:.25rem 0 0;padding-left:1.1rem}
.transition-picker{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:.2rem;padding-top:.85rem;border-top:1px solid var(--line)}
.transition-picker span{font-size:.86rem;font-weight:800;color:var(--gray);text-transform:uppercase;letter-spacing:.035em}
.transition-picker button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.42rem .7rem;font-weight:800;color:var(--blue)}
.transition-picker button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.video-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:stretch}
.video-card{display:flex;flex-direction:column;gap:.8rem}
.video-thumb{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);background:#eaf1f8;display:grid;place-items:center;overflow:hidden}
.video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.youtube-empty{max-width:760px}
body.modal-lock{overflow:hidden}
@media(max-width:600px){.project-modal{padding:.65rem}.project-modal__panel{max-height:92vh}.project-modal__content{padding:1rem}.project-modal__close{right:.7rem;top:.7rem}.transition-picker{align-items:stretch}.transition-picker button{flex:1 1 auto}}

/* Version 1.2.0 project detail, screenshot gallery, and YouTube gallery expansion. */
.project-modal__panel{transition-duration:.32s}
.project-modal__media{display:grid;place-items:center;aspect-ratio:16/9;background:#101820}
.project-modal__media img{object-fit:contain;touch-action:pan-y;cursor:zoom-in;transform-origin:center center;max-width:100%;max-height:100%}
.project-modal__media img.is-portrait{width:auto;height:100%;max-height:calc(90vh - 220px)}
.project-modal__media img.is-landscape{width:100%;height:auto}
.project-modal__media img.is-zoomed{cursor:grab}
.gallery-nav{position:absolute;top:34%;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--blue);font-size:2rem;font-weight:900;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.gallery-prev{left:1rem}.gallery-next{right:1rem}
.gallery-tools{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:#f9fbfd}
.gallery-tools button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font-weight:800;padding:.45rem .7rem}
.project-modal__description{margin:.15rem 0 .35rem}
.project-modal__thumbs{display:flex;gap:.65rem;overflow:auto;padding:.75rem 1.35rem;border-bottom:1px solid var(--line);background:#f9fbfd}
.project-modal__thumbs[hidden]{display:none}
.project-thumb{flex:0 0 96px;aspect-ratio:16/9;padding:0;border:2px solid transparent;border-radius:8px;background:#fff;overflow:hidden;cursor:pointer}
.project-thumb[aria-pressed=true]{border-color:var(--orange)}
.project-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.transition-preview-label{position:absolute;left:1rem;top:1rem;z-index:2;max-width:calc(100% - 7rem);padding:.42rem .65rem;border-radius:999px;background:rgba(18,58,99,.92);color:#fff;font-size:.82rem;font-weight:800}
.transition-preview-label[hidden]{display:none}
.project-modal[data-transition=slide-right] .project-modal__panel{transform:translateX(48px);transition-duration:.34s}
.project-modal[data-transition=slide-right].is-open .project-modal__panel{transform:translateX(0)}
.project-modal[data-transition=soft-flip] .project-modal__panel{transform:perspective(1200px) rotateX(8deg) scale(.96);transform-origin:center top;transition-duration:.38s}
.project-modal[data-transition=soft-flip].is-open .project-modal__panel{transform:perspective(1200px) rotateX(0) scale(1)}
.project-modal[data-transition=zoom-card] .project-modal__panel{transform:scale(.88);transition-duration:.3s}
.project-modal[data-transition=zoom-card].is-open .project-modal__panel{transform:scale(1)}
.project-modal[data-transition=blur-reveal] .project-modal__panel{filter:blur(8px);transform:translateY(14px);transition:transform .34s ease,opacity .34s ease,filter .34s ease}
.project-modal[data-transition=blur-reveal].is-open .project-modal__panel{filter:blur(0);transform:translateY(0)}
.project-modal[data-transition=rotate-scale] .project-modal__panel{transform:rotate(-2deg) scale(.94);transition-duration:.34s}
.project-modal[data-transition=rotate-scale].is-open .project-modal__panel{transform:rotate(0) scale(1)}
.project-modal[data-transition=vertical-reveal] .project-modal__panel{clip-path:inset(12% 0 12% 0);transform:translateY(18px);transition:clip-path .36s ease,transform .36s ease,opacity .28s ease}
.project-modal[data-transition=vertical-reveal].is-open .project-modal__panel{clip-path:inset(0 0 0 0);transform:translateY(0)}
.project-modal[data-transition=fade-bottom] .project-modal__panel{transform:translateY(28px);transition-duration:.28s}
.project-modal[data-transition=fade-bottom].is-open .project-modal__panel{transform:translateY(0)}
.accomplishment-grid{display:grid;gap:1rem}
.accomplishment-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.4fr) minmax(0,1.1fr);gap:1rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.accomplishment-row>*{min-width:0;overflow-wrap:anywhere}
.accomplishment-row.is-head{background:var(--blue);color:#fff;font-weight:800}
.accomplishment-row p{margin:0}
.accomplishment-label{display:none;color:var(--gray);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.filter-row{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0 1.3rem}
.filter-row button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font:inherit;font-weight:800;padding:.5rem .75rem}
.filter-row button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.youtube-section-title{margin-top:2rem}
.youtube-channel-cta{margin-top:1.25rem}
.video-card .btn{align-self:flex-start;margin-top:auto}
@media(max-width:900px){
  .accomplishment-row,.accomplishment-row.is-head{display:block}
  .accomplishment-row.is-head{display:none}
  .accomplishment-row>div{margin:.8rem 0}
  .accomplishment-label{display:block}
  .project-modal__thumbs{padding:.65rem 1rem}
  .project-thumb{flex-basis:82px}
}
@media(max-width:480px){.project-modal__media{aspect-ratio:4/5}.transition-preview-label{position:static;display:inline-block;margin:1rem 1rem 0;max-width:calc(100% - 2rem)}}
@media(max-width:300px){.hero-inner,.section,.footer-inner,.breadcrumbs{padding-left:0;padding-right:0}.nav-wrap{padding-left:.35rem;padding-right:.35rem}}
@media(prefers-reduced-motion:reduce){
  .project-modal__panel,.project-modal[data-transition] .project-modal__panel{filter:none!important;clip-path:none!important;transform:none!important;transition:opacity .12s ease!important}
}

/* Launch readiness consultation and trust sections. */
.work-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.work-flow article{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1rem;min-width:0}
.work-flow article:not(:last-child)::after{content:"";position:absolute;right:-.72rem;top:50%;width:.45rem;height:.45rem;border-top:3px solid var(--orange);border-right:3px solid var(--orange);transform:translateY(-50%) rotate(45deg)}
.work-flow span{width:42px;height:42px;border-radius:50%;background:#eaf1f8;color:var(--blue);display:grid;place-items:center;font-weight:900;border:2px solid #b7cadc;margin-bottom:.65rem}
.work-flow strong{display:block;color:var(--blue);font-size:1.08rem}
.work-flow p{margin:.35rem 0 0}
.consultation-modal[hidden]{display:none}
.consultation-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem}
.consultation-modal__overlay{position:absolute;inset:0;background:rgba(12,24,36,.7);backdrop-filter:blur(3px)}
.consultation-modal__panel{position:relative;z-index:1;width:min(100%,860px);max-height:min(92vh,920px);overflow:auto;background:#fff;border-radius:var(--radius);box-shadow:0 28px 80px rgba(12,24,36,.32);padding:1.35rem}
.consultation-modal__panel h2{margin:.1rem 0 .5rem;color:var(--blue);line-height:1.2}
.consultation-promise{border-left:4px solid var(--orange);background:#fff7ed;padding:.9rem;font-weight:750}
.consultation-form{display:grid;gap:1rem}
.consultation-form fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin:0}
.consultation-form legend{color:var(--blue);font-weight:900;padding:0 .35rem}
.consultation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.consultation-form label{display:grid;gap:.35rem;font-weight:800;color:var(--blue)}
.consultation-form input,.consultation-form select,.consultation-form textarea{width:100%;min-width:0;border:1px solid var(--gray);border-radius:var(--radius);padding:.76rem;font:inherit;color:var(--ink)}
.consultation-form .check-row{display:flex;align-items:flex-start;gap:.55rem;color:var(--ink)}
.consultation-form .check-row input{width:1.35rem;height:1.35rem;min-width:1.35rem;margin-top:.15rem;accent-color:var(--blue);cursor:pointer}
.soft-launch-marker{position:fixed;left:1rem;bottom:1rem;z-index:30;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.94);color:var(--blue);font-size:.82rem;font-weight:900;padding:.35rem .65rem;box-shadow:0 8px 22px rgba(18,58,99,.14)}
@media(max-width:900px){.work-flow{grid-template-columns:1fr}.work-flow article:not(:last-child)::after{right:auto;left:1.8rem;top:auto;bottom:-.75rem;transform:rotate(135deg)}.consultation-grid{grid-template-columns:1fr}.gallery-nav{top:30%;width:38px;height:38px;font-size:1.55rem}}
@media(max-width:480px){.gallery-prev{left:.45rem}.gallery-next{right:.45rem}.gallery-tools button{flex:1 1 auto}.consultation-modal{padding:.6rem}.consultation-modal__panel{padding:1rem}.soft-launch-marker{left:.55rem;bottom:.55rem}.project-modal__media img.is-portrait{max-height:calc(92vh - 260px)}}

/* VFT Website Enhancement v1.2.0 deployment-readiness refinements. */
.service-grid .card,.solution-grid .card{padding:0;overflow:hidden}
.service-grid .card h2,.service-grid .card p,.service-grid .card ul,.solution-grid .card h2,.solution-grid .card p,.solution-grid .card ul{padding-left:1.25rem;padding-right:1.25rem}
.service-grid .card ul,.solution-grid .card ul{padding-bottom:1.25rem}
.card-media{display:block;width:100%;aspect-ratio:16/9;background:#eaf1f8;border-bottom:1px solid var(--line);overflow:hidden}
.card-media img{display:block;width:100%;height:100%;object-fit:cover}
.project-detail-actions{grid-column:1/-1}
.project-control-row{display:flex;gap:.65rem;flex-wrap:wrap}
.project-control-row .btn[disabled],.project-control-row button[disabled]{opacity:.48;cursor:not-allowed}
.confidentiality-note{border-left:4px solid var(--blue);background:#eef3f8;padding:1rem;font-weight:750}
@media(max-width:480px){.project-control-row .btn,.project-control-row button{width:100%;text-align:center}.card-media{aspect-ratio:16/9}}
