:root{color-scheme:dark;--ink:#faf7ef;--bg:#171918;--panel:#212422;--muted:#bfc3b9;--line:#424741;--gold:#e6cd82}*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% 0,#4e523133,transparent 70%),var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:absolute;z-index:10;top:8px;left:8px;transform:translateY(-170%);padding:12px;background:white;color:var(--bg)}.skip:focus{transform:none}.hub{max-width:550px;margin:auto;background:var(--bg)}.portrait-wrap{position:relative;height:465px;isolation:isolate;overflow:hidden;background:#272d24}.hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 15%}.portrait-wrap:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0009,transparent 35%,#0001 48%,#000c 85%,#000e)}.logo{position:absolute;z-index:2;left:23px;top:22px;width:124px;height:82px;object-fit:contain}.photo-edition{position:absolute;z-index:2;right:25px;top:32px;font-size:9px;line-height:1.65;font-weight:750;letter-spacing:.15em;text-align:right;color:#f7ebbf}.photo-caption{position:absolute;z-index:2;left:27px;right:65px;bottom:27px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:.14em;color:var(--gold);margin:0 0 10px}h1{font-size:49px;line-height:1.03;letter-spacing:-.05em;margin:0 0 10px;font-weight:800}h1>span{color:var(--gold)}.photo-caption>p:last-child{font-size:12px;color:#e9e8dd;margin:0}.photo-caption em{font-family:Georgia,serif;color:var(--gold);font-size:15px}.portrait-wrap button{position:absolute;z-index:3;bottom:27px;right:22px;width:44px;height:44px;border:1px solid #a18d55;border-radius:50%;background:#171918c9;color:var(--gold);font-size:25px;line-height:1;transition:transform .2s,background .2s}.portrait-wrap button:hover{background:#4f492f;transform:rotate(20deg)}.experience-strip{display:flex;justify-content:center;align-items:center;gap:20px;padding:12px 15px;background:var(--gold);color:#25291f;font-size:9px;font-weight:800;letter-spacing:.15em}.experience-strip b{font-size:16px;font-weight:400}.content{padding:29px 25px 24px}.pitch{margin:0 0 23px}.pitch .eyebrow{font-size:8px;margin-bottom:12px}h2{font-size:25px;line-height:1.22;letter-spacing:-.04em;font-weight:750;margin:0 0 15px}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--gold);letter-spacing:-.04em}.pitch>p:last-child{font-size:13px;line-height:1.75;color:var(--muted);margin:0;max-width:430px}.main-links{scroll-margin-top:12px}.booking{display:block;position:relative;padding:23px;background:var(--gold);color:#1d251a;border:1px solid var(--gold);border-radius:3px;margin-bottom:17px;box-shadow:5px 5px 0 #625b3b;transition:transform .2s,background .2s}.booking-kicker{display:block;font-size:8px;letter-spacing:.14em;font-weight:800;margin-bottom:8px}.booking>strong{display:block;font-size:23px;line-height:1.2;font-weight:750;letter-spacing:-.04em}.booking-detail{display:block;margin:8px 0 18px;font-size:11px;color:#454831}.booking-action{border-top:1px solid #625b3b55;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800}.booking-action>span{font-size:23px;line-height:1}.booking:hover{background:#f1db9e;transform:translateY(-2px)}.link{display:flex;align-items:center;gap:16px;min-height:91px;padding:19px 2px;border-bottom:1px solid var(--line);transition:background .18s}.link:hover{background:#272e23}.number{font-size:10px;letter-spacing:.04em;color:#a89967;width:21px;flex:none}.link-copy{min-width:0;flex:1}.link-copy strong{display:block;font-size:14px;font-weight:650;line-height:1.35}.link-copy small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}.arrow{font-size:22px;line-height:1;flex:none;color:var(--gold);padding-right:5px}.music{gap:15px;padding:19px 0;min-height:116px}.mix-art{position:relative;flex:none;width:77px;height:77px;overflow:hidden;border-radius:2px}.mix-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;filter:brightness(.75)}.mix-art span{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:15px;background:#0002}.music-label{display:block;font-size:7px;letter-spacing:.13em;color:var(--gold);margin-bottom:5px}.portal .link-copy strong{font-size:12px}.portal small{font-size:10px}.follow{padding-top:28px}.follow-heading h2{font-size:16px;letter-spacing:-.02em;margin-bottom:4px}.follow-heading p{font-size:11px;color:var(--muted);margin:0 0 16px}.socials{display:flex;gap:8px;justify-content:space-between}.socials a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 11px;flex:1;border:1px solid var(--line);border-radius:4px;font-size:10px;transition:background .18s}.socials svg{width:15px;height:15px;flex:none}.socials a>span{display:none}.socials a:hover{background:#30352e;border-color:#a8ad9c}footer{padding:28px 0 5px;text-align:center}footer img{display:block;width:80px;height:53px;object-fit:contain;margin:auto;opacity:.9}footer p{font:italic 14px Georgia,serif;color:var(--gold);margin:11px 0 0}
@media(min-width:650px){.hub{margin:30px auto;border:1px solid var(--line);box-shadow:0 25px 80px #0005;border-radius:12px;overflow:hidden}.portrait-wrap{height:490px}.content{padding:32px 31px 27px}.photo-caption{left:31px}h1{font-size:54px}h2{font-size:28px}.logo{width:135px;height:90px}}
@media(max-width:390px){.portrait-wrap{height:410px}.content{padding:25px 20px 22px}.photo-caption{left:21px;right:60px;bottom:23px}.photo-caption>p:last-child{font-size:11px}.photo-caption em{font-size:13px}h1{font-size:43px}.logo{width:109px;height:73px;left:19px;top:16px}.photo-edition{font-size:8px;right:21px;top:26px}.portrait-wrap button{right:17px;bottom:24px}h2{font-size:23px}.pitch>p:last-child{font-size:12px}.booking{padding:20px}.booking>strong{font-size:22px}.link{gap:12px}.link-copy strong{font-size:13px}.link-copy small{font-size:10px}.socials{gap:6px}.socials a{font-size:9px;padding:10px 7px}.socials svg{width:14px;height:14px}.mix-art{width:66px;height:75px}.music{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.booking:hover,.portrait-wrap button:hover{transform:none}}

/* Keep the link hub quick to scan without losing the portrait or brand story. */
.portrait-wrap{height:330px}.photo-caption{bottom:20px}.portrait-wrap button{bottom:22px}.experience-strip{padding:7px 12px;font-size:8px;gap:18px}.experience-strip b{font-size:13px}.content{padding:19px 23px 16px}.pitch{margin-bottom:17px}.pitch .eyebrow{margin-bottom:7px;font-size:7px}.pitch h2{font-size:22px;margin-bottom:9px}.pitch>p:last-child{font-size:11px;line-height:1.6}.main-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}.booking{grid-column:1/-1;padding:16px 18px;margin-bottom:10px;box-shadow:3px 3px 0 #625b3b}.booking>strong{font-size:21px}.booking-detail{margin:5px 0 9px;font-size:10px}.booking-action{padding-top:8px;font-size:11px}.link{position:relative;gap:8px;padding:13px 1px;min-height:80px;align-items:start}.number{font-size:8px;width:15px;padding-top:3px}.link-copy strong{font-size:12px}.link-copy small{font-size:9px;margin-top:4px}.arrow{font-size:17px;padding:1px 0 0}.music{gap:8px}.mix-art{display:none}.music:before{content:'03';font-size:8px;color:#a89967;width:15px;flex:none;padding-top:3px}.music-label{display:none}.portal{grid-column:1/-1;min-height:48px;align-items:center;padding:12px 1px}.portal .link-copy strong{font-size:11px}.follow{padding-top:18px}.follow-heading h2{font-size:13px;margin-bottom:10px}.socials a{min-height:40px;padding:8px 9px;font-size:9px}footer{padding:15px 0 0}footer img{display:none}footer p{font-size:12px;margin:0}
@media(min-width:650px){.portrait-wrap{height:370px}.content{padding:22px 27px 20px}.pitch h2{font-size:25px}.pitch>p:last-child{font-size:12px}.link{min-height:78px}.link-copy strong{font-size:13px}.link-copy small{font-size:10px}}
@media(max-width:390px){.portrait-wrap{height:310px}.content{padding:18px 20px 16px}.photo-caption{bottom:19px}.photo-caption .eyebrow{font-size:8px;margin-bottom:7px}.photo-caption>p:last-child{font-size:10px}h1{font-size:39px;margin-bottom:7px}.pitch h2{font-size:21px}.pitch>p:last-child{font-size:11px}.main-links{gap:0 14px}.booking>strong{font-size:20px}.link-copy strong{font-size:11px}.link-copy small{font-size:9px}}

.hero-image{object-position:50% 35%}#photo-count{position:absolute;z-index:3;bottom:76px;right:22px;width:44px;text-align:center;font-size:9px;font-weight:750;letter-spacing:.06em;color:var(--gold);text-shadow:0 1px 3px #000}

.portrait-wrap #pause-photos{right:74px;font-size:17px}#photo-count{width:98px;right:22px;font-size:8px;letter-spacing:.1em}@media(max-width:390px){.portrait-wrap #pause-photos{right:69px}#photo-count{right:17px}}

/* The other public sides of Ruuben's world. */
footer .brand-network{display:flex;justify-content:center;flex-wrap:wrap;gap:0 20px;margin:18px auto 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;line-height:1.5}footer .brand-network a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--muted);text-decoration:none}footer .brand-network a:hover,footer .brand-network a:focus-visible{color:var(--gold)}footer .brand-network a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}footer .brand-network span{color:var(--gold)}

/* Date selection stays on the hub; DJEP provides the availability result. */
.availability{scroll-margin-top:20px;margin-bottom:20px}.availability:hover{background:var(--gold);transform:none}.availability h2{font-size:22px;line-height:1.2;margin:0;font-weight:750}.availability .booking-detail{font-size:12px;line-height:1.5;margin:8px 0 17px}.availability fieldset{border:0;padding:0;margin:0;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.date-fields{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:10px}.date-fields>div{min-width:0}.date-fields label{display:block;font-size:11px;font-weight:650;margin-bottom:5px}.date-fields select{color-scheme:light;display:block;width:100%;min-width:0;min-height:49px;border:1px solid #777457;border-radius:3px;padding:10px 6px;background:#fffdf7;color:#1d251a;font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.availability-submit{width:100%;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:51px;margin-top:14px;padding:13px 15px;border:1px solid #1d251a;border-radius:3px;background:#1d251a;color:#faf7ef;font-size:13px;font-weight:700}.availability-submit:hover{background:#333e2e}.availability-submit span{font-size:21px;line-height:1}.availability .availability-note{font-size:10px;line-height:1.5;color:#454831;margin:12px 0 8px}.availability-fallback{display:inline-block;font-size:10px;line-height:1.6;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.availability a:focus-visible,.availability button:focus-visible,.availability select:focus-visible{outline:3px solid #513d06;outline-offset:3px}.date-error{font-size:12px;line-height:1.5;font-weight:650;color:#6d1220;margin:10px 0 0}.date-error[hidden]{display:none}@media(max-width:360px){.availability{padding:16px}.availability h2{font-size:20px}.date-fields{grid-template-columns:1fr 1fr}.date-fields>div:first-child{grid-column:1/-1}}

/* A compact introduction and visual destinations keep this a links page. */
.pitch .intro-details{margin-top:11px}.pitch>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted);margin:0}.intro-details p{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 5px}.intro-details a{display:inline-block;font-size:11px;font-weight:650;color:var(--gold);padding:6px 0;text-underline-offset:4px}.intro-details a:hover{text-decoration:underline}.visual-link{display:flex;flex-direction:column;gap:11px;padding:0 0 16px;min-width:0}.visual-link>img{width:100%;height:116px;object-fit:cover;border-radius:3px;display:block}.visual-link .link-copy{width:100%}.link-kicker{display:block;color:var(--gold);font-size:7px;line-height:1.6;letter-spacing:.07em;margin:0 0 6px}.visual-link strong{font-size:13px;line-height:1.4}.visual-link strong span{color:var(--gold)}.visual-link small{font-size:10px;line-height:1.6}.image-caption{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:7px}.link-group{border-bottom:1px solid var(--line);padding-bottom:13px;min-width:0}.link-group>.link{border:0;min-height:0;padding-bottom:9px}.link-proof{margin:0 0 0 23px;font:italic 12px/1.6 Georgia,serif;color:#e8dfc8}.link-proof cite{display:block;font:9px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--muted);margin-top:7px}.link-proof cite a{display:inline-block;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.meeting-link{grid-column:1/-1;align-items:center;min-height:64px}.portal .link-copy small{font-size:10px}.main-links .portal{padding-top:15px;padding-bottom:15px}@media(max-width:390px){.visual-link>img{height:95px}.visual-link strong{font-size:12px}.visual-link small{font-size:9px}.link-kicker{font-size:6.5px}.image-caption{font-size:8px}.link-proof{margin-left:0;font-size:11px}.link-proof cite{font-size:8px}}
