html { scroll-behavior:smooth; }
body { margin:0; background:#f6ead4; }

    #danny-portfolio { --paper:#f6ead4; --stone:#ebd8b7; --blue:#2f6672; --clay:#b65d48; --gold:#d3a252; --olive:#747948; --ink:#293633; color:var(--ink); font:15px/1.55 Arial,sans-serif; }
    #danny-portfolio * { box-sizing:border-box; }
    #danny-portfolio button,#danny-portfolio input,#danny-portfolio textarea { font:inherit; }
    #danny-portfolio button,#danny-portfolio a { -webkit-tap-highlight-color:transparent; }
    #danny-portfolio button:focus-visible,#danny-portfolio a:focus-visible,#danny-portfolio input:focus-visible,#danny-portfolio textarea:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
    #danny-portfolio a { color:inherit; text-decoration:none; }
    #danny-portfolio .page { width:100%; background:var(--paper); overflow:hidden; }
    #danny-portfolio .inset { padding-left:max(clamp(22px,4vw,64px),calc((100% - 1360px)/2)); padding-right:max(clamp(22px,4vw,64px),calc((100% - 1360px)/2)); }
    #danny-portfolio .top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:23px; padding-bottom:23px; border-bottom:1px solid #29363325; }
    #danny-portfolio .monogram { font-family:Georgia,serif; font-size:27px; letter-spacing:-2px; }
    #danny-portfolio .monogram span { color:var(--clay); }
    #danny-portfolio .site-nav { display:flex; gap:24px; }
    #danny-portfolio .site-nav a { font-size:13px; border-bottom:1px solid transparent; transition:border-color .18s,color .18s; }
    #danny-portfolio .site-nav a:hover { color:var(--blue); border-color:var(--blue); }
    #danny-portfolio .hero { position:relative; padding-top:35px; padding-bottom:42px; display:block; }
    #danny-portfolio .hero-copy { position:relative; z-index:1; min-width:0; }
    #danny-portfolio .hero h1 { font-size:clamp(40px,6vw,62px); }
    #danny-portfolio .identity { display:flex; align-items:center; gap:22px; margin-bottom:25px; }
    #danny-portfolio .identity-text { min-width:0; }
    #danny-portfolio .identity-name { font-family:Georgia,serif; font-size:27px; letter-spacing:-.035em; margin:0 0 5px; }
    #danny-portfolio .identity .eyebrow { margin:0; font-size:11px; letter-spacing:.1em; }
    #danny-portfolio .portrait { position:relative; width:120px; height:120px; flex:0 0 120px; margin:0; padding:7px; border:1px solid #b65d4865; border-radius:50%; background:var(--paper); }
    #danny-portfolio .portrait-frame { position:relative; padding:3px; background:#fff7e7; border:1px solid #2f667260; border-radius:50%; height:100%; width:100%; }
    #danny-portfolio .portrait img { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:cover; object-position:50% 36%; border-radius:50%; }
    #danny-portfolio .portrait-orbit { position:absolute; inset:-5px; border-radius:50%; background:conic-gradient(from 0deg,transparent 0deg 8deg,#b65d48b0 8deg 43deg,transparent 43deg 192deg,#2f667280 192deg 215deg,transparent 215deg 360deg); -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1.5px)); mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1.5px)); animation:dr-portrait-orbit 38s linear infinite; pointer-events:none; }
    @keyframes dr-portrait-orbit { to { transform:rotate(360deg); } }
    #danny-portfolio[data-motion="paused"] .portrait-orbit { animation-play-state:paused; }
    #danny-portfolio .eyebrow { color:var(--blue); font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.15em; margin:0 0 15px; }
    #danny-portfolio .hero h1 { font-family:Georgia,serif; font-size:clamp(44px,7vw,72px); font-weight:400; letter-spacing:-.045em; line-height:1.06; margin:0 0 20px; position:relative; z-index:1; }
    #danny-portfolio .hero h1 em { font-weight:400; color:var(--blue); }
    #danny-portfolio .intro { max-width:490px; margin:0 0 25px; position:relative; z-index:1; }
    #danny-portfolio .intro strong { font-weight:500; }
    #danny-portfolio .links { display:flex; flex-wrap:wrap; gap:13px; position:relative; z-index:1; }
    #danny-portfolio .action { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--blue); background:var(--blue); color:var(--paper); padding:10px 17px; border-radius:3px; transition:transform .16s,background .16s; }
    #danny-portfolio .action:hover { background:#285965; }
    #danny-portfolio .action:active,#danny-portfolio .role:active { transform:scale(.985); }
    #danny-portfolio .action.secondary { background:transparent; color:var(--ink); border-color:#29363340; }
    #danny-portfolio .action.secondary:hover { background:var(--stone); }
    #danny-portfolio .action svg { width:15px; height:15px; }
    #danny-portfolio .sun-study { position:absolute; right:4%; top:90px; width:225px; height:220px; opacity:.8; pointer-events:none; z-index:0; }
    #danny-portfolio .sun { position:absolute; width:105px; height:105px; background:linear-gradient(145deg,#e7be77,var(--gold)); border-radius:50%; right:24px; top:3px; animation:dr-sun-drift 14s ease-in-out infinite; }
    #danny-portfolio .arc { position:absolute; width:185px; height:185px; border:1px solid var(--clay); border-radius:50%; left:0; top:37px; }
    #danny-portfolio .arc.two { width:155px; height:155px; left:15px; top:52px; border-color:#74794890; }
    #danny-portfolio .orbit { position:absolute; width:185px; height:185px; left:0; top:37px; border-radius:50%; animation:dr-orbit 42s linear infinite; }
    #danny-portfolio .orbit::before { content:""; position:absolute; width:7px; height:7px; background:var(--clay); border-radius:50%; top:-3px; left:89px; box-shadow:0 0 0 4px #f6ead480; }
    #danny-portfolio .sea { position:absolute; width:140px; height:64px; background:var(--blue); bottom:9px; right:2px; border-radius:80% 12% 70% 18%; transform:rotate(-12deg); animation:dr-sea-drift 16s ease-in-out infinite; }
    @keyframes dr-orbit { to { transform:rotate(360deg); } }
    @keyframes dr-sun-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(4px); } }
    @keyframes dr-sea-drift { 0%,100% { transform:rotate(-12deg) translateY(0); } 50% { transform:rotate(-10deg) translateY(-3px); } }
    #danny-portfolio .motion-toggle { display:inline-flex; align-items:center; gap:7px; border:0; padding:5px 0; background:transparent; color:#4f5b50; font-size:11px; }
    #danny-portfolio .motion-toggle svg { width:13px; height:13px; }
    #danny-portfolio[data-motion="paused"] .sun-study * { animation-play-state:paused; }
    #danny-portfolio .project-top svg { color:var(--blue); width:24px; height:24px; transition:transform .3s ease; }
    #danny-portfolio .project:hover .project-top svg,#danny-portfolio .project:focus-within .project-top svg { transform:translateY(-3px) rotate(-5deg); }
    #danny-portfolio .action svg,#danny-portfolio .project-link svg { transition:transform .18s; }
    #danny-portfolio .action:hover svg,#danny-portfolio .project-link:hover svg { transform:translate(2px,-2px); }
    #danny-portfolio .personal { position:relative; background:#ece7ce; }
    #danny-portfolio .personal-intro { font-size:14px; margin:12px 0 25px; max-width:none; }
    #danny-portfolio .pursuit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
    #danny-portfolio .pursuit { border-top:1px solid #74794870; padding-top:15px; }
    #danny-portfolio .pursuit svg { width:22px; height:22px; color:#596335; margin-bottom:10px; }
    #danny-portfolio .pursuit h3 { font-size:22px; margin-bottom:8px; }
    #danny-portfolio .pursuit p { font-size:12px; margin:0; }
    #danny-portfolio .photographs { display:grid; grid-template-columns:1.2fr .85fr 1.2fr; align-items:start; gap:19px; margin-top:26px; }
    #danny-portfolio .photograph { margin:0; min-width:0; }
    #danny-portfolio .photograph:nth-child(2) { padding-top:28px; }
    #danny-portfolio .photo-button { display:block; width:100%; padding:0; border:0; background:transparent; overflow:hidden; border-radius:2px; }
    #danny-portfolio .photo-button img { display:block; width:100%; height:auto; transition:transform .35s ease; }
    #danny-portfolio .photo-button:hover img,#danny-portfolio .photo-button:focus-visible img { transform:scale(1.025); }
    #danny-portfolio .photograph figcaption { padding-top:11px; }
    #danny-portfolio .photo-place { display:block; font-family:Georgia,serif; font-size:18px; }
    #danny-portfolio .photo-type { display:block; font-size:11px; color:#4f5b50; margin-top:2px; }
    #danny-portfolio .photo-viewer { margin-top:24px; padding:clamp(16px,3vw,26px); background:rgba(246,234,212,.78); border:1px solid rgba(182,93,72,.25); border-radius:5px; color:var(--ink); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
    #danny-portfolio .viewer-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:13px; margin-bottom:18px; }
    #danny-portfolio .viewer-caption { min-width:0; }
    #danny-portfolio .viewer-top .viewer-title { margin:0; font-family:Georgia,serif; font-size:23px; font-weight:400; color:var(--ink); letter-spacing:-.025em; overflow-wrap:anywhere; }
    #danny-portfolio .viewer-top .viewer-meta { margin:4px 0 0; font-family:Arial,sans-serif; font-size:11px; color:var(--blue); letter-spacing:.025em; }
    #danny-portfolio .viewer-top button { color:var(--blue); border:1px solid #2f667245; background:#f6ead460; border-radius:3px; padding:8px 12px; font-family:Arial,sans-serif; font-size:12px; transition:background .18s,transform .16s; }
    #danny-portfolio .viewer-top button:hover { background:#ebd8b7a0; }
    #danny-portfolio .viewer-top button:active { transform:scale(.985); }
    #danny-portfolio .photo-viewer img { display:block; width:100%; max-height:600px; object-fit:contain; border-radius:2px; }
    #danny-portfolio .photo-stage { position:relative; }
    #danny-portfolio .expanded-photo-stage { width:100%; max-width:900px; margin-inline:auto; }
    #danny-portfolio .star-trigger { position:absolute; left:85.55%; top:33.35%; width:44px; height:44px; transform:translate(-50%,-50%); z-index:2; border:1px solid transparent; border-radius:50%; padding:0; background:transparent; transition:background .18s,border-color .18s; }
    #danny-portfolio .star-trigger:hover { background:#f6ead412; border-color:#f6ead43b; }
    #danny-portfolio .star-trigger:focus-visible { outline:2px solid var(--paper); outline-offset:2px; }
    #danny-portfolio .star-popup { position:absolute; right:10px; top:12px; width:min(270px,calc(100% - 20px)); z-index:5; padding:16px 18px 18px; background:#f6ead4f5; border:1px solid #b65d4860; border-radius:5px; color:var(--ink); box-shadow:0 7px 24px #29363320; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
    #danny-portfolio .star-popup:not([hidden]) { animation:dr-star-reveal .18s ease-out; }
    @keyframes dr-star-reveal { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
    #danny-portfolio .star-popup-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
    #danny-portfolio .star-popup-head p { margin:0; color:var(--blue); font-size:11px; }
    #danny-portfolio .star-popup-head button { font-size:11px; color:var(--blue); border:0; background:transparent; padding:5px 0 5px 8px; }
    #danny-portfolio .star-popup .star-popup-label { margin:0 0 5px; color:#4f5b50; font-size:11px; }
    #danny-portfolio .star-popup blockquote { margin:0; padding:0; border:0; font-family:Georgia,serif; font-size:21px; line-height:1.35; font-weight:400; color:var(--ink); }
    @media(pointer:coarse) { #danny-portfolio .star-popup-head button { min-height:44px; } }
    @media(pointer:coarse) { #danny-portfolio .viewer-top button { min-height:44px; } }
    @media(max-width:760px) { #danny-portfolio .hero h1 { font-size:44px; } }
    @media(max-width:600px) { #danny-portfolio .portrait { width:100px; height:100px; flex-basis:100px; } #danny-portfolio .identity { gap:18px; } #danny-portfolio .identity-name { font-size:24px; } #danny-portfolio .photographs { grid-template-columns:1fr; gap:24px; } #danny-portfolio .photograph:nth-child(2) { padding-top:0; } #danny-portfolio .photograph:nth-child(2) .photo-button { width:75%; } }
    #danny-portfolio .section { padding-top:35px; padding-bottom:42px; border-top:1px solid #29363325; }
    #danny-portfolio .section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:25px; }
    #danny-portfolio h2 { font-family:Georgia,serif; font-size:33px; font-weight:400; letter-spacing:-.03em; line-height:1.15; margin:0; }
    #danny-portfolio .section-note { font-size:12px; margin:0; color:#4f5b50; }
    #danny-portfolio .career { display:grid; grid-template-columns:clamp(265px,22vw,300px) minmax(0,1fr); gap:32px; }
    #danny-portfolio .roles { position:relative; padding-left:17px; }
    #danny-portfolio .roles::before { content:""; position:absolute; left:5px; top:25px; bottom:30px; width:1px; background:#b65d4880; }
    #danny-portfolio .role { position:relative; width:100%; display:block; text-align:left; background:transparent; border:0; border-radius:3px; padding:15px 15px 15px 19px; color:var(--ink); margin:0 0 9px; transition:background .2s,transform .16s; }
    #danny-portfolio .role::before { content:""; position:absolute; left:-16px; top:24px; width:9px; height:9px; background:var(--paper); border:1px solid var(--clay); border-radius:50%; transition:background .2s,transform .2s; }
    #danny-portfolio .role[aria-pressed="true"] { background:var(--stone); }
    #danny-portfolio .role[aria-pressed="true"]::before { background:var(--clay); transform:scale(1.35); }
    #danny-portfolio .role:hover { background:#ebd8b799; }
    #danny-portfolio .role .company { display:block; font-size:18px; font-weight:500; margin-bottom:3px; }
    #danny-portfolio .role .title,#danny-portfolio .role .date { display:block; font-size:12px; }
    #danny-portfolio .role .date { color:#4f5b50; margin-top:6px; }
    #danny-portfolio .role-details { padding:21px 26px 23px; background:#fff7e7; border-radius:4px; border-top:3px solid var(--clay); min-width:0; }
    #danny-portfolio .role-details.changed { animation:roleReveal .22s ease-out; }
    @keyframes roleReveal { from { opacity:.55; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
    #danny-portfolio .detail-label { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--blue); margin:0 0 11px; }
    #danny-portfolio h3 { font-family:Georgia,serif; font-size:28px; font-weight:400; letter-spacing:-.02em; line-height:1.2; margin:0 0 13px; }
    #danny-portfolio .detail-copy { max-width:85ch; margin:0 0 18px; font-size:14px; }
    #danny-portfolio .detail-points { max-width:85ch; padding-left:18px; margin:0 0 20px; font-size:14px; }
    #danny-portfolio .detail-points li { margin-bottom:9px; padding-left:3px; }
    #danny-portfolio .detail-points li::marker { color:var(--clay); }
    #danny-portfolio .tags { display:flex; flex-wrap:wrap; gap:7px; }
    #danny-portfolio .tag { display:inline-block; font-size:11px; color:var(--blue); padding:4px 9px; background:#2f667210; border-radius:2px; }
    #danny-portfolio .projects { background:var(--stone); }
    #danny-portfolio .project-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
    #danny-portfolio .project { min-width:0; border:1px solid #29363325; border-top:2px solid #29363345; border-radius:4px; padding:24px; background:#fff7e750; }
    #danny-portfolio .project-top { display:flex; align-items:center; justify-content:flex-start; gap:14px; margin-bottom:14px; }
    #danny-portfolio .project h3 { margin:0; font-size:25px; }
    #danny-portfolio .project-top svg { flex-shrink:0; order:-1; }
    #danny-portfolio .project p { font-size:14px; margin:0 0 15px; max-width:58ch; }
    #danny-portfolio .project-link { display:inline-flex; gap:7px; align-items:center; font-size:12px; color:var(--blue); border-bottom:1px solid #2f667250; padding-bottom:2px; }
    #danny-portfolio .project-link svg { width:14px; height:14px; }
    #danny-portfolio .contact-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,4vw,64px); width:100%; max-width:1120px; margin-inline:auto; }
    #danny-portfolio .contact h2 { margin-bottom:16px; }
    #danny-portfolio .contact-copy { font-size:14px; max-width:42ch; margin:0 0 22px; }
    #danny-portfolio .contact-grid > * { min-width:0; }
    #danny-portfolio .contact-link { display:block; color:var(--blue); margin:9px 0; font-size:13px; overflow-wrap:anywhere; }
    #danny-portfolio .form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    #danny-portfolio label { display:block; font-size:12px; margin-bottom:12px; }
    #danny-portfolio input,#danny-portfolio textarea { display:block; width:100%; margin-top:5px; padding:9px 11px; border:1px solid #29363340; background:#fff7e7; color:var(--ink); border-radius:3px; min-width:0; }
    #danny-portfolio textarea { resize:vertical; min-height:90px; }
    #danny-portfolio input::placeholder,#danny-portfolio textarea::placeholder { color:#657065; }
    #danny-portfolio .form-foot { display:flex; align-items:center; gap:13px; flex-wrap:wrap; }
    #danny-portfolio .preview-note { font-size:11px; color:#4f5b50; margin:0; }
    #danny-portfolio .form-status { font-size:12px; color:var(--blue); margin:10px 0 0; }
    #danny-portfolio .contact-field { min-width:0; margin-bottom:13px; }
    #danny-portfolio .contact-field label { margin-bottom:0; }
    #danny-portfolio .required-mark { color:#8d3c30; margin-left:3px; }
    #danny-portfolio .field-error { margin:5px 0 0; font-size:12px; color:#8d3c30; }
    #danny-portfolio input[aria-invalid="true"],#danny-portfolio textarea[aria-invalid="true"] { border-color:#8d3c30; }
    #danny-portfolio .form-errors { color:#8d3c30; font-size:13px; margin:0 0 13px; }
    #danny-portfolio .form-status[data-state="success"] { color:var(--ink); font-size:14px; background:#74794816; border:1px solid #74794855; border-radius:3px; padding:12px 14px; }
    #danny-portfolio .action:disabled { opacity:.65; }
    @media(pointer:coarse) { #danny-portfolio #dr-contact-form input,#danny-portfolio #dr-contact-form textarea { font-size:16px; } }
    #danny-portfolio .footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-top:18px; padding-bottom:20px; border-top:1px solid #29363325; font-size:11px; color:#4f5b50; }
    #danny-portfolio [hidden] { display:none !important; }
    #danny-portfolio .resume-dialog { width:min(840px,calc(100% - 24px)); max-height:min(1000px,calc(100vh - 32px)); margin:16px auto; padding:0; border:1px solid #b65d4860; border-radius:6px; background:var(--paper); color:var(--ink); box-shadow:0 18px 70px #29363335; overflow:auto; }
    #danny-portfolio .resume-dialog::backdrop { background:#29363365; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
    #danny-portfolio .resume-dialog[open] { animation:dr-resume-reveal .2s ease-out; }
    @keyframes dr-resume-reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
    #danny-portfolio .resume-toolbar { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:13px; padding:17px 22px; background:var(--paper); border-bottom:1px solid #b65d4840; }
    #danny-portfolio .resume-heading h2 { font-size:25px; margin:0; }
    #danny-portfolio .resume-heading p { margin:4px 0 0; color:#4f5b50; font-size:11px; }
    #danny-portfolio .resume-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
    #danny-portfolio .resume-actions .action { font-size:12px; padding:8px 12px; }
    #danny-portfolio .resume-pages { padding:20px; background:#ebd8b780; }
    #danny-portfolio .resume-sheet { display:block; width:100%; height:auto; border:1px solid #29363320; background:#fff; }
    #danny-portfolio .resume-accessible { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:pre-wrap; border:0; }
    @media(max-width:500px) { #danny-portfolio .resume-toolbar { padding:14px; } #danny-portfolio .resume-pages { padding:9px; } #danny-portfolio .resume-actions { gap:7px; } }
    @media(pointer:coarse) { #danny-portfolio .resume-actions .action { min-height:44px; } }
    @media(min-width:800px) { #danny-portfolio .hero h1 { max-width:650px; } }
    @media(min-width:800px) and (max-width:999px) { #danny-portfolio .sun-study { opacity:.18; } }
    @media(min-width:1000px) {
      #danny-portfolio .hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr); align-items:center; gap:40px; padding-top:48px; padding-bottom:52px; }
      #danny-portfolio .hero-copy { grid-column:1; grid-row:1; }
      #danny-portfolio .hero h1 { font-size:clamp(50px,5vw,72px); }
      #danny-portfolio .sun-study { position:relative; grid-column:2; grid-row:1; right:auto; top:auto; justify-self:center; transform:scale(1.3); transform-origin:center; }
      #danny-portfolio .section { padding-top:44px; padding-bottom:48px; }
    }
    @media(min-width:1200px) {
      #danny-portfolio .role-details { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); grid-template-areas:"label label" "title points" "copy points" "tags tags"; grid-template-rows:auto auto 1fr auto; column-gap:28px; row-gap:16px; padding:28px; align-self:start; }
      #danny-portfolio .detail-label { grid-area:label; margin:0; }
      #danny-portfolio .role-details h3 { grid-area:title; margin:0; font-size:clamp(28px,2.2vw,32px); }
      #danny-portfolio .detail-copy { grid-area:copy; margin:0; }
      #danny-portfolio .detail-points { grid-area:points; margin:0; border-left:1px solid #b65d4830; padding-left:28px; }
      #danny-portfolio .role-details .tags { grid-area:tags; margin-top:4px; }
    }
    @media(min-width:1440px) { #danny-portfolio .sun-study { transform:scale(1.55); } }
    @media(max-width:799px) { #danny-portfolio .sun-study { right:-25px; width:170px; transform:scale(.8); transform-origin:right top; opacity:.22; } #danny-portfolio .career { grid-template-columns:220px minmax(0,1fr); gap:18px; } #danny-portfolio .role-details { padding:20px; } }
    @media(max-width:600px) { #danny-portfolio .hero { padding-top:34px; padding-bottom:32px; } #danny-portfolio .site-nav { gap:14px; } #danny-portfolio .site-nav a { font-size:12px; } #danny-portfolio .career,#danny-portfolio .contact-grid,#danny-portfolio .project-grid { grid-template-columns:1fr; } #danny-portfolio .career { gap:14px; } #danny-portfolio .roles { padding-left:17px; } #danny-portfolio .role { padding-top:10px; padding-bottom:10px; margin-bottom:4px; } #danny-portfolio .role::before { top:20px; } #danny-portfolio .role .date { margin-top:2px; } #danny-portfolio .section-heading { align-items:flex-start; flex-direction:column; gap:8px; } #danny-portfolio .section { padding-top:28px; padding-bottom:30px; } #danny-portfolio .contact-grid { gap:20px; } #danny-portfolio .footer { flex-wrap:wrap; } }
    @media(max-width:500px) { #danny-portfolio .pursuit-grid { grid-template-columns:1fr; gap:18px; } #danny-portfolio .pursuit { display:grid; grid-template-columns:30px 1fr; column-gap:10px; } #danny-portfolio .pursuit svg { grid-row:1 / span 2; margin-top:3px; } #danny-portfolio .pursuit h3,#danny-portfolio .pursuit p { grid-column:2; } }
    @media(max-width:370px) { #danny-portfolio .form-row { grid-template-columns:1fr; gap:0; } }
    @media(pointer:coarse) { #danny-portfolio .site-nav a { padding:10px 0; } #danny-portfolio .project-link { min-height:44px; } }
    @media(prefers-reduced-motion:reduce) { #danny-portfolio *,#danny-portfolio *::before { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
  
#danny-portfolio .tag { max-width:100%; overflow-wrap:anywhere; }
#danny-portfolio .contact-honeypot { display:none; }
#danny-portfolio .resume-zoom { display:flex; align-items:center; gap:6px; font-size:11px; }
#danny-portfolio .resume-zoom button { border:1px solid #2f667230; border-radius:3px; background:#fff7e7; color:#293633; min-width:28px; min-height:30px; padding:4px 7px;  }
#danny-portfolio .resume-zoom button:disabled { opacity:.45;  }
#danny-portfolio .resume-zoom span { min-width:40px; text-align:center; }
#danny-portfolio .resume-pages { overflow:auto; }
#danny-portfolio .resume-sheet { max-width:none; }
@media(pointer:coarse) { #danny-portfolio .resume-zoom button { min-height:44px; min-width:34px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Isolated engineering experiment; original portfolio remains intact. */
#danny-portfolio .lab {padding-top:42px;padding-bottom:46px;border-top:1px solid #29363325;scroll-margin-top:20px}
#danny-portfolio .lab-layout {display:grid;grid-template-columns:minmax(200px,.68fr) minmax(0,1.5fr);gap:clamp(24px,4vw,64px);align-items:start}
#danny-portfolio .lab-copy h2 {font:400 clamp(32px,4vw,48px)/1.06 Georgia,serif;letter-spacing:-.035em;margin:0 0 18px}
#danny-portfolio .lab-copy h2 em {color:var(--blue);font-weight:400}
#danny-portfolio .lab-copy>p:not(.eyebrow) {max-width:340px;margin:0 0 18px}
#danny-portfolio .lab-caption {font-size:12px;color:#52615b}
#danny-portfolio .lab-stage {min-width:0;background:#fff7e7;border:1px solid #29363335;border-radius:8px;box-shadow:0 12px 32px #785e2e0b;overflow:hidden}
#danny-portfolio .lab-bar {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #29363325;font-size:12px;color:#52615b}
#danny-portfolio .lab-bar strong {font-weight:500;color:var(--ink)}
#danny-portfolio .lab-dot {display:inline-block;background:var(--clay);border-radius:50%;width:7px;height:7px;margin-right:7px}
#danny-portfolio .lab-content {padding:20px;min-width:0}
#danny-portfolio .lab button {min-height:44px}
#danny-portfolio .lab button:disabled {opacity:.45}
#danny-portfolio .lab-tools {display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#danny-portfolio .lab-tool {background:transparent;border:1px solid #29363340;color:var(--ink);border-radius:4px;padding:8px 12px;font-size:13px}
#danny-portfolio .lab-tool:hover:not(:disabled) {background:var(--stone)}
#danny-portfolio .lab-message {min-height:46px;margin:14px 0 0;font-size:13px;color:var(--blue);overflow-wrap:anywhere}
#danny-portfolio .lab-details {border-top:1px solid #29363325;padding:14px 18px;font-size:12px}
#danny-portfolio .lab-details summary {padding:4px 0;min-height:30px}
#danny-portfolio .lab-details p {max-width:72ch;line-height:1.7}
#danny-portfolio .lab input,#danny-portfolio .lab textarea,#danny-portfolio .lab select {border:1px solid #29363355;border-radius:4px;color:var(--ink);background:#fffcf4;max-width:100%;padding:10px}
#danny-portfolio .lab pre {white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,Consolas,monospace}
#danny-portfolio .lab-status-row {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#52615b;margin:0 0 12px}
#danny-portfolio .lab-hidden {display:none}
@media(max-width:850px) {#danny-portfolio .lab-layout {grid-template-columns:minmax(0,1fr)} #danny-portfolio .lab-copy>p:not(.eyebrow) {max-width:60ch} #danny-portfolio .lab-copy h2 br {display:none}}
@media(max-width:600px) {#danny-portfolio .lab-content {padding:14px} #danny-portfolio .lab-bar {padding:12px 14px} #danny-portfolio .lab-tools {gap:6px} #danny-portfolio .lab-tool {padding:8px 10px}}
#danny-portfolio[data-lab-theme="dusk"] {--paper:#252f30;--stone:#394546;--blue:#a8d4d5;--clay:#e6a58b;--gold:#d3a252;--ink:#f5e9d4;background:var(--paper)}
#danny-portfolio[data-lab-theme="dusk"] .lab-stage {background:#2f3b3d;border-color:#e6d3b54d}
#danny-portfolio[data-lab-theme="dusk"] :is(.section-note,.title,.date,.preview-note,.photo-type,.detail-copy,.detail-points,.contact-copy,.footer,.terminal-help,.lab-bar,.lab-caption,.contact-link,.eyebrow,.tag,.personal-intro) {color:#e7d8bd}
#danny-portfolio[data-lab-theme="dusk"] :is(.role,.project,.role-details,.contact-field input,.contact-field textarea,.star-popup,.photo-viewer) {background:#2f3b3d;color:var(--ink)}
#danny-portfolio[data-lab-theme="dusk"] .action {background:#a8d4d5;color:#243334;border-color:#a8d4d5}
#danny-portfolio[data-lab-theme="dusk"] .action.secondary {background:transparent;color:var(--ink)}
#danny-portfolio[data-lab-theme="dusk"] .terminal-prompt input {background:#252f30;color:var(--ink);border-color:#e6d3b570}
#danny-portfolio[data-lab-theme="dusk"] .lab-tool {border-color:#e6d3b570}
#danny-portfolio[data-lab-theme="dusk"] .lab-tool:hover {background:#394546}
#danny-portfolio[data-lab-theme="dusk"] .sun-study {opacity:.5}

/* A familiar terminal, set within the portfolio's warm palette. */
#danny-portfolio .repo-mission {border-top:1px solid #29363330;margin-top:24px;padding-top:18px}
#danny-portfolio .repo-mission h3 {font:400 22px/1.3 Georgia,serif;margin:10px 0}
#danny-portfolio .repo-mission p {font-size:13px;max-width:36ch;margin:0 0 14px}
#danny-portfolio .repo-state {display:inline-block;border:1px solid #b65d4860;color:var(--clay);border-radius:20px;padding:4px 10px;font-size:11px}
#danny-portfolio .repo-state[data-phase="complete"] {color:var(--blue);border-color:var(--blue);background:#2f66720d}
#danny-portfolio .repo-checklist {list-style:none;padding:0;margin:14px 0 20px;font-size:13px;counter-reset:repair-step}
#danny-portfolio .repo-checklist li {display:flex;gap:9px;align-items:center;margin-bottom:10px;counter-increment:repair-step}
#danny-portfolio .repo-checklist li::before {content:counter(repair-step);display:grid;place-items:center;width:23px;height:23px;border:1px solid #29363350;border-radius:50%;font-size:11px;flex:0 0 23px}
#danny-portfolio .repo-checklist li[data-done="true"]::before {content:"✓";background:var(--blue);border-color:var(--blue);color:var(--paper)}
#danny-portfolio .repo-suggestion {display:block;margin-top:8px;font-size:11px;overflow-wrap:anywhere;color:var(--blue)}
#danny-portfolio .repo-metrics {display:flex;gap:16px;flex-wrap:wrap;font:12px ui-monospace,Consolas,monospace;margin:18px 0 14px;color:var(--ink)}
#danny-portfolio #lab-score-copy {width:100%;margin-top:10px;font-size:12px}
#danny-portfolio .repo-stage {background:#232d2c;border-color:#283735;color:#eee6d5;box-shadow:0 16px 40px #29363315}
#danny-portfolio .repo-stage .lab-bar {background:#1e2827;color:#d9d7c7;border-color:#ddd3bb20;font:11px ui-monospace,Consolas,monospace;flex-wrap:wrap;gap:7px}
#danny-portfolio .repo-stage .lab-bar strong {color:#eee6d5;font-weight:400}
#danny-portfolio .repo-window-dots {color:#cb9775;letter-spacing:2px;font-size:9px;margin-right:8px}
#danny-portfolio .repo-workspace {display:grid;grid-template-columns:145px minmax(0,1fr)}
#danny-portfolio .repo-explorer {background:#2b3533;border-right:1px solid #ddd3bb20;padding:18px 10px;min-width:0}
#danny-portfolio .repo-explorer-label {font:10px ui-monospace,Consolas,monospace;letter-spacing:.12em;margin:0 5px 12px;color:#c4c7b9}
#danny-portfolio .repo-cwd {font:11px/1.6 ui-monospace,Consolas,monospace;color:#a9d1ce;margin:0 5px 8px;overflow-wrap:anywhere}
#danny-portfolio .repo-files {display:flex;flex-direction:column}
#danny-portfolio .repo-files button {background:transparent;border:0;text-align:left;font:11px/1.5 ui-monospace,Consolas,monospace;padding:9px 5px;color:#eee6d5;overflow-wrap:anywhere;border-radius:3px;white-space:pre-wrap}
#danny-portfolio .repo-files button:hover {background:#eee6d510}
#danny-portfolio .repo-explorer-note {font-size:10px;line-height:1.7;margin:16px 5px 0;color:#c4c7b9}
#danny-portfolio .repo-console {padding:18px;min-width:0}
#danny-portfolio .repo-console-label {display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#bdc8bb;font:10px ui-monospace,Consolas,monospace;margin-bottom:20px}
#danny-portfolio .terminal-log {height:300px;overflow:auto;border-bottom:1px solid #ddd3bb25;margin-bottom:14px;padding:0 8px 10px 0;scrollbar-color:#7d8d80 transparent;scrollbar-width:thin}
#danny-portfolio .terminal-log pre {margin:0 0 15px;color:#eee6d5;font:12px/1.75 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
#danny-portfolio .terminal-log pre[data-kind="command"] {color:#a9d1ce}
#danny-portfolio .terminal-log pre[data-kind="pass"] {color:#c0d8a6}
#danny-portfolio .terminal-log pre[data-kind="error"] {color:#edb4a3}
#danny-portfolio .terminal-label {display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px;color:#c4c7b9}
#danny-portfolio .terminal-prompt {display:flex;gap:8px;min-width:0}
#danny-portfolio .repo-stage .terminal-prompt input {flex:1;min-width:0;font:13px ui-monospace,Consolas,monospace;background:#1e2827;border-color:#a9d1ce65;color:#eee6d5;caret-color:#a9d1ce}
#danny-portfolio .repo-stage .terminal-prompt input::placeholder {color:#bac3b9}
#danny-portfolio .repo-stage .action {background:#a9d1ce;color:#1e2827;border-color:#a9d1ce;font-size:12px;padding:10px 12px}
#danny-portfolio .repo-stage .action:hover {background:#c1e2d9}
#danny-portfolio .repo-stage .lab-tool {border-color:#ddd3bb40;color:#eee6d5;font-size:11px;min-height:36px;padding:7px 9px}
#danny-portfolio .repo-stage .lab-tool:hover {background:#eee6d510}
#danny-portfolio .repo-stage :is(button,input,textarea):focus-visible {outline-color:#e7bd82}
#danny-portfolio .terminal-help {font-size:10px;color:#c4c7b9;margin:8px 0 14px}
#danny-portfolio .repo-console .lab-message {color:#d8dfc5;font-size:11px;min-height:34px}
#danny-portfolio .repo-stage .lab-details {border-color:#ddd3bb25;color:#d6dacb;font-size:11px}
#danny-portfolio .repo-stage .lab-details pre {color:#a9d1ce}
#danny-portfolio .repo-editor {margin-top:14px;border-top:1px solid #ddd3bb25;padding-top:14px}
#danny-portfolio .repo-editor-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
#danny-portfolio .repo-editor h3 {font:12px ui-monospace,Consolas,monospace;margin:0}
#danny-portfolio .repo-editor label {display:block;color:#a9d1ce;font:10px/1.6 ui-monospace,Consolas,monospace;margin-bottom:8px;overflow-wrap:anywhere}
#danny-portfolio .repo-editor textarea {display:block;width:100%;font:12px/1.6 ui-monospace,Consolas,monospace;color:#eee6d5;background:#1e2827;border-color:#ddd3bb40;resize:vertical;margin-bottom:10px}
#danny-portfolio #lab-editor-help {font-size:10px;color:#c4c7b9}
#danny-portfolio[data-lab-theme="dusk"] .repo-stage {background:#232d2c}
#danny-portfolio[data-lab-theme="dusk"] .repo-stage .lab-bar {color:#d9d7c7}
@media(max-width:1100px) and (min-width:851px) {#danny-portfolio .lab-layout {grid-template-columns:minmax(190px,.5fr) minmax(0,1.5fr);gap:24px} #danny-portfolio .repo-workspace {grid-template-columns:118px minmax(0,1fr)}}
@media(max-width:600px) {#danny-portfolio .repo-workspace {grid-template-columns:minmax(0,1fr)} #danny-portfolio .repo-explorer {border-right:0;border-bottom:1px solid #ddd3bb20;padding:12px 14px} #danny-portfolio .repo-files {flex-direction:row;gap:5px;flex-wrap:wrap} #danny-portfolio .repo-files button {padding:6px 8px;min-height:36px;border:1px solid #ddd3bb25} #danny-portfolio .repo-explorer-note {display:none} #danny-portfolio .repo-explorer-label {margin-bottom:4px} #danny-portfolio .repo-console {padding:14px} #danny-portfolio .terminal-log {height:270px} #danny-portfolio .repo-mission {margin-top:18px}}
#danny-portfolio .repo-console .terminal-runtime {margin:0 0 14px;padding:9px 11px;border:1px solid #edb4a365;border-radius:4px;color:#edb4a3;font-size:11px;line-height:1.6}
#danny-portfolio .repo-console .terminal-runtime[data-state="ready"] {border-color:#a9d1ce35;color:#b8d4bd}
#danny-portfolio .terminal-log pre[data-kind="running"] {color:#e4c98b}
#danny-portfolio .terminal-test-running::before {content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border:1.5px solid #e4c98b40;border-top-color:#e4c98b;border-radius:50%;animation:dr-test-spin .7s linear infinite}
@keyframes dr-test-spin {to {transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce) {#danny-portfolio .terminal-test-running::before {animation:none}}
/* Shared theme control, beside the navigation. */
#danny-portfolio .header-tools {display:flex;align-items:center;gap:clamp(12px,2vw,24px);min-width:0}
#danny-portfolio .header-theme-toggle {display:grid;place-items:center;position:relative;flex:0 0 44px;width:44px;height:44px;border:1px solid #b65d4870;border-radius:50%;background:transparent;color:var(--blue);transition:background .18s,transform .18s}
#danny-portfolio .header-theme-toggle::before {content:"";position:absolute;inset:4px;border:1px solid #2f667240;border-radius:50%;pointer-events:none}
#danny-portfolio .header-theme-toggle svg {width:20px;height:20px}
#danny-portfolio .header-theme-toggle:hover {background:var(--stone)}
#danny-portfolio .header-theme-toggle:active {transform:scale(.96)}
#danny-portfolio .header-theme-toggle[data-theme="day"] .theme-sun,#danny-portfolio .header-theme-toggle[data-theme="dusk"] .theme-moon {display:none}
#danny-portfolio[data-lab-theme="dusk"] .header-theme-toggle {border-color:#e6a58b80}
#danny-portfolio[data-lab-theme="dusk"] .header-theme-toggle::before {border-color:#a8d4d550}
@media(max-width:370px) {#danny-portfolio .top {gap:10px} #danny-portfolio .header-tools {gap:9px} #danny-portfolio .header-tools .site-nav {gap:10px} #danny-portfolio .header-tools .site-nav a {font-size:11px}}

/* A native precision cursor across the page, with a separate decorative orbit.
   Native text, disabled and accessibility fallbacks stay available. */
#danny-portfolio {--action-cursor:pointer}
#danny-portfolio :is(a[href],button,summary,select,label[for],[role="button"],[role="tab"],input[type="button"],input[type="submit"],input[type="reset"],input[type="checkbox"],input[type="radio"],input[type="file"],input[type="color"]) {cursor:var(--action-cursor,pointer)}
#danny-portfolio :is(a[href],button,summary,label[for],[role="button"],[role="tab"]) * {cursor:inherit}
@media (hover:hover) and (pointer:fine) and (forced-colors:none) {
  html {--site-cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI2LjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2Y2ZWFkNCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNi43IiBmaWxsPSJub25lIiBzdHJva2U9IiMyZjY2NzIiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEuNSIgZmlsbD0iI2I2NWQ0OCIgc3Ryb2tlPSIjZjZlYWQ0IiBzdHJva2Utd2lkdGg9Ii42Ii8+Cjwvc3ZnPgo=") 12 12,url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA4xJREFUSInVlV9MW1Ucx7/n3tt7b1cIXfS2kGGhoLEFVrB7WNFu6DA8TBONxsdNZZtbjDHxxYkPjldftjd1MpIFticiTyRqYFs2DHTGQtOudYnuTwEZ7d1mO0p7b+/tPT50dUALYnQm/pL7cs7v/D7n9+d+D6GU4nEa81ij/xcAbsuecqwqzxTqAYDX6TzsnpWtHCOb92CEVWT3OxSkV9ULvju/ZxhCgFprlSFw7DQBGRSl6BDwVuFvA5RE2EkZdvSnG3c6zk2GEZlLwlazDQCQTGexs8GGA3s82NVUN0sK7Btirev2lgFKIuzUCTN9cixg//HX33Ck24sul0MTeO4GAKia/vTlWJwbuDCD3c/U46NXfQnO4HyVIBWaPMJShh09ORawL9xN4+z7r+d6djo/hoXazFKr2yy1urGNSj3tzZ+c/eA1ZU5O49RYwE7ZwigwwpaFo5Su+XLJyKEr0+P0lb5+Ks+HstlE5Pn1Po98o355YSa3//gJOhkYp7lk9N31PmUZUJDec5NhHOn2wsKzJ8y2tqmKTQIgSi0/WHi+/72XvRieDIOCHtq8RHKsStF037V5GV0uh6by+kBpKz0XaZJD31+8O/vdBSUedpbWVZN2usvdoF2bk6FoeicSYcuGAJXoOxLpFebJajME3nTTau1Ilfby9xfPhL746qXZL0/ve3Bv8Uxp3WrtSAk8d+uJajOS6RVGZfkdG2cAnhIAxbmipFJZKq8Wp5EQUmzqKlvzJwvUWLTVWIx7y1lGzetONRWylrKottp7248dHWQIoVXb7YdLZ9LpyHZDNRrvZxTYaiyGYGiLGwIgtWREOTrd5rC9cPnnuKmnvfkogM8BQGzsuC02onv91YU8e+zb67dMbQ4JAsdOQWpdIyFlU0RABg/s8eDriRms5PP9ihzzVywKAEWO+ZdV9bOBiSAO7m0HARlc71MGEKXo0K6m2pnOZ59C3/lLYiavjufk6PFUKmRdXRZFjvUtq+r4p+cvin6XA15nXVCUosNlF64oFUvXG3VGD5waC9iv/rKAw/u8eLG1QRdMpodSoTVfisW5gYkg/C4HPty/e4krsD6xzh3fEqAEoaz+TfDmknf4yiOxoxSQH2ThabDj4F4PnnPWBYlO3qwUfFNA0UZYRXa//VCuO5dSGQb4U66ninLdMgTA2CjCXwBWWSJsUVnUA4BQwMK/9OD8c/v/P/p/ANj6uyAfbcfsAAAAAElFTkSuQmCC") 12 12,auto;--action-cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI2LjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2Y2ZWFkNCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNi43IiBmaWxsPSJub25lIiBzdHJva2U9IiMyZjY2NzIiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEuNSIgZmlsbD0iI2I2NWQ0OCIgc3Ryb2tlPSIjZjZlYWQ0IiBzdHJva2Utd2lkdGg9Ii42Ii8+Cjwvc3ZnPgo=") 12 12,url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA4xJREFUSInVlV9MW1Ucx7/n3tt7b1cIXfS2kGGhoLEFVrB7WNFu6DA8TBONxsdNZZtbjDHxxYkPjldftjd1MpIFticiTyRqYFs2DHTGQtOudYnuTwEZ7d1mO0p7b+/tPT50dUALYnQm/pL7cs7v/D7n9+d+D6GU4nEa81ij/xcAbsuecqwqzxTqAYDX6TzsnpWtHCOb92CEVWT3OxSkV9ULvju/ZxhCgFprlSFw7DQBGRSl6BDwVuFvA5RE2EkZdvSnG3c6zk2GEZlLwlazDQCQTGexs8GGA3s82NVUN0sK7Btirev2lgFKIuzUCTN9cixg//HX33Ck24sul0MTeO4GAKia/vTlWJwbuDCD3c/U46NXfQnO4HyVIBWaPMJShh09ORawL9xN4+z7r+d6djo/hoXazFKr2yy1urGNSj3tzZ+c/eA1ZU5O49RYwE7ZwigwwpaFo5Su+XLJyKEr0+P0lb5+Ks+HstlE5Pn1Po98o355YSa3//gJOhkYp7lk9N31PmUZUJDec5NhHOn2wsKzJ8y2tqmKTQIgSi0/WHi+/72XvRieDIOCHtq8RHKsStF037V5GV0uh6by+kBpKz0XaZJD31+8O/vdBSUedpbWVZN2usvdoF2bk6FoeicSYcuGAJXoOxLpFebJajME3nTTau1Ilfby9xfPhL746qXZL0/ve3Bv8Uxp3WrtSAk8d+uJajOS6RVGZfkdG2cAnhIAxbmipFJZKq8Wp5EQUmzqKlvzJwvUWLTVWIx7y1lGzetONRWylrKottp7248dHWQIoVXb7YdLZ9LpyHZDNRrvZxTYaiyGYGiLGwIgtWREOTrd5rC9cPnnuKmnvfkogM8BQGzsuC02onv91YU8e+zb67dMbQ4JAsdOQWpdIyFlU0RABg/s8eDriRms5PP9ihzzVywKAEWO+ZdV9bOBiSAO7m0HARlc71MGEKXo0K6m2pnOZ59C3/lLYiavjufk6PFUKmRdXRZFjvUtq+r4p+cvin6XA15nXVCUosNlF64oFUvXG3VGD5waC9iv/rKAw/u8eLG1QRdMpodSoTVfisW5gYkg/C4HPty/e4krsD6xzh3fEqAEoaz+TfDmknf4yiOxoxSQH2ThabDj4F4PnnPWBYlO3qwUfFNA0UZYRXa//VCuO5dSGQb4U66ninLdMgTA2CjCXwBWWSJsUVnUA4BQwMK/9OD8c/v/P/p/ANj6uyAfbcfsAAAAAElFTkSuQmCC") 12 12,pointer;--pressed-cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI1LjEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2Y2ZWFkNCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNS4xIiBmaWxsPSJub25lIiBzdHJva2U9IiMyZjY2NzIiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEuMiIgZmlsbD0iI2I2NWQ0OCIgc3Ryb2tlPSIjZjZlYWQ0IiBzdHJva2Utd2lkdGg9Ii42Ii8+Cjwvc3ZnPgo=") 12 12,url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAApxJREFUSIntVU1PU0EUPTOhtI8uyEPSFEKap2nBAsWwkqS0VSRGLbg3rlwpMTF8SDDyBxQiGDUKrvUftAubmtDWBYlG0xakT4q0NQL9gKYGeNDiGxd0YaSFomFB4klmNfeeM/fk3juEMYajBD1S9v8CpaCslCBpLVDH5DI7kVkDADBKQoTknNyJM98PyiX7dlEkopLU6yPrUu6WZy6qCMfXAAAGbRVsRiGnVpU/5zLlQ9Drtw8vEImoJPWGyxX4annsnEaroEWzTgMACMYS8Efj6LO3odMkeLmM6mIxkaIWSer1EVdg0fLC9QFPblyGXstPgTEnAFwzN3WHV9LWu6/cAGDtNJ16yAG9BYkYY3vO5qq/LhH9mD3Xd58FAj62mZzt3xMTDw76/R52vn+YJWOfshvJUG0hroJdxHZol2cuqmgVtNBr+SmuunEMAM2Ivp606OsBQDhN86ihpsrbotPAE4oqgJ9dJVtEQAwL8fSu53lbMqLv5qLb/QiEApTKvME8CQaHSaexLqykQWS5vhDXvnOQbwACALIMgPwZTgjbvS6KghUwSr7otTzehb4BhNoBjPJGywQoGChlvMH8Ml9qdzAWh61RAKNELLkCQnIOm1HI+aNxzC+nbFJiZhAA4xssE7zBPAmAbSU/3xOXUu0zsQRsp3VZgDoKchWbAyk5O+4OLvY+e/Meo9cvwFBT5QWDI/+Cq+JSqn3o9VvcuXIWHY3CGKdpGjiUAMJhpVS55XIHI9Zx5zRadBqY8oMWiCUQjCUw0NWGjuaTU1xGeanYoO2/KsJhpVS5/WBjK3fbG4op5pdXAQD1tSdgbdBlK5RlT7kfquG/WxW/YTMl1gI7diLDCIAxihBAHRXVxuWDcksS+Bcc/w/n+Av8ArsjQgDUGlLNAAAAAElFTkSuQmCC") 12 12,pointer;cursor:var(--site-cursor,auto)}
  body,#danny-portfolio,#danny-portfolio * {cursor:var(--site-cursor,auto)}
  #danny-portfolio {--action-cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI2LjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2Y2ZWFkNCIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNi43IiBmaWxsPSJub25lIiBzdHJva2U9IiMyZjY2NzIiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEuNSIgZmlsbD0iI2I2NWQ0OCIgc3Ryb2tlPSIjZjZlYWQ0IiBzdHJva2Utd2lkdGg9Ii42Ii8+Cjwvc3ZnPgo=") 12 12,url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA4xJREFUSInVlV9MW1Ucx7/n3tt7b1cIXfS2kGGhoLEFVrB7WNFu6DA8TBONxsdNZZtbjDHxxYkPjldftjd1MpIFticiTyRqYFs2DHTGQtOudYnuTwEZ7d1mO0p7b+/tPT50dUALYnQm/pL7cs7v/D7n9+d+D6GU4nEa81ij/xcAbsuecqwqzxTqAYDX6TzsnpWtHCOb92CEVWT3OxSkV9ULvju/ZxhCgFprlSFw7DQBGRSl6BDwVuFvA5RE2EkZdvSnG3c6zk2GEZlLwlazDQCQTGexs8GGA3s82NVUN0sK7Btirev2lgFKIuzUCTN9cixg//HX33Ck24sul0MTeO4GAKia/vTlWJwbuDCD3c/U46NXfQnO4HyVIBWaPMJShh09ORawL9xN4+z7r+d6djo/hoXazFKr2yy1urGNSj3tzZ+c/eA1ZU5O49RYwE7ZwigwwpaFo5Su+XLJyKEr0+P0lb5+Ks+HstlE5Pn1Po98o355YSa3//gJOhkYp7lk9N31PmUZUJDec5NhHOn2wsKzJ8y2tqmKTQIgSi0/WHi+/72XvRieDIOCHtq8RHKsStF037V5GV0uh6by+kBpKz0XaZJD31+8O/vdBSUedpbWVZN2usvdoF2bk6FoeicSYcuGAJXoOxLpFebJajME3nTTau1Ilfby9xfPhL746qXZL0/ve3Bv8Uxp3WrtSAk8d+uJajOS6RVGZfkdG2cAnhIAxbmipFJZKq8Wp5EQUmzqKlvzJwvUWLTVWIx7y1lGzetONRWylrKottp7248dHWQIoVXb7YdLZ9LpyHZDNRrvZxTYaiyGYGiLGwIgtWREOTrd5rC9cPnnuKmnvfkogM8BQGzsuC02onv91YU8e+zb67dMbQ4JAsdOQWpdIyFlU0RABg/s8eDriRms5PP9ihzzVywKAEWO+ZdV9bOBiSAO7m0HARlc71MGEKXo0K6m2pnOZ59C3/lLYiavjufk6PFUKmRdXRZFjvUtq+r4p+cvin6XA15nXVCUosNlF64oFUvXG3VGD5waC9iv/rKAw/u8eLG1QRdMpodSoTVfisW5gYkg/C4HPty/e4krsD6xzh3fEqAEoaz+TfDmknf4yiOxoxSQH2ThabDj4F4PnnPWBYlO3qwUfFNA0UZYRXa//VCuO5dSGQb4U66ninLdMgTA2CjCXwBWWSJsUVnUA4BQwMK/9OD8c/v/P/p/ANj6uyAfbcfsAAAAAElFTkSuQmCC") 12 12,pointer}
  #danny-portfolio.pointer-is-pressed,#danny-portfolio .pointer-is-pressed,#danny-portfolio .pointer-is-pressed * {--action-cursor:var(--pressed-cursor,pointer);cursor:var(--pressed-cursor,pointer)}
}
#danny-portfolio :is(input:not([type]),input[type="text"],input[type="email"],input[type="search"],input[type="password"],input[type="number"],input[type="tel"],input[type="url"],textarea,[contenteditable]:not([contenteditable="false"]),[role="textbox"]) {cursor:text}
#danny-portfolio :is(a,button,input,select,textarea,summary,label,[role="button"],[role="tab"]):is(:disabled,[aria-disabled="true"]),#danny-portfolio [aria-disabled="true"] *,#danny-portfolio :disabled * {cursor:not-allowed}
#danny-portfolio .pointer-orbit,#danny-portfolio .pointer-click-ring {position:fixed;left:0;top:0;pointer-events:none;user-select:none;z-index:2147483647}
#danny-portfolio .pointer-orbit {width:0;height:0}
#danny-portfolio .pointer-orbit-frame {display:block;position:absolute;left:-15px;top:-15px;width:30px;height:30px;border-radius:50%;transform:scale(1);transition:transform .22s cubic-bezier(.2,.7,.3,1)}
#danny-portfolio .pointer-orbit-frame::before {content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 8deg,#b65d48d9 8deg 62deg,transparent 62deg 192deg,#2f6672c9 192deg 230deg,transparent 230deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1.5px));animation:dr-pointer-orbit 24s linear infinite}
#danny-portfolio .pointer-orbit.is-action .pointer-orbit-frame {transform:scale(1.2)}
#danny-portfolio .pointer-orbit.is-pressed .pointer-orbit-frame {transform:scale(.8);transition-duration:.1s}
#danny-portfolio:has(#dr-motion[aria-pressed="true"]) .pointer-orbit-frame::before {animation-play-state:paused}
#danny-portfolio .pointer-orbit[hidden] .pointer-orbit-frame::before {animation-play-state:paused}
@keyframes dr-pointer-orbit {to {transform:rotate(360deg)}}
#danny-portfolio .pointer-click-ring {width:30px;height:30px;border:1px solid #b65d48b3;border-radius:50%;box-shadow:0 0 0 1px #f6ead480;opacity:0}
#danny-portfolio .pointer-click-ring::before {content:"";position:absolute;inset:5px;border:1px solid #2f6672a6;border-radius:50%;box-shadow:0 0 0 1px #f6ead44d}
#danny-portfolio .pointer-click-ring::after {content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(transparent 0deg 14deg,#b65d48 14deg 48deg,transparent 48deg 190deg,#2f6672 190deg 218deg,transparent 218deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}
@media (hover:none),(pointer:coarse),(forced-colors:active),(prefers-reduced-motion:reduce) {#danny-portfolio .pointer-click-ring,#danny-portfolio .pointer-orbit {display:none !important}}
