/* Primepass agency editorial: paper, ink, portraiture and measured movement. */
.page-about { --agency-bronze:#82613b; }
.page-about main section[id] { scroll-margin-top:110px; }
.agency-hero { padding:28px 0 0; }
.agency-topline { display:flex; justify-content:space-between; gap:20px; padding:0 0 22px; border-bottom:1px solid #d8d1c4; font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; color:#666760; }
.agency-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(32px,5vw,80px); align-items:center; padding:48px 0 44px; }
.agency-hero-copy h1 { font:500 clamp(2.6rem,4.6vw,4.6rem)/1.06 'Playfair Display',serif; letter-spacing:-.045em; margin:24px 0; }
.agency-hero-copy h1 em { color:#82613b; font-weight:500; }
.agency-hero-copy > p { max-width:490px; font-size:1.02rem; line-height:1.8; color:#666760; margin:0 0 28px; }
.agency-visual { position:relative; padding:0 0 0 22px; border-left:1px solid #d8d1c4; min-width:0; }
.agency-visual-index { display:block; font-size:.59rem; text-transform:uppercase; letter-spacing:.14em; color:#666760; margin-bottom:14px; }
.agency-hero-portrait { display:block; position:relative; height:440px; overflow:hidden; background:#e6e0d4; border-radius:3px; }
.agency-hero-portrait::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(20,22,22,.85)); pointer-events:none; }
.agency-hero-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 22%; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.agency-hero-portrait:hover img { transform:scale(1.035); }
.agency-image-caption { position:absolute; bottom:24px; left:24px; right:24px; display:flex; align-items:end; justify-content:space-between; z-index:1; color:#faf5e9; }
.agency-image-caption small { display:block; font-size:.59rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px; color:#e4d7bd; }
.agency-image-caption strong { font:500 1.8rem/1.1 'Playfair Display',serif; }
.agency-image-caption > span:last-child { font-size:1.7rem; }
.agency-visual-foot { display:flex; justify-content:space-between; align-items:end; gap:18px; padding-top:18px; font-size:.7rem; line-height:1.5; color:#666760; }
.agency-visual-foot a { color:#674820; }
.agency-monogram { display:grid; place-content:center; text-align:center; height:440px; font:italic 10rem 'Playfair Display',serif; background:#25282c; color:#dcc49a; }
.agency-monogram span { font: .6rem 'Inter',sans-serif; letter-spacing:.12em; }
.agency-section-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid #d8d1c4; }
.agency-section-nav a { padding:20px 12px; border-right:1px solid #d8d1c4; color:#666760; font-size:.69rem; transition:background .2s,color .2s; }
.agency-section-nav a:first-child { padding-left:0; }
.agency-section-nav a:last-child { border:0; }
.agency-section-nav a:hover { color:#674820; background:#eee8dc; }
.agency-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(32px,7vw,100px); }
.agency-story h2 { margin-top:22px; }
.agency-story-mark { display:block; margin-top:36px; color:#c6b89b; font:italic 4rem 'Playfair Display',serif; }
.agency-story-copy > p { color:#666760; line-height:1.85; font-size:.95rem; }
.agency-story-copy > .agency-statement { font:500 1.6rem/1.5 'Playfair Display',serif; color:#25282c; margin-top:0; }
.agency-principles { margin-top:28px; }
.agency-principles > div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; border-top:1px solid #d8d1c4; padding:18px 0; }
.agency-principles strong { font-size:.8rem; }
.agency-principles p { margin:0; font-size:.8rem; line-height:1.7; color:#666760; }
.agency-services { background:#eee9df; }
.page-about .section-head { gap:40px; }
.page-about .section-head > .lead { max-width:410px; margin:0; }
.agency-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #cfc6b6; border-left:1px solid #cfc6b6; }
.agency-service { display:flex; flex-direction:column; padding:clamp(24px,3vw,42px); border-right:1px solid #cfc6b6; border-bottom:1px solid #cfc6b6; color:#25282c; transition:background .3s; }
.agency-service:hover { background:#fffaf0; }
.agency-service-top { display:flex; justify-content:space-between; gap:14px; color:#82613b; font-size:.64rem; text-transform:uppercase; letter-spacing:.1em; }
.agency-service-top b { font-size:1.3rem; font-weight:400; transition:transform .25s; }
.agency-service:hover .agency-service-top b { transform:translate(3px,-3px); }
.agency-service h3 { font:500 clamp(1.6rem,2.2vw,2.1rem)/1.2 'Playfair Display',serif; max-width:350px; margin:28px 0 16px; letter-spacing:-.025em; }
.agency-service > p { color:#666760; font-size:.87rem; line-height:1.8; max-width:460px; margin:0 0 24px; }
.agency-service-tags { display:block; margin-top:auto; padding-top:16px; border-top:1px solid #d8d1c4; color:#777269; font-size:.64rem; }
.agency-text-link { display:block; margin-top:18px; font-size:.78rem; font-weight:600; }
.agency-process-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:46px 0 0; }
.agency-process-list li { padding:24px; border-top:1px solid #a68b63; border-right:1px solid #d8d1c4; }
.agency-process-list li:first-child { padding-left:0; }
.agency-process-list li:last-child { border-right:0; }
.agency-process-list li > span { color:#82613b; font:italic 2.6rem 'Playfair Display',serif; }
.agency-process-list h3 { font-size:1.3rem; margin:20px 0 12px; }
.agency-process-list p { font-size:.82rem; color:#666760; line-height:1.8; margin:0; }
.agency-community-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,90px); align-items:center; }
.agency-community h2 { color:#faf5e9; }
.agency-community p { color:#c6c3bc; max-width:480px; font-size:.94rem; line-height:1.85; margin:22px 0 30px; }
.agency-community-links > a { display:grid; grid-template-columns:24px minmax(0,1fr) 16px; gap:20px; padding:24px 0; border-top:1px solid #5a554b; color:#faf5e9; }
.agency-community-links > a:last-child { border-bottom:1px solid #5a554b; }
.agency-community-links a > span { color:#dcc49a; font-size:.65rem; }
.agency-community-links strong { font:500 1.3rem 'Playfair Display',serif; display:block; margin-bottom:8px; }
.agency-community-links small { color:#c6c3bc; font-size:.76rem; line-height:1.7; display:block; }
.agency-community-links a:hover strong { color:#dcc49a; }
.agency-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.agency-faq-grid > div > p { color:#666760; max-width:300px; font-size:.88rem; line-height:1.8; }
.agency-faq-list details { border-top:1px solid #d8d1c4; padding:22px 0; }
.agency-faq-list details:last-child { border-bottom:1px solid #d8d1c4; }
.agency-faq-list summary { cursor:pointer; font-size:.9rem; font-weight:500; list-style:none; display:flex; justify-content:space-between; gap:20px; }
.agency-faq-list summary::-webkit-details-marker { display:none; }
.agency-faq-list summary::after { content:'+'; color:#82613b; font-size:1.1rem; }
.agency-faq-list details[open] summary::after { content:'−'; }
.agency-faq-list p { font-size:.83rem; color:#666760; line-height:1.85; margin:18px 28px 0 0; }
.agency-faq-list p a { color:#674820; text-decoration:underline; text-underline-offset:3px; }
.agency-contact { background:#eee9df; }
.agency-contact-head { max-width:830px; }
.agency-contact-head p { color:#666760; font-size:.92rem; line-height:1.8; margin:24px 0 32px; }
.agency-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #cfc6b6; }
.agency-contact-grid a { padding:28px; border-right:1px solid #cfc6b6; transition:background .2s; }
.agency-contact-grid a:last-child { border:0; }
.agency-contact-grid a:hover { background:#fffaf0; }
.agency-contact-grid span { color:#666760; display:block; font-size:.68rem; margin-bottom:16px; }
.agency-contact-grid strong { display:flex; justify-content:space-between; gap:16px; color:#25282c; font:500 1.35rem 'Playfair Display',serif; }
.agency-contact-grid b { color:#82613b; font-weight:400; }
.agency-office { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:30px; font-size:.72rem; line-height:1.7; color:#666760; }
.agency-office > span { color:#25282c; font-weight:600; }
.agency-office a { color:#674820; }
.page-about main a:focus-visible,.agency-faq-list summary:focus-visible { outline:2px solid #82613b; outline-offset:5px; }
@media(max-width:1050px) { .agency-hero-grid { grid-template-columns:1.2fr .8fr; gap:30px; } .agency-hero-copy h1 { font-size:clamp(2.4rem,4.5vw,4rem); } .agency-hero-portrait { height:390px; } .agency-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .agency-process-list li:nth-child(3) { padding-left:0; } .agency-process-list li:nth-child(2) { border-right:0; } }
@media(max-width:760px) {
 .agency-hero-grid,.agency-story,.agency-community-grid,.agency-faq-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
 .agency-hero-grid { padding-top:32px; }
 .agency-hero-copy h1 { font-size:clamp(2.5rem,7.7vw,3.6rem); }
 .agency-topline { font-size:.53rem; letter-spacing:.06em; }
 .agency-visual { padding-left:0; border:0; }
 .agency-hero-portrait { height:390px; }
 .agency-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .agency-section-nav a { padding:16px 10px; font-size:.62rem; }
 .agency-section-nav a:nth-child(3) { padding-left:0; border-top:1px solid #d8d1c4; }
 .agency-section-nav a:nth-child(4) { border-top:1px solid #d8d1c4; }
 .agency-section-nav a:nth-child(2) { border-right:0; }
 .agency-story-mark { display:none; }
 .agency-principles > div { grid-template-columns:minmax(0,1fr); gap:8px; }
 .agency-service-grid,.agency-contact-grid { grid-template-columns:minmax(0,1fr); }
 .page-about .section-head { flex-direction:column; align-items:start; gap:20px; }
 .agency-contact-grid a { border-right:0; border-bottom:1px solid #cfc6b6; }
 .agency-office { flex-direction:column; align-items:start; gap:12px; }
 .agency-office p { margin:0; }
}
@media(max-width:440px) { .agency-process-list { grid-template-columns:minmax(0,1fr); } .agency-process-list li { border-right:0; padding:22px 0; } .agency-hero .btn-group { align-items:stretch; } .agency-hero .btn-group .btn { justify-content:center; } }
@media(prefers-reduced-motion:reduce) { .page-about .agency-hero-portrait img,.page-about .agency-service-top b { transition:none; transform:none; } }
