:root{--bg:#faf9f7;--text:#1a1a1a;--text-secondary:#6e6e6e;--accent:#c8412b;--live:#2f7d4f;--border:#e4e0db;--surface:#f0eeeb;--font-body:"Inter", -apple-system, sans-serif;--font-heading:"Outfit", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.7}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}.layout{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.header{justify-content:space-between;align-items:center;padding:32px 48px;display:flex}.header__logo{font-family:var(--font-heading);letter-spacing:-.3px;font-size:24px;font-weight:700;line-height:1}.header__nav a{color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:2px;font-size:13px;font-weight:500;transition:border-color .2s}.header__nav a:hover{border-color:var(--text);color:var(--text)}.opening{max-width:780px;padding:60px 48px 48px}.opening__headline{font-family:var(--font-heading);letter-spacing:-.8px;font-size:clamp(32px,4.5vw,48px);font-weight:600;line-height:1.35}.divider{border:none;border-top:1px solid var(--border);margin:0 48px}.portfolio{border-top:1px solid var(--border);grid-template-columns:repeat(2,1fr);margin:0 48px;display:grid}.portfolio__item{border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;padding:40px 32px;transition:background .2s;display:flex}.portfolio__item:nth-child(2n){border-right:none}.portfolio__item:hover{background:var(--surface)}.portfolio__item--featured{border-right:none;grid-column:1/-1;padding:56px 32px}.portfolio__badge{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);border:1px solid var(--accent);border-radius:2px;align-self:flex-start;margin-bottom:16px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-block}.portfolio__badge--live{color:var(--live);border-color:var(--live)}.portfolio__title{font-family:var(--font-heading);letter-spacing:-.4px;margin-bottom:10px;font-size:24px;font-weight:700;line-height:1.35}.portfolio__desc{color:var(--text-secondary);max-width:520px;font-size:14px;line-height:1.8}.portfolio__link{color:var(--text);border-bottom:1px solid var(--text);align-self:flex-start;margin-top:14px;padding-bottom:1px;font-size:13px;font-weight:500;transition:border-color .2s,color .2s}.portfolio__link:hover{color:var(--accent);border-color:var(--accent)}.portfolio__meta{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-top:auto;padding-top:20px;font-size:11px;font-weight:500}.info{grid-template-columns:1fr 1fr;gap:80px;margin-top:24px;padding:64px 48px;display:grid}.info__block{flex-direction:column;display:flex}.info__label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);margin-bottom:16px;font-size:11px;font-weight:600}.info__text{color:var(--text-secondary);font-size:15px;font-style:normal;line-height:1.85}.info__link{color:var(--text);border-bottom:1px solid var(--text);align-self:flex-start;margin-top:12px;padding-bottom:1px;font-size:15px;font-weight:500;transition:border-color .2s,color .2s}.info__link:hover{color:var(--accent);border-color:var(--accent)}.footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:32px 48px;display:flex}.footer__left{align-items:center;gap:24px;display:flex}.footer__left span{font-family:var(--font-heading);font-size:14px;font-weight:700}.footer__left p{color:var(--text-secondary);font-size:12px}.footer__right{gap:16px;display:flex}.footer__right a{color:var(--text-secondary);transition:color .2s}.footer__right a:hover{color:var(--text)}.footer__right a svg{width:16px;height:16px}@media (width<=768px){.header{padding:24px}.opening{padding:48px 24px 36px}.divider{margin:0 24px}.portfolio{grid-template-columns:1fr;padding:24px}.portfolio__item--featured{grid-column:auto}.info{grid-template-columns:1fr;gap:40px;padding:48px 24px}.footer{flex-direction:column;align-items:flex-start;gap:16px;padding:24px}}
