/* iTrustCapital-inspired composition, retaining JC's monochrome identity. */
.mobile-service-map{display:none}
:root{--paper:#f3f3ef;--ink:#060606;--muted:#b4b4b1}
body{font-family:Arial,Helvetica,sans-serif}a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.jc-v2 h1,.jc-v2 h2,.jc-v2 h3{letter-spacing:-.045em;line-height:1.08}
.jc-v2 p{line-height:1.65}
.jc-v2 .top{position:relative;max-width:1440px;margin:auto;padding:23px 5%;gap:28px;min-height:88px}
.jc-v2 .signature{font-size:34px}
.jc-v2 .scene-nav{margin-left:auto;font:14px Arial,sans-serif;gap:30px}
.jc-v2 .scene-nav a{padding:10px 0;color:#d6d6d2}
.jc-v2 .top .email{font:600 13px Arial,sans-serif;letter-spacing:0;background:var(--paper);color:var(--ink);border-radius:30px;padding:14px 24px;text-decoration:none;white-space:nowrap}
.jc-v2 .opening{display:flex;flex-direction:column;gap:0;text-align:center;min-height:0;padding:65px 5% 0;isolation:isolate;background:radial-gradient(ellipse at 50% 90%,#30302f 0,transparent 55%),#080808}
.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(142deg,transparent 50%,#ffffff03 50%,#ffffff03 70%,transparent 70%),linear-gradient(30deg,transparent 35%,#ffffff02 35%,#ffffff02 60%,transparent 60%)}
.jc-v2 .name-block{padding:0;container-type:normal;display:flex;flex-direction:column;align-items:center;max-width:1150px;width:100%;order:0}
.jc-v2 .name-block .hero-name{font-size:13px;letter-spacing:.17em;color:#f3f3ef;margin:0 0 13px}
.jc-v2 .name-block .role{font:11px/1.6 Arial,sans-serif;letter-spacing:.12em;margin:0 0 25px;max-width:none}
.jc-v2 .name-block h1{font-size:clamp(36px,5.3vw,80px);line-height:1.08;letter-spacing:-.048em;max-width:none;margin:0 0 24px;padding:0;text-transform:none}
.jc-v2 .name-block h1 span{font-style:italic;color:#b5b5b0}
.jc-v2 .name-block>p:last-of-type{font-size:17px;max-width:710px;margin:0;line-height:1.7}
.jc-v2 .open-links{display:flex;justify-content:center;gap:12px;margin:28px 0 45px;font-size:14px;flex-wrap:wrap}
.jc-v2 .open-links a,.button,.jc-v2 .discipline .details-link,.map-copy>a,.service-stage>div>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;border-radius:30px;text-decoration:none;font:600 14px/1.4 Arial,sans-serif;letter-spacing:0;border:1px solid #646462;gap:14px}
.jc-v2 .open-links a:last-child{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.jc-v2 .open-links a:hover,.jc-v2 .top .email:hover,.button:hover{background:#d3d3cc;color:#080808}
.jc-v2 .identity-portrait{order:1;width:min(100%,1060px);height:410px;border:1px solid #555;border-bottom:0;border-radius:18px 18px 0 0;margin:0;position:relative;background:linear-gradient(120deg,#20201f,#101010 60%,#252524);overflow:hidden;box-shadow:0 0 90px #ffffff08;display:flex;align-items:end;justify-content:center}
.jc-v2 .identity-portrait:before{content:'JC';position:absolute;font-size:clamp(200px,30vw,440px);font-weight:800;line-height:.8;letter-spacing:-.1em;color:#ffffff05;left:4%;bottom:30px}
.jc-v2 .identity-portrait .jc-portrait{width:260px;height:390px;object-fit:cover;object-position:center 20%;mask-image:linear-gradient(black 75%,transparent);filter:grayscale(1) contrast(1.05) brightness(.95);position:relative;z-index:1}
.jc-v2 .identity-portrait:after{background:linear-gradient(90deg,transparent,#ffffff04);pointer-events:none}
.jc-v2 .identity .identity-caption{left:35px;bottom:36px;text-align:left;font:11px/1.8 Arial,sans-serif;color:#c7c7c3;letter-spacing:.08em;z-index:2;max-width:180px}
.opening-bottom{position:static;order:2;width:100%;max-width:1060px;padding:19px 0;font:10px/1.6 Arial,sans-serif;letter-spacing:.08em;gap:20px}
.manifesto{display:block;min-height:0;padding:85px 6%;text-align:center;border-top:1px solid #303030;background:#101010}
.manifesto>.label{margin:0 0 24px;font:11px/1.6 Arial,sans-serif;letter-spacing:.15em}
.manifesto br,.index-title h2 br,.map-copy h2 br,.service-stage h2 br,.work-entry h2 br,.about-v2 h2 br{display:none}
.jc-v2 .manifesto h2{font-size:clamp(30px,3.6vw,50px);max-width:850px;margin:auto}
.manifesto p{font-size:17px;margin:25px auto 0;max-width:740px!important}
.service-index{padding:85px max(6%,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr 1fr;gap:0 50px;background:#efefeb}
.index-title{grid-column:1/-1;display:block;text-align:center;margin-bottom:45px}
.jc-v2 .index-title h2{font-size:clamp(34px,4vw,56px);max-width:700px;margin:0 auto 22px}
.index-title p{max-width:none;margin:0 auto 18px;font-size:16px}
.index-title p br{display:none}.index-title p br:after{content:' '}
.jc-v2 .discipline{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:32px 0;border-top:1px solid #bbb;align-content:start}
.jc-v2 .discipline>div:last-child{grid-column:2}.jc-v2 .discipline h3{font-size:27px;letter-spacing:-.035em;line-height:1.15}.discipline h3 br{display:none}
.discipline .number{font:12px/1.8 Arial,sans-serif;color:#666}
.jc-v2 .discipline p{font-size:15px;max-width:450px;margin:0 0 14px;color:#444}
.jc-v2 .discipline ul{font:13px/1.9 Arial,sans-serif;color:#555;list-style:none;margin:0 0 23px}
.jc-v2 .discipline li:before{content:'✓';margin-right:10px;color:#222}
.jc-v2 .discipline .details-link{color:#111;border-color:#999;padding:10px 20px;font-size:13px}
.jc-v2 .discipline .details-link:hover{background:#111;color:white}
.service-map{height:auto!important;background:#0b0b0b;border-top:1px solid #333}
.map-pin{padding:85px 7%;min-height:0;max-width:1440px;margin:auto;gap:7%;grid-template-columns:1fr 1fr}
.jc-v2 .map-copy h2{font-size:clamp(32px,3.8vw,54px);line-height:1.08;margin:18px 0 24px}
.map-copy p{font-size:16px}.map-copy .map-note{font-size:14px;min-height:0;border:0;padding:0;margin:20px 0}
.map-step-count{display:none}.map-instruction{font-family:Arial,sans-serif!important;letter-spacing:.08em!important}
.map-diagram svg{max-height:480px;width:100%;display:block}.map-copy>a{margin-top:10px}
.jc-v2 .service-stage{min-height:0;padding:85px 7%;gap:7%;max-width:1440px;margin:auto}
.jc-v2 .service-stage h2{font-size:clamp(32px,3.8vw,54px);line-height:1.1;margin:18px 0 24px}
.jc-v2 .service-stage p{font-size:16px}.service-stage .stage-visual{aspect-ratio:1.12;border-radius:16px;padding:30px;background:linear-gradient(145deg,#282827,#101010);box-shadow:0 20px 60px #0004}
.jc-v2 .stage-browser strong{font-size:clamp(40px,4.7vw,64px);line-height:1;letter-spacing:-.04em;margin:40px 0}.stage-visual .cross{font-size:100px;top:70px;color:#3e3e3c}
.service-stage>div>a{margin-top:15px}
.jc-v2 .work-entry{padding:85px 7%;align-items:start;gap:8%;background:#141414;grid-template-columns:.9fr 1.1fr}
.jc-v2 .work-entry h2{font-size:clamp(32px,4vw,55px);line-height:1.1;max-width:450px}.jc-v2 .work-entry h3{font-size:24px!important;line-height:1.25!important;letter-spacing:-.03em;margin:0 0 15px}
.jc-v2 .work-entry p{font-size:16px;margin:0 0 28px;max-width:620px}
.jc-v2 .about-v2{padding:85px 10%;grid-template-columns:.35fr 1fr;gap:8%}
.jc-v2 .about-v2 h2{font-size:clamp(32px,4vw,54px);line-height:1.12;margin:0 0 25px}.about-v2 p{font-size:17px;max-width:760px}
.jc-v2 .end{padding:85px 7%;background:radial-gradient(ellipse at 80% 10%,#242424,transparent 60%)}
.contact-heading{margin-bottom:30px;grid-template-columns:1fr .55fr}.jc-v2 .contact-heading h2{font-size:clamp(48px,6.7vw,92px);line-height:1.03}
.contact-brand{max-width:270px}.contact-brand .ink-eyes{max-width:130px}.jc-v2 .end .end-row a{font-size:13px}.jc-v2 .end>p{font-size:13px}
.jc-v2 footer{font:11px/1.6 Arial,sans-serif;color:#aaa;letter-spacing:.03em;padding:25px 5%}
.scene-appear{transform:none!important}
/* Supporting routes share the navigation, scale and primary action treatment. */
.site-head{max-width:1440px;margin:auto;border-color:#333}.site-head .site-nav{font:13px Arial,sans-serif;text-transform:none}.site-nav a:last-child{border-radius:30px;padding:10px 20px;background:#f3f3ef;color:#060606}
.detail-head{max-width:1280px;margin:auto;padding-top:75px;padding-bottom:55px}.detail-head h1{font-size:clamp(36px,5vw,70px);line-height:1.08;max-width:1050px;letter-spacing:-.045em}.detail-head .lead{font-size:20px;max-width:760px;line-height:1.6}
.detail-layout h2,.expectations h2{font-size:clamp(30px,3.5vw,48px);line-height:1.1}.detail-block h3{font-size:26px;line-height:1.2}.contact h2{font-size:clamp(48px,6vw,80px);line-height:1.05}
.entry-hold{border-radius:8px}.entry-quiet{font-size:12px;min-height:44px}
@media(min-width:1500px){.service-index{padding-left:calc((100vw - 1240px)/2);padding-right:calc((100vw - 1240px)/2)}}
@media(max-width:800px){
 .jc-v2 .top{padding:18px 6%;gap:18px;flex-wrap:wrap}.jc-v2 .scene-nav{display:flex;font-size:12px;gap:19px;order:2;width:100%;justify-content:center;border-top:1px solid #292929;padding-top:10px}.jc-v2 .top .email{margin-left:auto;font-size:12px;padding:12px 17px}.jc-v2 .signature{font-size:31px}
 .jc-v2 .opening{padding:40px 6% 0;gap:0}.jc-v2 .name-block h1{font-size:clamp(32px,6.5vw,49px);line-height:1.12}.jc-v2 .name-block .role{font-size:9px;letter-spacing:.06em;margin-bottom:20px}.jc-v2 .name-block>p:last-of-type{font-size:15px}.jc-v2 .open-links{margin:25px 0 35px;gap:10px}.jc-v2 .open-links a{font-size:12px;padding:12px 18px}
 .jc-v2 .identity-portrait{width:100%;height:300px;border-radius:12px 12px 0 0}.jc-v2 .identity-portrait .jc-portrait{width:200px;height:290px}.jc-v2 .identity .identity-caption{bottom:20px;left:20px;font-size:8px;max-width:100px;z-index:3}.opening-bottom{font-size:8px}
 .manifesto,.service-index,.jc-v2 .service-stage,.jc-v2 .work-entry,.jc-v2 .about-v2,.jc-v2 .end{padding:55px 7%}.jc-v2 .manifesto h2{font-size:31px}.manifesto p{font-size:16px}.service-index{display:block}.jc-v2 .index-title h2{font-size:34px}.index-title{margin-bottom:25px}.jc-v2 .discipline h3{font-size:25px}.jc-v2 .discipline{gap:12px;grid-template-columns:24px 1fr}.jc-v2 .discipline p{font-size:15px}
 .map-pin{grid-template-columns:1fr;padding:55px 7%;gap:25px}.jc-v2 .map-copy h2{font-size:34px}.map-diagram svg{max-height:400px}.jc-v2 .service-stage{grid-template-columns:1fr;gap:35px}.jc-v2 .stage-browser strong{font-size:44px}.service-stage .stage-visual{padding:25px;aspect-ratio:1.1}.stage-browser .browser-head{font-size:8px}.stage-browser .browser-bottom{font-size:8px}
 .jc-v2 .service-stage h2,.jc-v2 .work-entry h2,.jc-v2 .about-v2 h2{font-size:34px}.jc-v2 .work-entry,.jc-v2 .about-v2{grid-template-columns:1fr;gap:30px}.jc-v2 .work-entry h3{font-size:23px!important}.jc-v2 .work-entry p{font-size:16px}.contact-heading{grid-template-columns:1fr .65fr;gap:20px}.jc-v2 .contact-heading h2{font-size:43px}.contact-brand{width:100%}.contact-brand .ink-eyes{width:85px}.end .end-row{gap:25px}.end .end-row a{overflow-wrap:anywhere}.jc-v2 .end .end-row a{font-size:12px}.jc-v2 footer{font-size:10px;gap:15px}
 .detail-head{padding-top:45px}.detail-head h1{font-size:37px}.site-head{padding:18px 6%;gap:15px}.site-head .logo{font-size:12px}.site-head .site-nav{font-size:13px}.site-head .site-nav a{min-height:44px;padding:10px 15px}.site-head .menu-toggle{min-height:44px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.jc-v2 .service-stage>div,.jc-v2 .work-entry>div,.map-pin>div{min-width:0}.service-stage .stage-visual{width:100%;min-width:0}.stage-browser .browser-head{min-width:0}.stage-browser .browser-head span{overflow-wrap:anywhere}.stage-browser .browser-bottom{gap:10px;flex-wrap:wrap}
.project-layout h1{font-size:clamp(36px,4.7vw,66px);line-height:1.08;letter-spacing:-.045em}.project-layout h1 br{display:none}.project-layout h1 br:after{content:" "}.project-layout .brief-actions button{min-height:46px;border-radius:24px;padding:12px 20px}.project-layout .brief-review h2{font-size:36px;line-height:1.1}.project-layout .privacy{font-size:13px;line-height:1.6}@media(max-width:800px){.project-layout h1{font-size:38px}.project-layout{padding-top:45px}}
@media(max-width:800px){.map-diagram svg,.map-instruction{display:none}.mobile-service-map{display:flex;flex-direction:column;gap:10px;text-align:center}.mobile-service-map a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:13px 16px;border:1px solid #555;border-radius:7px;text-decoration:none;font:600 12px/1.5 Arial,sans-serif}.mobile-service-map strong{font:600 13px/1.6 Arial,sans-serif;letter-spacing:.06em;padding:15px 0}.mobile-service-map span{font:11px/1.6 Arial,sans-serif;color:#aaa}.jc-v2 .identity .identity-caption{left:0;right:0;bottom:0;max-width:none;padding:12px 18px;background:#111e;text-align:center;font-size:11px;line-height:1.6;letter-spacing:.03em}.identity-caption br{display:none}.identity-caption br:after{content:" "}.contact-heading{grid-template-columns:1fr;gap:28px}.jc-v2 .contact-heading h2{font-size:clamp(43px,12vw,66px)}.contact-brand{max-width:200px;justify-self:start}}

/* Standard arrow silhouette in green; preserve editing/resize affordances. */
html,body,body *,html.brand-pointer,html.brand-pointer a,html.brand-pointer button{cursor:url('/assets/green-arrow.svg') 2 2,auto}
.brand-cursor,.brand-pointer .brand-cursor{display:none!important}
body input,body textarea,body [contenteditable=true]{cursor:text!important}
body input[type=checkbox],body input[type=radio],body input[type=submit],body input[type=button],body input[type=range],body select{cursor:url('/assets/green-arrow.svg') 2 2,auto!important}

body :disabled,body [aria-disabled=true]{cursor:not-allowed!important}
body [draggable=true]{cursor:grab!important}
