/* phoebeoyimi.com: paper, ink, one red. Headings in a serif, every line of body in a typewriter face. */
:root{--paper:#F4EFE5;--paper-2:#EDE6D8;--ink:#1C1917;--red:#8A2A21;--navy:#1F2B45;--mute:#6B655C;--line:rgba(28,25,23,.16);
--serif:'Cormorant Garamond',Georgia,serif;--mono:'Courier Prime','Courier New',monospace;--hand:'Caveat',cursive;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
@media(min-width:900px){.wrap{padding:0 48px}}
header{padding:26px 0 18px;border-bottom:1px solid var(--line)}
header .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.wm{text-decoration:none;display:block}
.wm b{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:.01em;display:block;line-height:1}
.wm span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:block;margin-top:8px}
nav{display:flex;gap:26px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
nav a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
nav a:hover,nav a.here{border-bottom-color:var(--ink)}
main{padding:56px 0 40px}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(44px,7vw,88px);line-height:1;letter-spacing:-.01em;margin:0}
h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.6vw,46px);line-height:1.1;margin:0}
h3{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.15;margin:0}
.eyebrow{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
.sub{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(20px,2.2vw,26px);color:var(--mute);margin:10px 0 0}
p{margin:0 0 1.1em;max-width:66ch}
.lead{font-size:17px;max-width:58ch}
.rule{height:1px;background:var(--line);margin:34px 0}
.cta{display:inline-block;margin-top:26px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}
.cta:hover{color:var(--red);border-bottom-color:var(--red)}
.back{font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--mute);display:inline-block;margin-bottom:28px}
.back:hover{color:var(--red)}
/* the typed line */
.type{white-space:pre-wrap}
.type .cur{display:inline-block;width:.6ch;height:1.05em;background:var(--ink);vertical-align:-2px;margin-left:2px;animation:bl 1s steps(1) infinite}
.type.done .cur{display:none}
@keyframes bl{50%{opacity:0}}
/* frames: a photograph on paper, a hairline, a little shadow */
.frame{background:#fff;padding:10px;border:1px solid var(--line);box-shadow:0 1px 0 rgba(28,25,23,.06),0 14px 30px -18px rgba(28,25,23,.35)}
.frame img{width:100%}
.note{font-family:var(--hand);font-size:26px;color:var(--navy);line-height:1.1;transform:rotate(-4deg);display:inline-block}
/* home hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:center}
.hero .roles{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin:18px 0 26px}
.hero .frame{transform:rotate(1.2deg)}
.hero .note{position:relative;margin:-18px 0 0 24px}
@media(max-width:860px){.hero{grid-template-columns:1fr;gap:34px}.hero .frame{max-width:380px}}
/* project tiles */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:64px}
.tile{text-decoration:none;display:block}
.tile .ph{aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}
.tile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile:hover .ph img{transform:scale(1.03)}
.tile .t{display:flex;align-items:baseline;gap:10px;margin-top:12px;font-size:13px}
.tile .t b{font-family:var(--serif);font-weight:600;font-size:21px}
.tile .t i{font-style:normal;color:var(--mute);margin-left:auto}
.tile .s{font-size:12.5px;color:var(--mute);margin-top:2px}
@media(max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.tiles{grid-template-columns:1fr}}
/* photography index: two up */
.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px;margin-top:48px}
.projects .tile .ph{aspect-ratio:4/5}
@media(max-width:700px){.projects{grid-template-columns:1fr}}
/* project page */
.lead-img{margin:40px 0 44px}
.lead-img .frame{max-width:820px}
.essay{max-width:66ch}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:40px 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip h4{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 10px;font-weight:400}
.strip p{font-size:14.5px;line-height:1.6;margin:0}
@media(max-width:800px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px;margin-top:40px}
.gallery figure{margin:0}
.gallery figcaption{font-size:13.5px;color:var(--mute);margin-top:12px;line-height:1.6}
.gallery figcaption b{color:var(--ink);font-weight:400}
.gallery .wide{grid-column:1/-1}
@media(max-width:640px){.gallery{grid-template-columns:1fr}}
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}
@media(max-width:640px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.3;max-width:28ch;margin:44px 0;color:var(--navy)}
/* writing */
.script{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;padding:48px 0;border-top:1px solid var(--line);align-items:start}
.script:first-of-type{border-top:0;padding-top:34px}
.card{background:#FBF8F1;border:1px solid var(--line);padding:30px 24px 26px;box-shadow:0 14px 30px -20px rgba(28,25,23,.4);transform:rotate(-1.2deg);min-height:300px;display:flex;flex-direction:column}
.card .n{font-size:12px;color:var(--mute)}
.card .title{font-family:var(--hand);font-size:44px;line-height:1;color:var(--ink);margin:auto 0;padding:28px 0}
.card .kind{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);border-top:1px solid var(--line);padding-top:14px}
.script h4{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:26px 0 8px;font-weight:400}
.script h4:first-child{margin-top:0}
.script .ex{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--navy)}
@media(max-width:760px){.script{grid-template-columns:1fr;gap:28px}.card{max-width:320px}}
/* about */
.about{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:48px;align-items:start}
.about .frame{transform:rotate(-1.5deg)}
@media(max-width:800px){.about{grid-template-columns:1fr}.about .frame{max-width:360px}}
footer{margin-top:80px;padding:30px 0 40px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.tile .ph img{transition:none}.type .cur{animation:none}}

/* ---- colour, as she asked: bands of her red and navy with a torn lower edge, the photographs sitting on them ---- */
.band{color:#F4EFE5;padding:56px 0 110px;margin:0;position:relative;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),96% calc(100% - 8px),90% calc(100% - 30px),83% calc(100% - 12px),75% calc(100% - 28px),66% calc(100% - 6px),57% calc(100% - 24px),48% calc(100% - 10px),39% calc(100% - 30px),30% calc(100% - 8px),21% calc(100% - 26px),12% calc(100% - 12px),5% calc(100% - 28px),0 calc(100% - 10px))}
.band.navy{background:var(--navy)}
.band.red{background:var(--red)}
.band.ink{background:#15130F}
.band .eyebrow{color:#E8B9B3}
.band.navy .eyebrow{color:#B9C3DD}
.band .sub{color:rgba(244,239,229,.78)}
.band .back{color:rgba(244,239,229,.9)}
.band .back:hover{color:#fff}
.band .note{color:#F4EFE5}
.band .frame{border-color:rgba(255,255,255,.4)}
.band .roles{color:#E8B9B3}
.band .cta{border-bottom-color:#F4EFE5}
.band .cta:hover{color:#E8B9B3;border-bottom-color:#E8B9B3}
.band .type .cur{background:#F4EFE5}
/* the full bleed hero on Staged Still: the sunset covers the page, the two other pictures sit on it */
.cover{position:relative;margin:0;min-height:78vh;display:flex;align-items:flex-end;color:#F4EFE5;isolation:isolate}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,19,15,.15) 0%,rgba(21,19,15,.05) 40%,rgba(21,19,15,.72) 100%);z-index:-1}
.cover .wrap{padding-top:110px;padding-bottom:150px;width:100%}
.cover .back{color:rgba(244,239,229,.8)}
.cover .eyebrow{color:#E8B9B3}
.cover h1{text-shadow:0 2px 18px rgba(0,0,0,.35)}
.cover .line{font-family:var(--serif);font-style:italic;font-size:clamp(22px,3vw,34px);line-height:1.25;max-width:26ch;margin:18px 0 0;color:#F4EFE5}
.sit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:-120px;position:relative;z-index:1;max-width:820px}
.sit figure{margin:0}
.sit .frame{transform:rotate(-1.2deg)}
.sit figure:last-child .frame{transform:rotate(1.4deg)}
.sit figcaption,.lines figcaption{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;margin-top:14px;color:var(--navy)}
@media(max-width:640px){.sit{grid-template-columns:1fr;margin-top:-90px;max-width:360px}}
/* a photograph with its line under it, two to a row, the line in the serif like a title card */
.lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px;margin:44px 0}
.lines figure{margin:0}
.lines figure:nth-child(odd) .frame{transform:rotate(-.8deg)}
.lines figure:nth-child(even) .frame{transform:rotate(.9deg)}
.lines.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lines .mono{font-family:var(--mono);font-style:normal;font-size:13px;color:var(--mute)}
@media(max-width:640px){.lines,.lines.three{grid-template-columns:1fr}}
.small{max-width:420px;margin:44px auto}
.small .frame{transform:rotate(-1.5deg)}
.pair{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:44px;align-items:start;margin:44px 0}
@media(max-width:800px){.pair{grid-template-columns:1fr}}
main.has-band,main.has-cover{padding-top:0}
.after{padding-top:48px}
.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.tiles.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.tiles.three{grid-template-columns:1fr}}
.small figcaption{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;margin-top:14px;color:var(--navy);text-align:center}
.tiles.three{margin-top:16px}

.cover .back{display:inline-block;padding:4px 8px;margin-left:-8px;background:rgba(21,19,15,.35);border-radius:3px}
.cover .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.5)}

/* ---- the scripts: her artwork is the paper, the words sit on it ---- */
.script-page{position:relative;isolation:isolate;min-height:100vh;padding:60px 0 90px}
.script-page .art{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center top;background-repeat:no-repeat}
.script-page:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(244,239,229,.0) 0%,rgba(244,239,229,.0) 36%,rgba(244,239,229,.88) 56%,rgba(244,239,229,.94) 100%)}
.script-page .wrap{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:40px}
.script-page .words{background:rgba(251,248,241,.72);backdrop-filter:blur(2px);padding:34px 36px 40px;border:1px solid rgba(28,25,23,.12);box-shadow:0 20px 40px -30px rgba(28,25,23,.5)}
.script-page .words h1{font-size:clamp(40px,5vw,64px)}
.script-page .kind{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin:12px 0 26px}
.script-page h4{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:26px 0 8px;font-weight:400}
.script-page .ex{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4;color:var(--navy)}
.script-page .back{color:var(--mute)}
@media(max-width:860px){.script-page{padding:0 0 60px}.script-page .art{position:relative;height:62vw;min-height:280px;inset:auto;display:block}.script-page:after{display:none}.script-page .wrap{grid-template-columns:1fr;gap:0}.script-page .words{margin-top:-60px;padding:28px 22px 36px}}
/* the writing index: two covers side by side */
.covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:44px}
.covers a{text-decoration:none;display:block}
.covers .ph{aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}
.covers .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.covers a:hover .ph img{transform:scale(1.02)}
.covers .t{margin-top:14px;font-family:var(--serif);font-weight:600;font-size:26px}
.covers .s{font-size:12.5px;color:var(--mute);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.covers .log{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;color:var(--navy);margin-top:10px;max-width:40ch}
@media(max-width:640px){.covers{grid-template-columns:1fr}}

picture{display:contents}
