:root{--bg: #ffffff;--surface: rgba(255, 255, 255, .92);--surface-strong: #ffffff;--text: #191417;--muted: #6a6066;--line: rgba(25, 20, 23, .12);--accent: #00351e;--accent-strong: #00351e;--shadow: 0 18px 60px rgba(25, 20, 23, .06);--radius-lg: 32px;--radius-md: 22px;--max: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{margin:0;font-family:Avenir Next,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg);min-height:100vh}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}p{margin:0;font-size:1rem;line-height:1.75;color:var(--muted);word-break:keep-all;overflow-wrap:normal}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.04em;line-height:1.14}main{width:min(calc(100% - 2rem),var(--max));margin:0 auto}section{padding:4rem 0}.page-shell{position:relative;overflow:hidden}.site-header,.site-footer{width:min(calc(100% - 2rem),var(--max));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.8rem 0 1.2rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:1rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.menu-toggle{width:2.9rem;height:2.9rem}.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:.28rem;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:1.05rem;height:1.5px;margin:0 auto;background:var(--text);border-radius:999px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-drawer{position:fixed;inset:0 auto 0 0;z-index:30;width:min(22rem,calc(100vw - 3rem));transform:translate(-100%);transition:transform .22s ease}.site-drawer[data-open]{transform:translate(0)}.drawer-shell{height:100%;padding:1.2rem;background:#fffffff5;backdrop-filter:blur(16px);box-shadow:24px 0 60px #1914171a}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.drawer-head p{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.drawer-close{position:relative;width:2.5rem;height:2.5rem;border:0;background:transparent;box-shadow:none;cursor:pointer}.drawer-close span{position:absolute;inset:50% auto auto 50%;width:1rem;height:1.5px;background:var(--text);border-radius:999px}.drawer-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.drawer-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.drawer-nav{display:grid;gap:.35rem}.drawer-group,.drawer-panel-nested details{background:transparent;box-shadow:none}.drawer-group summary,.drawer-panel-nested details summary{list-style:none;cursor:pointer;padding:.8rem 0;font-size:1.05rem;font-weight:600;line-height:1.3}.drawer-group summary::-webkit-details-marker,.drawer-panel-nested details summary::-webkit-details-marker{display:none}.drawer-panel{display:grid;gap:.35rem;padding:0 0 .5rem .9rem}.drawer-panel a{display:block;padding:.45rem 0;background:transparent;box-shadow:none;font-size:.95rem;line-height:1.5;color:var(--muted)}.drawer-panel-nested{gap:.2rem}.drawer-backdrop{position:fixed;inset:0;z-index:20;background:#1914173d}.brand span:first-child{display:inline-flex;width:2.3rem;height:2.3rem;align-items:center;justify-content:center;border-radius:.8rem;background:var(--accent);color:#fff}.site-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.8rem 0 4rem;border-top:1px solid var(--line)}.content-card,.project-card,.detail-panel,.hero-panel{background:var(--surface);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.48);box-shadow:var(--shadow)}.hero h1,.section-heading h2,.project-card h3,.detail-panel h1{color:var(--text);line-height:1.12;word-break:keep-all;overflow-wrap:normal}.hero h1,.detail-panel h1{font-size:clamp(1.95rem,4.2vw,3.2rem)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;line-height:1.35;color:var(--text);margin-bottom:.9rem}.eyebrow:before{content:"";width:.55rem;height:.55rem;border-radius:999px;background:var(--accent)}.hero-actions,.cards-grid,.project-grid,.tag-list{display:flex;flex-wrap:wrap;gap:1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.25rem;border-radius:999px;font-size:.96rem;font-weight:700;line-height:1;transition:transform .18s ease,background .18s ease}.button.primary{background:var(--accent);color:#fff}.button.secondary{border:1px solid var(--line);background:#ffffffe0}.button:hover{transform:translateY(-1px)}.content-card,.project-card,.detail-panel,.hero-panel{border-radius:var(--radius-lg);padding:1.6rem}.section-heading{display:flex;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;align-items:end}.section-heading h2{font-size:clamp(1.65rem,3.7vw,2.55rem);line-height:1.16}.cards-grid>*,.project-grid>*{flex:1 1 260px}.tag-list{list-style:none;padding:0;margin:1.25rem 0 0}.tag-list li{border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,white);color:var(--text);padding:.45rem .9rem;font-size:.9rem;line-height:1.35}.contact-card{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}.contact-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem;font-size:.98rem;line-height:1.7}.detail-panel{padding:2rem}@media(max-width:960px){.site-footer,.contact-card,.section-heading{display:block}.site-footer p+p,.section-heading p{margin-top:1rem}}@media(max-width:840px){.site-header,.section-heading,.contact-card{display:block}}
