.sm-about { background:#f2efe8; }
.sm-about .ap-page { overflow:hidden; }
.sm-about .ap-shell { width:min(90%,1280px); margin-inline:auto; }
.sm-about .ap-eyebrow { margin:0 0 22px; color:#d5b77f; font:700 .69rem/1 "DM Sans",sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.sm-about .ap-eyebrow.ap-dark { color:#957341; }
.sm-about .ap-hero { position:relative; min-height:92svh; display:flex; align-items:flex-end; padding:160px 0 90px; background:#121410; color:#fff; }
.sm-about .ap-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.sm-about .ap-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,11,8,.92),rgba(9,11,8,.55) 47%,rgba(9,11,8,.16)),linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.52)); }
.sm-about .ap-hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 220px; align-items:end; gap:80px; }
.sm-about .ap-hero-copy { max-width:900px; }
.sm-about .ap-hero h1 { margin:0; font:500 clamp(4.5rem,8vw,8.4rem)/.84 Georgia,serif; letter-spacing:-.07em; }
.sm-about .ap-hero h1 em { color:#d5b77f; font-weight:400; }
.sm-about .ap-hero-copy > p:last-child { max-width:610px; margin:36px 0 0; color:rgba(255,255,255,.67); font-size:1.12rem; line-height:1.7; }
.sm-about .ap-hero-fact { padding:20px 0 20px 25px; border-left:1px solid rgba(255,255,255,.28); }
.sm-about .ap-hero-fact strong { display:block; color:#d5b77f; font:400 4.7rem/.9 Georgia,serif; }
.sm-about .ap-hero-fact span { display:block; margin-top:14px; color:rgba(255,255,255,.55); font-size:.75rem; line-height:1.55; }

.sm-about .ap-intro { padding:clamp(110px,12vw,180px) 0; background:#f2efe8; }
.sm-about .ap-intro-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(70px,10vw,150px); align-items:start; }
.sm-about .ap-intro h2,.sm-about .ap-craft h2,.sm-about .ap-history h2,.sm-about .ap-values h2,.sm-about .ap-cta h2 { margin:0; font-family:Georgia,serif; font-weight:500; letter-spacing:-.055em; }
.sm-about .ap-intro h2 { font-size:clamp(3rem,5vw,5.4rem); line-height:1.02; }
.sm-about .ap-intro-copy p { margin:0 0 22px; color:#666a61; font-size:1rem; line-height:1.85; }
.sm-about .ap-intro-copy .ap-lead { color:#252822; font:400 1.35rem/1.65 Georgia,serif; }
.sm-about .ap-link { display:inline-flex; gap:22px; margin-top:14px; padding-bottom:7px; border-bottom:1px solid #a6814b; color:#191b17; font-size:.78rem; font-weight:700; text-decoration:none; }

.sm-about .ap-craft { padding:0 0 clamp(110px,12vw,180px); background:#f2efe8; }
.sm-about .ap-craft-grid { position:relative; display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:auto; align-items:center; }
.sm-about .ap-craft figure { margin:0; overflow:hidden; }
.sm-about .ap-craft-main { height:760px; }
.sm-about .ap-craft-main img { width:100%; height:100%; object-fit:cover; }
.sm-about .ap-craft-card { position:relative; z-index:2; margin-left:-70px; padding:clamp(45px,6vw,80px); background:#fffdf9; box-shadow:0 28px 80px rgba(26,24,19,.15); }
.sm-about .ap-craft-card h2 { font-size:clamp(2.7rem,4vw,4.5rem); line-height:1.02; }
.sm-about .ap-craft-card > p:not(.ap-eyebrow) { margin:28px 0; color:#686b64; line-height:1.8; }
.sm-about .ap-craft-card dl { margin:34px 0 0; }
.sm-about .ap-craft-card dl div { display:grid; grid-template-columns:42px 1fr; gap:15px; padding:14px 0; border-top:1px solid rgba(25,27,23,.12); }
.sm-about .ap-craft-card dt { color:#9a7845; font:400 1rem Georgia,serif; }
.sm-about .ap-craft-card dd { margin:0; font-size:.85rem; font-weight:600; }


.sm-about .ap-history { padding:clamp(110px,11vw,170px) 0; background:#191b17; color:#fff; }
.sm-about .ap-history-head { display:grid; grid-template-columns:.5fr 1.5fr; gap:40px; align-items:start; }
.sm-about .ap-history h2 { font-size:clamp(3.4rem,6vw,6.4rem); line-height:.94; }
.sm-about .ap-timeline { display:grid; grid-template-columns:repeat(3,1fr); margin-top:80px; border-top:1px solid rgba(255,255,255,.17); }
.sm-about .ap-timeline article { position:relative; padding:38px 45px 10px 0; }
.sm-about .ap-timeline article::before { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:#d5b77f; }
.sm-about .ap-timeline span { color:#d5b77f; font:400 1.2rem Georgia,serif; }
.sm-about .ap-timeline h3 { margin:22px 0 12px; color:#fff; font-size:1.25rem; }
.sm-about .ap-timeline p { max-width:330px; color:rgba(255,255,255,.5); font-size:.88rem; line-height:1.75; }

.sm-about .ap-values { padding:clamp(110px,11vw,170px) 0; background:#fffdf9; }
.sm-about .ap-values-head { display:grid; grid-template-columns:.55fr 1.45fr; gap:40px; align-items:start; }
.sm-about .ap-values h2 { max-width:900px; font-size:clamp(3rem,5vw,5.2rem); line-height:1; }
.sm-about .ap-values-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:75px; border-top:1px solid rgba(25,27,23,.14); }
.sm-about .ap-values-grid article { padding:35px 32px 18px 0; border-right:1px solid rgba(25,27,23,.12); }
.sm-about .ap-values-grid article:not(:first-child) { padding-left:30px; }
.sm-about .ap-values-grid article:last-child { border-right:0; }
.sm-about .ap-values-grid span { color:#9a7845; font:400 1rem Georgia,serif; }
.sm-about .ap-values-grid h3 { margin:45px 0 14px; font:500 1.8rem Georgia,serif; }
.sm-about .ap-values-grid p { color:#6b6e67; font-size:.88rem; line-height:1.7; }

.sm-about .ap-quote { position:relative; min-height:78vh; display:flex; align-items:center; color:#fff; overflow:hidden; }
.sm-about .ap-quote > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sm-about .ap-quote-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,12,9,.82),rgba(10,12,9,.2)); }
.sm-about .ap-quote-copy { position:relative; z-index:1; }
.sm-about .ap-quote blockquote { max-width:920px; margin:0; color:#fff; font:400 clamp(3rem,5.5vw,6rem)/1.02 Georgia,serif; letter-spacing:-.05em; }

.sm-about .ap-cta { padding:clamp(100px,11vw,160px) 0; background:#d1b47e; }
.sm-about .ap-cta-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:end; }
.sm-about .ap-cta h2 { font-size:clamp(3.2rem,5.7vw,6rem); line-height:.96; }
.sm-about .ap-cta-grid > div:last-child p { margin:0 0 30px; color:rgba(25,27,23,.68); line-height:1.75; }
.sm-about .ap-button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:56px; padding:0 25px; background:#191b17; color:#fff; font-size:.8rem; font-weight:700; text-decoration:none; }

@media(max-width:1020px){
 .sm-about .ap-hero-inner,.sm-about .ap-intro-grid,.sm-about .ap-craft-grid,.sm-about .ap-cta-grid { grid-template-columns:1fr; }
 .sm-about .ap-hero-fact { display:none; }
 .sm-about .ap-craft-card { margin:-80px 5% 0; }
 .sm-about .ap-craft-detail { display:none; }
 .sm-about .ap-history-head,.sm-about .ap-values-head { grid-template-columns:1fr; }
 .sm-about .ap-values-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:680px){
 .sm-about .ap-hero { min-height:88svh; padding:130px 0 70px; }
 .sm-about .ap-hero h1 { font-size:clamp(3.8rem,18vw,5.8rem); }
 .sm-about .ap-craft-main { height:520px; }
 .sm-about .ap-craft-card { margin:-45px 4% 0; padding:38px 25px; }
 .sm-about .ap-timeline,.sm-about .ap-values-grid { grid-template-columns:1fr; }
 .sm-about .ap-timeline article { border-bottom:1px solid rgba(255,255,255,.12); }
 .sm-about .ap-values-grid article,.sm-about .ap-values-grid article:not(:first-child){ padding:30px 0; border-right:0; border-bottom:1px solid rgba(25,27,23,.12); }
 .sm-about .ap-values-grid h3 { margin-top:20px; }
 .sm-about .ap-quote { min-height:70svh; }
}

/* About first viewport: visible header and exact full-screen composition */
body.sm-about > header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 94px !important;
  z-index: 10000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  overflow: visible !important;
  background: rgba(14,16,13,.94) !important;
}
body.sm-about > header .container-header,
body.sm-about > header .logo,
body.sm-about > header nav {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.sm-about .ap-hero {
  min-height: calc(100svh - 94px) !important;
  margin-top: 94px !important;
  padding: 105px 0 65px !important;
}
.sm-about .ap-hero h1 {
  max-width: 980px;
  font-size: clamp(4.2rem,6.8vw,7rem) !important;
  line-height: .88 !important;
}
.sm-about .ap-hero-copy > p:last-child { max-width:570px; margin-top:28px; }
@media(max-width:1020px){
 body.sm-about>header{height:78px !important}
 .sm-about .ap-hero{min-height:calc(100svh - 78px) !important;margin-top:78px !important;padding:90px 0 60px !important}
}
@media(max-width:680px){
 .sm-about .ap-hero h1{font-size:clamp(3.7rem,17vw,5.5rem) !important}
}