:root{--ink:#1d2528;--muted:#617073;--paper:#fbfaf7;--surface:#fff;--line:#d9e1df;--teal:#0f766e;--teal-dark:#0b4f4a;--copper:#b3652b;--green:#496f45;--blue:#315f85;--gold:#d79b3b;--hero-accent:#f4c97c;--header-bg:hsla(45,33%,98%,.9);--soft-band:#edf5f2;--badge-bg:#e5f3ef;--shadow:0 18px 45px rgba(29,37,40,.12);--radius:8px;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}body[data-theme=skyline]{--ink:#172432;--muted:#5c6974;--paper:#f6f8f9;--surface:#fff;--line:#d8e2e8;--teal:#246a9a;--teal-dark:#184663;--copper:#c7782d;--green:#517a68;--blue:#244d75;--gold:#f1b653;--hero-accent:#ffd36a;--header-bg:rgba(246,248,249,.92);--soft-band:#eaf2f6;--badge-bg:#dcecf4}body[data-theme=grove]{--ink:#1e2d27;--muted:#667267;--paper:#f7faf4;--surface:#fff;--line:#d9e4d5;--teal:#3b7f5f;--teal-dark:#27543f;--copper:#a95f3c;--green:#446f37;--blue:#386d7c;--gold:#d5a33e;--hero-accent:#f0c86f;--header-bg:hsla(90,37%,97%,.92);--soft-band:#edf6ea;--badge-bg:#e1efd9}body[data-theme=studio]{--ink:#202124;--muted:#686f72;--paper:#f8f7f4;--surface:#fff;--line:#dedbd3;--teal:#0e6f73;--teal-dark:#084e51;--copper:#b24d3a;--green:#596d43;--blue:#3f5877;--gold:#d19a2e;--hero-accent:#f4bd5b;--header-bg:hsla(45,22%,96%,.92);--soft-band:#efece4;--badge-bg:#e6f0ee}body.dialog-open{overflow:hidden}a{color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}[hidden]{display:none!important}.site-header{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--header-bg);border-bottom:1px solid rgba(217,225,223,.8);display:flex;gap:24px;justify-content:space-between;left:0;min-height:72px;padding:14px clamp(18px,4vw,56px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand{font-weight:800;gap:10px;text-decoration:none}.brand,.brand-mark{align-items:center;display:inline-flex}.brand-mark{background:var(--ink);border-radius:6px;color:var(--surface);height:38px;justify-content:center;width:38px}.primary-nav{align-items:center;display:flex;gap:4px}.primary-nav a{border-radius:6px;color:var(--muted);font-size:.95rem;font-weight:700;padding:10px 12px;text-decoration:none}.primary-nav a:focus-visible,.primary-nav a:hover{background:#e9f3f1;color:var(--teal-dark)}.primary-nav .owner-link{background:var(--ink);color:var(--surface)}.primary-nav .owner-link:focus-visible,.primary-nav .owner-link:hover{background:var(--teal-dark);color:var(--surface)}.menu-toggle{background:transparent;border:0;display:none;height:42px;padding:8px;width:42px}.menu-toggle span{background:var(--ink);display:block;height:2px;margin:8px 0;width:100%}.hero{align-items:flex-end;background-image:url(/assets/photos/hero-workshop.png);background-position:50%;background-size:cover;display:grid;min-height:min(78vh,760px);position:relative}.hero-overlay{background:linear-gradient(90deg,rgba(18,25,28,.78),rgba(18,25,28,.3) 58%,rgba(18,25,28,.05));inset:0;position:absolute}.hero-content{color:var(--surface);max-width:800px;padding:clamp(82px,16vw,150px) clamp(20px,5vw,72px) clamp(46px,9vw,92px);position:relative;z-index:1}body[data-layout=split] .hero{align-items:center;background-position:100%;min-height:min(76vh,720px)}body[data-layout=split] .hero-overlay{background:linear-gradient(90deg,rgba(18,25,28,.86),rgba(18,25,28,.46) 54%,rgba(18,25,28,.04))}body[data-layout=split] .hero-content{max-width:660px;padding-bottom:clamp(64px,11vw,116px);padding-top:clamp(86px,13vw,128px)}body[data-layout=split] .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-layout=split] .project-card{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,.55fr)}body[data-layout=split] .project-card img{aspect-ratio:auto;height:100%}body[data-layout=editorial] .hero{align-items:center;justify-items:center;min-height:min(70vh,660px);text-align:center}body[data-layout=editorial] .hero-overlay{background:linear-gradient(180deg,rgba(18,25,28,.28),rgba(18,25,28,.82))}body[data-layout=editorial] .hero-content{max-width:930px;padding-bottom:clamp(64px,10vw,108px);padding-top:clamp(86px,12vw,126px)}body[data-layout=editorial] .hero-copy{margin-left:auto;margin-right:auto}body[data-layout=editorial] .hero-actions{justify-content:center}body[data-layout=editorial] .about-section>.section-heading,body[data-layout=editorial] .section-split>.section-heading{margin-left:auto;margin-right:auto;max-width:860px;text-align:center}.eyebrow{color:var(--copper);font-size:.78rem;font-weight:900;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}.hero .eyebrow{color:var(--hero-accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,9vw,6.8rem);line-height:.94;max-width:760px}h1,h2{margin-bottom:18px}h2{font-size:clamp(2rem,5vw,4rem);line-height:1}h3{font-size:1.15rem;line-height:1.2;margin-bottom:14px}.hero-copy{color:hsla(0,0%,100%,.9);font-size:clamp(1.05rem,2vw,1.35rem);margin-bottom:28px;max-width:620px}.estimate-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:46px;padding:11px 16px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.45;transform:none}.button-primary{background:var(--teal);color:var(--surface)}.button-primary:hover{background:var(--teal-dark);box-shadow:var(--shadow)}.button-light{background:var(--surface)}.button-ghost,.button-light{border-color:var(--line);color:var(--ink)}.button-ghost{background:transparent}.button-danger{background:#f7e8e3;border-color:#e7b9aa;color:#7e2d1d}.section{padding:clamp(54px,9vw,108px) clamp(18px,4vw,56px)}.intro-band{background:var(--ink);color:var(--surface);display:grid;grid-gap:1px;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:0;padding-top:0}.stat{background:linear-gradient(140deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.02));min-height:136px;padding:28px}.stat span{color:var(--hero-accent);display:block;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1;margin-bottom:8px}.stat p{color:hsla(0,0%,100%,.75);margin:0}.about-section,.admin-section,.section-split{margin:0 auto;max-width:1260px}.section-heading{max-width:760px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.admin-tabs,.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.pagination-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}.pagination-row.compact{justify-content:flex-end;margin-top:14px}.pagination-row span{color:var(--muted);font-size:.9rem;font-weight:800}.filter-pill,.tab-button{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font-weight:800;padding:9px 14px}.filter-pill.active,.tab-button.active{background:var(--ink);border-color:var(--ink);color:var(--surface)}.project-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px rgba(29,37,40,.06);cursor:pointer;overflow:hidden;text-align:left}.project-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.project-card-body{display:block;padding:18px}.project-card-title{color:var(--ink);display:block;font-size:1.15rem;font-weight:900;line-height:1.2;margin-bottom:14px}.meta-row{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px 12px}.category-badge{background:var(--badge-bg);border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:.82rem;font-weight:900;margin-bottom:12px;padding:6px 10px}.team-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px}.team-member{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.team-avatar{align-items:center;background:linear-gradient(135deg,var(--teal),var(--blue));color:var(--surface);display:flex;font-size:1.1rem;font-weight:900;height:54px;justify-content:center;width:54px}.team-avatar,.team-photo{border-radius:999px;margin-bottom:18px}.team-photo{aspect-ratio:1;height:72px;object-fit:cover;width:72px}.team-member strong{display:block;margin-bottom:10px}.team-member p{color:var(--muted);margin-bottom:0}.request-section{background:var(--soft-band)}.estimate-workspace,.request-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);margin:34px auto 0;max-width:1260px;width:100%}.contact-panel,.tool-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 36px rgba(29,37,40,.08);min-width:0;padding:clamp(18px,3vw,28px)}form{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.social-form{grid-template-columns:repeat(3,minmax(0,1fr))}label{color:var(--ink);display:grid;font-size:.88rem;font-weight:800;grid-gap:7px;gap:7px}input,select,textarea{background:#f9fbfa;border:1px solid var(--line);border-radius:6px;color:var(--ink);min-height:46px;padding:11px 12px;width:100%}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(15,118,110,.14);outline:none}.full-span{grid-column:1/-1}.admin-session-bar,.auth-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.form-status{color:var(--teal-dark);font-weight:800;grid-column:1/-1;min-height:24px}.admin-session-status{margin:16px 0 0}.admin-session-bar .admin-session-status{margin:0}.contact-panel{align-self:start;background:var(--ink);color:var(--surface)}.contact-panel a{color:var(--hero-accent);display:block;font-weight:900;margin:12px 0;text-decoration:none}.contact-hours{border-top:1px solid hsla(0,0%,100%,.16);margin-top:24px;padding-top:20px}.contact-hours span,.contact-social span{color:hsla(0,0%,100%,.65);display:block;font-size:.84rem;font-weight:900;margin-bottom:4px;text-transform:uppercase}.contact-social{border-top:1px solid hsla(0,0%,100%,.16);margin-top:20px;padding-top:18px}.contact-social div{display:flex;flex-wrap:wrap;gap:10px}.contact-social a{margin:0}.admin-section{padding-bottom:80px}.admin-panel{display:none}.admin-panel.active{display:grid;grid-gap:18px;gap:18px;width:100%}.panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.request-list{display:grid;grid-gap:14px;gap:14px}.request-item,.saved-estimate{background:#f9fbfa;border:1px solid var(--line);border-radius:6px;padding:16px}.request-item p,.saved-estimate p{color:var(--muted);margin-bottom:8px}.line-items{display:grid;grid-gap:10px;gap:10px}.project-form-actions{display:flex;flex-wrap:wrap;gap:12px}.project-photo-manager{border:1px solid var(--line);border-radius:6px;padding:14px}.project-photo-manager h4{margin-bottom:12px}.project-photo-list{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.project-photo-item{background:#f9fbfa;border:1px solid var(--line);border-radius:6px;display:grid;grid-gap:8px;gap:8px;padding:8px}.project-photo-item img{aspect-ratio:4/3;border-radius:4px;object-fit:cover;width:100%}.estimate-manager,.project-manager,.social-manager,.team-manager{box-shadow:none}.admin-project-list,.admin-social-list,.admin-team-list,.saved-estimate-list{display:grid;grid-gap:14px;gap:14px}.admin-project-item{align-items:center;background:#f9fbfa;border:1px solid var(--line);border-radius:6px;display:grid;grid-gap:16px;gap:16px;grid-template-columns:116px minmax(0,1fr) auto;padding:14px}.admin-project-item img{aspect-ratio:4/3;border-radius:6px;object-fit:cover;width:116px}.admin-project-item h3{margin-bottom:6px}.admin-project-item p{color:var(--muted);margin-bottom:8px}.item-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-link-item,.admin-team-item,.saved-estimate{align-items:center;background:#f9fbfa;border:1px solid var(--line);border-radius:6px;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:14px}.admin-team-item{grid-template-columns:72px minmax(0,1fr) auto}.admin-team-item .team-avatar,.admin-team-photo{aspect-ratio:1;height:72px;margin-bottom:0;width:72px}.admin-team-photo{border-radius:999px;object-fit:cover}.admin-team-item h3{margin-bottom:6px}.admin-team-item strong{display:block;margin-bottom:6px}.admin-team-item p{color:var(--muted);margin-bottom:0}.admin-link-item a{color:var(--teal-dark);font-weight:800;overflow-wrap:anywhere}.admin-link-item p,.saved-estimate p{color:var(--muted);margin-bottom:6px}.line-item-row{align-items:flex-end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1.5fr) 92px 124px 44px}.remove-line{background:#f5e9e2;border:1px solid #e4c3ad;border-radius:6px;color:#7a3e1e;cursor:pointer;min-height:46px}.estimate-preview{align-self:start;min-width:0}.estimate-preview header{border-bottom:2px solid var(--ink);margin-bottom:18px;padding-bottom:14px}.estimate-table{border-collapse:collapse;margin:18px 0;width:100%}.estimate-table td,.estimate-table th{border-bottom:1px solid var(--line);padding:10px 0;text-align:left}.estimate-table td:last-child,.estimate-table th:last-child{text-align:right}.estimate-total{display:flex;font-size:1.25rem;font-weight:900;justify-content:space-between}.project-dialog{border:0;border-radius:var(--radius);box-shadow:0 28px 70px rgba(0,0,0,.28);max-width:min(980px,calc(100vw - 32px));padding:0;width:980px}.project-dialog::-webkit-backdrop{background:rgba(12,16,18,.72)}.project-dialog::backdrop{background:rgba(12,16,18,.72)}.dialog-close{background:var(--surface);border:1px solid var(--line);border-radius:6px;cursor:pointer;font-weight:900;position:absolute;right:14px;top:14px;z-index:2}.project-carousel{background:var(--ink);display:grid;place-items:center;position:relative}.dialog-cover{background:var(--ink);max-height:min(72vh,720px);object-fit:contain;width:100%}.carousel-button{background:hsla(0,0%,100%,.92);border:1px solid hsla(0,0%,100%,.72);border-radius:6px;color:var(--ink);cursor:pointer;font-weight:900;min-height:42px;padding:9px 12px;position:absolute;top:50%;transform:translateY(-50%)}.carousel-button-prev{left:14px}.carousel-button-next{right:14px}.dialog-body{padding:clamp(20px,4vw,36px)}.highlight-list{display:flex;flex-wrap:wrap;gap:8px;padding:0}.highlight-list li{background:var(--soft-band);border-radius:999px;color:var(--teal-dark);font-weight:800;list-style:none;padding:8px 12px}.carousel-thumbs{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));margin-top:22px}.carousel-thumb{background:transparent;border:3px solid transparent;border-radius:8px;cursor:pointer;padding:0}.carousel-thumb.active{border-color:var(--teal)}.carousel-thumb img{aspect-ratio:4/3;border-radius:6px;object-fit:cover;width:100%}.site-footer{align-items:center;background:var(--ink);color:var(--surface);display:flex;justify-content:space-between;padding:28px clamp(18px,4vw,56px)}.site-footer a{color:var(--hero-accent);font-weight:900;text-decoration:none}@media (max-width:920px){.menu-toggle{display:inline-block}.primary-nav{background:var(--paper);border-bottom:1px solid var(--line);display:none;left:0;padding:14px 18px 18px;position:absolute;right:0;top:72px}.primary-nav.open{display:grid}.estimate-workspace,.intro-band,.line-item-row,.project-grid,.request-layout,.team-grid,body[data-layout=split] .project-card,body[data-layout=split] .project-grid{grid-template-columns:1fr}body[data-layout=split] .project-card img{aspect-ratio:4/3}.admin-link-item,.admin-project-item,.admin-team-item,.saved-estimate{align-items:stretch;grid-template-columns:92px minmax(0,1fr)}.admin-link-item,.saved-estimate{grid-template-columns:1fr}.admin-link-item .button,.admin-project-item .button,.admin-team-item .button,.saved-estimate .button{grid-column:1/-1}.admin-link-item .item-actions,.admin-project-item .item-actions,.admin-team-item .item-actions,.saved-estimate .item-actions{grid-column:1/-1;justify-content:stretch}.item-actions .button{flex:1 1}.admin-project-item img{width:92px}}@media (max-width:680px){h1{font-size:clamp(2.55rem,15vw,4.2rem)}.hero{min-height:72vh}.estimate-actions,.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.carousel-thumbs,.social-form,form{grid-template-columns:1fr}.panel-heading,.site-footer{align-items:start;flex-direction:column}}@media print{body *{visibility:hidden}.estimate-preview,.estimate-preview *{visibility:visible}.estimate-preview{border:0;box-shadow:none;left:0;position:absolute;top:0;width:100%}}