/* The project map is shared in structure but uses each trade's own visual grammar. */
.masthead{position:relative;z-index:2;background:var(--paper)}
.masthead .brand-sub{font-weight:700}
.masthead nav a:not(.pill){padding-block:10px;border-bottom:2px solid transparent}
.masthead nav a:not(.pill):hover,.masthead nav a:not(.pill):focus-visible{border-bottom-color:var(--accent)}
.hero{position:relative;overflow:hidden}
.hero::before{content:"HAUSE / FIELD NOTES";position:absolute;top:18px;left:5vw;font-size:.56rem;font-weight:700;letter-spacing:.19em;opacity:.55}
.hero-copy{position:relative;z-index:1}
.hero .eyebrow{color:inherit;opacity:.72}
.hero .lede{font-size:clamp(1.08rem,1.4vw,1.38rem);line-height:1.5;max-width:53ch}
.hero-art{isolation:isolate}
.hero-art::before{content:"";position:absolute;inset:4% -4% -3% 5%;border:1px solid currentColor;opacity:.24;z-index:-1}
.hero-art img{box-shadow:0 24px 60px #09222a23}
.hero-index{gap:0}
.hero-index span{flex:1;border-right:1px solid var(--line);padding-inline:18px}
.hero-index span:first-child{padding-left:0}
.hero-index span:last-child{border:0}
.experience{background:#171f24;color:#f5f2e9;position:relative;overflow:hidden}
.experience::before{content:"";position:absolute;width:62vw;height:62vw;max-width:950px;max-height:950px;border:1px solid #ffffff18;border-radius:50%;top:-32vw;right:-19vw;pointer-events:none}
.experience-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:6vw;position:relative;margin-bottom:38px}
.experience-heading h2{max-width:14ch;margin-bottom:0}
.experience-heading>p{font-size:1.04rem;color:#d1dcd9;line-height:1.55;margin-bottom:5px}
.experience-grid{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);min-height:560px;border:1px solid #ffffff36;position:relative}
.experience-steps{display:flex;flex-direction:column;border-right:1px solid #ffffff36}
.experience-step{appearance:none;background:transparent;color:inherit;border:0;border-bottom:1px solid #ffffff31;text-align:left;padding:24px 26px;display:grid;grid-template-columns:46px 1fr 20px;align-items:center;gap:10px;min-height:20%;font-size:clamp(.94rem,1.25vw,1.22rem);line-height:1.3}
.experience-step:last-child{border-bottom:0}
.experience-step:hover,.experience-step[aria-pressed=true]{background:var(--accent);color:#16232b}
.experience-step[aria-pressed=true]{box-shadow:inset 5px 0 0 #fff}
.step-number{font-size:.68rem;letter-spacing:.1em;font-weight:700}
.experience-detail{display:grid;grid-template-columns:47% 53%;min-width:0}
.experience-diagram{position:relative;overflow:hidden;display:grid;place-items:center;min-height:420px;background:radial-gradient(circle at 50% 50%,#ffffff12 0 12%,transparent 12.5% 100%),repeating-linear-gradient(0deg,transparent 0 46px,#ffffff12 47px),repeating-linear-gradient(90deg,transparent 0 46px,#ffffff12 47px)}
.experience-diagram::before,.experience-diagram::after{content:"";position:absolute;display:block;transition:transform .55s ease}
.experience-diagram::before{height:70%;width:1px;background:var(--accent);transform:rotate(var(--step-angle,0deg))}
.experience-diagram::after{height:1px;width:70%;background:var(--accent);transform:rotate(var(--step-angle,0deg))}
.diagram-orbit{position:absolute;display:block;border:1px solid var(--accent);border-radius:50%;opacity:.82}
.orbit-one{width:62%;aspect-ratio:1}
.orbit-two{width:38%;aspect-ratio:1;border-style:dashed;opacity:.56}
.diagram-core{position:relative;z-index:1;background:#171f24;border:2px solid var(--accent);color:#fff;width:42%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;text-align:center;padding:8%;font-family:Georgia,serif;font-size:clamp(.72rem,1.13vw,1.17rem);line-height:1.15;overflow-wrap:anywhere}
.diagram-index{position:absolute;left:20px;bottom:18px;font-size:.65rem;letter-spacing:.15em}
.experience-detail-copy{padding:clamp(27px,3vw,55px);display:flex;flex-direction:column;justify-content:center;background:#f5f2e9;color:#172126}
.experience-detail-copy h3{font-family:Georgia,serif;font-size:clamp(1.5rem,2.3vw,2.7rem);font-weight:400;letter-spacing:-.035em;line-height:1.12}
.experience-detail-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.6}
.experience-prompt{border-top:1px solid #9ca9a6;padding-top:19px;margin-top:12px}
.experience-prompt strong{display:block;text-transform:uppercase;font-size:.62rem;letter-spacing:.14em;margin-bottom:10px}
.experience-prompt span{display:block;font-family:Georgia,serif;font-size:1.1rem;line-height:1.4}
.experience-detail-copy .actions{margin-top:16px}
.experience-detail-copy .button{font-size:.75rem}
.section-head h2{max-width:17ch}
.guide-card{transition:transform .2s ease,border-color .2s ease}
.guide-card:hover{transform:translateY(-4px);border-color:var(--accent)}
.guide-card img{border:1px solid #0a1b2133;background:#dbe1db}
.guide-card .arrow{display:inline-block;border:1px solid currentColor;border-radius:50%;width:40px;height:40px;line-height:36px;text-align:center;margin-top:8px}
.topic-grid>a{padding:28px 22px;border:1px solid var(--line);background:#ffffff52;min-height:230px;display:flex;flex-direction:column}
.topic-grid>a h3{font-family:Georgia,serif;font-size:1.55rem;font-weight:400}
.topic-grid>a span:last-child{margin-top:auto;align-self:flex-end}
.topic-grid>a:hover{background:var(--accent)}
.tool-grid>a{position:relative;min-height:230px;transition:background .2s,color .2s}
.tool-grid>a:hover{background:var(--accent);color:#12232a}
.tool-grid>a>span:last-child{position:absolute;right:25px;bottom:20px;font-size:1.6rem}
body[data-site=electricalpanelreplacement] .experience{background:#272b2a}
body[data-site=electricalpanelreplacement] .diagram-core{background:#272b2a}
body[data-site=electricalwiring] .experience{background:#163a34}
body[data-site=electricalwiring] .diagram-core{background:#163a34}
body[data-site=electricalwiring] .experience-diagram{background-color:#205349}
body[data-site=industrialelectrician] .experience{background:#102735}
body[data-site=industrialelectrician] .diagram-core{background:#102735}
body[data-site=industrialelectrician] .experience-diagram{background-color:#173746}
body[data-site=industrialrefrigeration] .experience{background:#102f41}
body[data-site=industrialrefrigeration] .diagram-core{background:#102f41}
body[data-site=industrialrefrigeration] .experience-diagram{background-color:#1b4859}
@media(max-width:1100px){.experience-detail{grid-template-columns:1fr}.experience-diagram{min-height:260px}.diagram-core{width:150px;font-size:1rem;padding:20px}.experience-grid{grid-template-columns:38% 62%}}
@media(max-width:700px){.hero::before{left:6vw}.hero-index span{padding-inline:11px}.experience-heading,.experience-grid{grid-template-columns:1fr}.experience-heading h2{max-width:none}.experience-grid{min-height:0}.experience-steps{border-right:0;border-bottom:1px solid #ffffff36}.experience-step{min-height:56px;padding:15px 18px}.experience-detail{grid-template-columns:1fr}.experience-diagram{min-height:230px}.experience-detail-copy{padding:26px}.experience-detail-copy .actions{display:grid}.topic-grid>a{min-height:0}}
@media(prefers-reduced-motion:reduce){.experience-diagram::before,.experience-diagram::after,.guide-card,.tool-grid>a{transition:none}}
