:root{--ink:#092f35;--deep:#06262b;--gold:#f7bd31;--paper:#f4f0e7;--white:#fff;--line:rgba(9,47,53,.18);--sans:Arial,Helvetica,sans-serif;--mono:"Courier New",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(6,38,43,.95);border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px)}.brand{width:240px;height:62px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:cover}.nav{display:flex;align-items:center;gap:2.2rem;color:white;font-size:.8rem;text-transform:uppercase;letter-spacing:.13em}.nav a{padding:.6rem 0}.nav-cta{color:var(--gold)!important;border-bottom:1px solid var(--gold)}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:28px;height:2px;background:white;margin:6px}.hero{min-height:100svh;position:relative;color:white;display:flex;align-items:flex-end;padding:150px 6vw 8vh;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{filter:saturate(.78)}.hero-shade{background:linear-gradient(90deg,rgba(6,38,43,.95) 0%,rgba(6,38,43,.75) 48%,rgba(6,38,43,.18) 85%),linear-gradient(0deg,rgba(6,38,43,.6),transparent 45%)}.hero-content{position:relative;z-index:1;max-width:920px}.eyebrow,.section-kicker{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;font-weight:bold}.eyebrow{color:var(--gold);margin-bottom:1.5rem}.hero h1{font-size:clamp(3.6rem,8.2vw,8rem);line-height:.87;letter-spacing:-.065em;margin:0;max-width:1000px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-copy{font-size:clamp(1.05rem,1.8vw,1.4rem);max-width:650px;margin:2rem 0;color:rgba(255,255,255,.88)}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.5rem;text-transform:uppercase;font-size:.76rem;font-weight:bold;letter-spacing:.12em}.button-primary{background:var(--gold);color:var(--deep)}.text-link{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.55);padding:.75rem 0}.text-link span{color:var(--gold);font-size:1.2rem;margin-left:.4rem}.hero-index{position:absolute;z-index:1;right:4vw;bottom:5vh;display:flex;align-items:center;gap:1rem;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.hero-index i{display:block;width:80px;height:1px;background:rgba(255,255,255,.6)}.band{padding:clamp(5rem,9vw,9rem) 6vw}.section-kicker{color:#7f6419;margin:0 0 2rem}.intro{background:var(--gold)}.intro .section-kicker{color:var(--deep)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.intro h2,.section-heading h2,.story h2,.contact h2{font-size:clamp(2.7rem,5.4vw,5.6rem);line-height:.94;letter-spacing:-.05em;margin:0}.intro .lead{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.35;margin-top:0}.intro-grid>div p:last-child{max-width:620px}.services{background:var(--paper)}.section-heading{display:grid;grid-template-columns:.55fr 1.45fr;gap:4vw;margin-bottom:4rem}.section-heading .section-kicker{margin-top:.6rem}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:60px minmax(250px,.8fr) 1fr;gap:3vw;align-items:start;padding:2.2rem 0;border-bottom:1px solid var(--line)}.service-list article>span{font-family:var(--mono);font-size:.76rem;color:#866b24}.service-list h3{font-size:1.55rem;margin:0}.service-list p{margin:0;max-width:660px;color:#31555a}.work{background:var(--deep);color:white}.work .section-kicker{color:var(--gold)}.work-heading{grid-template-columns:1fr .48fr;align-items:end}.work-heading p:last-child{color:rgba(255,255,255,.65);max-width:420px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:1.3rem}.gallery figure{grid-column:span 4;margin:0;position:relative;overflow:hidden;background:#123c42;min-height:420px}.gallery figure.wide{grid-column:span 8}.gallery figure.tall{grid-column:span 4;grid-row:span 2}.gallery img{height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.gallery figure:hover img{transform:scale(1.025);filter:brightness(.76)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.4rem 1.2rem;background:linear-gradient(transparent,rgba(6,38,43,.9));display:flex;justify-content:space-between;align-items:end}.gallery figcaption span{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;color:var(--gold)}.gallery figcaption b{font-size:.9rem}.story{display:grid;grid-template-columns:1fr 1fr;min-height:800px;background:var(--paper)}.story-image{position:relative;min-height:650px}.story-image img{width:100%;height:100%;object-fit:cover}.story-image>span{position:absolute;left:1.5rem;bottom:1.5rem;background:var(--gold);padding:.65rem 1rem;font-family:var(--mono);font-size:.72rem;text-transform:uppercase}.story-copy{padding:8vw 7vw}.story-copy p:not(.section-kicker){color:#31555a;max-width:720px}.story-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:4rem;border-top:1px solid var(--line);padding-top:2rem}.story-stats strong{display:block;font-size:2.3rem}.story-stats span{font-family:var(--mono);font-size:.7rem;text-transform:uppercase}.markets{padding-top:5rem;padding-bottom:5rem;background:white}.market-row{display:flex;flex-wrap:wrap}.market-row span{font-size:clamp(1.25rem,2vw,2rem);padding:.8rem 2rem .8rem 0;margin-right:2rem;border-bottom:1px solid var(--line)}.contact{background:var(--gold)}.contact .section-kicker{color:var(--deep)}.contact h2{max-width:1000px}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:end;margin-top:5rem;padding-top:2rem;border-top:1px solid rgba(6,38,43,.3)}.contact .button{background:var(--deep);color:white}.contact-grid div span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.contact-grid div a{text-decoration:underline}.contact-grid address{font-style:normal}footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 6vw;background:var(--deep);color:rgba(255,255,255,.65);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.site-header{height:74px}.brand{width:190px;height:54px}.menu-toggle{display:block}.nav{position:absolute;top:74px;left:0;right:0;background:var(--deep);padding:2rem 6vw;display:none;flex-direction:column;align-items:flex-start;gap:1rem}.nav.open{display:flex}.hero{padding:130px 6vw 7vh}.hero h1{font-size:clamp(3.2rem,13vw,6rem)}.hero-index{display:none}.intro-grid,.section-heading,.story,.contact-grid{grid-template-columns:1fr}.section-heading{gap:1rem}.service-list article{grid-template-columns:38px 1fr}.service-list article p{grid-column:2}.gallery figure,.gallery figure.wide,.gallery figure.tall{grid-column:span 6;min-height:340px}.story-copy{padding:6rem 6vw}.contact-grid{align-items:start}.contact-grid .button{width:max-content}}
@media(max-width:580px){.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.band{padding-left:5vw;padding-right:5vw}.service-list article{grid-template-columns:30px 1fr;gap:1rem}.service-list h3{font-size:1.25rem}.gallery{display:block}.gallery figure{margin-bottom:1rem;min-height:330px}.story{display:block}.story-image{min-height:420px}.story-stats strong{font-size:1.8rem}.market-row span{font-size:1.2rem}.contact-grid{margin-top:3rem}footer{flex-direction:column}.hero h1{font-size:3.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}

/* Keep project photography in its original landscape proportions so the work is not cropped. */
.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery figure,.gallery figure.wide,.gallery figure.tall{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3}
.gallery img{object-position:center}
.gallery figcaption{justify-content:flex-end;text-align:right}

.quote-page{min-height:100vh;background:var(--paper);padding:150px 6vw 6rem}
.quote-shell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);gap:8vw;max-width:1280px;margin:0 auto}
.quote-intro h1{font-size:clamp(3.2rem,6.8vw,7rem);line-height:.9;letter-spacing:-.06em;margin:.4rem 0 2rem}
.quote-intro h1 em{display:block;color:#9b7718;font-style:normal}
.quote-intro>p:not(.section-kicker){max-width:560px;color:#31555a;font-size:1.1rem}
.quote-form{background:white;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 18px 60px rgba(6,38,43,.1)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-field{display:flex;flex-direction:column;gap:.45rem}
.form-field.full{grid-column:1/-1}
.form-field label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:bold;color:var(--deep)}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #b9c4c2;background:#fff;padding:.9rem 1rem;color:var(--ink);font:inherit;border-radius:0}
.form-field textarea{min-height:150px;resize:vertical}
.form-field small{color:#557074;font-size:.78rem}
.form-field input[type="file"]{padding:.7rem;background:#f7f8f6;cursor:pointer}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--deep)}
.quote-submit{margin-top:1.5rem;border:0;cursor:pointer;width:100%}
.form-note{font-size:.82rem;color:#557074;margin:1rem 0 0}
.form-status{font-size:.82rem;color:#31555a;margin:1rem 0 0;min-height:1.3em}
.quote-back{display:inline-block;margin-top:2rem;border-bottom:1px solid var(--deep);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:800px){.gallery{grid-template-columns:1fr}.quote-shell{grid-template-columns:1fr}.quote-page{padding-top:120px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}}

.story-stats strong{font-variant-numeric:tabular-nums}
.contact-grid{grid-template-columns:1fr 1fr auto}.contact-grid address{grid-column:1 / -1}.contact-bid{justify-self:end}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-bid{justify-self:start}}

.site-header{gap:1rem}.brand{flex-shrink:0}.site-header>.nav{margin-left:0}.header-social{margin-left:auto;display:flex;align-items:center;gap:2px;color:white;flex-shrink:0}.header-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:4px}.header-social svg{width:21px;height:21px}.header-social a:hover{color:var(--gold)}.header-social a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(max-width:900px){.site-header{gap:.25rem}.header-social{margin-left:auto;order:2}.menu-toggle{order:3}.site-header>.nav{margin-left:0}}@media(max-width:380px){.site-header .brand{width:150px;height:44px}}
