/* Original concept studies. Preview UI is illustrative, not a live client product. */
.hero--portfolio { padding-bottom: 88px; }
.showcase-section { padding: 0 0 112px; }
.showcase-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin:0 0 30px; }
.showcase-intro h2 { margin:10px 0 0; font-size:clamp(28px,3.3vw,44px); letter-spacing:-.045em; line-height:1.12; }
.showcase-note { max-width:350px; color:var(--muted); font-size:14px; line-height:1.65; }
.study-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 28px; }
.study-card { min-width:0; scroll-margin-top:110px; }
.study-card--featured { grid-column:1 / -1; }
.study-visual { container-type:inline-size; padding:32px; overflow:hidden; border-radius:24px; background:#e7e4df; }
.study-visual--portal { background:#e8e7f0; }
.study-visual--schedule { background:#dfe9e7; }
.study-visual-label { display:flex; justify-content:space-between; gap:16px; margin-bottom:24px; color:#54504d; font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.study-caption { padding:23px 3px 0; }
.study-caption-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 16px; }
.study-caption h3 { margin:0; font-size:27px; font-weight:600; letter-spacing:-.035em; }
.study-caption h3 a { display:inline-flex; align-items:center; gap:12px; }
.study-caption h3 a span { transition:transform .2s; }
.study-caption h3 a:hover span { transform:translate(3px,-3px); }
.study-caption > p { max-width:620px; margin-top:10px; color:var(--muted); font-size:16px; line-height:1.65; }
.study-number { color:var(--muted); font:11px var(--mono); }
.study-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
.study-tags span { padding:6px 10px; border:1px solid var(--line); border-radius:20px; font-size:11px; color:#595960; }
.study-credit { margin-top:14px; font-size:11px; color:var(--muted); }
.study-credit a { text-decoration:underline; text-underline-offset:3px; }
.study-shell { overflow:hidden; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:10px; box-shadow:0 18px 45px -22px rgba(32,27,24,.3); }
.study-chrome { height:28px; display:flex; align-items:center; gap:5px; padding:0 12px; border-bottom:1px solid #e7e6e3; background:#fafaf9; }
.study-chrome i { width:5px; height:5px; border-radius:50%; background:#cecac4; }
.study-chrome span { flex:1; text-align:center; padding-right:22px; color:#77736e; font-size:9px; letter-spacing:.03em; }
.home-study { background:#f9f7f1; color:#282c25; }
.home-study-nav { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:25px 35px; }
.home-study-brand { font:22px Georgia,serif; letter-spacing:-.07em; }
.home-study-nav > span { display:flex; gap:25px; font-size:10px; }
.home-study-nav em { font-style:normal; border-bottom:1px solid; padding-bottom:3px; }
.home-study-hero { display:grid; grid-template-columns:.85fr 1.15fr; min-height:405px; }
.home-study-copy { padding:50px 35px 45px; display:flex; flex-direction:column; align-items:flex-start; }
.home-study-copy > small { font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.home-study-copy h4 { margin:22px 0; max-width:430px; font:clamp(40px,5.6cqi,72px)/.98 Georgia,serif; letter-spacing:-.055em; }
.home-study-copy p { max-width:270px; font-size:12px; line-height:1.7; color:#65695e; }
.home-study-cta { display:inline-flex; gap:25px; margin-top:30px; padding-bottom:8px; border-bottom:1px solid #8d9386; font-size:11px; }
.home-study-image { position:relative; min-width:0; min-height:330px; }
.home-study-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.home-study-image > span { position:absolute; bottom:20px; left:20px; right:20px; padding:10px 14px; color:#fff; background:rgba(25,32,26,.78); font-size:10px; letter-spacing:.05em; }
.home-study-foot { padding:21px 35px; display:flex; justify-content:space-between; gap:16px; border-top:1px solid #dddfd4; font-size:10px; color:#65695e; }
.home-study-foot b { color:#282c25; font-weight:500; }
.portal-study { min-height:393px; display:grid; grid-template-columns:106px minmax(0,1fr); background:#fbfbfd; color:#262735; font-size:11px; }
.portal-study-side { background:#f3f2f8; border-right:1px solid #e7e6ec; padding:20px 10px; display:flex; flex-direction:column; gap:21px; }
.portal-study-side > b { font-size:13px; padding-left:7px; letter-spacing:-.04em; }
.portal-study-side > div { display:grid; gap:5px; }
.portal-study-side span { display:block; padding:8px; color:#777382; border-radius:5px; font-size:10px; }
.portal-study-side .selected { color:#47388d; background:#e6e2f4; font-weight:600; }
.portal-study-side > small { margin-top:auto; color:#777382; padding-left:7px; font-size:9px; }
.portal-study-main { min-width:0; padding:23px 20px; }
.portal-study-top { display:flex; align-items:center; justify-content:space-between; color:#747380; font-size:9px; gap:12px; }
.study-avatar { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#e7e2f3; color:#61528d; font-size:9px; flex-shrink:0; }
.portal-study-main h4 { margin:17px 0 7px; font-size:22px; font-weight:600; letter-spacing:-.05em; }
.portal-study-main > p { color:#777382; font-size:10px; line-height:1.5; }
.portal-progress { margin-top:20px; padding:15px; border:1px solid #e6e3ed; border-radius:8px; background:#fff; }
.portal-progress-head { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; }
.study-status { display:inline-block; padding:4px 7px; color:#35715e; background:#e9f4ee; border-radius:4px; font-size:8px; white-space:nowrap; }
.portal-progress-track { margin:13px 0 8px; display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.portal-progress-track span { height:4px; border-radius:4px; background:#e9e6ef; }
.portal-progress-track span:first-child,.portal-progress-track span:nth-child(2) { background:#8a78b8; }
.portal-progress-track span:nth-child(3) { background:#c3b8dc; }
.portal-progress small { color:#747380; font-size:9px; }
.portal-file { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; padding:12px; background:#f1edf9; border:1px solid #e4dcf1; border-radius:7px; }
.portal-file b { display:block; font-size:10px; margin-bottom:4px; }
.portal-file small { color:#787085; font-size:9px; }
.portal-file > span { font-size:10px; color:#675094; }
.portal-activity { margin-top:20px; }
.portal-activity > b { display:block; font-size:10px; margin-bottom:11px; }
.portal-activity p { display:flex; justify-content:space-between; gap:14px; padding-top:10px; border-top:1px solid #eceaf0; font-size:9px; line-height:1.5; color:#777382; }
.portal-activity p span { color:#393642; }
.schedule-study { min-height:393px; padding:22px; color:#253d38; background:#fbfdfc; }
.schedule-study-top { display:flex; align-items:center; gap:22px; padding-bottom:21px; border-bottom:1px solid #e5ebe8; font-size:10px; }
.schedule-study-top b { margin-right:auto; font-size:15px; letter-spacing:-.06em; }
.schedule-study-top > span { color:#71847e; }
.schedule-study-top .selected { color:#26483e; }
.schedule-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px 0 18px; }
.schedule-heading h4 { margin:0 0 5px; font-size:22px; letter-spacing:-.05em; font-weight:600; }
.schedule-heading p { color:#71847e; font-size:10px; }
.schedule-heading > span { border:1px solid #d7e1dc; padding:6px 8px; border-radius:5px; font-size:9px; white-space:nowrap; }
.schedule-days { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.schedule-day { min-width:0; }
.schedule-day > small { display:block; color:#7b8b85; font-size:9px; margin-bottom:10px; }
.schedule-day > small b { margin-left:4px; color:#344e43; font-weight:500; }
.schedule-job { padding:11px 9px; margin-bottom:8px; border:1px solid #d5e4da; border-left:2px solid #6f9b7e; border-radius:6px; background:#eaf2eb; min-height:84px; }
.schedule-job--stone { border-color:#e8dfd0; border-left-color:#b29870; background:#f5f0e7; }
.schedule-job--blue { border-color:#dbe3ec; border-left-color:#87a2c5; background:#eef2f8; }
.schedule-job small { display:block; font-size:8px; color:#64756b; }
.schedule-job b { display:block; margin:7px 0; font-size:10px; font-weight:600; line-height:1.35; }
.schedule-job span { font-size:8px; color:#667c70; }
.schedule-open { display:grid; place-items:center; min-height:84px; padding:8px; color:#7a8d82; border:1px dashed #d4dfd8; border-radius:6px; font-size:9px; }
.schedule-foot { margin-top:17px; display:flex; justify-content:space-between; gap:12px; color:#6e8178; font-size:9px; }
.work-hero { padding-bottom:64px; }
.work-hero .page-hero-grid { align-items:end; }
.work-hero .page-hero-grid h1 { max-width:830px; }
.work-collection { padding-bottom:110px; }
.work-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:28px; }
.work-filters { display:flex; flex-wrap:wrap; gap:8px; border:0; padding:0; margin:0; }
.work-filters[hidden] { display:none; }
.work-filter { min-height:42px; padding:10px 19px; border:1px solid #dcdce1; border-radius:50px; background:transparent; font-size:13px; cursor:pointer; transition:background .2s,color .2s; }
.work-filter[aria-pressed="true"] { background:#141416; border-color:#141416; color:#fff; }
.work-filter:hover { border-color:#777; }
.work-filter:focus-visible,.study-caption a:focus-visible,.study-details summary:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.work-count { color:var(--muted); font-size:12px; white-space:nowrap; }
.study-card[hidden] { display:none; }
.study-details { margin-top:22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.study-details summary { cursor:pointer; padding:17px 2px; font-size:13px; font-weight:500; }
.study-details-grid { display:grid; gap:20px; padding:4px 2px 24px; }
.study-card--featured .study-details-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.study-details-grid h4 { margin:0 0 8px; font-size:12px; letter-spacing:.03em; }
.study-details-grid p { color:var(--muted); font-size:14px; line-height:1.65; }
.study-inquiry { display:inline-block; margin-top:20px; font-size:14px; font-weight:500; }
.study-inquiry:hover { text-decoration:underline; text-underline-offset:4px; }
.study-disclaimer { padding:0 0 100px; color:var(--muted); font-size:13px; line-height:1.7; max-width:760px; }
@container (max-width:620px) {
  .home-study-nav { padding:22px; }
  .home-study-nav > span { gap:13px; font-size:9px; }
  .home-study-hero { grid-template-columns:1fr; }
  .home-study-copy { padding:30px 25px; }
  .home-study-copy h4 { font-size:48px; max-width:330px; }
  .home-study-image { min-height:280px; }
  .home-study-foot { padding:20px 25px; }
}
@container (max-width:430px) {
  .portal-study { grid-template-columns:1fr; }
  .portal-study-side { display:none; }
  .portal-study-main { padding:20px; }
  .schedule-study { padding:19px 14px; }
  .schedule-study-top { gap:13px; }
  .schedule-study-top > span:last-child { display:none; }
  .home-study-nav > span > span { display:none; }
  .home-study-foot { flex-direction:column; gap:7px; }
  .home-study-copy h4 { font-size:44px; }
  .home-study-image { min-height:235px; }
}
@media (max-width:800px) {
  .study-grid { gap:42px 22px; }
  .study-visual { padding:20px; border-radius:18px; }
  .study-visual-label { margin-bottom:18px; font-size:9px; }
  .study-caption h3 { font-size:23px; }
  .study-caption > p { font-size:15px; }
  .showcase-intro { align-items:flex-start; flex-direction:column; gap:18px; }
  .showcase-note { max-width:520px; }
}
@media (max-width:680px) {
  .hero--portfolio { padding-bottom:60px; }
  .study-grid { grid-template-columns:1fr; }
  .study-card--featured { grid-column:auto; }
  .showcase-section { padding-bottom:72px; }
  .study-visual { padding:16px; }
  .study-visual-label { letter-spacing:.07em; font-size:8px; gap:6px; }
  .study-caption { padding-top:19px; }
  .work-hero { padding-bottom:38px; }
  .work-toolbar { align-items:flex-start; flex-direction:column; gap:15px; }
  .work-filter { padding-inline:15px; }
  .study-card--featured .study-details-grid { grid-template-columns:1fr; gap:20px; }
  .work-collection { padding-bottom:65px; }
  .study-disclaimer { padding-bottom:65px; }
}
@media (prefers-reduced-motion:reduce) {
  .work-filter,.study-caption h3 a span { transition:none; }
}
