:root{--petroleum:#15566A;--teal:#397783;--gold:#D6B15F;--ivory:#F5F2EC;--white:#FFFFFF;--charcoal:#292929;--pad:6%;--body:'DM Sans',sans-serif;--title:'Sora',sans-serif;--editorial:'Instrument Serif',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--body);font-size:16px;line-height:1.5}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.dark a:focus-visible{outline-color:var(--gold)}button{font:inherit}h1,h2,h3,p,ul,ol{margin:0}h1,h2,h3{font-family:var(--title);font-weight:500;line-height:1.23;text-transform:uppercase}h1{font-size:clamp(1.8rem,3.1vw,2.75rem);letter-spacing:-.045em}h2{font-size:clamp(1.2rem,2vw,1.75rem);letter-spacing:-.025em}h3{font-size:.94rem;color:var(--gold);line-height:1.5}.site{max-width:1440px;margin:auto;position:relative}.skip-link{position:absolute;z-index:100;left:1rem;top:-5rem;background:var(--white);padding:1rem}.skip-link:focus{top:1rem}.section-pad{padding:2rem var(--pad)}.dark{background:var(--petroleum);color:var(--white)}.eyebrow{font-family:var(--title);color:var(--gold);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.4rem;position:relative}.eyebrow:after{content:'';position:absolute;left:0;bottom:-.5rem;width:1.6rem;height:2px;background:var(--gold)}.editorial{font-family:var(--editorial);font-style:italic;font-size:1.4rem;line-height:1.15;color:#94702b}.dark .eyebrow,.dark h3{color:var(--gold)}
.header{position:absolute;top:0;left:0;z-index:5;width:58%;padding:1.65rem 4.75%}.header nav{display:flex;justify-content:space-between;gap:1.3rem}.header nav a{text-transform:uppercase;font-size:.85rem;letter-spacing:.035em;white-space:nowrap}.mobile-brand,.menu-toggle{display:none}.hero{display:grid;grid-template-columns:58% 42%;min-height:650px}.hero-copy{padding:6.5rem 8% 3.5rem 10.35%;display:flex;align-items:flex-start;flex-direction:column}.brand{display:inline-flex;flex-direction:column;align-items:center;margin-bottom:2.5rem;color:var(--petroleum);gap:.25rem}.brand img{width:145px;height:148px}.brand span{font-family:var(--title);font-size:1rem;letter-spacing:.16em}.hero-intro{max-width:28rem;margin-top:1.6rem;font-size:1.1rem;line-height:1.55}.brand-line{margin-top:2.8rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;display:flex;flex-wrap:wrap;gap:.65rem}.brand-line b,.footer b{color:var(--gold)}.hero-art{background:var(--petroleum);display:flex;align-items:stretch;justify-content:center;padding:0 7% 12% 12%}.gold-frame{border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);width:100%;display:flex;align-items:center;justify-content:center;padding:3rem 1rem}.gold-frame img{width:100%;max-width:400px}
.about{display:grid;grid-template-columns:38.6% 61.4%;align-items:stretch}.about-copy{padding:1.6rem 18% 2rem 15.5%}.about-copy h2{margin-bottom:1.4rem}.about-copy>p:not(.eyebrow):not(.editorial){max-width:20rem}.ruled{border-top:1px solid var(--gold);margin-top:1.6rem;padding-top:1.3rem;text-transform:uppercase;font-size:1.18rem}.about-photo{width:100%;height:100%;object-fit:cover;min-height:365px}.services{display:grid;grid-template-columns:1.18fr .9fr .94fr;gap:8%;padding-top:2rem;padding-bottom:2rem}.services .eyebrow{margin-bottom:1.15rem}.services h2{margin-bottom:1.7rem;max-width:20rem}.service-group ul{list-style:none;padding:0;margin-top:.5rem;line-height:1.6}.service-column>img{width:100%;aspect-ratio:1.74;object-fit:cover;margin-top:1.4rem}.service-group.separated{margin-top:1.8rem;padding-top:1.7rem;position:relative}.service-group.separated:before{content:'';position:absolute;top:0;left:0;width:65%;height:1px;background:var(--gold)}
.process{padding-bottom:1rem}.process-top{display:grid;grid-template-columns:32% 1fr;gap:3%;margin-bottom:1.4rem}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem}.steps li{font-size:.78rem;text-transform:uppercase;line-height:1.5}.steps span{display:block;font-family:var(--editorial);font-size:3.1rem;color:#94702b;line-height:1.1}.process-photos{display:grid;grid-template-columns:1fr 1.13fr 1fr;gap:1.2%}.process-photos img{width:100%;height:100%;aspect-ratio:1.8;object-fit:cover}.process-quote{text-transform:uppercase;text-align:center;padding:1rem 0 .7rem;font-size:1.3rem;position:relative}.process-quote:after{content:'';position:absolute;bottom:0;left:calc(50% - 35px);width:70px;height:1px;background:var(--gold)}
.focus{display:grid;grid-template-columns:34% 60%;gap:6%;padding-top:.8rem;padding-bottom:1.4rem;align-items:stretch}.focus h2{max-width:23rem}.focus-subtitle{margin-top:.25rem}.principles{list-style:none;padding:0;margin-top:1.4rem}.principles li{font-size:.85rem;text-transform:uppercase;border-bottom:1px solid var(--gold);padding:.25rem 0}.focus-quote{margin-top:1rem;text-transform:uppercase;font-size:1.15rem}.focus>img{width:100%;height:100%;min-height:270px;object-fit:cover}.contact{display:grid;grid-template-columns:57% 37%;gap:6%;padding-top:1.15rem;padding-bottom:.7rem}.contact .eyebrow{margin-bottom:1rem}.contact h2{margin-bottom:.4rem}.contact address{font-style:normal;font-size:.96rem;line-height:1.5}.contact address a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere}.contact address p{margin-top:.55rem}.contact>img{width:100%;height:100%;object-fit:cover;min-height:185px}.footer{margin:0;padding:0 var(--pad) .8rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;position:relative}.footer:before{content:'';position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:var(--gold)}.footer>a{padding-top:.8rem;text-transform:uppercase;font-family:var(--title);font-size:.9rem;letter-spacing:.4em}.footer p{padding-top:.8rem;text-transform:uppercase;font-size:.77rem;letter-spacing:.15em}
@media(min-width:1440px){h1{font-size:2.75rem}}
@media(max-width:1050px){.header{padding-left:4%;padding-right:3%}.header nav{gap:.7rem}.header nav a{font-size:.75rem}.hero{min-height:570px}.hero-copy{padding-top:5.2rem}.brand{margin-bottom:2rem}.brand img{width:115px;height:117px}.brand span{font-size:.83rem}.hero-intro{font-size:1rem}.brand-line{font-size:.7rem;letter-spacing:.09em}.about-copy{padding-right:14%;padding-left:15.5%}.services{gap:6%}.footer>a{letter-spacing:.28em}.footer p{letter-spacing:.08em;font-size:.7rem}}
@media(max-width:760px){:root{--pad:6%}.header{position:relative;width:100%;padding:1.1rem var(--pad);min-height:66px;display:flex;align-items:center;justify-content:space-between;background:var(--ivory)}.mobile-brand{display:block;font-family:var(--title);font-size:.8rem;letter-spacing:.1em;color:var(--petroleum)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid var(--petroleum);width:44px;height:44px;align-items:center;background:transparent;border-radius:0}.menu-toggle span{width:20px;height:2px;background:var(--petroleum)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:.8rem var(--pad) 1.5rem;box-shadow:0 8px 12px #29292915;flex-direction:column;gap:0}.header nav.is-open{display:flex}.header nav a{font-size:.95rem;padding:.7rem 0;border-bottom:1px solid #D6B15F70}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{padding:1.6rem var(--pad) 2.4rem}.brand{margin-bottom:1.9rem}.brand img{width:108px;height:110px}.brand span{font-size:.9rem}h1{font-size:clamp(1.75rem,5.2vw,2.3rem);letter-spacing:-.035em}.hero-intro{max-width:32rem;font-size:1.05rem}.brand-line{margin-top:1.8rem;font-size:.72rem;letter-spacing:.1em}.hero-art{padding:0 9% 7% 9%;min-height:290px}.gold-frame{padding:1.5rem 2rem}.gold-frame img{height:235px;width:auto}.about{grid-template-columns:1fr}.about-copy{padding:2rem var(--pad)}h2{font-size:1.45rem}.about-copy>p:not(.eyebrow):not(.editorial){max-width:36rem}.ruled{max-width:35rem}.about-photo{min-height:0;height:auto;aspect-ratio:1.82}.services{grid-template-columns:1fr 1fr;gap:2.5rem 7%}.service-column:first-child{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0 7%;align-items:start}.service-column:first-child>.eyebrow,.service-column:first-child>h2{grid-column:1 / -1}.service-column:first-child>img{margin-top:0;align-self:center}.services h2{max-width:28rem}.service-group ul{font-size:1rem}.process-top{grid-template-columns:1fr;gap:1.5rem}.steps{gap:1rem}.steps li{font-size:.77rem}.process-photos{gap:2%;grid-template-columns:1fr 1fr}.process-photos img:last-child{grid-column:1 / -1;aspect-ratio:2.6;height:auto;object-position:center 45%}.process-quote{font-size:1.25rem;padding-top:1.4rem}.focus{grid-template-columns:1fr;gap:1.7rem;padding-top:1rem}.focus h2{max-width:30rem}.focus-copy{max-width:36rem}.focus>img{min-height:0;height:auto;aspect-ratio:2.05}.focus-quote{max-width:32rem;font-size:1.2rem}.principles li{font-size:.85rem;padding:.45rem 0}.contact{grid-template-columns:1fr;gap:1.3rem;padding-top:1.6rem;padding-bottom:1.5rem}.contact>img{height:auto;min-height:0;aspect-ratio:2.05}.contact address{font-size:1rem}.footer{flex-direction:column;align-items:flex-start;gap:.25rem;padding-bottom:1rem}.footer>a{font-size:.85rem;letter-spacing:.25em}.footer p{padding-top:.3rem;font-size:.7rem}}
@media(max-width:420px){.desktop-break{display:none}.services{grid-template-columns:1fr;gap:2rem}.service-column:first-child{display:block;grid-column:auto}.service-column:first-child>img{margin-top:1.4rem}.services .service-column>img{max-width:100%}.service-group.separated{margin-top:1.5rem;padding-top:1.5rem}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.process-photos{grid-template-columns:1fr;gap:.8rem}.process-photos img,.process-photos img:last-child{grid-column:auto;aspect-ratio:1.8;height:auto}.brand-line{column-gap:.45rem;font-size:.66rem;letter-spacing:.065em}.hero-art{min-height:250px}.gold-frame img{height:210px}.footer>a{letter-spacing:.19em}.footer p{letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep enlarged text within its column without clipping. */
.hero>*,.about>*,.services>*,.process-top>*,.focus>*,.contact>*{min-width:0}h1,h2,h3,.brand span,.mobile-brand,.steps li,.footer{overflow-wrap:anywhere}.menu-toggle{flex-shrink:0}.header{gap:1rem}

/* Complete brand artwork: vector symbol and outlined wordmark. */
.brand img{width:250px;height:auto}.hero-art .gold-frame img{width:100%;max-width:400px;height:auto}
@media(max-width:1050px){.brand img{width:215px}}
@media(max-width:760px){.brand img{width:205px}.hero-art .gold-frame img{width:230px;height:auto}}
