:root{--ink:#092734;--deep:#061a24;--yellow:#f8c42a;--cyan:#58c0d0;--cream:#f4f1e9;--muted:#66747a;--line:rgba(9,39,52,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}.site-header{min-height:78px;padding:14px clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:rgba(244,241,233,.95);position:sticky;top:0;z-index:4}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-size:1.1rem;font-weight:800;text-decoration:none;white-space:nowrap}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--yellow);font-size:1.65rem;font-weight:900;font-style:italic;line-height:1;color:var(--ink)}nav{display:flex;gap:25px}nav a,.text-link{color:var(--ink);text-decoration:none;font-weight:700}nav a:hover,.text-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:var(--yellow);color:var(--ink);padding:15px 22px;text-decoration:none;font-weight:800;transition:transform .2s,background .2s}.button:hover{background:#ffda55;transform:translateY(-2px)}.button-small{padding:10px 15px;font-size:.9rem}.hero{background:var(--deep);color:white;min-height:600px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);padding:clamp(48px,8vw,120px) clamp(22px,7vw,112px);gap:clamp(38px,7vw,108px);align-items:center}.eyebrow{margin:0 0 15px;color:#356f7e;font-size:.74rem;font-weight:800;letter-spacing:.13em}.hero .eyebrow{color:var(--cyan)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5.1vw,5.1rem);letter-spacing:-.045em;line-height:1.03;margin-bottom:26px}.lead{max-width:580px;color:#cfdbdc;font-size:1.12rem}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}.hero .text-link{color:white}.hero-image{margin:0}.hero-image img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:2px}.hero-image figcaption{font-size:.78rem;color:#aac2c8;margin-top:10px}.intro,.services,.portfolio,.process{padding:clamp(64px,10vw,140px) clamp(22px,9vw,150px)}.intro{display:grid;grid-template-columns:1fr 1.5fr;gap:52px;align-items:start;border-bottom:1px solid var(--line)}h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:22px}.intro p:last-child{font-size:1.1rem;color:var(--muted);max-width:580px}.services{background:#d9eef0}.section-heading{max-width:680px}.section-heading>p:last-child{color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:46px;border-top:1px solid var(--line)}.service-grid article{padding:26px 28px 20px 0;border-right:1px solid var(--line);min-height:230px}.service-grid article:not(:first-child){padding-left:28px}.service-grid article:last-child{border-right:0}.service-grid span{font-size:.75rem;font-weight:800;color:#447684}.service-grid h3{font-family:Georgia,serif;font-size:1.65rem;margin:45px 0 10px}.service-grid p{color:#50666d}.portfolio{background:#fbfaf6}.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:42px}.project-card{margin:0;background:var(--deep);position:relative;overflow:hidden;min-height:320px}.project-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.03)}.project-large{grid-row:span 2;min-height:660px}.project-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:45px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:white;display:flex;flex-direction:column}.project-card figcaption span{color:#c3e6eb;font-size:.78rem;font-weight:700}.project-card figcaption strong{font-family:Georgia,serif;font-size:1.55rem}.process{background:var(--ink);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.process .eyebrow{color:var(--cyan)}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.28)}.process li{display:grid;grid-template-columns:62px 1fr;gap:15px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.28)}.process li>strong{color:var(--yellow)}.process h3{font-family:Georgia,serif;font-size:1.45rem;margin-bottom:5px}.process p{color:#c8d9db;margin:0}.cta{padding:clamp(64px,10vw,140px) 22px;text-align:center;background:var(--yellow)}.cta .eyebrow{color:#715600}.cta h2{max-width:700px;margin-left:auto;margin-right:auto}.cta p:not(.eyebrow){max-width:590px;margin:0 auto 28px;font-size:1.05rem}.cta .button{background:var(--ink);color:white}.cta .button:hover{background:#123d4d}footer{padding:28px clamp(22px,5vw,76px);display:flex;gap:25px;justify-content:space-between;align-items:center;background:var(--deep);color:#b8ccd0;font-size:.88rem}footer .brand{color:white}@media(max-width:780px){.site-header{padding:13px 18px}.site-header nav{display:none}.site-header .button{font-size:.78rem;padding:9px 11px}.hero{grid-template-columns:1fr;padding:54px 22px}.hero-image{max-width:560px}.intro,.process{grid-template-columns:1fr;gap:24px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:not(:first-child){padding:22px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.service-grid h3{margin-top:18px}.portfolio-grid{grid-template-columns:1fr}.project-large{grid-row:auto;min-height:430px}.project-card{min-height:330px}footer{align-items:flex-start;flex-direction:column;gap:11px}}
