/* Client launch: editorial hierarchy, purposeful symbols, local map. */
:root{--line:#dfe4e9;--peach:#fff0e5;--graphite:#101820;--radius-panel:24px}
.service-symbol{display:block;width:28px;height:28px;flex:none}
.service-symbol-tile{display:grid;place-items:center;width:54px;height:54px;flex:none;border:1px solid #f2d8c6;border-radius:16px;color:var(--orange-dark);background:linear-gradient(145deg,#fff8f2,#ffead9)}
.subservices>a>.service-symbol-tile{margin-bottom:23px}
.subservices>a{padding:28px;min-width:0}
.subservices>a>h3{font-size:23px;line-height:1.22;letter-spacing:-.7px}
.subservices>a>p{font-size:16px;line-height:1.55;margin-top:15px}
.subservice-price{padding-top:15px}
.service-jumps{display:flex;flex-wrap:wrap;gap:8px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:12px}
.service-jumps a{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:#475462;text-decoration:underline;text-decoration-color:#b7bfc9;text-underline-offset:4px}
.service-jumps a:hover{color:var(--orange-dark);text-decoration-color:currentColor}
.service-results{padding-top:40px;padding-bottom:56px}
.result-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 72px;align-items:end;margin-bottom:28px}
.result-heading>.eyebrow{grid-column:1;margin-bottom:12px}
.result-heading h2{grid-column:1;margin:0}
.result-heading>p{grid-column:2;grid-row:1/3;align-self:end;max-width:510px;margin:0;font-size:17px;line-height:1.6;color:#5a6674}
.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:0}
.result-grid li{display:flex;gap:20px;border-top:1px solid var(--line);padding:24px 0 0;min-width:0}
.result-number{font-size:12px;letter-spacing:1px;color:var(--orange-dark);padding-top:5px}
.result-grid h3{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:0;font-weight:600;text-wrap:pretty}
.service-prose{max-width:740px}
.service-prose h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin-top:40px;scroll-margin-top:110px}
.service-prose h2:first-child{margin-top:0}
.service-prose p{color:#4a5765;font-size:17px;line-height:1.75}
.service-prose blockquote{background:#f5f6f8;border-left:3px solid var(--orange-dark);padding:22px 26px;border-radius:0 18px 18px 0}
.service-prose blockquote p{font-size:16px}
.service-prose blockquote strong{color:var(--ink)}
.service-price-panel{position:sticky;top:100px;padding:30px;align-self:start;border-radius:var(--radius-panel)}
.service-price-panel>p{font-size:16px;line-height:1.65}
.service-price-panel .service-price-amount{font-size:clamp(29px,3.5vw,48px);line-height:1.12;letter-spacing:-1.7px;overflow-wrap:anywhere}
.service-price-panel dl{margin:23px 0 18px}
.service-price-panel dt{font-size:14px;margin-bottom:5px}
.service-price-panel dd{font-size:16px;color:#5a6674;line-height:1.55}
.service-price-panel .price-note{font-size:13px;line-height:1.6;color:#5a6674;margin-bottom:0}
.estimate-details{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.estimate-details summary{cursor:pointer;font-size:14px;font-weight:600;list-style:revert;line-height:1.6;padding:3px 0}
.estimate-details summary:hover{color:var(--orange-dark)}
.estimate-details p{margin:13px 0 0;font-size:14px;line-height:1.65;color:#5a6674}
.task-section{background:#fff}
.task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.task-card{display:block;border:1px solid var(--line);border-radius:20px;padding:26px 24px;transition:border-color .18s,background-color .18s}
.task-card h3{font-size:21px;letter-spacing:-.5px;line-height:1.3;margin:22px 0 12px;text-decoration:underline;text-decoration-color:#b7bfc9;text-underline-offset:5px}
.task-card p{font-size:14px;color:#5a6674;line-height:1.65;margin:0}
.task-card:is(:hover,:focus-visible){background:#fffbf7;border-color:var(--orange-dark)}
.task-card:is(:hover,:focus-visible) h3{color:var(--orange-dark);text-decoration-color:currentColor}
.agreement-section{background:var(--soft)}
.agreement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.agreement-grid>div{padding-top:24px;border-top:1px solid #cfd6de}
.agreement-grid>div>span{font-size:12px;letter-spacing:1.5px;color:var(--orange-dark)}
.agreement-grid h3{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin:19px 0 12px}
.agreement-grid p{font-size:15px;line-height:1.7;color:#5a6674;margin:0}
.first-meeting-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}
.first-meeting-grid>div>p{font-size:17px;line-height:1.7;color:#5a6674;max-width:500px;margin-top:22px}
.first-meeting ol{padding:0;list-style:none;counter-reset:meeting;margin:0}
.first-meeting li{counter-increment:meeting;padding:24px 0 24px 45px;border-top:1px solid var(--line);position:relative}
.first-meeting li:before{content:'0' counter(meeting);position:absolute;left:0;top:26px;font-size:12px;color:var(--orange-dark)}
.first-meeting li strong{display:block;font-size:19px;line-height:1.4}
.first-meeting li span{display:block;margin-top:7px;font-size:15px;line-height:1.65;color:#5a6674}
.founder-grid{display:grid;grid-template-columns:.82fr 1.3fr;gap:85px;align-items:start}
.founder-panel{background:var(--graphite);color:#fff;border-radius:var(--radius-panel);padding:36px;overflow:hidden;position:relative}
.founder-panel .eyebrow{color:#bdc6ce;position:relative;z-index:1}
.founder-monogram{font-weight:800;font-size:clamp(90px,14vw,180px);line-height:1.3;letter-spacing:-14px;white-space:nowrap;margin:15px 0 28px;color:#fff}
.founder-monogram span{color:#ff6a1b}
.founder-panel:before{content:'';position:absolute;right:-120px;top:80px;width:350px;height:350px;border:1px solid #ffffff15;border-radius:50%;box-shadow:0 0 0 45px #ffffff04,0 0 0 90px #ffffff03}
.founder-panel h2{font-size:29px;letter-spacing:-1px;position:relative}
.founder-panel p{font-size:16px;color:#c4ccd4;line-height:1.65;position:relative}
.founder-panel .text-link{color:#ffad7b;margin-top:10px}
.founder-copy{padding-top:22px}
.founder-copy h2{font-size:clamp(36px,4vw,52px)}
.founder-copy .lead{font-size:21px;line-height:1.55;color:#26323e;margin:28px 0 20px}
.founder-copy>p:not(.lead){font-size:17px;line-height:1.75;color:#5a6674}
.founder-sign{margin-top:30px;font-size:19px;font-weight:600;border-top:1px solid var(--line);padding-top:22px}
.founder-sign span{display:block;font-size:13px;color:#66717f;font-weight:400;margin-top:4px}
.contact-intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:95px}
.contact-intro-grid .big-phone{font-size:clamp(26px,3.5vw,46px);line-height:1.15;letter-spacing:-1.6px;display:table;min-height:44px;margin:20px 0;white-space:nowrap}
.contact-lead{max-width:510px;color:#5a6674;font-size:18px;line-height:1.65;margin:24px 0}
.contact-actions{display:flex;flex-wrap:wrap;gap:14px}
.contact-timezone{font-size:13px;color:#66717f;margin-top:22px}
.office-address{border-left:1px solid var(--line);padding-left:40px}
.office-address h2{font-size:clamp(30px,3.5vw,44px);line-height:1.18;letter-spacing:-1.4px;margin:18px 0}
.office-address>p{font-size:15px;line-height:1.65;color:#5a6674}
.office-address .office-room{font-size:17px;color:var(--ink)}
.office-map-shell{border-radius:var(--radius-panel);overflow:hidden;background:var(--graphite);color:#fff;position:relative;isolation:isolate}
#office-map{height:450px;background:#101820;font-family:inherit;z-index:0}
.map-fallback{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;height:100%;color:#d0d9e1;background:radial-gradient(ellipse at center,#26323e,#101820)}
.map-fallback strong{font-size:28px;color:#ff771f}
.map-ready .map-fallback{display:none}
.map-controls{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:6px;z-index:2}
.map-controls[hidden]{display:none}
.map-controls button{border:1px solid #66717f;background:#16212c;color:#fff;min-width:46px;min-height:46px;padding:10px;border-radius:10px;cursor:pointer;font:inherit;font-size:14px}
.map-controls button:first-child,.map-controls button:nth-child(2){font-size:24px;line-height:1}
.map-controls button:hover{background:#293745}
.map-controls button:disabled{opacity:.45;cursor:default}
.map-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 32px;border-top:1px solid #34414c}
.map-caption .eyebrow{margin-bottom:7px;color:#b7c1cb}
.map-caption strong{font-size:20px;line-height:1.35;font-weight:500}
.map-route{background:#ff761f;color:#101820;border:1px solid #ff761f;font-weight:700;white-space:nowrap;flex-shrink:0}
.map-route:hover{background:#ff9b5c}
.office-map-marker{display:grid;place-items:center;background:#ff6a1b;color:#101820;border:4px solid #ffb17c;border-radius:16px 16px 16px 3px;box-shadow:0 0 0 10px #ff6a1b22,0 8px 25px #0008;font-size:13px;font-weight:800}
.office-map-label{text-align:center;color:#fff;font-family:inherit;text-shadow:0 2px 5px #000}
.office-map-label strong{display:block;font-size:15px;letter-spacing:1px}
.office-map-label span{display:block;font-size:11px;line-height:1.4;margin-top:4px}
.leaflet-tooltip.map-street{background:#101820aa;border:0;box-shadow:none;color:#c7d0d8;font:inherit;font-size:11px;line-height:1.2;padding:3px 5px;border-radius:4px}
.leaflet-tooltip.map-street:before{display:none}
#office-map .leaflet-control-attribution{background:#101820e6;color:#d3dce3;padding:4px 9px;font-size:11px}
#office-map .leaflet-control-attribution a{color:#d3dce3;text-decoration:underline}
.map-helper{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:12px}
.map-helper p{font-size:12px;color:#66717f;margin:0}
.text-button{font:inherit;font-size:13px;min-height:44px;color:var(--orange-dark);background:transparent;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:nowrap}
.contact-preparation{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}
.contact-preparation>div>p,.legal-grid>div>p{font-size:16px;line-height:1.7;color:#5a6674;max-width:470px;margin-top:22px}
.preparation-list{margin:0;padding:0;list-style:none}
.preparation-list li{padding:22px 0;border-top:1px solid #d0d7df}
.preparation-list strong{font-size:18px;display:block}
.preparation-list span{font-size:15px;line-height:1.65;color:#5a6674;display:block;margin-top:7px}
.legal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}
.requisites{margin:0}
.requisites>div{padding:17px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:20px}
.requisites dt{font-size:13px;color:#66717f;line-height:1.55}
.requisites dd{font-size:16px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.post-card>.post-cover{width:100%;height:auto;aspect-ratio:1200/620;object-fit:contain;border-radius:18px;background:var(--graphite);margin-bottom:21px}
.post-card{min-width:0}
.post-card h3{font-size:23px;line-height:1.25;letter-spacing:-.6px;text-wrap:pretty}
.post-card p{line-height:1.65}
.journal-policy{margin:40px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:#66717f;line-height:1.7;max-width:820px}
.article-cover{width:100%;height:auto;max-height:520px;aspect-ratio:1200/620;object-fit:contain;background:var(--graphite);border-radius:var(--radius-panel);margin-bottom:38px}
.article-meta{font-size:13px;line-height:1.6;color:#66717f}
.article-brief{padding:26px 30px;background:var(--soft);border-radius:20px;margin:0 0 32px}
.article-brief .eyebrow{margin:0 0 14px}
.article-brief ul{margin:0;padding-left:20px}
.article-brief li{font-size:16px;line-height:1.65;margin:7px 0}
.article-next{margin-top:44px;padding:30px;border:1px solid var(--line);border-radius:20px}
.article-next h2{font-size:28px;margin-top:0}
.article-next>p{font-size:16px}
.article-next .related-links{grid-template-columns:1fr;gap:10px}
.article-next .related-links a{font-size:16px;padding:14px 18px;margin:0}
.article-layout .prose{min-width:0}
.article-layout .prose p,.article-layout .prose li{font-size:18px;line-height:1.8}
.article-toc{position:sticky;top:110px;align-self:start}
.article-toc a{line-height:1.5;font-size:13px;padding:8px 0;min-height:36px}
@media(min-width:1500px){.service-price-panel .service-price-amount{font-size:48px}}
@media(max-width:1100px){
 .task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .founder-grid{gap:45px}.founder-panel{padding:28px}
 .contact-intro-grid{gap:45px}.office-address{padding-left:30px}
 .first-meeting-grid,.contact-preparation,.legal-grid{gap:45px}
 .service-price-panel{padding:25px}
 .result-grid{gap:22px}.result-grid h3{font-size:19px}
 .agreement-grid{gap:30px}
}
@media(max-width:900px){
 .service-price-panel{position:static}
 .founder-grid{grid-template-columns:.85fr 1.2fr;gap:32px}
 .founder-copy .lead{font-size:19px}
 .contact-intro-grid{grid-template-columns:1fr 1fr;gap:32px}
 .contact-intro-grid .big-phone{font-size:29px;letter-spacing:-.9px}
 .office-address h2{font-size:30px}
 .result-heading{gap:0 35px}
 .article-toc{position:static}
 .agreement-grid h3{font-size:21px}
}
@media(max-width:700px){
 .result-heading{display:block}.result-heading>p{margin-top:20px;font-size:16px}
 .result-grid{grid-template-columns:1fr;gap:0}.result-grid li{padding:20px 0}.result-grid h3{font-size:20px}
 .service-results{padding-top:32px;padding-bottom:20px}
 .service-jumps{gap:4px 22px;padding:9px 0}.service-jumps a{font-size:12px;min-height:36px}
 .agreement-grid{grid-template-columns:1fr;gap:25px}.agreement-grid>div{padding-top:20px}.agreement-grid h3{margin-top:12px}
 .first-meeting-grid,.founder-grid,.contact-intro-grid,.contact-preparation,.legal-grid{grid-template-columns:1fr;gap:32px}
 .founder-panel{max-width:100%;padding:30px}.founder-monogram{font-size:125px;letter-spacing:-10px;margin:0 0 15px}
 .founder-copy{padding-top:0}.founder-copy .lead{font-size:20px}
 .office-address{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
 .office-address h2{font-size:35px}.contact-intro-grid .big-phone{font-size:clamp(26px,6.9vw,40px);letter-spacing:-1px}
 #office-map{height:390px}.map-caption{padding:24px;display:block}.map-caption strong{font-size:19px}.map-route{margin-top:20px;min-height:48px;font-size:13px}
 .map-helper{align-items:flex-start;gap:12px}.map-helper p{max-width:70%;line-height:1.6}
 .map-helper .text-button{white-space:normal;text-align:right;min-width:95px}
 .legal-grid{gap:25px}.requisites>div{grid-template-columns:100px 1fr;gap:16px}.requisites dd{font-size:15px}
 .article-brief{padding:23px}.article-layout .prose p,.article-layout .prose li{font-size:17px;line-height:1.75}
 .article-next{padding:24px}.article-next h2{font-size:26px}
 .article-cover{margin-bottom:28px;border-radius:18px}
}
@media(max-width:480px){
 .task-grid{grid-template-columns:1fr;gap:12px}.task-card{padding:24px;display:grid;grid-template-columns:48px 1fr;gap:8px 18px;align-items:start}
 .task-card>.service-symbol-tile{grid-row:1/3;width:48px;height:48px;border-radius:14px}
 .task-card h3{font-size:20px;margin:0;align-self:center}.task-card p{grid-column:2;font-size:14px;line-height:1.55}
 .subservices>a{padding:25px}.subservices>a>h3{font-size:23px}.subservices>a>.service-symbol-tile{margin-bottom:20px}
 .service-prose h2{font-size:27px;letter-spacing:-.8px}.service-prose p{font-size:16px;line-height:1.75}
 .service-prose blockquote{padding:18px 20px}.service-prose blockquote p{font-size:15px}
 .service-price-panel{padding:25px}.service-price-panel .service-price-amount{font-size:34px;letter-spacing:-1px}
 .map-controls{top:14px;right:14px}.map-caption{padding:22px}.map-caption .eyebrow{font-size:9px}
 .requisites>div{grid-template-columns:1fr;gap:6px}.contact-actions{gap:12px}.contact-actions .button{font-size:13px;padding:14px 20px}
 .post-card h3{font-size:23px}.journal-policy{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.task-card{transition:none}}
/* Leaflet owns the renderer size through SVG attributes, unlike interface icons. */
#office-map .leaflet-overlay-pane>svg{width:auto;height:auto;max-width:none;max-height:none}
.case-cover.case-contain>img{object-fit:contain;object-position:50% 20%;padding-bottom:88px;transform:none}
.case-cover.case-contain:after{background:linear-gradient(180deg,transparent 35%,#101820 88%)}
@media(min-width:701px){
 .service-grid:has(>.service-card:nth-child(7))>.service-card:last-child{grid-column:1/-1;min-height:175px;background:#101820;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:30px 36px}
 .service-grid:has(>.service-card:nth-child(7))>.service-card:last-child h3{font-size:25px;max-width:65%;text-decoration-color:#8d9ba6}
 .service-grid:has(>.service-card:nth-child(7))>.service-card:last-child p{max-width:55%;color:#c4cdd5;font-size:16px;margin:15px 0 0}
 .service-grid:has(>.service-card:nth-child(7))>.service-card:last-child .service-art{position:absolute;left:auto;right:40px;top:12px;bottom:12px;width:170px;height:150px;object-fit:contain}
 .service-grid:has(>.service-card:nth-child(7))>.service-card:last-child:is(:hover,:focus-visible){background:#162431;border-color:#ff8a45}
 .service-grid:has(>.service-card:nth-child(7))>.service-card:last-child:is(:hover,:focus-visible) h3{color:#ffad7b}
}
.discuss-section{background:var(--soft);padding:38px 0 64px}
.discuss-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}
.discuss-copy{padding-top:24px;max-width:510px}
.discuss-copy h1{font-size:clamp(45px,5vw,72px)}
.discuss-copy .lead{font-size:20px;line-height:1.65;color:#4a5765;margin:28px 0}
.discuss-context{border-top:1px solid #d1d8df;padding-top:24px;margin-top:28px}
.discuss-context>strong{font-size:17px}
.discuss-context p{font-size:15px;line-height:1.7;color:#5a6674;margin:12px 0 22px}
.discuss-phone{display:table;min-height:44px;line-height:1.45;font-size:27px;letter-spacing:-.7px;font-weight:600}
.discuss-location{font-size:12px;color:#66717f;margin-top:4px}
.discuss-form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-panel);padding:32px}
.discuss-form-card .lead-form{padding:0;background:transparent;border-radius:0;box-shadow:none}
.discuss-form-card .lead-form>h3{font-size:25px}
.discuss-form-card .lead-form>p{font-size:14px;line-height:1.6}
.discuss-form-card .lead-form label{font-size:13px;color:#26323e}
.discuss-form-card input,.discuss-form-card select,.discuss-form-card textarea{background:#f6f7f9;border-color:#d8dee6}
@media(max-width:1000px){.discuss-grid{gap:40px}.discuss-form-card{padding:27px}.discuss-form-card .form-grid{grid-template-columns:1fr}}
@media(max-width:700px){.discuss-grid{grid-template-columns:1fr;gap:25px}.discuss-section{padding:12px 0 38px}.discuss-copy{padding-top:8px;max-width:none}.discuss-copy h1{font-size:43px;line-height:1.08;letter-spacing:-1.6px}.discuss-copy .lead{font-size:17px;line-height:1.6;margin:20px 0}.discuss-context{display:none}.discuss-phone{font-size:24px}.discuss-form-card{padding:25px}.discuss-form-card .form-grid{grid-template-columns:1fr}}
.eyebrow{display:block}
.lead-form .optional{display:inline;font-size:11px;font-weight:400;color:#66717f;margin-left:5px}
.site-footer nav>a,.footer-contacts>a{display:inline-flex;align-items:center;min-height:36px}
.footer-bottom>a{display:inline-flex;align-items:center;min-height:28px;text-decoration:underline;text-decoration-color:#adb7c2;text-underline-offset:3px}
@media(max-width:700px){.site-footer nav>a,.footer-contacts>a{min-height:44px}.footer-bottom>a{min-height:32px;font-size:11px}.footer-top nav{row-gap:3px}.footer-contacts{row-gap:4px}}
.preview-banner{display:flex;justify-content:center;align-items:center;gap:20px;padding:14px 24px;background:#151b22;color:#fff;font-size:14px;flex-wrap:wrap}.preview-banner a{color:#ff9b61;text-underline-offset:4px}.founder-photo{display:block;width:100%;max-height:390px;object-fit:cover;border-radius:20px;margin:24px 0}.article-cover{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.post-card img{aspect-ratio:16/9;object-fit:cover}
.post-card>.post-cover{aspect-ratio:16/9;object-fit:contain;background:var(--soft)}.article-cover{max-height:none;background:var(--soft)}.article-layout:not(:has(.article-toc)){display:block;max-width:850px}
