/* Clip horizontal effects without creating a second vertical scroll container. */
@supports(overflow:clip){html,body{overflow-x:clip}}
/* The journey uses original logos; movement adds depth without hiding copy. */
.journey-section{background:var(--soft);border-block:1px solid var(--line);padding-block:84px}.journey-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}.journey-heading{position:sticky;top:132px}.journey-heading h2{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(48px,5.5vw,76px);letter-spacing:-.025em;line-height:1.05}.journey-nav{display:flex;flex-direction:column;gap:16px;margin-top:40px;font-size:1rem}.journey-nav a{display:flex;align-items:center;gap:22px;min-height:40px;color:var(--muted)}.journey-nav a span{font-size:.75rem;letter-spacing:.08em}.journey-nav a.is-active{color:var(--ink)}.journey-nav a.is-active span{border-bottom:2px solid var(--green)}.journey-cards{display:grid;gap:36px;perspective:1600px}.journey-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:30px 36px;box-shadow:0 14px 40px #0d19260b;transform-origin:50% 0;scroll-margin-top:130px;min-height:375px;display:flex;flex-direction:column;gap:22px;position:relative}.journey-card-top,.journey-card-bottom{display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;color:var(--muted)}.journey-card-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.journey-logo{width:220px;height:84px;padding:17px 24px;display:flex;align-items:center;background:white;border-radius:4px;border:1px solid #e2e8f1}.journey-logo img{width:100%;height:100%;object-fit:contain;filter:none}.journey-card h3{font-size:1.5rem;line-height:1.3;max-width:25ch;font-weight:500;letter-spacing:-.02em}.journey-card p{font-size:1rem;line-height:1.7;max-width:42ch;color:var(--muted)}.journey-education{padding-top:30px}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.motion-ready .journey-card{position:sticky;top:calc(112px + var(--card-index)*16px);transform:rotateX(var(--entry-rotate,0deg)) scale(var(--card-scale,1));will-change:transform}}
/* Real covers make the work recognisable. Native disclosures keep every download. */
.work-heading{margin-bottom:36px}.work-heading h2,.social-heading h2,.company-contact-simple h2{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(46px,5vw,68px);letter-spacing:-.025em;line-height:1.1}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 34px;align-items:start}.work-card{min-width:0}.work-card>summary{list-style:none;cursor:pointer}.work-card>summary::-webkit-details-marker{display:none}.project-cover{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:1.5;overflow:hidden;border-radius:5px;background:#d9e3f0;padding:32px;border:1px solid var(--line);transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .3s,box-shadow .3s}.project-cover-1{background:#e8dcc5}.project-cover-2{background:#d3e0ee}.project-cover-3{background:#dce0ec}.project-cover img{width:100%;height:100%;object-fit:contain;box-shadow:0 16px 30px #132a3f1a;transition:transform .5s}.project-type-cover{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(30px,4vw,50px);line-height:1.2;max-width:12ch;text-align:center;color:#14273b}.cover-open{position:absolute;right:15px;bottom:15px;background:var(--paper);color:var(--ink);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:1.5rem;border:1px solid var(--line)}.work-card>summary:hover .project-cover{box-shadow:0 18px 34px #132a3f13}.work-card>summary:hover .project-cover img{transform:scale(1.025)}.work-caption{display:flex;gap:20px;padding-top:18px}.work-number{font-size:.75rem;color:var(--muted);padding-top:8px;white-space:nowrap}.work-caption strong{font-size:1.375rem;letter-spacing:-.02em;line-height:1.35;font-weight:500;display:block}.work-caption .accordion-sub{display:block;margin-top:6px}.work-card[open]{grid-column:1/-1;background:var(--soft);padding:24px;border:1px solid var(--line);border-radius:5px}.work-card[open]>summary{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.work-card[open] .project-cover{aspect-ratio:1.8;padding:20px}.work-card[open] .cover-open{transform:rotate(45deg)}.work-detail{padding-top:25px}.work-detail .project-detail{display:block}.work-detail .project-detail-copy p{max-width:60ch}.more-work{border-top:1px solid var(--line);margin-top:48px;padding-top:22px}.more-work>summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;font-size:1.0625rem;padding:12px 0}.more-work>summary::-webkit-details-marker{display:none}.more-work[open]>.work-grid{margin-top:32px}
/* Publications have their own visual identity. */
.social-section{background:#12283c;color:#f4f6fa}.social-heading{margin-bottom:34px}.social-heading h2{color:#f4f6fa;max-width:20ch;margin-top:24px}.social-brand{display:flex;align-items:center;gap:14px;font-size:.8125rem;letter-spacing:.12em}.social-brand img{background:white;border-radius:4px;padding:4px;width:34px;height:34px}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.social-post{min-width:0}.social-image{display:block;aspect-ratio:1;overflow:hidden;background:#fff;border-radius:4px;padding:12px}.social-image img{width:100%;height:100%;object-fit:contain;transition:transform .6s}.social-post:hover img{transform:scale(1.035)}.social-post-caption{display:flex;justify-content:space-between;gap:16px;padding-top:22px}.social-post h3{font-size:1.25rem;line-height:1.45;font-weight:450;color:#f4f6fa;max-width:23ch}.social-post-caption>span{font-size:1.4rem}
/* Wide film followed by a small sequence of dimensional process cards. */
.company-cinema{background:var(--soft);padding-top:26px}.cinema-caption{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;gap:24px}.cinema-caption h1{font-size:1rem;letter-spacing:.015em;font-weight:500}.cinema-caption a{font-size:.875rem}.company-story{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}.story-heading{position:sticky;top:140px}.story-heading h2{font-size:clamp(40px,4.1vw,59px)}.story-scenes{display:grid;gap:44px;perspective:1400px}.story-scene{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:28px 32px;transform:perspective(1400px) rotateX(var(--scene-rotate,0deg)) translateY(var(--scene-y,0px));transform-origin:center top;min-height:390px}.scene-meta{display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;color:var(--muted)}.scene-diagram{position:relative;display:flex;gap:12px;align-items:center;justify-content:center;min-height:200px;perspective:1000px}.scene-diagram::before{content:'';position:absolute;left:10%;right:10%;top:50%;height:1px;background:var(--line)}.diagram-step{position:relative;display:flex;flex-direction:column;justify-content:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:5px;width:33%;min-width:0;min-height:100px;padding:14px 12px;font-size:.875rem;box-shadow:0 12px 22px #0f22340a;transform:translateY(calc(var(--diagram-rise,0px) * var(--step))) rotateY(var(--diagram-turn,0deg));transform-origin:center}.diagram-index{font-size:.75rem;color:var(--muted)}.story-scene h3{font-size:1.625rem;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin-bottom:14px}.story-scene p{max-width:39ch;font-size:1rem;line-height:1.75;color:var(--muted)}.resource-item{padding-block:23px}.resource-item h3{margin:0}.resource-grid{gap:0 40px}.company-contact-simple{display:flex;justify-content:space-between;align-items:center;gap:40px}.company-contact-simple .beta-text-link{overflow-wrap:anywhere}
/* Stack/spread reference adapted to the six supplied hobby photographs. */
.hobby-spread{padding:50px 20px 60px;background:var(--paper)}.hobby-stage{max-width:var(--maxw);margin:auto}.hobby-heading{text-align:center;position:relative;z-index:10;padding-bottom:30px}.hobby-heading .beta-section-label{justify-content:center;margin-bottom:18px}.hobby-heading h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(45px,5.5vw,80px);font-weight:400;letter-spacing:-.03em;line-height:1.1}.spread-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1020px;margin:auto}.spread-photo{margin:0;padding:8px;background:var(--soft);border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 30px #12283c10;transform-origin:center}.spread-photo img{width:100%;height:260px;object-fit:cover;border-radius:2px}.spread-photo figcaption{display:flex;justify-content:space-between;gap:10px;padding:12px 6px 6px;font-size:.8125rem;color:var(--ink)}.spread-photo figcaption>span:last-child{color:var(--muted);font-size:.75rem}.hobby-back{margin-top:35px}
@media(min-width:901px) and (min-height:680px) and (prefers-reduced-motion:no-preference){.motion-ready .hobby-spread{height:220vh;padding-top:40px}.motion-ready .hobby-stage{position:sticky;top:104px}.motion-ready .spread-cards{position:relative;height:calc(100vh - 330px);min-height:360px;max-height:600px;display:block}.motion-ready .spread-photo{position:absolute;left:50%;top:50%;width:clamp(165px,18vw,225px);transform:translate(calc(-50% + var(--spread-x,0px)),calc(-50% + var(--spread-y,0px))) rotate(var(--spread-rotate,0deg)) scale(var(--spread-scale,.85));z-index:calc(8 - var(--photo-index));will-change:transform}.motion-ready .spread-photo img{height:clamp(130px,20vh,190px)}.motion-ready .hobby-back{display:flex;justify-content:center;margin-top:18px}}
@media(max-width:900px){.journey-layout,.company-story{grid-template-columns:1fr;gap:38px}.journey-heading,.story-heading{position:static}.journey-nav{flex-direction:row;flex-wrap:wrap;gap:8px 24px;margin-top:24px}.journey-nav a{font-size:.875rem;gap:8px}.journey-cards{gap:24px}.journey-card{min-height:0}.social-grid{gap:20px}.social-post h3{font-size:1.125rem}.spread-photo img{height:220px}.scene-diagram{min-height:180px}.story-scene{min-height:0}.company-contact-simple{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.journey-section{padding-block:56px}.journey-card{padding:24px;gap:20px}.journey-logo{width:190px;height:72px}.journey-card h3{font-size:1.375rem}.journey-card p{max-width:33ch}.journey-card-top,.journey-card-bottom{font-size:.8125rem}.journey-card-bottom>span:first-child{max-width:24ch}.journey-heading h2{font-size:52px}.work-grid{grid-template-columns:1fr;gap:32px}.project-cover{padding:24px}.work-caption strong{font-size:1.25rem}.work-card[open]{padding:18px}.work-card[open]>summary{grid-template-columns:1fr;gap:8px}.work-detail .project-detail-copy p{font-size:1rem;max-width:34ch}.work-heading h2,.social-heading h2{font-size:48px}.social-grid{grid-template-columns:1fr;gap:34px}.social-image{aspect-ratio:1.15;max-height:350px}.social-post h3{font-size:1.25rem}.social-heading{margin-bottom:30px}.cinema-caption{gap:15px}.cinema-caption h1{font-size:.9375rem}.cinema-caption a{font-size:.8125rem}.company-story{gap:32px}.story-scene{padding:24px 20px}.scene-meta{font-size:.75rem}.scene-diagram{gap:8px;min-height:170px}.diagram-step{padding:12px 8px;font-size:.8125rem;min-height:95px}.story-scene h3{font-size:1.4rem}.story-scene p{max-width:32ch}.company-resources .resource-mark{height:64px}.company-contact-simple{gap:24px}.company-contact-simple h2{font-size:48px}.hobby-spread{padding-top:36px}.hobby-heading{padding-bottom:26px}.hobby-heading h1{font-size:50px}.spread-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.spread-photo{padding:5px}.spread-photo img{height:180px}.spread-photo figcaption{padding:10px 2px 5px;font-size:.75rem;gap:4px}.spread-photo figcaption>span:last-child{display:none}.hobby-back{font-size:.875rem}.resource-item{grid-template-columns:70px 1fr 16px;gap:18px}.resource-mark{width:70px}}
@media(prefers-reduced-motion:reduce){.journey-card,.story-scene,.diagram-step,.project-cover,.spread-photo{transform:none!important;position:relative!important;top:auto!important;left:auto!important}.hobby-spread{height:auto!important}.hobby-stage{position:static!important}}
/* Clear calculation provenance and editable, cited inputs. */
.co2-hero-lede{max-width:43ch!important;margin-inline:auto;font-size:1.125rem!important}.co2-basis{display:flex;align-items:center;gap:20px;max-width:680px;margin:26px auto;padding:20px;border:1px solid var(--line);border-radius:4px;text-align:left;background:var(--paper)}.co2-basis>a:first-child{flex:none;width:108px;padding:10px;background:white;border-radius:3px}.co2-basis img{width:100%;height:40px;object-fit:contain}.co2-basis strong{display:block;font-size:.9375rem;font-weight:500}.co2-basis div>span{display:block;font-size:.8125rem;color:var(--muted);margin-top:5px}.co2-basis>a:last-child{font-size:.8125rem;white-space:nowrap;margin-left:auto}.co2-quality{font-size:.875rem;line-height:1.55;margin-bottom:20px;padding:12px;border:1px solid var(--line);background:var(--soft);border-radius:3px}.co2-quality.is-incomplete{border-color:#9d732d;color:var(--ink)}.co2-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}.co2-factor-entry{display:grid;grid-template-columns:140px 1fr;gap:10px 14px;padding:0 0 22px;margin-bottom:14px;border-bottom:1px solid var(--line);align-items:center}.co2-factor-entry label,.co2-custom-source label{font-size:.8125rem;color:var(--muted)}.co2-factor-entry input,.co2-custom-source input{min-width:0;width:100%;min-height:44px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font-size:.9375rem;padding:10px 12px}.co2-custom-source{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;margin-bottom:20px}.co2-method-card p{max-width:46ch;font-size:1rem;line-height:1.7}.co2-scopes-section .panel-note{font-size:.9375rem;max-width:65ch}.co2-row-label small{font-size:.8125rem;max-width:36ch}.co2-panel-note{font-size:.9375rem;max-width:55ch}.co2-table td:last-child{overflow-wrap:anywhere;max-width:36ch}.co2-hero-facts{font-size:.875rem}
@media(max-width:680px){.co2-basis{flex-wrap:wrap;gap:14px;padding:16px}.co2-basis>a:first-child{width:82px;padding:8px}.co2-basis>div{flex:1;min-width:130px}.co2-basis>a:last-child{margin-left:0;white-space:normal}.co2-factor-entry,.co2-custom-source{grid-template-columns:1fr;gap:6px}.co2-factor-entry input{margin-bottom:8px}}
