@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#f4f3ed;--ink:#242821;--muted:#65685f;--line:#d7d9ce;--green:#d3e5ad;--dark:#20271f;--radius:6px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #73954e;outline-offset:6px}::selection{background:var(--green);color:var(--ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500}h1,h2{line-height:1.08;letter-spacing:-.065em}h1{font-size:clamp(48px,6.7vw,100px)}h2{font-size:clamp(36px,4vw,60px)}h3{font-size:25px;line-height:1.3;letter-spacing:-.035em}em{font-family:inherit;font-style:normal;font-weight:500;letter-spacing:inherit}p{color:var(--muted)}.wrap{max-width:1440px;padding-left:64px;padding-right:64px;margin:auto}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.13em;line-height:1.7;text-transform:uppercase}.section{padding-top:112px;padding-bottom:112px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--green);z-index:99}.skip:focus{top:10px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 64px;max-width:1440px;margin:auto;border-bottom:1px solid var(--line)}.wordmark{font-size:28px;font-weight:750;letter-spacing:-1.8px;white-space:nowrap}.wordmark span{font-size:12px;vertical-align:top;margin-left:4px;line-height:3}.wordmark span{visibility:hidden}nav{display:flex;gap:31px;align-items:center;font-size:12px;font-weight:550}nav>a{transition:color .2s}nav>a:hover{color:#70864b}.nav-contact{padding:10px 19px;border:1px solid var(--ink);border-radius:30px}.nav-contact span{margin-left:14px}.menu-toggle{display:none}.hero{padding-top:38px}.hero-top{display:flex;justify-content:space-between;align-items:center}.status-dot{height:6px;width:6px;display:inline-block;background:#6e8a53;border-radius:50%;margin-right:8px}.edition{font-size:12px;letter-spacing:.12em;color:var(--muted)}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;padding:42px 0 48px}.hero-heading h1{flex:1}.hero-intro{max-width:290px;padding-bottom:7px}.hero-intro p:first-child{font-size:18px;line-height:1.5;color:var(--ink);margin-bottom:16px}.hero-intro p:nth-child(2){font-size:14px;line-height:1.8}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:13px 0 8px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:600}.text-link span{font-size:20px}.hero-intro .text-link{margin-top:15px}.hero-feature{position:relative;display:block;overflow:hidden;background:#191a18;border-radius:var(--radius);height:480px;color:white}.hero-feature>img{position:absolute;height:100%;width:65%;right:0;object-fit:cover;object-position:50% 49%;transition:transform .8s}.hero-feature:hover>img{transform:scale(1.025)}.hero-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#191a18 0%,#191a18e6 27%,transparent 63%);pointer-events:none}.hero-feature-copy{position:relative;z-index:1;padding:48px 42px}.hero-feature-copy .eyebrow{color:#b4b7ae;font-size:12px}.hero-feature-copy h2{font-size:60px;margin:30px 0 26px}.hero-feature-copy p{font-size:12px;color:#b7bab1}.round-arrow{position:absolute;bottom:35px;left:42px;z-index:1;background:var(--green);color:var(--ink);height:44px;width:44px;display:grid;place-items:center;border-radius:50%;font-size:24px}.image-label{position:absolute;bottom:30px;right:32px;font-size:12px;letter-spacing:.15em;z-index:1}.brand-strip{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand-strip>span{font-size:12px;letter-spacing:.09em;color:var(--muted)}.brand-strip strong{font-size:27px;font-weight:650;letter-spacing:-1.5px;opacity:.7}.brand-strip .sa-logo{font-size:12px;letter-spacing:2px;line-height:1.35}.brand-strip .tandberg-logo{font-size:15px;letter-spacing:1.5px}.brand-strip .cisco-logo{font-size:30px;letter-spacing:2px}.brand-strip .soda-logo{font-weight:400;letter-spacing:-1px}.brand-dot{color:#798d5d}.intro-section{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:100px;padding-bottom:106px;border-bottom:1px solid var(--line)}.intro-section>div{max-width:700px}.intro-section h2{margin-bottom:24px;font-size:46px}.intro-section p:not(.eyebrow){max-width:600px;font-size:16px;margin:0 0 18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{font-size:14px}.filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filters button,.pill{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 20px;font-size:12px;color:var(--ink)}.filters button.active,.pill{background:var(--ink);color:white;border-color:var(--ink)}.filters sup{font-size:12px;margin-left:5px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:42px 26px}.project-card[hidden]{display:none}.project-image{height:350px;background:#e8e9e3;position:relative;overflow:hidden;border-radius:var(--radius)}.project-image img{height:100%;width:100%;object-fit:contain;transition:transform .7s}.project-card:hover img{transform:scale(1.045)}.p-minuendo-adjustable .project-image{background:#191a18}.p-minuendo-adjustable img{object-fit:cover}.p-sodapop .project-image,.p-minuendo-live .project-image,.p-smart-alert .project-image{background:white}.p-cisco-collaboration .project-image{background:#fff}.p-tandberg img{object-fit:cover}.project-open{position:absolute;bottom:20px;right:20px;width:35px;height:35px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:21px;transition:background .2s}.project-card:hover .project-open{background:var(--green)}.award{display:flex;align-items:center;gap:7px;position:absolute;top:18px;left:18px;background:var(--paper);padding:6px 12px;border-radius:25px;font-size:12px;color:var(--ink)}.award i{background:#ce3d31;width:7px;height:7px;border-radius:50%}.project-caption{display:flex;justify-content:space-between;align-items:flex-start;padding-top:18px}.project-caption h3{margin:3px 0 6px}.project-caption p{font-size:12px}.project-caption .eyebrow{font-size:12px;color:var(--muted)}.project-year{font-size:12px;color:var(--muted);padding-top:5px;white-space:nowrap}.small-note{font-size:12px;line-height:1.8;margin-top:28px}.music-section{background:var(--dark);color:var(--paper);padding:100px 0}.music-section p{color:#b4bcae}.music-section .eyebrow{color:#c6d6af}.music-section h2{font-size:64px}.music-intro{max-width:300px;font-size:14px}.music-intro p:first-child{color:var(--paper);margin-bottom:14px}.albums{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:52px}.album-art{position:relative;overflow:hidden;border-radius:3px}.album-art img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .7s}.album:hover img{transform:scale(1.035)}.play{position:absolute;bottom:20px;right:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:23px}.album>.eyebrow{margin:23px 0 7px}.album h3{font-size:23px}.album>p:not(.eyebrow){font-size:12px;margin-top:8px}.spotify-link{display:inline-block;margin-top:18px;font-size:12px;border-bottom:1px solid #718366;padding-bottom:5px}.band-line{border-top:1px solid #4a5145;margin-top:54px;padding-top:26px;display:flex;gap:30px;justify-content:space-between;align-items:center}.band-line>span{font-size:12px;letter-spacing:.12em;color:#c6d6af}.band-line p{font-size:14px;color:var(--paper)}.band-line small{display:block;font-size:12px;color:#b4bcae}.career{display:grid;grid-template-columns:1fr 1.35fr;gap:95px}.career-intro h2{font-size:45px;margin:17px 0 25px}.career-intro>p:not(.eyebrow){font-size:14px;max-width:330px}.career-intro .text-link{display:flex;max-width:230px;margin-top:24px}.career-intro .secondary-link{margin-top:8px}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:25px;border-top:1px solid var(--line);padding:24px 0}.timeline-item>.eyebrow{font-size:12px;padding-top:5px}.timeline-item h3{font-size:22px}.timeline-item h4{font-size:12px;margin:5px 0 10px}.timeline-item p{font-size:12px;line-height:1.8}.education{background:#e8ebdf;border-radius:var(--radius);padding:30px;margin-top:30px}.education h3{font-size:23px;margin:15px 0 12px}.education>p{font-size:12px}.education .eyebrow{font-size:12px}.education .small-note{font-size:12px;margin-top:16px}details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:12px}summary::-webkit-details-marker{display:none}details li{font-size:12px;margin-bottom:8px}.play-section{background:#e8ebdf;padding:90px 0}.hobbies{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;margin-top:50px}.hobby-feature{background:var(--green);padding:35px;border-radius:var(--radius)}.big-number{display:block;font-size:100px;line-height:1.4;letter-spacing:-.08em}.hobby-feature h3{font-size:27px}.hobby-feature p{font-size:12px;margin:16px 0 28px;max-width:380px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{font-size:12px;border:1px solid #a7bb87;padding:4px 10px;border-radius:20px}.hobby-list details{margin:0;border-color:#c7ceba;padding:25px 0}.hobby-list summary{font-size:21px;justify-content:flex-start;gap:25px;letter-spacing:-.025em}.hobby-list summary>span{font-size:12px;color:var(--muted);letter-spacing:0}.hobby-list summary b{margin-left:auto;font-size:20px;font-weight:400}.hobby-list details[open] b{transform:rotate(45deg)}.hobby-list p{font-size:14px;padding:17px 30px 0 40px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 27px}.post-img{aspect-ratio:1.5;position:relative;overflow:hidden;border-radius:var(--radius)}.post-img>img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.post-img span{position:absolute;bottom:15px;right:15px;font-size:12px;background:var(--paper);padding:7px 12px;border-radius:20px}.post-card:hover img{transform:scale(1.04)}.post-card>.eyebrow{font-size:12px;margin:20px 0 9px}.post-card .eyebrow span{font-weight:400;margin-left:6px}.post-card h3{font-size:23px;line-height:1.35}.contact-section{padding-top:60px;padding-bottom:80px;border-top:1px solid var(--line)}.contact-section>div:first-of-type{display:flex;justify-content:space-between;align-items:center;padding:24px 0 40px}.contact-section h2{font-size:clamp(56px,7vw,98px)}.contact-arrow{height:112px;width:112px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:65px;transition:transform .25s}.contact-arrow:hover{transform:rotate(15deg)}.contact-bottom{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;font-size:12px}.contact-bottom p{font-size:12px}.contact-bottom>span{font-size:12px;color:var(--muted)}footer{background:#e9e9e1;padding:36px 64px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>.wordmark{font-size:25px}footer p{font-size:12px}footer>div{display:flex;gap:24px;font-size:12px;color:var(--muted)}.back{font-size:12px;display:inline-block;margin-bottom:48px}.detail-head{padding-top:45px;padding-bottom:40px}.detail-head h1{margin:14px 0 24px}.detail-deck{font-size:22px;line-height:1.55;max-width:740px;margin:20px 0 35px}.detail-award{position:static;display:inline-flex;border:1px solid var(--line);margin-bottom:10px}.detail-visual{background:#e8e9e3;border-radius:var(--radius);overflow:hidden}.detail-visual img{height:600px;width:100%;object-fit:contain}.detail-copy{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:70px;padding-bottom:85px}.detail-copy h3{font-size:18px;max-width:240px;margin-top:14px}.detail-copy h2{font-size:33px;line-height:1.25;letter-spacing:-.04em}.detail-copy p{margin:25px 0;font-size:16px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:80px}.detail-gallery figure{margin:0}.detail-gallery img{width:100%;height:330px;object-fit:contain;background:white}.detail-gallery figcaption{font-size:12px;padding-top:13px}.blog-index{padding-top:65px;padding-bottom:100px}.blog-index h1{margin-top:25px}.blog-index>.detail-deck{font-size:18px;margin-bottom:60px}.article-head{padding-top:45px;padding-bottom:40px;max-width:1100px}.article-head h1{font-size:clamp(38px,5.2vw,70px);margin:25px 0;line-height:1.12}.article-head>p:last-child{font-size:12px}.article-head>p:last-child span{margin-left:12px}.article-cover{max-width:1100px}.article-cover img{width:100%;max-height:500px;object-fit:cover;border-radius:var(--radius)}.article-body{max-width:730px;margin:50px auto 100px;font-size:17px;line-height:1.9}.article-body p{margin:20px 0}.article-body h2{font-size:32px;line-height:1.3;letter-spacing:-.035em;margin:45px 0 20px}.article-body h3,.article-body h4{font-size:24px;margin:30px 0 15px}.article-body a{text-decoration:underline;text-underline-offset:4px}.article-body img{height:auto;max-width:100%;margin:30px auto}.article-body .source-note{background:#e8ebdf;padding:20px 25px;font-size:12px;line-height:1.7;margin-bottom:40px}.article-body table{display:block;overflow:auto;width:100%;font-size:12px}.article-body td,.article-body th{padding:10px;border:1px solid var(--line)}.article-next{border-top:1px solid var(--line);padding-top:35px;margin-top:60px}.article-next>a{font-size:24px;line-height:1.4;display:block}.prose-page,.cv{max-width:1000px;padding-top:70px;padding-bottom:100px}.prose-page h1,.cv h1{font-size:60px;margin-bottom:30px}.prose-page h2,.cv h2{font-size:32px;margin:40px 0 20px}.prose-page p,.prose-page li{margin-bottom:15px}.prose-page a{text-decoration:underline}.cv .pill{margin-top:25px}.cv article{border-top:1px solid var(--line);padding:20px 0}.cv article h3{font-size:21px;margin:8px 0}.cv h3{font-size:22px}.cv .detail-deck{font-size:22px}
@media(min-width:1600px){.hero-feature{height:530px}.hero-feature-copy{padding-top:65px}}@media(max-width:1100px){.wrap{padding-left:35px;padding-right:35px}header{padding:0 35px}nav{gap:20px}.hero-heading{gap:30px}.hero-intro{max-width:240px}.hero-heading h1{font-size:68px}.hero-feature{height:420px}.hero-feature-copy h2{font-size:52px}.project-image{height:290px}.career{gap:45px}.timeline-item{grid-template-columns:85px 1fr;gap:15px}.band-line{gap:20px}.brand-strip strong{font-size:22px}.brand-strip .tandberg-logo{font-size:12px}footer{padding:30px 35px;flex-wrap:wrap}.contact-bottom{flex-wrap:wrap}.hobbies{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{padding-left:22px;padding-right:22px}header{height:78px;padding:0 22px;position:relative;z-index:10}.wordmark{font-size:25px}.menu-toggle{display:flex;gap:20px;align-items:center;border:0;background:none;font-size:12px}.menu-toggle span{font-size:20px}nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);border-bottom:1px solid var(--line);padding:25px;box-shadow:0 20px 30px #2221}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}nav a{font-size:16px}.nav-contact{display:flex;justify-content:space-between}.hero{padding-top:25px}.hero-top .eyebrow{font-size:12px;letter-spacing:.08em}.edition{display:none}.hero-heading{display:block;padding:30px 0}.hero-heading h1{font-size:clamp(47px,9.7vw,70px);letter-spacing:-.065em}.hero-intro{max-width:100%;padding-top:25px}.hero-intro p:first-child{font-size:16px}.hero-intro p:nth-child(2){max-width:340px;font-size:14px}.hero-intro .text-link{margin-top:5px}.hero-feature{height:460px}.hero-feature>img{width:100%;height:75%;bottom:0;object-position:50% 40%}.hero-feature:after{background:linear-gradient(180deg,#191a18 0%,#191a18aa 20%,transparent 60%)}.hero-feature-copy{padding:25px}.hero-feature-copy h2{font-size:40px;margin:20px 0 12px}.hero-feature-copy p{font-size:12px}.round-arrow{bottom:24px;left:25px;width:35px;height:35px;font-size:21px}.image-label{right:20px;bottom:26px;font-size:12px}.brand-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;gap:25px;text-align:center}.brand-strip>span{font-size:7px;text-align:left}.brand-strip strong{font-size:22px}.brand-strip .sa-logo{font-size:12px}.brand-strip .tandberg-logo{font-size:12px}.brand-strip .cisco-logo{font-size:24px}.intro-section{grid-template-columns:1fr;gap:24px;padding-top:60px;padding-bottom:60px}.intro-section h2{font-size:37px}.intro-section p:not(.eyebrow){font-size:14px}.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:37px}.section-heading>p{margin-top:20px}.section-heading>.text-link{margin-top:20px}.filters{gap:6px}.filters button{font-size:12px;padding:9px 12px}.projects{grid-template-columns:1fr;gap:32px}.project-image{height:330px}.project-caption h3{font-size:23px}.project-year{font-size:12px}.music-section{padding:65px 0}.music-section h2{font-size:48px}.music-intro{margin-top:25px;max-width:340px;font-size:14px}.albums{grid-template-columns:1fr;gap:40px;margin-top:35px}.album-art{max-width:480px}.album>.eyebrow{margin-top:18px}.album h3{font-size:25px}.band-line{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.career{grid-template-columns:1fr;gap:40px}.career-intro h2{font-size:37px}.timeline-item{grid-template-columns:85px 1fr;gap:20px}.timeline-item h3{font-size:21px}.education{padding:25px}.play-section{padding:60px 0}.hobbies{grid-template-columns:1fr;gap:30px;margin-top:30px}.hobby-feature{padding:28px}.hobby-list summary{font-size:20px;gap:18px}.post-grid{grid-template-columns:1fr;gap:35px}.post-card h3{font-size:25px}.post-img{aspect-ratio:1.6}.contact-section{padding-top:45px;padding-bottom:50px}.contact-section h2{font-size:48px}.contact-arrow{width:65px;height:65px;font-size:38px;flex-shrink:0}.contact-section>div:first-of-type{gap:10px}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:12px}.contact-bottom p{grid-column:1/-1}footer{padding:30px 22px;gap:16px}footer>div{flex-wrap:wrap;font-size:12px;gap:18px}footer p{font-size:12px}.detail-head h1{font-size:47px;overflow-wrap:break-word}.detail-deck{font-size:20px}.detail-visual img{height:370px}.detail-copy{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:45px}.detail-copy h3{max-width:none}.detail-copy h2{font-size:27px}.detail-copy p{font-size:14px}.detail-gallery{grid-template-columns:1fr;padding-bottom:50px}.detail-gallery img{height:280px}.article-head h1{font-size:40px}.article-body{margin:30px 22px 65px;font-size:16px}.article-cover img{max-height:320px}.blog-index{padding-top:45px;padding-bottom:65px}.blog-index h1{font-size:52px}.blog-index>.detail-deck{font-size:16px;margin-bottom:40px}.prose-page h1,.cv h1{font-size:42px}.prose-page,.cv{padding-top:45px;padding-bottom:60px}.back{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{header,footer,.skip,#print-cv{display:none}.cv{padding:0;max-width:none}.cv h1{font-size:32px}.cv h2{font-size:22px;margin:20px 0 10px}.cv article{padding:10px 0;break-inside:avoid}.cv article h3{font-size:16px}.cv p{font-size:12px;color:#222}.cv .detail-deck{font-size:16px}body{background:white;color:black}.cv a{text-decoration:none}}

/* Refined portfolio: consistent typography, authentic assets and accessible forms. */
.hero-heading{padding:72px 0 80px}.hero-heading h1{font-size:clamp(48px,6.3vw,90px);letter-spacing:-.055em}.hero-intro{max-width:310px}.hero-intro p:nth-child(2){font-size:16px}.hero-top .eyebrow,.edition{font-size:12px}.eyebrow{letter-spacing:.09em}.brand-strip{display:grid;grid-template-columns:1.1fr repeat(5,1fr);gap:24px;padding:28px 0;min-height:140px}.brand{height:76px;display:flex;align-items:center;justify-content:center;padding:14px;background:transparent;border-radius:4px}.brand img{max-height:48px;width:100%;object-fit:contain}.brand-dark{background:transparent}.brand-dark img{max-height:60px;filter:invert(1)}.brand-strip>span{font-size:12px}.intro-section{grid-template-columns:1fr 1.3fr;align-items:center}.intro-section .eyebrow{margin-bottom:20px}.personal{margin:0;min-width:0}.personal img{width:100%;object-fit:cover;border-radius:6px}.personal figcaption{font-size:14px;margin-top:12px;color:var(--muted)}.portrait img{aspect-ratio:4/3;object-position:45% 40%}.project-image,.p-minuendo-adjustable .project-image{height:auto;aspect-ratio:4/3;background:white}.project-image img,.p-minuendo-adjustable img,.p-tandberg img{object-fit:contain;padding:32px;width:100%;height:100%}.project-caption p,.project-year{font-size:14px}.project-caption{gap:20px}.project-caption h3{font-size:26px}.award{font-size:12px;max-width:calc(100% - 36px)}.detail-visual{background:#fff}.detail-visual img{padding:40px}.music-photos{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;margin-top:48px}.music-photos img{height:480px;object-position:center 35%}.music-photos .personal:last-child img{object-position:center 30%}.music-section .personal figcaption{color:#c6cec0}.album>p:not(.eyebrow),.spotify-link,.band-line small{font-size:14px}.workshop{margin-top:40px}.workshop img{aspect-ratio:4/3;object-position:38% center}.timeline-item{grid-template-columns:120px 1fr}.timeline-item p,.timeline-item h4,.education>p,details li{font-size:14px}.timeline-item>.eyebrow{font-size:12px}.guitar-photo img{max-height:700px;object-fit:contain;background:#deddd5}.hobby-feature p,.hobby-list p{font-size:16px}.tags span{font-size:12px}.post-card>.eyebrow{font-size:12px}.small-note{font-size:14px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:80px;padding-bottom:90px}.contact-section>.contact-copy:first-of-type{display:block;padding:0}.contact-section h2{font-size:clamp(38px,4.5vw,64px);margin:22px 0 28px}.contact-copy>p{font-size:16px}.contact-copy>.eyebrow{font-size:12px}form{display:flex;flex-direction:column;align-items:stretch}form label{font-size:14px;font-weight:600;margin-bottom:8px}input,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #a5ab9b;border-radius:4px;padding:13px 16px;margin-bottom:22px;width:100%}textarea{resize:vertical}input:focus-visible,textarea:focus-visible{outline:3px solid #638245;outline-offset:2px}form .pill{align-self:flex-start;font-size:14px;padding:13px 24px}.form-status{font-size:14px;margin-top:15px}.form-status:empty{display:none}form .small-note{margin-top:16px}.text-link,.filters button,.pill,summary,nav{font-size:14px}.article-head>p:last-child,.article-body .source-note,footer p,footer>div{font-size:14px}.contact-section [hidden]{display:none!important}
@media(max-width:1100px){.brand-strip{gap:12px}.brand{padding:10px}.hero-heading{gap:35px}.hero-heading h1{font-size:64px}.career{gap:40px}.timeline-item{grid-template-columns:100px 1fr}.contact-section{gap:40px}}
@media(max-width:760px){.hero-heading{padding:40px 0 48px}.hero-heading h1{font-size:clamp(44px,9vw,68px)}.hero-top .eyebrow{font-size:11px}.hero-intro{max-width:100%}.hero-intro p:first-child{font-size:18px}.hero-intro p:nth-child(2){font-size:16px}.brand-strip{grid-template-columns:repeat(3,1fr);gap:12px}.brand-strip>span{font-size:11px}.brand{height:70px}.intro-section{grid-template-columns:1fr;gap:32px}.intro-section p:not(.eyebrow){font-size:16px}.project-image{height:auto;aspect-ratio:4/3}.project-image img{padding:24px}.project-caption{flex-wrap:wrap;gap:6px}.project-caption h3{font-size:24px}.project-year{font-size:14px}.music-photos{grid-template-columns:1fr 1fr;gap:14px}.music-photos img{height:300px}.music-photos figcaption{font-size:12px}.timeline-item{grid-template-columns:1fr;gap:8px}.career-intro>p:not(.eyebrow){font-size:16px}.guitar-photo img{max-height:none}.contact-section{grid-template-columns:1fr;gap:32px}.contact-section h2{font-size:46px}.detail-visual img{padding:20px}.filters button{font-size:12px}.hobby-list summary{font-size:20px}.post-card h3{font-size:24px}.music-section h2,.section-heading h2,.intro-section h2,.career-intro h2{font-size:38px}footer>div{font-size:12px}.band-line{grid-template-columns:1fr 1fr}.band-line>span{font-size:12px}}

.hobby-list p a{text-decoration:underline;text-underline-offset:4px}

.post-card[href="/blog/audio-design-branding-internet-of-everything/"] .post-img{background:white}.post-card[href="/blog/audio-design-branding-internet-of-everything/"] .post-img>img{object-fit:contain;padding:12px}.article-body figure{margin:32px 0}.article-body figcaption{font-size:14px;color:var(--muted);line-height:1.6}

/* Portrait-led introduction inspired by the supplied reference. */
:root{--paper:#f5f5f3;--ink:#343934;--muted:#62675f;--line:#d9ddd5;--radius:12px}
header{height:96px;border-bottom:0}.hero{padding-top:18px}.hero-panel{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border-radius:28px;overflow:hidden;min-height:580px}.hero-copy{padding:66px 40px 56px 52px;align-self:center}.hero-kicker{display:flex;align-items:center;gap:14px;color:var(--ink);font-size:13px;letter-spacing:.14em}.hero-kicker:before{content:"";height:1px;width:35px;background:currentColor}.hero-copy h1{font-size:clamp(42px,4.7vw,68px);font-weight:550;letter-spacing:-.055em;line-height:1.12;margin:24px 0}.hero-copy h1 span{color:#5b7147}.hero-description{font-size:18px;line-height:1.65;max-width:440px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-actions .pill{display:inline-flex;align-items:center;gap:24px;padding:12px 23px;font-size:14px}.hero-actions .text-link{font-size:14px;padding-top:6px}.hero-location{font-size:13px;margin-top:28px}.hero-portrait{position:relative;margin:0;min-width:0;overflow:hidden}.hero-portrait img{height:100%;width:100%;object-fit:cover;object-position:39% center}.hero-portrait figcaption{position:absolute;bottom:22px;left:22px;background:#fff;color:#343934;padding:7px 12px;border-radius:24px;font-size:12px}.brand-strip{padding-top:36px;padding-bottom:36px;border-bottom:1px solid var(--line);gap:30px}.brand{background:transparent}.intro-section{grid-template-columns:1fr 1.3fr;padding-top:76px;padding-bottom:80px;gap:60px}.intro-section>p.eyebrow{align-self:start;padding-top:10px}.intro-section h2{font-size:42px}.intro-section>div>.eyebrow{margin-bottom:18px}
@media(max-width:1100px){.hero-panel{min-height:520px;grid-template-columns:1.15fr 1fr}.hero-copy{padding:42px 30px}.hero-copy h1{font-size:48px}.hero-description{font-size:16px}.hero-actions{gap:20px}.hero-actions .pill{padding:10px 16px;gap:12px}.hero-portrait img{object-position:36% center}}
@media(max-width:760px){.hero{padding-top:8px}.hero-panel{grid-template-columns:1fr;border-radius:20px}.hero-copy{padding:34px 26px}.hero-copy h1{font-size:clamp(37px,9.7vw,55px);margin:22px 0}.hero-kicker{font-size:11px;letter-spacing:.1em}.hero-description{font-size:16px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:24px}.hero-actions .text-link{gap:20px}.hero-location{margin-top:22px}.hero-portrait{height:390px}.hero-portrait img{object-position:40% 40%}.brand-strip{gap:16px;padding:26px 0}.intro-section{grid-template-columns:1fr;gap:20px;padding-top:52px;padding-bottom:56px}.intro-section h2{font-size:36px}}
@media(max-width:400px){.hero-copy{padding:30px 22px}.hero-portrait{height:330px}.hero-actions{gap:18px}.hero-actions .pill{font-size:13px}}

/* Personal portrait and Facebook updates. */
.hero-portrait img{object-position:50% 45%}.hero-actions{flex-wrap:wrap}.social-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;border-top:1px solid var(--line)}.social-copy h2{font-size:42px;line-height:1.15;margin:20px 0 24px}.social-copy>p:not(.eyebrow){max-width:390px;margin-bottom:24px}.social-copy .small-note{margin-top:24px}.facebook-feed{width:100%;max-width:500px;min-width:0;justify-self:end;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.facebook-feed iframe{display:block;width:100%;max-width:500px;border:0;height:600px}.social-copy .text-link{display:inline-flex;gap:20px}
@media(max-width:760px){.hero-portrait{height:auto;aspect-ratio:1/1}.hero-portrait img{object-position:center}.social-section{grid-template-columns:1fr;gap:28px}.social-copy h2{font-size:36px}.facebook-feed{justify-self:center}}

/* Social profiles stay useful without a third-party feed loading. */
.hero-portrait{background:#fafafa}.hero-portrait img{object-fit:contain;object-position:center bottom}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}.social-profile{display:flex;flex-direction:column;gap:16px;padding:28px 24px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s,background .2s}.social-profile:hover{background:#f0f2ed;border-color:#65745a}.social-profile:focus-visible{outline:3px solid #638245;outline-offset:4px}.social-network{font-size:14px;color:var(--muted)}.social-profile strong{font-size:23px;font-weight:550;letter-spacing:-.025em}.social-action{font-size:14px;display:flex;justify-content:space-between;gap:16px;margin-top:16px}.social-copy h2{font-size:38px}
@media(max-width:1100px){.social-links{grid-template-columns:1fr}.social-section{gap:32px}}
@media(max-width:760px){.social-links{grid-template-columns:1fr 1fr}.social-profile{padding:22px 18px}.social-profile strong{font-size:20px}.social-copy h2{font-size:36px}}
@media(max-width:400px){.social-links{grid-template-columns:1fr}}

/* Original posts supplied by Tom; embedded directly from each platform. */
.social-with-posts{display:block}.social-profile-links{display:flex;gap:26px;flex-wrap:wrap}.social-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.social-column{display:flex;flex-direction:column;gap:32px;min-width:0}.social-post{min-width:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px}.social-post>.eyebrow{margin-bottom:20px}.facebook-video{width:100%;max-width:var(--video-width);aspect-ratio:var(--video-ratio);margin:0 auto;background:#f4f4f2}.facebook-video iframe{display:block;border:0;width:100%;height:100%;overflow:hidden}.social-original{display:block;font-size:14px;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.instagram-container{width:100%;max-width:540px;margin:0 auto;min-width:0}.instagram-container .instagram-media,.instagram-container iframe{width:100%!important;min-width:0!important;max-width:540px!important;margin:0!important;box-shadow:none!important;border:0!important}.instagram-container blockquote{padding:24px 0;color:var(--ink);font-size:16px}.social-profile-links .text-link{margin:0}
@media(max-width:760px){.social-posts{grid-template-columns:1fr;gap:24px}.social-column{gap:24px}.social-post{padding:18px}.social-profile-links{margin-top:20px}}

/* Group platforms and align video canvases without cropping the originals. */
.social-with-posts>.section-heading{align-items:end}.social-group+.social-group{margin-top:44px}.social-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}.social-group-heading h3{font-size:21px;font-weight:550;letter-spacing:-.025em}.social-group-heading>span{font-size:13px;color:var(--muted)}.social-posts{gap:24px;align-items:start}.social-post{padding:0;overflow:hidden;border-radius:12px}.video-stage{height:591px;display:flex;align-items:center;justify-content:center;background:#eeefeb}.facebook-video{flex:0 1 var(--video-width);max-height:100%;background:transparent}.social-original{margin:0;padding:16px 20px;border-top:1px solid var(--line);font-size:13px;text-decoration:none;line-height:1.5}.social-original:hover{text-decoration:underline}.social-original:focus-visible{outline:3px solid #638245;outline-offset:-4px}.instagram-container blockquote{margin:0;padding:28px 20px;font-size:14px}.social-profile-links{gap:20px}
@media(max-width:760px){.video-stage{height:auto;min-height:0;padding:16px 0}.social-group+.social-group{margin-top:32px}.social-group-heading h3{font-size:19px}.social-posts{gap:20px}.social-original{padding:14px 16px}}
