:root{--navy:#07131f;--navy-2:#0b2131;--navy-3:#123047;--gold:#d8b46c;--gold-light:#f2dfb4;--cream:#f8f1e4;--muted:#b8c5cd;--line:rgba(216,180,108,.3);--shadow:0 28px 90px rgba(0,0,0,.48)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark}
body{margin:0;min-width:0;min-height:100svh;background:radial-gradient(circle at 82% 10%,#1b3949 0,transparent 28%),linear-gradient(145deg,#07121d,#0d2433 58%,#061019);color:var(--cream);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.page-shell{min-height:100svh;display:grid;place-items:start center;padding:clamp(14px,4vw,48px)}
.business-card{width:min(100%,960px);display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.35fr);overflow:hidden;border:1px solid rgba(216,180,108,.48);border-radius:28px;background:linear-gradient(145deg,#102b3d,#081825 58%,#07131f);box-shadow:var(--shadow);position:relative}
.business-card:before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,#b98940,#f1dbab,#b98940,transparent)}
.portrait-panel{position:relative;min-height:680px;background:#132b3b;overflow:hidden}
.portrait-panel:before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:62px;background:linear-gradient(180deg,#0c2231 0,rgba(12,34,49,.72) 30%,transparent 100%)}
.portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:51% 50%;transform:scale(1.12)}
.portrait-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,12,20,.92) 100%)}
.portrait-caption{position:absolute;left:24px;right:24px;bottom:22px;margin:0;display:grid;gap:2px;text-shadow:0 2px 12px #000}.portrait-caption strong{font:600 21px/1.2 Georgia,"Times New Roman",serif}.portrait-caption span{font-size:13px;color:#e8e1d6}.details-panel{padding:clamp(24px,4vw,42px);min-width:0}.brand{width:min(100%,350px);margin:0 auto 24px}.brand img{display:block;width:100%;height:auto}.identity{text-align:center}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.identity h1{margin:0;font:400 clamp(34px,5vw,48px)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-.025em}.positioning{margin:11px 0 0;font-size:16px;color:#eee7dd}.services{margin:7px 0 0;font-size:14px;color:var(--muted)}.services span{color:var(--gold);padding:0 4px}.primary-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:25px 0 16px}.action{min-height:46px;border:1px solid var(--line);border-radius:12px;background:#142d3f;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;cursor:pointer;transition:transform .18s ease,background .18s ease}.action:hover{transform:translateY(-1px);background:#1e3c50}.action-primary{background:linear-gradient(135deg,#f0dba9,#ca994f);color:#0b1d2b;border-color:#ead39f}.action-primary:hover{background:#f5e5bf}.action svg,.save-contact svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-list{border-top:1px solid var(--line)}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.09)}.contact-row span{min-width:0;display:grid;gap:2px}.contact-row small{font-size:12px;color:var(--muted)}.contact-row strong{font-size:15px;font-weight:620;overflow-wrap:anywhere}.contact-row em{font-style:normal;color:var(--gold);font-size:12px;font-weight:750;letter-spacing:.03em}.contact-row[href]:hover strong,.contact-row[href]:focus-visible strong{color:var(--gold)}.website-row strong{color:var(--gold)}.website-row em{color:#8ea0aa}.card-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:20px}.save-contact{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;background:linear-gradient(135deg,#efd8a6,#ca9850);color:#0c1c29;font-weight:800}.save-contact:hover{filter:brightness(1.06)}.save-wrap p{margin:7px 0 0;color:var(--muted);font-size:11px;text-align:center}.qr-button{width:104px;padding:7px;border:1px solid rgba(216,180,108,.55);border-radius:12px;background:#f8f6ef;color:#102536;cursor:zoom-in}.qr-button img{display:block;width:88px;height:88px;image-rendering:pixelated}.qr-button span{display:block;margin-top:4px;font-size:10px;font-weight:800}.status{min-height:19px;margin:9px 0 -13px;text-align:center;color:var(--gold-light);font-size:12px}dialog{width:min(92vw,410px);padding:0;border:1px solid var(--gold);border-radius:20px;background:#0a1d2b;color:var(--cream);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.dialog-inner{padding:24px;text-align:center}.dialog-inner h2{margin:0;font:400 27px/1.2 Georgia,"Times New Roman",serif}.dialog-inner p{margin:7px 0 15px;color:var(--muted)}.dialog-inner img{display:block;width:min(100%,300px);height:auto;margin:auto;border:10px solid #fff;border-radius:12px}.dialog-close{margin-top:17px;min-width:120px;padding:10px 18px;border:1px solid var(--gold);border-radius:10px;background:transparent;cursor:pointer}.action:focus-visible,.contact-row:focus-visible,.save-contact:focus-visible,.qr-button:focus-visible,.dialog-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:760px){.page-shell{display:block;padding:0}.business-card{min-height:100svh;display:block;border:0;border-radius:0;box-shadow:none}.portrait-panel{width:100%;min-height:0;height:clamp(220px,36svh,300px);margin:0}.portrait-panel:before{display:none}.portrait{object-fit:cover;object-position:50% 18%;transform:none}.details-panel{padding:18px clamp(17px,5vw,30px) 28px}.brand{max-width:280px;margin-bottom:14px}.identity h1{font-size:clamp(32px,10vw,42px)}.primary-actions{margin-top:18px}.contact-row{padding-block:12px}}
@media(max-width:410px){.brand{max-width:285px}.eyebrow{font-size:10px}.positioning{font-size:14px}.services{font-size:12px}.primary-actions{gap:6px}.action{font-size:12px;gap:5px}.contact-row strong{font-size:13px}.contact-row em{font-size:11px}.card-footer{gap:10px}.qr-button{width:96px}.qr-button img{width:80px;height:80px}}
@media(max-width:350px){.action svg{display:none}.details-panel{padding-inline:14px}.contact-row{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
