@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");:root{--paper:#f6f4ee;--paper-2:#efece4;--paper-3:#e8e4da;--card:#fbfaf6;--ink:#16150f;--ink-2:#4a483e;--ink-3:#7d7a6e;--ink-4:#a8a496;--accent:#1e4640;--accent-soft:rgba(30,70,64,.09);--accent-line:rgba(30,70,64,.28);--rule:rgba(22,21,15,.12);--rule-strong:rgba(22,21,15,.22);--sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--serif:"Iowan Old Style","Palatino Linotype","URW Palladio L",P052,Palatino,Georgia,serif;--ease:cubic-bezier(0.23,1,0.32,1);--ease-soft:cubic-bezier(0.4,0,0.2,1);--maxw:1080px;--narrow:720px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:var(--paper)}.wrap{max-width:var(--maxw)}.wrap,.wrap-narrow{margin:0 auto;padding:0 36px;position:relative;z-index:2}.wrap-narrow{max-width:var(--narrow)}a{color:inherit}.rv{opacity:0;transition:opacity .75s var(--ease),transform .75s var(--ease),filter .75s var(--ease)}.rv-up{transform:translateY(18px)}.rv-left{transform:translateX(-20px)}.rv-fade{filter:blur(4px)}.rv.shown{opacity:1;transform:none;filter:none}.rv-line:before{transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--ease)}.rv-line.shown:before{transform:scaleY(1)}h1,h2,h3{font-weight:500}.serif{font-family:var(--serif)}.q-display{font-size:clamp(38px,6.4vw,78px);line-height:1.04;letter-spacing:-.022em}.q-display,.q-large{font-family:var(--serif);font-weight:500}.q-large{font-size:clamp(28px,3.8vw,44px);line-height:1.18;letter-spacing:-.015em}.q-mid{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.5vw,29px);line-height:1.28;letter-spacing:-.01em}.eyebrow{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:12px}.eyebrow:after{content:"";flex:1 1;height:1px;background:var(--rule)}.eyebrow-plain{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.lede{font-size:17px;line-height:1.72;max-width:60ch}.body-text,.lede{color:var(--ink-2)}.body-text{font-size:15.5px;line-height:1.8;max-width:62ch}.body-text+.body-text{margin-top:18px}.small{font-size:13px;color:var(--ink-3)}header{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:hsla(45,31%,95%,.9);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--rule)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:17px 36px;display:flex;justify-content:space-between;align-items:center;gap:28px}.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1.25}.logo-name{font-size:14.5px;font-weight:600;letter-spacing:-.012em}.logo-role{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.nav-desktop{display:flex;align-items:center;gap:26px}.nav-link{font-size:13.5px;color:var(--ink-2);text-decoration:none;position:relative;padding-bottom:3px;transition:color .2s var(--ease)}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .28s var(--ease)}.nav-link:hover{color:var(--ink)}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-link.active{color:var(--ink)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer}.nav-toggle .bar{height:1.5px;width:21px;background:var(--ink);transition:transform .24s var(--ease)}.bar-1.open{transform:translateY(3.25px) rotate(45deg)}.bar-2.open{transform:translateY(-3.25px) rotate(-45deg)}.nav-mobile{display:flex;flex-direction:column;padding:2px 36px 20px;border-top:1px solid var(--rule);animation:dropIn .28s var(--ease)}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}}.nav-mobile .nav-link{padding:14px 0;font-size:16px;border-bottom:1px solid var(--rule)}.nav-mobile .nav-link:after{display:none}.btn{font-family:var(--sans);font-size:13px;font-weight:500;padding:12px 22px;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap;transition:transform .18s var(--ease),background .24s var(--ease),border-color .24s var(--ease),color .24s var(--ease)}.btn:hover{border-color:var(--ink);background:var(--paper-2)}.btn:active{transform:scale(.975)}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn-lg{font-size:15px;padding:17px 34px}.btn-sm{font-size:12.5px;padding:9px 17px}.btn .arw{display:inline-block;transition:transform .24s var(--ease)}.btn:hover .arw{transform:translateX(4px)}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.link-u{font-size:13.5px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;color:var(--ink);border-bottom:1px solid var(--rule-strong);padding-bottom:2px;transition:border-color .24s var(--ease),color .24s var(--ease)}.link-u .arw{display:inline-block;transition:transform .24s var(--ease)}.link-u:hover{color:var(--accent);border-color:var(--accent)}.link-u:hover .arw{transform:translateX(4px)}.tag{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:5px 10px;border-radius:2px;white-space:nowrap;display:inline-block}.tag-open{background:transparent;color:var(--ink-3);border:1px solid var(--rule-strong);font-weight:500}.tag-accent{background:var(--accent);color:var(--paper)}.chip{font-size:12px;padding:6px 14px;border:1px solid var(--rule-strong);border-radius:30px;color:var(--ink-2);transition:all .24s var(--ease);display:inline-block}.chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.section{padding:104px 0;border-top:1px solid var(--rule);position:relative;z-index:2}.section-tight{padding:72px 0}.section-alt{background:var(--paper-2)}.section-ink{background:var(--ink);color:var(--paper)}.section-ink .eyebrow,.section-ink .eyebrow-plain{color:var(--ink-4)}.section-ink .eyebrow:after{background:hsla(45,31%,95%,.18)}.section-ink .body-text,.section-ink .lede{color:hsla(45,31%,95%,.75)}.sec-head{margin-bottom:46px}.sec-head .eyebrow{margin-bottom:20px}.sec-head h2{max-width:20ch}.hero{padding:84px 0 0;position:relative}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:56px;gap:56px;align-items:center}.hero h1{margin-bottom:28px}.hero .desc{font-size:16.5px;color:var(--ink-2);line-height:1.7;max-width:44ch;margin-bottom:32px}.hero-meta{margin-top:40px;padding-top:22px;border-top:1px solid var(--rule);display:flex;gap:34px;flex-wrap:wrap}.hero-meta-item{font-size:12.5px;color:var(--ink-3)}.hero-meta-item strong{display:block;font-weight:500;font-size:13.5px;margin-top:3px}.chain{border:1px solid var(--rule);background:var(--card);border-radius:3px;padding:12px}.chain-node{display:block;width:100%;text-align:left;border:none;background:transparent;font-family:var(--sans);cursor:pointer;padding:13px 16px;border-radius:2px;position:relative;color:var(--ink-2);transition:background .26s var(--ease),color .26s var(--ease)}.chain-node:hover{background:var(--paper-2);color:var(--ink)}.chain-node.on{background:var(--accent-soft);color:var(--ink)}.chain-row{display:flex;align-items:center;gap:13px}.chain-dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--ink-4);flex-shrink:0;transition:all .3s var(--ease)}.chain-node.on .chain-dot,.chain-node:hover .chain-dot{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}.chain-label{font-size:13.5px;font-weight:500;letter-spacing:.01em}.chain-idx{margin-left:auto;font-family:var(--serif);font-size:12px;color:var(--ink-4)}.chain-connector{height:14px;margin-left:19px;border-left:1px solid var(--rule-strong)}.chain-note{overflow:visible!important;max-height:none!important;opacity:1!important;padding:11px 0 3px 20px!important;transition:none}.chain-note p{font-size:13px;line-height:1.68;color:var(--ink-2);border-left:1px solid var(--accent-line);padding-left:14px}.chain-animated .chain-stage{opacity:0;transform:translateY(14px);animation:chain-stage-in .62s cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(var(--stage-index) * .12s)}.chain-animated .chain-connector{transform:scaleY(0);transform-origin:top;animation:chain-line-in .42s cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(var(--stage-index) * .12s + .28s)}.chain-animated .chain-node{transition:background .26s var(--ease),color .26s var(--ease),transform .26s var(--ease)}.chain-animated .chain-node:hover{transform:translateX(3px)}.chain-animated .chain-node:hover .chain-dot{background:var(--accent);border-color:var(--accent);transform:scale(1.35);box-shadow:0 0 0 4px var(--accent-soft)}@keyframes chain-stage-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes chain-line-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.chain-animated .chain-connector,.chain-animated .chain-stage{opacity:1;transform:none;animation:none}}.chain-hint{font-size:11.5px;color:var(--ink-4);padding:10px 16px 4px}.stepper{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule)}.step{padding:26px 20px 30px;cursor:pointer;background:transparent;border:none;border-right:1px solid var(--rule);text-align:left;font-family:var(--sans);position:relative;transition:background .3s var(--ease)}.step:last-child{border-right:none}.step:before{content:"";position:absolute;top:-1px;left:0;height:2px;width:0;background:var(--accent);transition:width .52s var(--ease)}.step.on:before,.step:hover:before{width:100%}.step.on{background:var(--card)}.step-n{font-size:12.5px;color:var(--ink-4)}.step-label,.step-n{font-family:var(--serif);margin-bottom:12px}.step-label{font-size:20px;letter-spacing:-.01em}.step-body{font-size:12.5px;line-height:1.68;color:var(--ink-3);opacity:0;transform:translateY(-4px);transition:opacity .36s var(--ease),transform .36s var(--ease)}.step.on .step-body,.step:hover .step-body{opacity:1;transform:none}.fw{display:grid;grid-template-columns:1fr 1.1fr;grid-gap:52px;gap:52px;align-items:center}.fw-list{border-top:1px solid var(--rule)}.fw-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--rule);font-family:var(--sans);cursor:pointer;padding:20px 0;position:relative;transition:padding-left .32s var(--ease)}.fw-item:before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--accent);transform:translateY(-50%);transition:width .32s var(--ease)}.fw-item.on,.fw-item:hover{padding-left:28px}.fw-item.on:before,.fw-item:hover:before{width:18px}.fw-label{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;color:var(--ink)}.fw-item.on .fw-label{color:var(--accent)}.fw-panel{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:34px;min-height:210px}.fw-panel-label{font-family:var(--serif);font-size:26px;margin-bottom:14px;letter-spacing:-.012em}.fw-panel-body{font-size:14.5px;line-height:1.78;color:var(--ink-2)}.fw-diagram{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:1px}.grid-2,.grid-3{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:1px}.cell{background:var(--paper);padding:30px 28px 34px;position:relative;transition:background .32s var(--ease)}.cell:hover{background:var(--card)}.cell:before{content:"";position:absolute;top:0;left:0;height:2px;width:0;background:var(--accent);transition:width .52s var(--ease)}.cell:hover:before{width:100%}.cell h3{font-family:var(--serif);font-size:19px;margin-bottom:11px;letter-spacing:-.01em;transition:transform .3s var(--ease)}.cell:hover h3{transform:translateX(3px)}.cell p{font-size:13.5px;line-height:1.72;color:var(--ink-3)}.cell-n{font-family:var(--serif);font-size:12.5px;color:var(--ink-4);margin-bottom:14px}.proj{display:block;text-decoration:none;border:1px solid var(--rule);background:var(--card);border-radius:3px;padding:34px 36px 36px;position:relative;overflow:hidden;transition:border-color .32s var(--ease),transform .32s var(--ease)}.proj:hover{border-color:var(--rule-strong);transform:translateY(-3px)}.proj:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent);transition:width .56s var(--ease)}.proj:hover:after{width:100%}.proj-top{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.proj-q{font-family:var(--serif);font-size:23px;line-height:1.3;letter-spacing:-.012em;margin-bottom:14px;max-width:28ch}.proj-title{font-size:13px;color:var(--ink-3);line-height:1.6;margin-bottom:16px;max-width:52ch}.proj-sum{font-size:14.5px;color:var(--ink-2);line-height:1.75;max-width:60ch;margin-bottom:22px}.proj-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--rule)}.proj-stack{display:grid;grid-gap:20px;gap:20px}.nb-grid{column-count:2;column-gap:20px}.nb{page-break-inside:avoid;break-inside:avoid;margin-bottom:20px;background:var(--card);border:1px solid var(--rule);border-left:2px solid var(--accent-line);border-radius:2px;padding:22px 24px 24px;transition:border-left-color .32s var(--ease),transform .32s var(--ease)}.nb:hover{border-left-color:var(--accent);transform:translateX(3px)}.nb-kind{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:11px}.nb p{font-size:14px;line-height:1.75;color:var(--ink-2)}.ql{border-top:1px solid var(--rule)}.ql-item{display:flex;gap:22px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--rule);position:relative;transition:padding-left .34s var(--ease)}.ql-item:before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--accent);transform:translateY(-50%);transition:width .34s var(--ease)}.ql-item:hover{padding-left:30px}.ql-item:hover:before{width:20px}.ql-n{font-size:13px;color:var(--ink-4);flex-shrink:0;width:26px}.ql-n,.ql-t{font-family:var(--serif)}.ql-t{font-size:21px;line-height:1.4;color:var(--ink-2);letter-spacing:-.008em;transition:color .28s var(--ease)}.ql-item:hover .ql-t{color:var(--ink)}.section-ink .ql,.section-ink .ql-item{border-color:hsla(45,31%,95%,.16)}.section-ink .ql-t{color:hsla(45,31%,95%,.82)}.section-ink .ql-item:hover .ql-t{color:var(--paper)}.section-ink .ql-n{color:hsla(45,31%,95%,.42)}.section-ink .ql-item:before{background:var(--paper)}.concepts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.concept{background:var(--paper);padding:30px 26px 34px;transition:background .32s var(--ease)}.concept:hover{background:var(--card)}.concept-term{font-family:var(--serif);font-size:21px;letter-spacing:-.01em;margin-bottom:12px;position:relative;display:inline-block}.concept-term:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--accent);transition:width .42s var(--ease)}.concept:hover .concept-term:after{width:100%}.concept p{font-size:13.5px;line-height:1.74;color:var(--ink-3)}.map-wrap{display:grid;grid-template-columns:1fr .85fr;grid-gap:48px;gap:48px;align-items:center}.map-stage{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:26px;aspect-ratio:4/3}.map-pin{position:absolute;transform:translate(-50%,-50%);background:none;border:none;cursor:pointer;padding:8px;font-family:var(--sans)}.map-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink-3);background:var(--paper);transition:all .32s var(--ease)}.map-pin.on .map-dot{background:var(--accent);transform:scale(1.35)}.map-pin.on .map-dot,.map-pin.primary .map-dot,.map-pin:hover .map-dot{border-color:var(--accent)}.map-pin:hover .map-dot{transform:scale(1.3)}.map-halo{position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--accent);opacity:0;animation:halo 3s var(--ease-soft) infinite}@keyframes halo{0%{opacity:.5;transform:scale(.7)}70%{opacity:0;transform:scale(1.5)}to{opacity:0}}.map-name{position:absolute;left:50%;top:calc(100% - 2px);transform:translateX(-50%);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.map-pin.on .map-name{color:var(--accent)}.map-panel{padding-top:26px}.map-panel,.th-row{border-top:1px solid var(--rule)}.th-row{display:grid;grid-template-columns:190px 1fr;grid-gap:40px;gap:40px;padding:34px 0;transition:padding-left .34s var(--ease)}.th-row:last-child{border-bottom:1px solid var(--rule)}.th-row:hover{padding-left:10px}.th-label{font-family:var(--serif);font-size:19px;letter-spacing:-.01em;color:var(--accent)}.th-body{font-size:15.5px;line-height:1.82;color:var(--ink-2);max-width:62ch}.form{max-width:640px}.field{margin-bottom:22px}.field label{display:block;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:9px}.field .req{text-transform:none;letter-spacing:0;color:var(--ink-4);font-weight:400}.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--card);border:1px solid var(--rule-strong);border-radius:2px;padding:13px 15px;transition:border-color .24s var(--ease),box-shadow .24s var(--ease)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-4)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{min-height:118px;resize:vertical;line-height:1.65}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.field-error{font-size:12.5px;color:#9c3024;margin-top:7px}.check-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.check{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--rule-strong);border-radius:2px;padding:13px 15px;cursor:pointer;background:var(--card);font-size:13.5px;line-height:1.5;transition:border-color .24s var(--ease),background .24s var(--ease)}.check:hover{border-color:var(--ink-3)}.check.on{border-color:var(--accent);background:var(--accent-soft)}.check input{width:auto;margin-top:3px;accent-color:var(--accent)}.form-note{font-size:13px;color:var(--ink-3);line-height:1.7;margin-top:16px;max-width:56ch}.form-status{border:1px solid var(--rule-strong);border-left:2px solid var(--accent);border-radius:2px;padding:26px 28px;background:var(--card);animation:dropIn .34s var(--ease)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:64px;gap:64px;align-items:start}.c-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:19px 0;border-bottom:1px solid var(--rule);text-decoration:none;position:relative;transition:padding-left .32s var(--ease)}.c-row:first-child{border-top:1px solid var(--rule)}.c-row:before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--accent);transform:translateY(-50%);transition:width .32s var(--ease)}.c-row:hover{padding-left:26px}.c-row:hover:before{width:18px}.c-label{font-size:15px;font-weight:500}.c-val{font-size:13px;color:var(--ink-3);text-align:right;word-break:break-word}.w-card{border:1px solid var(--rule);background:var(--card);border-radius:3px;padding:30px 32px 32px;transition:transform .32s var(--ease),border-color .32s var(--ease)}.w-card:hover{transform:translateY(-3px);border-color:var(--rule-strong)}.w-title{font-family:var(--serif);font-size:21px;line-height:1.32;letter-spacing:-.01em;margin-bottom:12px}.w-meta{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin-bottom:14px}.w-body{font-size:14.5px;line-height:1.75;color:var(--ink-2);margin-bottom:20px}.idrg-hero{background:var(--ink);color:var(--paper);padding:108px 0 96px;position:relative;overflow:hidden}.idrg-hero h1{max-width:17ch;margin-bottom:26px}.idrg-hero .lede{color:hsla(45,31%,95%,.72)}.idrg-mark{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:hsla(45,31%,95%,.55);margin-bottom:26px}.idrg-hero .btn{border-color:hsla(45,31%,95%,.3);color:var(--paper)}.idrg-hero .btn:hover{background:hsla(45,31%,95%,.1);border-color:var(--paper)}.idrg-hero .btn-primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.idrg-hero .btn-primary:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.idrg-proj{border:1px solid var(--rule);background:var(--card);border-radius:3px;padding:28px 30px 30px;height:100%;transition:border-color .32s var(--ease),transform .32s var(--ease)}.idrg-proj:hover{border-color:var(--rule-strong);transform:translateY(-3px)}.idrg-proj-name{font-family:var(--serif);font-size:20px;letter-spacing:-.01em;margin:14px 0 11px}.idrg-proj-line{font-size:14px;line-height:1.72;color:var(--ink-2)}.dims{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}.dim{font-size:11px;color:var(--ink-3);border:1px solid var(--rule);border-radius:2px;padding:4px 9px}.apply-cta{background:var(--ink);color:var(--paper);padding:96px 0;text-align:center}.apply-cta h2{max-width:18ch;margin:0 auto 22px}.apply-cta p{color:hsla(45,31%,95%,.72);max-width:52ch;margin:0 auto 36px;font-size:16px;line-height:1.72}.apply-cta .btn-primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.apply-cta .btn-primary:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.person{display:flex;gap:20px;align-items:flex-start;border:1px solid var(--rule);background:var(--card);border-radius:3px;padding:26px 28px;max-width:560px}.person-initials{font-family:var(--serif);font-size:18px;width:52px;height:52px;border-radius:50%;border:1px solid var(--rule-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.person-name{font-size:15.5px;font-weight:500;margin-bottom:3px}.person-role{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.person-line{font-size:13.5px;line-height:1.7;color:var(--ink-2)}.site-footer{border-top:1px solid var(--rule);padding:64px 0 56px;background:var(--paper-2);position:relative;z-index:2}.f-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);grid-gap:40px;gap:40px}.f-name{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;margin-bottom:5px}.f-role{font-size:11px;letter-spacing:.14em;color:var(--ink-3)}.f-col h4,.f-role{text-transform:uppercase}.f-col h4{font-size:10.5px;font-weight:600;letter-spacing:.13em;color:var(--ink-4);margin-bottom:16px}.f-col a{display:block;font-size:13.5px;color:var(--ink-2);text-decoration:none;padding:5px 0;transition:color .22s var(--ease),transform .22s var(--ease)}.f-col a:hover{color:var(--accent);transform:translateX(3px)}.f-bottom{margin-top:52px;padding-top:24px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--ink-4)}@media (max-width:980px){.contact-grid,.fw,.hero-grid,.map-wrap{grid-template-columns:1fr;gap:40px}.concepts,.grid-3{grid-template-columns:repeat(2,1fr)}.f-grid{grid-template-columns:1fr 1fr;gap:34px}.stepper{grid-template-columns:repeat(2,1fr)}.step{border-bottom:1px solid var(--rule)}.step-body{opacity:1;transform:none}}@media (max-width:720px){.nav-desktop{display:none}.nav-toggle{display:flex}.nav-inner{padding:15px 22px}.nav-mobile{padding:2px 22px 18px}.wrap,.wrap-narrow{padding:0 22px}.section{padding:68px 0}.section-tight{padding:52px 0}.hero{padding:52px 0 0}.apply-cta,.idrg-hero{padding:68px 0}.check-grid,.concepts,.field-row,.grid-2,.grid-3,.stepper{grid-template-columns:1fr}.step{border-right:none}.nb-grid{column-count:1}.th-row{grid-template-columns:1fr;gap:12px}.proj{padding:26px 24px 28px}.fw-panel{padding:26px 24px}.map-wrap{gap:30px}.ql-t{font-size:18px}.sec-head{margin-bottom:34px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv,.rv-line:before{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.chain-note,.step-body{opacity:1}.map-halo{animation:none}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hero h1.q-display{font-size:clamp(42px,4.2vw,68px)!important;line-height:1.05!important;max-width:760px!important}@media (max-width:800px){.hero h1.q-display{font-size:clamp(36px,9vw,52px)!important}}.hero h1.q-display{font-size:clamp(34px,3.25vw,54px)!important;line-height:1.08!important;max-width:700px!important;margin-bottom:20px!important}.hero .desc{font-size:15px!important;line-height:1.55!important;margin-bottom:20px!important}.hero .btn-row{margin-bottom:0!important;transform:translateY(-8px)}.hero .hero-meta{margin-top:18px!important}@media (max-width:800px){.hero h1.q-display{font-size:clamp(32px,8vw,46px)!important}.hero .btn-row{transform:none}}.stepper .step{opacity:1!important}.stepper .step-body{height:auto!important}.stepper .step-body,.stepper .step.on .step-body,.stepper .step:hover .step-body{display:block!important;opacity:1!important;max-height:none!important;visibility:visible!important;transform:none!important}.stepper .step{min-height:190px}.concept-node-group{overflow:visible}.concept-node-label{font-size:12px!important;font-weight:500;fill:var(--ink-2);pointer-events:none;white-space:nowrap}.concept-node-group circle{vector-effect:non-scaling-stroke}.hero-interest-buttons{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;margin-top:22px!important}.hero-interest-buttons span{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:8px 14px!important;min-height:34px!important;border:1px solid #d7d5ce!important;border-radius:999px!important;background:#faf9f5!important;color:#4b4a45!important;font-size:12px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;cursor:default!important}.hero-interest-buttons span:hover{background:#f1f0eb!important;border-color:#bdbbb3!important;color:#11110f!important}@media (max-width:800px){.hero-interest-buttons{gap:6px!important}.hero-interest-buttons span{font-size:11px!important;padding:8px 11px!important}}.hero-grid{align-items:start!important}.hero .hero-meta{margin-top:16px!important;padding-top:16px!important;row-gap:14px!important}.hero-interest-buttons{margin-top:10px!important;gap:7px!important}.hero-interest-buttons span{min-height:32px!important;padding:7px 13px!important;font-size:11.5px!important}.hero .stepper .step{min-height:125px!important;padding-top:12px!important;padding-bottom:12px!important}.hero .stepper .step-body{margin-top:6px!important;line-height:1.45!important}.hero .stepper{gap:0!important}.hero-grid>:first-child,.hero-grid>:last-child{align-self:start!important}@media (max-width:800px){.hero .stepper .step{min-height:120px!important}}.btn,.btn-lg,.btn-sm,.hero-interest-buttons span,.pub-tag,.research-interest-button,button{border-radius:999px!important}.btn-lg{padding-left:22px!important;padding-right:22px!important}.btn-sm{border-radius:999px!important}.pub-tag{padding:7px 13px!important}.hero .btn-row{margin-top:18px!important}.hero .hero-meta{width:calc(100% + 18px)!important;transform:translateX(-18px)!important}.hero .btn-row{margin-top:30px!important}.hero .hero-meta{padding-left:0!important}@media (max-width:800px){.hero .hero-meta{width:100%!important;transform:none!important}.hero .btn-row{margin-top:24px!important}}.hero h1.q-display{margin-bottom:34px!important}.hero .btn-row{display:flex!important;align-items:center!important;gap:12px!important;margin-top:0!important}.hero .btn-row .btn{height:52px!important;padding:0 24px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;line-height:1!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease!important}.hero .btn-row .btn-primary{min-width:190px!important;background:#11110f!important;color:#fff!important;border:1px solid #11110f!important}.hero .btn-row .btn-primary:hover{background:#2b2b27!important;border-color:#2b2b27!important;color:#fff!important;transform:translateY(-2px)!important}.hero .btn-row .btn:not(.btn-primary){min-width:92px!important;background:transparent!important;color:#11110f!important;border:1px solid #cfcfc8!important}.hero .btn-row .btn:not(.btn-primary):hover{background:#f2f1ed!important;border-color:#aaa9a2!important;color:#11110f!important;transform:translateY(-2px)!important}.hero .btn-row .arw{margin-left:9px!important;font-size:16px!important}@media (max-width:800px){.hero h1.q-display{margin-bottom:26px!important}.hero .btn-row .btn{height:48px!important;padding:0 19px!important}}.hero .hero-meta{transform:translateX(18px)!important;transform:translateX(8px)!important}@media (max-width:800px){.hero .hero-meta{transform:none!important}}.btn-primary.btn-lg,a.btn.btn-primary.btn-lg{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.eyebrow,.eyebrow-plain,.section-head .eyebrow,.section-head .eyebrow-plain,.section-head>.eyebrow{font-weight:700;opacity:1;color:var(--ink);letter-spacing:.12em}.hero-meta-item,.hero-meta-item strong{font-weight:700;color:var(--ink)}.cell-n,.map-panel .small,.small,.tag{font-weight:600;opacity:.9}.map-name{font-weight:700}.nav a{font-weight:600}.nav a,nav a{font-weight:700!important}.idrg-hero .btn-row,.section-ink .btn-row{justify-content:center;align-items:center;gap:14px}.idrg-hero .btn-row .btn,.section-ink .btn-row .btn{margin-left:0;margin-right:0}.brand-sub{display:none!important}.footer-socials{gap:15px;margin-top:14px}.footer-socials a{display:flex;width:22px;height:22px;color:var(--muted);transition:color .2s ease,transform .2s ease}.footer-socials a:hover{color:var(--ink);transform:translateY(-2px)}.footer-socials svg{width:19px;height:19px}.footer-email-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:9px 17px;border:1px solid var(--rule-strong);border-radius:999px;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;transition:all .2s ease}.footer-email-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.idrg-hero{text-align:center}.idrg-hero,.idrg-hero>.wrap{display:flex;align-items:center;justify-content:center}.idrg-hero>.wrap{width:100%;flex-direction:column;margin:0 auto}.idrg-hero .q-display,.idrg-hero .q-large,.idrg-hero h1{width:100%;margin-left:auto;margin-right:auto;text-align:center}.idrg-hero p{text-align:center}.idrg-hero .btn-row,.idrg-hero p{margin-left:auto;margin-right:auto}.idrg-hero .btn-row{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.idrg-hero .btn{white-space:nowrap}.idrg-hero .btn,.nav-contact-btn{display:inline-flex;align-items:center;justify-content:center}.nav-contact-btn{margin-left:14px;padding:9px 16px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;line-height:1;transition:all .18s ease}.nav-contact-btn:hover{background:var(--ink);color:var(--paper)}@media (max-width:800px){.nav-contact-btn{display:none}}.nav-get-touch{display:inline-flex!important;align-items:center;justify-content:center;padding:9px 18px!important;background:#fff!important;color:#111!important;border:1px solid #111!important;border-radius:9999px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;transition:all .2s ease}.nav-get-touch:hover{background:#111!important;color:#fff!important}header .nav-desktop a[href="/contact"],header .nav-desktop a[href="/contact/"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:10px 20px!important;min-height:40px!important;background:#fff!important;color:#111!important;border:1.5px solid #111!important;border-radius:999px!important;font-weight:700!important;text-decoration:none!important;line-height:1!important;box-sizing:border-box!important;transition:background .2s ease,color .2s ease!important}header .nav-desktop a[href="/contact"]:hover,header .nav-desktop a[href="/contact/"]:hover{background:#111!important;color:#fff!important}.nav-desktop{display:flex!important;align-items:center!important;gap:28px!important}.nav-desktop a[href="/contact"],.nav-desktop a[href="/contact/"]{margin-left:22px!important;padding:11px 22px!important;min-height:42px!important;border:1px solid #111!important;transition:all .2s ease!important}.nav-desktop a[href="/contact"]:hover,.nav-desktop a[href="/contact/"]:hover{background:#fff!important;color:#111!important}.nav-desktop a[href="/contact"],.nav-desktop a[href="/contact/"]{padding:0 16px!important;min-height:34px!important;height:34px!important;font-size:inherit!important;font-weight:700!important;line-height:1!important;order:99!important;margin-left:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:7px 16px!important;height:auto!important;min-height:0!important;background:#111!important;color:#fff!important;border:none!important;border-radius:9999px!important;font-weight:600!important;line-height:1.2!important;box-sizing:border-box!important;text-decoration:none!important}.nav-desktop a[href="/contact"]:hover,.nav-desktop a[href="/contact/"]:hover{background:#111!important;color:#fff!important}.nav-desktop a[href="/contact"],.nav-desktop a[href="/contact/"]{margin-left:8px!important;padding:6px 14px!important;font-size:14px!important;margin-left:0!important;padding:5px 12px!important;font-size:13px!important;border-radius:999px!important}.footer-socials{display:flex;align-items:center;gap:18px;margin-top:22px}.footer-socials a{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#1c1c18;transition:opacity .2s ease,transform .2s ease}.footer-socials a:hover{opacity:.55;transform:translateY(-1px)}.footer-socials svg{width:17px;height:17px;fill:currentColor}.footer-socials .scholar-icon svg{width:19px;height:19px}.footer-photo{width:58px;height:58px;object-fit:cover;border-radius:50%;display:block;margin-top:8px;margin-bottom:16px}.footer-contact-btn{display:inline-flex!important;align-items:center;justify-content:center;padding:9px 18px;border:1px solid rgba(28,28,24,.22);border-radius:999px;color:#1c1c18!important;font-size:13px;font-weight:600;line-height:1;transition:background .2s ease,color .2s ease}.footer-contact-btn:hover{background:#1c1c18;color:#f5f3ec!important}.brand-sub,.f-role,.logo-role{display:none!important}.footer-contact-card{transition:all .25s ease;display:flex;align-items:center;width:100%;max-width:560px;min-height:150px;padding:20px 28px 20px 20px;box-sizing:border-box;border:1.5px solid #777;border-radius:999px;background:transparent;color:#111;text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease}.footer-contact-card img{width:108px;height:108px;min-width:108px;border-radius:50%;object-fit:cover;display:block}.footer-contact-card span{flex:1 1;margin-left:34px;font-size:28px;font-weight:600;letter-spacing:-.02em}.footer-contact-card:after{content:"→";font-size:38px;line-height:1;margin-left:20px;transition:transform .25s ease}.footer-contact-card:hover{background:#111;color:#fff;border-color:#111}.footer-contact-card:hover:after{transform:translateX(6px)}@media (max-width:700px){.footer-contact-card{min-height:110px;padding:14px 20px 14px 14px}.footer-contact-card img{width:78px;height:78px;min-width:78px}.footer-contact-card span{margin-left:20px;font-size:22px}.footer-contact-card:after{font-size:30px}}.footer-elsewhere{display:flex;flex-direction:column;align-items:flex-start}.footer-contact-btn{width:210px!important;height:82px!important;padding:8px 12px!important;border:1.5px solid #777!important;border-radius:999px!important;background:transparent!important;color:#222!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;text-decoration:none!important;box-sizing:border-box!important;overflow:hidden!important;transition:transform .2s ease,background .2s ease!important}.footer-contact-btn:before{content:"";width:58px;height:58px;flex:0 0 58px;border-radius:50%;background-image:url(/images/nafiz2website.png);background-size:cover;background-position:50%;display:block}.footer-contact-btn:after{content:"→";font-size:28px;line-height:1;margin-left:auto;margin-right:4px}.footer-contact-btn{font-size:18px!important;font-weight:600!important}.footer-contact-btn:hover{transform:translateY(-2px);background:#f7f6f1!important}.footer-contact-btn,.footer-contact-card,.footer-photo{display:none!important}.footer-elsewhere{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}.footer-elsewhere h4{width:100%;text-align:center}.elsewhere-photo{width:64px!important;height:64px!important;margin-top:18px!important;border-radius:50%!important;object-fit:cover!important;object-position:center!important;display:block!important}.elsewhere-email{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:14px!important;height:38px!important;padding:0 20px!important;border:1px solid #777!important;border-radius:999px!important;background:transparent!important;color:#222!important;font-size:14px!important;font-weight:600!important;text-decoration:none!important;transition:all .2s ease!important}.elsewhere-email:hover{background:#222!important;border-color:#222!important;color:#fff!important}.footer-legal{display:inline-flex;align-items:center;gap:22px;margin-left:24px}.footer-legal a{color:inherit;text-decoration:none;transition:opacity .2s ease}.footer-legal a:hover{opacity:.55}.legal-page{min-height:70vh;padding:100px 24px 120px}.legal-inner{max-width:780px;margin:0 auto}.legal-kicker{margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.14em;color:#777}.legal-inner h1{margin:0 0 28px;font-size:clamp(42px,6vw,72px);line-height:.98;font-weight:400;letter-spacing:-.04em}.legal-lead{margin:0 0 64px;max-width:680px;font-size:21px;line-height:1.55;color:#555}.legal-inner section{padding:28px 0;border-top:1px solid #ddd}.legal-inner h2{margin:0 0 12px;font-size:18px;font-weight:600}.legal-inner section p{margin:0;max-width:680px;font-size:16px;line-height:1.7;color:#666}.legal-updated{margin-top:42px!important;font-size:13px!important;color:#999!important}.method-item.active,.method-item:hover,.process-item.active,.process-item:hover,.research-item.active,.research-item:hover,.research-step.active,.research-step:hover{border-radius:14px!important}.method-item:hover *,.process-item:hover *,.research-item:hover *,.research-step:hover *{border-radius:inherit}.chain-node{border-radius:12px!important;overflow:hidden}.chain-node.on,.chain-node:hover{border-radius:12px!important;background:var(--paper-2)}.chain-node.on:before,.chain-node:hover:before{border-radius:12px!important}@media (max-width:768px){.site-header,header{overflow:hidden}.nav-inner{min-height:76px!important;padding:14px 20px!important;gap:18px!important}.nav-brand{flex-shrink:0!important;width:auto!important;max-width:120px!important;font-size:15px!important;line-height:1.15!important}.nav-brand,.nav-links{white-space:nowrap!important}.nav-links{display:flex!important;flex:1 1 auto!important;min-width:0!important;gap:24px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}.nav-links::-webkit-scrollbar{display:none!important}.nav-link{flex:0 0 auto!important;font-size:14px!important}.nav-actions,.nav-cta,.nav-toggle{flex-shrink:0!important}.nav-actions .btn,.nav-cta .btn{white-space:nowrap!important}}@media (max-width:480px){.nav-inner{padding:12px 16px!important;gap:14px!important}.nav-brand{max-width:92px!important;font-size:14px!important}.nav-links{gap:20px!important}.nav-link{font-size:13px!important}.nav-actions .btn,.nav-cta .btn{display:none!important}}@media (max-width:768px){.nav-inner{height:72px!important;min-height:72px!important;padding:0 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.nav-brand{display:block!important;width:auto!important;max-width:none!important;white-space:nowrap!important;font-size:18px!important;line-height:1!important}.nav-actions,.nav-cta,.nav-links{display:none!important}.nav-toggle{display:flex!important;width:40px!important;height:40px!important;margin-left:auto!important;flex-shrink:0!important}.nav-inner{height:68px!important;min-height:68px!important;padding:0 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.nav-brand{display:block!important;width:auto!important;max-width:none!important;margin:0!important;white-space:nowrap!important;font-size:17px!important;line-height:1!important}.nav-actions,.nav-cta,.nav-links{display:none!important}.nav-toggle{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;padding:0!important;margin:0!important;flex-shrink:0!important;background:transparent!important;border:0!important}.nav-toggle span{display:block!important;width:22px!important;height:1.5px!important;background:var(--ink)!important;margin:3px 0!important}header{background:var(--paper)!important;color:var(--ink)!important}.nav-inner{height:68px!important;min-height:68px!important;padding:0 20px!important;justify-content:space-between!important}.logo,.nav-inner{display:flex!important;align-items:center!important}.logo{margin:0!important;padding:0!important;flex:1 1!important}.logo-name{display:block!important;font-size:17px!important;line-height:1!important;white-space:nowrap!important}.logo-photo,.logo-role,.nav-desktop{display:none!important}.nav-toggle{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;width:42px!important;height:42px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;flex-shrink:0!important}.nav-toggle .bar{display:block!important;width:23px!important;height:1.5px!important;background:var(--ink)!important;margin:0!important}}body,html{color-scheme:light!important;background:#f6f4ee!important}body{color:#171717!important}*,button,input,select,textarea{color-scheme:light!important}