:root{--paper:#f3efe5;--paper2:#e8e1d3;--ink:#171914;--muted:#5d6159;--rule:#c9c1b2;--blue:#173f67;--blue2:#102f4d;--red:#914534;--white:#fffdf8;--serif:Georgia,"Times New Roman",serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif;--max:1240px;--header:82px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;overflow-x:hidden;color:var(--ink);background:linear-gradient(rgba(23,63,103,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,63,103,.025) 1px,transparent 1px),var(--paper);background-size:32px 32px;font:1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b96b55;outline-offset:4px}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:.7rem 1rem;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}
.section-shell,.header-inner{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:10;min-height:var(--header);border-bottom:1px solid var(--rule);background:rgba(243,239,229,.92);backdrop-filter:blur(16px)}
.header-inner{min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:2.35rem;aspect-ratio:1;border:1px solid var(--red);color:var(--red);font:700 .9rem var(--serif);position:relative}.brand-mark:after{content:"";position:absolute;inset:3px;border:1px solid rgba(145,69,52,.35)}.brand-name{font:700 1.05rem var(--serif)}
.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2.4vw,2rem);font-size:.86rem}.primary-nav>a{text-decoration:none;color:var(--muted)}.primary-nav>a:hover{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:.65rem}
.button{min-height:44px;padding:.72rem 1.15rem;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;color:inherit;background:none;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.035em;cursor:pointer;transition:.18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:var(--white)}.button-primary:hover{background:var(--blue2)}.button-quiet,.button-outline{border-color:var(--rule)}.button-quiet:hover,.button-outline:hover{border-color:var(--ink)}.menu-toggle{display:none}
.hero{min-height:calc(86svh - var(--header));padding-block:clamp(5rem,11vw,9rem);display:grid;grid-template-columns:1fr;align-items:center;position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("assets/backgrounds/cad-background-desktop.png") center/cover no-repeat;opacity:.92}.hero:after{content:"RC / PORTFOLIO";position:absolute;right:0;bottom:2rem;padding-top:.55rem;border-top:1px solid var(--red);color:var(--muted);font:700 .64rem/1 var(--sans);letter-spacing:.16em}.hero>*{min-width:0}.hero-copy{max-width:46rem}.placeholder{overflow-wrap:anywhere}
.eyebrow,.section-kicker,.project-number,.note-type{margin:0 0 1.5rem;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero h1{margin:0;font:500 clamp(4rem,9.4vw,8.6rem)/.82 var(--serif);letter-spacing:-.065em}.hero-intro{max-width:38rem;margin:2.2rem 0 1.8rem;color:var(--muted);font:clamp(1.15rem,2vw,1.45rem)/1.55 var(--serif)}.text-link{display:inline-flex;align-items:center;gap:.8rem;color:var(--blue);font-size:.88rem;font-weight:800;text-decoration:none}.text-link span{transition:transform .18s}.text-link:hover span{transform:translate(4px,4px)}
.drawing-frame{margin:0;min-width:0;border:1px solid var(--rule);background:rgba(255,253,248,.36);position:relative}.drawing-frame:before,.drawing-frame:after{content:"";position:absolute;width:14px;height:14px;pointer-events:none}.drawing-frame:before{top:-1px;left:-1px;border-top:2px solid var(--red);border-left:2px solid var(--red)}.drawing-frame:after{right:-1px;bottom:-1px;border-right:2px solid var(--red);border-bottom:2px solid var(--red)}
.drawing-meta{display:flex;justify-content:space-between;padding:.75rem .9rem;border-bottom:1px solid var(--rule);color:var(--muted);font-size:.65rem;letter-spacing:.12em}.technical-drawing{width:100%;height:auto;display:block;color:var(--blue)}.technical-drawing path,.technical-drawing circle{fill:none;vector-effect:non-scaling-stroke}.drawing-grid{stroke:currentColor;stroke-width:.65;opacity:.13}.drawing-main{stroke:currentColor;stroke-width:1.2;opacity:.72}.drawing-notes{stroke:var(--red);stroke-width:1;opacity:.8}.drawing-notes circle{fill:var(--red)}.drawing-frame figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.72rem}
.ruled-section{border-top:1px solid var(--rule);padding-block:clamp(4.5rem,9vw,8rem)}.about,.work,.notes{display:grid;grid-template-columns:minmax(190px,.36fr) minmax(0,1fr);column-gap:clamp(3rem,9vw,8rem)}.section-heading h2{margin:0;font:500 clamp(2.5rem,5vw,4.4rem)/.98 var(--serif);letter-spacing:-.045em}.section-kicker{margin-bottom:1rem}
.large-placeholder{max-width:52rem;margin:0;font:clamp(1.25rem,2.15vw,1.72rem)/1.52 var(--serif)}.profile-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.profile-facts h3{margin:0 0 .5rem;color:var(--muted);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.profile-facts p{margin:0;font-family:var(--serif)}
.section-intro{max-width:46rem;margin:0 0 3rem;color:var(--muted);font:1.2rem var(--serif)}.work .section-intro,.notes .section-intro,.work>:not(.section-heading),.notes>:not(.section-heading){grid-column:2}
.featured-project{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(2rem,5vw,4.5rem);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--rule);background:rgba(255,253,248,.45)}.project-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-number{margin:0}.project-year,.project-type,.note-date{color:var(--muted);font:.8rem var(--serif)}.featured-project h3{margin:2rem 0 1rem;font:500 clamp(2rem,4vw,3.4rem)/1.05 var(--serif);letter-spacing:-.035em}.project-summary{max-width:38rem;color:var(--muted);font:1.08rem var(--serif)}
.project-details{margin:2rem 0 0;display:grid;gap:.65rem}.project-details div{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding-top:.65rem;border-top:1px solid var(--rule)}.project-details dt{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-details dd{margin:0;color:var(--muted);font:.9rem var(--serif)}
.artifact-placeholder{min-height:350px;position:relative;overflow:hidden;border:1px solid rgba(23,63,103,.32);display:flex;align-items:flex-end;padding:1rem;color:var(--blue);background:radial-gradient(circle at 50% 46%,transparent 0 20%,rgba(23,63,103,.1) 20.2% 20.6%,transparent 20.8% 31%,rgba(23,63,103,.1) 31.2% 31.6%,transparent 31.8%),linear-gradient(rgba(23,63,103,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(23,63,103,.07) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}.artifact-placeholder:before,.artifact-placeholder:after{content:"";position:absolute;top:50%;left:12%;right:12%;height:1px;background:rgba(23,63,103,.25)}.artifact-placeholder:after{top:12%;bottom:12%;left:50%;right:auto;width:1px;height:auto}.artifact-placeholder p{margin:0;position:relative;z-index:1;font-family:var(--serif)}.artifact-placeholder span{position:absolute;top:.8rem;right:.8rem;font:.72rem var(--serif)}
.project-list{margin-top:2rem;border-top:1px solid var(--rule)}.project-row{border-bottom:1px solid var(--rule)}.project-row summary{min-height:92px;display:grid;grid-template-columns:7.5rem 1fr auto 1.5rem;align-items:center;gap:1.5rem;cursor:pointer;list-style:none}.project-row summary::-webkit-details-marker{display:none}.project-row summary .project-number{font-size:.7rem}.project-row-title{font:clamp(1.2rem,2vw,1.6rem) var(--serif)}
.expand-icon{width:1rem;height:1rem;position:relative}.expand-icon:before,.expand-icon:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:currentColor}.expand-icon:after{transform:rotate(90deg);transition:transform .18s}.project-row[open] .expand-icon:after{transform:none}
.project-row-body{padding:0 0 2rem 9rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;color:var(--muted);font-family:var(--serif)}.project-row-body p{margin:0}.project-row-body strong{display:block;margin-bottom:.35rem;color:var(--ink);font:800 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase}
.experience-toggle-wrap{margin-top:2rem}.experience-panel{margin-top:3rem;border-top:1px solid var(--rule)}.experience-item{display:grid;grid-template-columns:10rem 1fr;gap:2rem;padding-block:2rem;border-bottom:1px solid var(--rule)}.experience-date,.experience-org,.experience-item p{margin:0}.experience-date,.experience-org{color:var(--muted);font:.85rem var(--serif)}.experience-item h3{margin:0 0 .2rem;font:500 1.5rem var(--serif)}.experience-item .placeholder{max-width:42rem;margin-top:.75rem;color:var(--muted);font-family:var(--serif)}
.notes-list{border-top:1px solid var(--rule);margin-bottom:2rem}.note-row{display:grid;grid-template-columns:9rem minmax(190px,.75fr) 1fr;gap:2rem;align-items:start;padding-block:2rem;border-bottom:1px solid var(--rule)}.note-row>div{display:flex;flex-direction:column;gap:.4rem}.note-type{margin:0;font-size:.68rem}.note-row h3,.note-row p{margin:0;font-family:var(--serif)}.note-row h3{font-size:1.25rem;font-weight:500;line-height:1.35}.note-row p{color:var(--muted)}.is-placeholder{color:var(--muted)}
.site-footer{background:var(--blue2);color:var(--white)}.footer-inner{padding-block:clamp(4rem,8vw,7rem) 2rem}.site-footer .section-kicker{color:#b9cbd9}.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:end}.footer-main h2{margin:0;font:500 clamp(4rem,9vw,8rem)/.9 var(--serif);letter-spacing:-.055em}.footer-intro{max-width:42rem;margin:2rem 0 0;color:#cad4db;font:1.15rem var(--serif)}.footer-actions{display:flex;gap:.75rem;padding-bottom:.5rem}.button-light{background:var(--white);color:var(--blue2)}.button-light-outline{border-color:rgba(255,255,255,.46);color:white}.button-light-outline:hover{border-color:white}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.25);color:#b9cbd9;font-size:.78rem}.footer-bottom p{margin:0}.footer-links{display:flex;gap:2rem}
.placeholder-toast{position:fixed;right:24px;bottom:24px;z-index:30;padding:.85rem 1rem;border:1px solid var(--rule);background:var(--white);box-shadow:0 12px 40px rgba(23,25,20,.15);font-family:var(--serif)}.placeholder-toast[hidden]{display:none}
.reveal{opacity:1;transform:none}
[hidden]{display:none!important}
.hero-button{margin-top:.25rem;padding-inline:1.4rem}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);grid-auto-flow:dense}
.work>.work-grid,.work>.more-work,.work>.experience-toggle-wrap{grid-column:1/-1}
.work-card{min-width:0;background:var(--paper);transition:background-color .18s ease}.work-card[open]{grid-column:1/-1;order:-1;background:rgba(255,253,248,.55)}.work-card summary{min-height:360px;padding:1.6rem;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr auto;gap:1.2rem;list-style:none;cursor:pointer;position:relative}.work-card summary::-webkit-details-marker{display:none}.work-card summary:hover{background:rgba(23,63,103,.035)}.work-card summary:before{content:"";position:absolute;top:-1px;left:-1px;width:13px;height:13px;border-top:2px solid var(--red);border-left:2px solid var(--red)}.work-card h3{grid-column:1/-1;margin:.7rem 0 0;font:500 clamp(1.65rem,2.5vw,2.4rem)/1.08 var(--serif);letter-spacing:-.035em}.work-card summary>p{grid-column:1/-1;margin:0;color:var(--muted);font:1rem/1.55 var(--serif)}.card-action{grid-column:1/-1;align-self:end;display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--rule);color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.work-card[open] summary{min-height:auto;padding-bottom:1.2rem;border-bottom:1px solid var(--rule)}.work-card[open] summary>p{max-width:52rem}.work-card[open] .expand-icon:after{transform:none}
.work-card-expanded{padding:clamp(1.5rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:clamp(2rem,6vw,5rem)}.expanded-intro{max-width:44rem;margin:0 0 2rem;color:var(--muted);font:clamp(1.2rem,2.2vw,1.6rem)/1.5 var(--serif)}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.project-links .button{min-width:0}.work-card-expanded .artifact-placeholder{min-height:300px}.artifact-placeholder p{max-width:calc(100% - 1rem);overflow-wrap:anywhere}.more-work{margin-top:1px}.experience-toggle-wrap{display:flex;justify-content:center}
.project-media{margin:0;min-width:0;align-self:start;border:1px solid rgba(23,63,103,.3);background:rgba(255,253,248,.5);display:flex;flex-direction:column;overflow:hidden}.project-media img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;filter:saturate(.88) contrast(.98)}.project-media-cad img{object-fit:contain;object-position:center;filter:none;background:var(--paper)}.project-media figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.68rem;line-height:1.35}.project-media figcaption a{flex:none;color:var(--blue);font-weight:700}
.more-notes{display:contents}
.footer-main h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;letter-spacing:-.04em}.footer-intro{margin-top:1.2rem}.footer-inner{padding-top:clamp(3.5rem,7vw,5.5rem)}
@media(max-width:960px){
 .menu-toggle{min-height:44px;display:flex;align-items:center;gap:.7rem;border:0;background:none;color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.menu-icon,.menu-icon:before{width:1.2rem;height:1px;display:block;background:currentColor;transition:.18s}.menu-icon{position:relative}.menu-icon:before{content:"";position:absolute;top:-6px}.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(90deg)}
 .primary-nav{position:absolute;top:100%;left:0;right:0;display:none;padding:1.5rem 24px 2rem;border-bottom:1px solid var(--rule);background:var(--paper);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav>a{padding-block:.85rem;border-bottom:1px solid var(--rule);font:1.15rem var(--serif)}.nav-actions{margin-top:1.25rem}.nav-actions .button{flex:1}
 .hero{grid-template-columns:1fr;min-height:72svh;gap:4rem}.hero:before{background-image:url("assets/backgrounds/cad-background-mobile.png");background-position:center;opacity:.82}.drawing-frame{width:min(100%,620px)}.about,.work,.notes{grid-template-columns:1fr}.section-heading{margin-bottom:3rem}.work .section-intro,.notes .section-intro,.work>:not(.section-heading),.notes>:not(.section-heading){grid-column:1}.work-grid{grid-template-columns:1fr}.work-card[open]{grid-column:1}.work-card summary{min-height:280px}.work-card-expanded{grid-template-columns:1fr}.featured-project{grid-template-columns:1fr}.artifact-placeholder{min-height:320px}.footer-main{grid-template-columns:1fr;align-items:start}
}
@media(max-width:680px){
 :root{--header:70px}.section-shell,.header-inner{width:calc(100% - 32px);max-width:var(--max)}.brand-name{display:none}.menu-toggle{margin-left:auto;flex:none}.hero{padding-block:4.5rem}.hero:after{bottom:1rem}.hero h1{font-size:clamp(3.7rem,20vw,5.7rem)}.eyebrow{max-width:100%;white-space:normal}.drawing-frame figcaption{flex-direction:column;gap:.25rem}.profile-facts{grid-template-columns:1fr}.work-card summary{min-height:250px;padding:1.25rem}.work-card-expanded{padding:1.25rem}.project-media figcaption{flex-direction:column;gap:.25rem}.featured-project{padding:1.2rem}
 .project-row summary{grid-template-columns:1fr 1.5rem;gap:.5rem 1rem;padding-block:1.1rem}.project-row summary .project-number,.project-row-title,.project-row .project-type{grid-column:1}.project-row .expand-icon{grid-column:2;grid-row:1/4;align-self:center}.project-row-body{padding:0 0 1.5rem;grid-template-columns:1fr;gap:1rem}.experience-item,.note-row{grid-template-columns:1fr;gap:.75rem}.note-row>div{flex-direction:row;justify-content:space-between}.project-links{flex-direction:column}.project-links .button{width:100%}.footer-actions,.footer-bottom{flex-direction:column}.footer-actions .button{width:100%}.footer-links{justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}
