/* Impeerium Digital · editorial A/B home v1. Shared safe lead form remains on /styles.css. */
:root{--editorial-paper:#f8f5f0;--editorial-ink:#24221f;--editorial-gold:#a47b39;--editorial-line:#e2dbcf;--editorial-muted:#665f53}
body.site-editorial{background:var(--editorial-paper);color:var(--editorial-ink);font:15px/1.7 "Segoe UI",Arial,sans-serif}
.site-editorial .shell{max-width:1240px}
.site-editorial .header{height:102px;background:rgba(248,245,240,.96);border-bottom:1px solid #e6e0d5;position:relative;z-index:5;gap:30px}
.site-editorial .brand{display:inline-flex;align-items:center;min-width:122px;line-height:0}
.site-editorial .brand-logo{display:block;object-fit:contain;width:124px;height:88px}
.site-editorial .header nav{gap:30px;color:#38342f}
.site-editorial .header nav a{font:14px/1.4 Georgia,"Times New Roman",serif;white-space:nowrap}
.site-editorial .header-link{border-radius:4px;background:#9d742f;border:0;color:#fff;font-weight:650;padding:14px 22px;white-space:nowrap}
.site-editorial .header-link:hover{background:#805e28}
.homepage.only-b{display:none}
html[data-home="B"] .homepage.only-a{display:none}
html[data-home="B"] .homepage.only-b{display:block}
.ab-kicker,.ab-section-label{font-size:10px;font-weight:700;letter-spacing:.23em;color:#937245;line-height:1.6;text-transform:uppercase}
.ab-kicker{margin:0 0 26px}
.ab-hero{padding-top:82px;padding-bottom:95px;display:grid;grid-template-columns:1.08fr .92fr;gap:min(8vw,108px);align-items:center}
.ab-hero h1,.ab-services h2,.ab-about h2,.ab-process h2,.ab-promise blockquote,.ab-detail h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em;font-weight:400;line-height:1.14}
.ab-hero h1{font-size:clamp(43px,4.15vw,68px);margin:0 0 28px}
.ab-hero h1 em,.ab-services h2 em,.ab-about h2 em,.ab-process h2 em,.ab-detail h2 em{font-style:italic;color:#a47b39}
.ab-lead{font-size:17px;line-height:1.84;color:#4e4a44;max-width:580px;margin:0 0 30px}
.ab-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px}
.site-editorial .ab-actions .button{border-radius:5px;font:600 13px/1.4 "Segoe UI",Arial,sans-serif;min-height:53px}
.site-editorial .ab-actions .button.primary{background:#94702f;color:white}
.site-editorial .ab-actions .button.primary:hover{background:#785924}
.site-editorial .ab-actions .button.secondary{background:transparent;border:1px solid #b9a98e;color:#3a3329}
.ab-actions .button span{margin-left:14px}
.ab-muted{font-size:11px;letter-spacing:.015em;color:#797268;line-height:1.65}
.ab-photo{margin:0;position:relative;overflow:hidden;border-radius:13px;background:linear-gradient(150deg,#eae0d1,#c2a984);box-shadow:0 16px 50px #3730270b}
.ab-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(.98)}
.ab-photo-a{height:min(40vw,510px)}
.ab-photo-b{height:min(40vw,520px)}
.ab-photo figcaption{position:absolute;bottom:18px;left:20px;background:rgba(255,253,247,.9);padding:9px 12px;border-radius:2px;font-size:9px;font-weight:750;letter-spacing:.16em;color:#584b37;max-width:calc(100% - 40px)}
.ab-section-label{display:flex;align-items:center;gap:22px;margin-bottom:25px}
.ab-section-label i{height:1px;width:70px;background:#b69b6b}
.ab-services{padding:35px 0 110px}
.ab-services h2,.ab-about h2,.ab-process h2,.ab-detail h2{font-size:clamp(36px,3.25vw,53px);margin:0 0 32px}
.ab-services h2{max-width:760px}
.ab-cards{display:grid;gap:16px;margin-top:45px}
.ab-cards-a{grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-service-card{border:1px solid var(--editorial-line);border-radius:9px;display:flex;gap:14px;align-items:flex-start;min-height:162px;padding:24px 18px;background:rgba(255,255,255,.25);transition:border-color .2s,transform .2s,background .2s}
.ab-service-card:hover{border-color:#c2a979;background:#fffdfa;transform:translateY(-2px)}
.ab-icon{color:#99722f;font:25px Georgia,serif;flex:none;width:32px;line-height:1.4}
.ab-service-copy{display:block;flex:1;min-width:0}
.ab-service-copy strong{display:block;font:500 18px/1.3 Georgia,serif;color:#28251f;margin-bottom:10px}
.ab-service-copy small{display:block;font-size:12px;line-height:1.65;color:#655f55}
.ab-arrow{font-size:13px;color:#9c783f;margin-left:auto}
.ab-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;padding-bottom:100px}
.ab-photo-small{height:355px;max-width:480px}
.ab-about h2{margin-bottom:24px}
.ab-about p:not(.ab-kicker){font-size:16px;line-height:1.9;max-width:565px}
.ab-textlink{font-size:13px;font-weight:650;border-bottom:1px solid #bb9860;padding-bottom:5px;display:inline-block;margin-top:18px}
.ab-textlink span{margin-left:8px}
.ab-hero-b{grid-template-columns:1fr .87fr;gap:95px;padding-block:108px 110px}
.ab-hero-b h1{font-size:clamp(47px,4.8vw,76px);max-width:640px}
.ab-hero-b .ab-photo{border-radius:150px 150px 16px 16px}
.ab-hero-b .ab-photo img{filter:saturate(.73)}
.ab-hero-b .ab-kicker{color:#705833}
.ab-cards-b{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.ab-cards-b .ab-service-card{min-height:132px;align-items:center;padding:25px 30px}
.ab-cards-b .ab-service-copy strong{font-size:21px;margin-bottom:5px}
.ab-cards-b .ab-icon{border-left:1px solid #d8c39e;padding-left:15px;width:48px}
.ab-intro{margin-top:-14px;color:#685e51;font-size:16px}
.ab-about-b{grid-template-columns:1fr .82fr;gap:100px}
.ab-about-b h2{font-size:clamp(45px,4vw,60px)}
.ab-about-b .ab-photo{height:350px}
.ab-process{border-top:1px solid var(--editorial-line);padding-block:95px}
.ab-process h2{max-width:700px}
.ab-process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding-top:28px}
.ab-process-steps article{border-top:1px solid #d6cdbc;padding-top:21px}
.ab-process-steps b{font:26px Georgia,serif;color:#a37f44}
.ab-process-steps h3{margin:20px 0 10px;font:500 22px/1.3 Georgia,serif}
.ab-process-steps p{font-size:14px;line-height:1.75;max-width:350px}
.ab-promise{padding:82px 85px;background:#eee7db;border-radius:12px;margin-bottom:105px}
.ab-promise blockquote{font-size:clamp(30px,3.3vw,48px);max-width:940px;margin:0 0 18px}
.ab-promise p:last-child{font-size:13px;max-width:750px}
.ab-detail{padding-bottom:120px}
.ab-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ab-detail-grid article{border:1px solid #dcd3c5;border-radius:10px;padding:34px;background:rgba(255,255,255,.32)}
.ab-detail-grid b{font-size:10px;letter-spacing:.17em;color:#9d793d}
.ab-detail-grid h3{font:500 26px/1.25 Georgia,serif;margin:18px 0 12px}
.ab-detail-grid p{color:#575148;font-size:14px;line-height:1.8}
.ab-detail-grid small{display:block;font-size:11px;color:#7f796d;min-height:28px}
.ab-detail-grid a{display:inline-block;border-bottom:1px solid #ab8b57;font-size:12px;font-weight:700;margin-top:22px}
.site-editorial .faq{padding-top:0;padding-bottom:110px}
.site-editorial .faq h2{font-size:clamp(38px,3.5vw,54px)}
.site-editorial .contact{margin-bottom:100px}
.site-editorial .form-panel{box-shadow:0 7px 25px #0000000e}
.editorial-footer .brand-logo{height:83px}
.editorial-footer .footer-row{align-items:flex-start}
.editorial-footer .footer-row p{margin-top:0}
.ab-float{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:30}
.ab-float-link{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #bfa064;background:#fffdf9;color:#4e432f;box-shadow:0 12px 34px #33280f2a,0 2px 7px #33280f12;border-radius:999px;padding:9px 18px 9px 10px;min-height:56px;transition:transform .2s,box-shadow .2s}
.ab-float-link svg{width:37px;height:37px;color:#fff;background:#237b4f;padding:7px;border-radius:50%;flex:none}
.ab-float-link span{font-size:12px;letter-spacing:.01em;font-weight:750}
.ab-float-link:hover{transform:translateY(-3px);box-shadow:0 14px 38px #33280f35}
.ab-float-link:focus-visible{outline:3px solid #84642e}
.ab-channel-notice{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.site-editorial .sticky{display:none!important}
@media(max-width:1050px){.ab-cards-a{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-about{gap:36px}.ab-hero{gap:34px}.site-editorial .header nav{gap:15px}}
@media(max-width:740px){.site-editorial .header{height:90px;gap:10px;padding-inline:19px}.site-editorial .brand-logo{height:72px;width:105px}.site-editorial .header-link{padding:10px 11px;font-size:10px}.ab-hero,.ab-hero-b{display:flex;flex-direction:column;gap:35px;padding-top:54px;padding-bottom:76px;align-items:stretch}.ab-hero h1,.ab-hero-b h1{font-size:clamp(39px,9.1vw,58px)}.ab-hero-copy .ab-lead{font-size:15px;line-height:1.8}.ab-photo-a,.ab-photo-b{height:330px;max-width:100%}.ab-hero-b .ab-photo{border-radius:120px 120px 12px 12px}.ab-actions{display:grid;gap:11px}.ab-actions .button{width:100%}.ab-services{padding:5px 0 70px}.ab-services h2,.ab-about h2,.ab-process h2,.ab-detail h2{font-size:clamp(34px,8vw,44px)}.ab-cards-a,.ab-cards-b{grid-template-columns:1fr;gap:12px;margin-top:30px}.ab-service-card,.ab-cards-b .ab-service-card{min-height:108px;padding:20px;gap:16px}.ab-service-copy strong,.ab-cards-b .ab-service-copy strong{font-size:19px}.ab-about,.ab-about-b{display:flex;flex-direction:column;gap:30px;padding-bottom:75px}.ab-about-b>div{order:1}.ab-about-b>figure{order:2}.ab-photo-small,.ab-about-b .ab-photo{width:100%;max-width:100%;height:260px}.ab-about h2{margin-bottom:18px}.ab-about p:not(.ab-kicker){font-size:15px}.ab-process{padding-block:70px}.ab-process-steps{grid-template-columns:1fr;gap:20px}.ab-process-steps h3{margin-top:10px}.ab-promise{padding:40px 26px;margin-bottom:78px;width:calc(100% - 36px)}.ab-promise blockquote{font-size:32px}.ab-detail{padding-bottom:80px}.ab-detail-grid{grid-template-columns:1fr}.ab-detail-grid article{padding:25px}.site-editorial .faq{padding-bottom:75px}.site-editorial .contact{margin-bottom:50px}.site-editorial .header nav{display:none}.ab-float{right:16px;bottom:calc(17px + env(safe-area-inset-bottom))}.ab-float-link{width:58px;height:58px;min-height:58px;padding:8px;box-shadow:0 8px 22px #2b260a3d}.ab-float-link svg{width:41px;height:41px}.ab-float-link span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.editorial-footer .brand-logo{height:82px}}
@media(max-width:370px){.site-editorial .header-link{font-size:9px;padding:9px}.ab-hero h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){.ab-service-card,.ab-float-link{transition:none}}
