
:root{--paper:#f1eee5;--ink:#101b13;--green:#17251b;--line:#b4b7a8;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0}h1,h2,h3,p,figure,ul,ol{margin:0}h1,h2,h3{font-family:OPHYC Serif,'Times New Roman',Times,serif;font-weight:400}em{font-family:'Times New Roman',Times,serif;font-weight:400}a{color:inherit;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button[disabled]{cursor:default;opacity:1}img,svg{display:block}img{max-width:100%}a:focus-visible,button:focus-visible{outline:2px solid #81916e;outline-offset:6px}.skip-link{position:fixed;left:18px;top:-100px;padding:12px;background:var(--paper);z-index:20}.skip-link:focus{top:18px}.web-frame{--u:calc(100cqw / 1024);container-type:inline-size;position:relative;width:100%}.eyebrow,.cta,.brand-descriptor,.project-link,.project-tags,.copyright{font-family:Consolas,'Courier New',monospace;text-transform:uppercase;font-weight:400}.eyebrow{font-size:calc(8 * var(--u));line-height:1.7;letter-spacing:calc(1.1 * var(--u))}.circle{display:inline-flex;align-items:center;justify-content:center;width:calc(42 * var(--u));height:calc(42 * var(--u));flex:none;border-radius:50%;background:#1a2a1f;color:#e6eadd;font:calc(25 * var(--u))/1 'Times New Roman',Times,serif}.fine-line{display:inline-block;flex:none;width:calc(47 * var(--u));height:1px;background:#a4ab9b}.cta{display:inline-flex;align-items:center;gap:calc(17 * var(--u));font-size:calc(7.6 * var(--u));letter-spacing:calc(1.2 * var(--u));line-height:1.4;white-space:nowrap}.cta .fine-line{margin-left:calc(2 * var(--u))}.cta:hover .circle{background:#2b4230}.cta:hover .fine-line{background:#52644b}
.brand{display:flex;align-items:center;gap:calc(24 * var(--u));width:max-content}.brand-image{display:block;position:relative;width:calc(149 * var(--u));aspect-ratio:1168/175;overflow:hidden}.brand-image img{position:absolute;left:-7.962329%;top:-94.857143%;width:118.407535%;max-width:none;height:auto}.brand-descriptor{font-size:calc(5.3 * var(--u));line-height:1.4;letter-spacing:calc(1 * var(--u));color:#656e5d}
.web-hero{background:#f3f0e7}.hero-frame{aspect-ratio:1024/419;isolation:isolate}.hero-visual{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover}.web-header{position:absolute;left:6.35%;top:7.6%;z-index:2}.hero-copy{position:absolute;left:6.35%;top:25.7%;width:41.6%}.hero-breadcrumb{font-size:calc(7.7 * var(--u));letter-spacing:calc(1.2 * var(--u));margin-bottom:calc(23 * var(--u))}#platform-title{font-size:calc(58 * var(--u));line-height:.94;letter-spacing:calc(-1.9 * var(--u))}.hero-description{font-size:calc(14.3 * var(--u));line-height:1.45;letter-spacing:calc(-.18 * var(--u));color:#50594d;margin-top:calc(16 * var(--u))}.hero-cta{margin-top:calc(16 * var(--u))}
.category-intro{display:grid;grid-template-columns:16% 43% 29% 12%;align-items:center;min-height:calc(153 * var(--u));padding:calc(16 * var(--u)) calc(24 * var(--u)) calc(20 * var(--u)) calc(64 * var(--u));background:linear-gradient(115deg,#f5f2e9,#eeeadf)}.category-label{font-size:calc(8 * var(--u));line-height:1.65;letter-spacing:calc(1.25 * var(--u));align-self:stretch;display:flex;flex-direction:column;justify-content:center}.category-label br{display:none}#category-title{font-size:calc(34.5 * var(--u));line-height:1.04;letter-spacing:calc(-1 * var(--u));border-left:1px solid var(--line);padding:calc(14 * var(--u)) calc(20 * var(--u)) calc(14 * var(--u)) calc(36 * var(--u));white-space:nowrap}#category-title em{font-size:1.05em}.category-copy{align-self:center;color:#69705f;font-size:calc(9.6 * var(--u));line-height:1.48;letter-spacing:calc(-.05 * var(--u));padding-right:calc(18 * var(--u))}.category-copy p+p{margin-top:calc(6 * var(--u))}.category-art{width:100%;height:calc(144 * var(--u));object-fit:cover;opacity:.9}
.work-list{background:#f1eee5}.work-row{display:grid;grid-template-columns:53.6% 46.4%;padding-bottom:calc(7 * var(--u));scroll-margin-top:0}.work-row:last-child{padding-bottom:calc(6 * var(--u))}.work-photo{overflow:hidden;min-height:calc(205 * var(--u));height:100%;background:#253329}.project-photograph{width:100%;height:100%}.work-content{display:grid;grid-template-columns:minmax(0,1fr) calc(133 * var(--u));gap:calc(20 * var(--u));padding:calc(12 * var(--u)) calc(24 * var(--u)) calc(16 * var(--u)) calc(28 * var(--u));align-items:center;position:relative}.work-row:not(:last-child) .work-content::after{content:'';position:absolute;bottom:calc(-4 * var(--u));left:calc(28 * var(--u));right:calc(24 * var(--u));height:1px;background:#d6d8cb}.ordinal{display:flex;align-items:center;gap:calc(14 * var(--u));font:italic calc(15 * var(--u))/1.2 'Times New Roman',Times,serif;color:#66705c}.ordinal .fine-line{width:calc(32 * var(--u))}.work-summary h3{font-size:calc(29 * var(--u));line-height:1.05;letter-spacing:calc(-.6 * var(--u));margin-top:calc(8 * var(--u))}.work-lead{font-size:calc(11.6 * var(--u));line-height:1.35;letter-spacing:calc(-.1 * var(--u));color:#4e574a;margin-top:calc(8 * var(--u))}.work-description{font-size:calc(10 * var(--u));line-height:1.42;color:#717967;letter-spacing:calc(-.02 * var(--u));margin-top:calc(11 * var(--u))}.project-link{display:inline-flex;align-items:center;gap:calc(13 * var(--u));font-size:calc(7.8 * var(--u));letter-spacing:calc(.65 * var(--u));line-height:1.4;border:0;padding:0;background:none;margin-top:calc(14 * var(--u))}.project-link>span:first-child{text-decoration:underline;text-underline-offset:calc(3 * var(--u))}.project-arrow{font:calc(20 * var(--u))/1 'Times New Roman',Times,serif;color:#616c57}.project-tags{list-style:none;padding:calc(5 * var(--u)) 0 calc(7 * var(--u)) calc(27 * var(--u));border-left:1px solid var(--line);font-size:calc(7.4 * var(--u));line-height:1.55;letter-spacing:calc(.3 * var(--u));color:#6d7464;align-self:center}.project-tags li+li{margin-top:calc(7 * var(--u))}
.process{display:grid;grid-template-columns:28% 72%;background:#eae7dd;min-height:calc(159 * var(--u));overflow:hidden}.process-heading{position:relative;isolation:isolate;background:#17271d;color:#eff0e5;clip-path:polygon(0 0,100% 0,89% 100%,0 100%);padding:calc(32 * var(--u)) calc(28 * var(--u)) calc(24 * var(--u)) calc(54 * var(--u))}.process-heading::before{content:'';position:absolute;inset:0;background:url('../assets/websites-hero-editorial.2fa84145d0.webp') 90% 100%/700% auto;z-index:-1;opacity:.16}.process-heading .eyebrow{font-size:calc(7.3 * var(--u));letter-spacing:calc(1.2 * var(--u));color:#c7cebd}.process-heading h2{font-size:calc(33 * var(--u));line-height:1.03;letter-spacing:calc(-.7 * var(--u));margin-top:calc(13 * var(--u));white-space:nowrap}.process-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:calc(35 * var(--u)) calc(24 * var(--u)) calc(29 * var(--u)) calc(8 * var(--u))}.process-steps li{border-left:1px solid var(--line);padding-left:calc(17 * var(--u));padding-right:calc(7 * var(--u))}.process-steps h3{font-size:calc(19 * var(--u));line-height:1.15;letter-spacing:calc(-.4 * var(--u));margin-top:calc(4 * var(--u));white-space:nowrap}.process-steps p{font-size:calc(9 * var(--u));line-height:1.45;color:#6e7764;margin-top:calc(9 * var(--u));letter-spacing:calc(-.05 * var(--u))}
.project-closing{display:grid;grid-template-columns:16% 39% 33% 12%;align-items:center;padding:calc(19 * var(--u)) calc(24 * var(--u)) calc(22 * var(--u)) calc(64 * var(--u));min-height:calc(171 * var(--u));background:linear-gradient(115deg,#f4f1e8,#eeeadf)}.closing-label{align-self:start;font-size:calc(8 * var(--u));line-height:1.6;text-transform:uppercase;letter-spacing:calc(.5 * var(--u));padding-top:calc(12 * var(--u))}#closing-title{font-size:calc(37 * var(--u));line-height:1.04;letter-spacing:calc(-1.1 * var(--u));white-space:nowrap}#closing-title em{font-size:1.06em}.closing-copy{padding-right:calc(13 * var(--u))}.closing-copy>p{font-size:calc(9.4 * var(--u));line-height:1.5;letter-spacing:calc(-.1 * var(--u));color:#69715f}.closing-copy .cta{margin-top:calc(16 * var(--u));font-size:calc(7.6 * var(--u));gap:calc(16 * var(--u))}.closing-copy .circle{width:calc(40 * var(--u));height:calc(40 * var(--u))}.closing-copy .fine-line{width:calc(36 * var(--u))}.closing-art{width:100%;height:calc(141 * var(--u))}
.about-footer{--u:1px;display:grid;align-items:center;background:linear-gradient(118deg,#f7f4ed,#eeeadd);padding:8px 6.5%;border-top:1px solid #d7dbcd55}.footer-logo .brand-image{width:110px}.copyright{font-size:6px;letter-spacing:1px;line-height:1.4;color:#818875;justify-self:end}
@media(max-width:700px){.web-frame{--u:1px;container-type:normal}.hero-frame{aspect-ratio:auto;padding:111px 24px 0;display:flex;flex-direction:column}.web-header{left:24px;top:28px}.brand{gap:18px}.brand-image{width:134px}.brand-descriptor{font-size:4px;letter-spacing:.8px}.hero-copy{position:relative;left:auto;top:auto;width:100%;order:0}.hero-breadcrumb{font-size:6.8px;letter-spacing:1px;margin-bottom:20px}#platform-title{font-size:clamp(45px,12vw,70px);line-height:.98;letter-spacing:-1.5px}.hero-description{font-size:12px;line-height:1.55;letter-spacing:-.1px;margin-top:18px}.hero-description br{display:none}.hero-cta{margin-top:23px}.cta{font-size:7px;letter-spacing:1px;gap:15px}.circle{width:39px;height:39px;font-size:24px}.fine-line{width:42px}.hero-visual{position:relative;inset:auto;order:1;margin:29px -24px 0;width:calc(100% + 48px);aspect-ratio:1.65;z-index:0}.hero-visual>img{width:170%;max-width:none;height:auto;position:absolute;left:-48%;top:-16%}.category-intro{display:grid;grid-template-columns:1fr;padding:26px 24px 29px;min-height:0;gap:17px}.category-label{font-size:7px;letter-spacing:1.2px;display:block}.category-label br{display:none}#category-title{border-left:1px solid var(--line);padding:2px 0 3px 17px;font-size:clamp(27px,7.1vw,39px);line-height:1.06;letter-spacing:-.65px;white-space:normal}#category-title br{display:none}.category-copy{font-size:12px;line-height:1.6;padding:0;max-width:540px}.category-copy p+p{margin-top:10px}.category-art{display:none}.work-row{grid-template-columns:1fr;padding:0}.work-photo{min-height:0;width:100%;aspect-ratio:549/235}.work-content{grid-template-columns:minmax(0,1fr) 92px;gap:16px;padding:23px 24px 29px}.work-row:not(:last-child) .work-content::after{display:none}.ordinal{font-size:15px;gap:14px}.ordinal .fine-line{width:32px}.work-summary h3{font-size:32px;letter-spacing:-.6px;margin-top:9px}.work-lead{font-size:12px;line-height:1.5;margin-top:10px;letter-spacing:-.1px}.work-lead br{display:none}.work-description{font-size:11px;line-height:1.6;margin-top:12px;letter-spacing:0}.project-tags{font-size:6.5px;line-height:1.6;letter-spacing:.2px;padding:3px 0 3px 13px;overflow-wrap:anywhere}.project-tags li+li{margin-top:8px}.project-link{font-size:7.5px;letter-spacing:.6px;margin-top:18px;gap:13px}.project-arrow{font-size:20px}.process{grid-template-columns:1fr;min-height:0}.process-heading{padding:27px 24px 39px;clip-path:polygon(0 0,100% 0,100% 92%,0 100%)}.process-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.process-heading h2{font-size:35px;line-height:1.04;letter-spacing:-.8px;margin-top:15px}.process-heading h2 br{display:none}.process-steps{grid-template-columns:1fr;gap:22px;padding:25px 24px 30px}.process-steps li{position:relative;display:grid;grid-template-columns:31px 1fr;column-gap:14px;padding:0 0 0 16px}.process-steps .ordinal{grid-column:1;grid-row:1/3;padding-top:2px}.process-steps h3{grid-column:2;font-size:25px;line-height:1.1;letter-spacing:-.4px;margin:0}.process-steps p{grid-column:2;font-size:11.5px;line-height:1.55;margin-top:7px}.process-steps p br{display:none}.project-closing{grid-template-columns:1fr;gap:21px;padding:29px 24px 31px;min-height:0}.closing-label{font-size:7px;letter-spacing:.9px;padding:0}.closing-label br{display:none}#closing-title{font-size:clamp(34px,8.8vw,49px);line-height:1.04;letter-spacing:-1px;white-space:normal}.closing-copy{padding:0}.closing-copy>p{font-size:12px;line-height:1.6;letter-spacing:0;max-width:470px}.closing-copy>p br{display:none}.closing-copy .cta{font-size:7px;gap:15px;margin-top:21px}.closing-copy .circle{width:39px;height:39px}.closing-copy .fine-line{width:36px}.closing-art{display:none}.copyright{justify-self:start;letter-spacing:.8px}.copyright br{display:none}}
@media(max-width:359px){.brand-image{width:116px}.brand-descriptor{font-size:3.5px}.brand{gap:15px}.hero-frame{padding-top:105px}.hero-breadcrumb{font-size:6px;letter-spacing:.7px}#platform-title{font-size:42px}.hero-description{font-size:11.5px}.work-content{grid-template-columns:minmax(0,1fr) 78px;gap:13px}.project-tags{font-size:6px;padding-left:10px}.work-summary h3{font-size:29px}.work-lead{font-size:11.5px}.work-description{font-size:10.5px}#category-title{font-size:27px}#closing-title{font-size:32px}.process-heading h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Footer identity: compact logo and uppercase Montserrat slogan. */

.about-footer{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:8px 6.5%}
.footer-brand{display:flex;align-items:center;gap:12px;min-width:0}
.footer-logo{flex:none}
.footer-brand>p{padding-left:12px;position:relative;font:400 clamp(5px,.35vw,6px)/1.4 'OPHYC Montserrat',Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:0;max-width:160px;color:#69735d}
.footer-brand>p::before{content:"";position:absolute;left:0;top:50%;width:1px;height:13px;background:#a0a890;transform:translateY(-50%)}
.copyright{font-size:6px;line-height:1.4}
@media(max-width:700px){.about-footer{grid-template-columns:1fr;gap:6px;padding:8px 24px}.footer-brand{gap:12px}.footer-logo .brand-image{width:96px}.footer-brand>p{font-size:5px;flex:none;max-width:150px}.copyright{justify-self:start}}
@media(max-width:359px){.footer-brand{gap:10px}.footer-logo .brand-image{width:84px}}


/* Keep process text within the mobile grid, including long headings. */
@media(min-width:701px){.category-label{display:block;align-self:center}.category-label br{display:initial}}
@media(max-width:700px){.process{grid-template-columns:minmax(0,1fr)}.process-heading,.process-steps{min-width:0}.process-heading h2{white-space:normal}.process-heading h2 br{display:initial}.process-steps li{grid-template-columns:31px minmax(0,1fr);min-width:0}.process-steps p{min-width:0}}

/* Platforms composition measured from the supplied 1024 x 1536 artwork. */
@media(min-width:701px){
 body{container-type:inline-size}
 .web-frame{container-type:normal}
 .hero-frame{aspect-ratio:1024/405}
 .web-header{top:8.1%}
 .hero-copy{left:6.25%;top:27%;width:41.5%}
 .hero-breadcrumb{margin-bottom:27px;margin-bottom:calc(27 * var(--u))}
 #platform-title{font-size:calc(58 * var(--u));line-height:.96;letter-spacing:calc(-1.7 * var(--u))}
 .hero-description{font-size:calc(14.3 * var(--u));line-height:1.4;margin-top:calc(13 * var(--u))}
 .hero-cta{margin-top:calc(17 * var(--u))}
 .category-intro{grid-template-columns:14.53% 45.19% 29.06% 11.22%;min-height:calc(167 * var(--u));padding:calc(16 * var(--u)) calc(24 * var(--u)) calc(7 * var(--u)) calc(64 * var(--u))}
 #category-title{font-size:calc(38 * var(--u));line-height:1;letter-spacing:calc(-1.3 * var(--u));padding:calc(3 * var(--u)) calc(20 * var(--u)) calc(3 * var(--u)) calc(38 * var(--u))}
 #category-title em{font-size:1.02em}
 .category-art{height:calc(143 * var(--u))}
 .category-copy{font-size:calc(10.1 * var(--u));line-height:1.47}
 .work-row{grid-template-columns:54.2% 45.8%}
 .work-row:nth-child(1) .work-photo{min-height:calc(237 * var(--u))}
 .work-row:nth-child(2) .work-photo{min-height:calc(230 * var(--u))}
 .work-row:nth-child(3) .work-photo{min-height:calc(210 * var(--u))}
 .work-content{padding-top:calc(14 * var(--u));padding-bottom:calc(10 * var(--u))}
 .work-summary{align-self:start}
 .work-summary .ordinal{font-size:calc(14 * var(--u));line-height:1.1}
 .work-summary h3{font-size:calc(29 * var(--u));line-height:1;margin-top:calc(4 * var(--u))}
 .work-lead{font-size:calc(11.5 * var(--u));line-height:1.35;margin-top:calc(5 * var(--u))}
 .work-description{font-size:calc(10.5 * var(--u));line-height:1.35;margin-top:calc(6 * var(--u))}
 .project-link{margin-top:calc(5 * var(--u))}
 .project-arrow{font-size:calc(18 * var(--u))}
 .project-tags{font-family:Arial,Helvetica,sans-serif;letter-spacing:calc(.6 * var(--u))}
 .process{grid-template-columns:26% 74%;min-height:calc(136 * var(--u))}
 .process-heading{padding:calc(24 * var(--u)) calc(22 * var(--u)) calc(26 * var(--u)) calc(57 * var(--u));clip-path:polygon(0 0,100% 0,91% 100%,0 100%)}
 .process-heading h2{font-size:calc(30 * var(--u));line-height:1.04;margin-top:calc(12 * var(--u));letter-spacing:calc(-1.7 * var(--u))}
 .process-heading h2 em{font-size:1.04em}
 .process-steps{padding:calc(20 * var(--u)) calc(23 * var(--u)) calc(16 * var(--u)) calc(15 * var(--u))}
 .process-steps li{padding-left:calc(20 * var(--u));padding-right:calc(8 * var(--u))}
 .process-steps h3{font-size:calc(20 * var(--u));letter-spacing:calc(-.6 * var(--u))}
 .process-steps p{font-size:calc(9.1 * var(--u));line-height:1.4;margin-top:calc(7 * var(--u))}
 .project-closing{grid-template-columns:17.3% 34.8% 36.4% 11.5%;padding:calc(11 * var(--u)) calc(20 * var(--u)) calc(14 * var(--u)) calc(63 * var(--u));min-height:calc(128 * var(--u))}
 #closing-title{font-size:calc(37 * var(--u));letter-spacing:calc(-1.2 * var(--u))}
 .closing-copy>p{font-size:calc(9.1 * var(--u));line-height:1.45}
 .closing-copy .cta{margin-top:calc(13 * var(--u))}
 .closing-art{height:calc(112 * var(--u))}
}
@media(max-width:700px){
 .hero-visual{aspect-ratio:1.8}
 .hero-visual>img{width:140%;left:-38%;top:0}
 .work-row:nth-child(1) .work-photo{aspect-ratio:555/237}
 .work-row:nth-child(2) .work-photo{aspect-ratio:555/230}
 .work-row:nth-child(3) .work-photo{aspect-ratio:555/210}
 .project-tags{font-family:Arial,Helvetica,sans-serif}
 #category-title{font-size:clamp(28px,7.2vw,39px);line-height:1.07}
 .work-summary h3{font-size:30px}
 .process-heading h2{font-size:34px}
}
@media(max-width:359px){
 #platform-title{font-size:40px}
 .work-summary h3{font-size:27px}
 .process-heading h2{font-size:30px}
}
