/* HGLR / Brand system — one public stylesheet, no demo or legacy layers. */
:root{--bg:#091522;--surface:#112237;--surface-raised:#192d44;--ink:#f4f8ff;--muted:#b7c8db;--faint:#8da9c4;--accent:#8cc1ff;--signal:#72d4c1;--line:rgba(166,199,235,.22);--max:1200px;--radius:16px;color-scheme:dark}
:root[data-theme=light]{--bg:#f4f7fb;--surface:#fff;--surface-raised:#e8f0f8;--ink:#142b43;--muted:#4d6278;--faint:#5e7690;--accent:#175cac;--signal:#227e70;--line:rgba(45,91,135,.19);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em}em{font-family:Georgia,ui-serif,serif;font-weight:400;color:var(--accent);letter-spacing:-.04em}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-10000px;top:10px;z-index:1000;background:var(--accent);color:var(--bg);padding:12px}.skip-link:focus{left:10px}.eyebrow{margin:0 0 20px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.19em}
/* Header */
.site-header{position:sticky;top:0;z-index:90;height:76px;background:var(--bg);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:10px;flex:none;font-size:19px;font-weight:850;line-height:1;letter-spacing:-.045em}.brand-symbol{width:43px;height:43px;object-fit:contain}.wordmark-sub{display:block;margin-top:5px;font-size:8px;letter-spacing:.25em;color:var(--muted)}.desktop-nav{display:flex;gap:5px;align-items:center;margin-left:auto}.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;font-size:13px;font-weight:650;color:var(--muted)}.desktop-nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:12px}.header-login{display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12px;font-weight:750}.header-login span{color:var(--accent)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.menu-toggle span{display:block;width:18px;height:2px;margin:4px auto;background:var(--ink)}.mobile-nav{display:none}.mobile-nav .theme-switch{justify-self:start;margin-top:14px}
/* The hero belongs to HGLR. Its mark is the only image above the fold. */
.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:28px;align-items:center;min-height:655px;padding-block:68px 72px}.hero-copy{min-width:0;position:relative;z-index:1}.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px}.hero-copy>.eyebrow::before{content:"";width:27px;height:2px;background:var(--accent)}.hero h1{font-size:clamp(49px,5.25vw,71px);font-weight:750;line-height:1.1;margin:0 0 27px}.hero h1 em{display:inline-block;max-width:100%;line-height:1.14}.hero-lead{max-width:475px;color:var(--muted);font-size:16px;line-height:1.75;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 19px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:750;line-height:1.4;transition:background .18s,border-color .18s,transform .18s}.button.primary{background:var(--accent);color:#091522}.button.primary:hover{background:#aad1ff;transform:translateY(-2px)}:root[data-theme=light] .button.primary{color:#fff}:root[data-theme=light] .button.primary:hover{background:#0b4c93}.button.quiet{border-color:var(--line);background:var(--surface);color:var(--ink)}.button.quiet:hover{border-color:var(--accent)}.button.full{width:100%}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--muted);font-size:13px;font-weight:700}.text-link span{color:var(--accent);font-size:19px}.text-link:hover{color:var(--accent)}.hero-personal{display:flex;align-items:center;gap:10px;margin:30px 0 0;color:var(--faint);font-size:11px;line-height:1.5}.hero-personal>span{display:grid;place-items:center;flex:none;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;font-size:9px;font-weight:800;color:var(--accent)}
.brand-visual{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;aspect-ratio:1;min-width:0;overflow:hidden}.brand-plane{position:absolute;display:block;z-index:-1;pointer-events:none}.brand-plane-back{inset:7% 4% 10% 10%;clip-path:polygon(30% 0,100% 0,70% 100%,0 100%);background:linear-gradient(142deg,color-mix(in srgb,var(--accent) 15%,transparent),color-mix(in srgb,var(--accent) 3%,transparent) 72%)}.brand-plane-front{inset:23% 8% 14% 2%;clip-path:polygon(0 0,33% 0,100% 100%,67% 100%);background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 2%,transparent),color-mix(in srgb,var(--accent) 13%,transparent))}.brand-visual::before{content:"";position:absolute;inset:9% 11% 13%;z-index:-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transform:skewY(-17deg);pointer-events:none}.brand-hero-mark{display:block;width:76%;height:auto;object-fit:contain;position:relative;z-index:1}.brand-signature{position:absolute;bottom:13%;left:7%;z-index:2;color:var(--ink);font-weight:850;font-size:clamp(20px,2.5vw,32px);line-height:.95;letter-spacing:-.065em}.brand-signature>span{display:block;color:var(--faint);font-size:8px;letter-spacing:.27em;margin-top:8px}.brand-caption{position:absolute;bottom:3%;left:7%;right:7%;color:var(--faint);font-size:8px;letter-spacing:.15em;font-weight:750;text-align:right}
@media(hover:hover){.brand-plane{transition:transform .45s ease}.brand-visual:hover .brand-plane-back{transform:translateY(-6px)}.brand-visual:hover .brand-plane-front{transform:translateY(5px)}}
/* Three short services, followed by one real reference. */
.section{padding-block:72px}.services-section{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2,.contact-intro h2{font-size:clamp(34px,3.9vw,49px);font-weight:700;line-height:1.15;margin:0}.section-heading>p{max-width:305px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{position:relative;min-width:0;padding:26px 26px 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .2s}.service-card:hover{border-color:var(--accent)}.service-number{display:block;margin-bottom:36px;color:var(--faint);font-size:10px;letter-spacing:.12em;font-weight:800}.service-icon{position:absolute;top:22px;right:24px;width:32px;height:32px;color:var(--accent)}.service-card h3{font-size:25px;margin:0 0 12px;font-weight:700}.service-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0;max-width:290px}.service-summary{display:flex;align-items:center;justify-content:center;gap:11px;margin:23px 0 0;color:var(--muted);font-size:12px;line-height:1.7;text-align:center}.service-summary>span{color:var(--accent);font-size:18px}.project-section{background:var(--surface);border-block:1px solid var(--line)}.project-card{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg)}.project-art{position:relative;display:grid;place-items:center;min-height:245px;padding:32px;background:linear-gradient(135deg,#342331,#142137);overflow:hidden}.portal-original-logo{display:block;width:min(84%,325px);height:auto}.portal-caption{position:absolute;bottom:19px;left:25px;right:25px;display:flex;justify-content:space-between;color:#d7c0cd;font-size:9px;font-weight:750;letter-spacing:.1em}.project-copy{display:flex;flex-direction:column;align-items:start;padding:32px 36px;min-width:0}.project-type{color:var(--faint);font-size:9px;font-weight:800;letter-spacing:.13em}.project-copy h3{font-size:33px;margin:17px 0 12px}.project-copy p{max-width:405px;margin:0 0 23px;color:var(--muted);font-size:14px;line-height:1.65}.project-visit{display:flex;align-items:center;gap:25px;margin-top:auto;min-height:44px;border-bottom:1px solid var(--accent);font-size:13px;font-weight:750}.project-visit span{color:var(--accent)}
/* Contact, sign-in and the same surfaces in the personal workspace. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,80px);align-items:center}.contact-intro h2{margin-bottom:22px}.contact-intro>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:15px;line-height:1.7}.contact-note{display:block;margin-top:27px;color:var(--faint);font-size:11px;letter-spacing:.03em}.contact-note span{color:var(--accent);margin-right:8px}.contact-form,.auth-card{display:grid;gap:16px;padding:30px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:8px;min-width:0;color:var(--muted);font-size:12px;font-weight:650}input,textarea,select{box-sizing:border-box;width:100%;min-width:0;min-height:45px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:16px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;line-height:1.5}.consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.6;font-weight:400}.consent input{flex:none;width:17px;height:17px;min-height:0;margin:3px 0 0;accent-color:var(--accent)}.consent a{text-decoration:underline}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-form>.button{justify-self:start}.form-result{min-height:18px;margin:0;font-size:12px;line-height:1.6;color:var(--accent);overflow-wrap:anywhere}.form-result.error{color:#ffa9ac}:root[data-theme=light] .form-result.error{color:#b1263a}.backlink{display:inline-flex;align-items:center;min-height:44px;margin:23px 0;color:var(--muted);font-size:12px;font-weight:700}.auth-view,.dashboard,.legal-view{min-height:calc(100svh - 76px);padding-bottom:70px}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(30px,7vw,95px);align-items:center;min-height:520px}.auth-layout h1{font-size:clamp(48px,6vw,75px);line-height:1.05;margin-bottom:24px}.auth-layout>div>p:last-child{max-width:400px;color:var(--muted);line-height:1.7}.auth-card-icon{object-fit:contain;width:56px;height:56px}.auth-card h2{font-size:27px;margin:8px 0 0}.auth-card>p:not(.form-result){color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:5px}.dashboard{padding-top:48px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:22px;padding-bottom:27px;margin-bottom:25px;border-bottom:1px solid var(--line)}.dashboard-head h1{font-size:clamp(31px,4vw,50px);line-height:1.14;margin:0 0 12px;overflow-wrap:anywhere}.dashboard-head p:last-child{color:var(--muted);font-size:14px;margin:0}.dashboard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-card{display:flex;flex-direction:column;align-items:start;min-width:0;min-height:245px;padding:28px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);transition:border-color .2s}.dashboard-card:nth-child(2){border-top-color:var(--signal)}.dashboard-card:hover{border-color:var(--accent)}.dashboard-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:24px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised);color:var(--accent);font-size:23px}.dashboard-caption{color:var(--faint);font-size:9px;font-weight:750;letter-spacing:.15em}.dashboard-card h2{font-size:27px;margin:10px 0}.dashboard-card p{color:var(--muted);font-size:14px;line-height:1.6;max-width:450px}.dashboard-link{display:flex;justify-content:space-between;align-self:stretch;margin-top:auto;padding-top:9px;font-size:13px;font-weight:750;color:var(--accent)}.is-unavailable{opacity:.7;cursor:default}.inquiries-panel,.legal-editor{margin-top:42px}.inquiries-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.inquiries-heading h2,.legal-editor h2{font-size:29px;margin:0 0 12px}.inquiries-list{display:grid;gap:12px}.inquiry{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.inquiry-head{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;overflow-wrap:anywhere}.inquiry p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:14px;line-height:1.7;margin-top:16px}.inquiry small{color:var(--faint);font-size:11px}.inquiry-actions a{overflow-wrap:anywhere}.legal-editor p{color:var(--muted);font-size:14px;line-height:1.7}.legal-editor form{display:grid;gap:18px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.legal-editor .button{justify-self:start}.legal-view{padding-top:25px;max-width:820px}.legal-view h1{font-size:clamp(40px,6vw,64px);overflow-wrap:anywhere}.legal-content{font-size:15px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.legal-content p{white-space:pre-wrap}.legal-content a{text-decoration:underline}
.site-footer{padding:38px 0;border-top:1px solid var(--line);background:var(--bg)}.footer-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr 1fr;gap:25px}.site-footer p{max-width:255px;margin:15px 0 0;font-size:12px;color:var(--muted);line-height:1.7}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:13px;font-size:12px}.footer-grid>div:not(:first-child)>span{color:var(--faint);font-size:9px;font-weight:800;letter-spacing:.14em}.footer-grid a:hover{color:var(--accent)}.footer-end{justify-content:end;color:var(--faint);line-height:1.8}
@media(min-width:1600px){.hero{min-height:730px}.brand-visual{max-height:520px}}
@media(max-width:1050px){.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:block}.mobile-nav{position:absolute;display:grid;top:76px;left:0;right:0;padding:12px 26px 20px;max-height:calc(100dvh - 76px);overflow-y:auto;background:var(--bg);border-bottom:1px solid var(--line)}.mobile-nav>a{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.mobile-nav .theme-switch{display:none}.hero{min-height:590px;gap:15px}.hero h1{font-size:clamp(43px,5.7vw,62px)}.service-card{padding:23px}.service-card h3{font-size:23px}.service-card p{font-size:13px}.auth-layout{gap:30px}.dashboard-head{flex-wrap:wrap}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-end{grid-column:1/-1}}
@media(max-width:800px){.hero{grid-template-columns:minmax(0,1fr);min-height:0;padding-block:42px 35px;gap:12px}.hero-copy{max-width:620px}.hero h1{font-size:clamp(46px,7.5vw,63px)}.hero-lead{max-width:570px}.brand-visual{width:min(80%,390px);margin-inline:auto}.hero-personal{margin-top:22px}.brand-signature{font-size:27px}.brand-caption{font-size:7px}.section{padding-block:52px}.service-grid{grid-template-columns:minmax(0,1fr);gap:12px}.service-card{padding:23px 25px}.service-number{margin-bottom:21px}.service-card h3{font-size:26px}.service-card p{max-width:100%;font-size:14px}.section-heading{flex-wrap:wrap;gap:18px}.section-heading>p{max-width:460px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:25px}.contact-intro>p:not(.eyebrow){max-width:520px}.project-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-art{min-height:245px;padding:20px}.project-copy{padding:27px}.project-copy h3{font-size:29px}.auth-layout{grid-template-columns:minmax(0,1fr);min-height:0;max-width:550px;margin-inline:auto}.auth-layout h1{font-size:54px}.auth-view .backlink{margin-bottom:28px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.site-header{height:68px}.header-inner{gap:8px}.brand-symbol{width:35px;height:35px}.wordmark{font-size:17px;gap:6px}.wordmark-sub{font-size:7px}.header-actions{gap:8px}.header-login{padding:0 10px;gap:8px;font-size:11px}.header-actions .theme-switch--header{display:none}.mobile-nav{top:68px;max-height:calc(100dvh - 68px);padding-inline:18px}.mobile-nav .theme-switch{display:inline-flex}.hero{padding-top:35px}.hero h1{font-size:clamp(41px,10.1vw,58px)}.hero-lead{font-size:15px}.hero-actions{gap:13px}.hero-personal{font-size:10px}.brand-visual{width:min(90%,340px)}.brand-hero-mark{width:76%}.brand-caption{font-size:6px}.section-heading h2,.contact-intro h2{font-size:clamp(32px,8.5vw,42px)}.eyebrow{margin-bottom:16px}.project-card{grid-template-columns:minmax(0,1fr)}.project-art{min-height:200px}.portal-original-logo{width:min(75%,290px)}.project-copy{padding:25px}.service-summary{font-size:11px}.contact-note{margin-top:18px}.contact-form,.auth-card{padding:23px 19px}.form-row{grid-template-columns:minmax(0,1fr)}.contact-form>.button{width:100%}.dashboard{padding-top:31px}.dashboard-head{align-items:start}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-card{padding:24px;min-height:230px}.dashboard-actions .button{font-size:12px}.inquiries-heading{align-items:start;flex-wrap:wrap}.inquiry{padding:18px}.legal-editor form{padding:19px}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.footer-grid>div:first-child,.footer-end{grid-column:1/-1}.auth-view,.dashboard,.legal-view{min-height:calc(100svh - 68px)}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.hero-actions{align-items:start;flex-direction:column;gap:5px}.hero h1{font-size:39px}.hero-personal{align-items:start}.header-login{font-size:10px;padding:0 8px}.header-actions{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:600px){.mobile-nav .theme-switch{height:50px}.mobile-nav .theme-switch button{height:42px;min-width:44px}}
