/* RodaidhMackay.com — v25
   Clean static styling, no frameworks. Dark, musician/studio friendly, readable and responsive.
*/
:root{
  --bg:#0a0d13;
  --bg-2:#0f131c;
  --panel:rgba(255,255,255,.065);
  --panel-strong:rgba(255,255,255,.095);
  --panel-soft:rgba(255,255,255,.04);
  --border:rgba(255,255,255,.12);
  --border-soft:rgba(255,255,255,.075);
  --text:rgba(255,255,255,.93);
  --muted:rgba(255,255,255,.70);
  --faint:rgba(255,255,255,.52);
  --accent:#8bd5ff;
  --accent-2:#b8f3b0;
  --shadow:0 18px 55px rgba(0,0,0,.36);
  --shadow-soft:0 10px 30px rgba(0,0,0,.24);
  --radius:18px;
  --radius-lg:24px;
  --max:1120px;
  --gutter:20px;
  --space-1:.5rem;
  --space-2:.75rem;
  --space-3:1rem;
  --space-4:1.5rem;
  --space-5:2rem;
  --space-6:3rem;
  --font:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  min-height:100%;
  font-family:var(--font);
  font-size:16px;
  line-height:1.62;
  color:var(--text);
  background:
    radial-gradient(1000px 640px at 10% -10%, rgba(139,213,255,.18), transparent 58%),
    radial-gradient(900px 620px at 105% 5%, rgba(184,243,176,.12), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

img, iframe{max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--accent);}
p{margin:0 0 1rem;}
h1,h2,h3{line-height:1.16;letter-spacing:-.025em;margin:0 0 .65rem;}
h1{font-size:clamp(2.05rem, 4vw, 3.25rem);max-width:14ch;}
h2{font-size:clamp(1.3rem, 2vw, 1.65rem);font-weight:620;}
h3{font-size:1.05rem;font-weight:620;}
ul,ol{margin:.55rem 0 0;padding-left:1.25rem;}
li{margin:.28rem 0;color:var(--muted);}
strong{color:var(--text);font-weight:680;}

.container{width:min(var(--max), calc(100% - var(--gutter)*2));margin:0 auto;padding:var(--space-5) 0;}
.muted{color:var(--muted);}
.small-print,.meta,.roles{color:var(--faint);font-size:.92rem;line-height:1.45;}
.text-link{color:var(--accent);font-weight:650;}
.text-link:hover{text-decoration:underline;}
.sep{border:0;border-top:1px solid var(--border-soft);margin:var(--space-4) 0;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,13,19,.80);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);}
.nav-inner{width:min(var(--max), calc(100% - var(--gutter)*2));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;}
.brand{display:inline-flex;align-items:center;gap:.62rem;color:var(--text);font-weight:720;letter-spacing:-.025em;white-space:nowrap;}
.brand:hover{color:var(--text);}
.brand-mark{width:40px;height:40px;flex:0 0 40px;overflow:hidden;border:1px solid var(--border-soft);border-radius:11px;background:var(--bg);box-shadow:0 6px 20px rgba(0,0,0,.22);transition:border-color .14s ease,transform .14s ease;}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;}
.brand:hover .brand-mark{border-color:rgba(139,213,255,.38);transform:translateY(-1px);}
.brand-name{line-height:1.1;}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:.62rem .72rem;flex-wrap:wrap;}
.nav a{color:var(--muted);font-size:.92rem;font-weight:570;padding:.15rem 0;border-bottom:1px solid transparent;white-space:nowrap;}
.nav a:hover,.nav a.active{color:var(--text);border-bottom-color:rgba(139,213,255,.55);}

/* Layout */
.page-header{padding:var(--space-5) 0 var(--space-4);max-width:820px;}
.page-header p{max-width:72ch;color:var(--muted);font-size:1.06rem;}
.kicker{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:.75rem;color:var(--muted);font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;}
.kicker::before{content:"";width:.6rem;height:.6rem;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 0 4px rgba(139,213,255,.10);}
.grid{display:grid;gap:var(--space-4);}
.grid-2{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(280px,.85fr);gap:var(--space-4);align-items:start;}
.grid-3{display:grid;grid-template-columns:1fr;gap:var(--space-4);}
.grid-two{display:grid;grid-template-columns:1fr;gap:var(--space-4);}
.stack{display:flex;flex-direction:column;gap:var(--space-4);}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:var(--space-6) 0 var(--space-3);}

@media (min-width:860px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:880px){.grid-2{grid-template-columns:1fr;}.nav-inner{align-items:flex-start;flex-direction:column;gap:.55rem;}.nav{justify-content:flex-start;gap:.55rem .85rem;}.page-header{padding-top:var(--space-4);}}

/* Components */
.card{font-size:.99rem;line-height:1.56;background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-4);}
.card p,.card li{font-size:inherit;line-height:inherit;}
.card p:last-child{margin-bottom:0;}
.card .card{background:var(--panel-soft);box-shadow:none;border-color:var(--border-soft);border-radius:var(--radius);}
.card h2,.card h3{font-weight:610;}
.card h2 + ul,.card h3 + ul,.card h2 + ol,.card h3 + ol{margin-top:.62rem;}
.equal-cards > .card,.grid-two > .card{height:100%;}
.subindent,.indented,blockquote{padding-left:1rem;border-left:2px solid var(--border-soft);}
blockquote{margin:0;font-style:italic;color:var(--muted);}
.testimonial-quote,.testimonial{font-style:italic;}
.placeholder-card{border-style:dashed;background:rgba(139,213,255,.045);}
.badge{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.74);padding:.35rem .55rem;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.045);}
.card > .badge + h2{margin-top:.75rem;}

.btn-row,.hero-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;}
.btn,.button,button.btn,button.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.75rem .95rem;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.065);color:var(--text);font-weight:650;line-height:1.2;cursor:pointer;transition:transform .14s ease, background .14s ease, border-color .14s ease, filter .14s ease;}
.btn:hover,.button:hover{background:rgba(255,255,255,.095);transform:translateY(-1px);color:var(--text);}
.btn.primary,.button.primary{color:#061018;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-color:transparent;}
.btn.primary:hover,.button.primary:hover{filter:brightness(1.04);color:#061018;}
.button.ghost,.btn.ghost{background:transparent;border-color:rgba(255,255,255,.20);}
.hub-actions .button,.hub-actions .btn{font-family:var(--mono);font-size:.92rem;letter-spacing:.02em;}

/* Hero */
.hero{position:relative;min-height:520px;display:grid;align-items:center;overflow:hidden;border-radius:26px;border:1px solid var(--border-soft);box-shadow:var(--shadow);background:#0b0e14;}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:left center;filter:saturate(.98) contrast(1.02);transform:scale(1.01);}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(1100px 560px at 18% 30%, rgba(0,0,0,.05), rgba(0,0,0,.58) 55%, rgba(0,0,0,.82)),linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.20) 55%, rgba(0,0,0,.38));}
.hero-content{position:relative;display:flex;justify-content:flex-end;align-items:center;padding:clamp(1.25rem,3.5vw,2.7rem);}
.hero-panel{width:min(680px,100%);padding:clamp(1.25rem,3vw,1.9rem);background:linear-gradient(180deg, rgba(14,17,24,.72), rgba(14,17,24,.54));border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.hero-panel h1{max-width:20ch;font-size:clamp(2rem,3.7vw,3.1rem);}
.hero-panel .lead{color:var(--muted);font-size:1.08rem;max-width:62ch;}
.hero-proof{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.15rem;}
.hero-proof span{display:inline-flex;align-items:center;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.76);font-family:var(--mono);font-size:.74rem;letter-spacing:.02em;line-height:1.2;padding:.42rem .62rem;}
.bio-intro{margin:var(--space-4) 0;}

/* Media cards / embeds */
.card-media .card-media-top,.media-wide,.embed,.embed-wrap{overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius);background:rgba(255,255,255,.025);}
.card-media .card-media-top{margin-bottom:1rem;}
.card-media .card-media-top img{display:block;width:100%;height:280px;object-fit:cover;object-position:center;}
.card-media .card-body{padding:.1rem .1rem 0;}
.media-wide{margin:.9rem 0 .6rem;}
.media-wide img{display:block;width:100%;height:auto;object-fit:cover;}
.embed-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-3);}
.embed iframe,.embed-wrap iframe{display:block;border:0;width:100%;}
.spotify-embed iframe{height:352px;}
.spotify-embed--compact iframe{height:152px;}
.youtube-embed iframe{aspect-ratio:16/9;height:auto;}
.embed-fallback{display:flex;justify-content:center;padding:.85rem .9rem;border-top:1px solid var(--border-soft);font-size:.92rem;color:var(--muted);text-align:center;}

.youtube-link-card{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:.85rem;padding:1.15rem;border-radius:var(--radius);border:1px solid var(--border-soft);background:radial-gradient(520px 280px at 18% 8%, rgba(139,213,255,.16), transparent 58%),rgba(255,255,255,.035);}
.youtube-link-card h3{margin:0;}
.youtube-link-card p{margin:0;}
.youtube-link-card .button{align-self:flex-start;margin-top:.15rem;}
.pricing-list{display:grid;gap:.65rem;margin-top:.8rem;}
.price-line{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.65rem 0;border-bottom:1px solid var(--border-soft);}
.price-line:last-child{border-bottom:0;}
.price-line span:first-child{color:var(--muted);}
.price-line strong{white-space:nowrap;}
.package-grid{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.8rem;}
.package-card{padding:.85rem;border-radius:var(--radius);background:rgba(11,13,18,.35);border:1px solid var(--border-soft);}
.package-card h4{margin:0 0 .25rem;font-size:1rem;letter-spacing:-.02em;}
.package-card p{margin:0;}
@media (min-width:620px){.package-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:860px){.embed-grid{grid-template-columns:1fr 1fr;}}

/* Page hero with image */
.page-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:var(--space-4);align-items:stretch;margin:var(--space-4) 0;}
.page-hero .page-header{padding:var(--space-4) 0;align-self:center;}
.page-hero-media{min-height:300px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:rgba(255,255,255,.025);box-shadow:var(--shadow-soft);}
.page-hero-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;}
.page-hero-media--dark img{filter:saturate(.9) brightness(.8);}
.about-hero{grid-template-columns:minmax(0,1.25fr) minmax(240px,.72fr);}
.about-hero .page-hero-media{min-height:240px;max-height:320px;align-self:center;}
@media (max-width:860px){.page-hero{grid-template-columns:1fr;}.page-hero-media{min-height:240px;}.hero{min-height:500px;}.hero-content{justify-content:flex-start;}.card-media .card-media-top img{height:220px;}}

img.focal-left{object-position:left center!important;}
img.focal-center{object-position:center!important;}
img.focal-right{object-position:right center!important;}
img.focal-top{object-position:center top!important;}
img.focal-studio{object-position:center 10%!important;}

/* Projects */
.project-card{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid var(--border-soft);margin-top:1rem;}
.project-img{flex:0 0 120px;}
.project-img img{width:120px;height:120px;object-fit:cover;border-radius:14px;display:block;border:1px solid var(--border-soft);}
.project-body{min-width:0;flex:1;}
.project-links{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.55rem 0 0;color:var(--muted);}
.project-links a{color:var(--muted);}
.project-links a:hover{color:var(--accent);text-decoration:underline;}
@media (max-width:540px){.project-card{flex-direction:column;}.project-img{flex-basis:auto;width:100%;}.project-img img{width:100%;height:auto;aspect-ratio:16/10;}}

/* Forms */
.label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.4rem;}
.input{width:100%;padding:.8rem .85rem;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.055);color:var(--text);outline:none;transition:border-color .14s ease, box-shadow .14s ease, background .14s ease;}
.input::placeholder{color:rgba(255,255,255,.44);}
.input:focus{border-color:rgba(139,213,255,.55);box-shadow:0 0 0 4px rgba(139,213,255,.12);background:rgba(255,255,255,.07);}
textarea.input{resize:vertical;min-height:150px;}
.input,button,.btn,.button{font:inherit;}
.input:not(textarea),select.input{min-height:48px;}
button.btn,button.button{min-height:48px;font-size:1rem;}
.form-privacy{margin:.9rem 0 0;color:var(--faint);font-size:.9rem;line-height:1.5;}
.checkbox{display:flex;gap:.65rem;align-items:flex-start;color:var(--muted);font-size:.95rem;}
.checkbox input{margin-top:.25rem;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Updates */
.update-details{margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--border-soft);}
.update-details summary{cursor:pointer;user-select:none;color:var(--accent);font-weight:650;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.update-details summary::-webkit-details-marker{display:none;}
.update-details summary::after{content:'＋';opacity:.85;}
.update-details[open] summary::after{content:'−';}
.update-body{margin-top:.85rem;}

/* Footer */
.site-footer{margin-top:var(--space-5);border-top:1px solid var(--border-soft);background:rgba(10,13,19,.58);}
.site-footer .container{padding:0;}
.footer-columns{display:grid;grid-template-columns:1.35fr .9fr;gap:var(--space-5);padding:var(--space-4) 0 var(--space-3);}
.footer-columns > .footer-col:nth-child(2){display:none;}
.footer-brand{font-weight:720;letter-spacing:-.02em;margin-bottom:.35rem;}
.footer-text{color:var(--muted);max-width:54ch;}
.footer-title{font-weight:650;margin-bottom:.55rem;}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;}
.footer-links li{margin:0;color:inherit;}
.footer-links a{color:var(--muted);line-height:1.35;}
.footer-links a:hover{color:var(--accent);text-decoration:underline;}
.footer-social a,.social-link{display:flex;align-items:center;gap:.55rem;}
.footer-social{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.4rem;}
.footer-bottom{padding:.8rem 0;border-top:1px solid var(--border-soft);color:var(--faint);font-size:.92rem;}
.footer-index{display:flex;flex-wrap:wrap;gap:.55rem 1rem;padding:.75rem 0 1rem;border-top:1px solid rgba(255,255,255,.045);}
.footer-index a{color:var(--faint);font-size:.92rem;}
.icon{width:16px;height:16px;display:inline-block;background:currentColor;opacity:.9;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;}
.icon-instagram{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm10 2H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3Zm-5 4a5 5 0 1 1 0 10a5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6Zm5.5-.9a1.1 1.1 0 1 1 0 2.2a1.1 1.1 0 0 1 0-2.2Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm10 2H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3Zm-5 4a5 5 0 1 1 0 10a5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6a3 3 0 0 0 0-6Zm5.5-.9a1.1 1.1 0 1 1 0 2.2a1.1 1.1 0 0 1 0-2.2Z"/></svg>');}
.icon-youtube{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M21.6 7.2a3 3 0 0 0-2.1-2.1C17.7 4.6 12 4.6 12 4.6s-5.7 0-7.5.5A3 3 0 0 0 2.4 7.2A31 31 0 0 0 2 12a31 31 0 0 0 .4 4.8a3 3 0 0 0 2.1 2.1c1.8.5 7.5.5 7.5.5s5.7 0 7.5-.5a3 3 0 0 0 2.1-2.1A31 31 0 0 0 22 12a31 31 0 0 0-.4-4.8ZM10 15.5v-7l6 3.5-6 3.5Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M21.6 7.2a3 3 0 0 0-2.1-2.1C17.7 4.6 12 4.6 12 4.6s-5.7 0-7.5.5A3 3 0 0 0 2.4 7.2A31 31 0 0 0 2 12a31 31 0 0 0 .4 4.8a3 3 0 0 0 2.1 2.1c1.8.5 7.5.5 7.5.5s5.7 0 7.5-.5a3 3 0 0 0 2.1-2.1A31 31 0 0 0 22 12a31 31 0 0 0-.4-4.8ZM10 15.5v-7l6 3.5-6 3.5Z"/></svg>');}
.icon-facebook{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.2-1.5 1.5-1.5h1.7V5c-.3 0-1.5-.1-2.9-.1-2.8 0-4.7 1.7-4.7 4.8V11H6.7v3H9v8h4.5Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.2-1.5 1.5-1.5h1.7V5c-.3 0-1.5-.1-2.9-.1-2.8 0-4.7 1.7-4.7 4.8V11H6.7v3H9v8h4.5Z"/></svg>');}
.icon-threads{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2c5.5 0 10 4.5 10 10c0 5.3-4.2 9.6-9.4 10c-3.5.3-6.6-1.3-8.3-4.1C3.1 16 2.6 13.4 3 11c.4-2.2 1.6-4.1 3.3-5.6A9.8 9.8 0 0 1 12 2Zm.4 5.1c-2.6-.1-4.5 1.3-4.9 3.5l2.3.3c.2-1.1 1.1-1.9 2.6-1.8c1.3.1 2.2.8 2.6 2c-.7-.2-1.4-.3-2.2-.3c-2.7 0-4.6 1.4-4.6 3.7c0 2 1.6 3.6 4.1 3.6c2.3 0 3.8-1.2 4.3-3.1c.3-1.1.3-2.2.1-3.2c-.5-2.8-2.4-4.6-4.3-4.7Zm-.1 5.8c.7 0 1.4.1 2 .4c-.1 1.7-.9 2.6-2.3 2.6c-1.1 0-1.8-.6-1.8-1.5c0-1 .9-1.5 2.1-1.5Z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2c5.5 0 10 4.5 10 10c0 5.3-4.2 9.6-9.4 10c-3.5.3-6.6-1.3-8.3-4.1C3.1 16 2.6 13.4 3 11c.4-2.2 1.6-4.1 3.3-5.6A9.8 9.8 0 0 1 12 2Zm.4 5.1c-2.6-.1-4.5 1.3-4.9 3.5l2.3.3c.2-1.1 1.1-1.9 2.6-1.8c1.3.1 2.2.8 2.6 2c-.7-.2-1.4-.3-2.2-.3c-2.7 0-4.6 1.4-4.6 3.7c0 2 1.6 3.6 4.1 3.6c2.3 0 3.8-1.2 4.3-3.1c.3-1.1.3-2.2.1-3.2c-.5-2.8-2.4-4.6-4.3-4.7Zm-.1 5.8c.7 0 1.4.1 2 .4c-.1 1.7-.9 2.6-2.3 2.6c-1.1 0-1.8-.6-1.8-1.5c0-1 .9-1.5 2.1-1.5Z"/></svg>');}

@media (max-width:900px){.footer-columns{grid-template-columns:1fr;}.footer-social{grid-template-columns:repeat(2,minmax(0,1fr));}.footer-bottom{border-top:1px solid var(--border-soft);}}
@media (max-width:520px){:root{--gutter:16px;}h1{font-size:2rem;max-width:100%;}.hero{border-radius:20px;min-height:560px;}.hero-panel{border-radius:18px;}.hero-proof span{font-size:.7rem;}.btn,.button{width:100%;}.btn-row,.hero-actions{align-items:stretch;}.nav a{font-size:.92rem;}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;}}


/* v25 additions: downloads, testimonials, compact feature rows */
.feature-row{margin:var(--space-4) 0;}
.resource-list{display:grid;gap:.8rem;margin-top:1rem;}
.resource-card,.quote-card{padding:1rem;border-radius:var(--radius);border:1px solid var(--border-soft);background:rgba(11,13,18,.35);}
.resource-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;}
.resource-card h3,.quote-card h3{margin:.55rem 0 .35rem;}
.resource-card p,.quote-card p{margin:0;}
.quote-grid{display:grid;grid-template-columns:1fr;gap:.85rem;margin-top:.85rem;}
.quote-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:1.2rem;background:rgba(11,13,18,.35);}
.quote-card--home{min-height:100%;}
.quote-card .testimonial-quote{position:relative;z-index:1;margin:0 0 .8rem;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6;}
.quote-mark{height:2rem;color:var(--accent);font-family:Georgia,serif;font-size:3.2rem;line-height:1;opacity:.72;}
.quote-attribution{position:relative;z-index:1;display:grid;gap:.08rem;margin:auto 0 0!important;padding-top:.45rem;color:var(--faint);font-size:.88rem;font-style:normal;line-height:1.4;}
.quote-attribution strong{color:var(--text);font-size:.94rem;}
.quote-attribution span{display:block;}
.quote-details{position:relative;z-index:1;width:100%;height:100%;}
.quote-details summary{display:flex;min-height:100%;flex-direction:column;list-style:none;cursor:pointer;outline:none;}
.quote-details summary::-webkit-details-marker{display:none;}
.quote-details summary:focus-visible{border-radius:12px;box-shadow:0 0 0 3px rgba(139,213,255,.18);}
.quote-preview{display:block;position:relative;z-index:1;margin:0 0 .8rem;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6;}
.quote-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:.4rem;margin-top:.9rem;color:var(--accent);font-size:.88rem;font-weight:650;font-style:normal;}
.quote-toggle::after{content:"↓";transition:transform .16s ease;}
.quote-toggle-less{display:none;}
.quote-details[open]{height:auto;}
.quote-details[open] summary{min-height:0;}
.quote-details[open] summary > .quote-mark,.quote-details[open] summary > .quote-preview,.quote-details[open] summary > .quote-attribution{display:none;}
.quote-details[open] .quote-toggle{margin-top:0;}
.quote-details[open] .quote-toggle::after{transform:rotate(180deg);}
.quote-details[open] .quote-toggle-more{display:none;}
.quote-details[open] .quote-toggle-less{display:inline;}
.quote-full{margin-top:.85rem;padding-top:1rem;border-top:1px solid var(--border-soft);}
.quote-full .testimonial-quote:last-of-type{margin-bottom:.25rem;}
.testimonial-section{margin-top:var(--space-6);}
.testimonial-section-head{margin-bottom:var(--space-3);}
.testimonial-section-head h2{margin:.55rem 0 0;}
.testimonial-section--tuition .quote-card{border-top-color:rgba(184,243,176,.28);}
.testimonial-section--studio .quote-card{border-top-color:rgba(139,213,255,.28);}
.proof-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;}
.proof-summary span{padding:.42rem .68rem;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.045);color:var(--muted);font-family:var(--mono);font-size:.75rem;}
.cta-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:1.35rem;border:1px solid rgba(184,243,176,.16);border-radius:var(--radius);background:linear-gradient(145deg,rgba(184,243,176,.08),rgba(255,255,255,.035));}
.cta-card .button{margin-top:.25rem;}
.closing-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:var(--space-6);background:linear-gradient(120deg,rgba(139,213,255,.09),rgba(184,243,176,.06));}
.closing-cta > div:first-child{max-width:700px;}
.home-proof{margin:var(--space-6) 0 var(--space-4);}
.mini-quote{padding:.95rem 0;border-top:1px solid var(--border-soft);}
.mini-quote:first-of-type{margin-top:.8rem;}
.mini-quote .testimonial-quote{margin:0;color:rgba(255,255,255,.78);font-size:.96rem;line-height:1.55;}
.mini-quote .quote-attribution{padding-top:.6rem;}
.project-proof{margin:.8rem 0 0!important;padding:.7rem .85rem;border-left:2px solid rgba(139,213,255,.45);background:rgba(139,213,255,.045);color:rgba(255,255,255,.72);font-size:.9rem;font-style:italic;}
.project-proof span{display:block;margin-top:.25rem;color:var(--faint);font-size:.82rem;font-style:normal;}
.quote-card .small-print{margin-top:.7rem;}
.callout{margin-top:var(--space-4);}
.section-spaced{margin-top:var(--space-6);}
.photo-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);gap:var(--space-3);margin-top:var(--space-3);}
.photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius);background:rgba(255,255,255,.025);}
.photo-grid img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;}
.photo-grid figcaption{padding:.65rem .8rem;color:var(--faint);font-size:.84rem;line-height:1.4;border-top:1px solid var(--border-soft);}
.photo-grid figure:first-child img{object-position:center;}
.photo-grid figure:last-child img{object-position:center;}
@media (max-width:700px){.photo-grid{grid-template-columns:1fr;}.photo-grid img{min-height:0;height:auto;}}
@media (min-width:760px){
  .quote-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .quote-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .feature-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .testimonial-section .quote-grid-2 > .quote-card:nth-child(4n+3),
  .testimonial-section .quote-grid-2 > .quote-card:nth-child(4n+4){
    background:linear-gradient(145deg,rgba(139,213,255,.10),rgba(11,13,18,.42) 56%,rgba(184,243,176,.055));
    border-color:rgba(139,213,255,.20);
  }
}
@media (min-width:760px){.quote-grid-2 .cta-card--wide{grid-column:1/-1;}}
@media (max-width:620px){.resource-card{flex-direction:column;}.resource-card .small-print{align-self:flex-start;}}

/* Progressive mobile navigation: the full link list remains available if JS is disabled. */
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.055);color:var(--text);cursor:pointer;}
.nav-toggle-lines,.nav-toggle-lines::before,.nav-toggle-lines::after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .16s ease,opacity .16s ease;}
.nav-toggle-lines{position:relative;}
.nav-toggle-lines::before,.nav-toggle-lines::after{content:"";position:absolute;left:0;}
.nav-toggle-lines::before{top:-6px;}.nav-toggle-lines::after{top:6px;}
@media (max-width:880px){
  .nav-inner{position:relative;flex-direction:row;align-items:center;flex-wrap:wrap;}
  .enhanced-nav .nav-toggle{display:inline-flex;}
  .enhanced-nav .nav{display:none;flex:1 0 100%;padding:.55rem 0 .25rem;}
  .enhanced-nav.nav-open .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem;}
  .enhanced-nav .nav a{padding:.42rem 0;}
  .enhanced-nav.nav-open .nav-toggle-lines{background:transparent;}
  .enhanced-nav.nav-open .nav-toggle-lines::before{top:0;transform:rotate(45deg);}
  .enhanced-nav.nav-open .nav-toggle-lines::after{top:0;transform:rotate(-45deg);}
}
@media (max-width:700px){.testimonial-section-head{align-items:flex-start;flex-direction:column;}.closing-cta{align-items:flex-start;flex-direction:column;gap:1rem;}}
@media (max-width:860px){.about-hero .page-hero-media{min-height:220px;max-height:300px;}}

/* Download library */
.download-section{margin-top:var(--space-6);}
.download-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);}
.resource-card--download{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;padding:1.25rem;overflow:hidden;}
.resource-card--download::after{content:"";position:absolute;right:-70px;bottom:-100px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(139,213,255,.11),transparent 68%);pointer-events:none;}
.resource-card--featured{background:linear-gradient(145deg,rgba(139,213,255,.09),rgba(11,13,18,.4) 58%,rgba(184,243,176,.05));border-color:rgba(139,213,255,.18);}
.resource-number{position:relative;z-index:1;display:grid;place-items:center;width:2.3rem;height:2.3rem;border:1px solid rgba(139,213,255,.24);border-radius:999px;color:var(--accent);font-family:var(--mono);font-size:.76rem;background:rgba(139,213,255,.075);}
.resource-copy{position:relative;z-index:1;min-width:0;}
.resource-copy h3{margin:.45rem 0 .5rem;font-size:1.18rem;}
.resource-meta{display:flex;flex-wrap:wrap;gap:.35rem .7rem;color:var(--faint);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.035em;}
.resource-meta span+span::before{content:"·";margin-right:.7rem;color:rgba(255,255,255,.28);}
.download-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1rem;margin-top:1rem;}
.resource-card--download>.resource-copy>.button{margin-top:1rem;}
.download-support{margin-top:var(--space-6);}
.resource-cta{background:linear-gradient(140deg,rgba(184,243,176,.08),rgba(255,255,255,.045));}
.resource-cta .btn-row{margin-top:1rem;}
@media (min-width:760px){.download-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr));}.download-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}.download-grid--3 .resource-card--download{grid-template-columns:1fr;}.download-grid--3 .resource-number{margin-bottom:.15rem;}}
@media (min-width:1040px){.download-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:520px){.resource-card--download{grid-template-columns:1fr;}.resource-number{width:2rem;height:2rem;}.download-actions{align-items:stretch;flex-direction:column;}.download-actions .text-link{align-self:flex-start;}}
