:root{--paper:#f5f2e9;--green:#173e35;--ink:#17332b;--orange:#f2753f;--muted:#526058;--rule:#d2d7cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}a,button{touch-action:manipulation;-webkit-tap-highlight-color:#f2753f55}button,a,input,textarea,select{outline-offset:5px} :focus-visible{outline:3px solid #d25320}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{max-width:64ch}em{font-family:Georgia,serif;font-weight:400}section{scroll-margin-top:24px}.skip{position:fixed;top:-70px;left:16px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}.topline{display:flex;justify-content:space-between;background:var(--green);color:var(--paper);padding:10px max(5vw,24px);font-size:10px;font-weight:700;letter-spacing:1.8px}header{min-height:104px;display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;border-bottom:1px solid var(--rule);gap:24px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:17px;font-weight:800;line-height:1.1;letter-spacing:-.4px;flex-shrink:0}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:1.3px;margin-top:5px}.mark{width:41px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:2px solid currentColor;font-size:30px;font-weight:900;position:relative}.mark span{font-size:16px;position:absolute;right:-6px;top:-8px;background:var(--paper)}nav{display:flex;gap:28px;font-size:13px;font-weight:600}nav a{text-decoration:none}nav a:hover,.text-link:hover,.email:hover{color:#a63a12}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;background:var(--green);color:var(--paper);border:1px solid transparent;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;min-height:48px;transition:background-color .18s,color .18s}.button:hover{background:#2c574b}.button.orange{background:var(--orange);color:#182d25}.button.orange:hover{background:#ff9b69}.button.compact{padding:12px 20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:610px;padding:52px 5vw 58px;gap:5vw;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;margin-bottom:23px}.dot{display:inline-block;background:var(--orange);width:7px;height:7px;border-radius:50%;margin-right:7px}h1{font-size:clamp(44px,5.8vw,86px);line-height:1.02;letter-spacing:-3.8px;font-weight:700}.lede{font-size:17px;line-height:1.7;max-width:450px;margin-top:25px;color:var(--muted)}.actions{display:flex;gap:24px;align-items:center;margin-top:30px}.text-link{font-size:13px;font-weight:700}.quiet{font-size:11px;color:var(--muted);margin-top:18px}.hero-art{height:500px;position:relative}.hero-art>img{width:100%;height:100%;filter:saturate(.65)}.image-label{position:absolute;top:18px;left:18px;background:var(--paper);padding:7px 11px;font-size:9px;letter-spacing:1.2px;font-weight:700}.job-ticket{position:absolute;bottom:-20px;left:-28px;background:var(--orange);width:310px;padding:22px;transform:rotate(-4deg);box-shadow:7px 12px 0 #173e3526}.ticket-top{font-size:9px;font-weight:700;letter-spacing:1px;display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #173e3577}.job-ticket strong{display:block;font-size:34px;line-height:1.05;letter-spacing:-1px;margin:16px 0}.ticket-bottom{display:flex;justify-content:space-between;align-items:end;font-size:8px;letter-spacing:1px}.barcode{height:32px;width:80px;background:repeating-linear-gradient(90deg,var(--green) 0 2px,transparent 2px 4px,var(--green) 4px 5px,transparent 5px 8px)}.trade-strip{background:var(--green);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:23px 5vw;gap:18px;font-size:13px}.trade-strip i{color:var(--orange);font-size:20px;font-style:normal}.section{padding:88px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:38px}.section-head>p{max-width:360px;font-size:15px;color:var(--muted)}h2{font-size:clamp(32px,3.5vw,53px);line-height:1.1;letter-spacing:-1.9px}.trade-picker{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.trade-picker button{min-height:46px;padding:11px 18px;border:1px solid #9ea99e;background:transparent;color:var(--green);font-size:12px;font-weight:700;cursor:pointer}.trade-picker button:hover{background:#e2e7db}.trade-picker button[aria-pressed=true]{background:var(--green);color:white}.example-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:6vw;align-items:center}.browser-demo{background:#fff;border:1px solid #cad0c3;box-shadow:10px 10px 0 #e5e6db}.browser-bar{display:flex;justify-content:space-between;align-items:center;background:#e9ebe4;padding:11px 17px;font-size:9px;letter-spacing:1.4px;color:#506054}.demo-nav{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 24px;font-size:9px;border-bottom:1px solid #eee}.demo-nav b{font-size:13px;line-height:1.1}.demo-nav b span{display:block;font-size:7px;letter-spacing:1.5px;margin-top:5px}.demo-body{display:grid;grid-template-columns:1fr 1fr;min-height:280px}.demo-body>div:first-child{padding:32px 24px}.demo-body .eyebrow{font-size:8px;margin-bottom:15px}.demo-body h3{font-size:34px;line-height:1.05;letter-spacing:-1.3px}.demo-body p:not(.eyebrow){font-size:11px;line-height:1.7;margin-top:14px}.demo-cta{display:inline-block;padding:10px 13px;background:var(--green);color:white;font-size:9px;margin-top:22px}.demo-picture{position:relative;min-height:230px;overflow:hidden;background:#c7cfbd}.demo-picture img{width:100%;height:100%;filter:grayscale(1)}.demo-picture span{position:absolute;bottom:12px;left:12px;right:12px;background:var(--paper);font-size:8px;padding:7px;letter-spacing:1px}.demo-footer{border-top:1px solid #ddd;padding:13px 24px;font-size:8px;letter-spacing:1.4px}.example-notes h3{font-size:32px;line-height:1.1;letter-spacing:-1px}.example-notes ul{list-style:none;padding:0;margin:25px 0;font-size:14px}.example-notes li{border-top:1px solid var(--rule);padding:13px 0 13px 22px;position:relative}.example-notes li:before{content:'↗';position:absolute;left:0}.concept-note{font-size:11px;color:var(--muted);line-height:1.7}.included{background:#e8ecdf}.included .section-head{align-items:center}.deliverables{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.deliverables article{border-top:1px solid #a8b5a5;padding-top:18px}.number{font-size:11px;letter-spacing:1px}.deliverables h3{font-size:19px;letter-spacing:-.5px;margin:32px 0 12px}.deliverables p{font-size:14px;color:#46564b;line-height:1.75}.process{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--green);color:var(--paper)}.process h2 em{color:#f5a175}.process>div>p:last-child{font-size:15px;color:#d4dfd3;margin-top:26px;max-width:370px}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:27px;border-top:1px solid #698579;padding:23px 0}.process li>span{color:#f5a175;font-size:12px;padding-top:3px}.process li h3{font-size:20px;margin-bottom:10px}.process li p{font-size:14px;color:#d4dfd3;line-height:1.7}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.faq details{border-bottom:1px solid var(--rule);padding:20px 0}.faq details:first-child{border-top:1px solid var(--rule)}summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:15px;font-weight:700;list-style:none;min-height:24px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{margin-top:18px;font-size:14px;line-height:1.8;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#e8ecdf}.contact>div>p:not(.eyebrow){margin-top:24px;color:var(--muted);max-width:350px}.contact .email{display:inline-block;margin-top:27px;font-size:16px;font-weight:700;overflow-wrap:anywhere}.contact .contact-note{font-size:12px}form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}input,select,textarea{width:100%;min-width:0;border:1px solid #a5b1a0;background:var(--paper);color:var(--ink);padding:12px;font-size:14px;border-radius:0;min-height:46px}textarea{resize:vertical}form .button{width:100%}.form-help,#form-status{font-size:11px;color:#46564b}.form-help{margin-top:-6px}footer{padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer>a:last-child{font-size:12px}#email-fallback a{display:block;margin-top:12px;font-size:13px}@media(min-width:1500px){.hero,.section,header,footer,.trade-strip,.topline{padding-left:max(5vw,calc((100vw - 1380px)/2));padding-right:max(5vw,calc((100vw - 1380px)/2))}}@media(max-width:1000px){nav{gap:16px}.hero{gap:32px}.hero-art{height:460px}h1{letter-spacing:-2.5px}.actions{flex-direction:column;align-items:start;gap:18px}.job-ticket{width:260px;left:-15px}.job-ticket strong{font-size:30px}.example-layout{gap:32px;grid-template-columns:1.5fr 1fr}.demo-nav>span{display:none}.demo-body h3{font-size:27px}.deliverables{grid-template-columns:repeat(2,1fr);gap:30px}.trade-strip{flex-wrap:wrap;justify-content:center}.trade-strip i:last-of-type{display:none}}@media(max-width:700px){.topline{font-size:8px;letter-spacing:.8px;padding-inline:20px}header{padding:18px 20px;min-height:85px;flex-wrap:wrap;gap:20px}.brand{font-size:15px}header nav{order:3;justify-content:space-between;width:100%;font-size:12px}header .compact{font-size:12px;padding:10px 14px;gap:14px}.hero{display:block;padding:35px 20px 48px}.hero .eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:54px;letter-spacing:-2.8px}.lede{font-size:16px}.actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px}.button{padding:15px 18px}.hero-art{margin-top:34px;height:390px}.job-ticket{left:12px;bottom:-20px;width:250px}.trade-strip{font-size:11px;padding:20px;gap:12px}.trade-strip i{font-size:14px}.trade-strip i:nth-of-type(2){display:none}.section{padding:54px 20px}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:20px}.section-head .text-link{display:inline-block;margin-top:20px}h2{font-size:37px;letter-spacing:-1.5px}.example-layout,.process,.faq,.contact{grid-template-columns:1fr;gap:35px}.trade-picker{gap:6px}.trade-picker button{font-size:11px;padding:10px 12px}.browser-demo{box-shadow:5px 5px 0 #e5e6db}.demo-body{grid-template-columns:1.1fr 1fr;min-height:235px}.demo-body>div:first-child{padding:22px 16px}.demo-body h3{font-size:27px}.demo-body .eyebrow{font-size:7px}.demo-body p:not(.eyebrow){font-size:10px}.demo-nav{padding:16px}.demo-footer{padding:12px 16px;font-size:7px}.deliverables{gap:24px}.deliverables h3{margin-top:22px}.deliverables p{font-size:13px}.example-notes h3 br{display:none}.example-notes .eyebrow{margin-bottom:12px}.example-notes ul{margin:18px 0}.form-row{grid-template-columns:1fr}.contact{gap:30px}footer{padding:28px 20px;flex-wrap:wrap}footer p{order:3;width:100%}footer>a:last-child{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(pointer:fine){html{overscroll-behavior:none}}

[hidden]{display:none!important}

.brand{font-size:25px}.brand small{font-size:8px}@media(max-width:700px){.brand{font-size:23px}.brand small{font-size:7px;letter-spacing:1px}}

.sector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sector-grid h3{margin-top:8px}.regional-note{margin-top:32px;font-size:14px;color:var(--muted);max-width:80ch}@media(max-width:1000px){.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sector-grid{grid-template-columns:1fr}}

.pricing{background:#e8ecdf}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.price-card{display:flex;flex-direction:column;padding:28px;background:var(--paper);border:1px solid var(--rule)}.price-card h3{font-size:24px;letter-spacing:-.7px}.price-card .eyebrow{margin-bottom:15px}.price{font-size:43px;font-weight:700;letter-spacing:-1.5px;margin:14px 0}.price span{font-size:13px;font-weight:400;letter-spacing:0}.price-card>p:not(.price):not(.eyebrow){font-size:14px;color:var(--muted)}.price-card ul{padding-left:18px;margin:24px 0;flex:1;font-size:14px}.price-card li{margin-bottom:10px}.price-card .price-note{font-size:12px!important;margin-top:18px}.price-card .button{gap:12px}@media(max-width:1000px){.price-card{padding:20px}.price{font-size:35px}}@media(max-width:700px){.price-grid{grid-template-columns:1fr}.price-card{padding:25px}header nav{gap:12px;font-size:11px}}

/* Preserve the approved identity while keeping the broader message readable. */
.hero h1{font-size:clamp(42px,4.7vw,70px);letter-spacing:-2.5px}.price{font-variant-numeric:tabular-nums}@media(max-width:700px){.hero h1{font-size:44px;letter-spacing:-1.8px}.hero .lede{margin-top:20px}.hero .actions{margin-top:22px}input,select,textarea{font-size:16px}}

.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.65;cursor:default}#form-status{overflow-wrap:anywhere}#email-fallback .button{margin-bottom:12px}

/* Service pages share the approved RoePro design. */
.service-intro{padding-block:56px 72px;max-width:1380px;margin:auto}.service-intro>.eyebrow{margin-top:36px}.service-intro h1{max-width:1000px;font-size:clamp(42px,5.8vw,80px)}.service-intro .lede{max-width:65ch}.service-price{font-size:13px;color:var(--muted)}.service-price strong{display:block;font-size:30px;color:var(--ink);font-variant-numeric:tabular-nums}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 6vw}.service-grid article{border-top:1px solid #a8b5a5;padding-top:22px}.service-grid h2{font-size:28px;letter-spacing:-.8px;line-height:1.2}.service-grid p,.service-close p{margin-top:18px;line-height:1.8;color:var(--muted)}.service-close{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.service-close h3{font-size:25px}.service-close .button{margin-top:24px}.service-close a{overflow-wrap:anywhere}.service-footnote{padding-top:0;max-width:none;font-size:13px}.service-grid a:hover,.service-close p a:hover{color:#a63a12}@media(max-width:700px){.service-grid,.service-close{grid-template-columns:1fr;gap:32px}.service-intro{padding-block:32px 48px}.service-intro h1{letter-spacing:-1.8px}.service-intro .actions{align-items:flex-start;flex-direction:column}.service-grid h2{font-size:26px}}
