/*
Theme Name: Ewingcraft Architectural
Theme URI: https://www.ewingcraftsf.com/
Author: Ewingcraft
Description: A refined, responsive architectural signage website designed for architects, designers, developers, and contractors.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: ewingcraft-architectural
*/

:root{--ink:#191a18;--paper:#f3f1eb;--white:#fffefa;--muted:#777970;--line:#d8d6cf;--accent:#b4a27e;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(calc(100% - 64px),var(--max));margin:auto}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.topbar{height:38px;background:var(--ink);color:#efeee8;display:flex;align-items:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.topbar .shell{display:flex;justify-content:space-between;gap:20px}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:800;letter-spacing:-.07em}.brand small{display:block;font-size:8px;letter-spacing:.23em;font-weight:600;margin-top:3px}.navlinks{display:flex;gap:30px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.navlinks a:hover,.textlink:hover{opacity:.58}.navcta{border:1px solid var(--ink);padding:14px 17px}.hero{display:grid;grid-template-columns: .84fr 1.16fr;gap:5.5%;padding:76px 0 82px;align-items:center}.hero-copy{padding:0 0 0 4%}.hero h1{font-size:clamp(48px,6.3vw,92px);line-height:.94;letter-spacing:-.075em;font-weight:500;margin:25px 0 28px;max-width:660px}.hero h1 em{font-family:Georgia,serif;font-weight:400}.hero p{font-size:15px;line-height:1.8;color:#55574f;max-width:410px}.actions{display:flex;gap:12px;align-items:center;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 20px;background:var(--ink);color:white;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);transition:.2s}.btn:hover{background:transparent;color:var(--ink)}.btn.secondary{background:transparent;color:var(--ink)}.hero-image{position:relative;min-height:570px;background:#b8b5aa;overflow:hidden}.hero-image img{width:100%;height:100%;min-height:570px;object-fit:cover;display:block;filter:saturate(.72)}.image-note{position:absolute;left:20px;bottom:20px;background:rgba(243,241,235,.93);padding:13px 16px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.image-index{position:absolute;right:22px;top:22px;color:white;font-size:10px;letter-spacing:.15em}.introline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}.introline p{margin:0;max-width:780px;font-family:Georgia,serif;font-size:clamp(20px,2.3vw,31px);line-height:1.4;letter-spacing:-.025em}.section{padding:100px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.sectionhead h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.065em;font-weight:500;line-height:1;margin:12px 0 0}.sectionhead p{max-width:350px;font-size:13px;line-height:1.7;color:#606159;margin:0}.projects{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}.project{position:relative;min-height:440px;background:#c9c5bb;overflow:hidden}.project img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block;transition:transform .7s;filter:saturate(.72)}.project:hover img{transform:scale(1.025)}.project.small{min-height:300px}.project.small img{min-height:300px}.project-stack{display:grid;gap:18px}.project-label{position:absolute;left:20px;right:20px;bottom:20px;display:flex;justify-content:space-between;gap:20px;align-items:end;background:rgba(243,241,235,.94);padding:16px 18px}.project-label strong{font-size:16px;font-weight:500;letter-spacing:-.03em}.project-label span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#66685f;text-align:right}.work-link{display:inline-block;margin-top:28px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--ink);padding-bottom:7px}.dark{background:var(--ink);color:var(--paper)}.dark .sectionhead p{color:#b5b5ac}.dark .sectionhead{margin-bottom:45px}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #4c4d46}.cap{padding:28px 26px 28px 0;border-bottom:1px solid #4c4d46;min-height:220px}.cap:not(:nth-child(3n)){margin-right:26px}.cap .num{font-size:10px;color:var(--accent);letter-spacing:.15em}.cap h3{font-size:23px;font-weight:500;letter-spacing:-.05em;margin:30px 0 12px}.cap p{font-size:12px;line-height:1.8;color:#b5b5ac;max-width:310px}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;}.process h2{font-size:clamp(36px,4vw,58px);letter-spacing:-.065em;font-weight:500;line-height:1.02;margin:15px 0 20px}.process .lead{font-family:Georgia,serif;font-size:20px;line-height:1.5;color:#5f6159;max-width:390px}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.step .num{font-size:11px;color:#85867d;padding-top:4px}.step h3{font-size:17px;font-weight:500;margin:0 0 8px;letter-spacing:-.025em}.step p{font-size:12px;line-height:1.8;color:#66685f;margin:0;max-width:520px}.band{background:#e3e0d7;padding:72px 0}.bandinner{display:flex;justify-content:space-between;gap:40px;align-items:center}.band h2{font-size:clamp(32px,4.2vw,57px);line-height:1;letter-spacing:-.06em;font-weight:500;margin:14px 0 0;max-width:760px}.band p{font-size:13px;line-height:1.8;color:#5e6058;max-width:520px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:90px 0}.contact h2{font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-.07em;font-weight:500;margin:16px 0 20px}.contact p{font-size:13px;line-height:1.8;color:#5d5f57;max-width:400px}.contactform{border-top:1px solid var(--line);padding-top:8px}.field{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:18px 0;font:12px Arial;color:var(--ink);outline:none}.field:focus{border-color:var(--ink)}textarea.field{min-height:100px;resize:vertical}.contactform .btn{margin-top:20px;cursor:pointer}.formnote{font-size:10px;color:#777970;line-height:1.6;margin-top:12px}.footer{background:var(--ink);color:var(--paper);padding:28px 0}.footer .shell{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:10px;color:#c1c1b8;letter-spacing:.06em}.footer .brand{color:var(--paper)}
@media(max-width:850px){.shell{width:min(calc(100% - 36px),var(--max))}.topbar .right{display:none}.nav{height:72px}.navlinks{gap:14px}.navlinks a:not(.navcta){display:none}.hero{grid-template-columns:1fr;gap:35px;padding:52px 0}.hero-copy{padding:0}.hero-image,.hero-image img{min-height:440px}.introline{grid-template-columns:1fr;gap:16px}.section{padding:70px 0}.projects{grid-template-columns:1fr}.project,.project img{min-height:360px}.project-stack{grid-template-columns:1fr 1fr}.project.small,.project.small img{min-height:260px}.project-label{left:12px;right:12px;bottom:12px;padding:12px}.project-label strong{font-size:13px}.project-label span{font-size:8px}.capabilities{grid-template-columns:1fr 1fr}.cap:not(:nth-child(3n)){margin-right:0}.cap:nth-child(odd){margin-right:20px}.process{grid-template-columns:1fr;gap:35px}.bandinner{align-items:flex-start;flex-direction:column}.contact{grid-template-columns:1fr;gap:35px}.footer .shell{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:520px){.brand{font-size:22px}.navcta{padding:11px 12px;font-size:9px}.hero h1{font-size:54px}.hero-image,.hero-image img{min-height:360px}.project-stack{grid-template-columns:1fr}.project.small,.project.small img{min-height:300px}.capabilities{grid-template-columns:1fr}.cap:nth-child(odd){margin-right:0}.cap{min-height:0;padding-bottom:22px}.sectionhead{align-items:flex-start;flex-direction:column}.sectionhead p{max-width:100%}.topbar{font-size:9px}}
