@font-face{font-family:Nimbus;src:url('assets/sans-regular.otf') format('opentype');font-display:swap}
@font-face{font-family:Nimbus;src:url('assets/sans-bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:Editorial;src:url('assets/serif-italic.otf') format('opentype');font-style:italic;font-display:swap}
:root{--ink:#211e18;--dark:#11100e;--cream:#f8f4ea;--gold:#f0b34e;--gold-dark:#82530e;--muted:#62594c;--light-muted:#d2c7b4;--border:#c9bea9;font-size:100%}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:Nimbus,Arial,sans-serif;font-size:1rem;line-height:1.65;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.22em}
a:focus-visible{outline:.1875rem solid var(--gold-dark);outline-offset:.25rem;border-radius:.125rem}
h1,h2,h3,p{margin:0}
h1,h2{line-height:1.12;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.6vw,3rem)}
em{font-family:Editorial,Georgia,serif;font-weight:400;color:var(--gold-dark)}
p+p{margin-top:1rem}
.wrap{width:min(76rem,calc(100% - 6rem));margin-inline:auto}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:10;background:#fff;color:var(--ink);padding:.75rem 1rem;min-height:2.75rem;transform:translateY(-220%);font-weight:700}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{background:var(--dark);color:#fff;border-top:.25rem solid #df9a23;border-bottom:1px solid #4f4432}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.25rem}
.brand{width:12rem;flex-shrink:0}
.brand p{font-size:.875rem;line-height:1.5;letter-spacing:.07em;text-align:center;margin-top:.5rem;color:#f3e8d6}
.header-note{font-size:.9375rem;line-height:1.6;color:var(--light-muted);text-align:right}
.header-note strong{color:#fff;font-weight:400}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#050505;color:#fff}
.hero-image{position:absolute;inset:0 0 0 auto;width:58%;background:url('assets/hero-bread.jpg') center/cover no-repeat;z-index:-1}
.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050505,transparent 48%),linear-gradient(0deg,#05050566,transparent 40%)}
.hero-inner{padding-block:4.5rem 5rem}
.hero-copy{max-width:40rem}
.status{display:inline-flex;gap:.65rem;align-items:center;color:#f9d594;font-size:.9375rem;line-height:1.5;padding:.5rem .875rem;border:1px solid #84622d;border-radius:2rem}
.status>span{width:.45rem;height:.45rem;flex-shrink:0;background:var(--gold);border-radius:50%}
h1{font-size:clamp(3rem,5.6vw,5rem);line-height:1.04;margin-top:1.75rem;letter-spacing:-.045em}
h1 em{color:var(--gold)}
.english-note{font-size:.9375rem;line-height:1.6;color:var(--light-muted);margin-top:1.25rem;font-style:italic}
.hero-description{max-width:28rem;color:#e5dccd;margin-top:1.5rem;font-size:1.0625rem;line-height:1.7}
.hero-description+.hero-description{margin-top:1rem}
.hero-description strong{font-weight:700;color:#fff}
.hero-signature{border-top:1px solid #65553b;padding-top:1.25rem;margin-top:2rem;font-family:Editorial,Georgia,serif;font-style:italic;color:#f1bf6b;font-size:1.375rem;max-width:24rem}
.eyebrow{font-size:.875rem;letter-spacing:.1em;font-weight:700;line-height:1.65;color:var(--gold-dark)}
.contact{background:var(--cream);padding-block:4.5rem}
.contact-inner{display:grid;grid-template-columns:.9fr 1.3fr;gap:5rem;align-items:start}
.contact-intro h2{margin-top:1rem}
.contact-intro>p:last-child{font-size:1rem;color:var(--muted);margin-top:1.5rem;max-width:24rem}
.contact-details{font-style:normal;min-width:0}
.contact-item{border-bottom:1px solid var(--border);padding-block:.75rem}
.contact-item:first-child{padding-top:0}
.contact-item h3{color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.6}
.contact-item a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.75rem;padding-block:.5rem;text-decoration:none;font-size:1.125rem;line-height:1.55;font-weight:700}
.contact-item a span{min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#927d56;text-underline-offset:.24em;text-decoration-thickness:.0625rem}
.contact-item a:hover{color:var(--gold-dark)}
.contact-item svg{height:1.375rem;width:1.375rem;flex-shrink:0;fill:none;stroke:var(--gold-dark);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.services{padding-block:4rem 4.5rem;background:white}
.services-heading{text-align:center;margin-bottom:2.75rem}
.services-heading h2{margin-top:.75rem}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.service{display:flex;flex-direction:column;align-items:center;text-align:center}
.service img{width:6.25rem;height:6.25rem;object-fit:contain;margin-bottom:1.125rem}
.service h3{font-size:1.125rem;font-weight:700;line-height:1.45;max-width:13rem}
.about{padding-block:0 5rem}
.about-inner{border-top:1px solid #dfd7c9;padding-top:4rem;display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:center}
.about-image img{width:100%;max-width:27rem;margin-inline:auto;border-radius:50%}
.about-copy{min-width:0}
.about-copy h2{font-size:clamp(2rem,3.2vw,2.75rem);margin-top:.875rem;line-height:1.15}
.about-copy .lead{font-size:1.1875rem;color:var(--ink);margin-top:1.5rem}
.about-copy>p:not(.eyebrow):not(.lead){font-size:1rem;color:var(--muted);margin-top:1rem}
.about-copy strong{color:var(--ink)}
.site-footer{background:var(--dark);color:#d2c7b4;padding-block:2rem;border-top:.25rem solid #df9a23}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.footer-name{font-size:1.0625rem;font-weight:700;color:#fff}
.footer-tagline{font-family:Editorial,Georgia,serif;font-style:italic;font-size:1.125rem;color:var(--gold);margin-top:.25rem}
.company-details{font-size:.875rem;line-height:1.7;text-align:right}
.company-details p+p{margin-top:0}
@media(min-width:100rem){.hero-inner{padding-block:5rem 6rem}.hero-image{width:57%}}
@media(max-width:68rem){.wrap{width:calc(100% - 4rem)}.contact-inner{gap:3rem;grid-template-columns:.85fr 1.25fr}.about-inner{gap:3rem}.hero-image{opacity:.8;width:64%}.hero-copy{max-width:35rem}.hero-description{max-width:25rem}}
@media(max-width:52rem){.wrap{width:calc(100% - 2.5rem)}.hero-inner{padding-block:3rem 4rem}.hero-copy{max-width:32rem}.hero-image{width:75%;opacity:.5}.hero-image:after{background:linear-gradient(90deg,#050505 4%,#050505cc 45%,#05050577)}h1{font-size:clamp(3rem,7vw,4rem)}.contact-inner{grid-template-columns:1fr;gap:2.5rem}.contact-intro>p:last-child{max-width:35rem}.contact{padding-block:3rem}.services{padding-block:3rem}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 1.5rem}.about{padding-bottom:3rem}.about-inner{grid-template-columns:1fr;gap:2rem;padding-top:3rem}.about-image img{max-width:22rem}.about-copy{max-width:40rem;margin-inline:auto}}
@media(max-width:35rem){.header-inner{padding-block:1rem;justify-content:center}.brand{width:11rem}.header-note{display:none}.hero-image{inset:auto 0 0;width:100%;height:50%;opacity:.6;background-position:center 60%}.hero-image:after{background:linear-gradient(180deg,#050505,#050505aa 50%,#05050588)}.hero-inner{padding-block:2.5rem 3rem}.hero-copy{max-width:none}h1{font-size:clamp(2.75rem,10.5vw,3.5rem);line-height:1.08}.hero-description{max-width:none;font-size:1rem}.hero-signature{font-size:1.25rem;max-width:none}.status{font-size:.875rem}.english-note{font-size:.875rem}.eyebrow{font-size:.875rem;letter-spacing:.05em}.contact-item a{font-size:1rem;gap:.5rem;padding-block:.625rem}.services-heading{margin-bottom:2rem}.service img{width:5.5rem;height:5.5rem}.service h3{font-size:1rem}.services-grid{gap:2rem 1rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:1.25rem}.company-details{text-align:left}.about-copy h2{font-size:2rem}}
@media(forced-colors:active){.status{border:1px solid CanvasText}.status>span{background:CanvasText}a:focus-visible{outline-color:Highlight}}
@media(prefers-reduced-motion:no-preference){.skip-link{transition:transform .15s}}
/* Keep the photographic background below a dark text panel at every size. */
.hero-copy{/*background:#050505f2;*/border-radius:.125rem}
@media(max-width:52rem){.header-note{display:none}.header-inner{justify-content:center}}

.social-link{display:inline-flex;align-items:center;gap:.75rem;min-width:2.75rem;min-height:2.75rem;padding-block:.5rem;margin-top:.875rem;color:#fff;font-size:1rem;line-height:1.5;text-decoration:none}
.social-link svg{width:1.75rem;height:1.75rem;flex-shrink:0}
.social-link>span:first-of-type{text-decoration:underline;text-underline-offset:.22em}
.social-link:hover{color:var(--gold)}
.social-link:focus-visible{outline-color:var(--gold)}
