@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&display=swap";:root{--color-primary:#121212;--color-accent:#007f7a;--color-surface:#f5f4ef;--color-border:#1212123d;--color-text:#121212d1;--font-heading:"DM Sans", "Segoe UI", sans-serif;--font-body:"DM Sans", "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--color-text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-weight:400;line-height:1.45}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a,button,input,select,textarea{font:inherit}a{color:inherit}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-primary);text-align:left;font-family:inherit;font-weight:700;line-height:1.05}h1{letter-spacing:0;font-size:clamp(1.5rem,2vw,2.15rem)}h2{font-size:clamp(1rem,1.35vw,1.2rem)}h3{font-size:.92rem}p{text-align:left;font-size:.98rem}.site-shell,.admin-shell{min-height:100vh}.site-shell{grid-template-rows:auto 1fr auto;display:grid}.topbar,.hero-section,.content-grid,.portfolio-section,.detail-grid,.footer,.admin-shell{padding-inline:clamp(1rem,2.4vw,2rem)}.topbar{z-index:20;border-bottom:1px solid var(--color-border);background:#fffffff5;position:sticky;top:0}.nav-row{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;min-height:4.25rem;display:grid}.wordmark,.nav-trigger,.nav-link,.admin-link,.eyebrow,.button,.footer-links a{text-transform:uppercase;letter-spacing:.08em}.wordmark{color:var(--color-primary);font-size:.95rem;font-weight:800;text-decoration:none}.main-nav{justify-content:flex-start;align-items:stretch;gap:0;min-width:0;display:flex}.nav-group{position:relative}.nav-trigger,.nav-link,.admin-link{min-height:4.25rem;color:var(--color-primary);align-items:center;padding:0 1rem;font-size:.74rem;text-decoration:none;display:inline-flex}.nav-trigger{cursor:pointer;background:0 0;border:0}.nav-trigger:hover,.nav-link:hover,.admin-link:hover,.nav-dropdown a:hover,.link-list a:hover,.footer-links a:hover{background:var(--color-surface)}.nav-group:hover .nav-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dropdown{border:1px solid var(--color-border);opacity:0;pointer-events:none;background:#fff;min-width:13rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:100%;left:0;transform:translateY(.3rem)}.nav-dropdown a{color:var(--color-primary);border-top:1px solid var(--color-border);padding:.95rem 1rem;font-size:.78rem;text-decoration:none}.nav-dropdown a:first-child{border-top:0}.hero-section{padding-top:1.5rem;padding-bottom:2rem;display:block}.hero-copy{grid-template-columns:minmax(18rem,28rem) minmax(20rem,34rem);align-items:end;column-gap:2rem;display:grid}.hero-copy .eyebrow{grid-column:1/-1}.hero-copy,.text-panel,.column-block,.admin-sidebar,.preview-tile{text-align:left}.hero-copy h1{max-width:100%;margin:0 0 .45rem}.hero-text,.text-panel p,.card-meta p,.admin-sidebar p,.preview-tile p{max-width:64ch}.hero-media{margin-top:1rem}.button{border:1px solid var(--color-primary);cursor:pointer;min-height:2.7rem;font:inherit;justify-content:center;align-items:center;padding:0 1rem;font-size:.8rem;text-decoration:none;display:inline-flex}.button-solid{background:var(--color-primary);color:#fff}.button-ghost{color:var(--color-primary);background:0 0}.button:hover{background:var(--color-surface);color:var(--color-primary)}.placeholder-block{background:var(--color-accent);border:1px solid var(--color-border);min-height:17rem;position:relative;overflow:hidden}.placeholder-block.tall{min-height:16rem}.placeholder-block span{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;background:#fff;padding:.5rem .65rem;font-size:.72rem;position:absolute;bottom:1rem;left:1rem}.content-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.text-panel,.portfolio-card,.column-block,.admin-sidebar,.admin-panel,.preview-tile{background:#ffffffeb}.text-panel,.column-block,.admin-sidebar,.preview-tile{padding:1rem 0}.section-heading{justify-items:start;gap:.6rem;margin-bottom:1.25rem;display:grid}.portfolio-section,.detail-grid{padding-top:1.5rem;padding-bottom:2rem}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.portfolio-card{border:0;overflow:hidden}.card-meta{text-align:left;padding:1rem 0 0}.card-meta h3{margin:0 0 .5rem}.link-list,.footer-links{margin:0;padding:0;list-style:none}.link-list a,.footer-links a{color:var(--color-primary);border-top:2px solid var(--color-border);padding:.7rem 0;text-decoration:none;display:block}.footer{background:var(--color-primary);color:#fff;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-top:2rem;padding-bottom:2rem;display:grid}.footer-block{padding:0}.footer-block+.footer-block{padding-left:0}.footer .eyebrow,.footer a,.footer p{color:#fff}.footer .footer-links a{border-top:0}.footer .footer-links a:hover{color:color-mix(in srgb, white 72%, var(--color-accent));background:0 0}.admin-shell{grid-template-columns:20rem minmax(0,1fr);gap:1rem;padding-block:1.5rem;display:grid}.admin-sidebar{border:2px solid #12121233;height:fit-content;position:sticky;top:1.5rem}.admin-panel{border:2px solid #12121233;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.5rem;display:grid}.control-group{gap:.55rem;display:grid}.control-group input,.control-group select{min-height:3rem;font:inherit;background:#fff;border:2px solid #12121229;padding:0 .8rem}.control-group input[type=color]{inline-size:100%;padding:.25rem}.preview-tile{grid-column:1/-1}@media (width<=1100px){.nav-row{grid-template-columns:1fr;align-items:start;padding-block:1rem}.main-nav{flex-wrap:wrap}.nav-trigger,.nav-link,.admin-link{min-height:2.8rem;padding:0 .75rem 0 0}.hero-copy,.hero-section,.content-grid,.portfolio-grid,.detail-grid,.footer,.admin-shell,.admin-panel{grid-template-columns:1fr}.footer-block+.footer-block{border-left:0;padding-left:0}}
