/* ProxyControl case. Styles are isolated from other portfolio cases. */
.proxycontrol-page { background:#fff; color:#222720; }
.pc-case { --pc-lime:#a4ec28; --pc-ink:#10160d; --pc-muted:#61675d; --pc-line:#e0e5da; padding-bottom:48px; }
.pc-case .pc-shell { max-width:1320px; padding:0 32px; }
.pc-case .breadcrumb { flex-wrap:wrap; gap:8px; font-size:12px; margin:12px 0 28px; }
.pc-case .breadcrumb__link--current { color:#4a681f; }
.pc-case h2 { font-size:clamp(30px,3.6vw,49px); line-height:1.12; letter-spacing:-.045em; font-weight:600; margin:0 0 24px; }
.pc-case h3 { font-size:23px; line-height:1.25; letter-spacing:-.025em; font-weight:600; margin:0 0 15px; }
.pc-case p { font-size:17px; line-height:1.75; margin:0 0 20px; }
.pc-case em { font-style:normal; color:#51751d; }
.pc-case strong { font-weight:600; }
.pc-case .pc-eyebrow { font-size:11px; font-weight:600; line-height:1.6; letter-spacing:.09em; text-transform:uppercase; color:#526c30; margin:0 0 24px; }
.pc-case a:focus-visible,.pc-case button:focus-visible { outline:3px solid #629519; outline-offset:5px; }
.pc-case section[id] { scroll-margin-top:100px; }
.pc-skip { position:fixed; top:-100px; left:20px; padding:16px; background:#fff; z-index:9999; }
.pc-skip:focus { top:20px; }
.pc-hero { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; overflow:hidden; border-radius:28px; background:#090c08; color:white; padding:50px 44px 0; }
.pc-hero-copy { position:relative; z-index:2; padding-bottom:38px; }
.pc-hero .pc-eyebrow { color:#b9c4ac; }
.pc-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--pc-lime); vertical-align:1px; margin-right:6px; }
.pc-case .project-title { font-size:clamp(38px,4.5vw,62px); font-weight:600; line-height:1.08; letter-spacing:-.055em; color:#fff; margin:0 0 24px; }
.pc-hero em,.pc-results em,.pc-cta em { color:var(--pc-lime); }
.pc-hero .pc-lead { max-width:490px; color:#c0c7b8; font-size:16px; line-height:1.7; margin-bottom:30px; }
.pc-button { display:flex; align-items:center; justify-content:space-between; gap:18px; border:0; border-radius:100px; background:var(--pc-lime); color:#142000; padding:19px 24px; font:inherit; font-size:14px; font-weight:600; line-height:1.5; text-align:left; cursor:pointer; transition:background .2s; }
.pc-button:hover { background:#b9fa4e; }
.pc-button>span { flex-shrink:0; font-size:24px; line-height:1; }
.pc-hero-proof { display:block; margin-top:22px; color:#c2cbb9; font-size:12px; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.pc-hero-proof span { color:var(--pc-lime); margin-right:6px; }
.pc-hero-visual { position:relative; display:flex; justify-content:center; align-items:center; align-self:stretch; min-width:0; padding:0 0 40px; }
.pc-hero-visual>.pc-image-link { position:relative; z-index:1; width:222px; transform:rotate(6deg); border:5px solid #30372a; border-radius:34px; box-shadow:0 35px 75px #000b; }
.pc-orbit { position:absolute; width:490px; height:490px; border-radius:50%; border:1px solid #a4ec2833; background:radial-gradient(circle,#a4ec281e,transparent 65%); }
.pc-orbit:after { content:""; position:absolute; inset:50px; border:1px solid #a4ec2822; border-radius:50%; }
.pc-float { position:absolute; z-index:2; bottom:65px; left:0; background:#1a2115f2; border:1px solid #6c803f; border-radius:14px; padding:16px 20px; font-size:16px; box-shadow:0 10px 30px #0008; }
.pc-float>span:last-child { display:block; font-size:10px; color:#bbc7ac; margin-top:6px; }
.pc-hero-foot { grid-column:1/-1; border-top:1px solid #ffffff26; padding:22px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#a1ad95; font-size:11px; line-height:1.6; }
.pc-summary { display:grid; grid-template-columns:repeat(3,1fr); padding:34px 0; border-bottom:1px solid var(--pc-line); gap:26px; }
.pc-summary>div { padding-left:36px; position:relative; }
.pc-summary>div+div { border-left:1px solid var(--pc-line); }
.pc-summary>div>span { position:absolute; left:10px; top:5px; color:#657c46; font-size:10px; }
.pc-summary strong { display:block; font-size:22px; line-height:1.3; margin-bottom:7px; }
.pc-summary p { font-size:13px; line-height:1.6; color:var(--pc-muted); margin:0; }
.pc-section { margin:100px 0; }
.pc-intro { display:grid; grid-template-columns:1fr 1.3fr; gap:60px; padding:0 12px; }
.pc-intro p { color:var(--pc-muted); }
.pc-intro a { color:#3e6116; text-decoration:underline; text-underline-offset:4px; }
.pc-intro .pc-quote { color:var(--pc-ink); font-size:24px; line-height:1.45; padding-left:24px; margin-top:28px; border-left:3px solid #95cd31; }
.pc-section-top { max-width:800px; }
.pc-section-top>p:not(.pc-eyebrow) { max-width:750px; color:var(--pc-muted); }
.pc-flow { background:#f3f6ed; padding:42px 36px 0; border-radius:28px; overflow:hidden; }
.pc-journey { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:36px; }
.pc-journey article { min-width:0; display:flex; flex-direction:column; }
.pc-step-head { display:flex; align-items:center; gap:12px; padding-top:20px; border-top:1px solid #d4dec7; margin-bottom:16px; }
.pc-step-head>span { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:32px; height:32px; background:#deebc8; border-radius:50%; font-size:12px; }
.pc-step-head h3 { font-size:20px; margin:0; }
.pc-journey p { font-size:14px; line-height:1.65; color:var(--pc-muted); flex:1; }
.pc-image-link { display:block; overflow:hidden; }
.pc-image-link img { display:block; width:100%; height:auto; }
.pc-journey .pc-image-link { width:100%; max-width:226px; margin:8px auto 0; border-radius:28px 28px 0 0; border:4px solid #22291a; border-bottom:0; }
.pc-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:35px; }
.pc-feature-grid article { border-top:1px solid var(--pc-line); padding-top:24px; }
.pc-feature-grid p { font-size:15px; color:var(--pc-muted); }
.pc-art { min-width:0; margin:28px 0 0; }
.pc-art .pc-image-link { border-radius:20px; background:#090c08; }
.pc-art figcaption { font-size:13px; line-height:1.6; color:var(--pc-muted); margin-top:12px; }
.pc-results { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; padding:52px 44px; background:#11170e; border-radius:28px; color:#fff; }
.pc-results .pc-eyebrow { color:#b9c4ac; }
.pc-results p { font-size:16px; color:#c5cebc; }
.pc-results small { display:block; font-size:11px; line-height:1.7; color:#a7b39c; max-width:450px; }
.pc-outcomes { display:flex; flex-direction:column; justify-content:center; }
.pc-outcomes>div { position:relative; padding:24px 0 24px 40px; border-top:1px solid #ffffff26; }
.pc-outcomes>div>span { position:absolute; left:0; top:24px; font-size:26px; color:var(--pc-lime); }
.pc-outcomes h3 { font-size:25px; margin-bottom:8px; }
.pc-outcomes p { margin:0; font-size:14px; }
.pc-proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:34px; }
.pc-proof-card { display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid #dce3d4; border-radius:20px; background:#f7f9f3; color:var(--pc-ink); transition:border-color .2s; }
.pc-proof-card:hover { border-color:#719743; }
.pc-proof-label { display:flex; justify-content:space-between; gap:12px; font-size:11px; line-height:1.6; color:#59674a; margin-bottom:26px; }
.pc-proof-label>span { font-size:18px; }
.pc-proof-card p { color:var(--pc-muted); font-size:15px; }
.pc-proof-link { font-size:13px; line-height:1.6; font-weight:600; margin-top:auto; text-decoration:underline; text-underline-offset:4px; }
.pc-proof-main { background:#dff6b3; border-color:#cde59f; padding:36px; }
.pc-proof-main h3 { font-size:38px; line-height:1.15; margin-top:35px; }
.pc-proof-main p { color:#455438; }
.pc-proof-side { display:grid; gap:22px; }
.pc-proof-side .pc-proof-label { margin-bottom:15px; }
.pc-proof-side h3 { margin-bottom:12px; }
.pc-engineering .pc-engineering-takeaway { margin:28px 0 0; padding:26px 30px; border-left:3px solid #91c934; font-size:16px; color:var(--pc-muted); background:#fafbf7; }
.pc-engineering-takeaway strong { color:var(--pc-ink); }
.pc-art-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pc-stores { display:flex; align-items:center; justify-content:space-between; gap:40px; border-top:1px solid var(--pc-line); border-bottom:1px solid var(--pc-line); padding:34px 0; }
.pc-stores .pc-eyebrow { margin-bottom:12px; }
.pc-stores h2 { font-size:30px; margin-bottom:10px; }
.pc-stores p { font-size:15px; color:var(--pc-muted); margin:0; }
.pc-store-links { display:flex; gap:12px; flex-shrink:0; }
.pc-store-links a { padding:16px 22px; border:1px solid #bbc6b0; border-radius:14px; min-width:170px; color:var(--pc-ink); }
.pc-store-links a:hover { background:#f1f6e9; }
.pc-store-links small { display:block; font-size:11px; color:var(--pc-muted); margin-bottom:6px; }
.pc-store-links strong { display:flex; justify-content:space-between; gap:20px; font-size:18px; }
.pc-number { display:block; margin-bottom:18px; color:#6a854b; font-size:12px; }
.pc-cta { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; padding:48px 40px; background:#11170e; color:white; border-radius:28px; }
.pc-cta .pc-eyebrow { color:#bdcaaa; }
.pc-cta p { color:#bdc8b2; font-size:16px; max-width:600px; margin:0; }
.pc-cta-actions { display:flex; flex-direction:column; justify-content:center; gap:23px; }
.pc-cta-actions>a { font-size:15px; color:#dce8cf; text-align:center; text-decoration:underline; text-underline-offset:5px; }
.pc-cta-actions p { font-size:12px; text-align:center; }
.pc-back { display:inline-block; margin:32px 0 0; font-size:14px; color:#52683c; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1100px) {
 .pc-hero { padding:36px 30px 0; grid-template-columns:1.3fr 1fr; }
 .pc-case .project-title { font-size:47px; }
 .pc-hero-visual>.pc-image-link { width:200px; }
 .pc-float { left:-12px; }
 .pc-journey { gap:22px; }
 .pc-step-head { align-items:flex-start; }
 .pc-step-head h3 { font-size:18px; }
 .pc-intro,.pc-results,.pc-cta { gap:32px; }
 .pc-stores { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media(max-width:800px) {
 .pc-case .pc-shell { padding:0 22px; }
 .pc-hero { grid-template-columns:1fr; padding:32px 26px 0; }
 .pc-case .project-title { font-size:clamp(38px,7.2vw,56px); }
 .pc-hero-copy { padding:0; }
 .pc-hero .pc-lead { max-width:580px; }
 .pc-hero-visual { padding:32px 0; margin:14px 0 0; }
 .pc-hero-visual>.pc-image-link { width:210px; }
 .pc-float { left:calc(50% - 155px); bottom:55px; }
 .pc-summary { gap:18px; }
 .pc-summary>div { padding-left:0; }
 .pc-summary>div+div { padding-left:15px; }
 .pc-summary>div>span { position:static; display:block; margin-bottom:8px; }
 .pc-summary strong { font-size:19px; }
 .pc-section { margin:66px 0; }
 .pc-intro { grid-template-columns:1fr; padding:0; gap:5px; }
 .pc-case p { font-size:16px; }
 .pc-case h2 { font-size:36px; }
 .pc-intro .pc-quote { font-size:23px; }
 .pc-flow { padding:30px 24px 0; }
 .pc-journey { gap:16px; }
 .pc-step-head { flex-direction:column; }
 .pc-journey p { font-size:13px; }
 .pc-feature-grid { gap:22px; }
 .pc-feature-grid h3 { font-size:21px; }
 .pc-feature-grid p { font-size:14px; }
 .pc-results { grid-template-columns:1fr; padding:34px 28px; gap:22px; }
 .pc-outcomes>div { padding-top:20px; padding-bottom:20px; }
 .pc-proof-grid { grid-template-columns:1fr; }
 .pc-proof-main { min-height:350px; }
 .pc-proof-main h3 { margin-top:0; }
 .pc-proof-side { grid-template-columns:1fr 1fr; }
 .pc-proof-card { padding:24px; }
 .pc-art-grid { grid-template-columns:1fr; gap:0; }
 .pc-cta { grid-template-columns:1fr; padding:34px 28px; gap:30px; }
 .pc-cta-actions { max-width:480px; width:100%; }
}
@media(max-width:580px) {
 .pc-case .pc-shell { padding:0 14px; }
 .pc-case .breadcrumb { font-size:10px; margin-bottom:20px; }
 .pc-hero { border-radius:22px; padding:26px 20px 0; }
 .pc-case .project-title { font-size:clamp(32px,8.4vw,46px); }
 .pc-case .pc-eyebrow { font-size:10px; margin-bottom:20px; }
 .pc-hero .pc-lead { font-size:15px; }
 .pc-button { font-size:13px; width:100%; padding:17px 20px; }
 .pc-hero-proof { font-size:11px; }
 .pc-hero-visual>.pc-image-link { width:185px; }
 .pc-float { left:calc(50% - 125px); padding:14px 16px; font-size:14px; }
 .pc-hero-foot { font-size:10px; }
 .pc-summary { grid-template-columns:1fr; padding:26px 0; gap:18px; }
 .pc-summary>div,.pc-summary>div+div { border:0; padding-left:35px; }
 .pc-summary>div>span { position:absolute; left:0; top:4px; }
 .pc-summary p { font-size:13px; }
 .pc-summary strong { margin-bottom:4px; }
 .pc-case h2 { font-size:31px; }
 .pc-section { margin:56px 0; }
 .pc-flow { padding:28px 20px 26px; }
 .pc-journey { grid-template-columns:1fr; gap:30px; margin-top:28px; }
 .pc-step-head { flex-direction:row; align-items:center; }
 .pc-step-head h3 { font-size:20px; }
 .pc-journey p { font-size:15px; }
 .pc-journey .pc-image-link { max-width:224px; border-radius:28px; border-bottom:4px solid #22291a; }
 .pc-feature-grid { grid-template-columns:1fr; gap:8px; margin-top:24px; }
 .pc-feature-grid p { font-size:15px; }
 .pc-feature-grid h3 { font-size:23px; }
 .pc-art .pc-image-link { border-radius:12px; }
 .pc-art figcaption { font-size:12px; }
 .pc-results { padding:30px 22px; }
 .pc-results p { font-size:15px; }
 .pc-outcomes p { font-size:14px; }
 .pc-proof-side { grid-template-columns:1fr; }
 .pc-proof-main { min-height:370px; }
 .pc-proof-main h3 { font-size:31px; }
 .pc-proof-card p { font-size:15px; }
 .pc-engineering .pc-engineering-takeaway { padding:20px; font-size:15px; }
 .pc-store-links { flex-direction:column; width:100%; }
 .pc-store-links a { width:100%; }
 .pc-cta { padding:30px 22px; }
 .pc-cta p { font-size:15px; }
 .pc-cta-actions p { font-size:12px; }
 .pc-number { margin-bottom:12px; }
}
@media(prefers-reduced-motion:reduce) { .pc-case * { transition:none!important; animation:none!important; } }
