/* Secondary page system — shared brand language, page-specific compositions. */
.secondary-page{overflow:hidden}
.secondary-page h1 span,.secondary-page h2 span{color:var(--orange)}
.sp-grid-bg{position:relative;isolation:isolate}
.sp-grid-bg::before{position:absolute;z-index:-1;inset:0;opacity:.18;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 8%,#000 75%,transparent);content:""}
.sp-hero{padding-block:clamp(4rem,7vw,7rem);border-bottom:1px solid var(--line)}
.sp-hero-grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(530px,1.1fr);align-items:center;gap:clamp(3rem,7vw,7rem)}
.sp-hero-copy h1{max-width:680px;font-size:clamp(3.5rem,5.3vw,5.55rem)}
.sp-hero-copy .lead{max-width:610px}
.sp-heading{display:grid;grid-template-columns:1.15fr .75fr;align-items:end;gap:clamp(2rem,6vw,6rem);margin-bottom:2.8rem}
.sp-heading h2{max-width:760px;margin:0}
.sp-heading>p{max-width:560px;margin:0;color:var(--muted);font-size:1.04rem}
.dark-section .sp-heading>p{color:var(--body-on-dark)}
.sp-closing{border-top:1px solid var(--line);background:var(--paper)}
.sp-closing-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(2rem,7vw,8rem)}
.sp-closing h2{margin:0}
.sp-closing-grid>div:last-child p{max-width:560px;margin-bottom:1.5rem;color:var(--muted);font-size:1.05rem}

/* Website fixes — diagnostic fault console and repair board. */
.fault-console{min-height:500px;position:relative}
.ui-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;background:var(--graphite);color:var(--body-on-dark)}
.ui-bar i{width:8px;height:8px;border-radius:50%;background:#aaa7a2}
.ui-bar i:first-child{background:var(--orange)}
.ui-bar b{margin-left:auto;font-size:.62rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.fault-page{height:300px;position:relative;overflow:hidden;border:1px solid var(--line);border-top:0;background:#eeebe5;box-shadow:var(--shadow)}
.fault-nav,.fault-title,.fault-copy,.fault-panel{position:absolute;display:block;background:#c9c5be}
.fault-nav{top:28px;right:28px;width:45%;height:5px;box-shadow:0 16px #d3cfc8;transform:translateX(16px)}
.fault-title{top:82px;left:32px;width:43%;height:30px;box-shadow:0 45px #d3cfc8,0 59px #d3cfc8}
.fault-copy{top:203px;left:32px;width:33%;height:7px}
.fault-form{position:absolute;right:28px;bottom:28px;width:44%;padding:1rem;border:1px solid var(--orange);background:#fff;color:var(--orange);font-size:.74rem;font-weight:760}
.fault-form::before{margin-right:.5rem;content:"!"}
.fault-panel{top:82px;right:28px;width:37%;height:92px;background:repeating-linear-gradient(135deg,#ddd9d1 0 6px,#e9e6e0 6px 12px)}
.fault-labels{position:absolute;z-index:2;right:-1rem;bottom:14px;left:1.2rem;display:flex;flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none}
.fault-labels li{min-width:130px;display:grid;gap:.1rem;padding:.65rem .8rem;border-top:2px solid var(--orange);background:rgba(252,251,248,.93);box-shadow:0 10px 24px rgba(26,26,29,.08);font-size:.72rem}
.fault-labels li:nth-child(even){transform:translateY(10px)}
.fault-labels li span{font-weight:760}
.fault-labels li em{color:var(--muted);font-size:.62rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.repair-stamp{position:absolute;z-index:3;top:24px;right:-22px;padding:.42rem .65rem;border:1px solid var(--orange);background:var(--off-white);color:var(--orange);font-size:.64rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;transform:rotate(2deg)}
.fault-table{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(3rem,8vw,8rem)}
.fault-table article{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:2rem;padding:1.8rem 0 2rem 2rem;border-bottom:1px solid var(--line)}
.fault-table article::before{position:absolute;top:2.35rem;left:0;width:1rem;height:3px;background:var(--orange);content:""}
.fault-table article:nth-child(even){transform:translateY(2.3rem)}
.fault-table h3,.fault-table p{margin:0}
.fault-table p{color:var(--muted)}
.repair-board-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.repair-board-grid>div:first-child p:last-child{max-width:470px;color:var(--body-on-dark)}
.repair-track{border-top:1px solid var(--line-dark)}
.repair-track div{display:grid;grid-template-columns:55px 1fr auto;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--line-dark)}
.repair-track b{color:var(--orange)}
.repair-track span{font-size:1.05rem;font-weight:720}
.repair-track em{color:#aaa7a2;font-size:.68rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase}
.repair-track .is-resolved em{padding:.35rem .55rem;background:var(--orange);color:var(--graphite);font-weight:820}

/* Online shop — transactional system. */
.commerce-console{min-height:500px;position:relative}
.commerce-product,.commerce-cart,.commerce-payment{position:absolute;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.commerce-product{top:10px;left:0;width:57%;padding:1.2rem}
.commerce-product small,.commerce-cart small{display:block;padding-bottom:.7rem;border-bottom:1px solid var(--line);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-image{height:125px;display:block;margin:.9rem 0;background:linear-gradient(135deg,#dedad3,#f4f1eb)}
.product-image::after{width:62px;height:82px;display:block;margin:auto;background:var(--graphite);content:"";clip-path:polygon(22% 0,38% 12%,62% 12%,78% 0,100% 22%,82% 35%,82% 100%,18% 100%,18% 35%,0 22%);transform:translateY(18px)}
.commerce-product>strong{display:block;margin-bottom:.8rem}
.commerce-product label{display:grid;gap:.25rem;color:var(--muted);font-size:.68rem}
.commerce-product select{width:100%;padding:.55rem;border:1px solid var(--line);background:white;color:var(--muted)}
.commerce-product button{width:100%;margin-top:.7rem;padding:.65rem;border:0;background:var(--graphite);color:white;font-size:.72rem;font-weight:750}
.commerce-cart{z-index:2;top:100px;right:0;width:50%;padding:1.2rem}
.commerce-cart p{display:flex;justify-content:space-between;margin:0;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.76rem}
.commerce-cart .warning{color:var(--orange)}
.commerce-cart>strong{display:flex;justify-content:space-between;margin-top:1rem}
.commerce-payment{z-index:3;right:8%;bottom:18px;width:49%;padding:1rem;border-color:var(--orange)}
.commerce-payment span,.commerce-payment b{display:block;font-size:.68rem}
.commerce-payment b{margin:.25rem 0 .8rem;color:var(--orange)}
.commerce-payment i{height:6px;display:block;background:repeating-linear-gradient(120deg,var(--orange) 0 10px,#78401e 10px 20px)}
.system-marker{position:absolute;z-index:4;padding:.3rem .45rem;border:1px solid var(--orange);background:var(--off-white);color:var(--orange);font-size:.58rem;font-weight:820;text-transform:uppercase}
.marker-cart{top:70px;right:5%}.marker-ship{right:-5%;bottom:156px}.marker-pay{left:33%;bottom:0}
.transaction-line{display:grid;grid-template-columns:repeat(5,1fr);margin:3rem 0 0;padding:0;list-style:none}
.transaction-line li{position:relative;min-height:170px;padding:1.5rem;border:1px solid var(--line);border-right:0}
.transaction-line li:last-child{border-right:1px solid var(--line)}
.transaction-line li:not(:last-child)::after{position:absolute;z-index:2;top:50%;right:-8px;width:14px;height:14px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);content:"";transform:rotate(45deg)}
.transaction-line b{display:block;margin-bottom:2rem;color:var(--orange);font-size:.7rem}
.transaction-line span{display:block;font-size:1.15rem;font-weight:760}
.transaction-line small{color:var(--muted)}
.shop-operations-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.shop-operations-grid>div:first-child p:last-child{color:var(--body-on-dark)}
.operations-ledger p{display:grid;grid-template-columns:1fr auto;gap:1rem;margin:0;padding:1.15rem 0;border-top:1px solid var(--line-dark)}
.operations-ledger p:last-child{border-bottom:1px solid var(--line-dark)}
.operations-ledger b{color:var(--orange);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.migration-note-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,8vw,9rem)}
.migration-route{min-height:260px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:2rem;border:1px solid var(--line);background:var(--paper)}
.migration-route b{font-size:clamp(1.4rem,3vw,2.4rem);text-align:center}
.migration-route i{color:var(--orange);font-size:2.5rem;font-style:normal}
.migration-note-grid p{color:var(--muted)}
.migration-note-grid a{color:var(--orange);font-weight:760;text-decoration:none}

/* Website improvements — split comparison and refinement. */
.compare-stage{min-height:465px;position:relative}
.compare-pane{position:absolute;top:35px;bottom:45px;width:52%;padding:1.1rem;border:1px solid var(--line);background:#ebe8e2;box-shadow:0 16px 35px rgba(26,26,29,.1)}
.compare-before{left:0;opacity:.75;transform:translateY(20px) rotate(-1deg)}
.compare-after{right:0;z-index:2;background:var(--paper);transform:rotate(1deg)}
.compare-pane small{display:inline-block;margin-bottom:1.6rem;color:var(--orange);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.compare-bar{height:23px;display:block;margin:-1.1rem -1.1rem 2rem;background:var(--graphite)}
.compare-pane i{width:80%;height:8px;display:block;margin:.8rem 0;background:#cecac3}
.compare-pane i:nth-of-type(2){width:60%}
.compare-pane i:nth-of-type(3){width:92%}
.compare-before b{height:140px;display:block;margin-top:2rem;background:repeating-linear-gradient(135deg,#d9d5ce 0 8px,#e7e4de 8px 16px)}
.compare-after strong{display:block;margin:1rem 0 2rem;font-size:1.8rem;line-height:1.08}
.compare-after button{margin-top:2rem;padding:.65rem 1rem;border:0;background:var(--orange);font-weight:800}
.compare-divider{position:absolute;z-index:4;top:0;bottom:0;left:50%;border-left:1px dashed var(--orange)}
.compare-divider b{position:absolute;top:45%;left:50%;padding:.4rem .55rem;background:var(--orange);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;transform:translate(-50%,-50%) rotate(-90deg)}
.compare-stage>em{position:absolute;z-index:4;color:var(--orange);font-size:.65rem;font-style:normal;font-weight:800;text-transform:uppercase}
.measure-x{top:10px;right:7%}.measure-y{right:-12px;bottom:24%;transform:rotate(90deg)}
.refinement-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(3rem,8vw,9rem)}
.performance-readout{padding:1.2rem 1.8rem;border:1px solid var(--line);background:var(--paper)}
.performance-readout div{display:grid;grid-template-columns:150px 1fr 90px;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.performance-readout div:last-child{border:0}
.performance-readout span{font-weight:720}
.performance-readout i{height:7px;display:block;background:linear-gradient(90deg,var(--orange) var(--score),#ddd9d2 var(--score))}
.performance-readout b{color:var(--orange);font-size:.65rem;text-align:right;text-transform:uppercase}
.blueprint-split{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark)}
.blueprint-split div{min-height:210px;padding:2rem;border-right:1px solid var(--line-dark)}
.blueprint-split div:first-child{padding-left:0}
.blueprint-split div:last-child{border:0}
.blueprint-split span{color:var(--orange);font-size:.68rem;font-weight:820;letter-spacing:.1em;text-transform:uppercase}
.blueprint-split p{margin-top:2rem;color:var(--body-on-dark)}

/* New websites — progressive build. */
.build-stage{min-height:500px;position:relative}
.build-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);border:1px solid var(--line)}
.build-grid i{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.build-frame{position:absolute;z-index:2;inset:50px 55px 95px 15px;border:1px solid var(--graphite);background:rgba(247,245,241,.9);box-shadow:var(--shadow)}
.build-frame::before{height:30px;display:block;background:var(--graphite);content:"●  ●  ●";color:#aaa7a2;padding-left:10px;font-size:.5rem;line-height:30px;letter-spacing:3px}
.build-nav{position:absolute;top:54px;right:25px;width:42%;height:5px;background:#c8c4bd}
.build-copy{position:absolute;top:95px;left:30px;width:43%;height:62px;border:1px dashed var(--orange);background:repeating-linear-gradient(0deg,transparent 0 14px,#cbc7c0 15px 20px)}
.build-image{position:absolute;top:88px;right:25px;bottom:30px;width:42%;border:1px solid #c6c2bb;background:linear-gradient(45deg,transparent 49.5%,#cbc7c0 50%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,#cbc7c0 50%,transparent 50.5%)}
.build-cta{position:absolute;left:30px;bottom:55px;width:110px;height:34px;background:var(--orange)}
.build-mobile{position:absolute;z-index:3;right:0;bottom:50px;width:125px;height:240px;padding:25px 12px;border:1px solid var(--graphite);border-radius:10px;background:var(--paper);box-shadow:0 15px 34px rgba(26,26,29,.16)}
.build-mobile span{height:4px;display:block;background:var(--graphite)}
.build-mobile i{height:45px;display:block;margin-top:15px;border:1px dashed var(--orange)}
.build-mobile b{height:28px;display:block;margin-top:16px;background:var(--orange)}
.build-stage ol{position:absolute;z-index:4;right:25px;bottom:0;left:40px;display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:.85rem;background:var(--graphite);color:#aaa7a2;font-size:.62rem;font-weight:780;list-style:none;text-align:center;text-transform:uppercase}
.build-stage li::before{margin-right:.35rem;content:"□"}
.build-stage li.done{color:var(--body-on-dark)}
.build-stage li.done::before{color:var(--orange);content:"✓"}
.build-stage li.active{color:var(--orange)}
.build-layers{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;border-top:1px solid var(--graphite);list-style:none}
.build-layers li{min-height:260px;padding:2rem;border-right:1px solid var(--line)}
.build-layers li:last-child{border:0}
.build-layers b{color:var(--orange);font-size:.72rem}
.build-layers h3{margin-top:3rem}
.build-layers p{color:var(--muted)}
.ownership-grid{display:grid;grid-template-columns:.7fr 1.1fr .8fr;align-items:center;gap:clamp(2rem,6vw,6rem)}
.ownership-sheet{padding:1.2rem 1.7rem;border:1px solid var(--line-dark)}
.ownership-sheet p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line-dark)}
.ownership-sheet p:last-child{border:0}
.ownership-sheet span{color:#aaa7a2}
.ownership-sheet b{color:var(--orange);text-align:right}
.ownership-grid>div:last-child p{color:var(--body-on-dark)}
.ownership-grid a{color:var(--orange);font-weight:760;text-decoration:none}

/* Our work — editorial evidence. */
.work-editorial-intro{padding-block:clamp(3.5rem,5.5vw,5.5rem) clamp(2.5rem,4vw,4rem)}
.work-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:end;gap:clamp(3rem,8vw,9rem)}
.work-editorial-intro h1{max-width:760px;margin-bottom:0;font-size:clamp(3.5rem,5vw,5.25rem)}
.work-editorial-intro .lead{max-width:620px}
.editorial-index{display:grid;margin-top:2rem;border-top:1px solid var(--graphite)}
.editorial-index a{position:relative;display:grid;gap:.15rem;padding:1rem 1.5rem 1rem 0;border-bottom:1px solid var(--line);text-decoration:none}
.editorial-index a::after{position:absolute;top:50%;right:.2rem;color:var(--orange);content:"↘";transform:translateY(-50%)}
.editorial-index a:hover span{color:var(--orange)}
.editorial-index span{font-size:1rem;font-weight:760}
.editorial-index em{color:var(--muted);font-size:.75rem;font-style:normal}
.case-study{padding-block:clamp(3.8rem,6vw,6rem)}
.case-study-grid{display:grid;grid-template-columns:.58fr 1.42fr;align-items:center;gap:clamp(2.5rem,5vw,5rem)}
.case-study--dark .case-copy{order:2}
.case-copy h2{max-width:560px}
.case-copy>p:not(.eyebrow){max-width:560px;color:var(--muted);font-size:1rem}
.case-study--dark .case-copy>p:not(.eyebrow){color:var(--body-on-dark)}
.case-copy dl{margin:2rem 0;border-top:1px solid var(--line)}
.case-study--dark .case-copy dl{border-color:var(--line-dark)}
.case-copy dl div{display:grid;grid-template-columns:.65fr 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.case-study--dark .case-copy dl div{border-color:var(--line-dark)}
.case-copy dt{color:var(--orange);font-size:.7rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.case-copy dd{margin:0;font-weight:700}
.button--dark{border-color:var(--off-white);color:var(--off-white)}
.case-visual{min-width:0;position:relative;padding:.6rem 0 1.6rem 1.7rem}
.case-visual::before{position:absolute;z-index:0;top:13%;bottom:0;left:0;width:38%;background:var(--orange-soft);content:""}
.case-study--dark .case-visual::before{opacity:.14;background:var(--orange)}
.case-browser{position:relative;z-index:1;overflow:hidden;border:0;background:white;box-shadow:0 30px 65px rgba(26,26,29,.2);transform:rotate(-.7deg)}
.case-study--dark .case-browser{transform:rotate(.7deg)}
.case-browser img{width:100%;aspect-ratio:16/9.3;display:block;object-fit:cover;object-position:top}
.case-annotation{position:absolute;z-index:2;padding:.35rem .5rem;border:1px solid var(--orange);background:var(--off-white);color:var(--orange);font-size:.6rem;font-weight:820;letter-spacing:.05em;text-transform:uppercase}
.annotation-one{top:4px;right:15%}.annotation-two{right:-10px;bottom:18%}
.case-study--dark .case-annotation{background:var(--graphite)}
.evidence-line{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2.3rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.case-study--dark .evidence-line{border-color:var(--line-dark)}
.evidence-line span{position:relative;padding-left:.8rem;color:var(--muted);font-size:.65rem;font-weight:750;text-transform:uppercase}
.case-study--dark .evidence-line span{color:var(--body-on-dark)}
.evidence-line span::before{position:absolute;top:.55em;left:0;width:4px;height:4px;background:var(--orange);content:""}

/* How it works — work order and process board. */
.process-hero{padding-block:clamp(4.5rem,8vw,8rem)}
.process-hero-grid{display:grid;grid-template-columns:1fr .75fr;align-items:center;gap:clamp(3rem,8vw,9rem)}
.process-hero h1{max-width:760px}
.work-order{position:relative;padding:1.8rem 2rem 2rem;border-top:8px solid var(--graphite);background:var(--paper);box-shadow:-18px 20px 0 #e9e5de,0 28px 60px rgba(26,26,29,.14);transform:rotate(.8deg)}
.work-order::before{position:absolute;z-index:-1;inset:16px -14px -14px 18px;border:1px solid rgba(26,26,29,.14);content:""}
.work-order::after{position:absolute;top:-16px;right:30px;width:92px;height:22px;background:rgba(255,106,0,.5);content:"";transform:rotate(-2deg)}
.order-head{display:flex;justify-content:space-between;padding-bottom:.9rem;border-bottom:1px solid var(--graphite)}
.order-head span{color:var(--orange);font-size:.65rem;font-weight:820}
.order-detail{padding:1.3rem 0 1.1rem}
.order-detail small{display:block;margin-bottom:.45rem;color:var(--orange);font-size:.62rem;font-weight:820;letter-spacing:.1em;text-transform:uppercase}
.order-detail strong{display:block;max-width:420px;font-size:1.25rem;line-height:1.25}
.order-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.order-meta p{display:grid;gap:.25rem;margin:0;padding:.8rem 0}
.order-meta span{color:var(--muted);font-size:.62rem;text-transform:uppercase}
.order-meta b{font-size:.76rem}
.order-checks{display:flex;flex-wrap:wrap;gap:.45rem;padding-block:1rem}
.order-checks b{padding:.38rem .5rem;color:#87837d;font-size:.61rem;font-weight:760;text-transform:uppercase}
.order-checks b::before{margin-right:.35rem;content:"□"}
.order-checks .is-checked{color:var(--graphite)}
.order-checks .is-checked::before{color:var(--orange);content:"✓"}
.order-checks .is-active{background:var(--orange-soft);color:#9c4200}
.order-progress{display:flex;align-items:center;gap:.7rem}
.order-progress i{height:6px;flex:1;background:repeating-linear-gradient(120deg,var(--orange) 0 10px,#8a4a22 10px 20px)}
.order-progress span{color:var(--orange);font-size:.62rem;font-weight:820;text-transform:uppercase}
.order-note{margin:.9rem 0 1rem;padding-left:.8rem;border-left:2px solid var(--orange);color:var(--muted);font-family:"Segoe Print","Bradley Hand",cursive;font-size:.73rem;font-style:italic;transform:rotate(-.4deg)}
.work-order>em{display:block;padding-top:.7rem;border-top:1px solid var(--line);color:var(--muted);font-size:.62rem;font-style:normal;font-weight:750;text-align:center}
.order-stamp{position:absolute;right:-20px;bottom:24px;padding:.38rem .55rem;background:var(--orange);color:var(--graphite);font-size:.59rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;transform:rotate(-2deg)}
.full-process ol{max-width:980px;margin:3rem 0 0 auto;padding:0;border-top:1px solid var(--graphite);list-style:none}
.full-process li{display:grid;grid-template-columns:65px 1fr 140px;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.full-process li>b{color:var(--orange)}
.full-process h3,.full-process p{margin:0}
.full-process p{color:var(--muted)}
.full-process em{color:var(--muted);font-size:.65rem;font-style:normal;letter-spacing:.09em;text-align:right;text-transform:uppercase}
.estimate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.estimate-grid article{min-height:340px;display:flex;flex-direction:column;padding:1.7rem;border:1px solid var(--line-dark)}
.estimate-grid small{color:var(--orange);font-weight:820;letter-spacing:.08em}
.estimate-grid h3{margin-top:2rem}
.estimate-grid strong{margin:1rem 0;color:var(--orange);font-size:clamp(2rem,3vw,3rem)}
.estimate-grid strong em{display:block;color:#aaa7a2;font-size:.62rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.estimate-grid p{color:var(--body-on-dark)}
.estimate-grid>article>span{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line-dark);font-size:.72rem;font-weight:750}

/* About — deliberately quieter and more human. */
.about-hero{padding-block:clamp(5rem,10vw,10rem)}
.about-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(3rem,8vw,9rem)}
.about-hero h1{max-width:850px;margin:0}
.about-intro .lead{margin-bottom:2rem}
.about-intro p:last-child{max-width:600px;color:var(--muted)}
.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(4rem,9vw,10rem)}
.workspace-sheet{min-height:390px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem) clamp(2rem,4vw,3rem) clamp(3rem,6vw,5rem);background:linear-gradient(115deg,var(--orange-soft) 0 12%,transparent 12%)}
.workspace-sheet::before{position:absolute;top:11%;bottom:11%;left:1.2rem;width:3px;background:var(--orange);content:""}
.corner-mark{position:absolute;top:7%;left:0;width:36px;height:36px;border-top:2px solid var(--orange);border-left:2px solid var(--orange)}
.sheet-label{color:var(--orange);font-size:.67rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.workspace-sheet blockquote{position:relative;margin:2rem 0;font-size:clamp(1.55rem,3vw,2.55rem);font-weight:720;letter-spacing:-.03em;line-height:1.18}
.workspace-sheet blockquote::before{position:absolute;top:-.5em;left:-.42em;color:rgba(255,106,0,.2);content:"“";font-size:5rem;line-height:1}
.sheet-signoff{display:flex;justify-content:space-between;padding-top:1.2rem;border-top:1px solid var(--line)}
.sheet-signoff b{font-size:.72rem;letter-spacing:.08em}
.experience-grid>div:last-child p:not(.eyebrow){color:var(--muted)}
.experience-grid a{color:var(--orange);font-weight:760;text-decoration:none}
.principle-lines{border-top:1px solid var(--graphite)}
.principle-lines p{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:2rem;margin:0;padding:1.35rem 0 1.35rem 2rem;border-bottom:1px solid var(--line)}
.principle-lines p::before{position:absolute;top:2rem;left:0;width:1rem;height:3px;background:var(--orange);content:""}
.principle-lines span{font-weight:750}
.principle-lines em{color:var(--muted);font-style:normal}
.about-focus-grid{display:grid;grid-template-columns:.8fr 1fr auto;align-items:center;gap:clamp(2rem,6vw,6rem)}
.about-focus-grid>p{color:var(--body-on-dark)}

/* Contact — job-start form. */
.contact-intro{padding-block:clamp(4.5rem,7vw,7rem)}
.contact-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(3rem,8vw,9rem)}
.contact-intro h1{max-width:780px}
.intake-preview{min-height:350px;position:relative;display:flex;align-items:flex-start;padding:2.2rem 0 0 1.8rem}
.intake-preview::before{position:absolute;inset:0 18% 12% 0;background:var(--orange-soft);content:"";clip-path:polygon(0 0,100% 0,92% 100%,6% 92%)}
.intake-message{position:relative;z-index:2;width:82%;padding:1.7rem 1.8rem 1.5rem;border-left:4px solid var(--orange);background:var(--paper);box-shadow:0 25px 55px rgba(26,26,29,.13);transform:rotate(-.7deg)}
.intake-message small{color:var(--orange);font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.intake-message blockquote{margin:1.25rem 0;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:680;letter-spacing:-.025em;line-height:1.28}
.intake-message span{color:var(--muted);font-size:.68rem}
.intake-route{position:absolute;z-index:3;right:0;bottom:25px;width:58%;padding:.75rem 1rem;background:var(--graphite);color:var(--off-white);box-shadow:0 15px 32px rgba(26,26,29,.2)}
.intake-route p{display:grid;grid-template-columns:.75fr 1.25fr;gap:.6rem;margin:0;padding:.55rem 0;border-bottom:1px solid var(--line-dark);font-size:.68rem}
.intake-route p:last-child{border:0}
.intake-route span{color:#aaa7a2}
.intake-route b{color:var(--body-on-dark)}
.intake-preview>em{position:absolute;z-index:4;right:7%;bottom:5px;padding:.38rem .55rem;background:var(--orange);color:var(--graphite);font-size:.59rem;font-style:normal;font-weight:850;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-2deg)}
.enquiry-layout{display:grid;grid-template-columns:.55fr 1.25fr;align-items:start;gap:clamp(3rem,8vw,9rem)}
.enquiry-layout aside{position:sticky;top:120px}
.enquiry-layout aside>p:not(.eyebrow){color:var(--muted)}
.contact-notes{margin-top:2rem;border-top:1px solid var(--graphite)}
.contact-notes p{display:grid;gap:.35rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.contact-notes b{color:var(--orange);font-size:.69rem;letter-spacing:.08em;text-transform:uppercase}
.contact-notes span{color:var(--muted);font-size:.83rem}
.job-form{padding:clamp(1.5rem,4vw,3rem);border-top:4px solid var(--graphite);background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.12))}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.job-form label,.job-form legend{color:var(--graphite);font-size:.76rem;font-weight:760}
.job-form label>span,.job-form legend>span{color:var(--orange)}
.job-form input[type="text"],.job-form input[type="email"],.job-form input[type="url"],.job-form textarea{width:100%;display:block;margin:.45rem 0 1.2rem;padding:.9rem;border:0;border-bottom:1px solid #8f8b85;border-radius:0;background:rgba(255,255,255,.72);color:var(--graphite);font:inherit}
.job-form textarea{border:1px solid #aaa7a2;resize:vertical}
.job-form input:focus,.job-form textarea:focus{outline:3px solid rgba(255,106,0,.22);border-color:var(--orange)}
.job-form fieldset{margin:.5rem 0 1.3rem;padding:0;border:0}
.service-choice{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.service-choice label{position:relative}
.service-choice input{position:absolute;opacity:0}
.service-choice span{min-height:44px;display:flex;align-items:center;padding:.65rem .8rem;border:1px solid var(--line);color:var(--graphite);font-weight:680;cursor:pointer}
.service-choice span::before{width:11px;height:11px;margin-right:.55rem;border:1px solid var(--graphite);content:""}
.service-choice input:checked+span{border-color:var(--orange);background:var(--orange-soft)}
.service-choice input:checked+span::before{border:3px solid var(--orange)}
.service-choice input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.message-field{display:block;margin-top:.5rem}
.form-submit{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
.form-submit p{max-width:440px;margin:0;color:var(--muted);font-size:.72rem}
.form-submit button{flex:0 0 auto}
.honeypot{position:absolute;left:-9999px}
.form-notice{margin-bottom:1.2rem;padding:1rem;border-left:4px solid var(--orange);background:var(--orange-soft)}
.form-notice--error{border-color:#a52f23;background:#fae4e1}
.contact-next{padding-block:2.5rem}
.contact-next-grid{display:grid;grid-template-columns:.8fr repeat(3,1fr);align-items:center;gap:1rem}
.contact-next .eyebrow{margin:0}
.contact-next-grid>p:not(.eyebrow){display:grid;grid-template-columns:35px 1fr;margin:0;padding:1rem;border-left:1px solid var(--line-dark)}
.contact-next-grid b{color:var(--orange)}
.contact-next-grid span{color:var(--body-on-dark)}

/* Legal pages. */
.tr-legal-page{overflow:hidden}
.tr-legal-body{padding-block:clamp(3rem,5vw,5rem)}
.tr-legal-body>.container{width:calc(100% - 2rem);max-width:1400px;display:block;margin-inline:auto}
.tr-legal-content{width:min(100%,1040px);max-width:none;margin:0}
.tr-legal-updated{margin:0 0 1.6rem;color:var(--graphite);font-size:.82rem;font-weight:760}
.tr-legal-intro{width:100%;margin-bottom:clamp(3rem,5vw,5rem)}
.tr-legal-intro p{width:100%;margin:0 0 1.15rem;color:var(--muted);font-size:1.05rem;line-height:1.75}
.tr-legal-content h2{width:100%;max-width:none;margin:clamp(3.5rem,6vw,5.5rem) 0 1.4rem;color:var(--graphite);font-size:clamp(2.35rem,4vw,3.7rem);line-height:.98;letter-spacing:-.045em}
.tr-legal-content h2:first-of-type{margin-top:0}
.tr-legal-content h3{width:100%;max-width:none;margin:2rem 0 .65rem;color:var(--graphite);font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.2;letter-spacing:-.025em}
.tr-legal-content p,.tr-legal-content ul,.tr-legal-content ol{width:100%;max-width:none;color:var(--graphite);font-size:1rem;line-height:1.72}
.tr-legal-content p{margin:0 0 1.25rem}
.tr-legal-content ul,.tr-legal-content ol{margin:.6rem 0 1.6rem;padding-left:1.6rem}
.tr-legal-content li{margin-bottom:.28rem}
.tr-legal-content strong{font-weight:760}
.tr-legal-content a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.tr-legal-content a:hover{color:var(--orange)}
.tr-legal-contact{margin-top:1.5rem;padding:1.35rem 0 0;border-top:1px solid var(--line)}

/* Consistent intervention labels. */
.repair-stamp,.system-marker,.case-annotation{min-height:26px;display:inline-flex;align-items:center;padding:.34rem .52rem;border:1px solid var(--orange);color:var(--orange);font-size:.59rem;font-weight:850;letter-spacing:.065em;line-height:1;text-transform:uppercase}

@media(max-width:1100px){
.sp-hero-grid{grid-template-columns:.9fr 1.1fr;gap:2.5rem}
.fault-labels{right:0}
.case-study-grid{grid-template-columns:.68fr 1.32fr;gap:3rem}
.ownership-grid{grid-template-columns:1fr 1fr}
.ownership-grid>div:last-child{grid-column:1/-1}
.contact-next-grid{grid-template-columns:1fr 1fr 1fr}
.contact-next .eyebrow{grid-column:1/-1}
}

@media(max-width:1040px){
.tr-legal-body{padding-block:2.5rem 4rem}
.tr-legal-body>.container{width:calc(100% - 2rem);max-width:none}
.tr-legal-content{width:100%}
.tr-legal-content h2{margin-top:3.2rem;font-size:clamp(2.1rem,8vw,3rem)}
.tr-legal-content h3{margin-top:1.8rem}
}

@media(max-width:820px){
.sp-hero-grid,.sp-heading,.sp-closing-grid,.repair-board-grid,.shop-operations-grid,.migration-note-grid,.refinement-grid,.case-study-grid,.process-hero-grid,.about-hero-grid,.experience-grid,.about-focus-grid,.contact-intro-grid,.enquiry-layout,.work-intro-grid{grid-template-columns:1fr}
.sp-hero-copy h1{font-size:clamp(3rem,10vw,4.6rem)}
.sp-heading{align-items:start;gap:1rem}
.fault-console,.commerce-console,.compare-stage,.build-stage{width:min(100%,650px);margin-inline:auto}
.fault-table{grid-template-columns:1fr}
.fault-table article{grid-template-columns:.6fr 1.4fr}
.fault-table article:nth-child(even){transform:none}
.transaction-line{grid-template-columns:1fr}
.transaction-line li{min-height:0;display:grid;grid-template-columns:50px 1fr 1fr;gap:1rem}
.transaction-line b{margin:0}
.transaction-line li:not(:last-child)::after{top:auto;right:50%;bottom:-7px;transform:rotate(135deg)}
.blueprint-split{grid-template-columns:1fr}
.blueprint-split div,.blueprint-split div:first-child{min-height:0;padding:1.5rem 0;border-right:0;border-bottom:1px solid var(--line-dark)}
.blueprint-split p{margin:.7rem 0 0}
.build-layers{grid-template-columns:1fr 1fr}
.build-layers li:nth-child(2){border-right:0}
.build-layers h3{margin-top:1.5rem}
.case-study--dark .case-copy{order:0}
.case-visual,.case-study--dark .case-visual{order:2}
.estimate-grid{grid-template-columns:1fr}
.estimate-grid article{min-height:0}
.about-focus-grid .button{justify-self:start}
.enquiry-layout aside{position:static}
.contact-next-grid{grid-template-columns:1fr}
.contact-next-grid>p:not(.eyebrow){border-top:1px solid var(--line-dark);border-left:0}
}

@media(max-width:560px){
.sp-hero,.process-hero,.contact-intro,.work-editorial-intro{padding-block:3.5rem}
.sp-hero-copy h1{font-size:clamp(2.7rem,13vw,3.55rem)}
.sp-heading h2{font-size:2.25rem}
.fault-console{min-height:465px}
.fault-page{height:250px}
.fault-labels{right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.fault-labels li{min-width:0;padding:.55rem .6rem}
.fault-labels li:nth-child(even){transform:none}
.repair-stamp{right:0}
.fault-table article{grid-template-columns:1fr;gap:.55rem;padding-left:1.6rem}
.fault-table article::before{top:2.25rem}
.repair-track div{grid-template-columns:38px 1fr}
.repair-track em{grid-column:2;margin-top:.3rem}
.commerce-console{min-height:455px}
.commerce-product{width:65%}
.commerce-cart{top:115px;width:58%}
.commerce-payment{right:0;width:64%}
.marker-ship{right:0}
.transaction-line li{grid-template-columns:38px 1fr}
.transaction-line small{grid-column:2}
.migration-route{min-height:180px;padding:1rem}
.migration-route b{font-size:1.15rem}
.compare-stage{min-height:390px}
.compare-pane{width:58%}
.compare-before{left:-3%}
.compare-after{right:-3%}
.compare-after strong{font-size:1.25rem}
.performance-readout{padding:.8rem}
.performance-readout div{grid-template-columns:1fr 65px;gap:.6rem}
.performance-readout i{grid-column:1/-1;grid-row:2}
.performance-readout b{grid-column:2;grid-row:1}
.build-stage{min-height:430px}
.build-frame{inset:38px 35px 90px 0}
.build-mobile{width:100px;height:200px}
.build-stage ol{right:0;left:0;grid-template-columns:1fr 1fr;gap:.35rem}
.build-layers{grid-template-columns:1fr}
.build-layers li{min-height:0;padding:1.5rem 0;border-right:0;border-bottom:1px solid var(--line)}
.ownership-grid{grid-template-columns:1fr}
.ownership-grid>div:last-child{grid-column:auto}
.case-study{padding-block:3.5rem}
.case-visual{padding:.5rem 0 1rem .8rem}
.annotation-two{right:0}
.evidence-line{margin-top:2rem}
.full-process ol{margin-top:2rem}
.full-process li{grid-template-columns:40px 1fr}
.full-process em{grid-column:2;text-align:left}
.order-checks{grid-template-columns:1fr}
.workspace-sheet{min-height:340px;padding-left:3rem}
.principle-lines p{grid-template-columns:1fr;gap:.4rem}
.intake-preview{min-height:330px;padding-left:.5rem}
.intake-message{width:92%;padding:1.35rem}
.intake-route{width:76%}
.form-row{grid-template-columns:1fr}
.form-submit{align-items:flex-start;flex-direction:column}
.form-submit button{width:100%}
.tr-legal-body>.container{width:calc(100% - 2rem)}
.tr-legal-content h2{margin-top:2.5rem;font-size:clamp(2rem,10vw,2.65rem)}
.tr-legal-content h3{font-size:1.25rem}
.tr-legal-content p,.tr-legal-content ul,.tr-legal-content ol{font-size:.96rem;line-height:1.68}
.tr-legal-intro p{font-size:1rem}
}

@media(prefers-reduced-motion:reduce){
.secondary-page *,.secondary-page *::before,.secondary-page *::after{animation:none!important;transition:none!important}
}