/* ILLIPE — institutional web v2
   Corporate working colors from Notion: #17191D / #F5F4F0 / #858C86
   Typography: provisional Manrope & DM Sans, not a finalized brand font.
   Editorial, responsive, reduced-motion-safe. No visual effects or scroll animations. */
:root {
  color-scheme: dark;
  --ink: #17191D;
  --paper: #F5F4F0;
  --muted: #858C86;
  --soft: #C9CCC7;
  --line: rgba(245,244,240,.15);
  --line-strong: rgba(245,244,240,.29);
  --surface: #202328;
  --surface-2: #24272C;
  --content: 1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:110px}
body{margin:0;min-width:320px;background:var(--ink);color:var(--paper);font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--paper);color:var(--ink)}
:focus-visible{outline:2px solid var(--paper);outline-offset:5px}
.container{width:min(calc(100% - 112px),var(--content));margin-inline:auto}
.sr-only{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;white-space:nowrap}
.skip-link{position:absolute;top:-100px;left:16px;z-index:200;padding:12px 17px;color:var(--ink);background:var(--paper)}
.skip-link:focus{top:12px}
.site-header{position:relative;z-index:30;background:var(--ink)}
.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}
.wordmark{display:inline-flex;align-items:center;flex:none}
.wordmark img{display:block;width:116px;height:auto}
.nav-wrap{display:flex;align-items:center;gap:54px}
.main-nav{display:flex;align-items:center;gap:42px}
.main-nav a,.contact-nav{font-size:13px;font-weight:550;color:#C8CCC9}
.main-nav a[aria-current=page]{color:var(--paper)}
.main-nav a[aria-current=page]::after{content:"";height:1px;background:var(--paper);display:block;margin-top:6px}
.main-nav a:hover,.contact-nav:hover{color:var(--paper)}
.contact-nav{display:inline-flex;gap:18px;align-items:center;padding:12px 0 12px 25px;border-left:1px solid var(--line)}
.contact-nav span{font-size:17px}
.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border:1px solid var(--line);border-radius:4px;color:var(--paper);background:transparent;cursor:pointer}
.menu-toggle span{width:19px;height:1px;background:currentColor}
.mobile-nav{display:none}
.section-kicker{display:flex;align-items:center;gap:17px;color:#A5AAA6;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.section-kicker::before{content:"";display:block;width:27px;height:1px;background:#9BA09B;flex:none}
.section-number{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em}
.display,.section-title,.page-title,.feature-title{font-family:"Manrope","DM Sans",sans-serif;font-weight:500;letter-spacing:-.065em}
.display{font-size:clamp(52px,7.25vw,106px);line-height:1.065;margin:31px 0 28px;max-width:1120px}
.display .soft{color:#B9BDB9}
.copy{color:var(--soft);line-height:1.82;font-size:16px}
.lead{font-size:clamp(16px,1.55vw,19px);max-width:680px}
.text-link{display:inline-flex;gap:17px;align-items:center;font-size:13px;font-weight:650;color:var(--paper);border-bottom:1px solid var(--line-strong);padding-bottom:10px}
.text-link:hover{border-bottom-color:var(--paper)}
.text-link span{font-size:17px;font-weight:400}
.button-outline{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--line-strong);border-radius:5px;padding:16px 19px;color:var(--paper);font-size:13px;font-weight:650;background:transparent}
.button-outline:hover{border-color:var(--paper);background:var(--surface)}
.button-outline span{font-size:18px}
.hero{border-bottom:1px solid var(--line)}
.hero-inner{padding-top:125px;padding-bottom:104px}
.hero-main{max-width:1050px}
.hero-intro{max-width:690px}
.hero-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:38px}
.hero-bottom{display:flex;gap:26px;align-items:center;justify-content:space-between;margin-top:94px;padding-top:24px;border-top:1px solid var(--line)}
.hero-bottom>span{color:var(--muted);font-size:10px;letter-spacing:.13em}
.hero-bottom>p{margin:0;max-width:310px;color:#B2B6B0;font-size:12px;line-height:1.7}
.split-section{display:grid;grid-template-columns:34% minmax(0,1fr);gap:9%;padding-top:105px;padding-bottom:108px;border-bottom:1px solid var(--line)}
.split-section .eyebrow{margin:0}
.section-title{font-size:clamp(37px,4.4vw,64px);line-height:1.17;margin:0 0 25px}
.split-body{max-width:780px}
.split-body p{max-width:720px;margin:0 0 24px}
.split-body p:last-of-type{margin-bottom:0}
.split-body .text-link{margin-top:34px}
.small-note{margin-top:38px;color:var(--muted);font-size:11px;letter-spacing:.1em;line-height:1.7}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}
.section-heading h2{margin:12px 0 0;font-family:"Manrope",sans-serif;letter-spacing:-.06em;font-weight:500;font-size:clamp(36px,4.4vw,57px)}
.work-section{padding-top:105px;padding-bottom:115px;border-bottom:1px solid var(--line)}
.work-feature{display:grid;grid-template-columns:1.2fr .85fr;gap:36px;align-items:stretch;min-height:330px;border:1px solid var(--line-strong);background:var(--surface)}
.work-description{padding:clamp(30px,4.4vw,64px);display:flex;flex-direction:column;align-items:start}
.work-meta{display:flex;gap:22px;align-items:center;color:#B3B8B2;font-size:10px;letter-spacing:.12em;font-weight:600}
.work-feature h3{font-family:"Manrope",sans-serif;font-size:clamp(47px,5.5vw,78px);line-height:1.1;letter-spacing:-.07em;font-weight:500;margin:37px 0 15px}
.work-feature p{font-size:15px;line-height:1.85;color:#CFD3CE;max-width:540px;margin:0 0 32px}
.work-feature .text-link{margin-top:auto}
.work-side{border-left:1px solid var(--line);padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.work-side img{display:block;width:70px;height:150px;object-fit:contain;object-position:top;opacity:.64}
.work-side .side-caption{font-size:11px;color:#ADB2AA;max-width:210px;line-height:1.75}
.principle-section{padding-top:105px;padding-bottom:125px;border-bottom:1px solid var(--line)}
.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:48px}
.principle{border-top:1px solid var(--line-strong);padding-top:22px}
.principle .section-number{display:block;margin-bottom:56px}
.principle h3{font-family:"Manrope",sans-serif;font-size:clamp(21px,2.3vw,30px);font-weight:500;letter-spacing:-.045em;margin:0 0 15px}
.principle p{font-size:14px;line-height:1.8;color:var(--soft);max-width:310px;margin:0}
.next-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:94px;padding-bottom:101px;border-bottom:1px solid var(--line)}
.next-section h2{margin:0;font-family:"Manrope",sans-serif;letter-spacing:-.055em;font-weight:500;font-size:clamp(32px,3.7vw,52px);line-height:1.2}
.next-right{justify-self:end;max-width:420px}
.next-right p{font-size:15px;line-height:1.8;color:var(--soft);margin:0 0 24px}

/* Interior pages */
.page-hero{border-bottom:1px solid var(--line)}
.page-hero-inner{padding-top:104px;padding-bottom:112px}
.page-title{font-size:clamp(52px,6.5vw,91px);line-height:1.11;max-width:1060px;margin:30px 0 25px}
.page-hero .lead{max-width:730px;margin:0}
.page-subline{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:80px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.11em}
.article-section{padding-top:110px;padding-bottom:116px;border-bottom:1px solid var(--line)}
.article-grid{display:grid;grid-template-columns:34% 1fr;gap:9%}
.article-grid h2{font-family:"Manrope",sans-serif;font-size:clamp(34px,4vw,53px);font-weight:500;letter-spacing:-.059em;line-height:1.2;margin:20px 0 0}
.article-copy{padding-top:6px}
.article-copy p{font-size:17px;line-height:1.86;color:var(--soft);margin:0 0 25px}
.article-copy p:first-child{color:var(--paper)}
.article-copy p:last-child{margin:0}
.framework-section{padding-top:110px;padding-bottom:120px;border-bottom:1px solid var(--line)}
.framework-heading{max-width:760px}
.framework-heading h2{font-family:"Manrope",sans-serif;font-size:clamp(38px,4.7vw,64px);font-weight:500;letter-spacing:-.06em;line-height:1.2;margin:19px 0 19px}
.framework-heading p{font-size:16px;color:var(--soft);line-height:1.85;max-width:590px}
.framework-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:52px}
.framework-item{border-top:1px solid var(--line-strong);padding-top:19px}
.framework-item span{font-size:11px;color:var(--muted)}
.framework-item h3{font-family:"Manrope",sans-serif;font-size:25px;letter-spacing:-.045em;font-weight:500;margin:54px 0 13px}
.framework-item p{font-size:14px;color:var(--soft);line-height:1.75;margin:0}
.identity-quote{padding-top:91px;padding-bottom:96px;border-bottom:1px solid var(--line)}
.identity-quote p{font-family:"Manrope",sans-serif;font-size:clamp(30px,4.2vw,58px);line-height:1.25;font-weight:500;letter-spacing:-.057em;max-width:950px;margin:0 0 28px}
.identity-quote .source-note{color:var(--muted);font-size:12px;letter-spacing:.09em}
.work-detail{padding-top:110px;padding-bottom:120px;border-bottom:1px solid var(--line)}
.work-detail-article{display:grid;grid-template-columns:30% 1fr;gap:8%;border-top:1px solid var(--line-strong);padding-top:34px}
.work-detail-name{display:flex;flex-direction:column;justify-content:space-between;gap:50px}
.work-detail-name h2{font-family:"Manrope",sans-serif;font-size:clamp(48px,5.8vw,82px);font-weight:500;letter-spacing:-.07em;margin:9px 0 0}
.work-detail-name .section-number{display:block}
.work-detail-copy .status-label{display:inline-block;border:1px solid var(--line-strong);padding:8px 12px;font-size:10px;letter-spacing:.13em;font-weight:650;color:var(--soft)}
.work-detail-copy h3{font-family:"Manrope",sans-serif;font-size:clamp(30px,3.6vw,48px);font-weight:500;line-height:1.2;letter-spacing:-.058em;max-width:670px;margin:31px 0 22px}
.work-detail-copy p{font-size:16px;color:var(--soft);line-height:1.85;max-width:620px}
.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:53px;border-top:1px solid var(--line);padding-top:22px}
.detail-facts dt{font-size:10px;letter-spacing:.15em;color:var(--muted);margin-bottom:10px}
.detail-facts dd{margin:0;font-size:13px;line-height:1.65;color:var(--paper)}
.honesty-section{padding-top:80px;padding-bottom:95px;border-bottom:1px solid var(--line)}
.honesty-section .article-grid{align-items:start}
.honesty-section h2{max-width:370px}

/* Contact and footer */
.contact-section{padding-top:98px;padding-bottom:96px;border-bottom:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:11%;align-items:end}
.contact-grid h2{font-family:"Manrope",sans-serif;font-weight:500;letter-spacing:-.06em;font-size:clamp(42px,5vw,68px);line-height:1.18;margin:20px 0 0}
.contact-grid p{color:var(--soft);font-size:15px;line-height:1.86;max-width:470px;margin:0}
.contact-grid .contact-status{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;margin-top:19px;font-weight:650}
.site-footer{padding-top:47px;padding-bottom:36px}
.footer-upper{display:flex;justify-content:space-between;gap:50px;align-items:start;padding-bottom:80px}
.footer-upper .wordmark img{width:115px}
.footer-descriptor{font-size:13px;color:var(--soft);margin-top:19px;max-width:290px;line-height:1.7}
.footer-nav{display:flex;gap:70px}
.footer-nav-col{display:flex;flex-direction:column;gap:17px}
.footer-nav-col strong{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:700;margin-bottom:6px}
.footer-nav-col a{font-size:13px;color:var(--soft)}
.footer-nav-col a:hover{color:var(--paper)}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}
.footer-bottom a:hover{color:var(--paper)}

/* Responsive layouts */
@media(max-width:1050px){
 .container{width:calc(100% - 74px)}
 .main-nav{gap:27px}
 .nav-wrap{gap:34px}
 .split-section,.article-grid{grid-template-columns:33% 1fr;gap:6%}
 .work-side{padding:34px}
 .contact-grid{gap:7%}
 .footer-nav{gap:37px}
}
@media(max-width:760px){
 html{scroll-padding-top:78px}
 .container{width:calc(100% - 38px)}
 .header-inner{height:75px}
 .wordmark img{width:104px}
 .nav-wrap{display:none}
 .menu-toggle{display:flex}
 .mobile-nav{display:none;flex-direction:column;background:var(--ink);border-bottom:1px solid var(--line);padding:0 19px 12px}
 .mobile-nav.is-open{display:flex}
 html:not(.js) .mobile-nav{display:flex}
 .mobile-nav a{padding:16px 0;font-size:14px;color:var(--paper);border-bottom:1px solid var(--line)}
 .hero-inner{padding-top:92px;padding-bottom:72px}
 .display{font-size:clamp(46px,9.7vw,73px);letter-spacing:-.063em}
 .lead,.copy{font-size:15px}
 .hero-bottom{margin-top:75px;align-items:start}
 .hero-bottom>p{max-width:210px}
 .hero-actions{gap:24px}
 .split-section{display:block;padding-top:76px;padding-bottom:82px}
 .split-section>.section-kicker{margin-bottom:26px}
 .section-title{font-size:clamp(37px,8.3vw,58px)}
 .work-section,.principle-section{padding-top:79px;padding-bottom:86px}
 .work-feature{grid-template-columns:1fr;min-height:0;gap:0}
 .work-description{padding:33px 28px}
 .work-feature h3{margin-top:37px;font-size:54px}
 .work-feature .text-link{margin-top:5px}
 .work-side{display:none}
 .principle-grid{grid-template-columns:1fr;gap:33px;margin-top:39px}
 .principle .section-number{margin-bottom:22px}
 .principle h3{font-size:26px}
 .principle p{max-width:510px}
 .next-section{grid-template-columns:1fr;gap:25px;padding-top:74px;padding-bottom:80px}
 .next-right{justify-self:start}
 .page-hero-inner{padding-top:89px;padding-bottom:83px}
 .page-title{font-size:clamp(47px,9vw,72px)}
 .page-subline{margin-top:66px}
 .article-section,.framework-section,.work-detail{padding-top:82px;padding-bottom:89px}
 .article-grid{display:block}
 .article-grid h2{margin:17px 0 30px}
 .article-copy p{font-size:16px}
 .framework-list{grid-template-columns:1fr;gap:26px;margin-top:39px}
 .framework-item h3{margin:21px 0 10px}
 .identity-quote{padding-top:78px;padding-bottom:85px}
 .identity-quote p{font-size:clamp(30px,6.8vw,49px)}
 .work-detail-article{grid-template-columns:1fr;gap:33px}
 .work-detail-name{gap:8px}
 .work-detail-name h2{font-size:63px}
 .work-detail-copy h3{font-size:clamp(30px,7vw,45px)}
 .honesty-section{padding-top:72px;padding-bottom:85px}
 .contact-section{padding-top:83px;padding-bottom:84px}
 .contact-grid{grid-template-columns:1fr;gap:27px}
 .contact-grid h2{font-size:53px}
 .footer-upper{gap:37px;padding-bottom:57px}
 .footer-nav{gap:26px}
}
@media(max-width:520px){
 .display{font-size:clamp(43px,10.6vw,58px)}
 .hero-bottom{flex-direction:column;gap:12px}
 .hero-bottom>p{max-width:none}
 .section-heading{display:block}
 .section-heading h2{margin-top:17px}
 .work-feature h3{font-size:49px}
 .work-meta{flex-direction:column;align-items:start;gap:9px}
 .work-feature p{font-size:14px}
 .page-title{font-size:clamp(43px,10vw,57px)}
 .page-subline{font-size:9px}
 .detail-facts{grid-template-columns:1fr;gap:23px}
 .footer-upper{flex-direction:column}
 .footer-nav{width:100%;justify-content:space-between;gap:20px}
 .footer-bottom{flex-direction:column;align-items:start}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
