:root{--bg:#f4eded;--ink:#442e38;--accent:#8a4761;--muted:#e6d5dd;--button-bg:#8a4761;--button-text:#f4eded;--font:Arial, Helvetica, sans-serif;}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:.22em}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;min-width:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.8rem,6.7vw,7.5rem);line-height:1.02;letter-spacing:-.055em;font-weight:400;overflow-wrap:normal}h2{font-size:clamp(2rem,3.7vw,4rem);line-height:1.12;letter-spacing:-.035em;font-weight:400}h3{font-size:1.25rem;line-height:1.25;margin-bottom:1rem}p{max-width:65ch}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--bg);padding:1rem;z-index:10}.header{padding:1.7rem 5vw;display:flex;justify-content:space-between;gap:2rem;align-items:center;border-bottom:1px solid var(--muted)}.brand{font-size:1.25rem;font-weight:bold;text-decoration:none}.header>a:last-child{font-size:.85rem}.hero{padding:5vw;min-height:650px;display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:center}.eyebrow{font:12px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-bottom:2rem}.intro{max-width:37rem;margin:2rem 0}.cta{display:inline-flex;gap:2rem;padding:.85rem 0;border-bottom:2px solid var(--accent);font:600 15px Arial,sans-serif;text-decoration:none}.hero-photo{height:540px}.hero-photo figcaption{font-size:12px;margin-top:.7rem}.topics,.gallery,.contact{padding:6vw 5vw}.topics{border-top:1px solid var(--muted)}.topic-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:3rem}.topic-list article{border-top:2px solid var(--accent);padding-top:1.5rem}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.gallery-heading p{max-width:25rem}.pictures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.pictures figure{height:250px}.contact{background:var(--ink);color:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:5vw}.contact p{margin-top:1.5rem;max-width:36rem}address{font-style:normal;display:flex;flex-direction:column;justify-content:center;gap:1.5rem}address a{overflow-wrap:anywhere}.footer{padding:2rem 5vw;display:flex;justify-content:space-between;gap:1.5rem;font:12px Arial,sans-serif}.sources{padding:5vw;max-width:1000px}.sources h1{margin:3rem 0;font-size:3rem}.sources li{margin-bottom:1.5rem}.center{justify-content:center;flex-direction:column;gap:.5rem}.masthead .brand{font-size:2rem;letter-spacing:-.06em}.technical{background:var(--ink);color:var(--bg)}.band{border-top:8px solid var(--accent)}.signature span:first-child{font:italic 1.6rem Georgia,serif}.colophon{border-top:1px solid var(--ink);padding-top:3rem}.directory{display:grid;grid-template-columns:1fr 1fr}.minimal{justify-content:center}
[data-layout=consulting] .hero-photo{height:570px}[data-layout=consulting] .hero-photo>img{border-radius:50% 50% 0 0;height:calc(100% - 2rem)}[data-layout=consulting] .topics{display:grid;grid-template-columns:1fr 1.5fr;gap:5vw}[data-layout=consulting] .topic-list{grid-template-columns:1fr;margin:0}[data-layout=consulting] .pictures{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw}[data-layout=consulting] .pictures figure:nth-child(even){margin-top:4rem}
[data-layout=repair] h1{font-weight:700;font-size:clamp(2.7rem,5.2vw,6rem)}[data-layout=repair] .hero{grid-template-columns:.28fr 1fr 1fr;gap:3vw;background:var(--muted)}.repair-label{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;font-size:.85rem;border-right:1px solid var(--ink);padding-right:1rem}.repair-label span{writing-mode:vertical-rl}[data-layout=repair] .hero-photo{height:510px}[data-layout=repair] .pictures{grid-template-columns:repeat(3,minmax(0,1fr))}[data-layout=repair] .pictures figure:first-child{grid-column:span 2}[data-layout=repair] .topics h2{max-width:650px}
[data-layout=shop] .hero{display:flex;flex-direction:column;padding-top:4rem;text-align:center;gap:3rem}[data-layout=shop] .hero-copy{max-width:950px}[data-layout=shop] .intro{margin:2rem auto}[data-layout=shop] .hero-photo{width:100%;height:520px}[data-layout=shop] .pictures{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw}[data-layout=shop] .pictures figure{height:440px}[data-layout=shop] .pictures figure:nth-child(3n){height:550px}[data-layout=shop] .gallery-heading{flex-direction:column;align-items:center;text-align:center}[data-layout=shop] .contact{text-align:center;display:block}[data-layout=shop] address{margin-top:3rem}[data-layout=shop] .contact p{margin:1.5rem auto}
[data-layout=parts] .hero{grid-template-columns:.18fr 1fr 1fr;gap:2vw;border-bottom:12px solid var(--accent)}.parts-index{align-self:start;font:2rem monospace;color:var(--accent)}[data-layout=parts] h1{text-transform:uppercase;font-weight:800;font-size:clamp(2.8rem,5.4vw,6rem)}[data-layout=parts] .hero-photo{height:500px;filter:saturate(.55)}[data-layout=parts] .topic-list{display:block}[data-layout=parts] .topic-list article{display:grid;grid-template-columns:1fr 2fr;padding:2rem 0;border-top:1px solid var(--ink)}[data-layout=parts] .pictures{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}[data-layout=parts] .pictures figure{height:220px}
[data-layout=editorial] .hero{grid-template-columns:2fr 1fr;gap:3vw}.editorial-title{grid-column:1/-1;max-width:1100px}.editorial-title h1{font-weight:800;font-size:clamp(3rem,8vw,9rem)}[data-layout=editorial] .hero-photo{height:500px}.editorial-deck{align-self:end;font-size:1.15rem}.editorial-deck .cta{margin-top:2rem}[data-layout=editorial] .gallery{background:var(--ink);color:var(--bg)}[data-layout=editorial] .pictures{grid-template-columns:2fr 1fr 1fr}[data-layout=editorial] .pictures figure{height:330px}[data-layout=editorial] .pictures figure:nth-child(4n){grid-column:span 2}[data-layout=editorial] .contact{background:var(--accent)}
.side{padding-left:5vw;border-left:12px solid var(--accent)}.utility{padding-top:.9rem;padding-bottom:.9rem;border-bottom:4px solid var(--accent)}
[data-layout=consulting] .contact{background:var(--muted);color:var(--ink);grid-template-columns:1.4fr 1fr}[data-layout=consulting] address{border-left:1px solid var(--accent);padding-left:3vw}[data-layout=repair] .contact{border-top:14px solid var(--accent)}[data-layout=repair] address a:first-child{font-size:clamp(1.5rem,2.5vw,3rem);font-weight:700}[data-layout=parts] .contact{background:var(--muted);color:var(--ink);grid-template-columns:1fr 1.5fr}[data-layout=parts] address{border-top:3px solid var(--ink);padding-top:2rem}[data-layout=editorial] .contact{display:block}[data-layout=editorial] address{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;margin-top:3rem;border-top:1px solid currentColor;padding-top:2rem}
.repair-steps{list-style:none;counter-reset:step;padding:0;margin:3rem 0 0;max-width:950px}.repair-steps li{counter-increment:step;position:relative;padding:1.8rem 2rem 1.8rem 5.5rem;background:var(--muted);margin-top:1rem}.repair-steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:1.5rem;top:1.5rem;font:bold 1.7rem Arial,sans-serif;color:var(--accent)}.repair-steps h3{margin-bottom:.5rem}
[data-layout=shop] .topics{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;align-items:start}.shop-notes{margin:0}.shop-notes>div{padding:0 0 2rem;margin:0 0 2rem;border-bottom:1px solid var(--muted)}.shop-notes dt{font-style:italic;font-size:1.75rem;margin-bottom:.8rem}.shop-notes dd{margin:0}
.editorial-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem 5vw;margin-top:3rem}.editorial-columns article{border-left:1px solid var(--ink);padding-left:2rem}.editorial-columns article:first-child{grid-row:span 2;border:0;padding:0 3rem 0 0}.editorial-columns article:first-child h3{font-size:2.5rem}.editorial-columns article:first-child p{font-size:1.25rem}.editorial-columns article:first-child p::first-letter{float:left;font:4rem Georgia,serif;line-height:.85;padding:.1em .12em 0 0}
@media(max-width:700px){[data-layout=consulting] .pictures figure:nth-child(even){margin-top:0}[data-layout=shop] .topics{display:block}.shop-notes{margin-top:2rem}.repair-steps li{padding:1.5rem 1rem 1.5rem 3.5rem}.repair-steps li::before{left:1rem;font-size:1.2rem}.editorial-columns{display:block}.editorial-columns article,.editorial-columns article:first-child{border:0;padding:0;margin-bottom:2rem}.editorial-columns article:first-child h3{font-size:2rem}.header{padding:1.2rem 6vw;align-items:start}.header .brand{font-size:1.1rem;max-width:60%}.header>a:last-child{max-width:40%;text-align:right}.center .brand,.center>a:last-child{max-width:100%;text-align:center}.hero,[data-layout] .hero{display:flex;flex-direction:column;padding:2.5rem 6vw;min-height:0;align-items:stretch;gap:2rem}h1,[data-layout] h1{font-size:clamp(2.4rem,10.7vw,4.4rem);letter-spacing:-.045em}.hero-photo,[data-layout] .hero-photo{height:340px;width:100%}.eyebrow{margin-bottom:1.2rem;font-size:10px}.intro{margin:1.5rem 0}.repair-label{flex-direction:row;border-right:0;border-bottom:1px solid var(--ink);padding:0 0 1rem;gap:1rem}.repair-label span{writing-mode:initial}.parts-index{font-size:1rem}.topics,.gallery,.contact{padding:3.5rem 6vw}.topics,[data-layout=consulting] .topics{display:block}.topic-list,[data-layout] .topic-list{display:block;margin-top:2rem}.topic-list article{margin-top:2rem}.gallery-heading{display:block}.gallery-heading p{margin-top:1rem}.pictures,[data-layout] .pictures{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.pictures figure,[data-layout] .pictures figure,[data-layout] .pictures figure:nth-child(3n){height:190px;margin-top:0;grid-column:auto}[data-layout=shop] .pictures figure{height:230px}[data-layout=editorial] .pictures figure:first-child{grid-column:1/-1;height:260px}[data-layout=parts] .topic-list article{display:block}.contact{display:block}address{margin-top:2rem;gap:1.2rem}.footer,.directory{display:flex;flex-direction:column;padding:2rem 6vw}[data-layout=editorial] address{display:flex}[data-layout=consulting] address{border-left:0;padding-left:0}.editorial-deck{align-self:auto}h2{font-size:2rem}.sources{padding:6vw}.sources h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Independent composition options; no text is manufactured by the renderer. */
[data-layout] .hero h1{font-size:clamp(2.5rem,4.3vw,5.1rem)}
[data-hero-size=compact] .hero h1{font-size:clamp(2.4rem,3.7vw,4.3rem)}
[data-hero-style=reverse] .hero{display:grid;grid-template-columns:1fr 1.15fr;text-align:left}
[data-hero-style=reverse] .hero-photo img{border-radius:0}
[data-hero-style=banner] .hero{display:flex;flex-direction:column;align-items:stretch;gap:3rem;text-align:left}
[data-hero-style=banner] .hero-copy{max-width:1100px;display:grid;grid-template-columns:1.5fr 1fr;gap:1rem 4rem;align-items:start}
[data-hero-style=banner] h1{grid-row:2/4;grid-column:1}
[data-hero-style=banner] .eyebrow{grid-column:1/-1}
[data-hero-style=banner] .intro{margin:0}
[data-hero-style=banner] .cta{justify-self:start}
[data-hero-style=banner] .hero-photo{height:390px;width:100%}
[data-hero-style=banner] .hero-photo img{border-radius:0;height:100%}
[data-hero-style=portrait] .hero{display:grid;grid-template-columns:1.6fr .8fr;align-items:start;text-align:left}
[data-hero-style=portrait] .hero-photo{height:650px;margin-top:5rem}
[data-hero-style=portrait] .hero-photo img{border-radius:0;height:100%}
[data-hero-style=panel] .hero{display:grid;grid-template-columns:1.2fr 1fr;gap:0;padding:0;align-items:stretch;text-align:left}
[data-hero-style=panel] .hero-photo{height:auto;min-height:680px}
[data-hero-style=panel] .hero-photo img{border-radius:0;height:100%}
.inset-copy{padding:5vw;background:var(--muted);display:flex;align-items:center}
[data-hero-style=ledger] .hero{display:grid;grid-template-columns:.55fr 1.4fr;align-items:start;text-align:left}
.hero-directory{font-size:.9rem;border-top:4px solid var(--accent);padding-top:1.5rem;overflow-wrap:anywhere}
[data-hero-style=ledger] .hero-photo{grid-column:2;height:300px;width:100%}
[data-hero-style=ledger] .hero-photo img{border-radius:0;height:100%}
[data-hero-style=frame] .hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin:2.5vw;border:1px solid var(--accent);padding:4vw}
[data-hero-style=frame] .hero-copy{max-width:850px}
[data-hero-style=frame] .intro{margin:2rem auto}
[data-hero-style=frame] .hero-photo{height:420px;width:75%}
[data-hero-style=frame] .hero-photo img{border-radius:0;height:100%}
[data-topic-style]:not([data-topic-style=sector]) .topics{display:block}
.custom-topics{padding:0;margin:3rem 0 0;list-style:none}
[data-topic-style=cards] .custom-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
[data-topic-style=cards] article{background:var(--muted);padding:2rem}
[data-topic-style=rows] article{display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-top:1px solid var(--ink);padding:2rem 0}
[data-topic-style=timeline] .custom-topics{counter-reset:topic;max-width:900px;margin-left:auto}
[data-topic-style=timeline] li{counter-increment:topic;border-left:2px solid var(--accent);padding:0 0 3rem 3rem;position:relative}
[data-topic-style=timeline] li::before{content:counter(topic);position:absolute;left:-1rem;top:0;background:var(--ink);color:var(--bg);width:2rem;text-align:center;border-radius:50%}
[data-topic-style=columns] .custom-topics{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem}
[data-topic-style=columns] article:first-child{grid-row:span 2;border-right:1px solid var(--accent);padding-right:4rem}
[data-gallery-style=mosaic] .pictures{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
[data-gallery-style=mosaic] .pictures figure:nth-child(n){height:300px;margin:0;grid-column:auto}
[data-gallery-style=mosaic] .pictures figure:nth-child(4n+1){grid-column:span 2}
[data-gallery-style=strip] .pictures{display:flex;overflow-x:auto;gap:1.5rem;padding-bottom:1rem;scroll-snap-type:x proximity}
[data-gallery-style=strip] .pictures figure:nth-child(n){flex:0 0 38%;height:400px;margin:0;scroll-snap-align:start}
[data-gallery-style=pairs] .pictures{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
[data-gallery-style=pairs] .pictures figure:nth-child(n){height:360px;grid-column:auto;margin:0}
[data-gallery-style=pairs] .pictures figure:nth-child(even){height:280px;align-self:center}
[data-gallery-style=feature] .pictures{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
[data-gallery-style=feature] .pictures figure:nth-child(n){height:240px;grid-column:auto;margin:0}
[data-gallery-style=feature] .pictures figure:first-child{grid-column:1/-1;height:500px}
[data-contact-style=split] .contact{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);color:var(--ink);border-top:1px solid var(--ink);text-align:left}
[data-contact-style=split] address{display:flex;background:var(--muted);padding:2rem;margin:0;border:0}
[data-contact-style=card] .contact{display:block;margin:4vw;padding:4vw;border:2px solid var(--accent);background:var(--bg);color:var(--ink);text-align:left}
[data-contact-style=card] address{display:grid;grid-template-columns:1fr 1fr;margin-top:2rem;padding:2rem 0 0;border:0;border-top:1px solid var(--ink)}
[data-contact-style=bar] .contact{display:block;text-align:left}
[data-contact-style=bar] address{display:flex;flex-direction:row;flex-wrap:wrap;margin:3rem 0 0;padding:2rem 0 0;border:0;border-top:1px solid currentColor;gap:2rem}
.header.stacked{flex-direction:column;align-items:flex-start;border-bottom:0;padding-bottom:0}
.header.rail{border-top:12px solid var(--accent);border-bottom:0}
.footer.stacked{display:grid;grid-template-columns:2fr 1fr;align-items:end;border-top:1px solid var(--accent)}
.footer.stacked span:first-child{grid-row:span 2;font:1.6rem var(--font)}
.hero-copy,.portrait-copy,.inset-copy,.hero>*,.topics>*,.contact>*{min-width:0}
@media(max-width:700px){
[data-layout] .hero h1{font-size:clamp(2.2rem,9.2vw,3.5rem);overflow-wrap:normal;word-break:normal;hyphens:none}
[data-hero-style] .hero{display:flex;flex-direction:column;padding:2.5rem 6vw;gap:2rem;min-height:0;margin:0}
[data-hero-style] .hero-copy{display:block}
[data-hero-style] .hero-photo{height:320px;min-height:0;width:100%;margin:0}
[data-hero-style] .intro{margin:1.5rem 0}
.inset-copy{padding:1.5rem}
[data-topic-style] .custom-topics{display:block;margin:2rem 0 0}
[data-topic-style] .custom-topics article{display:block;margin:0 0 1.5rem;padding:1.5rem 0;border-right:0}
[data-topic-style=cards] .custom-topics article{padding:1.5rem}
[data-topic-style=timeline] .custom-topics{margin-left:1rem}
[data-gallery-style] .pictures{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
[data-gallery-style] .pictures figure,[data-gallery-style] .pictures figure:nth-child(n){grid-column:auto;height:200px;margin:0}
[data-gallery-style=strip] .pictures figure:nth-child(n){flex-basis:85%}
[data-gallery-style=feature] .pictures figure:first-child{grid-column:1/-1;height:270px}
[data-contact-style] .contact{display:block;margin:0;padding:3rem 6vw}
[data-contact-style] address{display:flex;flex-direction:column;padding:1.5rem 0 0;margin-top:2rem}
.footer.stacked{display:flex}
}
figure{display:flex;flex-direction:column}
.hero-photo img,[data-hero-style] .hero-photo img{height:calc(100% - 3rem);flex:none}
.pictures figure img,[data-gallery-style] .pictures figure img{height:calc(100% - 3.5rem);flex:none}
figure figcaption{font:12px/1.3 Arial,sans-serif;padding-top:.45rem;overflow-wrap:normal}

.pictures figure:nth-child(n),[data-layout] .pictures figure:nth-child(n),[data-gallery-style] .pictures figure:nth-child(n){height:auto;display:flex;flex-direction:column}
.pictures figure img{height:260px;flex:none}
figcaption{font:12px/1.5 Arial,sans-serif;padding:.7rem 0 1rem;max-width:65ch}
[data-layout] .hero-photo{height:auto;min-height:0}
[data-layout] .hero-photo>img{height:480px}
[data-gallery-style=strip] .pictures figure{flex-shrink:0}
@media(max-width:700px){[data-layout] .hero-photo>img{height:300px}.pictures figure img{height:190px}}

.header-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;justify-content:flex-end;font:600 14px Arial,sans-serif}
.header-actions a{text-decoration:none;white-space:nowrap}
.header-email{text-decoration:underline!important;text-underline-offset:.35em}
.header-phone{background:var(--button-bg);color:var(--button-text);padding:.7rem 1rem;border-radius:999px}
.header.technical .header-phone,.header.rail .header-phone{border-radius:0}
.header.masthead .header-actions{border-left:1px solid currentColor;padding-left:1.5rem}
.header.stacked .header-actions{justify-content:flex-start}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.5rem}
.contact-actions .cta{background:var(--button-bg);color:var(--button-text);border:0;padding:1rem 1.35rem;border-radius:999px;gap:1rem}
.write-action{font:600 14px Arial,sans-serif;overflow-wrap:anywhere}
[data-layout=parts] .contact-actions .cta,[data-layout=repair] .contact-actions .cta{border-radius:0}
[data-hero-style=frame] .contact-actions{justify-content:center}
[data-layout=shop] .contact-actions{justify-content:center}
.contact-primary{display:inline-block;margin-top:2rem;padding:1rem 1.4rem;background:var(--button-bg);color:var(--button-text);font:700 15px Arial,sans-serif;text-decoration:none}
.contact address>div{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.contact address>div>span{font:700 11px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;opacity:.7}
.contact address>div>a{font-size:clamp(1rem,1.45vw,1.35rem);font-weight:600;line-height:1.35}
.contact address>div:first-child>a{font-size:clamp(1.35rem,2.2vw,2.3rem)}
.map-panel{grid-column:1/-1;margin-top:2rem;min-width:0}
.map-heading{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:.8rem;font:700 12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.map-heading a{text-transform:none;letter-spacing:0}
.map-frame{display:block;width:100%;height:350px;border:0;background:var(--muted)}
[data-contact-style=card] .map-frame{border-radius:1.5rem}
[data-layout=editorial] .map-panel{border-top:1px solid currentColor;padding-top:1.5rem}
[data-layout=shop] .map-panel{max-width:1100px;margin:3rem auto 0;text-align:left}
@media(max-width:700px){.header-actions{width:100%;justify-content:space-between;gap:.5rem;font-size:12px}.header-email{display:none}.header-phone{padding:.55rem .75rem}.header.stacked .header-actions{width:auto}.header{flex-wrap:wrap}.contact-actions{align-items:stretch}.contact-actions .cta{width:100%;justify-content:space-between}.map-frame{height:270px}.map-heading{align-items:flex-start}.contact address>div>a{font-size:1.05rem}}
