
:root{--paper:#f4eee4;--paper2:#fbf8f2;--white:#fffdf8;--ink:#17130f;--char:#28221c;--muted:#74695e;--line:#d9cdbd;--brass:#805a26;--brass2:#c39959;--black:#0f0e0c;--shadow:0 24px 70px rgba(31,24,18,.12);--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper2);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.68}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.025em}h1{font-size:clamp(2.5rem,4.45vw,4.5rem);line-height:1.03}h2{font-size:clamp(1.8rem,2.8vw,2.75rem);line-height:1.12}h3{font-size:1.2rem;line-height:1.22}p{font-size:.98rem}.wrap{max-width:var(--max);margin:auto;padding-left:28px;padding-right:28px}.wrap-inset{max-width:1224px;margin-left:auto;margin-right:auto}.kicker{font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;font-weight:800;color:var(--brass);margin-bottom:12px}.kicker.light{color:#dcb77d}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 18px;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:800;border:1px solid transparent;cursor:pointer}.btn.brass{background:var(--brass);color:white}.btn.dark{background:var(--black);color:white}.text-link{display:inline-flex;gap:9px;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800}.text-link.light{color:white}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,248,242,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(217,205,189,.8)}.header-shell{max-width:1380px;margin:auto;display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:center;padding:10px 28px}.brand{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start}.brand img{width:188px;height:48px;object-fit:contain;object-position:left center}.brand span{font-size:.52rem;letter-spacing:.21em;text-transform:uppercase;color:var(--muted);margin-top:-2px}.primary-nav{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.primary-nav>a,.heritage-toggle{padding:10px 0;text-decoration:none;border:0;border-bottom:1px solid transparent;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;color:var(--char)}.primary-nav>a:hover,.primary-nav>a.active,.heritage-toggle:hover,.heritage-toggle.active{color:var(--brass);border-bottom-color:var(--brass)}.nav-cta{border:1px solid var(--ink)!important;padding:10px 13px!important}.nav-group{position:relative;padding-bottom:10px;margin-bottom:-10px}.heritage-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);min-width:220px;padding:8px;display:none}.nav-group.open .heritage-menu{display:grid}.heritage-menu a{text-decoration:none;padding:11px 12px;white-space:nowrap}.heritage-menu a:hover,.heritage-menu a.active{background:var(--paper);color:var(--brass)}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0}.trust-strip{min-height:28px;background:#171512;color:#cdbfaa;display:flex;justify-content:center;gap:14px;align-items:center;font-size:.55rem;text-transform:uppercase;letter-spacing:.13em;padding:6px 16px}.trust-strip i{width:3px;height:3px;border-radius:50%;background:var(--brass2)}
.home-hero{position:relative;height:76vh;min-height:620px;overflow:hidden;background:var(--black)}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.5) 45%,rgba(0,0,0,.15) 75%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%)}.hero-copy{position:absolute;left:max(5vw,28px);bottom:15%;max-width:700px;color:white}.hero-copy h1{font-size:clamp(2.7rem,4.7vw,4.7rem);margin-bottom:18px}.hero-copy>p:not(.kicker){max-width:620px;color:#e4d9ca;font-size:1.04rem}.hero-caption{position:absolute;bottom:18px;left:max(5vw,28px);color:#b6a998;text-transform:uppercase;letter-spacing:.12em;font-size:.57rem}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:0;padding-top:0;padding-bottom:0}.proof-grid .proof-card{background:var(--white);padding:30px 26px}.proof-grid .proof-card span,.decision-grid span{color:var(--brass);font-size:.65rem;letter-spacing:.15em}.proof-grid strong{display:block;margin:0 0 10px;font-family:Georgia,serif;font-size:1.05rem}.proof-grid p{color:var(--muted);font-size:.9rem;margin-bottom:0}
.editorial-section{max-width:var(--max);margin:auto;padding:90px 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.legacy-art{min-height:500px;position:relative;display:flex;justify-content:center;align-items:center}.legacy-art img{position:relative;max-height:470px;z-index:2}.clock-halo{position:absolute;width:440px;height:440px;border-radius:50%;background:#e8ddcc}.editorial-copy{max-width:650px}.editorial-copy h2{font-size:clamp(1.9rem,2.8vw,2.8rem)}.editorial-copy .lead{font-size:1.06rem;color:var(--char)}.editorial-copy p{color:var(--muted)}
.dark-band{background:var(--black);color:white;padding:76px max(5vw,28px)}.section-head{max-width:var(--max);margin:0 auto 35px;display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:end}.section-head>p{color:var(--muted);margin-bottom:4px}.light-head>p{color:#cdbfaa}.standard-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.standard-grid article{border:1px solid #3b342d;padding:28px}.standard-grid b{color:#dcb77d;font-size:.65rem;letter-spacing:.15em}.standard-grid h3{color:white;margin:0 0 12px}.standard-grid p{color:#bfb2a3;font-size:.9rem;margin:0}
.service-index{padding-top:86px;padding-bottom:86px}.service-lines{border-top:1px solid var(--line)}.service-lines a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px;gap:16px;align-items:center;text-decoration:none;padding:20px 4px;border-bottom:1px solid var(--line)}.service-lines span{color:var(--brass);font-size:.66rem}.service-lines strong{font-family:Georgia,serif;font-size:1.06rem}.service-lines em{font-style:normal;color:var(--muted);font-size:.9rem}.service-lines b{text-align:right}.process-panel,.estimate-panel,.warranty-note{background:#171512;color:white;padding:46px 50px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:10px;margin-bottom:80px}.process-panel p,.estimate-panel p,.warranty-note p{color:#cdbfaa}.process-panel ol{list-style:none;margin:0;padding:0}.process-panel li{padding:12px 0;border-bottom:1px solid #3c352e}.process-panel li span{display:inline-block;width:45px;color:#dcb77d;font-size:.63rem}.return-record{padding-top:10px;padding-bottom:85px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.return-record>div:first-child p{color:var(--muted)}.record-card{background:var(--paper);border:1px solid var(--line);padding:30px}.record-card>span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:800}.record-card ul{padding-left:20px;margin-bottom:0;color:var(--muted)}.home-cta,.simple-cta{max-width:var(--max);margin:0 auto 85px;background:var(--paper);padding:38px 42px}.home-cta h2,.simple-cta h2{max-width:760px;font-size:clamp(1.7rem,2.35vw,2.35rem)}
.page-hero.clean{max-width:var(--max);margin:auto;padding:82px 28px 64px;border-bottom:1px solid var(--line)}.page-hero.clean h1{max-width:900px;font-size:clamp(2.4rem,4vw,4rem)}.page-hero.clean>p:last-child{max-width:760px;color:var(--muted)}.photo-services{max-width:var(--max);margin:auto;padding:70px 28px}.photo-service{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:white;border:1px solid var(--line);margin-bottom:24px}.photo-service.reverse .photo{order:2}.photo-service .photo{height:100%;min-height:440px}.photo-service .photo img{width:100%;height:100%;object-fit:cover}.photo-service .copy{padding:46px}.photo-service .copy>span{color:var(--brass);font-size:.65rem}.photo-service .copy h2{font-size:clamp(1.7rem,2.35vw,2.35rem);max-width:560px}.photo-service .copy p,.photo-service li{color:var(--muted)}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:0;padding-bottom:70px}.decision-grid article{background:var(--paper);padding:30px;border:1px solid var(--line)}.decision-grid p{color:var(--muted)}.estimate-points{border-left:1px solid #4a4138;padding-left:32px}.estimate-points strong{color:white}
.about-story,.family-link{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:80px;padding-bottom:80px}.about-photo img{width:100%;max-height:540px;object-fit:cover}.about-story p,.family-link p{color:var(--muted)}.family-link img{width:100%;box-shadow:var(--shadow);border:10px solid #e8dcc9}.about-principles{margin-bottom:80px}
.brand-editorial{max-width:var(--max);margin:auto;padding:70px 28px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.brand-statement p{color:var(--muted)}.brand-cloud{display:flex;flex-wrap:wrap;gap:10px}.brand-cloud span{padding:12px 14px;border:1px solid var(--line);background:white;font-family:Georgia,serif}
.shipping-layout{padding-top:70px;padding-bottom:70px;display:grid;grid-template-columns:1.25fr .75fr;gap:45px}.shipping-steps ol{list-style:none;margin:24px 0 0;padding:0}.shipping-steps li{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.shipping-steps li span{color:var(--brass);font-size:.65rem}.shipping-steps p,.shipping-aside p{color:var(--muted)}.shipping-aside{align-self:start;background:var(--paper);border:1px solid var(--line);padding:30px}.arrival-flow{margin-bottom:78px}.cost-guide{padding-bottom:85px}.cost-table{border:1px solid var(--line)}.cost-row{display:grid;grid-template-columns:1fr 1fr 2fr;border-top:1px solid var(--line)}.cost-row:first-child{border-top:0}.cost-row>*{padding:17px 19px;border-right:1px solid var(--line);margin:0}.cost-row>*:last-child{border-right:0}.cost-row.head{background:var(--paper);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:var(--brass)}.cost-row p{color:var(--muted)}.fineprint{color:var(--muted);font-size:.82rem;margin-top:14px}
.warranty-hero{background:var(--black);color:white;padding:80px max(5vw,28px);display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.warranty-hero>div:first-child{max-width:760px}.warranty-hero p{color:#d2c4b2}.warranty-number{width:230px;height:230px;border:1px solid #62513f;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:auto}.warranty-number strong{font-family:Georgia,serif;font-size:5.7rem;line-height:.75;color:#dcb77d}.warranty-number span{text-transform:uppercase;letter-spacing:.17em;font-size:.66rem;margin-top:22px}.warranty-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:70px;padding-bottom:70px}.warranty-grid article{background:white;border:1px solid var(--line);padding:38px}.warranty-grid li{margin-bottom:10px;color:var(--muted)}
.heritage-hero{background:var(--black);color:white;min-height:560px;padding:66px max(5vw,28px);display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.heritage-hero-copy{max-width:760px}.heritage-hero-copy p{color:#d2c4b2}.heritage-clock{height:440px;display:flex;justify-content:center}.heritage-clock img{height:100%;object-fit:contain}.business-card-feature{padding-top:85px;padding-bottom:85px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.card-image{background:#e9dcc8;padding:22px;box-shadow:var(--shadow)}.card-copy p{color:var(--muted)}.archive-choices{padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.archive-choices a{background:var(--paper);padding:36px;text-decoration:none;border:1px solid var(--line)}.archive-choices span{color:var(--brass);text-transform:uppercase;letter-spacing:.13em;font-size:.64rem}.archive-choices p{color:var(--muted)}.archive-intro{padding-top:0;padding-bottom:55px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.archive-intro>p{color:var(--muted)}.masonry{max-width:var(--max);margin:auto;padding:0 28px 90px;columns:3 300px;column-gap:18px}.masonry figure{break-inside:avoid;margin:0 0 18px;background:white;border:1px solid var(--line);padding:10px}.masonry img{width:100%}.masonry figcaption{padding:10px 4px 3px;color:var(--muted);font-size:.82rem}
.faq-list{padding-top:60px;padding-bottom:90px;max-width:980px}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:20px 40px 20px 0;font-family:Georgia,serif;font-size:1.08rem;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;top:18px;color:var(--brass);font-family:Arial}.faq-list details[open] summary:after{content:'–'}.faq-list details p{color:var(--muted);max-width:800px;padding-bottom:20px;margin-bottom:0}.policy-grid{padding-top:60px;padding-bottom:90px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.policy-grid article{background:white;border:1px solid var(--line);padding:32px}.policy-grid article span{color:var(--brass);font-size:.64rem}.policy-grid h2{font-size:1.5rem;margin:0 0 12px}.policy-grid p{color:var(--muted)}.privacy-copy{padding-top:60px;padding-bottom:90px;max-width:900px}.privacy-copy h2{font-size:1.45rem;margin-top:28px}.privacy-copy p{color:var(--muted)}
.request-hero{background:var(--black);color:white;padding:75px max(5vw,28px)}.request-hero>div{max-width:760px}.request-hero p{color:#d2c4b2}.request-layout{padding-top:70px;padding-bottom:90px;display:grid;grid-template-columns:1.2fr .8fr;gap:34px}.request-form-stack{display:grid;gap:18px;align-content:start}.inquiry-form{background:white;border:1px solid var(--line);padding:38px}.form-head p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label,.form-grid .file-field{display:grid;gap:7px;font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--brass)}.form-grid .wide{grid-column:1/-1}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:#fffdf8;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal}textarea{resize:vertical}.file-field small{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:normal}.form-note{font-size:.8rem;color:var(--muted);margin-top:14px}.request-card{background:var(--black);color:white;border-left:4px solid var(--brass);padding:26px 30px}.request-card a{display:block;color:white;font-family:Georgia,serif;font-size:1.22rem;margin-bottom:10px}.request-card small{color:#cdbca8}.request-notes{display:grid;gap:18px;align-content:start}.request-notes>div{padding:28px;background:var(--paper)}.request-notes p{color:var(--muted)}.discount-box{background:var(--black)!important;color:white}.discount-box p{color:#d2c4b2}.discount-box strong{color:#dcb77d}
.site-footer{background:#171512;color:white;padding:52px 28px 20px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr .65fr .8fr .6fr;gap:50px}.footer-brand img{width:230px;filter:invert(1);opacity:.92}.footer-grid p{color:#bfb2a3;max-width:400px}.footer-grid>div:not(.footer-brand){display:grid;align-content:start;gap:8px}.footer-grid strong{color:#dcb77d;text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;margin-bottom:7px}.footer-grid a{color:#ddd2c6;text-decoration:none;font-size:.9rem}.footer-bottom{max-width:var(--max);margin:40px auto 0;padding-top:16px;border-top:1px solid #3d362f;display:flex;justify-content:space-between;color:#8e8275;font-size:.62rem;letter-spacing:.11em;text-transform:uppercase}
@media(max-width:1050px){.header-shell{grid-template-columns:1fr auto}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);padding:16px 28px 24px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:0}.primary-nav.open{display:flex}.primary-nav>a,.heritage-toggle{text-align:left;width:100%;padding:12px 0}.nav-group{width:100%;padding-bottom:0;margin-bottom:0}.heritage-menu{position:static;transform:none;box-shadow:none;border:0;padding:0 0 0 16px}.nav-group:hover .heritage-menu{display:none}.nav-group.open .heritage-menu{display:grid}.trust-strip{overflow:auto;justify-content:flex-start}.proof-grid,.standard-grid{grid-template-columns:1fr 1fr}.editorial-section,.section-head,.process-panel,.return-record,.photo-service,.photo-service.reverse,.about-story,.family-link,.brand-editorial,.shipping-layout,.warranty-hero,.business-card-feature,.archive-intro,.request-layout{grid-template-columns:1fr}.photo-service.reverse .photo{order:0}.decision-grid{grid-template-columns:1fr}.photo-service .photo{min-height:380px}.warranty-grid,.archive-choices,.policy-grid{grid-template-columns:1fr}.cost-row{grid-template-columns:1fr}.cost-row>*{border-right:0;border-top:1px solid var(--line)}.cost-row.head{display:none}.heritage-clock{height:340px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:680px){h1{font-size:clamp(2.2rem,10.5vw,3.3rem)}h2{font-size:clamp(1.6rem,7.2vw,2.2rem)}.header-shell{padding:9px 18px}.brand img{width:160px}.brand span{font-size:.47rem}.home-hero{height:72vh;min-height:570px}.hero-copy{left:22px;right:22px;bottom:14%}.hero-copy h1{font-size:clamp(2.45rem,11vw,3.55rem)}.hero-caption{left:22px;right:22px}.proof-grid,.standard-grid{grid-template-columns:1fr}.proof-grid{padding-left:0;padding-right:0}.editorial-section,.page-hero.clean,.photo-services,.about-story,.family-link,.brand-editorial,.decision-grid,.shipping-layout,.warranty-grid,.business-card-feature,.archive-choices,.archive-intro,.request-layout,.policy-grid,.privacy-copy,.faq-list{padding-left:20px;padding-right:20px}.editorial-section{padding-top:60px;padding-bottom:60px;gap:30px}.legacy-art{min-height:330px}.legacy-art img{max-height:310px}.clock-halo{width:285px;height:285px}.dark-band{padding-left:22px;padding-right:22px}.service-lines a{grid-template-columns:minmax(0,1fr) 28px}.service-lines em{display:none}.process-panel,.estimate-panel,.warranty-note{padding:34px 26px;margin-left:20px;margin-right:20px}.photo-service .photo{min-height:270px}.photo-service .copy{padding:32px 26px}.request-hero,.warranty-hero,.heritage-hero{padding-left:22px;padding-right:22px}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{gap:14px;flex-direction:column}.trust-strip{font-size:.5rem}.request-card a{font-size:1rem;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}}

/* Ticking watch interlude */
.ticking-interlude{position:relative;min-height:420px;overflow:hidden;background:#15120f;color:white;display:flex;align-items:flex-end}.ticking-interlude video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ticking-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,11,.82) 0%,rgba(15,13,11,.58) 43%,rgba(15,13,11,.12) 75%,rgba(15,13,11,.04) 100%)}.ticking-copy{position:relative;z-index:2;max-width:var(--max);width:100%;margin:0 auto;padding:64px 28px 56px}.ticking-copy h2{max-width:650px;font-size:clamp(1.75rem,2.6vw,2.65rem);color:white}.ticking-copy p:last-child{max-width:590px;color:#ded2c0;margin-bottom:0}.ticking-copy .kicker{margin-bottom:10px}@media(max-width:680px){.ticking-interlude{min-height:380px}.ticking-shade{background:linear-gradient(0deg,rgba(15,13,11,.88) 0%,rgba(15,13,11,.46) 58%,rgba(15,13,11,.1) 100%)}.ticking-copy{padding:42px 22px}.ticking-copy h2{font-size:clamp(1.55rem,7vw,2.05rem)}}


/* Final layout refinements: cleaner header, service-page ticking film, hero wordmark */
.service-ticking{margin-top:0;margin-bottom:0}
.service-ticking .ticking-copy{padding-top:72px;padding-bottom:62px}
@media(max-width:680px){.service-ticking{margin-bottom:46px}}
@media(prefers-reduced-motion:reduce){.ticking-interlude video{display:none}}

/* Services now opens with the ticking video */
.service-ticking + .page-hero.clean{padding-top:64px;}


/* ------------------------------------------------------------------
   Single-logo system
   All site wordmarks use assets/lm-campbell-logo.png only.
   ------------------------------------------------------------------ */
.brand img{
  width:205px;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}

.footer-brand img{
  width:250px;
  height:auto;
  filter:invert(1);
  opacity:.94;
}

/* Homepage hero: exact script logo centered over the service line */
.hero-brand-lockup{
  width:min(700px,100%);
  margin:0 0 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  line-height:1;
}

.hero-brand-lockup .hero-brand-logo{
  display:block;
  width:min(585px,92%);
  height:auto;
  margin:0 auto -20px;
  filter:invert(1);
}

.hero-brand-lockup .hero-service-title{
  display:block;
  width:100%;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.15rem,3.65vw,3.75rem);
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.025em;
  color:var(--white);
}

.hero-copy{
  max-width:760px;
}

.hero-copy>p:not(.kicker){
  max-width:700px;
}

@media(max-width:680px){
  .brand img{width:175px;max-height:56px}
  .hero-brand-lockup{align-items:flex-start;text-align:left;margin-bottom:20px}
  .hero-brand-lockup .hero-brand-logo{
    width:min(500px,100%);
    margin-left:-4px;
    margin-right:0;
    margin-bottom:-13px;
  }
  .hero-brand-lockup .hero-service-title{
    font-size:clamp(2rem,9vw,3rem);
  }
}


/* ================================================================
   FINAL BRAND / HERO / PAYMENT REBUILD — 2026-09-21
   ================================================================ */

/* Use the exact supplied L.M. Campbell wordmark everywhere. */
.brand img{
  width:205px;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}

.footer-brand img{
  width:250px;
  height:auto;
  filter:invert(1);
  opacity:.94;
}

/* Homepage hero: requested original layout, exact script logo above title. */
.hero-brand-lockup{
  width:min(760px,100%);
  margin:0 0 22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  line-height:1;
}

.hero-brand-lockup .hero-brand-logo{
  display:block;
  width:min(610px,90%);
  height:auto;
  margin:0 0 -14px -12px;
  filter:invert(1);
}

.hero-brand-lockup .hero-service-title{
  display:block;
  width:100%;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.2rem,3.7vw,3.8rem);
  font-weight:500;
  line-height:1.04;
  letter-spacing:-.025em;
  color:var(--white);
}

.hero-brand-lockup::after{
  content:"";
  width:120px;
  height:3px;
  margin-top:28px;
  background:var(--brass);
}

.hero-copy{
  max-width:800px;
}

.hero-copy>p:not(.kicker){
  max-width:760px;
  margin-top:0;
}

/* Small Pay Invoice navigation link — intentionally less prominent than Request Service. */
.primary-nav .nav-pay{
  color:var(--brass);
  font-weight:800;
}
.primary-nav .nav-pay.active{
  border-bottom-color:var(--brass);
}

/* Payment page */
.payment-hero{
  padding-bottom:44px;
}
.payment-hero>p:last-child{
  max-width:720px;
  color:var(--muted);
}

.payment-layout{
  max-width:var(--max);
  margin:0 auto 90px;
  padding:0 28px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:32px;
  align-items:start;
}

.payment-card{
  background:#fff;
  border:1px solid var(--line);
  padding:42px;
}

.payment-card h2{
  margin-top:4px;
}
.payment-card>p{
  color:var(--muted);
}

.payment-checklist{
  display:grid;
  gap:0;
  margin:30px 0;
  border-top:1px solid var(--line);
}
.payment-checklist>div{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:15px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.payment-checklist span{
  color:var(--brass);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
}
.payment-checklist p{
  margin:0;
  color:var(--ink);
}

.paypal-payment-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 28px;
  background:#ffc439;
  color:#111;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  border:1px solid #e9ad22;
  transition:transform .15s ease,box-shadow .15s ease;
}
.paypal-payment-button:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.paypal-payment-button:focus-visible{
  outline:3px solid #1a73e8;
  outline-offset:3px;
}

.payment-host-note{
  margin:16px 0 0;
  font-size:.78rem;
  line-height:1.55;
}

.payment-side{
  display:grid;
  gap:18px;
}
.payment-side>div{
  background:var(--paper);
  padding:28px;
  border-top:3px solid var(--brass);
}
.payment-side h3{
  margin-top:5px;
}
.payment-side p{
  color:var(--muted);
}

/* PayPal return page */
.confirmation-panel{
  max-width:820px;
  margin:0 auto;
  padding:110px 28px 120px;
}
.confirmation-panel h1{
  margin-bottom:18px;
}
.confirmation-lead{
  max-width:700px;
  font-size:1.18rem;
  color:var(--muted);
}
.confirmation-note{
  margin:34px 0;
  padding:26px 28px;
  background:var(--paper);
  border-left:4px solid var(--brass);
}
.confirmation-note strong{
  display:block;
  margin-bottom:7px;
}
.confirmation-note p{
  margin:0;
  color:var(--muted);
}

@media(max-width:1050px){
  .payment-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .brand img{width:175px;max-height:56px}
  .hero-brand-lockup{
    align-items:flex-start;
    text-align:left;
    margin-bottom:18px;
  }
  .hero-brand-lockup .hero-brand-logo{
    width:min(500px,100%);
    margin-left:-8px;
    margin-bottom:-8px;
  }
  .hero-brand-lockup .hero-service-title{
    font-size:clamp(2rem,9vw,3rem);
  }
  .hero-brand-lockup::after{
    margin-top:20px;
    width:88px;
  }
  .payment-layout{
    padding-left:20px;
    padding-right:20px;
    margin-bottom:60px;
  }
  .payment-card{
    padding:28px 22px;
  }
  .paypal-payment-button{
    width:100%;
    text-align:center;
  }
  .confirmation-panel{
    padding:80px 20px 90px;
  }
}


/* Page-specific editorial imagery */
.page-art-feature{
  margin-top:32px;
  margin-bottom:58px;
}
.page-art-feature img{
  display:block;
  width:min(100%, 820px);
  max-height:470px;
  margin:0 auto;
  object-fit:cover;
  border:1px solid rgba(52,42,31,.16);
  box-shadow:0 18px 44px rgba(35,28,20,.10);
}
.page-art-feature figcaption{
  width:min(100%, 820px);
  margin:12px auto 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
@media(max-width:680px){
  .page-art-feature{
    margin-top:22px;
    margin-bottom:42px;
  }
  .page-art-feature img{
    max-height:360px;
  }
}

/* Service request verification and upload feedback */
.photo-list{margin:8px 0 0;padding-left:20px;font-size:.8rem;overflow-wrap:anywhere}
.inquiry-form .privacy-consent{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;margin:22px 0;font-size:.85rem;line-height:1.5;cursor:pointer}
.inquiry-form .privacy-consent input[type="checkbox"]{display:block;width:18px;height:18px;padding:0;margin:2px 0 0;accent-color:var(--brass)}
.inquiry-form .privacy-consent span{min-width:0}
.verification{margin:18px 0;min-height:65px;max-width:100%}
.btn:disabled{opacity:.65;cursor:wait}
.form-error{color:#a32920!important}
.form-note{overflow-wrap:anywhere}


/* October 9 editorial cleanup and responsive layout */
.request-photo{margin:0}
.request-photo img{width:100%;height:auto;border:1px solid var(--line)}
.request-layout>*,.form-grid>*,.section-head>*,.service-lines>*{min-width:0}
.photo-service{scroll-margin-top:110px}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:1rem}
.inquiry-form .privacy-consent input{font-size:inherit}
:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
.decision-grid article p:last-child,.policy-grid article p:last-child{margin-bottom:0}
.hero-copy{top:auto;bottom:10%}
.home-hero{min-height:680px}
@media(max-width:1050px){
 .heritage-hero,.estimate-panel,.warranty-note{grid-template-columns:minmax(0,1fr)}
 .heritage-hero{gap:30px}
 .estimate-points{border-left:0;border-top:1px solid #4a4138;padding:24px 0 0}
}
@media(max-width:680px){
 .home-hero{height:auto;min-height:640px}
 .hero-copy{position:relative;left:auto;right:auto;bottom:auto;padding:64px 22px}
 .inquiry-form{padding:24px 18px}
 .service-index{padding-top:56px;padding-bottom:56px}
 .return-record{padding-bottom:56px;gap:28px}
 .process-panel,.estimate-panel,.warranty-note{gap:28px}
 .home-cta,.simple-cta{margin:0 20px 56px;padding:28px 24px}
}

.cost-label{display:none}
@media(max-width:1050px){.cost-label{display:block;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}}
@media(max-width:380px){.request-layout{padding-left:8px;padding-right:8px}.inquiry-form{padding:20px 0}.inquiry-form>.form-head,.inquiry-form>.form-grid,.inquiry-form>.privacy-consent,.inquiry-form>.btn,.inquiry-form>.form-note{margin-left:12px;margin-right:12px}.verification{margin-left:0;margin-right:0}}

/* Inspection agreement: distinct financial acknowledgment before general terms. */
.inspection-agreement{margin:30px 0 0;padding:26px;background:var(--paper2);border:1px solid var(--line);border-top:3px solid var(--brass)}
.inspection-agreement h2{font-size:1.65rem;line-height:1.2;margin-bottom:10px}
.inspection-intro{font-size:.88rem;color:var(--muted);margin-bottom:22px}
.inspection-item{margin-bottom:18px}
.inspection-item h3{font-family:Arial,Helvetica,sans-serif;font-size:.94rem;font-weight:700;letter-spacing:normal;line-height:1.4;margin-bottom:6px}
.inspection-copy p{font-size:.9rem;line-height:1.65;color:var(--char)}
.inspection-item p{margin-bottom:0}
.inspection-note{margin:14px 0 0}
.inquiry-form .inspection-consent{border-top:1px solid var(--line);padding-top:20px;margin-bottom:0}
.inspection-policy{grid-column:1/-1;scroll-margin-top:160px}
.inspection-policy .inspection-copy{max-width:840px}
.policy-version{font-size:.8rem!important;margin-bottom:24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:680px){.inspection-agreement{padding:20px 16px}.inspection-agreement h2{font-size:1.45rem}.inspection-policy{scroll-margin-top:120px}}
@media(max-width:380px){.inquiry-form>.inspection-agreement{margin-left:12px;margin-right:12px;padding:18px 12px}}

/* October 11: shorter introductions and immediate service choices. */
.service-shortcuts{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}.service-shortcuts a{border:1px solid #b9aa90;padding:.6rem .9rem;text-decoration:none;font-size:.85rem}.service-shortcuts a:hover,.service-shortcuts a:focus-visible{background:#eee6d8}
@media(max-width:700px){.page-hero.clean{padding-top:40px;padding-bottom:40px}.page-hero.clean h1{font-size:2.1rem;line-height:1.12}.service-ticking{min-height:260px}.request-hero{padding-top:36px;padding-bottom:36px}.request-hero h1{font-size:2.1rem}.request-notes{gap:20px}.service-shortcuts{gap:.5rem}.service-shortcuts a{font-size:.78rem}}

/* Fixed-invoice checkout uses the site's existing colors and typography. */
[hidden]{display:none!important}
.invoice-summary{margin:1.5rem 0;display:grid;gap:1rem}
.invoice-summary>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}
.invoice-summary dt{color:var(--muted,#756b5f)}
.invoice-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}
#payment-status{min-height:1.5em;margin:1rem 0}
#payment-transaction{overflow-wrap:anywhere}
#paypal-buttons{position:relative;z-index:0}
#apple-pay-option{margin-bottom:1rem}
#apple-pay-button{-webkit-appearance:-apple-pay-button;-apple-pay-button-type:plain;-apple-pay-button-style:black;display:block;width:100%;height:48px;min-width:140px;min-height:30px;border:0;border-radius:3px;cursor:pointer}
#payment-recheck{font:inherit;cursor:pointer}

/* Oct 12 — hosted PayPal buttons: preserve PayPal-controlled sizes and styles. */
.paypal-hosted-stack { width: 100%; max-width: 500px; }
.paypal-hosted-stack[aria-busy="true"] { min-height: 2rem; }
#hosted-payment-link[hidden] { display: none !important; }

img{height:auto}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:12px 18px;background:#17130f;color:white;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.video-toggle{position:absolute;right:18px;bottom:14px;z-index:4;padding:8px 12px;background:#17130f;color:white;border:1px solid #dcb77d;font:inherit;font-size:.8rem;cursor:pointer}
.nav-group.open .heritage-menu{display:grid}
@media(max-width:1050px){.primary-nav{max-height:calc(100vh - 95px);overflow-y:auto;overscroll-behavior:contain}}
@supports(height:100dvh){@media(max-width:1050px){.primary-nav{max-height:calc(100dvh - 95px)}}}
@media(max-width:680px){.photo-service .photo{height:auto;min-height:0;aspect-ratio:4/3}.photo-service .photo img{height:100%;object-fit:cover}.inquiry-form{min-width:0}.payment-layout>*{min-width:0}}
@media(prefers-reduced-motion:reduce){.home-hero{background-image:url('/assets/watch-service-hero-poster.jpg');background-position:center;background-size:cover}.ticking-interlude{background-image:url('/assets/watch-ticking-poster.jpg');background-position:center;background-size:cover}.video-toggle{display:none}}

/* Preserve the historic clock proportions at every screen size. */
.legacy-art img {
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}


/* 2026-10-12 Pay Invoice compact layout. Scoped to /pay only.
   PayPal documents hiding only the decorative .carousel-container on
   hosted buttons; keep the item name, amount field, and buttons intact. */
.pay-invoice-page .payment-layout {
  max-width:1060px;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);
  gap:24px;
  margin-bottom:64px;
}
.pay-invoice-page .payment-card { padding:32px 34px 30px; }
.pay-invoice-page .payment-card h2 {
  font-size:clamp(1.7rem,2.65vw,2.25rem);
  margin:0 0 16px;
}
.pay-invoice-page #payment-fallback>p:first-child {
  color:var(--muted);
  line-height:1.55;
  font-size:.94rem;
  margin:0 0 14px;
}
.pay-invoice-page .paypal-hosted-stack {
  max-width:430px;
  margin:0;
}
/* PayPal-hosted decorative product carousel duplicates the site identity and
   causes the two large gaps around the merchant image. Payment inputs stay. */
.pay-invoice-page #paypal-hosted-buttons .carousel-container { display:none!important; }
.pay-invoice-page #paypal-hosted-buttons .item-header {
  margin-top:0!important;
  margin-bottom:12px!important;
}
.pay-invoice-page .payment-host-note {
  margin-top:12px;
  font-size:.76rem;
  line-height:1.5;
}
.pay-invoice-page .payment-side>div { padding:24px; }
.pay-invoice-page .payment-nojs { font-size:.86rem;line-height:1.5;margin:12px 0; }
.pay-invoice-page .payment-nojs a { text-decoration:underline;text-underline-offset:2px; }
@media(max-width:1050px){
  .pay-invoice-page .payment-layout { grid-template-columns:1fr;max-width:720px; }
}
@media(max-width:680px){
  .pay-invoice-page .payment-layout { padding-left:20px;padding-right:20px;gap:18px;margin-bottom:52px; }
  .pay-invoice-page .payment-card { padding:26px 20px; }
  .pay-invoice-page .payment-card h2 { font-size:clamp(1.65rem,6.8vw,2rem); }
  .pay-invoice-page .payment-side>div { padding:22px; }
}


/* Veteran-owned identity: understated, responsive, no external dependencies. */
.veteran-home-note { padding: 1.25rem 1.5rem 2rem; text-align: center; }
.veteran-home-note p { margin: 0; color: #4c5260; font-size: .88rem; letter-spacing: .075em; text-transform: uppercase; font-weight: 600; }
.veteran-home-note .veteran-star { color: #a37a38; padding-right: .5em; }
.veteran-heritage-note { margin-top: 1rem; margin-bottom: 2rem; padding: 1.5rem 2rem; border-left: 3px solid #b28a52; background: #f7f5f0; }
.veteran-heritage-note h2 { margin: .3rem 0 .65rem; font-size: clamp(1.25rem, 2vw, 1.7rem); }
.veteran-heritage-note p { max-width: 72ch; margin: 0; line-height: 1.65; }
.site-footer .veteran-footer-note { display: inline-block; font-size: .76rem; letter-spacing: .045em; opacity: .8; }
@media(max-width:600px) { .veteran-heritage-note { padding: 1.1rem 1.2rem; } .veteran-home-note { padding: 1rem 1rem 1.6rem; } }

/* Request form labels: consistent with the site's body typography. */
.inquiry-form .form-grid label,
.inquiry-form .form-grid .file-field {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .93rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  color: var(--ink);
}
.inquiry-form .form-grid input,
.inquiry-form .form-grid select,
.inquiry-form .form-grid textarea {
  font-family: inherit;
  font-weight: 400;
}

/* 2026-10-13 QA: prevent intrinsic image widths from stretching grid cards. */
.business-card-feature > *, .photo-service > * { min-width: 0; }
.business-card-feature .card-image img { display: block; width: 100%; max-width: 100%; height: auto; }
.photo-service .photo img { max-width: 100%; }


/* L.M. Campbell standardized footer — October 2026. */
.site-footer { padding-bottom: 10px; }
.site-footer .footer-brand p {
  max-width: 420px;
  line-height: 1.65;
}
.site-footer .footer-bottom {
  margin-top: 32px;
  padding-top: 12px;
  padding-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-size: .83rem;
  color: #a99e91;
  letter-spacing: .025em;
  text-transform: none;
}
.site-footer .footer-legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  line-height: 1.5;
}
.site-footer .footer-copyright,
.site-footer .footer-rights { display: block; }
.site-footer .footer-sdvosb {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 144px;
  max-width: 100%;
  line-height: 0;
  text-decoration: none;
  border-radius: 4px;
  transition: opacity .2s ease;
}
.site-footer .footer-sdvosb picture,
.site-footer .footer-sdvosb img {
  display: block;
  width: 100%;
  height: auto;
}
.site-footer .footer-sdvosb img { filter: brightness(1.22) contrast(1.05); }
.site-footer .footer-sdvosb:hover { opacity: .82; }
.site-footer .footer-sdvosb:focus-visible {
  outline: 2px solid #dcb77d;
  outline-offset: 4px;
}
@media (max-width: 680px) {
  .site-footer .footer-bottom {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
    padding-top: 14px;
    text-align: center;
  }
  .site-footer .footer-legal { align-items: center; }
  .site-footer .footer-sdvosb { width: 154px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-sdvosb { transition: none; }
}
