/* Bright turquoise, sky blue and coral on fresh white surfaces. */
:root{--blue:#0879b8;--navy:#145491;--ink:#17354c;--muted:#516978;--light:#effbfc;--line:#d4e9ee;--accent:#ff8066}
body{background:#fff;color:var(--ink)}
header{background:#ffffffef;border-bottom:1px solid #d9eff2;box-shadow:0 3px 22px #0879b808}
.brand{color:#0879b8}
.nav-contact{background:linear-gradient(110deg,#0879b8,#067d91);color:#fff;border-color:transparent}
.nav-contact:hover{background:#086b9e;color:#fff}
.hero{max-width:none;padding-left:max(40px,calc((100vw - 1120px)/2));padding-right:max(40px,calc((100vw - 1120px)/2));background:radial-gradient(ellipse at 90% 5%,#72e8e35c 0,transparent 50%),radial-gradient(ellipse at 10% 100%,#8cceff38 0,transparent 45%),linear-gradient(120deg,#fff,#eefbff 60%,#e6fff9);color:var(--ink);position:relative;isolation:isolate;overflow:hidden}
.hero .eyebrow{color:#087787}
h1 em{color:#0879b8}
.hero .lead{color:#456378}
.hero .intro{color:#516d7c}
.hero .text-link{color:#12629c;border-color:#96cbd8}
.hero .text-link:hover{color:#087f8c}
.button,.hero .button,form .button{background:linear-gradient(115deg,#0879b8,#057f91);box-shadow:0 7px 20px #0879b820}
.button:hover,.hero .button:hover,form .button:hover{background:linear-gradient(115deg,#076aa3,#066e7e);box-shadow:0 10px 25px #0879b82a}
.credentials{color:#56737d}.credentials span:first-child{color:#a84630}
.hero-visual{background:linear-gradient(135deg,#79e3db,#a9e6ff 65%,#ccf9eb);border:1px solid #c0ece8;border-bottom:3px solid #ff9a7c;box-shadow:0 20px 50px #0b8ba51b}
.portrait-frame{background:#d7f4f3}
.portrait-label{color:var(--ink);border:1px solid #e1f2f3;box-shadow:0 12px 30px #0879b81b}
.portrait-label>span:last-child{color:#0879b8}
.visual-note{color:#235b68}
.status-dot{background:#00a891;box-shadow:0 0 0 4px #00a89118}
.stats-band{background:linear-gradient(105deg,#0879b8,#058295);border-bottom:3px solid #65dfce}
.stats strong{color:#fff}.stats p{color:#eefcff}.stats>div{border-color:#ffffff40}
.eyebrow{color:#087787}
.tinted{background:linear-gradient(135deg,#effcfc,#f0f7ff)}
.expertise-grid article{border-top:3px solid #12b8c3;box-shadow:0 4px 16px #0879b807}
.expertise-grid article:nth-child(2){border-top-color:#3ca6f2}
.expertise-grid article:nth-child(3){border-top-color:#ff8066}
.expertise-grid article:nth-child(4){border-top-color:#49cca1}
.card-number{color:#087787}
.expertise-grid article:hover{box-shadow:0 14px 30px #0879b815;border-color:#7bcbd6}
.tags span{background:#e9fbf8;border-color:#c8ece5;color:#23675b}
.project{border-color:#d7e9ee;box-shadow:0 4px 18px #0879b807}
.feature-project>div{background:linear-gradient(135deg,#fff,#f0fbff)}
.project-pair article:first-child{background:#fff5ef;border-top:3px solid #ff8066}
.project-pair article:last-child{background:#edfbf9;border-top:3px solid #12b8c3}
.project-footer{color:#0879a4}
.date{color:#087787}
.timeline article{border-left-color:#b4e0e5}
.timeline article:before{background:#12b8c3;box-shadow:0 0 0 5px #e0f6f7}
.gallery-section{background:linear-gradient(135deg,#e9fcf8,#eef8ff 65%,#fff5ee);color:var(--ink);border-top:1px solid #d9f0ee;border-bottom:1px solid #d9f0ee}
.gallery-section .eyebrow{color:#087787}
.gallery-section .section-heading>p{color:#516978}
.gallery-item{background:#fff;border-color:#d7e9ee;color:var(--ink);box-shadow:0 4px 18px #0879b809}
.gallery-caption{color:#335767}
.gallery-item:hover{background:#fff;box-shadow:0 12px 30px #0879b81c;border-color:#6fd4cf}
.gallery-enlarge{background:#ff8066;color:#542414}
.qualifications h3{color:#145491}
.faq summary:after{background:#e7fbf6;border-radius:50%;width:26px;height:26px;flex-shrink:0;text-align:center;color:#087787}
.faq details[open]{border-bottom-color:#42bca8}
.contact-section{background:radial-gradient(ellipse at 5% 100%,#8beddb45,transparent 55%),linear-gradient(120deg,#eafbff,#eefbfa 65%,#fff6ee);color:var(--ink);border-top:3px solid #76dfd1}
.contact-section .eyebrow{color:#087787}
.contact-layout>div>p{color:#4f6c7b}
.contact-layout>div>a{color:#0875a1}
.contact-layout>div>a:hover{color:#aa4830}
form{color:var(--ink);background:#fff;border:1px solid #dceff0;box-shadow:0 18px 45px #0879b810}
input,textarea{background:#fbfefe;border-color:#d4e8ee}
#back-top{background:linear-gradient(135deg,#0879b8,#057f91);border:1px solid #ffffff70;box-shadow:0 5px 22px #0879b830}
#photo-dialog::backdrop{background:#0b344acf}
.photo-stage button{background:#0879b8}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#d56448}
@media(max-width:760px){.hero{padding-left:24px;padding-right:24px}nav{background:#fff}.nav-contact{color:#fff}nav a:hover{color:#0879b8}nav .nav-contact:hover{color:#fff}}
