:root{color-scheme:light;--ink:#243854;--muted:#52647e;--cream:#f7faff;--navy:#e7effa;--deep:#f7faff;--gold:#3773ab}
body{background:#f7faff;color:var(--ink)}
::selection{background:#7265ce;color:white}
.notice{background:#eaf1fc;color:#4f6481;border-bottom:1px solid #d1ddef}
header{background:#f9fbffed;border-bottom:1px solid #d2def0;backdrop-filter:blur(20px)}
.brand small{color:#5e708d}.logo{background:white;padding:3px;box-shadow:0 0 26px #7199e32b}
.links a:hover{color:#255f96}.links a:after{background:#6d91d5;box-shadow:0 0 12px #76cfff}
.btn{background:linear-gradient(115deg,#9ce5ff,#a8afff);border:1px solid #b5d7ff;color:#101b35;border-radius:10px;box-shadow:0 5px 24px #77a8ff20}
.btn:hover{background:linear-gradient(115deg,#c6f1ff,#c4bbff);box-shadow:0 8px 32px #8cafff45;color:#101b35}
.btn.outline{background:#ffffffa6;border-color:#a4badb;color:#344f77}.btn.outline:hover{background:#e2edfc;color:#294c77}
.hero{background:radial-gradient(ellipse at 90% 20%,#dcd7fb99,transparent 53%),radial-gradient(ellipse at 5% 80%,#c9eafa99,transparent 48%),#f2f7ff}
.hero:before{background-image:linear-gradient(#789cd018 1px,transparent 1px),linear-gradient(90deg,#789cd018 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(#000,transparent)}
.hero-grid{min-height:720px}.hero .eyebrow{color:#356595}.eyebrow:before{box-shadow:0 0 12px #8cddff}
h1{letter-spacing:-1.5px}h1 em{color:#416ba1;background:linear-gradient(90deg,#7661b4,#317aab);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{color:#526780}.hero-note{color:#5b7091;border-color:#b8cce6}
.project-visual{border-radius:38px 10px 38px 10px;border:1px solid #bbcee7;background:#ffffff;box-shadow:0 0 0 8px #80baff06,0 20px 85px #536ed52b}
.project-visual>span{color:#526782;background:linear-gradient(120deg,#f4f9ff,#eaf0fc)}
.project-visual strong{color:#293d60}.project-visual b{color:#38679e}.image-label{color:#355477;background:#f5f9ffed;border:1px solid #b6cae7;border-radius:4px}
.strip{background:#ffffff;border-color:#d5e0f0}.strip .wrap{color:#4a6283}.strip span:before{color:#547fab}
.kicker,.num,.reason>span{color:#466c9c}.kicker{letter-spacing:1px}p{color:#52647e}h2{color:#243854}h2 em{color:#7767a9}
#about{background:radial-gradient(ellipse at 0 100%,#e5e2fa77,transparent 60%)}
.text-link{color:#376c9e;border-color:#a6c4de}.text-link:hover{color:#254f84}
.services{background:linear-gradient(150deg,#edf5fe,#f0f4fd 70%,#eeebfc)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-grid .card{background:linear-gradient(130deg,#ffffffed,#f6f9ff);border:1px solid #cddcf0;border-radius:18px;padding:30px;box-shadow:inset 0 1px #ffffffcc}
.card:before{right:25px;top:-1px;width:50px;height:2px;background:linear-gradient(90deg,#9e9eff,#7de5ff);box-shadow:0 0 16px #84caff66}
.card:hover{border-color:#8ba9d6;box-shadow:0 12px 45px #6a8edb17;background:linear-gradient(130deg,#ffffff,#edf4ff)}
.card:hover:before{width:calc(100% - 50px)}.card h3{color:#293e61}.card p{color:#546883}.service-grid .num{font-family:Consolas,monospace;font-size:26px;color:#527ba9}
.tag{color:#5c7393;border-color:#d4e0ee}.service-next{border-color:#c3d3e8}.service-next p{color:#536b87}
.portfolio{background:radial-gradient(ellipse at 0 25%,#dceefa77,transparent 48%),#f7faff}.project-image{border:1px solid #c7d7eb;border-radius:16px;background:#e7effa}
.project-card:hover .project-image{border-color:#8ab6e5;box-shadow:0 0 30px #709dff20}.project-caption{border-color:#d2dff0}.project-caption h3{color:#2c4262}.project-caption small{color:#5d7190}.project-index{color:#647fa4}
.project-open{background:#f8fbfff2;color:#386795;border:1px solid #94bee2;backdrop-filter:blur(10px)}.project-card:hover .project-open{background:#9fddff;color:#13213b}
#why{background:linear-gradient(120deg,#eaf2fd,#f0edfb)}.reason{border-color:#ccdaed}.reason h3{color:#314767}
.contact{background:radial-gradient(ellipse at 85% 50%,#cde9fa99,transparent 60%),linear-gradient(125deg,#eef5ff,#eeeafa)}.contact h2{color:#293e61}.contact .eyebrow{color:#426e9f}.contact p{color:#536b88}
.contact-box{background:#ffffffc9;border:1px solid #c0d1e9;border-radius:22px;box-shadow:0 20px 60px #5b79a015;backdrop-filter:blur(15px)}
.contact-row{border-color:#d3dfef;color:#3b5676}.contact-row:hover{color:#215b91}.contact-box .fine{background:#e8f1fc;color:#526b8a;border-color:#7c9dcc}
footer{background:#e4edfa;border-top:1px solid #c5d6eb;color:#4d6484}.menu{border-color:#9eb6d5;color:#3a587d;border-radius:7px}.skip{color:#142340}
a:focus-visible,button:focus-visible{outline:3px solid #427caf;outline-offset:5px}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.links{background:#f5f9ff;border-bottom:1px solid #c4d5ec;box-shadow:0 15px 25px #5a7ba122}.hero-grid{min-height:0}.project-visual{border-radius:28px 8px 28px 8px}.hero p{font-size:15px}.hero-note{line-height:2}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-grid .card{padding:26px}.contact-box{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
