:root{--navy:#032963;--navy-2:#0a3a80;--yellow:#fdcb03;--yellow-dark:#e8b900;--yellow-soft:#fff6cc;--ink:#0f2f63;--muted:#3f5a85;--cream:#f4f7fc;--line:#d3def0;--sky:#dbe6f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;overflow-x:clip}body{margin:0;font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--cream);overflow-wrap:break-word}button,input,textarea,select{font:inherit}a{color:var(--navy);text-underline-offset:4px}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}button{cursor:pointer}.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:32px;min-width:0}.narrow{max-width:870px}.skip{position:fixed;top:-100px;left:12px;padding:12px;background:var(--yellow);z-index:100}.skip:focus{top:10px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;font-weight:800;line-height:1.2;flex-shrink:0}.brand img{object-fit:contain;max-width:100%}.brand-dot{color:var(--yellow)}nav{display:flex;align-items:center;gap:26px}nav a{font-size:14px;text-decoration:none;font-weight:650;min-height:44px;display:inline-flex;align-items:center}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:14px 22px;background:var(--yellow);color:var(--navy);font-weight:700;text-decoration:none;border:1px solid var(--yellow);border-radius:6px;font-size:16px}.button:hover{background:var(--yellow-dark);border-color:var(--yellow-dark)}.button:disabled{opacity:.6;cursor:wait}.button.small{font-size:14px;padding:10px 18px;min-height:44px}.button.secondary{background:white;color:var(--navy);border-color:var(--navy)}.button.secondary:hover{background:var(--yellow-soft)}.button span{font-size:20px}.menu{display:none}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:750;margin:0 0 20px}.section{padding-block:76px}h1,h2,h3{color:var(--navy);line-height:1.17;letter-spacing:-1px;margin:0;font-weight:760}h1{font-size:clamp(38px,4.6vw,62px);letter-spacing:-2.3px}h2{font-size:clamp(29px,3.4vw,42px)}h3{font-size:22px;letter-spacing:-.5px}p{margin:18px 0;color:var(--muted)}.hero{padding-block:62px 80px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:60px;align-items:center}.hero h1{font-size:clamp(40px,4.4vw,61px);font-weight:800;line-height:1.15;letter-spacing:-2.9px}.hero h1 span{background:linear-gradient(transparent 67%,var(--yellow) 67%)}.lead{font-size:20px;line-height:1.6}.hero-note{font-size:16px}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:30px}.text-link{font-weight:700;display:inline-block;padding-block:10px}.boundary-note{font-size:14px;border-left:3px solid var(--yellow);padding-left:15px;margin-top:26px}.hero-panel{background:var(--navy);color:white;padding:34px;border-radius:12px;box-shadow:12px 12px 0 var(--yellow)}.hero-panel h2{color:white;font-size:35px}.hero-panel p,.hero-panel a{color:white}.hero-panel ul{list-style:none;padding:0;margin:26px 0}.hero-panel li{padding:13px 0;border-bottom:1px solid #ffffff30;font-size:17px}.hero-panel a{font-size:15px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-heading>p{max-width:360px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;min-width:0}.service-icon{width:58px;height:58px;padding:12px;margin-bottom:24px;color:var(--navy);background:var(--yellow);border-radius:12px;flex-shrink:0}.service p{font-size:16px}.service a{font-size:15px;margin-top:auto;font-weight:700;padding-top:10px}.yellow{background:var(--yellow);border-color:var(--yellow)}.yellow p{color:var(--ink)}.tint{background:var(--yellow-soft)}.sample-grid,.boundaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.sample-grid article,.boundaries article{background:white;border:1px solid var(--line);border-radius:8px;padding:30px}.tag{font-size:14px;font-weight:700;background:#fff1b1;padding:6px 12px;border-radius:4px}.sample-grid blockquote{margin:24px 0;font-size:23px;line-height:1.5;color:var(--navy);font-weight:550}.sample-grid p{font-size:16px}.caption{font-size:14px;line-height:1.7}.section-intro{max-width:740px;font-size:18px}.boundaries li,.narrow li{margin:12px 0}.boundaries ul{padding-left:21px}.steps,.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:36px}.number{display:inline-block;color:var(--navy);font-size:30px;border-bottom:3px solid var(--yellow);margin-bottom:17px}.notice{background:white;border-left:4px solid var(--yellow);padding:22px;margin-top:32px;color:var(--muted)}.notice strong{color:var(--navy)}.notice p{margin-bottom:0}.quote-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px}.contact{margin:26px 0}.contact small{display:block;font-size:12px;letter-spacing:1.4px;font-weight:750}.contact a{font-size:17px;font-weight:650;overflow-wrap:anywhere}.quote-section .caption{max-width:420px}form{background:white;border:1px solid var(--line);border-radius:10px;padding:30px;min-width:0}form>p{font-size:14px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin-top:24px}label{font-size:14px;font-weight:650;min-width:0}input,select,textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #8ea3c4;border-radius:5px;padding:12px;margin-top:8px;font-size:16px;background:white;color:var(--ink);min-height:48px}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:2px}textarea{resize:vertical}.full{grid-column:1/-1}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.check{display:flex;align-items:start;gap:12px;margin:24px 0;font-weight:400}.check input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:4px}.check a{font-weight:650}form>.button{width:100%}#form-status{font-weight:650}#form-status.success{color:var(--navy)}#form-status.error{color:var(--navy);border-left:4px solid var(--yellow);padding-left:12px}#form-next .button{font-size:14px}.faq-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{padding-top:0}summary{display:flex;justify-content:space-between;align-items:start;gap:18px;font-weight:700;font-size:17px;list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font-size:23px}details[open] summary span{transform:rotate(45deg)}details p{font-size:16px}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;padding-block:35px}.footer-top>a:last-child{overflow-wrap:anywhere}.footer-bottom{display:flex;flex-wrap:wrap;gap:24px;align-items:center;border-top:1px solid var(--line);padding-block:24px;font-size:14px}.plain{background:none;border:0;padding:0;font-size:14px;color:var(--navy);text-decoration:underline;text-underline-offset:4px}.consent{position:fixed;bottom:18px;left:18px;right:18px;max-width:650px;z-index:20;background:white;border:1px solid var(--navy);box-shadow:0 6px 30px #03296325;border-radius:9px;padding:20px}.consent p{font-size:14px;margin:0 0 14px}.consent>div{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.consent a{font-size:14px}[hidden]{display:none!important}.narrow h1{font-size:clamp(34px,4.5vw,53px)}.narrow h2{font-size:27px;margin-top:36px}.narrow p,.narrow li{font-size:17px}.narrow .button{margin-top:30px}.space-top{margin-top:35px}.inbox-card{background:white;border:1px solid var(--line);padding:24px;border-radius:8px;margin:20px 0}.inbox-card p{white-space:pre-wrap;overflow-wrap:anywhere}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.admin-actions{display:flex;flex-wrap:wrap;gap:12px}.admin-actions form{padding:0;border:0}.admin-actions button{font-size:14px}

/* Study imagery, client reviews and brief submission. */
.hero-visual{margin:0;min-width:0}.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:10px 10px 0 var(--yellow)}.hero-visual figcaption,.image-caption{font-size:12px;color:var(--muted);margin:16px 0 0}.service .service-button{color:var(--navy);font-size:15px;padding:13px 16px;margin-top:auto;min-height:48px}.reviews-section{background:var(--navy);color:white;border-top:8px solid var(--yellow)}.reviews-section h2,.reviews-section .eyebrow{color:var(--yellow)}.reviews-section p{color:#dce6f4}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review{margin:0;background:white;color:var(--navy);border-radius:8px;padding:28px;display:flex;flex-direction:column}.review-mark{font-family:Georgia,serif;font-size:60px;line-height:.8;color:var(--navy)}.review blockquote{margin:17px 0 28px;font-size:21px;line-height:1.5}.review figcaption{margin-top:auto;font-size:14px;color:var(--muted)}.contact-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;margin-top:12px}.simple-fields{grid-template-columns:minmax(0,1fr)}.field-help{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:8px}input[type=file]{padding:13px 10px;font-size:14px}input[type=file]::file-selector-button{background:var(--yellow);color:var(--navy);border:0;border-radius:4px;padding:10px;margin-right:8px;font:inherit;cursor:pointer}.compact-process{border-top:1px solid var(--line);padding-top:24px}.compact-process .eyebrow{margin-bottom:14px}.compact-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style-position:inside;padding:0;margin:0}.compact-process li{font-size:15px}.compact-process strong{color:var(--navy)}.compact-process span{display:block;color:var(--muted);font-size:14px;margin-top:6px}.whatsapp-float{position:fixed;bottom:22px;right:22px;z-index:18;display:flex;align-items:center;gap:9px;border-radius:28px;padding:13px 18px;min-height:54px;background:var(--navy);color:var(--yellow);border:2px solid var(--yellow);box-shadow:0 4px 16px #03296333;text-decoration:none;font-weight:700;font-size:15px}.whatsapp-float:hover{background:var(--navy-2)}footer{padding-bottom:75px;background:var(--yellow)}
@media(max-width:1050px){.hero h1{font-size:47px}}
@media(max-width:950px){nav{gap:17px}.hero{gap:35px}.hero-panel{padding:25px}.hero-panel h2{font-size:29px}.quote-section,.faq-layout{gap:35px}.service{padding:23px}nav a{font-size:13px}}
@media(max-width:780px){.hero h1{font-size:clamp(40px,8.5vw,60px)}.wrap{padding-inline:24px}header{min-height:84px}.menu{display:inline-flex;background:white;border:1px solid var(--line);border-radius:5px;padding:10px;min-width:46px;min-height:46px;color:var(--navy)}nav{display:none;position:absolute;left:18px;right:18px;top:78px;z-index:15;flex-direction:column;align-items:stretch;background:white;padding:20px;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 25px #03296320}nav.open{display:flex}nav a{font-size:16px}.hero{grid-template-columns:minmax(0,1fr);padding-block:36px 64px;gap:38px}.hero-panel{box-shadow:7px 7px 0 var(--yellow)}.hero-panel h2{font-size:32px}.hero-panel li{font-size:17px}.section{padding-block:56px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:20px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid{grid-template-columns:minmax(0,1fr)}.compact-process ol{grid-template-columns:minmax(0,1fr);gap:15px}.hero-visual img{box-shadow:5px 5px 0 var(--yellow)}.sample-grid,.boundaries,.quote-section,.faq-layout{grid-template-columns:minmax(0,1fr);gap:24px}.steps,.pricing-grid{grid-template-columns:minmax(0,1fr);gap:20px}.steps p{margin-bottom:0}.steps h3{display:inline;margin-left:15px}.number{font-size:24px}.footer-top{align-items:start}.footer-top p{display:none}.quote-section>.section-intro{max-width:none}}
@media(max-width:480px){.wrap{padding-inline:20px}.lead{font-size:18px}.service-grid,.fields{grid-template-columns:minmax(0,1fr)}.whatsapp-float{bottom:14px;right:14px;padding:12px 15px}.service,.sample-grid article,.boundaries article{padding:25px}.sample-grid blockquote{font-size:21px}.full{grid-column:auto}form{padding:23px}.contact a{font-size:16px}.footer-top{display:block}.footer-top>a:last-child{display:block;margin-top:24px}.footer-bottom{gap:16px}.consent{bottom:10px;left:10px;right:10px;padding:16px;max-height:60vh;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:460px){.hero h1{font-size:40px;letter-spacing:-1.8px}}
@media(max-width:380px){.hero h1{font-size:36px}}

.hero .hero-tagline{font-size:10px;letter-spacing:1.9px;font-weight:800;color:var(--navy);margin:0 0 25px}
@media(max-width:780px){.hero .hero-tagline{font-size:9px;letter-spacing:1.3px}}

.approach-compact{margin:28px 0;padding:24px;background:#ffed9a;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:8px}.approach-compact .eyebrow{margin-bottom:10px}.approach-compact h3{font-size:23px;line-height:1.3}.approach-compact ul{padding-left:20px;margin:16px 0 0;color:var(--muted);font-size:15px}.approach-compact li+li{margin-top:9px}

/* Stronger brand-yellow accents. */
.hero .hero-tagline{display:inline-block;background:var(--yellow);padding:8px 12px;border-radius:4px}.service{border-top:5px solid var(--yellow)}.review{border-bottom:5px solid var(--yellow)}#quote form{border-top:6px solid var(--yellow)}.footer-bottom{border-top-color:#03296340}

/* Brand palette: logo navy (#032963) + logo yellow (#fdcb03) */
.topbar{background:#fff;border-bottom:4px solid var(--yellow)}
.button{box-shadow:0 3px 0 var(--navy)}
.button:hover{transform:translateY(1px);box-shadow:0 2px 0 var(--navy)}
.button.secondary,.button:disabled{box-shadow:none}
.eyebrow{color:var(--navy);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:4px;border-radius:2px;background:var(--yellow);flex-shrink:0}
.hero .hero-tagline::before{display:none}
.tint .eyebrow::before,.yellow .eyebrow::before{background:var(--navy)}
.hero-band{background:radial-gradient(760px 380px at 88% 18%,#1b4fa3 0,transparent 70%),var(--navy);border-bottom:6px solid var(--yellow)}
.hero-band .hero h1{color:#fff}
.hero-band .hero h1 span{background:none;color:var(--yellow)}
.hero-band .lead{color:#fff}
.hero-band .hero-note{color:var(--sky)}
.hero-band .text-link{color:#fff;text-decoration-color:var(--yellow)}
.hero-band .button{border-color:var(--yellow);box-shadow:0 3px 0 var(--yellow-dark)}
.hero-band .hero-visual figcaption{color:var(--sky)}
.service{transition:transform .2s ease,box-shadow .2s ease}
.service:hover{transform:translateY(-4px);box-shadow:0 14px 28px #03296322}
.service-icon,.service.yellow .service-icon{background:var(--navy);color:var(--yellow)}
.service .service-button{background:#fff;color:var(--navy);border-color:var(--navy);box-shadow:none}
.service .service-button:hover{background:var(--navy);color:var(--yellow);border-color:var(--navy)}
.service.yellow{border-top-color:var(--navy)}
.service.yellow .service-button{background:var(--navy);color:var(--yellow);border-color:var(--navy)}
.service.yellow .service-button:hover{background:var(--navy-2)}
.quote-section .inbox-card{align-self:start;border-top:6px solid var(--yellow)}
.approach-compact{background:var(--navy);border:0;border-left:6px solid var(--yellow)}
.approach-compact h3{color:#fff}
.approach-compact ul{color:var(--sky)}
.approach-compact .eyebrow{color:var(--yellow)}
.approach-compact .eyebrow::before{background:var(--yellow)}
.compact-process{border-top-color:#03296333}
summary span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:20px;line-height:1;flex-shrink:0}
footer .brand-dot{color:var(--navy)}.footer-top .brand img{background:#fff;border-radius:12px;padding:7px 9px;box-sizing:content-box;box-shadow:0 2px 0 var(--navy)}
.footer-top p,footer a{color:var(--navy)}
.hero-band :focus-visible,.reviews-section :focus-visible,.approach-compact :focus-visible,.whatsapp-float:focus-visible{outline-color:var(--yellow)}
@media(prefers-reduced-motion:reduce){.service,.button{transition:none}.service:hover,.button:hover{transform:none}}

/* Proof screenshots */
.proof-block{margin-top:0}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;margin-top:0}
.proof{margin:0;min-width:0}
.proof-open{display:block;position:relative;width:100%;padding:0;border:3px solid var(--yellow);border-radius:10px;background:#fff;overflow:hidden;cursor:zoom-in}
.proof-open img{display:block;width:100%;height:auto}
.proof figcaption::after{content:" · tap to enlarge";color:var(--yellow);font-weight:650}
.proof-open:hover{border-color:#fff}
.proof-open:focus-visible{outline:3px solid #fff;outline-offset:3px}
.proof figcaption{color:var(--sky);font-size:14px;margin-top:10px}
.proof-dialog{padding:0;border:0;background:transparent;width:min(92vw,520px);max-height:92vh;overflow:visible;color:#fff}
.proof-dialog::backdrop{background:rgba(3,41,99,.9)}.proof-dialog form{background:none;border:0;padding:0;margin:0;border-radius:0}
.proof-dialog img{display:block;width:100%;max-height:78vh;object-fit:contain;border:4px solid var(--yellow);border-radius:10px;background:#fff}
.proof-cap{margin:12px 0 0;text-align:center;color:#fff;font-weight:650}
.proof-close{position:absolute;top:-16px;right:-12px;width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);background:var(--yellow);color:var(--navy);font-size:26px;line-height:1;z-index:2}
.proof-close:focus-visible{outline:3px solid #fff}
@media(max-width:780px){.proof-grid{grid-template-columns:minmax(0,1fr)}.proof-close{right:-6px}}

.proof blockquote{margin:16px 0 8px;font-size:16px;line-height:1.6;color:#032963}.service-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.related-services{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.related-services a{display:inline-block;padding:12px 16px;background:#fff4bf;border-radius:8px;color:#032963;font-weight:600}
