
.portfolio-tools { position:relative; z-index:3; background:#14120e; padding:48px 5vw 32px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:24px 40px; }
.tools-intro,.tools-showcase { min-width:0; }
.tools-intro h2 { font:400 clamp(40px,4vw,64px)/1.04 var(--font-display); margin:16px 0 24px; }
.tools-intro>p:not(.eyebrow) { color:var(--text-2); max-width:38ch; }
.tools-categories { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:24px; }
.portfolio-tools button { font:inherit; color:var(--text); background:rgba(255,255,255,.035); border:1px solid var(--border); border-radius:10px; cursor:pointer; padding:10px 12px; min-height:48px; }
.tools-categories button { text-align:left; font-size:12px; display:flex; align-items:center; gap:10px; min-width:0; }
.tools-categories button>svg { width:20px; height:20px; flex:none; color:var(--accent-bright); }
.tools-category-label { flex:1; overflow-wrap:anywhere; }
.tool-method-icon { width:30px; height:30px; color:var(--accent-bright); }
.tools-categories button[aria-pressed=true] { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-bright); }
.portfolio-tools button:focus-visible,.tools-directory summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.tools-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tools-heading h3 { font:500 23px var(--font-sans); min-width:0; overflow-wrap:anywhere; }
.tools-heading>span { color:var(--accent); font:12px var(--font-mono); }
.tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; perspective:1200px; }
.tool-tile { position:relative; isolation:isolate; min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; border:1px solid var(--border); background:linear-gradient(135deg,#242019,#191713); border-radius:14px; text-align:center; padding:12px 8px; backface-visibility:hidden; }
.tool-tile img { width:30px; height:30px; object-fit:contain; }
.tool-mark { max-width:100%; color:var(--accent-bright); font:600 14px/1.2 var(--font-sans); overflow-wrap:anywhere; }
.tool-tile>span:last-child { font-size:12px; line-height:1.25; overflow-wrap:anywhere; }
.tool-tile[data-empty=true] { display:none; }
.tools-controls { display:flex; justify-content:flex-end; gap:8px; }
.tools-controls button { width:48px; height:48px; padding:0; }
.tools-status { color:var(--accent-bright); font-size:12px; min-height:20px; }
.tools-status:empty { display:none; }
.tools-note { font-size:12px; line-height:1.5; color:var(--text-2); }
.tools-directory { grid-column:1/-1; border-top:1px solid var(--border); padding-top:16px; margin-top:12px; }
.tools-directory summary { cursor:pointer; color:var(--accent-bright); min-height:48px; display:flex; align-items:center; }
[data-tool-directory] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
[data-tool-directory] h3 { font-size:15px; line-height:1.4; margin-bottom:8px; }
[data-tool-directory] p { font-size:13px; line-height:1.6; color:var(--text-2); }
.mobile-tools-picker { display:none; }
@media(min-width:901px) {
  .tools-intro,.tools-showcase { display:contents; }
  .tools-intro>.eyebrow { grid-column:1; grid-row:1; margin:0; }
  .tools-intro>h2 { grid-column:1; grid-row:2; margin:0; }
  .tools-intro>p:not(.eyebrow) { grid-column:1; grid-row:3; margin:0; }
  .tools-categories { grid-column:1; grid-row:4; margin:8px 0 0; align-self:start; }
  .tools-heading { grid-column:2; grid-row:2; align-items:flex-start; }
  .tools-controls { grid-column:2; grid-row:3; align-self:end; }
  .tools-grid { grid-column:2; grid-row:4; margin:8px 0 0; align-self:start; align-content:start; grid-auto-rows:minmax(94px,auto); }
  .tools-note { grid-column:2; grid-row:5; margin:0; }
  .tools-status:not(:empty) { grid-column:1; grid-row:5; margin:0; }
  .tools-directory { grid-row:6; }
}
@media(max-width:900px) {
  .portfolio-tools { grid-template-columns:1fr; row-gap:24px; }
  .tools-showcase { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
  .tools-heading { grid-column:1; grid-row:1; flex-direction:column; align-items:flex-start; justify-content:center; min-height:48px; gap:4px; }
  .tools-heading h3 { font-size:20px; line-height:1.25; }
  .tools-heading>span { font-size:12px; line-height:1.4; }
  .tools-controls { grid-column:2; grid-row:1; gap:4px; margin:0; }
  .tools-controls button { position:relative; min-width:48px; padding:0; border:0; background:transparent; font-size:20px; line-height:1; }
  .tools-controls button::before { content:""; position:absolute; inset:6px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.025); pointer-events:none; }
  .tools-grid { grid-column:1/-1; margin:0; gap:8px; align-content:start; }
  .tool-tile { min-height:96px; padding:10px 8px; gap:8px; border-radius:12px; }
  .tool-tile img,.tool-method-icon { width:28px; height:28px; }
  .tool-tile>span:last-child { order:-1; }
  .tools-status,.tools-note { grid-column:1/-1; margin:0; font-size:12px; line-height:1.5; text-align:left; }
  .tools-categories { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tools-directory { padding-top:12px; }
  [data-tool-directory] { margin-top:16px; gap:16px; grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  .portfolio-tools { padding:40px 20px 32px; }
  .tools-intro h2 { font-size:32px; margin:8px 0 12px; }
  .tools-intro>p:not(.eyebrow) { font-size:16px; line-height:1.5; margin-bottom:16px; }
  .tools-categories { display:none; }
  .mobile-tools-picker { display:grid; gap:8px; color:var(--text-2); font:500 13px var(--font-sans); }
  .mobile-tools-picker select { width:100%; min-height:48px; padding:10px 12px; border:1px solid #766044; border-radius:10px; background:#211d16; color:#f4efe6; font:400 16px var(--font-sans); color-scheme:dark; }
  .mobile-tools-picker select:focus-visible { outline:2px solid #e9bc7e; outline-offset:3px; }
  .tools-heading h3 { font-size:17px; }
  .tools-heading>span { white-space:nowrap; }
  .tools-grid { min-height:80px; }
  .tool-tile { min-height:80px; padding:8px 6px; gap:6px; }
  .tool-tile img,.tool-method-icon { width:24px; height:24px; }
  .tools-directory summary { font-size:13px; line-height:1.5; }
  [data-tool-directory] { grid-template-columns:1fr; }
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference) {
  .tool-tile>img,.tool-tile>svg,.tool-tile>span { position:relative; z-index:1; }
  .tool-tile[data-empty=false]::after { content:""; position:absolute; inset:0; border:1px solid #dbad66; border-radius:inherit; background:linear-gradient(120deg,transparent 10%,rgba(233,188,126,.16) 50%,transparent 90%); box-shadow:inset 0 0 18px #dbad6626; pointer-events:none; opacity:0; animation:tool-energy-pulse 5.4s ease-in-out infinite; animation-delay:calc(var(--tool-index,0)*.3s); animation-play-state:paused; }
  #tools[data-tools-motion=active] .tool-tile::after { animation-play-state:running; }
  @keyframes tool-energy-pulse { 0%,36%,100% { opacity:0; } 18% { opacity:.85; } }
}

body .shared-contact { height:auto; min-height:0; padding:48px 5vw 64px; }
body .shared-contact .closing-stage { position:relative; width:min(1000px,100%); padding:32px 0 0; border-top:1px solid var(--border); background:none; align-items:flex-start; text-align:left; }
.shared-contact .closing-title { max-width:24ch; margin-top:16px; }
.shared-contact .closing-email { margin-top:24px; max-width:100%; overflow-wrap:anywhere; }
.shared-contact .closing-links { display:flex; justify-content:flex-start; flex-wrap:wrap; margin-top:24px; gap:16px 24px; font-size:12px; line-height:1.6; }
.shared-contact .closing-links a { min-height:48px; display:inline-flex; align-items:center; }
@media(max-width:600px) {
  body .shared-contact { padding:40px 20px 44px; }
  .shared-contact .closing-title { font-size:32px; line-height:1.15; }
  .shared-contact .closing-email { font-size:clamp(16px,5vw,22px); }
}
