/* About page: editorial stone, warm metal and navy. Shared chrome lives in common.css. */
.about-page { background:#fbfaf7; }
.about-spacing { padding:clamp(64px,7vw,120px) var(--gutter); }
.about-eyebrow { display:flex; align-items:center; gap:14px; margin:0 0 23px; font-size:11px; font-weight:650; letter-spacing:.18em; line-height:1.6; color:#98744e; }
.about-eyebrow::before { content:''; width:30px; height:1px; background:currentColor; flex-shrink:0; }
.about-page h1,.about-page main h2 { font-weight:550; letter-spacing:-.045em; line-height:1.08; margin:0; }
.about-page main h2 { font-size:clamp(34px,3.7vw,62px); }
.about-page main h1 em,.about-page main h2 em { display:block; font-family:Georgia,serif; font-weight:400; color:#a47c52; margin-top:6px; }
.about-page main p { line-height:1.8; }
.about-hero { display:grid; grid-template-columns:1fr 1.08fr; min-height:660px; }
.about-hero-copy { padding:50px clamp(32px,4.5vw,86px) 48px var(--gutter); align-self:center; }
.about-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:11px; color:#76818a; margin-bottom:54px; }
.about-breadcrumb a { color:#476172; }
.about-breadcrumb a:hover { color:#967044; }
.about-hero h1 { font-size:clamp(48px,5.2vw,89px); }
.about-hero-intro { color:#5d6d77; font-size:17px; max-width:470px; margin:27px 0 28px; }
.about-hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:19px; }
.about-hero-actions .luxury-button { font-size:14px; gap:20px; }
.about-discover { display:inline-flex; align-items:center; gap:20px; font-size:12px; color:#57707d; padding:5px 0; }
.about-discover span { color:#a58052; font-size:18px; }
.about-local { display:flex; align-items:center; gap:10px; color:#75828a; font-size:9px; letter-spacing:.12em; margin:32px 0 0; }
.about-local > span { width:6px; height:6px; border-radius:50%; background:#b28a5b; }
.about-hero-image { margin:0; position:relative; min-width:0; min-height:640px; overflow:hidden; }
.about-hero-image > img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:58% center; }
.about-hero-image::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#061b2380); pointer-events:none; }
.about-hero-image figcaption { position:absolute; z-index:1; bottom:42px; left:42px; color:#fff; padding-left:23px; border-left:1px solid #e2cba6; }
.about-hero-image figcaption > span { display:block; letter-spacing:.18em; font-size:9px; color:#e6d0b3; margin-bottom:13px; }
.about-hero-image figcaption strong { font:400 29px/1.18 Georgia,serif; }
.about-promise-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:32px var(--gutter); gap:35px; background:#002137; color:white; }
.about-promise-bar > div { display:flex; align-items:center; gap:20px; }
.about-promise-bar > div + div { padding-left:30px; border-left:1px solid #dcc39d33; }
.about-promise-bar img { width:49px; height:49px; padding:6px; border-radius:9px; background:#f4eee5; flex-shrink:0; }
.about-promise-bar strong { display:block; font-weight:550; font-size:15px; margin-bottom:6px; }
.about-promise-bar span > span { display:block; color:#b6c5ce; font-size:12px; line-height:1.6; }
.about-story { display:grid; grid-template-columns:.94fr 1fr; gap:clamp(40px,7vw,120px); align-items:center; }
.about-craft-image { margin:0; position:relative; min-height:670px; align-self:stretch; overflow:hidden; border-radius:3px; }
.about-craft-image > img { position:absolute; height:100%; width:100%; object-fit:cover; object-position:56% center; }
.about-craft-image figcaption { position:absolute; bottom:25px; left:25px; right:25px; background:#002137ee; border:1px solid #d7bc9044; padding:29px 32px; color:#fff; }
.about-mini { display:block; font-size:9px; font-weight:600; letter-spacing:.16em; color:#aa8356; line-height:1.7; }
.about-craft-image .about-mini { color:#dec49f; }
.about-craft-image strong { display:block; font:400 34px/1.13 Georgia,serif; margin:13px 0 16px; }
.about-signature { display:block; color:#d9ba8b; font:29px/1.3 'JD Signature',cursive; }
.about-story-copy > p:not(.about-eyebrow) { color:#64717a; font-size:16px; margin:23px 0 0; }
.about-standards { margin-top:29px; }
.about-standard { border-top:1px solid #ded6c9; }
.about-standard:last-child { border-bottom:1px solid #ded6c9; }
.about-standard h3 { margin:0; }
.about-standard button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:21px 0; border:0; background:transparent; color:var(--ink); text-align:left; font-size:16px; font-weight:600; line-height:1.5; cursor:pointer; }
.about-standard button > span:first-child { display:flex; align-items:baseline; gap:20px; }
.about-standard i { color:#a58560; font:italic 15px Georgia,serif; }
.about-plus { width:25px; height:25px; position:relative; flex-shrink:0; border:1px solid #d9c9b3; border-radius:50%; }
.about-plus::before,.about-plus::after { content:''; position:absolute; width:9px; height:1px; background:currentColor; left:7px; top:11px; transition:transform .35s var(--ease); }
.about-plus::after { transform:rotate(90deg); }
.about-standard.is-open .about-plus::after { transform:rotate(0); }
.about-standard button:hover,.about-standard.is-open button { color:#99744e; }
.about-standard-answer { display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; transition:grid-template-rows .4s var(--ease),opacity .35s,visibility .4s; }
.about-standard-answer > div { overflow:hidden; min-height:0; }
.about-standard-answer p { margin:0; padding:0 20px 23px 38px; font-size:14px; line-height:1.8; color:#66737b; }
.about-standard.is-open .about-standard-answer { grid-template-rows:1fr; opacity:1; visibility:visible; }
.about-story-copy > .text-link { margin-top:20px; }
.about-values { background:#f0ece5; border-block:1px solid #e3dcd1; }
.about-section-heading { display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(32px,7vw,120px); align-items:end; margin-bottom:50px; }
.about-section-heading > p { margin:0 0 4px; font-size:16px; color:#6b7478; padding-left:25px; border-left:1px solid #cdb799; max-width:460px; }
.about-values-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.about-value { padding:30px 26px; background:#faf8f4; border:1px solid #ddd3c5; border-radius:9px; transition:transform .3s var(--ease),box-shadow .3s; }
.about-value-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:25px; }
.about-value-top img { width:57px; height:57px; }
.about-value-top > span { color:#bbaa93; font:italic 25px Georgia,serif; }
.about-value h3 { font-size:21px; font-weight:600; letter-spacing:-.025em; line-height:1.25; margin:0 0 13px; }
.about-value p { margin:0; font-size:14px; color:#6b747a; }
.about-space-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.about-space-card { display:flex; align-items:flex-start; gap:25px; border:1px solid #e3dacf; background:#fffdfa; border-radius:10px; padding:38px; }
.about-space-card > img { width:57px; height:57px; flex-shrink:0; }
.about-space-card h3 { margin:10px 0 18px; font:400 34px/1.15 Georgia,serif; letter-spacing:-.025em; }
.about-space-card p { font-size:15px; color:#62717a; margin:0; }
.about-space-card ul { list-style:none; padding:0; margin:23px 0 18px; display:grid; gap:10px; }
.about-space-card li { font-size:13px; color:#4f626f; display:flex; align-items:center; gap:10px; line-height:1.5; }
.about-space-card li::before { content:''; width:5px; height:5px; border-radius:50%; background:#b08a5b; flex-shrink:0; }
.about-space-card .text-link { font-size:13px; gap:10px; }
.about-materials-note { margin-top:30px; padding-top:26px; border-top:1px solid #dfd5c6; display:flex; gap:25px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.about-materials-note > span { color:#9f805b; font-size:9px; letter-spacing:.15em; }
.about-materials-note p { font:italic 19px/1.6 Georgia,serif; color:#61717a; margin:0; }
.about-materials-note i { color:#ba9b74; margin-inline:9px; }
.about-materials-note .text-link { font-size:12px; }
.about-local-section { display:grid; grid-template-columns:1fr 1fr; background:#002137; color:#fff; }
.about-local-copy { padding:70px clamp(32px,5vw,96px) 70px var(--gutter); }
.about-local-copy .about-eyebrow { color:#d9b68b; }
.about-local-copy h2 em { color:#e4c69f; }
.about-local-copy > p:not(.about-eyebrow) { color:#b7c7d1; font-size:16px; margin:23px 0 27px; max-width:470px; }
.about-local-section figure { position:relative; margin:0; overflow:hidden; min-height:350px; }
.about-local-section figure::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#00213740,transparent 60%),linear-gradient(0deg,#002137a8,transparent 45%); }
.about-local-section figure img { display:block; width:100%; height:100%; object-fit:cover; position:absolute; object-position:60% center; }
.about-local-section figcaption { position:absolute; bottom:32px; left:32px; z-index:1; font-size:10px; letter-spacing:.17em; border-left:1px solid #e4c69f; padding-left:15px; }
.about-closing { text-align:center; background:radial-gradient(ellipse at center,#f0e8d9,#fbfaf7 68%); }
.about-closing .about-eyebrow { justify-content:center; }
.about-closing p:not(.about-eyebrow) { font-size:17px; color:#64717b; margin:24px auto 30px; }
.about-closing > div { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:36px; }
.about-call { font-size:24px; font-weight:600; letter-spacing:-.02em; }
.about-call span { display:block; font-size:10px; font-weight:400; color:#76818a; letter-spacing:.03em; margin-top:4px; }
.about-closing small { display:block; margin-top:40px; font-size:10px; color:#8a918f; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .about-value:hover { transform:translateY(-5px); box-shadow:0 18px 30px #00213709; }
}
@media (max-width:1199px) {
 .about-hero { grid-template-columns:1fr 1fr; }
 .about-hero-copy { padding-right:32px; }
 .about-hero h1 { font-size:60px; }
 .about-hero-intro { font-size:16px; }
 .about-hero-actions .luxury-button { padding-inline:18px; font-size:13px; gap:14px; }
 .about-promise-bar { gap:20px; padding-block:28px; }
 .about-promise-bar > div { gap:12px; }
 .about-promise-bar > div + div { padding-left:20px; }
 .about-promise-bar strong { font-size:13px; }
 .about-promise-bar img { width:42px; height:42px; }
 .about-promise-bar span > span { font-size:11px; }
 .about-story { gap:40px; }
 .about-craft-image { min-height:720px; }
 .about-craft-image figcaption { padding:25px; left:18px; right:18px; }
 .about-craft-image strong { font-size:29px; }
 .about-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .about-space-card { padding:28px; gap:20px; }
 .about-space-card > img { width:42px; height:42px; }
 .about-space-card h3 { font-size:29px; }
}
@media (max-width:899px) {
 .about-hero { grid-template-columns:1fr; }
 .about-hero-copy { padding:66px var(--gutter) 45px; }
 .about-breadcrumb { margin-bottom:30px; }
 .about-hero h1 { font-size:clamp(52px,8vw,74px); }
 .about-hero h1 em br { display:none; }
 .about-hero-intro { max-width:600px; }
 .about-hero-actions { flex-direction:row; align-items:center; gap:25px; flex-wrap:wrap; }
 .about-hero-image { min-height:420px; aspect-ratio:1.7; }
 .about-hero-image > img { object-position:center 62%; }
 .about-promise-bar { grid-template-columns:1fr; gap:20px; padding-block:30px; }
 .about-promise-bar > div + div { border:0; padding-left:0; }
 .about-promise-bar strong { font-size:15px; }
 .about-promise-bar span > span { font-size:12px; }
 .about-story { grid-template-columns:1fr; gap:45px; }
 .about-craft-image { min-height:520px; }
 .about-craft-image > img { object-position:center; }
 .about-craft-image figcaption { left:25px; right:auto; width:310px; }
 .about-section-heading { grid-template-columns:1fr; gap:25px; margin-bottom:32px; }
 .about-section-heading > p { max-width:630px; }
 .about-space-grid { grid-template-columns:1fr; }
 .about-local-section { grid-template-columns:1fr; }
 .about-local-copy { padding:55px var(--gutter); }
 .about-local-section figure { min-height:290px; }
}
@media (max-width:599px) {
 .about-spacing { padding-block:62px; }
 .about-hero-copy { padding-top:58px; }
 .about-hero h1 { font-size:52px; }
 .about-hero h1 em br { display:block; }
 .about-eyebrow { font-size:9px; gap:11px; margin-bottom:19px; }
 .about-eyebrow::before { width:23px; }
 .about-hero-intro { font-size:16px; margin-top:24px; }
 .about-hero-actions { flex-direction:column; align-items:flex-start; gap:17px; }
 .about-hero-actions .luxury-button { font-size:13px; width:auto; }
 .about-hero-image { min-height:350px; aspect-ratio:auto; }
 .about-hero-image figcaption { bottom:28px; left:24px; padding-left:18px; }
 .about-hero-image figcaption strong { font-size:26px; }
 .about-page main h2 { font-size:37px; }
 .about-craft-image { min-height:480px; }
 .about-craft-image figcaption { bottom:20px; left:20px; right:20px; width:auto; padding:25px; }
 .about-craft-image strong { font-size:30px; }
 .about-story-copy > p:not(.about-eyebrow) { font-size:15px; }
 .about-standard button { font-size:15px; gap:12px; }
 .about-standard button > span:first-child { gap:12px; }
 .about-standard-answer p { padding-left:28px; padding-right:4px; font-size:14px; }
 .about-section-heading > p { font-size:15px; padding-left:18px; }
 .about-values-grid { grid-template-columns:1fr; gap:16px; }
 .about-value { padding:28px; }
 .about-value-top { margin-bottom:20px; }
 .about-value h3 { font-size:23px; }
 .about-value p { font-size:15px; }
 .about-space-card { display:block; padding:28px 24px; }
 .about-space-card > img { width:50px; height:50px; margin-bottom:20px; }
 .about-space-card h3 { font-size:31px; }
 .about-materials-note { gap:16px; }
 .about-materials-note p { font-size:18px; }
 .about-materials-note i { margin-inline:5px; }
 .about-local-copy > p:not(.about-eyebrow) { font-size:15px; }
 .about-local-section figure { min-height:240px; }
 .about-local-section figcaption { left:24px; bottom:24px; font-size:9px; }
 .about-closing > div { gap:25px; flex-direction:column; }
 .about-closing p:not(.about-eyebrow) { font-size:15px; }
 .about-closing p br { display:none; }
 .about-closing .luxury-button { width:auto; }
 .about-closing small { line-height:1.6; }
}
@media (max-width:359px) {
 .about-hero h1 { font-size:45px; }
 .about-page main h2 { font-size:33px; }
 .about-hero-actions .luxury-button { font-size:12px; padding-inline:14px; gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
 .about-standard-answer,.about-plus::after,.about-value { transition:none; }
}
