/* Palette comparison routes intentionally inherit the current layout. */

:root { --paper:#f3efe5; --ink:#17261f; --forest:#15271f; --orange:#f2663a; --lime:#c5ed77; --line:rgba(23,38,31,.2); }
.palette-styleguide,.palette-proposed,.palette-proposed-white,.palette-styleguide-parchment { min-height:100vh; background:var(--paper); }
.palette-styleguide { --paper:#ffffff; --ink:#191919; --forest:#191919; --orange:#C0512E; --lime:#E2A33C; --line:#e4e1db; }
.palette-styleguide .projects { background:#f7f6f3; }
.palette-styleguide .project-card.cream { background:#ffffff; }
.palette-styleguide .about-story-copy p { color:#cfcac2; }
.palette-styleguide .about-story-copy p:first-child { color:#ffffff; }
.palette-styleguide .compact-about p:first-child { color:#cfcac2; }
.palette-styleguide .credential p { color:#8f897f; }
.palette-proposed { --paper:#F3EBDD; --ink:#172A3A; --forest:#102535; --orange:#B84A2F; --lime:#D7A441; --line:#CEC5B6; }
.palette-proposed .projects { background:#DCE5E7; }
.palette-proposed .project-card.cream { background:#F3EBDD; }
.palette-proposed .about-story-copy p { color:#DCE5E7; }
.palette-proposed .about-story-copy p:first-child { color:#F3EBDD; }
.palette-proposed .compact-about p:first-child { color:#DCE5E7; }
.palette-proposed .credential p { color:#aab7c0; }
.palette-proposed-white { --paper:#ffffff; --ink:#172A3A; --forest:#102535; --orange:#B84A2F; --lime:#D7A441; --line:#D8DEE2; }
.palette-proposed-white .projects { background:#EEF2F3; }
.palette-proposed-white .project-card.cream { background:#ffffff; }
.palette-proposed-white .about-story-copy p { color:#DCE5E7; }
.palette-proposed-white .about-story-copy p:first-child { color:#ffffff; }
.palette-proposed-white .compact-about p:first-child { color:#DCE5E7; }
.palette-proposed-white .credential p { color:#aab7c0; }
.palette-styleguide-parchment { --paper:#F3EFE5; --ink:#191919; --forest:#191919; --orange:#C0512E; --lime:#E2A33C; --line:#D8D0C2; }
.palette-styleguide-parchment .projects { background:#EAE3D6; }
.palette-styleguide-parchment .project-card.cream { background:#F3EFE5; }
.palette-styleguide-parchment .about-story-copy p { color:#cfcac2; }
.palette-styleguide-parchment .about-story-copy p:first-child { color:#ffffff; }
.palette-styleguide-parchment .compact-about p:first-child { color:#cfcac2; }
.palette-styleguide-parchment .credential p { color:#8f897f; }
.palette-styleguide .social-links a,.palette-proposed .social-links a,.palette-proposed-white .social-links a,.palette-styleguide-parchment .social-links a { color:var(--ink); }
.compare-switch { position:fixed; right:20px; bottom:20px; z-index:30; padding:11px 16px; border:1px solid var(--ink); border-radius:3px; background:var(--paper); color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; box-shadow:0 6px 24px -12px rgba(25,25,25,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.shell { width:min(1180px, calc(100% - 64px)); margin:0 auto; }
.site-header { height:104px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:relative; z-index:10; }
.wordmark { display:inline-flex; align-items:center; gap:7px; width:max-content; text-decoration:none; font-family:Georgia, 'Times New Roman', serif; font-size:20px; font-weight:400; letter-spacing:-.035em; position:relative; }
.wordmark span { color:var(--orange); font-family:Arial, Helvetica, sans-serif; font-size:14px; }
.site-header nav { display:flex; gap:34px; }
.site-header nav a,.language { font-size:11px; text-transform:uppercase; letter-spacing:.14em; text-decoration:none; font-weight:700; }
.site-header nav a { padding:12px 0; border-bottom:1px solid transparent; } .site-header nav a:hover { border-color:var(--orange); }
.header-actions { justify-self:end; display:flex; align-items:center; gap:18px; }
.social-links { display:flex; align-items:center; gap:14px; padding-right:18px; border-right:1px solid var(--line); }
.social-links a { color:var(--ink); font-size:11px; font-weight:700; text-decoration:none; transition:color .2s ease; }
.social-links a:hover { color:var(--orange); }
.language { border:1px solid var(--line); border-radius:30px; background:transparent; padding:10px 14px; cursor:pointer; }
.hero { min-height:720px; padding:100px 0 70px; position:relative; overflow:hidden; }
.eyebrow,.section-number { font-size:11px; text-transform:uppercase; letter-spacing:.18em; font-weight:700; }
.hero .eyebrow { margin:0 0 38px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(72px,10vw,146px); line-height:.78; letter-spacing:-.075em; font-weight:400; max-width:1050px; margin:0; position:relative; z-index:2; }
h1 em,h2 em { color:var(--orange); font-weight:400; }
.hero-foot { margin-top:84px; display:grid; grid-template-columns:1fr 270px; gap:80px; align-items:end; position:relative; z-index:2; }
.hero-foot>p { font-size:20px; line-height:1.45; max-width:590px; margin:0; }
.current { text-decoration:none; border-top:1px solid var(--ink); padding:16px 0 0; display:grid; grid-template-columns:1fr auto; }
.current span { grid-column:1/-1; font-size:10px; text-transform:uppercase; letter-spacing:.15em; margin-bottom:8px; }
.current strong { font-family:Georgia,serif; font-size:32px; font-weight:400; }
.current b { color:var(--orange); }
.orbit { position:absolute; border:1px solid rgba(23,38,31,.14); border-radius:50%; pointer-events:none; }
.orbit-one { width:420px; height:420px; right:6%; top:80px; }
.orbit-two { width:620px; height:250px; right:-12%; top:165px; transform:rotate(-20deg); }
.dark { background:var(--forest); color:var(--paper); }
.about-story { padding:130px 0 115px; }
.about-story-grid { display:grid; grid-template-columns:.9fr 1.25fr; gap:120px; align-items:start; }
.about-story h2 { font-family:Georgia,serif; font-size:clamp(56px,6.5vw,88px); line-height:.92; letter-spacing:-.055em; font-weight:400; margin:45px 0 0; }
.about-story h2 em { color:var(--orange); font-weight:400; }
.about-story-copy p { font-size:19px; line-height:1.67; color:#d7ded6; }
.about-story-copy p:first-child { font-family:Georgia,serif; font-size:31px; line-height:1.25; color:var(--paper); }
.compact-about p:first-child { font-family:Arial,Helvetica,sans-serif; font-size:19px; line-height:1.67; color:#d7ded6; }
.light-link { display:inline-flex; gap:22px; align-items:center; margin-top:22px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.55); color:var(--paper); text-decoration:none; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.light-link span { color:var(--lime); font-size:17px; }
.current-agenda { display:grid; grid-template-columns:180px 1fr; gap:50px; margin-top:90px; padding:42px 0; border-top:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); }
.current-agenda .section-number { color:var(--lime); margin:7px 0 0; }
.current-agenda>p:last-child { max-width:880px; margin:0; font-family:Georgia,serif; font-size:clamp(32px,4vw,52px); line-height:1.08; letter-spacing:-.035em; }
.credentials { display:grid; grid-template-columns:1.5fr 1fr; gap:90px; margin-top:100px; padding-top:35px; border-top:1px solid rgba(255,255,255,.2); }
.credential { display:grid; grid-template-columns:minmax(0,1fr) 20px minmax(180px,.85fr); gap:18px; padding:18px 0; border-top:1px solid rgba(255,255,255,.12); align-items:start; }
.credential strong { font-family:Georgia,serif; font-size:18px; font-weight:400; }
.credential span { color:var(--lime); }
.credential p { margin:0; color:#b8c2b9; font-size:13px; line-height:1.45; }
.focus { padding:130px 0 110px; }
.section-intro { display:grid; grid-template-columns:180px 1fr 330px; gap:50px; align-items:start; }
.section-number { color:var(--orange); margin:8px 0 28px; }
.section-intro h2,.projects h2,.about h2,.next-step h2,.contact h2 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.045em; }
.section-intro h2 { font-size:clamp(48px,6vw,84px); line-height:.98; margin:0; }
.section-intro>p:last-child { font-size:18px; line-height:1.55; color:#b8c2b9; }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); margin-top:100px; border-top:1px solid rgba(255,255,255,.2); }
.pillars article { min-height:310px; padding:28px 34px 20px 0; border-right:1px solid rgba(255,255,255,.2); }
.pillars article+article { padding-left:34px; }
.pillars article:last-child { border-right:0; }
.pillars span { color:var(--lime); font-size:12px; }
.pillars h3 { font-family:Georgia,serif; font-size:31px; font-weight:400; margin:68px 0 16px; }
.pillars p { color:#b8c2b9; line-height:1.55; max-width:300px; }
.writing { padding:120px 0; }
.feature-card { min-height:560px; padding:70px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.feature-card .section-number { color:var(--orange); }
.feature-card h2 { font-family:Georgia,serif; font-size:clamp(56px,7vw,90px); font-weight:400; letter-spacing:-.055em; }
.publication-cover-column { align-self:stretch; display:flex; flex-direction:column; }
.moving-cover { width:min(390px,88%); margin:auto auto 0; display:block; text-decoration:none; perspective:900px; }
.cover-frame { display:block; padding:12px; background:#fff9ec; border:1px solid rgba(23,38,31,.24); box-shadow:0 22px 55px rgba(23,38,31,.19); transform:rotate(-2.5deg); transition:transform .25s ease,box-shadow .25s ease; }
.cover-frame img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.moving-cover:hover .cover-frame,.moving-cover:focus-visible .cover-frame { transform:rotate(-2.5deg) translateY(-8px); box-shadow:0 30px 70px rgba(23,38,31,.27); }
.feature-copy { max-width:470px; }
.feature-copy h2 { margin:0 0 28px; font-size:clamp(46px,5vw,68px); line-height:.95; }
.feature-copy p { font-size:20px; line-height:1.5; }
.arrow-link { display:inline-block; margin-top:30px; padding-bottom:8px; border-bottom:1px solid; text-decoration:none; font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.arrow-link span { margin-left:18px; }
.publication-block { display:grid; grid-template-columns:1fr 3fr; gap:40px; margin-top:90px; }
.publication { display:grid; grid-template-columns:1fr 190px 20px; gap:30px; align-items:center; padding:24px 0; border-top:1px solid var(--line); text-decoration:none; }
.publication:last-child { border-bottom:1px solid var(--line); }
.publication h3 { font-family:Georgia,serif; font-size:27px; font-weight:400; margin:0; }
.publication span { font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.publication b { color:var(--orange); }
.projects { padding:120px 0; background:#d9e1d1; }
.projects-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:110px; }
.projects h2 { font-size:66px; line-height:1; margin:60px 0 28px; }
.projects-grid>div:first-child>p:last-child { font-size:18px; line-height:1.5; max-width:390px; }
.project-stack { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.project-card { min-height:500px; padding:30px; display:flex; flex-direction:column; text-decoration:none; position:relative; transition:transform .25s ease; }
.project-card:hover { transform:translateY(-7px); }
.project-card.orange { background:var(--orange); color:#fffaf0; transform:rotate(-2deg); }
.project-card.orange:hover { transform:rotate(-2deg) translateY(-7px); }
.project-card.cream { background:var(--paper); transform:rotate(2deg); margin-top:45px; }
.project-card.cream:hover { transform:rotate(2deg) translateY(-7px); }
.project-card>span { font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.project-card h3 { font-family:Georgia,serif; font-size:42px; line-height:.95; font-weight:400; margin:80px 0 auto; }
.project-card p { font-size:13px; line-height:1.5; letter-spacing:.01em; max-width:220px; }
.project-card b { position:absolute; right:28px; top:28px; }
.about { padding:130px 0; }
.about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:120px; }
.about h2 { font-size:clamp(52px,6vw,80px); line-height:1; margin:25px 0 0; }
.about-copy { padding-top:35px; }
.about-copy>p { font-size:18px; line-height:1.65; }
.availability { border-top:1px solid var(--line); margin-top:50px; padding-top:20px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; display:flex; gap:12px; align-items:center; }
.availability i { width:9px; height:9px; border-radius:50%; background:#6dbb55; box-shadow:0 0 0 5px rgba(109,187,85,.14); }
.next-step { padding:110px 0; background:var(--orange); }
.next-grid { display:grid; grid-template-columns:180px 1fr 330px; gap:50px; align-items:start; }
.next-step .section-number { color:var(--ink); }
.next-step h2 { font-size:clamp(48px,6vw,78px); line-height:.98; margin:0; }
.next-step .next-grid>p:last-child { font-size:18px; line-height:1.6; margin:8px 0 0; }
.contact { padding:120px 0 90px; }
.contact h2 { font-size:clamp(64px,8vw,110px); line-height:.9; margin:70px 0 80px; }
.contact-links { display:flex; gap:20px; }
.contact-links a { border:1px solid rgba(255,255,255,.35); border-radius:50px; padding:17px 24px; text-decoration:none; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.contact-links a:first-child { background:var(--lime); color:var(--ink); border-color:var(--lime); }
.contact-links span { margin-left:30px; }
footer { background:var(--forest); color:#9eaaa1; border-top:1px solid rgba(255,255,255,.15); }
footer .shell { height:100px; display:flex; align-items:center; justify-content:space-between; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
footer strong { color:var(--paper); }
.about-page { min-height:100vh; background:var(--paper); color:var(--ink); }
.about-page .site-header { border-bottom:1px solid var(--line); }
.about-page .language { color:var(--ink); border-color:var(--line); }
.back-link { justify-self:center; color:#536158; text-decoration:none; font-size:11px; text-transform:uppercase; letter-spacing:.14em; font-weight:700; }
.about-detail { padding:120px 0 150px; }
.about-detail-heading { display:grid; grid-template-columns:180px 1fr; gap:50px; }
.about-detail-heading h1 { font-size:clamp(64px,9vw,124px); color:var(--ink); }
.about-detail-heading h1 em { color:var(--orange); }
.about-detail-copy { width:min(680px,calc(100% - 230px)); margin:130px 0 0 auto; }
.about-detail-copy p { margin:0; font-size:19px; line-height:1.82; color:#445149; }
.about-detail-copy p+p { margin-top:32px; }
.about-detail-copy p:first-child { margin-bottom:48px; font-family:Georgia,serif; font-size:33px; line-height:1.35; color:var(--ink); }
.about-page .current-agenda { margin-top:130px; padding:58px 0; border-color:var(--line); }
.about-page .current-agenda .section-number { color:var(--orange); }
.about-page .credentials { margin-top:125px; padding-top:45px; border-color:var(--line); }
.about-page .credential { border-color:var(--line); }
.about-page .credential span { color:var(--orange); }
.about-page .credential p { color:#667168; }

@media (max-width:800px) {
  .shell { width:min(100% - 36px, 1180px); }
  .site-header { grid-template-columns:1fr auto; height:82px; } .site-header nav { display:none; }
  .social-links { display:none; }
  .hero { min-height:650px; padding-top:80px; } h1 { font-size:clamp(62px,19vw,100px); }
  .hero-foot,.section-intro,.projects-grid,.about-grid,.publication-block,.next-grid,.about-story-grid,.credentials { grid-template-columns:1fr; gap:35px; }
  .hero-foot { margin-top:65px; } .current { max-width:280px; }
  .focus,.writing,.projects,.about,.about-story,.next-step,.contact { padding:85px 0; }
  .about-story h2 { margin:30px 0 10px; }
  .back-link { display:none; }
  .about-detail { padding:75px 0 100px; }
  .about-detail-heading { grid-template-columns:1fr; gap:20px; }
  .about-detail-heading h1 { font-size:60px; }
  .about-detail-copy { width:100%; margin-top:80px; }
  .about-detail-copy p { font-size:18px; line-height:1.75; }
  .about-detail-copy p+p { margin-top:27px; }
  .about-detail-copy p:first-child { margin-bottom:40px; font-size:29px; }
  .about-page .current-agenda { margin-top:85px; padding:42px 0; }
  .about-page .credentials { margin-top:80px; }
  .current-agenda { grid-template-columns:1fr; gap:20px; margin-top:55px; }
  .credentials { margin-top:60px; }
  .credential { grid-template-columns:1fr 18px; }
  .credential p { grid-column:1; grid-row:2; }
  .section-intro h2 { font-size:50px; } .section-intro>p:last-child { max-width:450px; }
  .pillars { grid-template-columns:1fr; margin-top:60px; }
  .pillars article,.pillars article+article { min-height:0; padding:26px 0 35px; border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }
  .pillars h3 { margin:35px 0 12px; }
  .feature-card { grid-template-columns:1fr; gap:55px; padding:45px 0 60px; } .feature-copy { padding-top:0; }
  .moving-cover { width:min(360px,88vw); margin:35px auto 0; }
  .publication-block { margin-top:55px; } .publication { grid-template-columns:1fr 20px; } .publication span { grid-row:2; } .publication b { grid-column:2; grid-row:1; }
  .projects h2 { margin-top:30px; font-size:52px; }
  .project-stack { gap:10px; } .project-card { min-height:390px; padding:20px; } .project-card h3 { font-size:30px; margin-top:65px; }
  .about-grid { gap:40px; } .about h2 { font-size:52px; }
  .contact h2 { font-size:58px; margin:50px 0; }
  .contact-links { flex-direction:column; align-items:stretch; } .contact-links a { text-align:center; }
  footer .shell { height:auto; padding:35px 0; flex-direction:column; gap:12px; align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none !important; animation:none !important; } }
