/* SiGram public site styles (carried over from the original site). */
:root { --ink: #07111f; --aqua: #00f4cf; --aqua-deep: #007d73; --magenta: #ff009e; --paper: #f2f6fa; --line: rgba(112, 151, 157, .22); --font-sans-stack: Helvetica, "Arial Nova", "Aptos Light", Arial, sans-serif; --font-mono-stack: Helvetica, "Arial Nova", "Aptos Light", Arial, sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: #f7fbff; font-family: var(--font-sans-stack); }
a { color: inherit; text-decoration: none; }
.site-header { height: 104px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 5vw, 76px); position: absolute; inset: 0 0 auto; z-index: 10; border-bottom: 1px solid rgba(0,244,207,.14); background:linear-gradient(180deg,rgba(4,17,29,.78),rgba(4,17,29,.22)); backdrop-filter:blur(10px); }
.brand { display: flex; align-items: center; gap: 15px; padding:9px 14px 9px 10px; border:1px solid rgba(0,244,207,.17); border-left:3px solid var(--aqua); background:linear-gradient(110deg,rgba(255,255,255,.07),rgba(255,255,255,.015)); box-shadow:0 12px 34px rgba(0,0,0,.18); letter-spacing: -.02em; transition:border-color .2s,background .2s,transform .2s; }
.brand:hover,.brand:focus-visible { transform:translateY(-2px); border-color:rgba(0,244,207,.48); background:rgba(255,255,255,.08); }
.brand-mark { display: grid; place-items: center; width: 72px; height: 48px; padding-right:14px; border-right:1px solid rgba(255,255,255,.18); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; filter:drop-shadow(0 0 10px rgba(0,244,207,.24)); }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 20px; font-weight:650; letter-spacing:-.025em; }.brand small { color: #a9c1c6; font:600 9px var(--font-mono-stack); text-transform: uppercase; letter-spacing: .16em; margin-top: 4px; }
.header-link { font: 600 13px var(--font-mono-stack); text-transform: uppercase; letter-spacing: .08em; }.header-link span { color: var(--aqua); margin-left: 5px; font-size:18px; }
.hero { min-height: 780px; position: relative; overflow: hidden; padding: 190px clamp(24px, 8vw, 124px) 92px; background: radial-gradient(circle at 78% 42%, rgba(0,244,207,.13), transparent 29%), radial-gradient(circle at 66% 26%, rgba(255,0,158,.06), transparent 24%), linear-gradient(135deg,#07111f 0%,#0a2026 55%,#06101d 100%); border-bottom: 1px solid var(--line); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .40; background-image: linear-gradient(rgba(67,123,173,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(67,123,173,.18) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to right, #000, transparent 75%); }
.eyebrow,.kicker { position: relative; font: 600 11px var(--font-mono-stack); text-transform: uppercase; letter-spacing: .18em; color: #a7bfd5; }.eyebrow { display: flex; align-items: center; gap: 10px; }.eyebrow span { width: 28px; height: 1px; background: var(--aqua); }
.hero h1 { position: relative; max-width: 900px; margin: 25px 0 24px; font-size: clamp(58px, 7.5vw, 112px); line-height: .92; letter-spacing: -.035em; font-weight: 590; }.hero h1 em { color: var(--aqua); font-style: normal; }
.hero-copy { position: relative; max-width: 580px; color: #aec1d2; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.55; }
.hero-actions { position: relative; display: flex; align-items: center; gap: 38px; margin-top: 46px; }.primary-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; min-width: 270px; border-left:3px solid var(--aqua); background:#0b5c56; font: 650 12px var(--font-mono-stack); text-transform: uppercase; letter-spacing: .06em; transition: transform .2s, background .2s; }.primary-action:hover,.primary-action:focus-visible { transform: translateY(-3px); background:#0d7169; }
.hero-actions p { margin: 0; color: #718ba3; font: 11px/1.6 var(--font-mono-stack); text-transform: uppercase; letter-spacing: .05em; }.hero-actions strong { color: #d9e7f4; }
.hero-watermark { position:absolute; width:clamp(520px,58vw,820px); right:clamp(-330px,-9vw,-70px); top:135px; opacity:.11; pointer-events:none; transform:rotate(-5deg); mix-blend-mode:screen; mask-image:radial-gradient(ellipse at center,#000 38%,transparent 76%); }.hero-watermark img { display:block; width:100%; height:auto; filter:saturate(.72) brightness(1.25); }
.capabilities { background: var(--paper); color: #0a1827; padding: 110px clamp(24px, 6vw, 96px); display: grid; grid-template-columns: minmax(250px, .75fr) 2fr; gap: clamp(50px, 8vw, 130px); }.kicker { color: var(--aqua-deep); }.section-intro h2,.contact h2 { font-size: clamp(42px, 5vw, 72px); line-height: .96; letter-spacing: -.025em; margin: 20px 0 30px; }.section-intro > p:last-child { color: #607388; line-height: 1.7; max-width: 340px; }
.service-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #cbd7e2; border-left: 1px solid #cbd7e2; }.service-card { min-height: 280px; padding: 28px; border-right: 1px solid #cbd7e2; border-bottom: 1px solid #cbd7e2; position: relative; transition: background .25s, transform .25s; }.service-card:last-child:nth-child(odd) { grid-column:1 / -1; min-height:240px; }.service-card:hover { background: #fff; transform: translateY(-4px); box-shadow: 0 18px 50px rgba(14,39,65,.08); }.service-card > span { color: #7790a8; font: 11px var(--font-mono-stack); }
.service-icon { position:relative; width:72px; height:72px; margin:20px 0; color:var(--aqua-deep); }.service-icon::before,.service-icon::after { content:""; position:absolute; box-sizing:border-box; }.icon-code::before { content:"</>"; inset:11px auto auto 0; color:var(--aqua-deep); font:700 29px/1 var(--font-mono-stack); letter-spacing:-.16em; }.icon-code::after { width:48px; height:9px; left:3px; bottom:11px; border-left:3px solid var(--magenta); border-bottom:3px solid var(--aqua); }.icon-secure::before { width:42px; height:48px; left:4px; top:4px; border:3px solid var(--aqua-deep); background:linear-gradient(135deg,rgba(0,244,207,.17),rgba(255,0,158,.12)); clip-path:polygon(50% 0,100% 17%,90% 74%,50% 100%,10% 74%,0 17%); }.icon-secure::after { width:19px; height:16px; left:16px; top:28px; border:3px solid var(--magenta); border-radius:2px; box-shadow:0 -10px 0 -5px #f2f6fa,0 -13px 0 -2px var(--magenta); }.icon-prototype::before { width:50px; height:50px; left:1px; top:2px; border:3px solid var(--aqua-deep); border-radius:50%; background:radial-gradient(circle,#ff009e 0 4px,transparent 5px),linear-gradient(90deg,transparent 47%,rgba(0,125,115,.7) 47% 53%,transparent 53%),linear-gradient(transparent 47%,rgba(0,125,115,.7) 47% 53%,transparent 53%); }.icon-prototype::after { width:15px; height:15px; right:7px; bottom:9px; border:3px solid var(--magenta); transform:rotate(45deg); }.icon-print::before { width:54px; height:56px; left:0; top:1px; background:linear-gradient(145deg,rgba(0,244,207,.24),rgba(0,125,115,.42) 49%,rgba(255,0,158,.4) 50%,rgba(255,0,158,.18)); clip-path:polygon(50% 0,100% 26%,100% 75%,50% 100%,0 75%,0 26%); }.icon-print::after { width:39px; height:18px; left:8px; top:24px; border-top:3px solid #f2f6fa; border-bottom:3px solid #f2f6fa; box-shadow:0 8px 0 -5px var(--magenta); }.icon-web::before { width:58px; height:44px; left:0; top:6px; border:3px solid var(--aqua-deep); background:linear-gradient(90deg,rgba(0,244,207,.48) 0 30%,transparent 30% 37%,rgba(255,0,158,.45) 37% 72%,transparent 72%); box-shadow:inset 0 9px 0 #d7e8e6; }.icon-web::after { width:7px; height:7px; left:6px; top:9px; border-radius:50%; background:var(--magenta); box-shadow:11px 0 0 var(--aqua-deep),22px 0 0 #8ab6b2; }.service-card h3 { font-size: 20px; margin: 0 0 13px; }.service-card p { color: #607388; font-size: 14px; line-height: 1.6; margin: 0; }
.contact { padding:105px clamp(24px,8vw,124px); background:radial-gradient(circle at 88% 20%,rgba(255,0,158,.14),transparent 30%),radial-gradient(circle at 18% 82%,rgba(0,244,207,.12),transparent 32%),linear-gradient(120deg,#0b2024,#07161f); position:relative; overflow:hidden; }.contact::after { content:""; position:absolute; width:440px; height:440px; border:1px solid rgba(0,244,207,.68); border-radius:50%; right:-100px; top:-170px; pointer-events:none; background:radial-gradient(circle at 36% 36%,rgba(0,244,207,.28),transparent 30%),radial-gradient(circle at 68% 58%,rgba(255,0,158,.24),transparent 38%); box-shadow:0 0 70px rgba(0,244,207,.18),inset 0 0 48px rgba(255,0,158,.13); }.contact-copy { position:relative; z-index:1; max-width:760px; }.contact .kicker { color:var(--aqua); }.contact h2 { margin-bottom:16px; }.contact-copy > p:not(.kicker) { color:#c9dadd; }.contact-email { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; margin-top:35px; padding:16px 18px; border:0; border-top:3px solid var(--aqua); background:#fff; color:#075f58; cursor:pointer; font:700 12px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.08em; transition:transform .2s,box-shadow .2s; }.contact-email:hover,.contact-email:focus-visible { transform:translateY(-3px); box-shadow:0 15px 35px rgba(0,244,207,.12); }
.contact-dialog { width:min(920px,calc(100vw - 32px)); max-height:calc(100vh - 32px); margin:auto; padding:0; border:1px solid #a9c3c3; background:#f3f7f6; color:#0a1827; box-shadow:0 35px 100px rgba(0,10,20,.55); }.contact-dialog::backdrop { background:rgba(2,10,14,.82); backdrop-filter:blur(5px); }.contact-dialog-panel { padding:clamp(26px,4vw,52px); }.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:28px; border-bottom:1px solid #c5d6d4; }.dialog-heading .kicker { display:inline-block; max-width:620px; margin:0 0 14px; padding:8px 12px; border-left:4px solid var(--magenta); background:#123f3b; color:#fff; font-weight:700; line-height:1.5; letter-spacing:.09em; }.dialog-heading h2 { margin:0; max-width:640px; font-size:clamp(34px,5vw,58px); line-height:.98; letter-spacing:-.05em; }.dialog-close { display:grid; place-items:center; width:46px; height:46px; padding:0; flex:0 0 auto; border:1px solid #9fb7b5; background:transparent; color:#173e3b; cursor:pointer; font:300 38px/.8 var(--font-sans-stack); }.project-form { display:grid; gap:20px; padding-top:28px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.project-form label { display:grid; gap:8px; color:#30475e; font:650 11px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.07em; }.project-form label > span { color:#7c8fa0; font-weight:500; }.project-form input:not([type="checkbox"]),.project-form textarea { width:100%; border:1px solid #abc2c0; border-radius:0; background:#fff; color:#0a1827; padding:13px 14px; outline:none; font:15px var(--font-sans-stack); text-transform:none; letter-spacing:normal; }.project-form textarea { resize:vertical; min-height:120px; }.project-form input:focus,.project-form textarea:focus { border-color:var(--aqua-deep); box-shadow:0 0 0 3px rgba(0,125,115,.13); }.file-field { padding:18px; border:1px dashed #81a5a2; background:#e7f1f0; }.file-field input { padding:0!important; border:0!important; background:transparent!important; }.file-field small { color:#657c91; font:11px/1.5 var(--font-sans-stack); text-transform:none; letter-spacing:normal; }.cui-confirmation { grid-template-columns:18px 1fr!important; align-items:start; gap:12px!important; padding:15px; border-left:3px solid var(--magenta); background:#fff0f8; color:#6a213f!important; font:12px/1.55 var(--font-sans-stack)!important; text-transform:none!important; letter-spacing:normal!important; }.cui-confirmation input { margin:2px 0 0; accent-color:var(--magenta); }.cui-confirmation span { color:inherit!important; }.website-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.form-error { margin:0; padding:12px 14px; border-left:3px solid #c22a50; background:#ffe9ef; color:#812039; font-size:13px; }.form-actions { display:flex; justify-content:flex-end; gap:12px; padding-top:6px; }.form-actions button,.form-success button { padding:14px 20px; border:1px solid #91aaa7; background:transparent; color:#234b47; cursor:pointer; font:650 11px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.07em; }.form-actions button[type="submit"],.form-success button { border-color:var(--aqua-deep); border-bottom:3px solid var(--magenta); background:var(--aqua-deep); color:#fff; }.form-actions button:disabled { cursor:wait; opacity:.6; }.form-privacy { margin:0; color:#6d8296; font-size:11px; line-height:1.55; }.form-success { display:grid; justify-items:start; gap:10px; padding:54px 0 20px; }.form-success > span { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--aqua-deep); color:#fff; font-size:24px; }.form-success h3 { margin:12px 0 0; font-size:32px; }.form-success p { color:#567086; }.form-success button { margin-top:12px; }
.nonsecure-warning { position:relative; padding:clamp(26px,5vw,58px); border:2px solid var(--magenta); background:radial-gradient(circle at 90% 10%,rgba(255,0,158,.2),transparent 32%),linear-gradient(145deg,#151019,#071b1c); color:#fff; box-shadow:inset 0 0 0 6px rgba(255,0,158,.06); }.warning-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.2); color:#fff; cursor:pointer; font:300 38px/.8 var(--font-sans-stack); }.warning-badge { display:inline-block; margin:0 0 25px; padding:8px 11px; background:var(--magenta); color:#fff; font:700 10px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.12em; }.warning-symbol { display:grid; place-items:center; width:92px; height:92px; margin-bottom:25px; border:3px solid var(--aqua); border-radius:50%; color:var(--aqua); font:700 58px/1 var(--font-mono-stack); }.nonsecure-warning h2 { max-width:720px; margin:0 0 20px; font-size:clamp(38px,6vw,68px); line-height:.95; letter-spacing:-.055em; }.warning-lead { max-width:720px; margin:0; color:#dbe9e8; font-size:16px; line-height:1.65; }.secure-route-button { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; margin:28px 0; padding:15px 16px; border:1px solid var(--aqua); background:rgba(0,244,207,.08); color:#fff; cursor:pointer; font:700 12px var(--font-mono-stack); text-align:left; text-transform:uppercase; letter-spacing:.07em; }.secure-route-button:hover,.secure-route-button:focus-visible { background:rgba(0,244,207,.16); }.warning-confirmation { display:grid; grid-template-columns:20px 1fr; align-items:start; gap:13px; padding:18px; border-left:4px solid var(--magenta); background:rgba(255,255,255,.08); color:#fff; font:13px/1.55 var(--font-sans-stack); }.warning-confirmation input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--magenta); }.warning-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }.warning-actions button { padding:14px 18px; border:1px solid rgba(255,255,255,.4); background:transparent; color:#fff; cursor:pointer; font:650 11px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.07em; }.warning-actions button:last-child { border-color:var(--aqua); background:var(--aqua-deep); }.warning-actions button:disabled { cursor:not-allowed; opacity:.36; }
.primary-action span,.contact-email span,.secure-route-button span { display:inline-grid; place-items:center; flex:0 0 auto; padding:0; font-size:22px; line-height:1; letter-spacing:0; }
.file-field { gap:12px!important; padding:22px!important; border:2px solid #57827f!important; border-left:6px solid var(--aqua-deep)!important; background:linear-gradient(135deg,#dcecea,#edf5f4)!important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 10px 28px rgba(10,53,50,.09); color:#153c39!important; }
.file-field > .file-field-title { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#123f3b; font:750 11px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.07em; }
.file-field-title em { padding:5px 8px; background:#c2d7d5; color:#405d5b; font:650 9px var(--font-mono-stack); font-style:normal; letter-spacing:.08em; }
.file-field > .file-field-instruction { color:#405f5c; font:14px/1.45 var(--font-sans-stack); text-transform:none; letter-spacing:normal; }
.file-field .file-input { position:absolute; width:1px; height:1px; padding:0!important; border:0!important; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.file-picker-row { display:flex; align-items:center; gap:14px; padding:12px; border:1px solid #799c99; background:#fff; color:#536f6c; font:13px var(--font-sans-stack); }
.file-picker-button { display:inline-flex!important; align-items:center; min-height:38px; padding:9px 13px; border-left:3px solid var(--magenta); background:#123f3b; color:#fff!important; cursor:pointer; font:650 10px var(--font-mono-stack)!important; text-transform:uppercase!important; letter-spacing:.07em!important; }
.file-picker-button:hover,.file-picker-button:focus-visible { background:#1b5a55; }
.file-picker-row > span { color:#536f6c!important; font:13px var(--font-sans-stack); text-transform:none; letter-spacing:normal; }
.file-field > small { color:#536f6c; }
.file-selection-error { margin:0; padding:10px 12px; border-left:3px solid var(--magenta); background:#fff0f8; color:#7d1c57; font:13px/1.45 var(--font-sans-stack); text-transform:none; letter-spacing:normal; }
.file-selection-summary { display:grid; gap:10px; padding:14px 15px; border:1px dashed #89aaa7; background:rgba(255,255,255,.55); color:#637b79; font:12px var(--font-sans-stack); text-transform:none; letter-spacing:normal; }
.file-selection-summary.has-files { border-style:solid; border-color:#4f8b84; background:#fff; color:#173f3b; }
.file-selection-summary > strong { font:700 10px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.08em; }
.file-selection-summary ol { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.file-selection-summary li { display:grid; grid-template-columns:32px minmax(0,1fr) auto 34px; align-items:center; gap:10px; padding:9px 10px; border-left:3px solid var(--aqua-deep); background:#edf5f4; }
.file-index { display:grid; place-items:center; width:28px; height:28px; background:#123f3b; color:var(--aqua); font:700 9px var(--font-mono-stack); }
.file-name { overflow:hidden; color:#153c39!important; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.file-size { color:#607b78!important; font:650 10px var(--font-mono-stack); white-space:nowrap; }
.file-remove { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #bd527c; background:#fff; color:#9b2454; cursor:pointer; font:400 27px/.8 var(--font-sans-stack); transition:background .15s,color .15s,border-color .15s; }
.file-remove:hover,.file-remove:focus-visible { border-color:var(--magenta); background:var(--magenta); color:#fff; }
.email-verification { display:grid; gap:15px; padding:19px; border:1px solid #9cbab7; border-left:4px solid var(--aqua-deep); background:#edf5f4; }.verification-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.verification-heading span { display:block; margin-bottom:5px; color:#687f7d; font:650 9px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.11em; }.verification-heading h3 { margin:0; color:#173f3b; font-size:20px; letter-spacing:-.02em; }.verification-heading strong { padding:7px 9px; background:#d8f7f1; color:#006c61; font:700 10px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.07em; }.email-verification > p { margin:0; color:#57706e; font-size:13px; line-height:1.55; }.verification-request { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:center; gap:16px; }.turnstile-widget { min-height:65px; }.verification-request button,.verification-code button { padding:13px 16px; border:1px solid var(--aqua-deep); background:var(--aqua-deep); color:#fff; cursor:pointer; font:650 10px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.07em; }.verification-request button:disabled,.verification-code button:disabled { cursor:not-allowed; opacity:.45; }.verification-code { display:grid; grid-template-columns:minmax(180px,1fr) auto; align-items:end; gap:14px; }.verification-code label { margin:0; }.verification-code input { font-family:var(--font-mono-stack)!important; font-size:20px!important; letter-spacing:.18em!important; }.verification-message { margin:0!important; padding:10px 12px; border-left:3px solid var(--aqua-deep); background:#dbf4f0; color:#075f56!important; }.verification-message.error { border-left-color:var(--magenta); background:#fff0f8; color:#7d1c57!important; }
footer { min-height: 90px; padding: 0 clamp(24px, 6vw, 96px); display:flex; align-items:center; justify-content:space-between; color:#7890a5; font:10px var(--font-mono-stack); text-transform:uppercase; letter-spacing:.08em; }

/* Keep the safety notice large, but do not let its letters collide. */
.nonsecure-warning h2 { letter-spacing: -.02em; }

/* A guided, visual sequence for the inquiry form. */
.workflow-contact { order:1; }.workflow-details { order:2; }.workflow-project { order:3; }.workflow-files { order:4; }.workflow-verification { order:5; scroll-margin-top:18px; }.workflow-confirmation { order:6; }.project-form > .form-error { order:7; }.workflow-actions { order:8; }.workflow-privacy { order:9; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media (max-width: 820px) { .hero { min-height:700px; padding-top:175px; }.hero-watermark { width:620px; right:-330px; top:250px; opacity:.08; }.hero-actions { align-items:flex-start; flex-direction:column; }.capabilities { grid-template-columns:1fr; }.service-grid { margin-top:10px; }.contact { grid-template-columns:1fr; } }
@media (max-width: 520px) { .site-header { height:96px; padding-inline:16px; }.brand { width:100%; gap:12px; padding:8px 10px 8px 8px; }.brand-mark { width:64px; height:44px; padding-right:12px; }.brand strong { font-size:18px; }.brand small { font-size:8px; letter-spacing:.12em; }.hero h1 { font-size:52px; }.hero-copy { font-size:16px; }.hero-actions p { display:none; }.primary-action { width:100%; min-width:0; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:245px; }.contact-email { width:100%; }.contact-dialog { width:100vw; max-height:100vh; height:100vh; border:0; }.contact-dialog-panel { padding:20px; }.form-row { grid-template-columns:1fr; }.form-actions,.warning-actions { flex-direction:column-reverse; }.form-actions button,.warning-actions button { width:100%; }.dialog-heading h2 { font-size:36px; }.nonsecure-warning { min-height:calc(100vh - 40px); padding:25px 20px; }.warning-close { top:12px; right:12px; }.warning-badge { margin-right:54px; }.warning-symbol { width:76px; height:76px; font-size:48px; }.nonsecure-warning h2 { font-size:40px; }.verification-heading,.verification-request,.verification-code { grid-template-columns:1fr; }.verification-heading { display:grid; }.verification-heading strong { justify-self:start; }.turnstile-widget { max-width:100%; overflow:hidden; }.verification-request button,.verification-code button { width:100%; } footer { padding-block:30px; gap:20px; flex-direction:column; align-items:flex-start; } }

/* --- Additions for the rebuilt site --- */
.header-nav { display:flex; align-items:center; gap:clamp(18px,3vw,40px); }
.header-link { transition:color .2s; }
.header-link:hover,.header-link:focus-visible { color:var(--aqua); }
.portal-link { padding:10px 14px; border:1px solid rgba(0,244,207,.35); background:rgba(0,244,207,.06); }
.portal-link:hover,.portal-link:focus-visible { border-color:var(--aqua); background:rgba(0,244,207,.12); color:#fff; }
footer a { color:#a9c1c6; }
footer a:hover,footer a:focus-visible { color:var(--aqua); }
.noscript-note { margin-top:20px; color:#c9dadd; }
.noscript-note a { color:var(--aqua); text-decoration:underline; }
.project-form label > span[data-role="project-label"] { color:inherit; font-weight:inherit; }
.form-error a { text-decoration:underline; }
.project-form label > span.label-text { color:inherit; font-weight:inherit; }
.project-form label > span.label-text small { color:#7c8fa0; font-size:inherit; font-weight:500; }
/* Narrow screens: keep BOTH header buttons. Tablets: smaller buttons beside the logo.
   Phones: logo on top, the two buttons share a full-width row underneath. */
@media (max-width: 820px) { .header-nav { gap:10px; } .header-link { font-size:11px; white-space:nowrap; } .project-link { padding:10px 12px; border:1px solid rgba(255,255,255,.22); } }
@media (max-width: 600px) {
  .site-header { height:auto; flex-wrap:wrap; gap:12px; padding-block:14px; }
  .site-header .brand { width:100%; }
  .header-nav { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .header-nav .header-link { display:flex; justify-content:center; align-items:center; padding:11px 8px; }
  .hero { padding-top:225px; }
}
