:root{--promo-ink:#10171a;--promo-green:#0b8060;--promo-blue:#087fa6;--promo-gold:#d2a218;--promo-red:#c7273f;--promo-paper:#f5f6f3;--promo-line:#cbd6d3}
.promotions-page{background:var(--promo-paper);color:var(--promo-ink)}
.promotions-page main{overflow:hidden}
.promotion-hero{min-height:540px;background:linear-gradient(90deg,rgba(16,23,26,.96) 0%,rgba(16,23,26,.84) 48%,rgba(16,23,26,.2) 100%),url("promotions-v72/mi-services-projects-v72.webp") center/cover;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:40px;align-items:end;padding:72px max(24px,calc((100vw - 1240px)/2));color:#fff}
.promotion-hero-copy{max-width:850px;padding-bottom:36px}.promotions-page .promotion-hero h1{font:700 clamp(46px,6vw,86px)/.96 Georgia,serif;letter-spacing:0;margin:14px 0 24px;color:#fff}.promotions-page .promotion-hero p{font-size:19px;line-height:1.55;max-width:780px;color:#edf4f2}.promotion-primary,.promotion-package-grid button,.promotion-submit button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;background:var(--promo-green);color:#fff;padding:0 22px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.promotion-primary:hover,.promotion-package-grid button:hover,.promotion-submit button:hover{background:#086e53;box-shadow:0 10px 25px rgba(0,0,0,.18);transform:translateY(-2px)}
.promotion-boundary{border-left:4px solid var(--promo-gold);background:rgba(255,255,255,.94);color:var(--promo-ink);padding:24px;margin-bottom:36px}.promotion-boundary b{font:700 25px/1.1 Georgia,serif}.promotions-page .promotion-boundary p{font-size:15px;margin-bottom:0;color:#344143}
.promotion-packages,.promotion-process,.promotion-order,.promotion-editorial-boundary{max-width:1240px;margin:0 auto;padding:72px 24px}.promotion-packages>header,.promotion-process>header,.promotion-order>header{display:grid;grid-template-columns:1fr 1fr;gap:12px 50px;border-bottom:3px solid var(--promo-ink);padding-bottom:22px;margin-bottom:28px}.promotion-packages h2,.promotion-process h2,.promotion-order h2,.promotion-editorial-boundary h2{font:700 clamp(34px,4vw,54px)/1 Georgia,serif;letter-spacing:0;margin:8px 0}.promotion-packages>header p,.promotion-order>header p{align-self:end;margin:0;color:#526064}
.promotion-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--promo-line);background:#fff}.promotion-package-grid article{position:relative;display:flex;flex-direction:column;min-height:520px;padding:28px;border-right:1px solid var(--promo-line);border-top:5px solid var(--promo-blue);border-radius:0}.promotion-package-grid article:last-child{border-right:0}.promotion-package-grid article:nth-child(2){border-top-color:var(--promo-green)}.promotion-package-grid article:nth-child(3){border-top-color:var(--promo-gold)}.promotion-package-grid article:nth-child(4){border-top-color:var(--promo-red)}.promotion-package-grid article.is-featured{background:#f9f3dd}.package-index{font-weight:900;color:#758083}.package-flag{position:absolute;right:16px;top:18px;background:var(--promo-ink);color:#fff;padding:7px 9px;font-size:10px;font-weight:900}.promotion-package-grid h3{font:700 29px/1.05 Georgia,serif;letter-spacing:0;margin:30px 0 8px}.package-price{font:700 50px/1 Georgia,serif;margin:0 0 20px}.promotion-package-grid article>p:not(.package-price){min-height:94px;line-height:1.5}.promotion-package-grid ul{list-style:none;padding:18px 0;margin:0 0 20px;border-top:1px solid var(--promo-line)}.promotion-package-grid li{padding:7px 0}.promotion-package-grid li:before{content:"+";color:var(--promo-green);font-weight:900;margin-right:8px}.promotion-package-grid button{margin-top:auto;width:100%}.promotion-package-grid small{display:block;margin:0 0 18px;color:#5c6669}
.promotion-process{max-width:none;background:#10171a;color:#fff;padding-left:max(24px,calc((100vw - 1192px)/2));padding-right:max(24px,calc((100vw - 1192px)/2))}.promotion-process>header{border-color:#667175}.promotion-process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #667175;border-left:1px solid #667175}.promotion-process li{display:flex;gap:16px;min-height:190px;padding:24px;border-right:1px solid #667175;border-bottom:1px solid #667175}.promotion-process li>b{font:700 32px Georgia,serif;color:#68ccb2}.promotion-process strong{display:block;font-size:17px;margin:4px 0 12px}.promotion-process small{line-height:1.5;color:#c8d2d1}
.promotion-order{padding-top:86px}.promotion-order form{background:#fff;border-top:5px solid var(--promo-green)}.promotion-order fieldset{border:0;border-bottom:1px solid var(--promo-line);padding:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.promotion-order legend{float:left;width:100%;font:700 25px Georgia,serif;margin-bottom:22px}.promotion-order label{display:grid;gap:8px;font-weight:800}.promotion-order input,.promotion-order select,.promotion-order textarea{width:100%;border:1px solid #aab9b6;background:#fff;color:#10171a;padding:13px 14px;font:inherit;border-radius:0;box-sizing:border-box}.promotion-order input:focus,.promotion-order select:focus,.promotion-order textarea:focus{outline:3px solid rgba(8,127,166,.23);border-color:var(--promo-blue)}.promotion-order .wide{grid-column:1/-1}.promotion-order label>small{font-weight:400;color:#5a686a}.promotion-order .check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--promo-line);padding:15px;font-weight:400}.promotion-order .check input{width:20px;height:20px;flex:0 0 20px}.promotion-order .check span{display:block}.promotion-order .check b{display:block}.promotion-order .check small{color:var(--promo-green);font-weight:900}.promotion-order .optional{background:#f4f6f5}.promotion-honeypot{position:absolute!important;left:-9999px!important}.promotion-total{display:grid;grid-template-columns:1fr auto;gap:4px 30px;align-items:center;background:#e8f3f0;padding:24px 30px}.promotion-total strong{grid-row:1/3;grid-column:2;font:700 40px Georgia,serif}.promotion-total small{color:#526064}.promotion-submit{padding:26px 30px;display:flex;align-items:center;gap:20px}.promotion-submit p{margin:0;font-weight:800}.promotion-submit p.is-error{color:#a61d32}.promotion-submit p.is-ok{color:#087256}
.promotion-editorial-boundary{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr auto;align-items:center;gap:36px;border-top:5px solid var(--promo-red);background:#fff;margin-bottom:80px}.promotion-editorial-boundary p{line-height:1.55}.promotion-editorial-boundary>a{display:inline-flex;min-height:46px;align-items:center;border:2px solid var(--promo-ink);padding:0 16px;color:var(--promo-ink);font-weight:800;text-decoration:none}.promotion-editorial-boundary>a:hover{background:var(--promo-ink);color:#fff}
@media(max-width:980px){.promotion-hero{grid-template-columns:1fr;min-height:650px}.promotion-boundary{max-width:560px}.promotion-package-grid{grid-template-columns:repeat(2,1fr)}.promotion-package-grid article:nth-child(2){border-right:0}.promotion-package-grid article{border-bottom:1px solid var(--promo-line)}.promotion-process ol{grid-template-columns:repeat(2,1fr)}.promotion-editorial-boundary{grid-template-columns:1fr}}
@media(max-width:640px){.promotion-hero{min-height:610px;padding:48px 20px 28px;background-position:62% center}.promotion-hero h1{font-size:43px}.promotion-hero p{font-size:16px}.promotion-packages,.promotion-order,.promotion-editorial-boundary{padding:52px 18px}.promotion-packages>header,.promotion-process>header,.promotion-order>header{grid-template-columns:1fr}.promotion-package-grid{grid-template-columns:1fr}.promotion-package-grid article{border-right:0;min-height:0}.promotion-process{padding:52px 18px}.promotion-process ol{grid-template-columns:1fr}.promotion-process li{min-height:0}.promotion-order fieldset{grid-template-columns:1fr;padding:22px 18px}.promotion-order .wide{grid-column:auto}.promotion-total{grid-template-columns:1fr}.promotion-total strong{grid-column:1;grid-row:auto}.promotion-submit{align-items:stretch;flex-direction:column}.promotion-editorial-boundary{margin:0 18px 60px;padding:28px 20px}}
