:root{--navy:#061327;--deep:#0b2d6b;--blue:#0078ff;--cyan:#00c6ef;--paper:#f7f9fc;--ink:#0b1930;--muted:#66758b;--line:#dce4ef;--container:1240px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}svg{display:block;width:100%;height:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}::selection{background:#52d8ff;color:#061327}:focus-visible{outline:3px solid #00c6ef;outline-offset:4px}.container{width:min(calc(100% - 96px),var(--container));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:99;padding:12px 22px;background:white;color:var(--ink)}.skip-link:focus{top:12px}
.site-header{position:absolute;top:0;left:0;right:0;z-index:25;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.header-inner{height:99px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:58px;height:49px;object-fit:cover;object-position:center}.brand-name{font-weight:850;line-height:.93;letter-spacing:.055em;font-size:21px}.brand-name small,.footer-brand small{display:block;font-size:8px;letter-spacing:.37em;font-weight:650;margin-top:8px}.main-nav{display:flex;align-items:center;gap:29px}.main-nav>a{font-size:12px;font-weight:600;white-space:nowrap;color:#d6e6f8;transition:color .2s}.main-nav>a:hover{color:var(--cyan)}.main-nav .nav-contact{padding:12px 17px;border:1px solid rgba(255,255,255,.34);border-radius:4px;color:#fff}.nav-contact span{margin-left:16px;color:var(--cyan)}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 42%,#0e3765 0%,transparent 43%),radial-gradient(ellipse at 15% 96%,#07517d 0%,transparent 35%),linear-gradient(115deg,#061426 0%,#061932 48%,#081324 100%);min-height:800px;color:#fff}.hero::before{content:"";position:absolute;inset:-12%;pointer-events:none;opacity:.15;background:linear-gradient(90deg,transparent 49.9%,rgba(145,210,255,.22) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(145,210,255,.22) 50%,transparent 50.1%);background-size:104px 104px;mask-image:linear-gradient(to right,transparent,black 65%,transparent)}.hero-stars{position:absolute;inset:0;opacity:.26;pointer-events:none;background-image:radial-gradient(#b4e9ff 1px,transparent 1px);background-size:125px 120px;background-position:20px 22px;mask-image:linear-gradient(to right,transparent 18%,black 70%)}.hero-inner{position:relative;z-index:1;min-height:795px;display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:45px;padding-top:125px;padding-bottom:116px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:720;letter-spacing:.22em;color:#9bcfe9;white-space:nowrap;margin-bottom:28px}.eyebrow-line{width:27px;height:1px;background:#17caf0}.eyebrow-dot{display:block;width:3px;height:3px;background:#8dabc5;border-radius:50%;margin-left:5px}.hero-copy h1{font-weight:820;font-size:clamp(49px,5.1vw,80px);line-height:1.105;margin-bottom:27px}.hero-copy h1 em{font-style:normal;color:#54dcff}.hero-description{font-size:16px;line-height:1.85;color:#a9bed3;max-width:485px;margin-bottom:33px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:36px;border-radius:4px;padding:17px 21px;font-size:12px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#05bde9;color:#03182b;box-shadow:0 14px 30px rgba(4,182,236,.16)}.button-primary:hover{background:#59dffc}.button span{font-size:18px;font-weight:400}.text-link{font-size:12px;font-weight:700;color:#e3eff9}.text-link span{font-size:17px;color:#33c8eb;padding-left:14px}.hero-smallprint{display:flex;align-items:center;gap:14px;margin-top:75px;color:#7fa1b9;font-size:10px;letter-spacing:.23em;font-weight:700}.hero-smallprint .line{width:32px;height:1px;background:#4e84a6}.hero-visual{position:relative;min-width:0;transform:translateX(13px)}.visual-halo{position:absolute;inset:2%;border-radius:50%;background:#008eff;filter:blur(95px);opacity:.26}.visual-frame{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:1.08/1;border-radius:9px;border:1px solid rgba(150,219,255,.22);background:#051a31;box-shadow:0 30px 80px rgba(0,0,0,.33),0 0 40px rgba(0,181,255,.09)}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(1.05) contrast(1.05)}.visual-frame::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,7,24,.28),transparent 45%)}.image-edge{position:absolute;z-index:2;width:45px;height:45px;border-color:#40d4ff;opacity:.85;pointer-events:none}.image-edge-top{top:14px;left:14px;border-left:1px solid;border-top:1px solid}.image-edge-bottom{right:14px;bottom:14px;border-right:1px solid;border-bottom:1px solid}.visual-caption{display:flex;justify-content:space-between;color:#8ab0cc;letter-spacing:.14em;font-size:10px;margin-top:16px}.hero-wave{position:absolute;height:165px;bottom:-95px;left:-8%;right:-8%;border-radius:50% 50% 0 0;background:rgba(0,178,243,.045);transform:rotate(-2deg)}.scroll-cue{position:absolute;bottom:33px;left:50%;display:flex;flex-direction:column;align-items:center;gap:14px;color:#79a3bc;font-size:9px;letter-spacing:.26em}.scroll-line{width:1px;height:40px;background:linear-gradient(#66badf,transparent)}
.ticker{overflow:hidden;border-top:1px solid #c3e2ed;border-bottom:1px solid #c3e2ed;background:#e7f7ff;white-space:nowrap}.ticker-inner{min-width:max-content;display:flex;align-items:center;gap:36px;padding:21px 6%;font-size:12px;font-weight:850;letter-spacing:.24em;color:#0b4d83}.ticker-inner b{color:#09b2e6;font-size:17px}
.section{padding:124px 0}.section-label{font-size:11px;letter-spacing:.22em;font-weight:750;color:#526781;margin-bottom:33px}.section-label span{color:#00a9d8;margin-right:6px}.section-label.light{color:#7c9ab8}.section h2{font-size:clamp(38px,4vw,60px);font-weight:800;line-height:1.15}.section h2 span{color:#0089ca}.about-grid{display:grid;grid-template-columns:.96fr 1fr;gap:12%}.about-heading{position:relative}.about-heading h2{max-width:520px}.about-content{padding-top:66px}.about-content p{color:#64758c;font-size:15px;line-height:1.9;margin-bottom:19px}.about-content .lead{font-size:19px;line-height:1.75;color:#183350;font-weight:500}.belief-list{margin-top:48px;border-top:1px solid var(--line)}.belief-list>div{border-bottom:1px solid var(--line);display:grid;grid-template-columns:60px 1fr 24px;gap:18px;align-items:center;padding:22px 0}.belief-no{font-size:11px;color:#008ec5;font-weight:800}.belief-list strong{display:block;font-size:18px;margin-bottom:6px}.belief-list small{display:block;color:#75849b;font-size:12px}.belief-list div>span:last-child{font-size:20px;color:#0a8fd6}.about-mark{position:relative;width:200px;height:200px;margin-top:60px;opacity:.65}.orbit{position:absolute;inset:10px;border:1px solid #b6dfee;border-radius:50%;transform:rotate(-23deg) scaleX(1.22)}.orbit-2{inset:31px;transform:rotate(35deg) scaleX(1.4);border-color:#a8d7ed}.orbit-text{position:absolute;font-size:125px;font-weight:850;line-height:200px;text-align:center;inset:0;letter-spacing:-.1em;color:#daeefa}
.services-section{background:#f5f8fb}.section-top{display:flex;justify-content:space-between;align-items:end;gap:75px;margin-bottom:62px}.section-top h2{margin-bottom:0}.section-top>p{max-width:390px;line-height:1.9;color:#68798d;font-size:15px;margin-bottom:8px}.service-list{border-top:1px solid #d6e1ee}.service-card{display:grid;grid-template-columns:105px 112px 1fr 42px;align-items:center;gap:22px;padding:36px 10px 36px 4px;border-bottom:1px solid #d6e1ee;transition:background .25s,padding .25s}.service-card:hover{background:#e9f4fc;padding-left:18px;padding-right:18px}.service-number{color:#6d8198;font-size:11px;font-weight:800;letter-spacing:.11em;align-self:start;margin-top:17px}.service-icon{width:89px;height:89px;border:1px solid #d6e5f1;background:#fff;color:#0578c2;border-radius:50%;padding:16px}.service-card h3{font-size:26px;margin-bottom:8px;font-weight:760}.service-card p{font-size:14px;line-height:1.75;color:#6d7c8f;max-width:680px;margin-bottom:13px}.service-tags{display:block;color:#0086c8;font-size:11px;font-weight:700;letter-spacing:.04em}.service-tags i{padding:0 9px;font-style:normal;color:#bdcfdc}.service-arrow{font-size:24px;color:#188ac0;align-self:start;margin-top:5px}
.work-section{position:relative;background:#07172d;color:white;overflow:hidden}.work-glow{position:absolute;width:800px;height:800px;top:-410px;right:-200px;border-radius:50%;background:rgba(0,130,227,.13);filter:blur(70px)}.work-heading{position:relative;max-width:820px;margin-bottom:50px}.work-heading h2{color:white;margin-bottom:22px}.work-heading h2 em{font-style:normal;color:#59dafa}.work-heading p:not(.section-label){max-width:670px;color:#9db1c8;font-size:15px;line-height:1.85}.work-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-card{border:1px solid #214265;background:#0d2743;overflow:hidden;border-radius:5px}.work-art{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.48;background:linear-gradient(140deg,#0c58a2,#03172e 70%)}.work-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px}.art-orbit{position:absolute;width:74%;height:110%;border:1px solid rgba(100,211,255,.4);border-radius:50%;left:13%;top:-5%;transform:rotate(42deg)}.art-shape{position:absolute;width:150%;height:85%;left:-17%;bottom:-57%;border:2px solid rgba(64,203,248,.65);border-radius:50%;transform:rotate(-10deg);box-shadow:0 -25px 100px rgba(15,141,255,.15)}.art-letter{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(150px,21vw,285px);font-weight:900;color:rgba(181,235,255,.11);letter-spacing:-.1em}.art-two{background:radial-gradient(circle at 60% 48%,#0c76b3,#071f45 55%,#03162e)}.art-globe{position:absolute;left:19%;top:-20%;width:65%;aspect-ratio:1;border:1px solid rgba(112,206,249,.35);border-radius:50%;box-shadow:0 0 0 45px rgba(25,156,238,.06),0 0 0 90px rgba(25,156,238,.05),0 0 0 145px rgba(25,156,238,.04)}.work-card-bottom{padding:25px 28px 27px}.work-card-bottom>span{font-size:10px;color:#6dd7ff;letter-spacing:.17em;font-weight:800}.work-card-bottom h3{font-size:23px;margin:14px 0 7px}.work-card-bottom p{margin:0;color:#809eb9;font-size:13px}.work-note{color:#819eb5;font-size:12px;margin:23px 0 0}.work-note span{color:#3bd1fd;margin-right:8px}
.process-grid{display:grid;grid-template-columns:.9fr 1fr;gap:12%}.process-intro>p:last-child{max-width:430px;line-height:1.9;color:#63788d}.steps{border-top:1px solid #d7e3f0}.step{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:25px 0;border-bottom:1px solid #d7e3f0}.step>span{font-size:14px;color:#0095c9;font-weight:850}.step h3{font-size:23px;margin:0 0 8px}.step p{font-size:14px;color:#64768c;line-height:1.8;margin:0}
.contact-section{background:#071e3f;padding:100px 0;color:white}.contact-wrap{display:grid;grid-template-columns:1fr .75fr;gap:12%;align-items:start}.contact-main h2{font-size:clamp(44px,4.8vw,72px);line-height:1.12;margin-bottom:25px}.contact-main h2 em{color:#5bd8ff;font-style:normal}.contact-main>p:not(.section-label){font-size:16px;line-height:1.9;color:#a6bdd5;max-width:500px;margin-bottom:35px}.button-white{color:#09213e;background:white}.button-white:hover{background:#cdefff}.contact-details{padding:31px 33px;background:rgba(255,255,255,.05);border:1px solid rgba(140,196,231,.21);border-radius:4px}.contact-details-label{color:#74d5f4;letter-spacing:.18em;font-size:10px;font-weight:800;margin-bottom:13px}.contact-details>strong{display:block;font-size:20px;line-height:1.45;margin-bottom:24px}.contact-item{border-top:1px solid rgba(149,190,226,.18);padding-top:17px;margin-top:17px}.contact-item>span{font-size:9px;color:#7eb7cf;letter-spacing:.15em;font-weight:800}.contact-item>a,.contact-item>p{display:block;color:#e4effa;font-size:15px;line-height:1.65;margin-top:9px;margin-bottom:0}.contact-item>a:hover{color:#60d6ff}.verification-note{display:block;color:#9cb0c5;line-height:1.75;font-size:11px;margin-top:22px}
.footer{background:#04142d;color:#8ca5be}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:31px 0;border-bottom:1px solid rgba(201,225,244,.13)}.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:.08em;font-size:18px}.footer-brand img{width:54px;height:45px;object-fit:cover}.footer-brand small{font-size:7px}.footer-top p{font-size:13px;margin:0}.back-to-top{font-size:12px;color:#bdd4ea}.back-to-top span{padding-left:10px;color:#56d4ff}.footer-bottom{display:flex;justify-content:space-between;padding:24px 0;font-size:11px}.preview-ribbon{position:fixed;z-index:60;bottom:20px;right:18px;background:rgba(255,255,255,.93);box-shadow:0 7px 25px rgba(0,0,0,.15);color:#064267;padding:9px 13px;border-radius:50px;font-size:9px;font-weight:850;letter-spacing:.12em;pointer-events:none}.preview-ribbon span{color:#0aa5d0;padding-left:8px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.container{width:min(calc(100% - 64px),var(--container))}.main-nav{gap:16px}.main-nav>a{font-size:11px}.hero-inner{gap:24px}.hero-copy h1{font-size:clamp(43px,5.1vw,70px)}.service-card{grid-template-columns:80px 85px 1fr 28px;gap:16px}.service-icon{width:77px;height:77px}}
@media(max-width:800px){html{scroll-padding-top:75px}.container{width:min(calc(100% - 42px),var(--container))}.site-header{position:absolute}.header-inner{height:77px}.brand img{width:47px;height:40px}.brand-name{font-size:18px}.brand-name small{font-size:7px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:43px;height:43px;background:transparent;border:1px solid #50708f;border-radius:4px;cursor:pointer}.menu-toggle span{width:20px;height:2px;background:#e3f6ff;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 21px 20px;background:#08182e;border-bottom:1px solid #234362}.main-nav.is-open{display:flex}.main-nav>a{font-size:15px;padding:13px 7px;border-bottom:1px solid rgba(255,255,255,.08)}.main-nav .nav-contact{margin-top:10px;border:1px solid rgba(255,255,255,.34);text-align:center}.hero-inner{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding-top:152px;padding-bottom:90px;gap:50px}.hero-copy h1{font-size:clamp(48px,9vw,75px)}.hero-description{max-width:580px}.hero-smallprint{margin-top:37px}.hero-visual{transform:none;max-width:640px;width:100%;margin-inline:auto}.visual-frame{aspect-ratio:1.4}.scroll-cue{display:none}.hero{min-height:0}.section{padding:86px 0}.about-grid,.process-grid,.contact-wrap{grid-template-columns:1fr;gap:32px}.about-content{padding-top:0}.about-mark{display:none}.section-top{display:block}.section-top>p{margin:22px 0 0}.service-card{grid-template-columns:54px 75px 1fr 20px;padding:25px 3px;gap:12px}.service-icon{width:65px;height:65px;padding:11px}.service-card h3{font-size:22px}.work-grid{gap:16px}.work-card-bottom h3{font-size:19px}.contact-section{padding:80px 0}.footer-top{flex-wrap:wrap}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.eyebrow{font-size:8px;gap:8px;letter-spacing:.13em}.eyebrow-line{width:18px}.hero-inner{padding-top:136px;gap:38px;padding-bottom:70px}.hero-copy h1{font-size:clamp(44px,10.7vw,62px)}.hero-description{font-size:14px;line-height:1.8}.hero-actions{gap:19px}.button{padding:15px 16px;gap:19px;font-size:11px}.text-link{font-size:11px}.hero-smallprint{font-size:8px;letter-spacing:.16em}.visual-frame{aspect-ratio:1.22}.visual-caption{font-size:8px}.section{padding:73px 0}.section h2{font-size:clamp(36px,8.5vw,48px)}.section-label{margin-bottom:22px}.about-content .lead{font-size:17px}.about-content p{font-size:14px}.section-top{margin-bottom:37px}.service-card{position:relative;grid-template-columns:58px 1fr;gap:5px 16px}.service-number{grid-column:1;grid-row:1;align-self:center;margin-top:0}.service-icon{grid-column:1;grid-row:2;width:55px;height:55px;padding:12px}.service-card>div:nth-child(3){grid-column:2;grid-row:1 / span 2}.service-arrow{display:none}.service-card h3{font-size:20px}.service-card p{font-size:13px}.service-tags{font-size:10px}.work-heading h2{font-size:37px}.work-grid{grid-template-columns:1fr}.work-card-bottom{padding:23px}.work-art{aspect-ratio:1.52}.contact-main h2{font-size:clamp(40px,10vw,56px)}.contact-details{padding:25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;row-gap:23px}.footer-brand{grid-column:1/-1}.footer-top p{font-size:11px}.back-to-top{justify-self:end}.footer-bottom{flex-direction:column;gap:10px}.preview-ribbon{bottom:12px;right:10px;font-size:8px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* ===============================================================
   HẢI LAM v0.2 — LIGHT CORPORATE + OCEAN BLUE
   Owner-approved visual-only delta against v0.1; no layout or JS changes.
   =============================================================== */
:root {
  --navy: #0b2d6b;
  --deep: #0b2d6b;
  --blue: #0078ff;
  --cyan: #00c6ef;
  --paper: #f0f7ff;
  --ink: #102b4c;
  --muted: #516b85;
  --line: #d7e5f1;
}

/* White corporate navigation; keep the source mark's blue proportions and wave. */
.site-header {
  color: #0b2d6b;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e0ebf5;
  box-shadow: 0 5px 24px rgba(17,64,115,.045);
}
.brand img {
  width: 58px;
  height: 49px;
  object-fit: contain;
  object-position: center;
}
.brand-name { color: #0b2d6b; }
.brand-name small { color: #3c6da0; }
.main-nav>a { color: #294b70; }
.main-nav>a:hover { color: #005bbf; }
.main-nav .nav-contact {
  color: #0753a4;
  border-color: #b7d3ed;
  background: #f2f8ff;
}
.nav-contact span { color: #0078ff; }

/* Former dark hero becomes a bright, spacious surface. Existing cinematic image retained. */
.hero {
  color: #102b4c;
  background:
    radial-gradient(ellipse at 76% 45%,rgba(143,207,255,.40),transparent 51%),
    radial-gradient(ellipse at 4% 95%,rgba(224,244,255,.85),transparent 49%),
    linear-gradient(116deg,#ffffff 5%,#f7fbff 49%,#eaf5ff 100%);
}
.hero::before { opacity: .10; }
.hero-stars {
  opacity: .30;
  background-image: radial-gradient(#80bfeb 1px,transparent 1px);
}
.eyebrow { color: #235c92; }
.eyebrow-line { background: #0078ff; }
.eyebrow-dot { background: #81afd3; }
.hero-copy h1 { color: #0b2d6b; }
.hero-copy h1 em { color: #0066d6; }
.hero-description { color: #4c6580; }
.button-primary {
  color: #fff;
  background: #0067df;
  box-shadow: 0 12px 27px rgba(0,103,223,.19);
}
.button-primary:hover { background: #0054b8; }
.text-link { color: #174b7e; }
.text-link span { color: #0062c8; }
.hero-smallprint { color: #456c8e; }
.hero-smallprint .line { background: #6ba4cd; }
.visual-halo { opacity: .14; }
.visual-frame {
  border-color: #c8e0f3;
  box-shadow: 0 24px 65px rgba(26,88,147,.17),0 0 20px rgba(0,151,255,.05);
}
.visual-caption { color: #527a9c; }
.hero-wave { background: rgba(0,120,255,.045); }
.scroll-cue { color: #6991b3; }
.scroll-line { background: linear-gradient(#569cc9,transparent); }

/* Calm supporting sections */
.ticker { background: #e9f6ff; border-color: #c8e6f7; }
.ticker-inner { color: #164f86; }
.services-section { background: #f0f7ff; }
.service-card:hover { background: #e2f2ff; }

/* Project area changes from a black/navy section to bright cards. */
.work-section { color: #102b4c; background: #ffffff; }
.work-glow { background: rgba(79,172,246,.12); }
.work-heading h2 { color: #0b2d6b; }
.work-heading h2 em { color: #0066d6; }
.work-heading p:not(.section-label) { color: #58738e; }
.section-label.light { color: #476c8f; }
.work-card {
  background: #f1f8ff;
  border-color: #cddff0;
  box-shadow: 0 11px 34px rgba(16,77,132,.065);
}
.work-art { background: linear-gradient(138deg,#76c9f9 0%,#2184d7 57%,#124e9f 100%); }
.art-two { background: radial-gradient(circle at 60% 48%,#9cdbff,#2d91d7 55%,#0e569f); }
.work-art::before {
  background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
}
.art-letter { color: rgba(255,255,255,.24); }
.work-card-bottom>span { color: #0665b6; }
.work-card-bottom h3 { color: #0b2d6b; }
.work-card-bottom p { color: #5f7994; }
.work-note { color: #647f98; }
.work-note span { color: #0078df; }

/* Contact keeps the same telephone CTA; only its presentation is updated. */
.contact-section { color: #0b2d6b; background: #eaf5ff; }
.contact-main h2 em { color: #0066d6; }
.contact-main>p:not(.section-label) { color: #4f6d8c; }
.button-white { color: #fff; background: #0067df; }
.button-white:hover { background: #0054b8; }
.contact-details {
  background: #fff;
  border-color: #cfdfef;
  box-shadow: 0 16px 42px rgba(17,83,142,.075);
}
.contact-details-label { color: #0064bd; }
.contact-details>strong { color: #0b2d6b; }
.contact-item { border-color: #dbe6f1; }
.contact-item>span { color: #456e94; }
.contact-item>a,.contact-item>p { color: #294c70; }
.contact-item>a:hover { color: #0066d6; }
.verification-note { color: #4f6c87; }

/* The only full-width dark surface is the footer. Blue-on-white mark becomes a crisp white pictogram. */
.footer { background: #0b2d6b; color: #c2d6ea; }
.footer-brand img {
  width: 54px;
  height: 46px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.footer-top { border-bottom-color: rgba(225,238,255,.19); }
.footer-brand { color: #fff; }
.back-to-top { color: #e4f0fc; }

/* Responsive menu must remain high-contrast after switching from dark to light navigation. */
@media (max-width: 800px) {
  .brand img { width: 47px; height: 40px; }
  .menu-toggle { border-color: #abcde7; }
  .menu-toggle span { background: #0b2d6b; }
  .main-nav { background: #fff; border-bottom-color: #d4e6f4; box-shadow: 0 14px 28px rgba(18,72,126,.10); }
  .main-nav>a { color: #19436b; border-bottom-color: #e5eff7; }
  .main-nav .nav-contact { border-color: #b7d3ed; color: #0753a4; }
}


/* HAI LAM v0.3 — scoped ownership/privacy additions; original v0.2 rules retained */
/* v0.7 — collapsed-by-default, keyboard-accessible privacy disclosure */
.contact-privacy { margin-top: 22px; border: 1px solid #c7d9ea; border-radius: 6px; background: #f8fbff; overflow: hidden; }
.contact-privacy-toggle { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 17px; cursor: pointer; list-style: none; color: #0b2d6b; font-weight: 700; font-size: 15px; line-height: 1.45; }
.contact-privacy-toggle::-webkit-details-marker { display: none; }
.contact-privacy-toggle::marker { content: ""; }
.contact-privacy-toggle::after { content: ""; flex: 0 0 9px; width: 9px; height: 9px; border-right: 2px solid #0b2d6b; border-bottom: 2px solid #0b2d6b; transform: rotate(45deg); margin: -5px 3px 0 0; }
.contact-privacy[open] .contact-privacy-toggle::after { transform: rotate(225deg); margin-top: 5px; }
.contact-privacy-toggle:hover { background: #eef6fe; }
.contact-privacy-toggle:focus-visible { outline: 2px solid #0066d6; outline-offset: -3px; }
.contact-privacy-content { padding: 12px 17px 15px; border-top: 1px solid #dbe6f1; }
.contact-privacy-content p { margin: 0 0 10px; color: #365c80; font-size: 13px; line-height: 1.78; }
.contact-privacy-content p:last-child { margin-bottom: 0; }
.contact-privacy-content a { color: #0059bc; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.contact-privacy-content a:hover, .contact-privacy-content a:focus-visible { color: #003a82; }
.footer-policy-link { color: #d7eaff; text-decoration: underline; text-underline-offset: 3px; }
.footer-policy-link:hover, .footer-policy-link:focus-visible { color: #fff; }
.policy-body { background: #f7fbff; color: #173b62; }
.policy-header { padding: 25px 0; background: #fff; border-bottom: 1px solid #e0eaf2; }
.policy-header .container { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.policy-header a { color: #0059bc; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.policy-name { font-size: 16px; font-weight: 850; color: #0b2d6b; text-transform: uppercase; letter-spacing: .08em; }
.policy-main { padding: 76px 0 88px; }
.policy-article { width: min(100%, 850px); margin: 0 auto; }
.policy-article .section-label { color: #0064bd; }
.policy-article h1 { font-size: clamp(34px, 5vw, 53px); color: #0b2d6b; line-height: 1.16; letter-spacing: -.02em; }
.policy-article h2 { font-size: 21px; color: #0b2d6b; margin-top: 34px; margin-bottom: 12px; }
.policy-article p,.policy-article li { font-size: 15px; line-height: 1.85; color: #365c80; }
.policy-article ul { padding-left: 23px; }
.policy-article a { color: #0059bc; text-decoration: underline; text-underline-offset: 3px; }
.policy-meta { font-size: 12px !important; color: #6d8199 !important; margin: 12px 0 28px; }
.policy-alert { border-left: 3px solid #5b92c3; padding: 13px 16px; background: #edf5ff; border-radius: 0 5px 5px 0; }
.policy-foot { padding: 25px 0 35px; border-top: 1px solid #dce9f3; font-size: 12px; background: #fff; }
.policy-foot .container { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
@media (max-width: 560px) { .contact-privacy-toggle { padding: 12px 14px; font-size: 14px; } .contact-privacy-content { padding: 10px 14px 14px; } .policy-main { padding: 48px 0 65px; } .policy-header .container { align-items: flex-start; } .policy-name { font-size: 12px; } }

/* v0.5 — understated legal details integrated into the existing footer */
.footer-legal-compact {padding: 10px 0 8px; border-bottom: 1px solid rgba(201,225,244,.13); color: #a9bed5; font-size: 11px; line-height: 1.65;}
.footer-legal-compact p {margin: 0;}
.footer-legal-compact p + p {margin-top: 2px;}
.footer-legal-primary {display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px;}
.footer-legal-primary strong {font-size: 12px; font-weight: 650; color: #e3eefa;}
.footer-legal-inline::before {content: "·"; margin-right: 8px; color: #7895b1;}
.footer-legal-secondary {display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 9px;}
.footer-legal-secondary > a::before {content: "·"; margin-right: 9px; color: #7895b1; text-decoration: none; display: inline-block;}
.footer-legal-compact a {color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
.footer-legal-compact a:hover, .footer-legal-compact a:focus-visible {color: #fff;}
.footer-legal-compact .footer-legal-note {font-size: 9px; color: #89a0b8;}
.footer .footer-bottom {padding: 10px 0 14px;}
.policy-foot {padding: 0 0 16px;}
.policy-foot .footer-legal-compact.container {display: block; padding-top: 13px; padding-bottom: 10px; border-bottom: 1px solid #e0eaf2; color: #536f89;}
.policy-foot .footer-legal-primary strong {color: #173b62;}
.policy-foot .footer-legal-inline::before, .policy-foot .footer-legal-secondary > a::before {color: #8da4b9;}
.policy-foot .footer-legal-compact a:hover, .policy-foot .footer-legal-compact a:focus-visible {color: #0059bc;}
.policy-foot .footer-legal-compact .footer-legal-note {color: #7189a0;}
.policy-foot .policy-foot-bottom.container {display: flex; padding-top: 12px;}
.policy-foot-bottom a {color: #0059bc; text-decoration: underline; text-underline-offset: 3px;}
@media (max-width: 560px) {
  .footer-legal-compact {padding: 10px 0 9px; font-size: 10px; line-height: 1.6;}
  .footer-legal-primary {gap: 0 5px;}
  .footer-legal-primary strong {font-size: 11px;}
  .footer-legal-inline::before {margin-right: 5px;}
  .footer-legal-secondary {gap: 0 6px;}
  .footer-legal-secondary > a::before {margin-right: 6px;}
  .footer-legal-compact .footer-legal-note {font-size: 9px;}
  .footer .footer-bottom {gap: 5px;}
}
