/* The approved illustration is the art layer; text and controls stay native HTML. */
@font-face{font-family:DMSans;src:url('/assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
body{font-family:DMSans,Arial,sans-serif}
.page-shell{max-width:1600px;padding:0 48px}.site-header{height:64px}.wordmark{font-family:ui-monospace,monospace;font-weight:400;font-size:21px;gap:19px}.site-header nav{font-family:ui-monospace,monospace;font-size:12px}.hero{min-height:0;height:clamp(640px,48vw,760px);padding-top:77px}.hero-copy{max-width:760px;padding-top:0}.hero .eyebrow{font-size:12px;letter-spacing:.035em;margin-bottom:23px}.hero h1{font-family:DMSans,Arial,sans-serif;font-size:clamp(62px,6.2vw,96px);font-weight:800;letter-spacing:-.06em;line-height:1.02;margin-bottom:30px}.intro{font-size:20px;line-height:1.35;letter-spacing:-.02em;max-width:640px;margin-bottom:35px}.text-link{font-size:13px;letter-spacing:.05em;gap:20px}.hero-art{position:absolute;left:-48px;right:-48px;top:-64px;height:calc(100% + 210px);z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 80%,transparent 100%)}.hero-art>img{display:block;position:absolute;left:0;top:0;width:100%;height:auto;max-width:none}.art-signal{position:absolute;width:100%;left:0;top:0;fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:8 700;animation:route 22s linear infinite;opacity:.7}.art-dog-label,.art-system-label,.art-photo-label{position:absolute;font:11px/1.4 ui-monospace,monospace;letter-spacing:.02em;pointer-events:none}.art-dog-label{top:12%;left:49%}.art-system-label{top:32%;left:70%}.art-photo-label{bottom:15px;right:0;font-size:10px;text-transform:uppercase;color:#e4e3db}.art-idea-link{position:absolute;right:0;top:43%;font:italic 13px Georgia,serif;transform:rotate(-9deg);z-index:5;padding:12px}.art-idea-link span{display:block;text-align:right;font-size:22px}.hero-bottom{bottom:57px}.location{font-size:10px}.motion-toggle{position:absolute;left:0;top:54px;font-size:9px}.notes{padding:38px 0 50px}.notes .eyebrow{margin-bottom:10px;font-size:10px}.notes h2{font-size:clamp(36px,4vw,58px);margin-bottom:19px;letter-spacing:-.055em}.notes-grid{gap:60px}.topic{position:relative;padding-top:17px;border-bottom:1px solid var(--line);padding-bottom:17px}.topic h3{font-size:25px;line-height:1.3;letter-spacing:-.025em;margin:0 25px 0 0}.topic .eyebrow{font-size:10px;color:var(--blue);margin-bottom:5px}.topic-bottom{border:0;padding:0;position:absolute;right:0;bottom:17px}.topic-bottom b{font-size:22px}.workbench{margin-top:30px}.off-screen .lake-photo{background:var(--bg)}
 .hero-art .art-light{display:none}[data-theme=light] .hero-art .art-dark{display:none}[data-theme=light] .hero-art .art-light{display:block}[data-theme=light] .art-photo-label{color:var(--text)}
@media(min-width:1600px){.hero{height:770px}.hero h1{font-size:100px}.hero-copy{padding-top:8px}}
@media(max-width:1150px){.page-shell{padding:0 35px}.hero-art{left:-35px;right:-35px}.hero{height:650px;padding-top:70px}.hero h1{font-size:clamp(54px,6.3vw,73px)}.intro{font-size:16px;max-width:510px}.art-dog-label{top:10%;left:50%;font-size:9px}.art-system-label{top:29%;left:72%;font-size:9px}.art-idea-link{top:36%;font-size:11px}.art-photo-label{bottom:70px}.hero-art>img{width:115%;left:-7.5%}.art-signal{width:115%;left:-7.5%}.hero-bottom{bottom:40px}.motion-toggle{top:43px}}
@media(max-width:800px){.page-shell{padding:0 25px}.site-header{height:75px}.wordmark{font-size:17px}.hero{height:1000px;padding-top:52px}.hero h1{font-size:clamp(52px,8.8vw,72px);margin-bottom:25px}.intro{font-size:16px;max-width:560px}.hero-art{left:-25px;right:-25px;top:405px;height:660px;mask-image:linear-gradient(transparent 0%,#000 8%,#000 78%,transparent 100%)}.hero-art>img{width:170%;left:-70%;top:-70px}.art-signal{width:170%;left:-70%;top:-70px}.art-dog-label{top:45%;left:20%;font-size:10px}.art-system-label{top:57%;left:64%}.art-idea-link{top:65%;right:3%}.art-photo-label{bottom:30px;right:0;font-size:9px}.hero-bottom{bottom:17px}.motion-toggle{position:static;font-size:9px;margin-top:9px}.hero-bottom .location{font-size:9px}.notes{padding-top:35px}.notes h2{font-size:40px}.notes-grid{gap:35px}.topic h3{font-size:23px}.workbench{margin-top:0}}
@media(max-width:520px){.page-shell{padding:0 20px}.site-header{height:65px;padding:0;flex-wrap:nowrap}.wordmark{font-size:16px;gap:10px}.site-header nav{display:none}.hero{height:920px;padding-top:40px}.hero .eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:.04em}.hero h1{font-size:clamp(39px,10.4vw,55px);letter-spacing:-.055em;line-height:1.06;margin-bottom:24px}.intro{font-size:14px;line-height:1.6;margin-bottom:25px;max-width:350px}.text-link{font-size:11px}.hero-art{left:-20px;right:-20px;top:365px;height:570px;mask-image:linear-gradient(transparent,#000 7%,#000 83%,transparent)}.hero-art>img{width:220%;left:-113%;top:-74px}.art-signal{width:220%;left:-113%;top:-74px}.art-dog-label{top:44%;left:7%;font-size:8px}.art-system-label{top:56%;left:62%;font-size:8px}.art-idea-link{top:63%;right:0;font-size:10px}.art-photo-label{bottom:47px;right:0;font-size:8px}.hero-bottom{bottom:6px;align-items:center}.hero-bottom .location{font-size:8px}.motion-toggle{font-size:8px}.notes{padding-top:32px;padding-bottom:35px}.notes h2{font-size:34px;max-width:310px;margin-bottom:24px}.notes-grid{gap:22px}.topic h3{font-size:23px}.topic{padding-top:15px;padding-bottom:20px}.topic .eyebrow{font-size:9px;margin-bottom:9px}.topic-bottom{bottom:20px}.notes .section-top .eyebrow{margin-bottom:14px}.section{scroll-margin-top:20px}}
@media(max-width:520px){.hero-art>img,.art-signal{width:200%;left:-88%}.art-dog-label{top:370px;left:10%}.art-system-label{display:none}.art-idea-link{top:58%}.art-photo-label{bottom:95px}.hero-art{height:530px}.hero{height:875px}}
@media(max-width:350px){.hero{height:825px}.hero-art{top:345px}.hero h1{font-size:34px}.intro{font-size:13px}.art-dog-label{top:350px}.art-idea-link{top:61%}.art-photo-label{bottom:95px}.contact>a{font-size:18px}.contact>a span{margin-left:7px}}

@media(max-width:520px){.site-header{height:94px;flex-wrap:wrap;align-content:center;row-gap:7px}.site-header nav{display:flex;order:3;flex-basis:100%;margin-left:42px;gap:24px;font-size:10px}.site-header nav a{padding:0}.site-header .theme-toggle{margin-left:auto}.hero{padding-top:30px}}
